Re: [Computer-go] A few questions from a beginner

2014-03-20 Thread Aja Huang
The speed of your program would mostly depends on what features you want to
support and what data structures you decide to incrementally maintain in
the lowest level. Back in 2010, in Erica I got only about 5000-6000 pure
random playouts per second on 19x19 at one 2.26 GHz core. For me what
really important was the speed of the heavy playouts but of course the
light playouts shouldn't be too slow anyway.

To learn the tricks (such as using pseudo liberty) for making your program
fast, check out Lukasz Lew's libego.

Aja


2014-03-20 5:08 GMT+00:00 David Fotland fotl...@smart-games.com:

 On 9x9 you should be getting about 100k light playouts per second per core
 on a recent core i7.  I was getting almost that many in 2008, and libego
 was faster.



 David



 *From:* computer-go-boun...@dvandva.org [mailto:
 computer-go-boun...@dvandva.org] *On Behalf Of *Xavier Combelle
 *Sent:* Wednesday, March 19, 2014 11:44 AM
 *To:* computer-go@dvandva.org
 *Subject:* Re: [Computer-go] A few questions from a beginner



 As other engine:
 - There is Łukasz Lew. libego https://github.com/lukaszlew/libego (I
 belived it will give you what you want)

 - There is oakfoam http://oakfoam.com/

 - There is fuego http://fuego.sourceforge.net/



 On Wed, Mar 19, 2014 at 5:28 PM, Mikko Aarnos mikko.aar...@kolumbus.fi
 wrote:

 Thanks for the info all.

 Does a fast open-source program exist which uses only light playouts? If
 there would be one I could get some reliable info on the amount of playouts
 per second I _should_ be getting. The only open-source I've found is Pachi
 and that isn't suitable for that purpose.

 I considered the playout method before asking but I rejected it because I
 didn't think it was any good at figuring out life/death. Apparently this is
 not the case so seems like that's what I'm going to be doing.

 Regards,

 Mikko Aarnos
 ___
 Computer-go mailing list
 Computer-go@dvandva.org
 http://dvandva.org/cgi-bin/mailman/listinfo/computer-go



 ___
 Computer-go mailing list
 Computer-go@dvandva.org
 http://dvandva.org/cgi-bin/mailman/listinfo/computer-go

___
Computer-go mailing list
Computer-go@dvandva.org
http://dvandva.org/cgi-bin/mailman/listinfo/computer-go

Re: [Computer-go] A few questions from a beginner

2014-03-19 Thread Mikko Aarnos

Thanks for the info all.

Does a fast open-source program exist which uses only light playouts? If 
there would be one I could get some reliable info on the amount of 
playouts per second I _should_ be getting. The only open-source I've 
found is Pachi and that isn't suitable for that purpose.


I considered the playout method before asking but I rejected it because 
I didn't think it was any good at figuring out life/death. Apparently 
this is not the case so seems like that's what I'm going to be doing.


Regards,

Mikko Aarnos
___
Computer-go mailing list
Computer-go@dvandva.org
http://dvandva.org/cgi-bin/mailman/listinfo/computer-go


Re: [Computer-go] A few questions from a beginner

2014-03-19 Thread Peter Drake
Orego is open-source and reasonably fast. You can modify the heaviness of
playouts.

https://sites.google.com/a/lclark.edu/drake/research/orego


On Wed, Mar 19, 2014 at 9:28 AM, Mikko Aarnos mikko.aar...@kolumbus.fiwrote:

 Thanks for the info all.

 Does a fast open-source program exist which uses only light playouts? If
 there would be one I could get some reliable info on the amount of playouts
 per second I _should_ be getting. The only open-source I've found is Pachi
 and that isn't suitable for that purpose.

 I considered the playout method before asking but I rejected it because I
 didn't think it was any good at figuring out life/death. Apparently this is
 not the case so seems like that's what I'm going to be doing.

 Regards,

 Mikko Aarnos

 ___
 Computer-go mailing list
 Computer-go@dvandva.org
 http://dvandva.org/cgi-bin/mailman/listinfo/computer-go




-- 
Peter Drake
https://sites.google.com/a/lclark.edu/drake/
___
Computer-go mailing list
Computer-go@dvandva.org
http://dvandva.org/cgi-bin/mailman/listinfo/computer-go

Re: [Computer-go] A few questions from a beginner

2014-03-19 Thread Xavier Combelle
As other engine:
- There is Łukasz Lew. libego https://github.com/lukaszlew/libego (I
belived it will give you what you want)
- There is oakfoam http://oakfoam.com/
- There is fuego http://fuego.sourceforge.net/


On Wed, Mar 19, 2014 at 5:28 PM, Mikko Aarnos mikko.aar...@kolumbus.fiwrote:

 Thanks for the info all.

 Does a fast open-source program exist which uses only light playouts? If
 there would be one I could get some reliable info on the amount of playouts
 per second I _should_ be getting. The only open-source I've found is Pachi
 and that isn't suitable for that purpose.

 I considered the playout method before asking but I rejected it because I
 didn't think it was any good at figuring out life/death. Apparently this is
 not the case so seems like that's what I'm going to be doing.

 Regards,

 Mikko Aarnos
 ___
 Computer-go mailing list
 Computer-go@dvandva.org
 http://dvandva.org/cgi-bin/mailman/listinfo/computer-go

___
Computer-go mailing list
Computer-go@dvandva.org
http://dvandva.org/cgi-bin/mailman/listinfo/computer-go

Re: [Computer-go] A few questions from a beginner

2014-03-19 Thread David Fotland
On 9x9 you should be getting about 100k light playouts per second per core on a 
recent core i7.  I was getting almost that many in 2008, and libego was faster.

 

David

 

From: computer-go-boun...@dvandva.org [mailto:computer-go-boun...@dvandva.org] 
On Behalf Of Xavier Combelle
Sent: Wednesday, March 19, 2014 11:44 AM
To: computer-go@dvandva.org
Subject: Re: [Computer-go] A few questions from a beginner

 

As other engine:
- There is Łukasz Lew. libego https://github.com/lukaszlew/libego (I belived it 
will give you what you want)

- There is oakfoam http://oakfoam.com/

- There is fuego http://fuego.sourceforge.net/

 

On Wed, Mar 19, 2014 at 5:28 PM, Mikko Aarnos mikko.aar...@kolumbus.fi wrote:

Thanks for the info all.

Does a fast open-source program exist which uses only light playouts? If there 
would be one I could get some reliable info on the amount of playouts per 
second I _should_ be getting. The only open-source I've found is Pachi and that 
isn't suitable for that purpose.

I considered the playout method before asking but I rejected it because I 
didn't think it was any good at figuring out life/death. Apparently this is not 
the case so seems like that's what I'm going to be doing.

Regards,

Mikko Aarnos
___
Computer-go mailing list
Computer-go@dvandva.org
http://dvandva.org/cgi-bin/mailman/listinfo/computer-go

 

___
Computer-go mailing list
Computer-go@dvandva.org
http://dvandva.org/cgi-bin/mailman/listinfo/computer-go

Re: [Computer-go] A few questions from a beginner

2014-03-17 Thread Aja Huang
Hi Mikko,

Welcome to the list.

2014-03-16 18:35 GMT+00:00 Mikko Aarnos mikko.aar...@kolumbus.fi:

 1. On single-point eye detection: how is this generally done? I first used
 the definition that we have a single-point eye if a point has only our
 stones as neighbours and at most 1 diagonal neighbour is not our stone if
 in the middle of the board or that all diagonal neighbours are ours if on
 the edge of the board. This was however very slow, and when I replaced my
 definition with the definition found in Pachi(all neighbouring stones must
 be ours, at most 1 enemy stone is our diagonal neighbour if in the middle
 of the board and none if at the edge of the board) I get 4x the amount of
 playouts with longer games. Which one is the correct one, or is something
 else?


Pachi's definition looks correct to me. There are a few rare exceptions to
this definition but it should work well in general.

2. On playouts: How many light playouts per second on 9x9/19x19 on a single
 thread is considered fast nowadays?


The fastest programs got roughly 80k-100k pure random games per sec on 9x9,
and 5k-10k on 19x19, depending on the speed of the CPU.


 3. On GTP-protocol and final_score: How do you score a board where the
 game hasn't ended(i.e. there are moves left which are legal and don't kill
 off our groups)? Almost all scoring methods require that dead stones are
 removed, and I can't figure out how to do that easily. Or do you just
 assume everything on the board is alive?


Check out Tromp-Taylor Rules

http://senseis.xmp.net/?LogicalRules

Aja
___
Computer-go mailing list
Computer-go@dvandva.org
http://dvandva.org/cgi-bin/mailman/listinfo/computer-go

Re: [Computer-go] A few questions from a beginner

2014-03-17 Thread Peter Drake
Welcome to the abyss! :-)

On Sun, Mar 16, 2014 at 11:35 AM, Mikko Aarnos mikko.aar...@kolumbus.fiwrote:

3. On GTP-protocol and final_score: How do you score a board where the game
 hasn't ended(i.e. there are moves left which are legal and don't kill off
 our groups)? Almost all scoring methods require that dead stones are
 removed, and I can't figure out how to do that easily. Or do you just
 assume everything on the board is alive?


One reasonable approach, which Orego uses, is to do a bunch of extra Monte
Carlo playouts. If a group survives often enough, consider it alive.

-- 
Peter Drake
https://sites.google.com/a/lclark.edu/drake/
___
Computer-go mailing list
Computer-go@dvandva.org
http://dvandva.org/cgi-bin/mailman/listinfo/computer-go

Re: [Computer-go] A few questions from a beginner

2014-03-17 Thread Darren Cook
 Pachi's definition looks correct to me. There are a few rare exceptions to
 this definition but it should work well in general.

Agreed. The classic exception is:
  http://senseis.xmp.net/?TwoHeadedDragon
(I *think* that represents *all* the exceptions; everything else that is
regarded as alive without two proper eyes is consider seki.)

A heavy-looking attempt at generality:
  http://senseis.xmp.net/?FormalDefinitionsOfEye

Darren

P.S. Incidentally, you can write a go program with no concept of eyes:
playouts continue until no legal moves left. The light playout idea of
not filling your eyes is just an optimization. (Better is to replace
it with the concept of Avoid Stupid Sacrifice, as that will cover
snapbacks, under-the-stones and seki too... much harder though!)

___
Computer-go mailing list
Computer-go@dvandva.org
http://dvandva.org/cgi-bin/mailman/listinfo/computer-go


Re: [Computer-go] A few questions from a beginner

2014-03-17 Thread Jason House

 On Mar 16, 2014, at 2:35 PM, Mikko Aarnos mikko.aar...@kolumbus.fi wrote:
 
 3. On GTP-protocol and final_score: How do you score a board where the game 
 hasn't ended(i.e. there are moves left which are legal and don't kill off our 
 groups)? Almost all scoring methods require that dead stones are removed, and 
 I can't figure out how to do that easily. Or do you just assume everything on 
 the board is alive?

As a general rule, your bot should not pass a game it cannot score. The two 
typical methods are
1. Play until all opponent stones have been captured (and mark everything as 
alive)
2. Determine life/death status from playouts.

#1 is easier, but frustrates humans. If you plan to compete in KGS tournaments, 
check out http://www.weddslist.com/kgs/rules.html (game end protocol)
___
Computer-go mailing list
Computer-go@dvandva.org
http://dvandva.org/cgi-bin/mailman/listinfo/computer-go