220 likes | 240 Views
PN, PN 2 and PN * in Lines of Action. Mark Winands and Jos Uiterwijk. Overview. LOA PN Search PN 2 Search PN* Search Results Conclusions. Board Set-up of LOA. Movement of pieces. A Final Position. Position with a long forcing line.
E N D
PN, PN2 and PN* in Lines of Action Mark Winands and Jos Uiterwijk
Overview • LOA • PN Search • PN2 Search • PN* Search • Results • Conclusions
Position with a long forcing line Black to move and to win in 21 plies. Mona vs. YL, Game 4
Problems in the endgame • Evaluation functions for LOA are not good predictors in the case of forced wins. • Most terminal positions still have more than 10 pieces remaining on the board, which makes the game not suitable for endgame databases. • Mate provers like proof number search areprobably a better method for this issue.
Proof-number (PN) Search • Inspired by conspiracy-number search (McAllester 1988). • PN is invented by Allis (1994). • Best-first search algorithm. • Goal is to prove that there exists a win for the player to move in a certain position. • Not a heuristic is used to select the most-proving node, but the shape of the tree and the value of the leaf nodes. • Mostly (dis)proves faster than alpha-beta for a certain position.
1 a 2 1 b c 0 2 1 0 1 d e f g 0 2 1 loss ? 1 1 1 0 h i j k l 0 1 1 1 ? draw ? ? win PN search
Enhancements of PN • Set the proof number and disproof number to 1 and n for a MAX node (and the reverse for a MIN node), where n is the number of legal moves. (Thus, using a mobility component.) • Nodes once proved by PN search are stored in a transposition table (TT), which is used in the - search. What is the effect of this TT in the PN search?
PN2 search(Breuker, 1998) Bounded by
PN2 (2) • Other enhancements of PN can also be used in PN2. • Deleting also (dis)proven subtrees in the second level search. If there are a lot of (dis)proven subtrees, the second level search will search more nodes than usual (deeper). Possibly one of the reasons is that trees are regenerated less. Almost (dis)proven subtrees in the normal situation are now proved. • Caching instead of deleting second-level search trees • Leaving probably-unsolvable trees prematurely.
PN* (Seo et al., 2001) • PN* solves two problems of PN and PN2 (i.e, memory and sub optimal solutions) • PN* transforms the PN-search algorithm into an iterative- deepening depth-first approach • PN* is enhanced with methods as recursive iterative deepening and dynamic evaluation.
Experimental set-up • The proof number search algorithms and enhancements are tested on a test set of 116 forced win positions • The maximum number of nodes searched is 50,000,000. • The maximum number of nodes stored in the memory is 900,000. • PN, PN2 and PN*search are compared with an iterative alpha-beta search.
Position with a long forcing line Black to move and to win in 21 plies. Mona vs. YL, Game 4
PN* is sometimes better White to move and win in 13 plies. Fifth Annual E-mail Tournament, Thordsen vs. Mona
Conclusions • PN, PN*, PN2 search are quite good proving LOA positions. • Even a poor implemented PN* outperforms - in LOA positions. • Mobility improves the PN search. • Deleting (dis)proved nodes in the second-level searchimproves the PN2 search. • Caching second-level trees or leaving probably-unsolvable trees prematurely has not paid of yet
Epilogue • Currently PN2 search is combined with alpha-beta search in MIA II. • PN2 search is done for some fixed time after some moves in the player’s own time. During this search proven position are stored in transposition table (PN-TT). • If PN2 proves the position the (sub) optimal move is played. • Otherwise the normal alpha beta search is applied using the PN-TT. • Experiments reveal that this strengthens the program.