Jack Ha, living in Delft, the Netherlands
Kosh 4k on KGS
email address: jackha_at_gmail_dot_com (prevent bots to detect mail address)
I'm a 25 year old ex-student of computer science (now i'm finished). 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 solution with no hand coded knowledge, as fast as possible (= minimum iterations).
Everything is done in Python, a quite flexible high level programming language. After prototyping a c++ version can be made and it will be a lot faster.
This page hasn't been updated for a long time, but so far I have successfully implemented:
- Lambda search combined with proof number search
- Lambda move generator, which converts candidate moves into childmoves or refutes them and uses the Relevancy Zone output of a Lambda search for child candidates.
- Several heuristics, including history heuristic as well as a Shape similarity heuristic. The latter uses common fate graph like features at different detail levels.
- A lambda transposition table for repeating board situations. A difficult proof number search transposition table is avoided this way.
- Simple multigoals (e.g. Capture string A or Capture string B)
- A very bad playing program. It uses bouzy's 21/5, tactical heuristics and the tactical search.
What it can do:
- Solve different tesuji problems: knights move, loose ladder, slapping tesuji, clamping tesuji, nose tesuji, snapback, throw-in, ladder building. (Not yet: crosscut tesuji, a placement tesuji problem)
- Solve simple life/death problems
- Learn from experience and solve similar problems faster
- Play go very bad
Still planning to do:
- Make a reasonable playing program using the tactical search (and other 'tools').
- Optimize different parts
Does anybody have a good method to make a reasonable playing program at all? I like to hear it!
Feel free to add text to this page.
Thats a really nice goban you've made here. Can you tell me what kind of stones you are are using, I think they're very nice. http://elektron.its.tudelft.nl/~kkha05/goban_legs.jpg
Thomas Thomsen: Interesting! Lambda-search is also used in MadLab. Maybe I should make a Sensei's page on lambda-search sometime... But until then, there is more info here: http://www.t-t.dk/go/cg2000.
Some experimental outcomes here:
searching capture (3, 3), (9, 3) (= capture A or B)
Solves in 440 iterations/2.5 seconds on my Athlon 900
searching capture (6, 10) player to move: BLACK
28k iterations, 52 secs 1 GHz P3
searching capture (9, 9)
3.6k iterations, 8 secs