Re: [computer-go] Elo and handicap matching

2007-12-06 Thread Lavergne Thomas
If some bot can be setup to play on kgs for enough time to get a solid
rank and then put on cgos to get an elo rating with the same
configuration we could find a formula to convert elo to kgs ranks.
For sure, this is not perfect but I think is good enought.

Tom

On Tue, Dec 04, 2007 at 05:30:15PM -0500, Don Dailey wrote:
 The only issue is that I don't know if GnuGo is representative of 19x19
 to 9x9 go strength.   I am interested in knowing how a human 19x19
 scales down to 9x9 play.  It's well known that programs scale up poorly.
 
 However, this data should still be quite useful.
 
 - Don
 

-- 
Thomas LavergneEntia non sunt multiplicanda praeter
 necessitatem. (Guillaume d'Ockham)
[EMAIL PROTECTED]http://oniros.org
___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/


Re: [computer-go] Elo and handicap matching

2007-12-06 Thread Lavergne Thomas
I suggest to make the bots play on kgs but on 9x9 versus human, so we
could known approximatively the level of theses bots against human.
We can also know the relative strenght of these bots against other bots
on cgos in the same conditions (i.e. board size, timing, rules...) so we
could estimate the level of all the bots against human.
I don't want to mix 19x19 and 9x9.

This is far from perfect because human ranks was not fixed on 9x9 but on
19x19, but I think for humans ranks on both size are corelated. As
preivously said by me and others humans ranks on 9x9 are not fully
corelated on 9x9 and 19x19, I known some people whom I can give 4 or 5
stones on 19x19 but beat me on 9x9 on even games because they practised
a lot more than me at this size, but on kgs theses ranks are roughly
corelated.

Tom

On Thu, Dec 06, 2007 at 02:05:39PM -0500, Don Dailey wrote:
 
 
 Lavergne Thomas wrote:
  If some bot can be setup to play on kgs for enough time to get a solid
  rank and then put on cgos to get an elo rating with the same
  configuration we could find a formula to convert elo to kgs ranks.
  For sure, this is not perfect but I think is good enought.

 Here are the issues.   You want to know how good a 19x19 HUMAN 1 dan
 player would do on CGOS  playing 9x9.This is because there is no
 real ranking system for 9x9 and yet you would like to be able to say
 that program xyz plays 2 dan strength,  even though the ranking system
 wasn't really designed for 9x9 Go.   We just need a point of
 reference so that we can say in general terms that a program like Mogo
 on CGOS is playing 2 dan strength (or whatever it really is.)  
 
 But most of us feel that you cannot do this with GO programs - you need
 humans.   For instance you could take GnuGo,  get a 19x19 rating and
 then play on 9x9 CGOS and use it as a reference point.However GnuGo
 was not designed to play 9x9 go.   My own program Lazarus is terrible at
 19x19 but pretty good at 9x9.   It could probably give a low kyu player
 a really good game on 9x9 but it would be easily beat at 19x19 - so it's
 not a good way to standardize.I believe GnuGo is more balanced in
 this way - but it's probably a bad idea in general to figure it this way.
 
 Your idea is fine for 19x19 CGOS.  
 
 - Don
 
 
 
  Tom
 
  On Tue, Dec 04, 2007 at 05:30:15PM -0500, Don Dailey wrote:

  The only issue is that I don't know if GnuGo is representative of 19x19
  to 9x9 go strength.   I am interested in knowing how a human 19x19
  scales down to 9x9 play.  It's well known that programs scale up 
  poorly.
 
  However, this data should still be quite useful.
 
  - Don
 
  
 

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

-- 
Thomas LavergneEntia non sunt multiplicanda praeter
 necessitatem. (Guillaume d'Ockham)
[EMAIL PROTECTED]http://oniros.org
___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/


Re: [computer-go] Speed of generating random playouts

2007-11-16 Thread Lavergne Thomas
It come from me ;-)

This was a sequel of the first brute force I have used. I must start it
with a number, and it search from this one the first number bigger that
doesn't violate the violate the tests, add it to the list and repeat
this until it have enough numbers. This implementation was very slow and
starting with a higher number than 1 improve a bit performance.

The next version used a bitfield to track all numbers that will violate
the law according to the previously generated numbers and just scan it
to find the next, add it to the set and update the bitfield.

But this type of brute force search will not found (and doesn't have)
the optimal sequence, because it never go back.

Tom

On Thu, Nov 15, 2007 at 03:44:56PM -0500, Chris Fant wrote:
 On Nov 15, 2007 3:20 PM, Eric Boesch [EMAIL PROTECTED] wrote:
  On 11/14/07, Chris Fant [EMAIL PROTECTED] wrote:
   Based on more recent emails, this may not be useful anymore, but I
   have a list of 361 32-bit numbers that satisfy these properties in
   case anyone is interested.
 
  I'd be interested in your implementation tricks. Where did the number
  17 come from?
 
 17 didn't come from me.  Here's how I made my list:
 
 Start with 500 random numbers.
 Throw out the ones that violate the tests.
 Hope that you are left with enough (361).
 
 This actually worked all the way down to 15-bit numbers.
 ___
 computer-go mailing list
 computer-go@computer-go.org
 http://www.computer-go.org/mailman/listinfo/computer-go/

-- 
Thomas Lavergne   Le vrai rêveur est celui qui rêve
   de l'impossible.  (Elsa Triolet)
[EMAIL PROTECTED]   http://reveurs.org
___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/


Re: [computer-go] Speed of generating random playouts

2007-11-14 Thread Lavergne Thomas
On Tue, Nov 13, 2007 at 04:11:24PM -0500, Imran Hendley wrote:
 I definitely understand the idea now, and it looks very good. However
 this implementation could break:
 
 Say we have pseudoliberties at intersections: 99,100,101. We sum those
 up to get 300, divide by the number of pseudoliberties - 3, get back
 100, check to see if 100 is a  liberty, and since it is we conclude
 that we have one liberty at intersection 100 that we counted three
 times, and hence our string is in atari.

So we cant use numbers 1..81

Let elaborate a little more on this. We want one number for each cells :
  nums = {n1, n2, n3, ..., n81}

And we want the following properties :

  for any a, b in nums :
  (a + b) / 2 is in nums -- a == b
  for any a, b, c in nums :
  (a + b + c) / 3 is in nums -- a == b == c
  for any a, b, c, d in nums :
  (a + b + c + d) / 4 is in nums -- a == b == c == d

If we have this we are sure to don't have problems like you pointed.
Using brute force search, I've produced the following sequence of
numbers :

[17, 18, 21, 30, 49, 86, 134, 274, 590, 1061, 1348, 2301, 3005, 4805,
7609, 11157, 17802, 19393, 29046, 31538, 41442, 49154, 74823, 97358,
134625, 148826, 217801, 234930, 294657, 402550, 452686, 610274,
726514, 885190, 1040877, 1070361, 1337862, 1611001, 1829345, 1962193,
2308061, 3007701, 3133837, 4007989, 4727218, 4883797, 5546029, 7454733,
8548661, 9547305, 11552366, 13177582, 13697142, 14689461, 15538838,
15733662, 21054617, 22691377, 24433197, 27274934, 31994414, 35217106,
37507258, 41114134, 45045090, 47089386, 57357330, 62400606, 68297193,
75036946, 83039110, 96477718, 110160994, 119390498, 122575210,
148912497, 156351446, 168096257, 176942297, 194310098, 211199842]

This sequence is not the best you can found, but it was quick to
generate...

But now we have another problem... We have the sum of the number of the
pseudo libertyes of a chain, and we can compute (sum / nb_plibs) but
next we have to check if the resulting number is in the list.

In some cases the number (sum / nb_plibs) will not be an integer so it
is trivialy not in nums, but for all the other cases this will require
log(81) operation using a binnary search.

Actually, when I need to check for atari on a group with 2,3,4 pseudo
liberties, I search a liberty of this group and check how mch plibs it
add to this group. I don't known if this will improve the speed but it
add a lot of complexity and atari-checking doesn't represent so much of
the calculations done by my engine to be valuable.

And the second problems is that this solution doesn't scale well. On
19x19 you need 361 numbers in your list, so even if you find a list like
this, I doubt that you can sum up the value of all the pseudo liberties
of a big group without overflowing an unsigned and you have to switch
to bigger int like int 64.


So I think John was suggesting something different in his first mail,
but I still search what it can be...
Does anyone have an idea ?

Tom

PS: I'm very sorry for my poor english

-- 
Thomas Lavergne   Le vrai rêveur est celui qui rêve
   de l'impossible.  (Elsa Triolet)
[EMAIL PROTECTED]   http://reveurs.org
___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/


Re: [computer-go] 19x19 CGOS

2007-10-13 Thread Lavergne Thomas
If needed I can also offer an account on a server with space, webserver
and an account for you to manage the CGOS server, but I don't have the
time to manage it myself.

Contact me if needed.

Tom

On Sat, Oct 13, 2007 at 02:31:54PM -0400, Don Dailey wrote:
 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1
 
 I don't think this requires a great deal of bandwidth.   Right now cgos
 9x9 is getting by with 1 GIG of disk space and it's not enough - so even
 2-5 Gig would be adequate.I have run the server from my home cable
 modem connection and no problem whatsoever.
 
 It doesn't matter where the web server is as long as the CGOS server can
 write the data directly to a disk somewhere.   I suppose it could even
 write via a networked file system - perhaps something like FUSE mounted
 via ssh (ssh filesystem)
 
 However, I might have a solution now.   I'm talking right now to David
 Doshay about using one his university machines for this.
 
 Can I get back to you on this in case it doesn't work out?
 
 - - Don
-- 
Thomas Lavergne   Le vrai rêveur est celui qui rêve
   de l'impossible.  (Elsa Triolet)
[EMAIL PROTECTED]   http://reveurs.org
___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/