Re: [computer-go] Mogo Opening, Building Strategy ?

2008-11-30 Thread Olivier Teytaud

 Is there any theoretical reasons for the Mogo Opening being built out of
 self play, rather than by spending time increasing the number of
 simulations
 at the root, and after a time, keeping what seems to be the best ?



There are practical reasons: our approach can be used with humans or other
programs as opponent as well;
we can benefit from games launched for other purposes than opening-building;
and we can easily parallelize
the algorithm on grids.

No other reason, at least for me - but these reasons are enough I guess. The
alternate approach is nice,
but is difficult to use for tenths of years of CPU - whereas using
preemptable mode in grids, we can have access
to a huge computational power.

From a more technical point of view, I think that the idea of using results
of games of strong versions of mogo
is better for avoiding biases in the MC. But it's only a conjecture.
Olivier
___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/

RE: [computer-go] Mogo Opening, Building Strategy ?

2008-11-30 Thread Denis fidaali

Thanks a lot for your quick answer.

By conjecture, i suppose you mean that
no experiments yet has been ran as
to assess this hypothesis ? 

I think Sylvain (and maybe just everyone else) has tried
at some point to use a UCT decision bot, as a way to
get the simulation done. Then using those high level
simulations in an other UCT decision tree (or AMAF,
or FirstMove wining stats)
From what i recall, the results were disappointing.
Also don dailey tried to build an AMAF over a bot
that would use AMAF as a decision with very little
expectation that this would lead to anything worthy.
I don't know how hard Sylvain tried at his time. 

Yet you have this feeling that using High level mogo
games as a way to get a simulation done could lead
to interesting results. I also have this feeling.
For example, it is well known that Mogo-style decision
(or crazy stone) lead to very poor understanding of seki
(and/or semeai ?) Would'nt the use of high level game
as simulation get to better understanding of those
really nasty situations ?

 Then, i guess that if nobody has ever run
any experiments, as to get measure of
the efficiency of increasing the UCT tree
against using high-level-simulation, there must be a reason ...
Is it that that it is known it would consume to much time and resources ?
Is it that knowing the results of this measure would prove of little value ?

If there is a point where high-level-simulations really give a stronger 
evaluation
function, wouldn't it be good to know about it ? 

Date: Sun, 30 Nov 2008 10:10:14 +0100
From: [EMAIL PROTECTED]
To: computer-go@computer-go.org
Subject: Re: [computer-go] Mogo Opening, Building Strategy ?



Is there any theoretical reasons for the Mogo Opening being built out of

self play, rather than by spending time increasing the number of simulations
at the root, and after a time, keeping what seems to be the best ?





There are practical reasons: our approach can be used with humans or other 
programs as opponent as well;

we can benefit from games launched for other purposes than opening-building; 
and we can easily parallelize

the algorithm on grids.



No other reason, at least for me - but these reasons are enough I guess. The 
alternate approach is nice,

but is difficult to use for tenths of years of CPU - whereas using preemptable 
mode in grids, we can have access

to a huge computational power.



From a more technical point of view, I think that the idea of using results of 
games of strong versions of mogo

is better for avoiding biases in the MC. But it's only a conjecture.

Olivier

 


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

Re: [computer-go] Mogo Opening, Building Strategy ?

2008-11-30 Thread Olivier Teytaud


 By conjecture, i suppose you mean that
 no experiments yet has been ran as
 to assess this hypothesis ?


Yes. The other reasons were sufficient :-)


I think Sylvain (and maybe just everyone else) has tried
 at some point to use a UCT decision bot, as a way to
 get the simulation done. Then using those high level
 simulations in an other UCT decision tree (or AMAF,
 or FirstMove wining stats)
 From what i recall, the results were disappointing.


At least, it has been clearly established that
replacing the random player by a stronger player
does not imply
the Monte-Carlo program built on top of the random player becomes stronger
(even with fixed number of simulations)

But, it is also clearly established that the building of the opening book by
self-play
clearly works, whereas it is roughly the same idea. I guess the reason is
the
difference of strength of the player - a MCTS (Monte-Carlo Tree Search - I
don't
write UCT here as it is not UCT in mogo) built on top of a perfect player
should
be a perfect player (this is formally obvious). So perhaps for huge
computational
power, this approach (building MCTS on top of MCTS) is consistent.



 For example, it is well known that Mogo-style decision
 (or crazy stone) lead to very poor understanding of seki
 (and/or semeai ?) Would'nt the use of high level game
 as simulation get to better understanding of those
 really nasty situations ?


I hope so, at least for 9x9 and with really huge computational power.
(by the way I'm afraid we have to patch semeai manually)





 Is it that that it is known it would consume to much time and resources ?


I think it is really difficult to do that - you have to dump your results
unless you have
a machine for a huge time without any reboot, also if you want to have a
huge computational
effort you have to parallelize it - I think this is really hard.

But perhaps trying mogo against mogo built on top of a mogo
with e.g. 1s/move would be fine... this is easy to organize. Well, it
requires
some time, and time is always expensive :-)

Best regards,
Olivier
___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/

Re: [computer-go] Mogo Opening, Building Strategy ?

2008-11-30 Thread Don Dailey
On Sun, 2008-11-30 at 13:38 +0100, Olivier Teytaud wrote:
 But, it is also clearly established that the building of the opening
 book by self-play
 clearly works, whereas it is roughly the same idea. I guess the reason
 is the 
 difference of strength of the player - a MCTS (Monte-Carlo Tree Search
 - I don't 
 write UCT here as it is not UCT in mogo) built on top of a perfect
 player should
 be a perfect player (this is formally obvious). So perhaps for huge
 computational
 power, this approach (building MCTS on top of MCTS) is consistent. 

I've always had this idea that the best way to build an opening book is
the best way to build a general playing engine.   You are trying to
solve the same exact problem - what is the best move in this position?

- Don



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

Re: [computer-go] Mogo Opening, Building Strategy ?

2008-11-30 Thread terry mcintyre
 From: Don Dailey [EMAIL PROTECTED]
 
 I've always had this idea that the best way to build an opening book is
 the best way to build a general playing engine.   You are trying to
 solve the same exact problem - what is the best move in this position?

When building an opening book, you have the advantage of not playing against 
the clock. In fact, a good opening book ( one which your game-playing engine 
knows how to use ) can shave time during the game itself.

Knows how to use can be subtle; many joseki depend on knowing the exact line 
of play, the move choices depend on knowing the exact ( not approximate ) 
results of ladders and semeai. Against better players, approximate answers tend 
toward disaster. A book move might work sometimes, not others, and the program 
won't know the difference. 

I think the opening book and general playing engine solve similar problems: 
what is the best move which can be discovered with finite resources? The 
opening problem must solve an additional side constraint: it must suggest moves 
which can be correctly exploited by the playing engine, which may have less 
time and computational power available. A sufficiently broad and deep book can 
make up for lack of computational resources during the game; such a book needs 
to know the best refutations for each of many possible plays. Joseki and fuseki 
books for humans are full of annotations: move a
is used when the ladder works; otherwise, b is recommended; c is a
mistake, which can be exploited by ... A book for computer programs
might need similar annotations.

Some programs may need different books, depending on whether they have a fast 
or slow clock, one or many processors.


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


Re: [computer-go] Mogo Opening, Building Strategy ?

2008-11-30 Thread Don Dailey
It's true that building an opening book in an automated way can be done
off-line which gives us more resources.   That's really the basis for
this thought that we are trying to solve the same problem.  

As a thought experiment,  imagine some day in the future,  when
computers are 1 thousand times faster.  What would you do with that
extra time to make your program more scalable?You might be able to
use your book building algorithm,  whatever it might be,  to find moves
for you.  If there is a better way, then you would use it instead.  But
if there is a better way why are you not using it for creating book
moves?  

Of course the details of how to do it may not be exactly the same -
because we may be forced to simulate in memory hash tables with disk
space for instance, or to deal with other real-world constraints.
However I think that at least in principle, we should be doing the same
thing.   

MCTS really feels to me like a superb book building algorithm.
Computer Chess books (at least the automated part) are built essentially
by taking millions of games from master play and picking out the ones
that seem to work best.   Those games are like playouts.   The moves
that score the best are played the most.   We have a kind of MCTS here.

- Don



On Sun, 2008-11-30 at 09:15 -0800, terry mcintyre wrote:
  From: Don Dailey [EMAIL PROTECTED]
  
  I've always had this idea that the best way to build an opening book is
  the best way to build a general playing engine.   You are trying to
  solve the same exact problem - what is the best move in this position?
 
 When building an opening book, you have the advantage of not playing against 
 the clock. In fact, a good opening book ( one which your game-playing engine 
 knows how to use ) can shave time during the game itself.
 
 Knows how to use can be subtle; many joseki depend on knowing the exact 
 line of play, the move choices depend on knowing the exact ( not approximate 
 ) results of ladders and semeai. Against better players, approximate answers 
 tend toward disaster. A book move might work sometimes, not others, and the 
 program won't know the difference. 
 
 I think the opening book and general playing engine solve similar 
 problems: what is the best move which can be discovered with finite 
 resources? The opening problem must solve an additional side constraint: it 
 must suggest moves which can be correctly exploited by the playing engine, 
 which may have less time and computational power available. A sufficiently 
 broad and deep book can make up for lack of computational resources during 
 the game; such a book needs to know the best refutations for each of many 
 possible plays. Joseki and fuseki books for humans are full of annotations: 
 move a
 is used when the ladder works; otherwise, b is recommended; c is a
 mistake, which can be exploited by ... A book for computer programs
 might need similar annotations.
 
 Some programs may need different books, depending on whether they have a fast 
 or slow clock, one or many processors.
 
 
   
 ___
 computer-go mailing list
 computer-go@computer-go.org
 http://www.computer-go.org/mailman/listinfo/computer-go/


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

Re: [computer-go] Mogo Opening, Building Strategy ?

2008-11-30 Thread terry mcintyre


- Original Message 
 From: Don Dailey [EMAIL PROTECTED]
 
 MCTS really feels to me like a superb book building algorithm.
 Computer Chess books (at least the automated part) are built essentially
 by taking millions of games from master play and picking out the ones
 that seem to work best.   Those games are like playouts.   The moves
 that score the best are played the most.   We have a kind of MCTS here.


Interesting, the book moves are not generated by random playouts, but by 
professional ( or highly skilled ) players. 

In the Chess world, what is meant by picking out the ones that seem to work 
best?

My impression is that computer go programs do not, at this stage in their 
evolution, make good use of professional book moves; too much professional 
knowledge is actually in the part of the tree which is almost never played in 
pro-pro games - the how to beat up on mistakes and what not to do when 
playing against a pro parts of the tree. 


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


Re: [computer-go] Mogo Opening, Building Strategy ?

2008-11-30 Thread Don Dailey
On Sun, 2008-11-30 at 14:33 -0800, terry mcintyre wrote:
 
 - Original Message 
  From: Don Dailey [EMAIL PROTECTED]
  
  MCTS really feels to me like a superb book building algorithm.
  Computer Chess books (at least the automated part) are built essentially
  by taking millions of games from master play and picking out the ones
  that seem to work best.   Those games are like playouts.   The moves
  that score the best are played the most.   We have a kind of MCTS here.
 
 
 Interesting, the book moves are not generated by random playouts, but by 
 professional ( or highly skilled ) players. 

Many chess opening books are created by a statistical analysis of lots
of human games.   Some books are created by hand.  Very tediously.
Even the ones created with the aid of human games are sometimes modified
by hand, at least the top notch books.

But in the context of this discussion we note that books can and are
created solely from databases of top quality games.   You can get a
reasonable book that way.   


 In the Chess world, what is meant by picking out the ones that seem to work 
 best?

What I mean is that you look at the statistics of the moves and base
your opening book on the moves that gave the best results.  You can also
go by the moves that are played the most - with the assumption that if
they are played a lot they must be good.   It is typical to do a
combination of both - if it's played a lot and also scores good, use it.

I think some have tried mini-max too.   It's possible that a move seems
to has great success in general, but not if it's responded to in a
certain way.   It could be that in recent months or years a refutation
has been found, and that a move that used to work really well has been
found to be bad.   


 
 My impression is that computer go programs do not, at this stage in their 
 evolution, make good use of professional book moves; too much professional 
 knowledge is actually in the part of the tree which is almost never played in 
 pro-pro games - the how to beat up on mistakes and what not to do when 
 playing against a pro parts of the tree. 

Even in chess, despite the awesome strength of the programs,  human
knowledge of the openings still reigns supreme, although it's now the
case that computers are helping to build opening theory by finding new
moves - in chess these are called theoretical novelties and computers
have produced many of them from what I understand.

- Don


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


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

Re: [computer-go] Mogo Opening, Building Strategy ?

2008-11-30 Thread Michael Williams

You can read about some such novelties found using Rybka here:  
http://www.rybkachess.com/index.php?auswahl=Rybka+3+book


Don Dailey wrote:

On Sun, 2008-11-30 at 14:33 -0800, terry mcintyre wrote:

- Original Message 

From: Don Dailey [EMAIL PROTECTED]

MCTS really feels to me like a superb book building algorithm.
Computer Chess books (at least the automated part) are built essentially
by taking millions of games from master play and picking out the ones
that seem to work best.   Those games are like playouts.   The moves
that score the best are played the most.   We have a kind of MCTS here.


Interesting, the book moves are not generated by random playouts, but by professional ( or highly skilled ) players. 


Many chess opening books are created by a statistical analysis of lots
of human games.   Some books are created by hand.  Very tediously.
Even the ones created with the aid of human games are sometimes modified
by hand, at least the top notch books.

But in the context of this discussion we note that books can and are
created solely from databases of top quality games.   You can get a
reasonable book that way.   




In the Chess world, what is meant by picking out the ones that seem to work 
best?


What I mean is that you look at the statistics of the moves and base
your opening book on the moves that gave the best results.  You can also
go by the moves that are played the most - with the assumption that if
they are played a lot they must be good.   It is typical to do a
combination of both - if it's played a lot and also scores good, use it.

I think some have tried mini-max too.   It's possible that a move seems
to has great success in general, but not if it's responded to in a
certain way.   It could be that in recent months or years a refutation
has been found, and that a move that used to work really well has been
found to be bad.   



My impression is that computer go programs do not, at this stage in their evolution, make good use of professional book moves; too much professional knowledge is actually in the part of the tree which is almost never played in pro-pro games - the how to beat up on mistakes and what not to do when playing against a pro parts of the tree. 


Even in chess, despite the awesome strength of the programs,  human
knowledge of the openings still reigns supreme, although it's now the
case that computers are helping to build opening theory by finding new
moves - in chess these are called theoretical novelties and computers
have produced many of them from what I understand.

- Don


  
___

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



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


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