Ticket #150 (new task)

Opened 1 year ago

Last modified 5 months ago

Integrate Monte Carlo techniques in GNU Go

Reported by: gunnar Assigned to: gnugo
Priority: normal Milestone: 3.8
Component: source Version:
Severity: normal Keywords:
Cc: patch: 1

Description

With the success of Monte Carlo based programs over the last year or so there's little question that this approach is useful. What is less clear is how to use it in GNU Go.

An early attempt can be found in this mailing list thread from April of 2006. It could be interesting to modify this to use UCT search instead.

A possibly more interesting idea is to use Monte Carlo for dragon strength estimation.

A characteristic of Monte Carlo methods is that speed is of utmost importance. On the other hand neither undo, nor many of the complicated board functions in GNU Go are of much use. Therefore a more lightweight board implementation could be faster and easier to adapt for multithreading.

Attachments

Monte_Carlo_board_code.c (11.4 kB) - added by gunnar on 11/30/06 23:48:37.
First attempt on Monte Carlo specific board code.
MonteGNU.diff (50.6 kB) - added by gunnar on 04/03/07 21:33:28.
Updated Monte Carlo board code and UCT implementation.
gunnar_7_12.3.diff (56.4 kB) - added by gunnar on 12/02/07 22:26:22.
Monte Carlo patch ready for merge.
gunnar_7_12.14.diff (81.4 kB) - added by gunnar on 03/24/08 20:28:17.
Tunable local patterns for random playouts.

Change History

11/30/06 23:48:37 changed by gunnar

  • attachment Monte_Carlo_board_code.c added.

First attempt on Monte Carlo specific board code.

04/03/07 21:33:28 changed by gunnar

  • attachment MonteGNU.diff added.

Updated Monte Carlo board code and UCT implementation.

07/14/07 22:52:28 changed by gunnar

Tip of the day: if you're using this code, change the two occurences of board[...] near the end of mc_is_self_atari() to mc->board[...].

12/02/07 22:26:22 changed by gunnar

  • attachment gunnar_7_12.3.diff added.

Monte Carlo patch ready for merge.

12/02/07 22:32:06 changed by gunnar

The patch gunnar_7_12.3.diff contains a cleaned up version of the code with command-line options to turn it on. Notice that it's hardcoded to only allow 9x9 (or smaller). The code simply doesn't scale to larger boards so I think it's reasonable to require people wanting to try that to be competent enough to modify the source first.

03/24/08 20:28:17 changed by gunnar

  • attachment gunnar_7_12.14.diff added.

Tunable local patterns for random playouts.