Re: [computer-go] pseudo eye variations for playouts

2008-10-11 Thread Claus Reinke
 It is important to know about potential blind spots introduced by pseudo-eye 
 variations, or any 
 other rules.

 Borrowing from Eric S Raymond, the more eyes inspecting the ideas, the 
 shallower the bugs.

Thanks! Here goes another attempt, this time trying to construct an
example where pseudo-eyes prevent a necessary fill-in ('a' is J15,
'b' is L17, 'c' is F12, and 'd' is K16).

Claus

(
;
FF[4]
GM[1]
SZ[19]
AP[Jago:Version 5.0]
AB[hd][id][je][jf][if][hf][he][jb][ld][le][lf][lg][kh][jh][ih][hh][gh]
[fg][ff][fe][fd][fc][gb][hb][ib][kb][lc][fb][lh]
AW[gc][hc][ic][jc][kd][ke][kf][jg][ig][hg][gf][ge][gd][kg][gg][ga][ha]
[ia][ja][ka][la][lb][mc][mb][md][me][mf][mg][ki][ji][ii][hi][gi][fi]
[eh][eg][ef][ee][ed][ec][eb][ea][fa][mh][li]
C[black to move.

Gobble, Olga, and Oleg agree:
'a' is an eye, cannot be filled.

Black 'b' or 'c' would put black's outer group in atari, accelerating its
death.

A random opponent might fail to respond to black 'b' with white 'c',
permitting black 'd' to kill white, and black to live. If there are no
remaining outside moves, or the opponent is not quite random (heavy
playouts with capture preference, say), black 'b' or 'c' amounts to suicide.

The only other local move is black 'd', which allows and forces white 'a'
to live, killing black.

If filling 'a' was not ruled out, playing there would kill white, allowing
black to live.

The pseudo-eye definitions blind black to the winning shaped sacrifice
of what can never become part of a two-eye group, turning a likely live
(after selecting the best first move) black group into a likely dead one
(with survival depending on context and opponent weakness).]
LB[ie:a][kc:b][fh:c][jd:d]
GN[playout-eyes2]
)



___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/


[computer-go] simple MC reference bot and specification

2008-10-11 Thread Don Dailey
On Sat, 2008-10-11 at 13:33 +0100, Claus Reinke wrote:
 I have a rough idea of what that might be. And I suspect that keeping
 this
 de facto standard implicit has been hiding some actual differences
 in what
 different people think that standard is. Some of my questions arise
 from trying
 to pin down where and why different authors have different ideas of
 what the
 standard is. If there has been some explicit standardisation since
 those papers
 were published, I'd be interested in a pointer to that standard and
 its rationale.

I'm going to publish a real simple java reference program and some docs
to go with it and a program to test it for black box conformance.
(Actually, it will test 2 or more and compare them.)   I would like to
get someone who writes better than I do to write up the standard in less
casual language but it goes something like this:

  1. A complete game playing program so it can also be tested in real
games.

  2. Play uniformly random moves except to 1 pt eyes and avoiding simple
ko.  When a move is otherwise not possible,  pass.

  3.  Playout ends after 2 consecutive pass moves (1 for each side.)

  4.  1 pt 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.  In the playouts, statistics are taken on moves played during the
playouts.   If the move is played FIRST (during the playout) by the side
to move it is one data point and the win loss record is maintained.  

  6.  The move with the highest statistical win rate is the one selected
for move in the actual game.

  7.  In the case of moves with even scores a random selection is made. 

  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 as a further optional test your
program should score close to 50% against other properly implemented
programs. 

 10.  Suicide not allowed in the playouts or in games it plays.  
 
 11.  When selecting moves to play in the actual game (not playouts)
superko is checked and forbidden.

 12.  If a move has NO STATS taken (which is highly unlikely unless you
do very few playouts) it is ignored for move selection.  

Did I miss anything?  I would like to get feedback and agreement on
this.   
 
Please note - a few GTP commands will be added in order to instrument
any conforming programs.   Haven't figured those out yet,  but it will
be designed so that it can report number of nodes, number of playouts,
average score of playouts, etc.   So the tester may set up some position
and a ko,  and ask for statistics based on the number of specified
playouts.

- Don







 


signature.asc
Description: This is a digitally signed message part
___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/

Re: [computer-go] pseudo eye variations for playouts

2008-10-11 Thread Claus Reinke
 There is a de facto standard light playout policy (algorithm).

I have a rough idea of what that might be. And I suspect that keeping this
de facto standard implicit has been hiding some actual differences in what
different people think that standard is. Some of my questions arise from trying
to pin down where and why different authors have different ideas of what the
standard is. If there has been some explicit standardisation since those papers
were published, I'd be interested in a pointer to that standard and its 
rationale.

 If you want to adhere to this standard, then by definition, there are correct
 and incorrect ways to do so. If you just want to design a better playout
 policy, naturally anything is fair game.

Neither, actually!-) If there was a single standard, then implementing that
first would be useful before starting on variations. But only if said standard
was arrived at by community optimization, not by committee or by failure
to examine hypotheses for their validity (it works in most cases is no
proof that it works, let alone that there isn't a more complete way to do
the same thing). The more everyone always implements the same thing
because everyone does it that way, the less that way is guaranteed to
be tested for flaws (local extrema, exploration vs exploitation?-).

Mostly, I like to understand what I'm doing and why, instead of just
implementing and optimizing what has been handed down. So I take the
slow, scenic route to writing my own implementation, using coding only
to test and improve my understanding of what I've read while enjoying
the pleasure of finding things out. Usually, that either leads to requests for
clarification/suggestions for possible improvements or to being more
comfortable with the standard (because I've tried to shoot it down
and failed - coming to grips with it;-).

After all that initial learning has settled down, and the basis is solid,
there'll come a time for testing new ideas.

 But how are you going to measure whether it's really better?

By trying to understand the issues in enough depth that I can design
concrete experiments that will test concrete hypotheses?-) And if the
theory is good enough, experiments might not even be necessary in
all cases (or rather, a single proof might cover an infinity of experiments),
though I expect experiments to be helpful in most cases.

 My advice is to keep to this standard for a little while longer, write
 the rest of your engine, run it on CGOS where you can compare it
 directly with programs like myCtestxxx (maintained for that purpose
 by generous individuals) and verify that the other parts work. Then
 start improving the playout policy.

I fully expect to try my code against others at some point (though I
don't have a permanent internet connection atm, so couldn't let anything
run via a server for long). But that isn't urgent yet. What is urgent is not
to build in limiting assumptions (in either code or understanding) that will
be difficult to back out of once there is more code.

Don't get me wrong: I have switched from pure hypotheses to working
on code, though only on the side, and I think the various community
resources (servers, wikis, software, list archives, papers, bibliographies,
..) are great. A FAQ with urls, archive pointers, search keywords, and
glossary would help newcomers (with pointers to it in the list headers
and mailman listinfo page). If the list had a wiki, newcomers like myself
could simply add what they find to a FAQ page on that wiki before we
forget how difficult it was to find in the first place.

Claus



___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/


[computer-go] Go/Games with modified scores

2008-10-11 Thread Ingo Althöfer
During the last few days I have been meditating a lot about
the questiion whether taking into account the margin of
win into MCTS (UCT) may help or hurt.

I do not have a go program by my own, so for the moment
I have to believe what programmers are saying, namely
that MCTS with margin of win as a criterion gives worse
performance in play against other computer programs.

So, a negative answer... but there may be other points of
view from which this phenomenon is not bad but helpful.
To give an example: I am active in the scene of computer-aided 
game inventing. When a human designer of board games has
invented a new game he typically needs many rounds of human
test players who find strengths and weaknesses of the game.
As it is really a hard job to find enough test players our idea
is to let the early phases of test play be done by computer in
autoplay mode. (The list of basic criteria for good games include
appropriate game length, balance of chances, low drawing rates.)

When you now think of a game where the overall goal is to win and to avoid
losing, but where also a margin of win/loss can be counted at the end
(Go belongs to this class) you may pit two versions of your MCTS
algorithm against each other: 

   * MCTS(WinLoss), playing only for a win, independently of the margin
   * MCTS (margin), playing for win/loss, but also considering the margin.

with the philosophy: The game is interesting, when MCTS(WinLoss) 
performs better than MCTS(margin), and boring when it is the
other way.

Ingo.

PS: Here is an early report on computer-aided game inventing.
http://www.minet.uni-jena.de/preprints/althoefer_03/CAGI.pdf

-- 
GMX startet ShortView.de. Hier findest Du Leute mit Deinen Interessen!
Jetzt dabei sein: http://www.shortview.de/[EMAIL PROTECTED]
___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/


Re: [computer-go] OCTOBER KGS Computer Go tournament: small boards, slow

2008-10-11 Thread Nick Wedd

Reminder - it's tomorrow.


The October 2008 KGS computer Go tournament will be on Sunday October 
12th, in the Asian evening, European morning and American night, 
starting at 08:00 UTC (GMT) and ending soon after 12:00 UTC (GMT).


The Formal division will be a 6-round Swiss with 13x13 boards and 28 
minutes main time.  The Open division will be a 9-round Swiss with 9x9 
boards and 18 minutes each main time.  Both will use Chinese rules with 
7.5 points komi. There are details at
http://www.gokgs.com/tournInfo.jsp?id=422 for the Formal division, and 
at http://www.gokgs.com/tournInfo.jsp?id=424 for the Open.


For the first time, this event will not use sudden death.  It will 
use a very fast Canadian Overtime, of 25 moves in 20 minutes, for 
each division.  It was my intention to use 20 moves in 20 seconds, but 
there appears to be a bug in the KGS tournament configuration software, 
such that when I specify 20 stones in 20 seconds, the server takes it 
to mean 25 stones in 20 seconds.  So the settings for this event are:

 Formal division   28 minutes + 25 stones/20 seconds
 Open division 18 minutes + 25 stones/20 seconds

Registration is now open.  To enter, please read and follow, as usual, 
the instructions at http://www.weddslist.com/kgs/how/index.html.  The 
rules are given at http://www.weddslist.com/kgs/rules.html.


Please send your registration email (with the words KGS Tournament 
Registration in the title) to me at maproom at gmail dot com 
(converted to a valid address in the obvious way).


Nick


--
Nick Wedd[EMAIL PROTECTED]
___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/


Re: [computer-go] pseudo eye variations for playouts

2008-10-11 Thread Claus Reinke
Don's draft standard reminded me of the corner cases. So here's
an even simpler example, this time trying to show that dead invading
stones can poison playout analysis depending on which definition of
pseudo-eyes is used ('a' is A1, 'b' is C1).

That makes three attempted examples so far (are the examples
valid for what they are trying to show?), trying to show:

- the standard Gobble pseudo-eye can both allow real eyes
to be filled and prevent sacrifices involving filling false eyes
(in all cases so far, resulting in own groups counting as more
likely dead, and opponent groups counting as more likely live;
but since the playouts are symmetric, that implies miscounting
both ways)
- the local pattern approach of Gobble can be poisoned by
dead opponent neighbours

I understand that some engines use pseudo-liberties, or may
not have connection information easily accessible all the time,
but for those who do maintain proper liberty counts: are there
any examples where Olga-style pseudo-eyes are not preferable
to (at least as good as) Gobble-style ones?

Claus

(
;
FF[4]
GM[1]
SZ[19]
AP[Jago:Version 5.0]
AB[ar][bs][bq][cq][dr][ds][dq][aq]
AW[br][cr][ap][bp][cp][dp][eq][er][es]
LB[as:a][cs:b]
C[The black group is unconditionally alive.

Gobble: 'a' is not an eye, group is unsettled (50% chance: black 'a' dies, 
black 'b' lives).

Olga: 'a' is an eye, black 'b' the only possible local move: group is alive.

Oleg: 'a' is not an eye, group is unsettled (50% chance: black 'a' dies, black 
'b' lives).]
GN[playout-eyes3]
)




___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/


Re: [computer-go] pseudo eye variations for playouts

2008-10-11 Thread Claus Reinke
 Thanks! Here goes another attempt, this time trying to construct an
 example where pseudo-eyes prevent a necessary fill-in ('a' is J15,
 'b' is L17, 'c' is F12, and 'd' is K16).
..
 GN[playout-eyes2]

Sorry about that one! I must have been thinking of some form of
Carpenter's square or square nine in the corner, but quite apart
from somehow managing to set up the whole thing away from the
corner, that shape is far too complex for such a simple argument
to succeed.

Please don't waste your time on playout-eyes2,-(
Claus



___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/


RE: [computer-go] simple MC reference bot and specification

2008-10-11 Thread David Fotland
If you don't have sueperko, I think you need a maximum moves stopping
criteria too.

 -Original Message-
 From: [EMAIL PROTECTED] [mailto:computer-go-
 [EMAIL PROTECTED] On Behalf Of Don Dailey
 Sent: Saturday, October 11, 2008 6:11 AM
 To: computer-go
 Subject: [computer-go] simple MC reference bot and specification
 
 On Sat, 2008-10-11 at 13:33 +0100, Claus Reinke wrote:
  I have a rough idea of what that might be. And I suspect that keeping
  this de facto standard implicit has been hiding some actual
  differences in what different people think that standard is. Some of
  my questions arise from trying to pin down where and why different
  authors have different ideas of what the
  standard is. If there has been some explicit standardisation since
  those papers were published, I'd be interested in a pointer to that
  standard and its rationale.
 
 I'm going to publish a real simple java reference program and some docs
 to go with it and a program to test it for black box conformance.
 (Actually, it will test 2 or more and compare them.)   I would like to
 get someone who writes better than I do to write up the standard in
 less casual language but it goes something like this:
 
   1. A complete game playing program so it can also be tested in real
 games.
 
   2. Play uniformly random moves except to 1 pt eyes and avoiding
 simple ko.  When a move is otherwise not possible,  pass.
 
   3.  Playout ends after 2 consecutive pass moves (1 for each side.)
 
   4.  1 pt 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.  In the playouts, statistics are taken on moves played during the
 playouts.   If the move is played FIRST (during the playout) by the
 side
 to move it is one data point and the win loss record is maintained.
 
   6.  The move with the highest statistical win rate is the one
 selected for move in the actual game.
 
   7.  In the case of moves with even scores a random selection is made.
 
   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 as a further optional test your
 program should score close to 50% against other properly implemented
 programs.
 
  10.  Suicide not allowed in the playouts or in games it plays.
 
  11.  When selecting moves to play in the actual game (not playouts)
 superko is checked and forbidden.
 
  12.  If a move has NO STATS taken (which is highly unlikely unless you
 do very few playouts) it is ignored for move selection.
 
 Did I miss anything?  I would like to get feedback and agreement on
 this.
 
 Please note - a few GTP commands will be added in order to instrument
 any conforming programs.   Haven't figured those out yet,  but it will
 be designed so that it can report number of nodes, number of playouts,
 average score of playouts, etc.   So the tester may set up some
 position
 and a ko,  and ask for statistics based on the number of specified
 playouts.
 
 - Don
 
 
 
 
 
 
 
 

___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/


Re: [computer-go] pseudo eye variations for playouts

2008-10-11 Thread Don Dailey
Yes, it's understood that the eye rule most of us use is not perfect and
we have identified bad cases before on this list.

My analogy is that you wouldn't put expensive leather seats in a cheap
economy car.   A simple eye rule is more than sufficient for random
play-outs.  A more sophisticated rule is interesting to consider of
course,  but I'm pretty sure it would not be a measurable improvement to
a random playout based program.In fact I think even the really good
programs like mogo use this same simple eye rule.

I thought the Gobble eye rule was the one we are using now?   Or maybe
I'm thinking of a different program?

If you are interested in corner cases I think some previous postings
here are worthy of consideration.Did you also check Sensei's page? 

- Don


On Sat, 2008-10-11 at 15:01 +0100, Claus Reinke wrote:
 Don's draft standard reminded me of the corner cases. So here's
 an even simpler example, this time trying to show that dead invading
 stones can poison playout analysis depending on which definition of
 pseudo-eyes is used ('a' is A1, 'b' is C1).
 
 That makes three attempted examples so far (are the examples
 valid for what they are trying to show?), trying to show:
 
 - the standard Gobble pseudo-eye can both allow real eyes
 to be filled and prevent sacrifices involving filling false eyes
 (in all cases so far, resulting in own groups counting as more
 likely dead, and opponent groups counting as more likely live;
 but since the playouts are symmetric, that implies miscounting
 both ways)
 - the local pattern approach of Gobble can be poisoned by
 dead opponent neighbours
 
 I understand that some engines use pseudo-liberties, or may
 not have connection information easily accessible all the time,
 but for those who do maintain proper liberty counts: are there
 any examples where Olga-style pseudo-eyes are not preferable
 to (at least as good as) Gobble-style ones?
 
 Claus
 
 (
 ;
 FF[4]
 GM[1]
 SZ[19]
 AP[Jago:Version 5.0]
 AB[ar][bs][bq][cq][dr][ds][dq][aq]
 AW[br][cr][ap][bp][cp][dp][eq][er][es]
 LB[as:a][cs:b]
 C[The black group is unconditionally alive.
 
 Gobble: 'a' is not an eye, group is unsettled (50% chance: black 'a' dies, 
 black 'b' lives).
 
 Olga: 'a' is an eye, black 'b' the only possible local move: group is alive.
 
 Oleg: 'a' is not an eye, group is unsettled (50% chance: black 'a' dies, 
 black 'b' lives).]
 GN[playout-eyes3]
 )
 
 
 
 
 ___
 computer-go mailing list
 computer-go@computer-go.org
 http://www.computer-go.org/mailman/listinfo/computer-go/


signature.asc
Description: This is a digitally signed message part
___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/

Re: [computer-go] simple MC reference bot and specification

2008-10-11 Thread Don Dailey
I found one specified issue that must be handled and requires an
additional specification.

What to do to limit the length of the playout games?   As was discussed
in the last couple of days or so there are possible cases with multiple
ko threats.   

Please not that the solution I am about to propose doesn't pretend to be
a perfect solution since this is just a benchmark (like th eye rule, it
isn't perfect) - but I think it does solve the problem.   My idea is
this:  Allow up to N consecutive 1 point captures and then automatically
terminate the game.So here is rule 13 in my list:

 13.  the play-outs terminate after the fifth consecutive 1 stone
capture.

If someone has a rationale for using a different number let's consider
it.   I picked 5 for no particular reason.   And yes, I know that this
might terminate games too early,  but the only problem I want to solve
is to prevent infinite games.   There is of course an argument for using
a much bigger number such as 10 or more - 5 single stone captures
doesn't prove any kind of ko situation.   But I prefer a very simple
termination rule that is trivial to implement to something anal and
complicated.   I don't want to scare anybody away from building this
benchmark.

Would that guarantee no infinite games?Is there a reason to use a
higher number than 5?   Should we have an even simpler termination rule
such as no playout shall last more than BOARDSIZE * BOARDSIZE * 3
moves?

In addition I think it's good to require that integer komi be allowed.  



- Don




On Sat, 2008-10-11 at 09:11 -0400, Don Dailey wrote:
 I'm going to publish a real simple java reference program and some
 docs
 to go with it and a program to test it for black box conformance.
 (Actually, it will test 2 or more and compare them.)   I would like to
 get someone who writes better than I do to write up the standard in
 less
 casual language but it goes something like this:
 
   1. A complete game playing program so it can also be tested in real
 games.
 
   2. Play uniformly random moves except to 1 pt eyes and avoiding
 simple
 ko.  When a move is otherwise not possible,  pass.
 
   3.  Playout ends after 2 consecutive pass moves (1 for each side.)
 
   4.  1 pt 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.  In the playouts, statistics are taken on moves played during the
 playouts.   If the move is played FIRST (during the playout) by the
 side
 to move it is one data point and the win loss record is maintained.  
 
   6.  The move with the highest statistical win rate is the one
 selected
 for move in the actual game.
 
   7.  In the case of moves with even scores a random selection is
 made. 
 
   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 as a further optional test your
 program should score close to 50% against other properly implemented
 programs. 
 
  10.  Suicide not allowed in the playouts or in games it plays.  
  
  11.  When selecting moves to play in the actual game (not playouts)
 superko is checked and forbidden.
 
  12.  If a move has NO STATS taken (which is highly unlikely unless
 you
 do very few playouts) it is ignored for move selection.  
 
 Did I miss anything?  I would like to get feedback and agreement on
 this.   
  
 Please note - a few GTP commands will be added in order to instrument
 any conforming programs.   Haven't figured those out yet,  but it will
 be designed so that it can report number of nodes, number of playouts,
 average score of playouts, etc.   So the tester may set up some
 position
 and a ko,  and ask for statistics based on the number of specified
 playouts.
 
 - Don
 


signature.asc
Description: This is a digitally signed message part
___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/

Re: [computer-go] simple MC reference bot and specification

2008-10-11 Thread Zach Wegner
On Sat, Oct 11, 2008 at 8:11 AM, Don Dailey [EMAIL PROTECTED] wrote:

 I'm going to publish a real simple java reference program and some docs
 to go with it and a program to test it for black box conformance.
 (Actually, it will test 2 or more and compare them.)   I would like to
 get someone who writes better than I do to write up the standard in less
 casual language but it goes something like this:

  1. A complete game playing program so it can also be tested in real
 games.

  2. Play uniformly random moves except to 1 pt eyes and avoiding simple
 ko.  When a move is otherwise not possible,  pass.

  3.  Playout ends after 2 consecutive pass moves (1 for each side.)

  4.  1 pt 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.  In the playouts, statistics are taken on moves played during the
 playouts.   If the move is played FIRST (during the playout) by the side
 to move it is one data point and the win loss record is maintained.

Wouldn't it make more sense to run an equal number of playouts for
each root move?


  6.  The move with the highest statistical win rate is the one selected
 for move in the actual game.

  7.  In the case of moves with even scores a random selection is made.

I think maybe this should be something deterministic.


  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 as a further optional test your
 program should score close to 50% against other properly implemented
 programs.

This is too vague IMO--I think specifying the RNG would be better. I
like Marsaglia's--that's what I use now.


  10.  Suicide not allowed in the playouts or in games it plays.

  11.  When selecting moves to play in the actual game (not playouts)
 superko is checked and forbidden.

That's fine for this spec, but I don't do this and don't plan on it.


  12.  If a move has NO STATS taken (which is highly unlikely unless you
 do very few playouts) it is ignored for move selection.

 Did I miss anything?  I would like to get feedback and agreement on
 this.

 Please note - a few GTP commands will be added in order to instrument
 any conforming programs.   Haven't figured those out yet,  but it will
 be designed so that it can report number of nodes, number of playouts,
 average score of playouts, etc.   So the tester may set up some position
 and a ko,  and ask for statistics based on the number of specified
 playouts.

 - Don
___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/


Re: [computer-go] simple MC reference bot and specification

2008-10-11 Thread dhillismail



 11.  When selecting moves to play in the actual game (not playouts)
superko is checked and forbidden.


positional superko (as opposed to situational superko).

- Dave Hillis


-Original Message-
From: Don Dailey [EMAIL PROTECTED]
To: computer-go computer-go@computer-go.org
Sent: Sat, 11 Oct 2008 9:11 am
Subject: [computer-go] simple MC reference bot and specification



On Sat, 2008-10-11 at 13:33 +0100, Claus Reinke wrote:
 I have a rough idea of what that might be. And I suspect that keeping
 this
 de facto standard implicit has been hiding some actual differences
 in what
 different people think that standard is. Some of my questions arise
 from trying
 to pin down where and why different authors have different ideas of
 what the
 standard is. If there has been some explicit standardisation since
 those papers
 were published, I'd be interested in a pointer to that standard and
 its rationale.

I'm going to publish a real simple java reference program and some docs
to go with it and a program to test it for black box conformance.
(Actually, it will test 2 or more and compare them.)   I would like to
get someone who writes better than I do to write up the standard in less
casual language but it goes something like this:

  1. A complete game playing program so it can also be tested in real
games.

  2. Play uniformly random moves except to 1 pt eyes and avoiding simple
ko.  When a move is otherwise not possible,  pass.

  3.  Playout ends after 2 consecutive pass moves (1 for each side.)

  4.  1 pt 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.  In the playouts, statistics are taken on moves played during the
playouts.   If the move is played FIRST (during the playout) by the side
to move it is one data point and the win loss record is maintained.  

  6.  The move with the highest statistical win rate is the one selected
for move in the actual game.

  7.  In the case of moves with even scores a random selection is made. 

  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 as a further optional test your
program should score close to 50% against other properly implemented
programs. 

 10.  Suicide not allowed in the playouts or in games it plays.  
 
 11.  When selecting moves to play in the actual game (not playouts)
superko is checked and forbidden.

 12.  If a move has NO STATS taken (which is highly unlikely unless you
do very few playouts) it is ignored for move selection.  

Did I miss anything?  I would like to get feedback and agreement on
this.   
 
Please note - a few GTP commands will be added in order to instrument
any conforming programs.   Haven't figured those out yet,  but it will
be designed so that it can report number of nodes, number of playouts,
average score of playouts, etc.   So the tester may set up some position
and a ko,  and ask for statistics based on the number of specified
playouts.

- Don







 



___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/

___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/

Re: [computer-go] simple MC reference bot and specification

2008-10-11 Thread Jason House

On Oct 11, 2008, at 2:40 PM, [EMAIL PROTECTED] wrote:



 11.  When selecting moves to play in the actual game (not playouts)
superko is checked and forbidden.

positional superko (as opposed to situational superko).



Whatever is used by the rules... I know CGOS and KGS Chinesee use  
positional super ko. I don't know which rule sets would use  
situational. Situational makes more sense to me.











- Dave Hillis


-Original Message-
From: Don Dailey [EMAIL PROTECTED]
To: computer-go computer-go@computer-go.org
Sent: Sat, 11 Oct 2008 9:11 am
Subject: [computer-go] simple MC reference bot and specification

On Sat, 2008-10-11 at 13:33 +0100, Claus Reinke wrote:
 I have a rough idea of what that might be. And I suspect that  
keeping

 this
 de facto standard implicit has been hiding some actual differences
 in what
 different people think that standard is. Some of my questions arise
 from trying
 to pin down where and why different authors have different ideas of
 what the
 standard is. If there has been some explicit standardisation since
 those papers
 were published, I'd be interested in a pointer to that standard and
 its rationale.

I'm going to publish a real simple java reference program and some  
docs

to go with it and a program to test it for black box conformance.
(Actually, it will test 2 or more and compare them.)   I would like to
get someone who writes better than I do to write up the standard in  
less

casual language but it goes something like this:

  1. A complete game playing program so it can also be tested in real
games.

  2. Play uniformly random moves except to 1 pt eyes and avoiding  
simple

ko.  When a move is otherwise not possible,  pass.

  3.  Playout ends after 2 consecutive pass moves (1 for each side.)

  4.  1 pt 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.  In the playouts, statistics are taken on moves played during the
playouts.   If the move is played FIRST (during the playout) by the  
side

to move it is one data point and the win loss record is maintained.

  6.  The move with the highest statistical win rate is the one  
selected

for move in the actual game.

  7.  In the case of moves with even scores a random selection is  
made.


  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 as a further optional test your
program should score close to 50% against other properly implemented
programs.

 10.  Suicide not allowed in the playouts or in games it plays.

 11.  When selecting moves to play in the actual game (not playouts)
superko is checked and forbidden.

 12.  If a move has NO STATS taken (which is highly unlikely unless  
you

do very few playouts) it is ignored for move selection.

Did I miss anything?  I would like to get feedback and agreement on
this.

Please note - a few GTP commands will be added in order to instrument
any conforming programs.   Haven't figured those out yet,  but it will
be designed so that it can report number of nodes, number of playouts,
average score of playouts, etc.   So the tester may set up some  
position

and a ko,  and ask for statistics based on the number of specified
playouts.

- Don








___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/

McCain or Obama? Stay updated on coverage of the Presidential race  
while you browse - Download Now!

___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/
___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/

Re: [computer-go] simple MC reference bot and specification

2008-10-11 Thread Don Dailey
On Sat, 2008-10-11 at 13:34 -0500, Zach Wegner wrote:
 Wouldn't it make more sense to run an equal number of playouts for
 each root move?

No, because with AMAF you will get different game counts ANYWAY.   

And also I believe most programs are viewing the level in playouts as a
fixed number of play-outs,   not a fixed number of play-outs per root
move choice and I would want to conform to what most people are doing.

However I'm not opposed to doing it that way, especially if that's what
most people are already doing anyway.   But I'm just trying to nail down
what most people are already doing so that only minor changes would be
necessary to anyone wanting to implement this.

- Don





signature.asc
Description: This is a digitally signed message part
___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/

Re: [computer-go] simple MC reference bot and specification

2008-10-11 Thread Don Dailey
On Sat, 2008-10-11 at 13:34 -0500, Zach Wegner wrote:
   7.  In the case of moves with even scores a random selection is
 made.
 
 I think maybe this should be something deterministic.

That of course is clearly a possibility.   However I'm trying to
approach this with a certain consistent methodology which is to specify
the BEHAVIOR, not the implementation.   I want complete freedom in how
you implement the specified behavior.  


Also, if you chose a different generator, it would not be possible to
prove it if it were a good one.   Not unless we also got heavy handed
about how it's initialized, and how you select moves with a random
distribution.In short, I fear that we would be asking too much to
build a bunch of clones that are completely deterministic.

If you look at pseudo random number generators you will see there is
this same implicit methodology, though not stated.   The behavior
specified is to appear random and test are designed to see how well
this behavior is simulated.In some sense, people consider the best
random number generators to be the ones that fool the Diehard tests.
They fool these diehard tests into thinking they are really random. 

I want this to work that way.  We will build tests and I don't care if
you can find a way to fool the tests.  However the tester will be
designed to be difficult to fool and it will not present you with
predictable positions.  

I don't care if you don't follow the spec 100% if you can fool the
tests.   If you can do this, you will probably have found something
useful to all of us. 

This is not going to be a formal thing like the Computer Benchmarks Game
is.   We will just build a tester and publish the spec and you can do
what you want with it.   Maybe put entries on Sensei's page.  

- Don



signature.asc
Description: This is a digitally signed message part
___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/

[computer-go] 2nd GPW Cup Computer Go Tournament in Hakone, Japan

2008-10-11 Thread Hideki Kato
The 2nd GPW Cup Gomputer Go Tournament will be held as a night event 
of Game Programming Workshop 2008.
GPW2008:  http://sig-gi.c.u-tokyo.ac.jp/gpw/2008/ (in Japanese)
#Those who can't read Japanese and have interests in paticipating GPW 
Cup Computer Go Tournament, please mail me.

The 13th Game Programming Workshop will be held November 7 - 9 at 
Hakone Seminor House, Hakone, Japan.  GPW Cup Computer Go 
Tournament will be held at the first and second nights, together with 
the other night events, such as GPW Cup Computer Shogi Tournament, 
using Chinese rules, round robin alternating black and white, 15 
minutes SD, and 6.5 points komi.  Participants have to prepare 
necessary equipments by themselves (no Internet connection is 
available at the Seminor House, no loan PCs and/or no agents are 
provided by the organizer).  The programs should be original.  Human 
players can participate as well.

The rules of the tournament may be changed on particular conditions if 
necessary, ex., if there will be too many participants to keep the 
schedule.

Hideki
--
[EMAIL PROTECTED] (Kato)
___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/


Re: [computer-go] simple MC reference bot and specification

2008-10-11 Thread Don Dailey
On Sat, 2008-10-11 at 13:34 -0500, Zach Wegner wrote:
   11.  When selecting moves to play in the actual game (not playouts)
  superko is checked and forbidden.
 
 That's fine for this spec, but I don't do this and don't plan on it.

You don't have to do it,  it's just a provision to allow your bot to
play legal games.   The tester probably won't require it since it will
just be looking for statistics from specified (random) positions.  

A more comprehensive test is to play games with these reference bots and
check to see if any are straying too far from 50% scores against the
others.Your program could still participate, although it would
probably lose slightly more than the others due to the occasionally
superko loss.   Hopefully, this comprehensive tester could identify just
from the game statistics that something is wrong.

- Don




signature.asc
Description: This is a digitally signed message part
___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/

Re: [computer-go] simple MC reference bot and specification

2008-10-11 Thread Don Dailey
On Sat, 2008-10-11 at 14:40 -0400, [EMAIL PROTECTED] wrote:
 
 11.  When selecting moves to play in the actual game (not playouts)
 superko is checked and forbidden.
 
 positional superko (as opposed to situational superko).

Thank you.  I forgot to specify which.

- Don

 
 - Dave Hillis
 
 
 -Original Message-
 From: Don Dailey [EMAIL PROTECTED]
 To: computer-go computer-go@computer-go.org
 Sent: Sat, 11 Oct 2008 9:11 am
 Subject: [computer-go] simple MC reference bot and specification
 
 On Sat, 2008-10-11 at 13:33 +0100, Claus Reinke wrote:
  I have a rough idea of what that might be. And I suspect that keeping
  this
  de facto standard implicit has been hiding some actual differences
  in what
  different people think that standard is. Some of my questions arise
  from trying
  to pin down where and why different authors have different ideas of
  what the
  standard is. If there has been some explicit standardisation since
  those papers
  were published, I'd be interested in a pointer to that standard and
  its rationale.
 
 I'm going to publish a real simple java reference program and some docs
 to go with it and a program to test it for black box conformance.
 (Actually, it will test 2 or more and compare them.)   I would like to
 get someone who writes better than I do to write up the standard in less
 casual language but it goes something like this:
 
   1. A complete game playing program so it can also be tested in real
 games.
 
   2. Play uniformly random moves except to 1 pt eyes and avoiding simple
 ko.  When a move is otherwise not possible,  pass.
 
   3.  Playout ends after 2 consecutive pass moves (1 for each side.)
 
   4.  1 pt 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.  In the playouts, statistics are taken on moves played during the
 playouts.   If the move is played FIRST (during the playout) by the side
 to move it is one data point and the win loss record is maintained.  
 
   6.  The move with the highest statistical win rate is the one selected
 for move in the actual game.
 
   7.  In the case of moves with even scores a random selection is made. 
 
   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 as a further optional test your
 program should score close to 50% against other properly implemented
 programs. 
 
  10.  Suicide not allowed in the playouts or in games it plays.  
  
  11.  When selecting moves to play in the actual game (not playouts)
 superko is checked and forbidden.
 
  12.  If a move has NO STATS taken (which is highly unlikely unless you
 do very few playouts) it is ignored for move selection.  
 
 Did I miss anything?  I would like to get feedback and agreement on
 this.   
  
 Please note - a few GTP commands will be added in order to instrument
 any conforming programs.   Haven't figured those out yet,  but it will
 be designed so that it can report number of nodes, number of playouts,
 average score of playouts, etc.   So the tester may set up some position
 and a ko,  and ask for statistics based on the number of specified
 playouts.
 
 - Don
 
 
 
 
 
 
 
  
 ___
 computer-go mailing list
 computer-go@computer-go.org
 http://www.computer-go.org/mailman/listinfo/computer-go/
 
 __
 
 McCain or Obama? Stay updated on coverage of the Presidential race
 while you browse - Download Now! 


signature.asc
Description: This is a digitally signed message part
___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/

Re: [computer-go] simple MC reference bot and specification

2008-10-11 Thread Don Dailey
On Sat, 2008-10-11 at 14:48 -0400, Jason House wrote:
 Whatever is used by the rules... I know CGOS and KGS Chinesee use
 positional super ko. I don't know which rule sets would use
 situational. Situational makes more sense to me. 

I've always personally preferred situation super ko (probably because of
my chess background)  but Position Super Ko seems to be the more popular
standard and CGOS uses it as well as KGS.  

What are most people using?

- Don



signature.asc
Description: This is a digitally signed message part
___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/

[computer-go] simple MC reference bot and specification

2008-10-11 Thread Denis fidaali


On point 13.
1 stone captures, may eventually be hard for some implementation.
I think using game length as a criterion gives more freedom.

Then you have to specify what to do with those pathological games anyway.
Do you score them as they are, or do you drop them. I do count them.
The rule for counting is probably quite standard too. I give a point for 
each stone present. Then for each empty stone, i give a point to the side
who has all orthogonal control of it, if any.

I usually implements super-ko checking very late, if i do at all.

I often start by selecting either the first or the last best move,
rather than picking one at random. Although picking at random
makes me more comfortable somehow. It could be interesting
to see how much difference it makes.

Finally, about the size. Is it supposed to be 9x9 only ?
9x9 only gives more freedom to fine tune for this size.
It may make the implementations less useful, if someone
knows another sizes the light-policy could succeed on.
(like maybe studying 7x7 and such ?)
_
Email envoyé avec Windows Live Hotmail. Dites adieux aux spam et virus, passez 
à Hotmail ! C'est gratuit !
http://www.windowslive.fr/hotmail/default.asp___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/


Re: [computer-go] simple MC reference bot and specification

2008-10-11 Thread Don Dailey
On Sat, 2008-10-11 at 21:46 +0200, Denis fidaali wrote:
 
 On point 13.
 1 stone captures, may eventually be hard for some implementation.
 I think using game length as a criterion gives more freedom.

I definitely considered that.  My own program returns the number of
stones captured (and a list of those stones if I ask for it) and so it's
easy for me,  but wonder if there are programs where this would be
difficult to detect?

My arguments in favor of the rule is that it's not quite as artificial
as setting some arbitrary limit and I think this would not unduly delay
the terminations of games.  With a limit of hundreds of moves, some
games would go hundreds of moves beyond what is necessary.  

Are there any MC programs out that cannot detect whether they made a one
stone capture and it would be unduly difficult to fix this?  

 


 
 Then you have to specify what to do with those pathological games anyway.
 Do you score them as they are, or do you drop them. I do count them.

You score them as is.   You may not get the correct score, but after
all these ARE random games and we expect this to be extremely rare. 


 The rule for counting is probably quite standard too. I give a point for 
 each stone present. Then for each empty stone, i give a point to the side
 who has all orthogonal control of it, if any.

Yes.  Tromp/Taylor which are Chinese rules.   


 
 I usually implements super-ko checking very late, if i do at all.
 
 I often start by selecting either the first or the last best move,
 rather than picking one at random. Although picking at random
 makes me more comfortable somehow. It could be interesting
 to see how much difference it makes.

Of course everyone is free to implement any variation they want,
controlled by switches and such.The idea is to have an extremely
reliable benchmark and this will also be very helpful for new developers
as this also would serve as a good first program for new developers
and they could have confidence that they got all the details right.


 
 Finally, about the size. Is it supposed to be 9x9 only ?

It can be anything you want,  but I suggest that you develop a program
capable of playing on any board size.   

Having said that, you can get a little more speed if you code to just 1
specific board size.   Lazarus compiles to any ODD board size but it's
fixed at compile time and I have to recompile to get other board sizes.
I doubt this optimization is worth very much and it's annoying that I
have to fetch a different binary in order to play other board sizes.

Also, I don't really keep up with how new processor families change the
rules.   I know that I USED to get a nice speedup several years ago by
using as many constants as possible (as opposed to variables) but I have
no idea whether (or how much) this is true today.

 9x9 only gives more freedom to fine tune for this size.
 It may make the implementations less useful, if someone
 knows another sizes the light-policy could succeed on.
 (like maybe studying 7x7 and such ?)

How do you define succeed?It works on all board sizes, it just
works better on smaller boards. You could equally say it doesn't
work on any board size since there are ways to build stronger programs. 
  

- Don





 _
 Email envoyé avec Windows Live Hotmail. Dites adieux aux spam et virus, 
 passez à Hotmail ! C'est gratuit !
 http://www.windowslive.fr/hotmail/default.asp___
 computer-go mailing list
 computer-go@computer-go.org
 http://www.computer-go.org/mailman/listinfo/computer-go/


signature.asc
Description: This is a digitally signed message part
___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/

Re: [computer-go] simple MC reference bot and specification

2008-10-11 Thread Michael Williams

Don Dailey wrote:

Are there any MC programs out that cannot detect whether they made a one
stone capture and it would be unduly difficult to fix this?  


They would have to detect that to detect simple Ko.

Speaking of which, wouldn't it be better to limit consecutive Kos instead of 
limiting consecutive 1-stone captures?

___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/


Re: [computer-go] simple MC reference bot and specification

2008-10-11 Thread Don Dailey
On Sat, 2008-10-11 at 16:32 -0400, Michael Williams wrote:
 Don Dailey wrote:
  Are there any MC programs out that cannot detect whether they made a one
  stone capture and it would be unduly difficult to fix this?  
 
 They would have to detect that to detect simple Ko.

That's a good point.

 
 Speaking of which, wouldn't it be better to limit consecutive Kos instead of 
 limiting consecutive 1-stone captures?

Wouldn't this definitely slow down most if not all light implementations
and require code changes to existing programs?   My own programs do not
really know that a ko exists until it decides to make that specific
move.  Then when it tries to play that move the make() routine discovers
that it is was a ko and reject it, returning an illegal move value.   

To fix this I would have to test every move just to see if there is a ko
situation (although there are no doubt some shortcuts.)

So I don't think that is a practical rule although it is without doubt
slightly superior. 

- Don


 ___
 computer-go mailing list
 computer-go@computer-go.org
 http://www.computer-go.org/mailman/listinfo/computer-go/


signature.asc
Description: This is a digitally signed message part
___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/

Re: [computer-go] simple MC reference bot and specification

2008-10-11 Thread Michael Williams

Don Dailey wrote:

Speaking of which, wouldn't it be better to limit consecutive Kos instead of 
limiting consecutive 1-stone captures?


Wouldn't this definitely slow down most if not all light implementations
and require code changes to existing programs?   My own programs do not
really know that a ko exists until it decides to make that specific
move.  Then when it tries to play that move the make() routine discovers
that it is was a ko and reject it, returning an illegal move value.   


To fix this I would have to test every move just to see if there is a ko
situation (although there are no doubt some shortcuts.)



I detect simple Ko at the time of the legal capture.  I'm curious how you do it at the time of the illegal capture attempt.  How do you tell a legal 1-stone 
capture from an illegal one?

___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/


Re: [computer-go] simple MC reference bot and specification

2008-10-11 Thread Don Dailey
On Sat, 2008-10-11 at 16:55 -0400, Don Dailey wrote:
 To fix this I would have to test every move just to see if there is a
 ko
 situation (although there are no doubt some shortcuts.)

One shortcut is to simply not test for this until after you make a 1
stone capture,  then test all possible moves for the previous position.
But of course this greatly complicates most implementations I fear.   

An extension of this shortcut is to delay ALL testing until the number
of 1 stone captures indicate that you need to test N previous positions
for KO.   This would not be easy for me unless I were to accept the
slowdown of using my slow move maker in the playouts.   My slow move
maker maintains full state between moves.  


- Don



signature.asc
Description: This is a digitally signed message part
___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/

Re: [computer-go] simple MC reference bot and specification

2008-10-11 Thread Don Dailey
On Sat, 2008-10-11 at 17:01 -0400, Michael Williams wrote:
 Don Dailey wrote:
  Speaking of which, wouldn't it be better to limit consecutive Kos instead 
  of limiting consecutive 1-stone captures?
  
  Wouldn't this definitely slow down most if not all light implementations
  and require code changes to existing programs?   My own programs do not
  really know that a ko exists until it decides to make that specific
  move.  Then when it tries to play that move the make() routine discovers
  that it is was a ko and reject it, returning an illegal move value.   
  
  To fix this I would have to test every move just to see if there is a ko
  situation (although there are no doubt some shortcuts.)
 
 
 I detect simple Ko at the time of the legal capture.  I'm curious how you do 
 it at the time of the illegal capture attempt.  How do you tell a legal 
 1-stone 
 capture from an illegal one?

An illegal one stone capture is a capture of the same stone that was
just used to make a 1 stone capture itself.   I think I got that right. 

Whenever there is a 1 stone capture I flag that and remember it's
location (in the move list stack) but a one stone capture does not imply
a KO and that takes time to test - so I don't test.   So I don't know
that a capture move is a KO and most of the time I don't need to know. 

The next player selects a random move, which MIGHT be a capture attempt
which is illegal due to simple KO.   If it is, only then do I know that
the previous move was a KO.  

I'm slightly confused by the language ko  what is a ko?   To me a ko
is illegal so it never happens but I suppose my definition is wrong and
it's any board position where an illegal repetition is possible due to
whatever ko rule is in effect.

- Don
  


 ___
 computer-go mailing list
 computer-go@computer-go.org
 http://www.computer-go.org/mailman/listinfo/computer-go/


signature.asc
Description: This is a digitally signed message part
___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/

Re: [computer-go] Go/Games with modified scores

2008-10-11 Thread Raymond Wold

Ingo Althöfer wrote:

During the last few days I have been meditating a lot about
the questiion whether taking into account the margin of
win into MCTS (UCT) may help or hurt.

I do not have a go program by my own, so for the moment
I have to believe what programmers are saying, namely
that MCTS with margin of win as a criterion gives worse
performance in play against other computer programs.


I think the computer go field has a lot of magical thinking like this. 
Where a couple of different teams try out an idea, no one can get it to 
work, and so everyone believes the idea is no good.


The truth is we don't know. Most of computer go is very empirical and 
ad-hoc. We don't know why playing out a game randomly many times gives a 
good approximation of winning chance (I'm sure I could design games 
where this is not true). Using the margin and not just win/loss would 
intuitively seem to mean a higher margin of error in this estimate, so 
that a lot more play-outs are needed to take advantage of any added 
information. But that would really just be another guess.

___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/


Re: [computer-go] simple MC reference bot and specification

2008-10-11 Thread Don Dailey
David Fotland suggested another rule,  tell me what you think.

His rule is to stop the game at or beyond move N*N*2 where N is the
board size and score the board no matter what.  But in the play-outs he
first plays 1 move before making this test.  

If a game actually lasts that long,  the play-outs are not worth much
but the game is probably over anyway and the board gets scored as is.

My own implementation depends on there being no eyes bigger than 1
point, because it's fast and easy to score a board that has only 1 point
eyes.   But a simple modification makes it work without any appreciable
speed sacrifice:   If a game ends beyond move N*N*2 then use the slow
scoring routine that doesn't assume the board is complete.   It should
be very rare that this routine has to be used.

- Don



On Sat, 2008-10-11 at 16:15 -0400, Don Dailey wrote:
 On Sat, 2008-10-11 at 21:46 +0200, Denis fidaali wrote:
  
  On point 13.
  1 stone captures, may eventually be hard for some implementation.
  I think using game length as a criterion gives more freedom.
 
 I definitely considered that.  My own program returns the number of
 stones captured (and a list of those stones if I ask for it) and so it's
 easy for me,  but wonder if there are programs where this would be
 difficult to detect?
 
 My arguments in favor of the rule is that it's not quite as artificial
 as setting some arbitrary limit and I think this would not unduly delay
 the terminations of games.  With a limit of hundreds of moves, some
 games would go hundreds of moves beyond what is necessary.  
 
 Are there any MC programs out that cannot detect whether they made a one
 stone capture and it would be unduly difficult to fix this?  
 
  
 
 
  
  Then you have to specify what to do with those pathological games anyway.
  Do you score them as they are, or do you drop them. I do count them.
 
 You score them as is.   You may not get the correct score, but after
 all these ARE random games and we expect this to be extremely rare. 
 
 
  The rule for counting is probably quite standard too. I give a point for 
  each stone present. Then for each empty stone, i give a point to the side
  who has all orthogonal control of it, if any.
 
 Yes.  Tromp/Taylor which are Chinese rules.   
 
 
  
  I usually implements super-ko checking very late, if i do at all.
  
  I often start by selecting either the first or the last best move,
  rather than picking one at random. Although picking at random
  makes me more comfortable somehow. It could be interesting
  to see how much difference it makes.
 
 Of course everyone is free to implement any variation they want,
 controlled by switches and such.The idea is to have an extremely
 reliable benchmark and this will also be very helpful for new developers
 as this also would serve as a good first program for new developers
 and they could have confidence that they got all the details right.
 
 
  
  Finally, about the size. Is it supposed to be 9x9 only ?
 
 It can be anything you want,  but I suggest that you develop a program
 capable of playing on any board size.   
 
 Having said that, you can get a little more speed if you code to just 1
 specific board size.   Lazarus compiles to any ODD board size but it's
 fixed at compile time and I have to recompile to get other board sizes.
 I doubt this optimization is worth very much and it's annoying that I
 have to fetch a different binary in order to play other board sizes.
 
 Also, I don't really keep up with how new processor families change the
 rules.   I know that I USED to get a nice speedup several years ago by
 using as many constants as possible (as opposed to variables) but I have
 no idea whether (or how much) this is true today.
 
  9x9 only gives more freedom to fine tune for this size.
  It may make the implementations less useful, if someone
  knows another sizes the light-policy could succeed on.
  (like maybe studying 7x7 and such ?)
 
 How do you define succeed?It works on all board sizes, it just
 works better on smaller boards. You could equally say it doesn't
 work on any board size since there are ways to build stronger programs. 
   
 
 - Don
 
 
 
 
 
  _
  Email envoyé avec Windows Live Hotmail. Dites adieux aux spam et virus, 
  passez à Hotmail ! C'est gratuit !
  http://www.windowslive.fr/hotmail/default.asp___
  computer-go mailing list
  computer-go@computer-go.org
  http://www.computer-go.org/mailman/listinfo/computer-go/
 ___
 computer-go mailing list
 computer-go@computer-go.org
 http://www.computer-go.org/mailman/listinfo/computer-go/


signature.asc
Description: This is a digitally signed message part
___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/

RE: [computer-go] 2nd GPW Cup Computer Go Tournament in Hakone, Japan

2008-10-11 Thread David Fotland
Google translate does a pretty god job of translating these pages.

David

 -Original Message-
 From: [EMAIL PROTECTED] [mailto:computer-go-
 [EMAIL PROTECTED] On Behalf Of Hideki Kato
 Sent: Saturday, October 11, 2008 12:13 PM
 To: computer-go@computer-go.org
 Subject: [computer-go] 2nd GPW Cup Computer Go Tournament in Hakone,
 Japan
 
 The 2nd GPW Cup Gomputer Go Tournament will be held as a night event
 of Game Programming Workshop 2008.
 GPW2008:  http://sig-gi.c.u-tokyo.ac.jp/gpw/2008/ (in Japanese)
 #Those who can't read Japanese and have interests in paticipating GPW
 Cup Computer Go Tournament, please mail me.
 
 The 13th Game Programming Workshop will be held November 7 - 9 at
 Hakone Seminor House, Hakone, Japan.  GPW Cup Computer Go
 Tournament will be held at the first and second nights, together with
 the other night events, such as GPW Cup Computer Shogi Tournament,
 using Chinese rules, round robin alternating black and white, 15
 minutes SD, and 6.5 points komi.  Participants have to prepare
 necessary equipments by themselves (no Internet connection is
 available at the Seminor House, no loan PCs and/or no agents are
 provided by the organizer).  The programs should be original.  Human
 players can participate as well.
 
 The rules of the tournament may be changed on particular conditions if
 necessary, ex., if there will be too many participants to keep the
 schedule.
 
 Hideki
 --
 [EMAIL PROTECTED] (Kato)
 ___
 computer-go mailing list
 computer-go@computer-go.org
 http://www.computer-go.org/mailman/listinfo/computer-go/

___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/


Re: [computer-go] Go/Games with modified scores

2008-10-11 Thread Don Dailey
On Sat, 2008-10-11 at 22:33 +0100, Raymond Wold wrote:
 Ingo Althöfer wrote:
  During the last few days I have been meditating a lot about
  the questiion whether taking into account the margin of
  win into MCTS (UCT) may help or hurt.

You are not alone!   I think most of us have looked into that.

  I do not have a go program by my own, so for the moment
  I have to believe what programmers are saying, namely
  that MCTS with margin of win as a criterion gives worse
  performance in play against other computer programs.

It seems that way so far but you never know.

 
 I think the computer go field has a lot of magical thinking like this. 
 Where a couple of different teams try out an idea, no one can get it to 
 work, and so everyone believes the idea is no good.

I couldn't say it better myself.   In fact I have dropped my own ideas,
only to make them work later.   One can never be completely sure there
is not a bug, or some implementation detail that seemed unimportant
caused a problem.

 
 The truth is we don't know. Most of computer go is very empirical and 
 ad-hoc. We don't know why playing out a game randomly many times gives a 
 good approximation of winning chance (I'm sure I could design games 
 where this is not true). Using the margin and not just win/loss would 
 intuitively seem to mean a higher margin of error in this estimate, so 
 that a lot more play-outs are needed to take advantage of any added 
 information. But that would really just be another guess.

Are you speculating that if enough play-outs are done,  the idea might
prove to be superior?I never actually considered that.   So perhaps
with 5000 playouts using the win/loss score wins,  but at 50,000 using
the margin might be better?   This is easy to test with simple MC go
programs.If I get a chance I will test it for you (since you do not
have a program of your own) and report the results.   I'm not holding my
breath however ...


 ___
 computer-go mailing list
 computer-go@computer-go.org
 http://www.computer-go.org/mailman/listinfo/computer-go/


signature.asc
Description: This is a digitally signed message part
___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/

Re: [computer-go] Go/Games with modified scores

2008-10-11 Thread Raymond Wold

Don Dailey wrote:

Are you speculating that if enough play-outs are done,  the idea might
prove to be superior?I never actually considered that.   So perhaps
with 5000 playouts using the win/loss score wins,  but at 50,000 using
the margin might be better?   This is easy to test with simple MC go
programs.If I get a chance I will test it for you (since you do not
have a program of your own) and report the results.   I'm not holding my
breath however ...


Indeed, that was my /guess/. And one aimed at rationalizing why this 
particular idea might somehow work. It might well be that something else 
is needed to utilize the score difference after a play-out, or it might 
be that it really is worthless... Without a much deeper understanding 
(in a mathematical sense, not a player-skill sense*) of go, I don't see 
how we can find out which ideas really can't work.

___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/


Re: [computer-go] Go/Games with modified scores

2008-10-11 Thread Don Dailey
On Sat, 2008-10-11 at 23:49 +0100, Raymond Wold wrote:
 Don Dailey wrote:
  Are you speculating that if enough play-outs are done,  the idea might
  prove to be superior?I never actually considered that.   So perhaps
  with 5000 playouts using the win/loss score wins,  but at 50,000 using
  the margin might be better?   This is easy to test with simple MC go
  programs.If I get a chance I will test it for you (since you do not
  have a program of your own) and report the results.   I'm not holding my
  breath however ...
 
 Indeed, that was my /guess/. And one aimed at rationalizing why this 
 particular idea might somehow work. It might well be that something else 
 is needed to utilize the score difference after a play-out, or it might 
 be that it really is worthless... Without a much deeper understanding 
 (in a mathematical sense, not a player-skill sense*) of go, I don't see 
 how we can find out which ideas really can't work.


I believe there have been many attempts to make this work.  These
attempts are based on the intuition that the margin approach should be
better even though it is clearly inferior.   So in my opinion they start
with a wrong premise.   And this wrong premise is combined with another
wrong premise that the win/loss thing is inherently flawed, but works
due to some fluke. 

So the idea is to somehow combine something that seems to work very
well, with something clearly inferior and get something that works
better than both!   

I'm guessing that most approaches based on combining the two scoring
systems is like taking great wine and mixing it with cheap wine and
hoping to come up with something superb.

Also, one must consider if it's even possible to get much more out of
the win/loss method anyway.   How much more can you gain making it fight
when it is dead lost or dead one?That is probably why it has been so
difficult to improve, because you have so little to gain.  

To me it's now a question of finding a way to make it behave more like
people do without weakening it too much.I don't have a lot of hope
that you will improve it and even if you do, it will be a small
improvement.   But I think it's possible to improve the behavior we find
so ugly without unduly weakening it.  

- Don
 






 ___
 computer-go mailing list
 computer-go@computer-go.org
 http://www.computer-go.org/mailman/listinfo/computer-go/


signature.asc
Description: This is a digitally signed message part
___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/

Re: [computer-go] Go/Games with modified scores

2008-10-11 Thread Mark Boon


On 11-okt-08, at 20:32, Don Dailey wrote:


I believe there have been many attempts to make this work.  These
attempts are based on the intuition that the margin approach should be
better even though it is clearly inferior.   So in my opinion they  
start
with a wrong premise.   And this wrong premise is combined with  
another

wrong premise that the win/loss thing is inherently flawed, but works
due to some fluke.


I think this is rather a mischaracterization of why people look for  
this. I think people (me included) feel that replacing a whole swath  
of relevant information by a single number points to potentially some  
serious inefficiency and loss of information. The fact that nobody  
has found how to make use of the excess of information is no proof of  
course that it can't be done. I think it's a very valid question at  
the very least and a bit premature to call it a wrong premise. MCTS  
programs are still in their early days of development and it's quite  
possible some good improvements can be made by using more information  
than the simple win/loss ratio.


Mark



___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/