Would you be willing to take what I have and integrate this for us? My currently "official" document is in the README file here:
http://cgos.boardspace.net/public/javabot.zip
(which has been slightly corrected, the Makefile didn't produce a valid
jar file because the main class was not properly identified, but it
compiles and works now.)
I will eventually make a web page from this.
- Don
On Wed, 2008-10-15 at 06:57 +1300, Stuart A. Yeates wrote:
> Seems like we need a short introduction too:
>
> "Go is a board game played on a rectangular grid, usually 19x19.
> Pieces (or stones) are placed alternately by the black and white
> players. Pieces are played onto empty vertexes with the aim of
> surrounding and capturing the opponents pieces. The game continues
> until both players pass. Go is scored on territory---essentially
> whoever has the most territory wins. See
> http://senseis.xmp.net/?BasicRulesOfGo for a more complete but
> informal introduction.
>
> This task aims to solve the game of go using Monte Carlo simulation,
> playing many random games to determine the best next move. For an
> introduction to Monte Carlo simulation See
> http://senseis.xmp.net/?MonteCarloTreeSearch or
> http://en.wikipedia.org/wiki/Monte_Carlo_method
>
> This task uses a simple simulation and somewhat simplified
> interpretation of the rules for the sake of ease of implementation."
>
> You also need to explain the following terms you use without
> explanation: komi, play-outs, gtp, genmove, ko, superko. explanation
> by reference to a good beginner page on http://senseis.xmp.net/ or
> http://en.wikipedia.org/wiki/ should do
>
> cheers
> stuart
>
>
>
>
>
>
> On Tue, Oct 14, 2008 at 12:14 PM, Don Dailey <[EMAIL PROTECTED]> wrote:
> > I made a reference bot and I want someone(s) to help me check it out
> > with equivalent data from their own program. There are no guarantees
> > that I have this correct of course.
> >
> > Doing 1 million play-outs from the opening position I get the following
> > numbers for various komi:
> >
> > playouts: 1,000,000
> > komi: 5.5
> > moves: 111,030,705
> > score: 0.445677
> >
> > playouts: 1,000,000
> > komi: 6.0
> > moves: 111,066,273
> > score: 0.446729
> >
> > playouts: 1,000,000
> > komi: 6.5
> > moves: 111,040,546
> > score: 0.447138
> >
> > playouts: 1,000,000
> > komi: 7.0
> > moves: 111,029,204
> > score: 0.4333795
> >
> > playouts: 1,000,000
> > komi: 7.5
> > moves: 111,047,843
> > score: 0.421281
> >
> > (I also get a score of 0.524478 for 0.0 komi)
> >
> > Score is from blacks point of view. Score is not the score of the
> > best move of course but the combined average score of all 1 million
> > play-outs using the stated komi and ranges from zero to one.
> >
> > I am going to build a test harness to compare multiple bots side by
> > side using gtp commands. I made up two private gtp commands to
> > facilitate this:
> >
> > ref-nodes -> return total moves executed in play-outs
> > (including both pass moves at end of each
> > play-out.)
> >
> > ref-score -> return total win fraction for black.
> >
> > NOTE: both commands report stats from last given genmove search.
> >
> >
> >
> > I hope to get peoples opinion on the following implementation
> > specification. I'm definitely not a writer, so I need to know if this
> > very informal spec is enough at least for experienced MC bot authors
> > or where there are still some ambiguous points.
> >
> >
> > I'm using the following implementation specification:
> >
> > ----[ bot implementation specification ]----
> >
> > This is an informal implementation specification document for
> > writing a simple Monte Carlo Bot program. The idea is to build a bot
> > like this in ANY language and test it for performance (and
> > conformity.) Can be used as a general language benchmark but is as much
> > about the implementation as the language. This specification assumes
> > some knowledge of go and Monte Carlo go programs. (If you don't like
> > it, please write a better one for me!)
> >
> >
> >
> > 1. Must be able to play complete games for comprehensive conformity
> > testing.
> >
> > 2. In the play-out phase, the moves must be chosen in a "uniformly
> > random" way between legal moves that do not fill 1 point eyes and
> > obey the simple-ko restriction.
> >
> > When a move in the play-out is not possible, a pass is given.
> >
> > 3. Play-outs stop after 2 consecutive pass moves, OR when N*N*3
> > moves have been completed, except that at least 1 move gets tried
> > where N is the size of the board. So if the board is 9x9 then
> > the game is stopped after 9*9*3 = 81*3 = 243 move assuming at
> > least one move has been tried in the play-outs.
> >
> > 4. A 1 point eye is an empty point surrounded by friendly stones
> > for the side to move. Additionally, we have 2 cases. If the
> > stone is NOT on any edge (where the corner is an edge) there
> > must be no more than one diagonal enemy stone. If the point in
> > question is on the edge, there must be NO diagonal enemy stones.
> >
> > 5. Scoring is Chinese scoring. When a play-out completes, the
> > score is taken accounting for komi and statistics are kept.
> >
> > 6. Scoring for game play uses AMAF - all moves as first. In the
> > play-outs, statistics are taken on moves played during the
> > play-outs. Statistics are taken only on moves that are played by
> > the side to move, and only if the move in question is being
> > played for the first time in the play-out (by either side.) A
> > win/loss record is kept for these moves.
> >
> > 7. The move with the highest statistical win rate is the one
> > selected for move in the actual game. In the case of moves with
> > even scores the choice is randomly made between them.
> >
> > 8. Pass move are never selected as the final move to play unless no
> > other non-eye filling move is possible.
> >
> > 9. Random number generator is unspecified - your program should
> > simply pass the "black box" test and possible an optional
> > additional test which consists of long matches between other
> > known conforming bots. Your program should score close to 50%
> > against other "properly implemented" programs.
> >
> > 10. Suicide not allowed in the play-outs or in games it plays.
> >
> > 11. When selecting moves to play in the actual game (not play-outs)
> > positional superko is checked and forbidden.
> >
> > 12. If stats for a move was never seen in the play-outs, (has a count
> > of zero) it is ignored for move selection.
> >
> >
> > _______________________________________________
> > computer-go mailing list
> > [email protected]
> > http://www.computer-go.org/mailman/listinfo/computer-go/
> >
> _______________________________________________
> computer-go mailing list
> [email protected]
> http://www.computer-go.org/mailman/listinfo/computer-go/
signature.asc
Description: This is a digitally signed message part
_______________________________________________ computer-go mailing list [email protected] http://www.computer-go.org/mailman/listinfo/computer-go/
