![]() StartingPoints Referenced by
|
Kosh
PageType: HomePage
Keywords: Software
Jack Ha, Kosh 6k on KGS I'm a 24 year old student of computer science. My final assignment is about computer go, so all comments or ideas are welcome. I'm interested in search trees and learning algorithms for local situations. The goal is to find a(n) (optimal?) solution, as fast as possible (= minimum iterations). Maybe this can be expanded to life/death problems later.
Everything will be done in Feel free to add text to this page. My work so far There are mainly 2 parts which are important:
The move suggester is a kind of filter that filters 'good' moves according to some rules. These rules will be obtained automatically, but now they are still hand coded. Actually there are only 2 rules now: 1 liberty -> try that move, 2 liberties -> try both. Other rulesets are also used for testing. Proof Number search is implemented and working :) A simple multigoal searcher has been implemented. It WORKS! (see bottom illustration). The ruleset used: try all liberties of groups with 3 libs or less. Future plans Better move suggester
Life&Death
Results so far Proof Number search is working well, but the overall performance is still a little low. The move suggester/evaluator is still quite simple at this moment. With a little lookahead and smart pattern matching, the search will be a lot faster. test problems:
searching capture (4, 4) It: [100] , PN(root): 7 It: [200] , PN(root): 5 Proof Number search iterations: 223 PNtree size: 978 solution found: [(4, 3), (5, 4), (6, 4), (5, 3), (5, 2), (6, 3), (7, 3), (6, 2), (6, 1), (7, 2), (7, 1), (8, 2), (8, 1), (3, 3), (8, 3)]
searching capture (1, 2) Proof Number search iterations: 7 PNtree size: 13 solution found: (1, 1), (0, 2), (0, 1), (0, 3), (0, 4)
searching capture (4, 4) It: [100] , PN(root): 5 Proof Number search iterations: 180 PNtree size: 583 solution found: [(5, 4), (4, 3), (4, 2), (5, 3), (6, 3), (5, 2), (5, 1), (6, 2), (7, 2), (6, 1), (7, 1), (6, 0), (7, 0), (6, 4), (5, 0)]
searching capture (5, 6) Proof Number search iterations: 49 PNtree size: 156 solution found: (6, 8), (2, 8), (4, 8)
searching capture (4, 1) It: [100] , PN(root): 6 It: [200] , PN(root): 9 It: [300] , PN(root): 14 It: [400] , PN(root): 24 It: [500] , PN(root): 36 It: [600] , PN(root): 32 It: [700] , PN(root): 31 It: [800] , PN(root): 24 Proof Number search iterations: 833 PNtree size: 4502 no solution found
searching capture (2, 4), (3, 6) PNtree size: 16216 solution: (2, 6), (2, 5), (1, 6), (3, 5), (3, 7), (0, 6), (1, 5) iterations: 2598
time pnsearch: 15.4720000029 ( 0.00595535027054 ) time executed: 15.5820000172 Problems As you can see the net capture test isn't optimal. Tests use a quite large tree and a lot of search iterations! This should be solved by the better move suggester/evaluator. Also in general it must find sequences a lot faster. A matter of the move suggester/evaluator too. This is a copy of the living page "Kosh" at Sensei's Library. ![]() |