Difference between revisions of "Unmake Move"
GerdIsenberg (talk | contribs) |
GerdIsenberg (talk | contribs) |
||
Line 47: | Line 47: | ||
* [http://www.open-chess.org/viewtopic.php?f=5&t=665 Copy Board vs Unmake Move] by ChrisJ, [[Computer Chess Forums|OpenChess Forum]], September 29, 2010 | * [http://www.open-chess.org/viewtopic.php?f=5&t=665 Copy Board vs Unmake Move] by ChrisJ, [[Computer Chess Forums|OpenChess Forum]], September 29, 2010 | ||
* [http://www.talkchess.com/forum/viewtopic.php?t=39938 performance of copy-make] by [[Rein Halbersma]], [[CCC]], August 02, 2011 | * [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 | + | * [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=42665 make and unmake statistics] by [[Fermin Serrano]], [[CCC]], February 28, 2012 » [[Search Statistics]] |
− | * [http://www.open-chess.org/viewtopic.php?f=5&t= | + | * [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 » [[Make Move]] |
* [http://www.talkchess.com/forum/viewtopic.php?t=47882 How costly is taking moves back ?] by [[Piotr Lopusiewicz]], [[CCC]], April 30, 2013 | * [http://www.talkchess.com/forum/viewtopic.php?t=47882 How costly is taking moves back ?] by [[Piotr Lopusiewicz]], [[CCC]], April 30, 2013 | ||
* [http://www.talkchess.com/forum/viewtopic.php?t=50805 copy/make vs make/unmake] by [[Robert Hyatt]], [[CCC]], January 07, 2014 | * [http://www.talkchess.com/forum/viewtopic.php?t=50805 copy/make vs make/unmake] by [[Robert Hyatt]], [[CCC]], January 07, 2014 |
Revision as of 10:19, 11 April 2020
Home * Chess * Moves * Unmake Move
Unmake Move is a function inside a chess program to update the internal chess position and its Board representation as well as associated or dependent state variables and data by a move unmade on the internal board. In unmake move, reversible aspects of a position can be incrementally updated by the inverse or own inverse operation of Make Move. Irreversible aspects of a position, such as ep state, castling rights and the halfmove clock are either restored from a stack (LIFO), or simply kept in arrays indexed by current search or game ply. Alternatively, one may capacitate the move with all the necessary information to recover those irreversible aspects of a position as well.
Contents
Negamax
This is how make and Unmake Move are applied inside a recursive search routine, for simplicity Negamax:
int negaMax( int depth ) { if ( depth == 0 ) return evaluate(); int max = -oo; generateMoves(...); while ( m = getNextMove(...) ) { makeMove(m); score = -negaMax( depth - 1 ); unmakeMove(m); if( score > max ) max = score; } return max; }
See also
- Bitboard Update By Move
- Copy-Make
- Encoding Moves
- Incremental Updates
- Make Move
- Piece-List Update by Unmake Move
Forum Posts
1999
- Unmake move v copy the board by Hugh Cumper, CCC, January 24, 1999
- Move Make/Unmake Questions by Daniel Homan, CCC, July 15, 1999
2000 ...
- Does Unmake Move Really Save Time? by Adrian Jackson, rgcc, March 08, 2001
- UnMakeMove by Orhan Öztürk, rgcc, December 09, 2002
- Why have a UnMakeMove or UndoMove function (not as stupid as it sounds)? by Albert Bertilsson, CCC, February 24, 2003 » Sharper
- The need to unmake move by Mathieu Pagé, CCC, August 19, 2003
2005 ...
- doing undoing by Fritz Reul, CCC, May 14, 2007
- implementation of undoMove()? by cyberfish, CCC, January 26, 2008
- make/unmake by Robert Pope, Winboard Forum, April 08, 2006 » Beaches
- undo move vs. Position Cloning by BoldReceiver, CCC, September 16, 2009
- copy/make vs make/unmake test results by Robert Hyatt, CCC, September 19, 2009 » Crafty
2010 ...
- Copy Board vs Unmake Move by ChrisJ, OpenChess Forum, September 29, 2010
- performance of copy-make by Rein Halbersma, CCC, August 02, 2011
- make and unmake statistics by Fermin Serrano, CCC, February 28, 2012 » Search Statistics
- Make and Unmake implementation by CDaley11, OpenChess Forum, February 01, 2013 » Make Move
- How costly is taking moves back ? by Piotr Lopusiewicz, CCC, April 30, 2013
- copy/make vs make/unmake by Robert Hyatt, CCC, January 07, 2014
- Memory usage in make/unmake vs logic complexity by Matthew Lai, CCC, August 30, 2014
2015 ...
- Unifying make/undo and copy-make by Rein Halbersma, CCC, December 21, 2015
- Copy-make vs Make/Unmake ? by Mahmoud Uthman, CCC, November 12, 2016
- Is Unmake Move truly necessary? by SethCS, Winboard Forum, May 18, 2017