Re: [Computer-go] What's a good playout speed?

2015-04-08 Thread folkert
   I suspected you'd say something like this. ;) It is definitely on my list 
   of things to steal a few things from Michi. But maybe I'll start with 
   simpler and/or well defined things like RAVE or the hand picked MoGo 3x3 
   patterns. That way it's easy to see if I really screwed something up. The 
   bot is still rather weak so adding some of those features should really 
   improve the strength.
  
  How many playouts (per move) does 'stop_0.9-2b??? do?
 
 0
 
 (none, zero, keine, geen)

(to clarify: it is _not_ doing a monte carlo search)


Folkert van Heusden

-- 
www.vanheusden.com/multitail - win een vlaai van multivlaai! zorg
ervoor dat multitail opgenomen wordt in Fedora Core, AIX, Solaris of
HP/UX en win een vlaai naar keuze
--
Phone: +31-6-41278122, PGP-key: 1F28D8AE, www.vanheusden.com
___
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go

Re: [Computer-go] What's a good playout speed?

2015-04-07 Thread Urban Hafner
On Sat, Mar 28, 2015 at 11:51 AM, Petr Baudis pa...@ucw.cz wrote:

 On Sat, Mar 28, 2015 at 11:45:48AM +0100, Urban Hafner wrote:
  Good to know Petr! Where does the strength come from? Sophisticated
 playouts or a search algorithm or both?

 Frankly, I don't know for sure!  The downside of Michi's slowness is
 that playtesting takes too many resources so configuration performance
 exploration is awkward.

 But my guess based on ad hoc tests during the development is that the
 contribution of basic playout heuristics and RAVE+priors may be about
 1:1 (with large pattern priors giving further extra boost).


Now that I have a bit of time again, what would be a good starting point to
improve upon UCT and light playouts? RAVE definitely comes to mind, as well
as enhancing the playouts with heuristics like the MoGo 3x3 patterns. Are
there are any good papers on adding priors to the search tree (and where
the underlying data is coming from)? I'm sure there must be, but I think I
just don't know how to search for it.

Urban
-- 
Blog: http://bettong.net/
Twitter: https://twitter.com/ujh
Homepage: http://www.urbanhafner.com/
___
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go

Re: [Computer-go] What's a good playout speed?

2015-04-07 Thread Hideki Kato

Urban Hafner: 
cahmxpnnkr-ixqou4stxi_dfojfhj7j_qccj_duit6uqw4o8...@mail.gmail.com:
On Sat, Mar 28, 2015 at 11:51 AM, Petr Baudis pa...@ucw.cz wrote:

 On Sat, Mar 28, 2015 at 11:45:48AM +0100, Urban Hafner wrote:
  Good to know Petr! Where does the strength come from? Sophisticated
 playouts or a search algorithm or both?

 Frankly, I don't know for sure!  The downside of Michi's slowness is
 that playtesting takes too many resources so configuration performance
 exploration is awkward.

 But my guess based on ad hoc tests during the development is that the
 contribution of basic playout heuristics and RAVE+priors may be about
 1:1 (with large pattern priors giving further extra boost).


Now that I have a bit of time again, what would be a good starting point to
improve upon UCT and light playouts? RAVE definitely comes to mind, as well
as enhancing the playouts with heuristics like the MoGo 3x3 patterns. Are
there are any good papers on adding priors to the search tree (and where
the underlying data is coming from)? I'm sure there must be, but I think I
just don't know how to search for it.

For prior values in the tree, almost(?) all strong programs use Remi's 
method these days.
http://remi.coulom.free.fr/Amsterdam2007/MMGoPatterns.pdf

Hideki
-- 
Hideki Kato mailto:hideki_ka...@ybb.ne.jp
___
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go

Re: [Computer-go] What's a good playout speed?

2015-04-07 Thread Urban Hafner
On Tue, Apr 7, 2015 at 12:56 PM, Petr Baudis pa...@ucw.cz wrote:

   Hi!

 On Tue, Apr 07, 2015 at 12:03:12PM +0200, Urban Hafner wrote:
  Now that I have a bit of time again, what would be a good starting point
 to
  improve upon UCT and light playouts? RAVE definitely comes to mind, as
 well
  as enhancing the playouts with heuristics like the MoGo 3x3 patterns.

   Well, my suggestions would be in the form of Michi (and its git
 history). ;-)


I suspected you'd say something like this. ;) It is definitely on my list
of things to steal a few things from Michi. But maybe I'll start with
simpler and/or well defined things like RAVE or the hand picked MoGo 3x3
patterns. That way it's easy to see if I really screwed something up. The
bot is still rather weak so adding some of those features should really
improve the strength.

Urban
-- 
Blog: http://bettong.net/
Twitter: https://twitter.com/ujh
Homepage: http://www.urbanhafner.com/
___
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go

Re: [Computer-go] What's a good playout speed?

2015-04-07 Thread Urban Hafner
On Tue, Apr 7, 2015 at 12:20 PM, Hideki Kato hideki_ka...@ybb.ne.jp wrote:

 For prior values in the tree, almost(?) all strong programs use Remi's
 method these days.
 http://remi.coulom.free.fr/Amsterdam2007/MMGoPatterns.pdf


Thank you! I will put that one on my reading list!

Urban
-- 
Blog: http://bettong.net/
Twitter: https://twitter.com/ujh
Homepage: http://www.urbanhafner.com/
___
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go

Re: [Computer-go] What's a good playout speed?

2015-04-07 Thread Petr Baudis
  Hi!

On Tue, Apr 07, 2015 at 12:03:12PM +0200, Urban Hafner wrote:
 Now that I have a bit of time again, what would be a good starting point to
 improve upon UCT and light playouts? RAVE definitely comes to mind, as well
 as enhancing the playouts with heuristics like the MoGo 3x3 patterns.

  Well, my suggestions would be in the form of Michi (and its git
history). ;-)

 there are any good papers on adding priors to the search tree (and where
 the underlying data is coming from)? I'm sure there must be, but I think I
 just don't know how to search for it.

  Basically, you can either do progressive widening / unpruning / bias.
The terminology is rather confusing.

  In case of progressive bias, you can either initialize the winrate
with N wins (positive bias) and M losses (negative bias) with N and M
determined by various heuristics (Fuego, Pachi, Michi use this),
or have

(1-alpha)*winrate + alpha*bias

with bias being a hypothetical winrate determined by the heuristics
and alpha: 1 - 0 as #simulations: 0 - infty (e.g. alpha=sqrt(c/n) or
some other random formula like that).

  I know about no good survey papers personally.


On Tue, Apr 07, 2015 at 07:20:37PM +0900, Hideki Kato wrote:
 For prior values in the tree, almost(?) all strong programs use Remi's 
 method these days.
 http://remi.coulom.free.fr/Amsterdam2007/MMGoPatterns.pdf

  Do you mean all the strong programs do progressive widening?


-- 
Petr Baudis
If you do not work on an important problem, it's unlikely
you'll do important work.  -- R. Hamming
http://www.cs.virginia.edu/~robins/YouAndYourResearch.html
___
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go

Re: [Computer-go] What's a good playout speed?

2015-04-07 Thread Hideki Kato
Petr Baudis: 20150407105648.gp6...@machine.or.cz:

On Tue, Apr 07, 2015 at 07:20:37PM +0900, Hideki Kato wrote:
For prior values in the tree, almost(?) all strong programs use Remi's
method these days.
http://remi.coulom.free.fr/Amsterdam2007/MMGoPatterns.pdf
Do you mean all the strong programs do progressive widening?

No.  I meant that strong programs use prior in various ways (just an 
initial value for a move, for example) but (almost) all use Remi's 
method to compute the prior.

Hideki
-- 
Hideki Kato mailto:hideki_ka...@ybb.ne.jp
___
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go

Re: [Computer-go] What's a good playout speed?

2015-04-07 Thread Christoph Birk

On Apr 7, 2015, at 4:34 AM, Urban Hafner cont...@urbanhafner.com wrote:
 I suspected you'd say something like this. ;) It is definitely on my list of 
 things to steal a few things from Michi. But maybe I'll start with simpler 
 and/or well defined things like RAVE or the hand picked MoGo 3x3 patterns. 
 That way it's easy to see if I really screwed something up. The bot is still 
 rather weak so adding some of those features should really improve the 
 strength.

How many playouts (per move) does 'stop_0.9-2b’ do?

Christoph



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

Re: [Computer-go] What's a good playout speed?

2015-04-07 Thread folkert
  I suspected you'd say something like this. ;) It is definitely on my list 
  of things to steal a few things from Michi. But maybe I'll start with 
  simpler and/or well defined things like RAVE or the hand picked MoGo 3x3 
  patterns. That way it's easy to see if I really screwed something up. The 
  bot is still rather weak so adding some of those features should really 
  improve the strength.
 
 How many playouts (per move) does 'stop_0.9-2b??? do?

0

(none, zero, keine, geen)


Folkert van Heusden
___
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go

Re: [Computer-go] What's a good playout speed?

2015-04-07 Thread Urban Hafner
On Tue, Apr 7, 2015 at 4:04 PM, Christoph Birk b...@obs.carnegiescience.edu
 wrote:


 On Apr 7, 2015, at 4:34 AM, Urban Hafner cont...@urbanhafner.com wrote:
  I suspected you'd say something like this. ;) It is definitely on my
 list of things to steal a few things from Michi. But maybe I'll start with
 simpler and/or well defined things like RAVE or the hand picked MoGo 3x3
 patterns. That way it's easy to see if I really screwed something up. The
 bot is still rather weak so adding some of those features should really
 improve the strength.

 How many playouts (per move) does 'stop_0.9-2b’ do?


I wouldn't know, Christoph. My (and Igor's) bot is called Iomrascálaí. :P
It's running as the various Imrscl-XYZ bots on CGOS due to the username
length restriction and the fact that the current CGOS can't handle Unicode
characters.

This bot however does around 4.5k pips on 9x9 and 1k apps on 19x19 running
on a 2,2 GHz Intel Core i7 (6 months only MacBook pro). The versions on
CGOS run using 8 threads and I get a speedup of about 4.5x.

Urban
-- 
Blog: http://bettong.net/
Twitter: https://twitter.com/ujh
Homepage: http://www.urbanhafner.com/
___
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go

Re: [Computer-go] What's a good playout speed?

2015-04-07 Thread Christoph Birk

On Apr 7, 2015, at 7:16 AM, Urban Hafner cont...@urbanhafner.com wrote:
 I wouldn't know, Christoph. My (and Igor's) bot is called Iomrascálaí. :P 
 It's running as the various Imrscl-XYZ bots on CGOS due to the username 
 length restriction and the fact that the current CGOS can't handle Unicode 
 characters.
 This bot however does around 4.5k pips on 9x9 and 1k apps on 19x19 running on 
 a 2,2 GHz Intel Core i7 (6 months only MacBook pro). The versions on CGOS run 
 using 8 threads and I get a speedup of about 4.5x.

thanks, I agree 1400 is about as far as simple UCT will get you.
My simple UCT implementation (myCtest-xxk-UCT) gets about
1200, but it does not do any adjustments to the number of playouts
per move depending on the time remaining, so I have to limit
it to 40k playouts per move.
Have you thought about using the partial tree of the previous move
as a bias?

Chrisoph


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

Re: [Computer-go] What's a good playout speed?

2015-04-07 Thread Igor Polyakov
It doesn't matter with simple UCT, but it's a huge difference when you 
have more targeted playouts because you can find a subtree you really 
like and spend 99%+ of your time exploiting that particular line (for 
example, not dying in one move). I see Fuego re-use most of its existing 
tree on a 9x9 almost every move.


On 2015-04-07 11:16, Urban Hafner wrote:
On Tue, Apr 7, 2015 at 4:44 PM, Christoph Birk 
b...@obs.carnegiescience.edu mailto:b...@obs.carnegiescience.edu 
wrote:


thanks, I agree 1400 is about as far as simple UCT will get you.
My simple UCT implementation (myCtest-xxk-UCT) gets about
1200, but it does not do any adjustments to the number of playouts
per move depending on the time remaining, so I have to limit
it to 40k playouts per move.
Have you thought about using the partial tree of the previous move
as a bias?


You mean keeping the subtree and not starting from scratch every time? 
That sounds interesting, but I don't think it would lead to a huge 
strength boost. But I guess I may give that a try. Pondering on the 
opponent's time would be the natural follow up for that of course.


Urban
--
Blog: http://bettong.net/
Twitter: https://twitter.com/ujh
Homepage: http://www.urbanhafner.com/


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


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

Re: [Computer-go] What's a good playout speed?

2015-04-07 Thread Urban Hafner
On Tue, Apr 7, 2015 at 4:44 PM, Christoph Birk b...@obs.carnegiescience.edu
 wrote:

thanks, I agree 1400 is about as far as simple UCT will get you.
 My simple UCT implementation (myCtest-xxk-UCT) gets about
 1200, but it does not do any adjustments to the number of playouts
 per move depending on the time remaining, so I have to limit
 it to 40k playouts per move.
 Have you thought about using the partial tree of the previous move
 as a bias?


You mean keeping the subtree and not starting from scratch every time? That
sounds interesting, but I don't think it would lead to a huge strength
boost. But I guess I may give that a try. Pondering on the opponent's time
would be the natural follow up for that of course.

Urban
-- 
Blog: http://bettong.net/
Twitter: https://twitter.com/ujh
Homepage: http://www.urbanhafner.com/
___
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go

Re: [Computer-go] What's a good playout speed?

2015-03-28 Thread uurtamo .
Can you put in the game description: really bad, only play if you're
patient and put in quicker time controls?

s.
On Mar 28, 2015 3:25 PM, hughperkins2 hughperki...@gmail.com wrote:

 You can name name a specific opponent, and then your bot will play against
 it.

 Automatch works, but tends to result in lots of people being forced to
 play your bot, and then leaving the game, after the bot took ages to play
 in some ridiculous location, which is kind of embarrassing :-P


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

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

Re: [Computer-go] What's a good playout speed?

2015-03-28 Thread hughperkins2
You can name name a specific opponent, and then your bot will play against it. 

Automatch works, but tends to result in lots of people being forced to play 
your bot, and then leaving the game, after the bot took ages to play in some 
ridiculous location, which is kind of embarrassing :-P

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

Re: [Computer-go] What's a good playout speed?

2015-03-28 Thread uurtamo .
I can offer you a factor of 2 speedup...

s.
On Mar 28, 2015 7:59 PM, hughperkins2 hughperki...@gmail.com wrote:

 By the way, for mcts you dont need time controls. Each move takes the same
 amount of time, since you just do n playouts, and choose n as you like.

 I think my playouts took 2s, which was enoufht for 4 playouts i
 suppose, but it was in novemebr, dont remember clearly... It was obvious
 that adding more playouts didnt increase the strength libearly, more like
 logarithmically, or, at best as the square root, and i dont want to program
 heursitics by hand, not going to get a papet out of that :-)

 The atari paper looks interesting. Kind of dabbling in that a bit... By
 the way, for mcts you dont need time controls. Each move takes the same
 amount of time, since you just do n playouts, and choose n as you like.

 I think my playouts took 2s, which was enoufht for 4 playouts i
 suppose, but it was in novemebr, dont remember clearly... It was obvious
 that adding more playouts didnt increase the strength libearly, more like
 logarithmically, or, at best as the square root, and i dont want to program
 heursitics by hand, not going to get a papet out of that :- out of that :-)

 The atari paper looks interesting. Kind of dabbling in that a bit...

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

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

Re: [Computer-go] What's a good playout speed?

2015-03-28 Thread hughperkins2
Automatch is automatch: the other person doesnt choose to play rhe bot. ___
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go

Re: [Computer-go] What's a good playout speed?

2015-03-28 Thread hughperkins2
By the way, for mcts you dont need time controls. Each move takes the same 
amount of time, since you just do n playouts, and choose n as you like. 

I think my playouts took 2s, which was enoufht for 4 playouts i suppose, 
but it was in novemebr, dont remember clearly... It was obvious that adding 
more playouts didnt increase the strength libearly, more like logarithmically, 
or, at best as the square root, and i dont want to program heursitics by hand, 
not going to get a papet out of that :-)

The atari paper looks interesting. Kind of dabbling in that a bit... By the 
way, for mcts you dont need time controls. Each move takes the same amount of 
time, since you just do n playouts, and choose n as you like. 

I think my playouts took 2s, which was enoufht for 4 playouts i suppose, 
but it was in novemebr, dont remember clearly... It was obvious that adding 
more playouts didnt increase the strength libearly, more like logarithmically, 
or, at best as the square root, and i dont want to program heursitics by hand, 
not going to get a papet out of that :- out of that :-)

The atari paper looks interesting. Kind of dabbling in that a bit... ___
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go

Re: [Computer-go] What's a good playout speed?

2015-03-28 Thread Urban Hafner

 But my guess based on ad hoc tests during the development is that the
 contribution of basic playout heuristics and RAVE+priors may be about
 1:1 (with large pattern priors giving further extra boost).

I'll have to start reading papers on those concepts then, I guess. :)

Thanks Petr!
___
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go

Re: [Computer-go] What's a good playout speed?

2015-03-28 Thread Urban Hafner
What does that translate to on CGOS 13x13? I have a hard time estimating how 
strong my bot is in real terms. How exactly do you measure the strength? 
Rated games on KGS?

Von meinem iPhone gesendet

 Am 28.03.2015 um 12:33 schrieb Hugh Perkins hughperk...@gmail.com:
 
 Still, it would be nice if the computer could learn the heuristics
 itself, by self-play.
 
 Which is why my bot is still stuck on 25k rating :-D  At least, that's
 my excuse :-P
 
 
 On Sat, Mar 28, 2015 at 7:18 PM, Urban Hafner cont...@urbanhafner.com 
 wrote:
 
 But my guess based on ad hoc tests during the development is that the
 contribution of basic playout heuristics and RAVE+priors may be about
 1:1 (with large pattern priors giving further extra boost).
 
 I'll have to start reading papers on those concepts then, I guess. :)
 
 Thanks Petr!
 ___
 Computer-go mailing list
 Computer-go@computer-go.org
 http://computer-go.org/mailman/listinfo/computer-go
 ___
 Computer-go mailing list
 Computer-go@computer-go.org
 http://computer-go.org/mailman/listinfo/computer-go
___
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go

Re: [Computer-go] What's a good playout speed?

2015-03-28 Thread Hugh Perkins
Well, what I did was connect my bot to kgs a few times, and watch as
it go repeatedly beaten by anything much better than 25k :-)

Normally, there's a few 'randombots' there to start with. Once you can
beat those (which is harder than it sounds, or it is if your program
has bugs, which mine did :-P ), then you can work your way up through
mildly harder ones.
___
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go

Re: [Computer-go] What's a good playout speed?

2015-03-28 Thread Hugh Perkins
Still, it would be nice if the computer could learn the heuristics
itself, by self-play.

Which is why my bot is still stuck on 25k rating :-D  At least, that's
my excuse :-P


On Sat, Mar 28, 2015 at 7:18 PM, Urban Hafner cont...@urbanhafner.com wrote:

 But my guess based on ad hoc tests during the development is that the
 contribution of basic playout heuristics and RAVE+priors may be about
 1:1 (with large pattern priors giving further extra boost).

 I'll have to start reading papers on those concepts then, I guess. :)

 Thanks Petr!
 ___
 Computer-go mailing list
 Computer-go@computer-go.org
 http://computer-go.org/mailman/listinfo/computer-go
___
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go

Re: [Computer-go] What's a good playout speed?

2015-03-28 Thread Urban Hafner
On Sat, Mar 28, 2015 at 2:34 PM, Hugh Perkins hughperk...@gmail.com wrote:

 Well, what I did was connect my bot to kgs a few times, and watch as
 it go repeatedly beaten by anything much better than 25k :-)

 Normally, there's a few 'randombots' there to start with. Once you can
 beat those (which is harder than it sounds, or it is if your program
 has bugs, which mine did :-P ), then you can work your way up through
 mildly harder ones.


Alright. Thank you! Do you have to manually pair your program with
another one or does the server pick an opponent automatically for you? I
haven't used KGS for a long, long time you know.

Urban
-- 
Blog: http://bettong.net/
Twitter: https://twitter.com/ujh
Homepage: http://www.urbanhafner.com/
___
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go

Re: [Computer-go] What's a good playout speed?

2015-03-28 Thread Urban Hafner
On Sat, Mar 28, 2015 at 6:14 PM, Urban Hafner cont...@urbanhafner.com
wrote:

 On Sat, Mar 28, 2015 at 2:34 PM, Hugh Perkins hughperk...@gmail.com
 wrote:

 Well, what I did was connect my bot to kgs a few times, and watch as
 it go repeatedly beaten by anything much better than 25k :-)

 Normally, there's a few 'randombots' there to start with. Once you can
 beat those (which is harder than it sounds, or it is if your program
 has bugs, which mine did :-P ), then you can work your way up through
 mildly harder ones.


 Alright. Thank you! Do you have to manually pair your program with
 another one or does the server pick an opponent automatically for you? I
 haven't used KGS for a long, long time you know.


So it seems that the server is supposed to automatically pair you with
others, right? Is this the correct way to set it up?

verbose=true
engine=iomrascalai-0.1.7 -r chinese -t 8 -e amaf -p no-eyes
name=Imrscl
password=VERYSECRET
room=Computer Go
mode=auto
automatch.rank=25k
undo=f

The bot connects just fine according to the server according to the log
output but then stops at FINER: No games to join. Starting automatch.. Do
I just have to wait or is there something else I can or should do? Also,
how do I make the bot appear at the top of the list in the computer go room
as being open to play?

Urban
-- 
Blog: http://bettong.net/
Twitter: https://twitter.com/ujh
Homepage: http://www.urbanhafner.com/
___
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go

Re: [Computer-go] What's a good playout speed?

2015-03-28 Thread Petr Baudis
On Sat, Mar 28, 2015 at 11:45:48AM +0100, Urban Hafner wrote:
 Good to know Petr! Where does the strength come from? Sophisticated 
 playouts or a search algorithm or both?

Frankly, I don't know for sure!  The downside of Michi's slowness is
that playtesting takes too many resources so configuration performance
exploration is awkward.

But my guess based on ad hoc tests during the development is that the
contribution of basic playout heuristics and RAVE+priors may be about
1:1 (with large pattern priors giving further extra boost).

Petr Baudis
___
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go

Re: [Computer-go] What's a good playout speed?

2015-03-28 Thread Petr Baudis
  hi!

On Sat, Mar 28, 2015 at 11:30:37AM +0100, folkert wrote:
   Because I read here that people can do 25k playouts per second while my
   program can only do ~ 20 per second when doing full validity checks on
   all steps.
  Do you have a reference, some context for the 25K playouts?
 
 Look for the topic What's a good playout speed? in the mailinglist
 archives.
 
 http://computer-go.org/pipermail/computer-go/

On Wed, Jan 14, 2015 at 09:14:24AM +0100, Urban Hafner wrote:
..snip..
 Right now I'm at ~2000pps on
 9x9 and ~1000pps on 19x19. This is for playouts with simple ko and suicide
 checks and no concurrency. Now I wonder if this is fast enough to even
 start thinking about implementing a UCT/MCTS player

  Michi does 30 playouts/s (sic! single thread) on 9x9 on my oldish i3
notebook, and can be much stronger than GNUGo on that board size.

  I think people worry about playout speed too much. ;-)

Petr Baudis
___
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go

Re: [Computer-go] What's a good playout speed?

2015-03-28 Thread Urban Hafner
Good to know Petr! Where does the strength come from? Sophisticated playouts 
or a search algorithm or both?

Von meinem iPhone gesendet

 Am 28.03.2015 um 11:38 schrieb Petr Baudis pa...@ucw.cz:
 
  hi!
 
 On Sat, Mar 28, 2015 at 11:30:37AM +0100, folkert wrote:
 Because I read here that people can do 25k playouts per second while my
 program can only do ~ 20 per second when doing full validity checks on
 all steps.
 Do you have a reference, some context for the 25K playouts?
 
 Look for the topic What's a good playout speed? in the mailinglist
 archives.
 
 http://computer-go.org/pipermail/computer-go/
 
 On Wed, Jan 14, 2015 at 09:14:24AM +0100, Urban Hafner wrote:
 ..snip..
 Right now I'm at ~2000pps on
 9x9 and ~1000pps on 19x19. This is for playouts with simple ko and suicide
 checks and no concurrency. Now I wonder if this is fast enough to even
 start thinking about implementing a UCT/MCTS player
 
  Michi does 30 playouts/s (sic! single thread) on 9x9 on my oldish i3
 notebook, and can be much stronger than GNUGo on that board size.
 
  I think people worry about playout speed too much. ;-)
 
Petr Baudis
 ___
 Computer-go mailing list
 Computer-go@computer-go.org
 http://computer-go.org/mailman/listinfo/computer-go
___
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go

Re: [Computer-go] What's a good playout speed?

2015-01-14 Thread valkyria

Hi all,

I am working on a successor to Valkyria written in C++.

I agree with Petr here. I am still tweaking the basic engine and I have 
still lot to fix. With a sloppy implementation initially I have 20 kpps 
for 9x9 and 4.5 kpps for 19x19.
When the basic stuff is running I will build feature detection directly 
into the engine first based on my experiences from Valkyria. It will not 
be fast when

board features are calculated but a lot of features necessary for heavy
playouts will come for almost free.

Magnus Persson

On 2015-01-14 13:32, Petr Baudis wrote:

On Wed, Jan 14, 2015 at 01:26:44PM +0100, Urban Hafner wrote:



If I did it again, after picking some really low-hanging optimization
fruit I'd rther focus on implementing playout heuristics, only then
coming back to optimize the board code when it is clear what all
information I need to compute the heuristics efficiently (list of up to
N libs, maybe pre-computed pattern hashes, etc.).

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

Re: [Computer-go] What's a good playout speed?

2015-01-14 Thread Jason House
Housebot was probably on the low end with 10kpps on 9x9. Libego was
probably the highest with 100kpps. I attribute some of the difference to
compiler maturity (D vs. C++). I don't know how rust will perform.
On Jan 14, 2015 3:14 AM, Urban Hafner cont...@urbanhafner.com wrote:

 Hey everyone,

 I'm currently in the early stages of writing my own Go engine and right
 now I'm trying to make my playouts reasonably fast. I've come a long way in
 the past few days. Probably not because the payouts are really fast right
 now, but because they were just so slow before. :) Right now I'm at
 ~2000pps on 9x9 and ~1000pps on 19x19. This is for playouts with simple ko
 and suicide checks and no concurrency. Now I wonder if this is fast enough
 to even start thinking about implementing a UCT/MCTS player and also if
 there's something I'm missing with the playouts, e.g. is the suicide check
 necessary?

 Thanks for your input!

 Urban

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

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

Re: [Computer-go] What's a good playout speed?

2015-01-14 Thread Petr Baudis
On Wed, Jan 14, 2015 at 01:26:44PM +0100, Urban Hafner wrote:
 Hey Jason,
 
 thanks. Rust is probably not very well optimised, yet. It hasn't even
 reached 1.0 and there are still many language changes happening. But I
 attribute the slowness to the fact that I'm not used to writing code in
 compiled languages (I'm a web developer). :P But learning how to write
 performant code is half the fun and I guess I still have a bit of work to
 do here.

Note that the mistake I did with Pachi is that I worked hard to optimize
the Go board (playout) code with minimal functionality to perform
a playout correct by the rules, only then discovering how much other
information I need to keep to add some useful heuristics to the playout,
and maybe the hotspots change then.

If I did it again, after picking some really low-hanging optimization
fruit I'd rther focus on implementing playout heuristics, only then
coming back to optimize the board code when it is clear what all
information I need to compute the heuristics efficiently (list of up to
N libs, maybe pre-computed pattern hashes, etc.).

-- 
Petr Baudis
If you do not work on an important problem, it's unlikely
you'll do important work.  -- R. Hamming
http://www.cs.virginia.edu/~robins/YouAndYourResearch.html
___
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go

Re: [Computer-go] What's a good playout speed?

2015-01-14 Thread Urban Hafner
On Wed, Jan 14, 2015 at 1:32 PM, Petr Baudis pa...@ucw.cz wrote:


 Note that the mistake I did with Pachi is that I worked hard to optimize
 the Go board (playout) code with minimal functionality to perform
 a playout correct by the rules, only then discovering how much other
 information I need to keep to add some useful heuristics to the playout,
 and maybe the hotspots change then.

 If I did it again, after picking some really low-hanging optimization
 fruit I'd rther focus on implementing playout heuristics, only then
 coming back to optimize the board code when it is clear what all
 information I need to compute the heuristics efficiently (list of up to
 N libs, maybe pre-computed pattern hashes, etc.).


That's a good point Petr! But as I started with 50pps on 9x9 (yes, really)
I actually needed to do some optimisations as this made the bot completely
unusable. There are still a few low hanging fruit (or learning
opportunities for me), but it's probably time to finally start implementing
UCT.

BTW, the board.c from pachi is very readable and it (together with
Board.java from the current Orego) serves me well as an inspiration on how
to design the board.

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