Changes

Jump to: navigation, search

Make Move

910 bytes added, 11:34, 21 June 2020
no edit summary
=Operations=
The general arithmetical and/or bitwise-logical operations to convert a node to its child are either reversible (even for [[Irreversible Moves|irreversible moves]]), by [https://en.wikipedia.org/wiki/Inverse_function inverse] (e.g. addition and subtraction) or [https://en.wikipedia.org/wiki/Involution_%28mathematics%29 own inverse] ([[General Setwise Operations#ExclusiveOr|exclusive or]]) operations, or are irreversible, for instance a sequence of addition and conjunction (add, and) of move aspects, to update [[En passant|ep state]], [[Castling rightsRights|castling rights]] and the [[Halfmove Clock|halfmove clock]].
=Update=
Aspects of a position altered by reversible operations may be kept in global structures, shared by all nodes of the [[Search Tree|tree]], for instance square centric [[Mailbox|mailbox]] board arrays or [[Bitboard Board-Definition|bitboard board-definition]], and require [[Incremental Updates|incremental updates]] by make '''and''' [[Unmake Move|unmake]]. Irreversible aspects of the position, which can not generally restored from a child-position by unmaking a move, need to be restored by either re-playing the whole game record from the root position (too slow), or to be memorized inside an array indexed by [[Ply|ply]] or on a [[Stack|stack]] ([https://en.wikipedia.org/wiki/LIFO_%28computing%29 LIFO]), most notably [[En passant|ep state]], [[Castling rightsRights|castling rights]] and the [[Halfmove Clock|halfmove clock]] enforcing the [[Fifty-move Rule|fifty-move rule]].
All those aspects of a position, no matter if reversible by unmake or not, which may need random access in a branch of moves from the [[Root|root]] (or initial position of the game) to the current position inside a certain implementation of a search algorithm, require an array of those aspects, indexed by ply, and updated by a [[Copy-Make]] approach.
=Forum Posts=
* [https://groups.google.com/d/msg/rec.games.chess.computer/EQxCixpytBg/e1R0a7u1WMsJ Working with moves or with positions] by Guillem Barnolas, [[Computer Chess Forums|rgcc]], February 22, 1998 » [[KC Chess]]
* [http://www.talkchess.com/forum/viewtopic.php?t=13764 doing undoing] by [[Fritz Reul]], [[CCC]], May 14, 2007
* [http://www.talkchess.com/forum/viewtopic.php?t=39938 performance of copy-make] by [[Rein Halbersma]], [[CCC]], August 02, 2011
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=42665 make and unmake stadistics] by [[Fermin Serrano]], [[CCC]], February 28, 2012 » [[Search Statistics]]
* [http://www.open-chess.org/viewtopic.php?f=5&t=2250 Make and Unmake implementation] by [[Christian Daley|CDaley11]], [[Computer Chess Forums|OpenChess Forum]], February 01, 2013 » [[Unmake Move]]
* [http://www.open-chess.org/viewtopic.php?f=5&t=2554 Saving info before making a move] by [[Christian Daley|CDaley11]], [[Computer Chess Forums|OpenChess Forum]], December 30, 2013
 
=External Links=
* [[:Category:Hozier|Hozier]] - [https://en.wikipedia.org/wiki/Wasteland,_Baby! Movement], Live at [https://en.wikipedia.org/wiki/KCMP The Current], June 2019, [https://en.wikipedia.org/wiki/YouTube YouTube] Video
: {{#evu:https://www.youtube.com/watch?v=Nc7tV0lRfYY|alignment=left|valignment=top}}
'''[[Moves|Up one Level]]'''
[[Category:Hozier]]

Navigation menu