Re: Re[2]: [computer-go] use for Monte Carlo on 19X19?

2007-11-06 Thread Jeff Nowakowski
On Tue, 2007-11-06 at 16:30 +0100, Lars Schäfers wrote:
 
 By the way: a 9x9 CGOS server using japanese rules... I have a dream.. ;)

What formal and automatable Japanese ruleset are you proposing?  A
computer implementation would also lend credibility.

-Jeff


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


Re: [computer-go] use for Monte Carlo on 19X19?

2007-11-06 Thread Don Dailey

 By the way: a 9x9 CGOS server using japanese rules... I have a dream.. ;)


 Lars
   
Hi Lars,

I don't want to get too philosophical here and start another rules
debate so I'll start by saying that I'm not that interested in rules as
such.  It's way more interesting to me to focus on playing strength.  
Japanese rules is a fairly large diversion from this in my opinion. 

When I designed CGOS I didn't want to get involved with the complexities
of Japanese scoring because the real motivation for CGOS was to
encourage the development of strong playing Go programs.I wanted it
to be as easy as possible to get started in this, not just for the
program developers, but also for myself.How do you score Japanese
games correctly in an automated way in the face of program disputes?  
   There was a lot of discussion about this at one point - one of them
being to let gnugo score the games.   But of course it involves more
protocol to the server such as dead stone agreement and such.Nothing
that isn't possible, but it makes things way more complicated for
everybody.For a server like CGOS it's a heavy price to pay.

As Nick Wedd observed, it's very difficult to get all the program
authors to get the software correct for any kind of  protocol.Of
course if I were to do it,  I would simply set up the rules and the
protocol and I would not be forgiving of program error  (it would be up
to the programmer to get it right or risk losing games.)

It's already like that on CGOS.   Some programs don't do  positions
super ko correctly and they sometimes lose games.   I get a report every
month or two about this,  claiming CGOS doesn't know how to handle Ko
properly but in every case the complainant was wrong.I can easily
imagine what it would be like with Japanese rules.   I would be getting
hammered with sincere pleads to check the code because they are sure
it's wrong. I chased down every case of the KO bug, I never ignored
the complainant just because I knew they would be wrong but  I wanted to
give them the satisfaction that I checked it out with an open mind (ok,
I admit my mind wasn't open - I knew they were wrong but I still always
did the homework to set their mind at ease.)

Since you have a dream - I will tell you my dream.   I wish there was a
single set of standardized rules that everyone in the world honored.
These rules would promote the game by being as simple as possible so
that beginners would understand it.Japanese rules have almost
certainly hurt the game in Western cultures.   I believe this because I
almost didn't discover the game due to these rules - you simply cannot
understand Japanese rules without already being good at the game.   
With Chinese rules, you can learn the rules quickly.  

Having said all of that,  I'm very interested in Japanese scoring from
an engineering point of view.   I think it would interesting challenge
and a lot of fun making my own program able to handle them
properly.  Of course this is a requirement for a serious commercial
program. I have a un-serious commercial palm program that does not
know Japanese and it's a requested feature, although not heavily requested.

I acknowledge that Japanese rules are popular and here to stay.I
would really get interested if I had a strong program and I was in the
polishing phase of program development, where you provide a fancy GUI
and lots of cool features. Even then, it's a lot of work because
there is not such thing as one set of Japanese rules,  there are many
variations. In fact it would be interesting to enumerate those
variations, such as ko, komi,  handicap system (should there be
compensation), suicide,  time-control and so on.   There is surely a
sensei page on this.

- Don


 DD AnchorMan uses that in KGS mode - it will pass quite early sometimes and
 DD mark dead stones based on the territory statistics you are talking
 DD about.   

 DD So I assume the play-outs are chinese and the move selection is the same
 DD as our bots except you won't move into an intersection that is owned by
 DD either player?   

 DD How reliable is that?I had to be pretty conservative in AnchorMan
 DD about using that,  it would fail to defend territory unless I made the
 DD threshold for ownership pretty high. 

 DD - Don



 DD Lars wrote:
   
 I had build an Monte-Carlo GO-Engine (GOMonCy) wich uses the Japanese
 scoring system. It reached a win  rate against GnuGO 3.6 level 10 of
 stable 50%-52%. I used territorry-statistics about the Monte-Carlo
 outcomes. You get a probability for every field telling you who is the
 owner. It works quite good, but I thougt  that nearly everyone is using
 such statistics, isnt't it? Using a threshold to decide that a field
 belongs to a player you can also handle seki situations. Of course, if
 it is losing, the engin will break the seki situation an continue
 losing..   

 Am Montag, den 05.11.2007, 16:54 -0800 schrieb [EMAIL PROTECTED]:
   
   
 

Re[4]: [computer-go] use for Monte Carlo on 19X19?

2007-11-06 Thread Lars Schäfers
Hello Jeff,

as far as I know there don't exist any formal and automatable japanese
ruleset.
I would propose the GnuGO scoring as a referee. Perhaps it's possible
to ask the two bots which stones they think are dead or in seki.
If they don't agree GnuGO will decide who had won. This would perhaps
be an advantage for GnuGO playing on CGOS but show me a 9x9 game where
you wouldn't agree with the scoring, I think such cases are really
rare.

Lars

Tuesday, November 6, 2007, 6:08:20 PM, you wrote:

JN On Tue, 2007-11-06 at 16:30 +0100, Lars Schäfers wrote:
 
 By the way: a 9x9 CGOS server using japanese rules... I have a dream.. ;)

JN What formal and automatable Japanese ruleset are you proposing?  A
JN computer implementation would also lend credibility.

JN -Jeff


JN ___
JN computer-go mailing list
JN computer-go@computer-go.org
JN 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] use for Monte Carlo on 19X19?

2007-11-06 Thread Don Dailey
Lars,

If I do anything to CGOS it would be handicap games.  But I think your
suggestion is sensible for Japanese scoring.GnuGo won't score
perfectly every time, but I understand it is rarely incorrect.

Does anyone have statistics on how well GnuGo scores professional 19x19
games?  

- Don


Lars Schäfers wrote:
 Hello Jeff,

 as far as I know there don't exist any formal and automatable japanese
 ruleset.
 I would propose the GnuGO scoring as a referee. Perhaps it's possible
 to ask the two bots which stones they think are dead or in seki.
 If they don't agree GnuGO will decide who had won. This would perhaps
 be an advantage for GnuGO playing on CGOS but show me a 9x9 game where
 you wouldn't agree with the scoring, I think such cases are really
 rare.

 Lars

 Tuesday, November 6, 2007, 6:08:20 PM, you wrote:

 JN On Tue, 2007-11-06 at 16:30 +0100, Lars Schäfers wrote:
   
 By the way: a 9x9 CGOS server using japanese rules... I have a dream.. ;)
   

 JN What formal and automatable Japanese ruleset are you proposing?  A
 JN computer implementation would also lend credibility.

 JN -Jeff


 JN ___
 JN computer-go mailing list
 JN computer-go@computer-go.org
 JN 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/

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


RE: [computer-go] FW: Microsoft Research Lectures: Akihiro Kishimoto, Future University-Hakodate

2007-11-06 Thread David Stern
Akihiro has kindly agreed for us to film his talk and make it available.  I
should be able to put it online somewhere - I will let you know when this is
done.

 

Best,

David

 

From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Adrian Petrescu
Sent: 05 November 2007 18:14
To: [EMAIL PROTECTED]; computer-go
Subject: Re: [computer-go] FW: Microsoft Research Lectures: Akihiro
Kishimoto, Future University-Hakodate

 

As a public lectures, do these things get recorded and posted online
anywhere, Google Techtalk-style? This looks like a really interesting talk,
but I live nowhere near where this is being held. Is there any way at all?

Thanks for bringing this to our attention at any rate :)

On 11/5/07, Jack [EMAIL PROTECTED] wrote:

This may be of interest
JL


-Original Message-
From: Sarah Nightingale (Interaction Recruitment PLC)
[mailto:[EMAIL PROTECTED]
Sent: 05 November 2007 17:25 
To: Jack Lang
Subject: Microsoft Research Lectures: Akihiro Kishimoto, Future
University-Hakodate

MICROSOFT RESEARCH LECTURE
This is a PUBLIC lecture

TITLE: Developing the Best Life and Death Solver in Go 
SPEAKER: Akihiro Kishimoto
INSTITUTION: Future University-Hakodate
HOST: David Stern
DATE: 13 November 2007
TIME: 15:00 - 16:00
MEETING ROOM: Lecture-room small(50 seats)
ADDRESS: Microsoft Research Ltd, 7 J J Thomson Avenue (Off Madingley Road), 
Cambridge
Computer Go is one of the ultimate challenges for games research. Despite of
a lot of efforts for building state of the art programs, Go is still
resistant to current AI techniques, even for solving subproblems such as 
Life and Death, or tsume-Go. This talk presents the techniques behind
TsumeGo Explorer, a high-performance tsume-Go solver. TsumeGo Explorer uses
df-pn(r), a new search algorithm that improves the depth-first proof-number 
search algorithm. The program also contains domain-dependent enhancements.
In empirical tests, TsumeGo Explorer out performs GoTools, which has been
the undisputedly best tsume-Go solver for the last 15 years.





---
You are currently subscribed to msrclectures as: [EMAIL PROTECTED]
To unsubscribe send a blank email to
[EMAIL PROTECTED]
m
Please see our Privacy Statement:
http://research.microsoft.com/msrsupp/privacy.htm 

___
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] FW: Microsoft Research Lectures: Akihiro Kishimoto, Future University-Hakodate

2007-11-06 Thread Joshua Shriver
Great work Dave! Look forward to seeing it.

-Josh

On 11/6/07, David Stern [EMAIL PROTECTED] wrote:




 Akihiro has kindly agreed for us to film his talk and make it available.  I
 should be able to put it online somewhere – I will let you know when this is
 done.



 Best,

 David




 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of
 Adrian Petrescu
  Sent: 05 November 2007 18:14
  To: [EMAIL PROTECTED]; computer-go
  Subject: Re: [computer-go] FW: Microsoft Research Lectures: Akihiro
 Kishimoto, Future University-Hakodate




 As a public lectures, do these things get recorded and posted online
 anywhere, Google Techtalk-style? This looks like a really interesting talk,
 but I live nowhere near where this is being held. Is there any way at all?

  Thanks for bringing this to our attention at any rate :)


 On 11/5/07, Jack [EMAIL PROTECTED] wrote:

 This may be of interest
  JL


  -Original Message-
  From: Sarah Nightingale (Interaction Recruitment PLC)
  [mailto:[EMAIL PROTECTED]
  Sent: 05 November 2007 17:25
  To: Jack Lang
  Subject: Microsoft Research Lectures: Akihiro Kishimoto, Future
  University-Hakodate

  MICROSOFT RESEARCH LECTURE
  This is a PUBLIC lecture
  
  TITLE: Developing the Best Life and Death Solver in Go
  SPEAKER: Akihiro Kishimoto
  INSTITUTION: Future University-Hakodate
  HOST: David Stern
  DATE: 13 November 2007
  TIME: 15:00 - 16:00
  MEETING ROOM: Lecture-room small(50 seats)
  ADDRESS: Microsoft Research Ltd, 7 J J Thomson Avenue (Off Madingley Road),
  Cambridge
  Computer Go is one of the ultimate challenges for games research. Despite
 of
  a lot of efforts for building state of the art programs, Go is still
  resistant to current AI techniques, even for solving subproblems such as
  Life and Death, or tsume-Go. This talk presents the techniques behind
  TsumeGo Explorer, a high-performance tsume-Go solver. TsumeGo Explorer uses
  df-pn(r), a new search algorithm that improves the depth-first proof-number
  search algorithm. The program also contains domain-dependent enhancements.
  In empirical tests, TsumeGo Explorer out performs GoTools, which has been
  the undisputedly best tsume-Go solver for the last 15 years.





  ---
  You are currently subscribed to msrclectures as: [EMAIL PROTECTED]
  To unsubscribe send a blank email to
 [EMAIL PROTECTED]
  m
  Please see our Privacy Statement:
  http://research.microsoft.com/msrsupp/privacy.htm

  ___
  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/

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


Re: [computer-go] use for Monte Carlo on 19X19?

2007-11-06 Thread Gunnar Farnebäck

Don Dailey wrote:

Lars,

If I do anything to CGOS it would be handicap games.  But I think your
suggestion is sensible for Japanese scoring.GnuGo won't score
perfectly every time, but I understand it is rarely incorrect.


Does anyone have statistics on how well GnuGo scores professional 19x19
games?  


That depends on how difficult you make the problem. I have used Dave 
Dyer's test set of 623 scored professional 19x19 games, see 
http://www.andromeda.com/people/ddyer/go/scoring-games.html for 
information. As can be seen in the example on that page, those game 
records generally leave out all dame moves and even some moves required 
to finalize territories when it's clear how many points will be obtained 
there. Worse still, final endgame kos are frequently left out since it's 
assumed to be obvious who will win them.


With this in mind, the results for GNU Go 3.7.11 are 534 (85.7%) 
correctly scored, 79 (12.7%) off by one point, 5 off by 2 points, 2 off 
by 3 points, and 1 each off by 12, 34, and 38 points.


But mind you, GNU Go is trained on those games. It would certainly do 
worse on unseen games of a similar difficulty.


On the other hand, if the game records are complete up to and including 
dame filling, I would expect the error rate to be less than 1%, possibly 
much better.


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


Re: [computer-go] use for Monte Carlo on 19X19?

2007-11-06 Thread Jeff Nowakowski
On Tue, 2007-11-06 at 16:55 -0500, Don Dailey wrote:
 Hi Jeff,
 
 Yes, I agree with your points.Well behaved on CGOS means that your
 bot will resign as soon as it knows it's losing.

I think when a bot should resign is a matter of personal preference.  I
myself prefer to see games played out if it's somewhat close or very
near the end.  If there's a handful of moves left what's the point of
resigning?

 But against humans it should technically be the same, but isn't.When
 playing against humans a bot needs to be able to mark dead groups. 

I have the same feelings whether it's a bot vs bot game or bot vs human.
As for marking dead stones, obviously a bot needs to be able to against
humans, and I never suggested otherwise.  My only point is that you
don't need territory scoring rules for this.

-Jeff

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


Re: [computer-go] use for Monte Carlo on 19X19?

2007-11-06 Thread Jason House
On Nov 6, 2007 4:34 PM, Don Dailey [EMAIL PROTECTED] wrote:

 Territory scoring doesn't make the game end any sooner,  it just
 penalizes you for not doing so.


Right.  In close games, the decision to pass is non-trivial.  If protecting
against an invasion causes a loss, then the invasion must be left open.
This type of behavior is human-like.  The only real exception is that weak
humans like me don't count perfectly and exhibit this behavior in more cases
than they should.  If I'm ahead 40 points, I protect everything.




 But I refrained for 2 reasons:

   1. It makes everything more confusing and complicated.

   2. There is a better way.



Actually, I agree with you that the better way is the better way for the
community as a whole.  Similar to an occasional slow/fast tournament on KGS,
I think some experimentation with territory scoring has some benefit.  This
style of behavior is pleasing to people, and I think some testing of it
could be helpful.  Many people prefer to end games the human lost gracefully
rather than be forced to resign through long endgame.

I think having a way to generate a lot of games to test this style of
behavior is helpful.  I really care little about the rules, except that it
provides a mechanism to encourage the human-like behavior that I want my bot
to exhibit.

I mostly consider this discussion to be theoretical.  I doubt anyone would
implement this and put up a temporary server to play around with this
behavior.  All I'm really trying to say is that if someone did do it, I'd be
happy to participate.  My ultimate goals are slightly different than create
the strongest bot.  I aim to make a bot that's fun to play and to add
features to.  Being the strongest would be a bonus ;)
___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/

Re: [computer-go] use for Monte Carlo on 19X19?

2007-11-06 Thread Don Dailey
Hi Jeff,

Yes, I agree with your points.Well behaved on CGOS means that your
bot will resign as soon as it knows it's losing.

But against humans it should technically be the same, but isn't.When
playing against humans a bot needs to be able to mark dead groups. 

In my opinion time control should be Fischer clock - so much time for
the whole game plus some number of seconds per move.   I like small
increments and large main times - but it's a matter of taste and as you
say,  it's up to the player how quickly he plays no matter what the time
control is.With Fischer time control you can express time controls
very flexibly.   Increment of zero is like sudden death. 

- Don


Jeff Nowakowski wrote:
 I apologize in advance to list members that are sick of this topic, but
 if people keep on bringing up these fallacious arguments, I'm going to
 keep on responding to them.

 On Tue, 2007-11-06 at 16:09 -0500, Jason House wrote:
   
 Having run a dumb bot on KGS in the past, I became sensitive to user
 needs... 
 1. A bot that stubbornly plays 50 useless moves in endgame is highly
 annoying... especially with sudden death time limits.  Resigning a
 lost game helps, but so would territory scoring with proper dead stone
 marking. 
 

 You don't need territory scoring rules for this.  I run a copy of MoGo
 on KGS.  It uses Chinese rules and does a good job of passing once the
 opponent has passed.  It also marks dead stones correctly.  If you put
 your program on KGS then this is pretty much required if you want repeat
 players and want to avoid people escaping from games.

   
 2. Byo yomi or canadian time are very popular, but a computer can't
 take full advantage of byo yomi or canadian time in endgame without
 frustrating the opponent.  When a game is nearly over, the bot should
 not ponder for 19 out of 20 seconds of byo yomi to play an obvious
 move. 
 

 Again, this has nothing to do with the rules, and I'll again use MoGo as
 an example.  It plays a very fast endgame.  How you code your bot to use
 time is up to you and not dependent on the rules.

 Your arguments are for well behaved bots on KGS against human players,
 which is not the point at all of CGOS.  I encourage people to make their
 bots well behaved for KGS tournaments and for play against KGS humans,
 but that's up to individual authors and is not dependent on the ruleset.

 -Jeff

 ___
 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] use for Monte Carlo on 19X19?

2007-11-06 Thread Jeff Nowakowski
Ok, this is my last post on this topic for a while, promise.

On Tue, 2007-11-06 at 17:21 -0500, Jason House wrote:
 I think having a way to generate a lot of games to test this style of
 behavior is helpful.  I really care little about the rules, except
 that it provides a mechanism to encourage the human-like behavior that
 I want my bot to exhibit. 

This behavior is not dependent on the rules!  Even if your monte carlo
bot uses territory scoring, it will still play useless moves if it is
losing.  If you want more human-like behavior, you'll still have to make
your program know when to pass under either ruleset.  I see no benefit
in putting up a territory-based CGOS server that you couldn't have
gotten from local experimentation with GnuGo.

-Jeff


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


Re: [computer-go] use for Monte Carlo on 19X19?

2007-11-06 Thread Don Dailey
Hi Jason,

A few comments.   

Area scoring is what CGOS does,  Territory scoring is Japanese.  

Territory scoring doesn't make the game end any sooner,  it just
penalizes you for not doing so. 

I like the concept of not playing the game out to the bitter end but you
can't stop players from doing this if they want to.   I have considered
implementing something like this in CGOS so that bots could stop playing
early as an option. Would require a negotiation phase  to make sure
both sides agree on dead stones and so on.   

But I refrained for 2 reasons:

   1. It makes everything more confusing and complicated.

   2. There is a better way.

In my opinion,  since it's clear you can't force anyone to pass unless
they want to, then there is no good solution based on agreement
protocols that require the cooperation of both bots. 

However,  since any solution is optional,  there is a solution that does
not require the cooperation of the other bot.   I'll call it the resign
protocol. If you are interested in playing nice and not dragging
out the game - then you can resign if you are losing.   If you are not
losing there is nothing you can do to shorten the game if the opponent
is not willing. In other words,  if he won't resign, he probably
won't pass either. It's far easier to resign than work out a
pass/pass/negotiate phase.  

So to me this is really the most elegant solution.   

- Don

  


Jason House wrote:
 Personally, I'm ignorant on the subtle nature of Japanese rules.  I
 look it as territory scoring instead of area scoring.  Area scoring
 has the nice side effect that people can and should stop playing a
 game once all territory is decided. 

 Having run a dumb bot on KGS in the past, I became sensitive to user
 needs...
 1. A bot that stubbornly plays 50 useless moves in endgame is highly
 annoying... especially with sudden death time limits.  Resigning a
 lost game helps, but so would territory scoring with proper dead stone
 marking.
 2. Byo yomi or canadian time are very popular, but a computer can't
 take full advantage of byo yomi or canadian time in endgame without
 frustrating the opponent.  When a game is nearly over, the bot should
 not ponder for 19 out of 20 seconds of byo yomi to play an obvious move.

 My usual method to solve #1 is to put up an approximate and hope I
 don't piss off too many people while testing.  #2 is usually pretty
 easy to solve by adding a max time per move that decreases as the game
 length gets longer.

 On Nov 6, 2007 3:45 PM, Jeff Nowakowski [EMAIL PROTECTED]
 mailto:[EMAIL PROTECTED] wrote:

 On Tue, 2007-11-06 at 18:27 +0100, Lars Schäfers wrote:
  Hello Jeff,
 
  as far as I know there don't exist any formal and automatable
 japanese
  ruleset.
  I would propose the GnuGO scoring as a referee.

 I don't see what is gained by converting CGOS to Japanese rules.  You
 lose the ability for programs to play out disputes and instead
 depend on
 a 6k computer program (typical KGS rank for GnuGO) to resolve
 disputes.
 It's also a needless complication for bot authors that aren't
 concerned
 about Japanese rules.  If you want to implement Japanese rules for
 your
 program, great.

 This discussion has been had many times on this list.  What's the new
 compelling argument for having it again?

 -Jeff

 ___
 computer-go mailing list
 computer-go@computer-go.org mailto: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/
___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/


[computer-go] Re: use for Monte Carlo on 19X19?

2007-11-06 Thread Dave Dyer


the idea is: identify at least one stone from every unconditionally
living and every unconditionally dead group on the board, and
report them as dead or alive.

It can be done very fast, but the problem is that in a typical 
endgame board under Japanese rules, the number of unconditionally 
alive stones is zero.


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


[computer-go] Re: use for Monte Carlo on 19X19?

2007-11-06 Thread Dave Dyer


the idea is: identify at least one stone from every unconditionally
living and every unconditionally dead group on the board, and
report them as dead or alive.

It can be done very fast, but the problem is that in a typical 
endgame board under Japanese rules, the number of unconditionally 
alive stones is zero.


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


Re: [computer-go] use for Monte Carlo on 19X19?

2007-11-06 Thread Stefan Mertin
Lars Schäfers wrote:
 I would propose the GnuGO scoring as a referee. Perhaps it's possible
 to ask the two bots which stones they think are dead or in seki.
 If they don't agree GnuGO will decide who had won. This would perhaps
 be an advantage for GnuGO playing on CGOS but show me a 9x9 game where
 you wouldn't agree with the scoring, I think such cases are really
 rare.

I am using GnuGo scoring in my tournaments.
But GnuGo 3.7.10 mostly doesn´t score seki correctly,
has this been revised for v3.7.11 ...?!

So the reliability of GnuGo´s scoring
depends on the programs playing stile because some programs
tend to look for living in seki more often than others.
A rough estimation for my 9x9 tournament:
between 1% and 5% of the 9x9 games are not
scored correctly by GnuGo 3.7.10
but the side to win is correct in 99,9% of the games.

Stefan

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


[computer-go] Re: use for Monte Carlo on 19X19?

2007-11-06 Thread Dave Dyer
At 05:22 PM 11/6/2007, Ray Tayek wrote:
At 03:50 PM 11/6/2007, you wrote:
... in a typical
endgame board under Japanese rules, the number of unconditionally
alive stones is zero.

maybe for pro games. for amatuer 1-kyu to 10-kyu games, i suspect that after 
about 1/2 of the moves in the entire game have been made, enough groups are a 
few stones away from being benson alive that it would be worthwhile to find 
these.

The whole problem is to determine what ought to be considered dead.
Finding a group that needs a few more stones to be completely alive
doesn't help at all, because you have to do a full board search to
find out if those moves could actually be made.

A strategy that starts by anchoring the determination in
unconditionally alive groups starts with nothing.

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


[computer-go] Re: use for Monte Carlo on 19X19?

2007-11-06 Thread Dave Dyer
At 05:22 PM 11/6/2007, Ray Tayek wrote:
At 03:50 PM 11/6/2007, you wrote:
... in a typical
endgame board under Japanese rules, the number of unconditionally
alive stones is zero.

maybe for pro games. for amatuer 1-kyu to 10-kyu games, i suspect that after 
about 1/2 of the moves in the entire game have been made, enough groups are a 
few stones away from being benson alive that it would be worthwhile to find 
these.

The whole problem is to determine what ought to be considered dead.
Finding a group that needs a few more stones to be completely alive
doesn't help at all, because you have to do a full board search to
find out if those moves could actually be made.

A strategy that starts by anchoring the determination in
unconditionally alive groups starts with nothing.

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


[computer-go] [OT] All-integer scalable distribution algorithm.

2007-11-06 Thread Mike Hill

Folks...

First, let me say how much pleasure my reading of this list has given 
me.  I love that folks are out there cranking on this problem.  Truly, 
it's one of the great problems.


I have a rather strange request.  I am a statistical idiot, in both 
senses of 'statistical'.  After scrolling through a half-dozen stat 
tutorials online, I find myself completely unable to grasp how I'd get 
the effect I want even if I wanted to use floats, which I don't.  As you 
will soon be aware, I don't even have the language to figure out how to 
describe my problem.  Seeing as how there are so many MC algorithm 
workers on the list, I thought I'd turn to you for some guidance.


The essence of my idea is that I want a psuedo-random algorithm which 
takes as a parameter a 'degree-of-randomness' value.  Something along 
these lines:


int choose( int range, int degree-of-randomness)

Returns an integer in [0-range] distributed depending on the value of 
degree-of-randomness.  At degree-of-randomness 100, I want the 
distribution to be uniform.  At degree-of-randomness 0, I want the 
distribution to be  -- I don't even know what to call this -- 
half-of-a-normal-distribution  with the steepness proportionately 
related to degree-of-randomness.


Am I making *any* sense?  If so, you may need some sort of psychiatric 
help, or alternatively, you could do me the favor of explaining how to 
ask for what I want or even how to actually get it.  :)


Cheers, and thanks,
Hill


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


[computer-go] Re: randomness

2007-11-06 Thread Dave Dyer

Am I making *any* sense?  If so, you may need some sort of psychiatric help, 
or alternatively, you could do me the favor of explaining how to ask for what 
I want or even how to actually get it.  :)

Most computer applications use uniform randomness, but it sounds like
what you want is normally distributed randomness, with mean = 50
and variance to be specified.  Changing the variance changes the slope
of the curve and in effect, the degree to which is is bunched near the
mean.

Given that computer random numbers are uniform, you
need to transform them into normally distributed numbers.

Try this:  http://www.taygeta.com/random/gaussian.html

I didn't fully parse it, but it looks like a reasonable source.

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


Re: [computer-go] [OT] All-integer scalable distribution algorithm.

2007-11-06 Thread Jason House
It sounds like you're frustrated, so here's a few lines of C code
that'll do about what you describe.  Note that the use of large values
for the standard deviation will make the code go very slow from
repetitive looping.  The divide by 10 is to make it not be too slow with
a degree of randomness of 100.  randn returns a normally distributed
random number.



float standard_deviation = degree_of_randomness/10;
double r;
do{
  r = abs(randn(seed))*standard_deviation;
}while (r = (range+1))
return floor(r);



1. Get a random, normally distributed, variable
   (using your favorite API to do that)
2. If it's negative, make it positive
Use your favorite function for generating a normally distributed random
variable.  If it's negative, make it positive.

Multiply it by some 

On Tue, 2007-11-06 at 22:03 -0500, Mike Hill wrote:
 Folks...
 
 First, let me say how much pleasure my reading of this list has given 
 me.  I love that folks are out there cranking on this problem.  Truly, 
 it's one of the great problems.
 
 I have a rather strange request.  I am a statistical idiot, in both 
 senses of 'statistical'.  After scrolling through a half-dozen stat 
 tutorials online, I find myself completely unable to grasp how I'd get 
 the effect I want even if I wanted to use floats, which I don't.  As you 
 will soon be aware, I don't even have the language to figure out how to 
 describe my problem.  Seeing as how there are so many MC algorithm 
 workers on the list, I thought I'd turn to you for some guidance.
 
 The essence of my idea is that I want a psuedo-random algorithm which 
 takes as a parameter a 'degree-of-randomness' value.  Something along 
 these lines:
 
 int choose( int range, int degree-of-randomness)
 
 Returns an integer in [0-range] distributed depending on the value of 
 degree-of-randomness.  At degree-of-randomness 100, I want the 
 distribution to be uniform.  At degree-of-randomness 0, I want the 
 distribution to be  -- I don't even know what to call this -- 
 half-of-a-normal-distribution  with the steepness proportionately 
 related to degree-of-randomness.
 
 Am I making *any* sense?  If so, you may need some sort of psychiatric 
 help, or alternatively, you could do me the favor of explaining how to 
 ask for what I want or even how to actually get it.  :)
 
 Cheers, and thanks,
 Hill
 
 
 ___
 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] [OT] All-integer scalable distribution algorithm.

2007-11-06 Thread Thomas Nelson



On Tue, 6 Nov 2007, Mike Hill wrote:


int choose( int range, int degree-of-randomness)

Returns an integer in [0-range] distributed depending on the value of 
degree-of-randomness.  At degree-of-randomness 100, I want the distribution 
to be uniform.  At degree-of-randomness 0, I want the distribution to be  -- 
I don't even know what to call this -- half-of-a-normal-distribution  with 
the steepness proportionately related to degree-of-randomness.


This seems not so much the degree of randomness as the skew.  Because a 
normal distribution has an infinite continuous range, I don't think that's 
what you want.  You say half a normal; is something like a geometric 
distribution close enough?  You might check it out, at least it's 
discrete.


But when I have a problem like this, I tend to use what I think of as the 
weight, bisect algorithm.  See if this solves your problem.  Basically, 
skew can go from 0 to infinity, and the higher it is, the steeper the skew 
and the less likely you are to choose 0, the more likely you are to choose 
size-1.


[begin python code]
from bisect import bisect
from random import random

def draw(weights):
sigma = 0.0
ps = []
for p in weights:
sigma += p
ps.append(sigma)
return (ps,random()*sigma)

def choose(size, skew):
'''
skew=0 gives uniform distribution
skew=1 gives linear, skew = 2 quadratic, and so on.
'''
weights = [i**skew for i in range(size)]
return draw(weights)
[end python code]


HTH,
Tom

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


Re: [computer-go] [OT] All-integer scalable distribution algorithm.

2007-11-06 Thread Ray Tayek

At 07:03 PM 11/6/2007, you wrote:

...
Returns an integer in [0-range] distributed depending on the value 
of degree-of-randomness.  At degree-of-randomness 100, I want the 
distribution to be uniform.  At degree-of-randomness 0, I want the 
distribution to be  -- I don't even know what to call this -- 
half-of-a-normal-distribution  with the steepness proportionately 
related to degree-of-randomness.


maybe a normal (gaussian) with the standard deviation (sigma) 
proportional to the degree of randomness. but clip the tails. see the 
graphs of the normal density function: 
http://en.wikipedia.org/wiki/Normal_distribution. a larger variance 
will get you a flatter curve that will approach a uniform distribution.



---
vice-chair http://ocjug.org/


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