[computer-go] Technical Report on MoGo

2006-12-01 Thread sylvain . gelly
Hello all,

as perhaps some of you may be interested, I give here a link to a technical 
report about MoGo. You can find there a lot of details about the ideas around 
MoGo. While we tried to be as clear as possible, some details may lack. There 
is still no "number" on this report, but this will come in a few days.

http://hal.inria.fr/inria-00117266

I would like to thank of course all the authors, but also Rémi Coulom who 
shared a lot of details about CrazyStone and his ideas. I also would like to 
thank all the contributors in this list for interesting discussions.

Now my feeling is that the "improving random simulations" part of this work is 
promising. We have only done very few steps in this direction, and it gives 
quite convincing results. It was what I meant in the "random distribution" 
discussions we have in this list. I am pretty sure that making improvements 
in this direction would increase a lot the level of MC players even (or 
especially) in 19x19. And this can be done very soon (well, perhaps not 
before sunday :)).

Sylvain

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


Re: [computer-go] Making Java much faster

2006-12-01 Thread David Doshay

On 1, Dec 2006, at 6:15 AM, Wodzu wrote:



- Original Message - From: "David Doshay" <[EMAIL PROTECTED]>

Also, my data shows that if I doubled the time allowed for  
playing,  thus
"using" the time gained from faster execution for doing deeper   
lookahead,

the results did not improve, but actually got worse.


I've also noticed that when i run my engine to play itself on  
different

depth level.
The "deeper" player sometimes was defeated by his opponent with  
lesser depth
analysis. I guess he wasn't able to fidna good move because of the  
horizon effect.


In self-play, I find deeper always has a greater win rate. I only  
look at

statistics over many games. Of course, individual games go both ways.

Although I think when you run your engine with some more depth it  
will vipe

out its opponent from board;)


Nope, the effect is clear. If the lookahead is too deep against a  
different

engine (Many Faces of Go) then there is a lower win rate than a less
deep lookahead. It just does not help to base evaluation upon boards
that never occur.

I have checked lookaheads of 0, 2, 4, 6, 8, and 16 against GNU Go (same
engine and thus a very high hit rate on the lookaheads), and 0, 2, 3,  
4, 6, 8,
and 16 against Many Faces, where the game usually branches from the  
paths

that SlugGo checks by the 4th move.


Cheers,
David


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


Re: [spam probable] Re: [spam probable] Re: [computer-go] Monte-Carlo is the future of 19x19

2006-12-01 Thread sylvain . gelly
Le Vendredi 01 Décembre 2006 21:26, steve uurtamo a écrit :
> > In fact, I think we say the same thing, simply using
> > different meaning for the
> > same word. By "random" you mean "uniformly random",
> > and I don't mean that, I
> > simply mean random (in the sense of random
> > variable).
>
> what distribution is currently being used?

In MoGo the distribution is clearly not uniform. I will send details to the 
list shortly for those who may be interested.
In others I don't know.

In the future, I believe in a very strongly non uniform distribution. I may 
even say that it is my strongest belief for the future of MC. Of course, I 
can be proved to be wrong very soon...

Sylvain

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


Re: [spam probable] Re: [computer-go] Monte-Carlo is the future of 19x19

2006-12-01 Thread steve uurtamo
> In fact, I think we say the same thing, simply using
> different meaning for the 
> same word. By "random" you mean "uniformly random",
> and I don't mean that, I 
> simply mean random (in the sense of random
> variable).

what distribution is currently being used?

s.


 

Want to start your own business?
Learn how on Yahoo! Small Business.
http://smallbusiness.yahoo.com/r-index
___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/


Re: [spam probable] Re: [computer-go] Monte-Carlo is the future of 19x19

2006-12-01 Thread sylvain . gelly
> > I think I disagree
> > with the statement "an evaluation that only
> > understands final scores will not
> > make a strong go program" depending on what you mean
> > by random.
>
> here i will interject by agreeing with the
> statement that "an evaluation that only
> understands final scores will not make a
> strong go program".

> if (and perhaps no such go programs exist) one
> were to construct a go program that simply
> evaluated moves based upon the percentage of
> completely-played-out randomly chosen games

In fact, I think we say the same thing, simply using different meaning for the 
same word. By "random" you mean "uniformly random", and I don't mean that, I 
simply mean random (in the sense of random variable).

Sylvain

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


RE: [computer-go] Monte-Carlo is the future of 19x19

2006-12-01 Thread Magnus Persson

Quoting David Fotland <[EMAIL PROTECTED]>:



My point with the file I attached is not that it's a difficult position.
These fights are incredibly easy if you just add a few dozen lines of code
to count liberties correctly.  To me it's as if a weak chess player says, my
program doesn’t need to understand basic pawn structure evaluation.  It
looks really complicated.  I'll just search faster than you.  There is some
basic knowledge that is not complex and is very useful.


I think we are having a confusion of what a MC-program can do or not do here.
The strongest MC-programs does a lot of things of the type "a few dozen lines
of code", and without them they would be weak even on small boards. Valkyria
does some tactical things that has improved its tactics considerably and there
are much more to be done. On your position it insisted on resigning or passing
depending on who played first so I have to look at that more carefully. 
In real
games on small boards though it often handle semeais and ko fights 
surprisingly

well. But it is probably true that in an artificial position with multiple
sekis and semeais a search based strategy may fail becuase all local fight
multiply many minor difficulties unless there is dedicated code which removes
the need for search. Right now Valkyria has no code whatsoever that detects
seki, so it is extremely vulnerable to such positions if it cannot be saved by
shallow UCT-search.

MC-programs are thus not necessarily void of hardcoded go knowledge. The trick
is to find which knowledge should be added dependent on the tradeoff with
speed. Almost everytime I add something slightly complex to Valkyria it 
becomes

5 percent slower and because of the scaling properties of MC-search such
slowdowns have a large impact on the playing strength when they add up.

So from my point of view I think I have found some easy ways to improve the
playing strength a lot, but I reached the point where I cannot longer in
advance predict that a new feature will actually make the program stronger, so
it has become a process of many trials and many errors.

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


RE: [spam probable] Re: [computer-go] Monte-Carlo is the future of19x19

2006-12-01 Thread Don Dailey
On Fri, 2006-12-01 at 08:39 -0800, David Fotland wrote:
> What's included in an evaluation? Is each evaluation one random game, or a
> set of random games that gives good enough statistics about the value of a
> position?

When you say "random" it conjures up images of aimless wandering - but
the monte carlo programs are not really random in that sense - they are
directed.   The statistical terminology is that that are not "uniformly
random" as with a good random number generator for instance.   

But they do start off that way - as they gain information they apply
that information to bias the randomness towards good moves in a
purposeful directed way.  And the process continues to feed back on
itself.The method is powerful enough that it produces perfect play
eventually. 

A full width global search also produces perfect play but it's not
concerned with the quality of the moves it searches - it searches
everything  no matter how awful it is (subject of course to alpha/beta
cutoffs.)

There is no reason whatsoever to avoid other techniques to improve the
process.  The judicious application of patterns could focus the search
even more.Any time you can insert knowledge effectively it should be
done because as you yourself have hinted at, a little knowledge can save
a lot of searching and it would be stupid not to take advantage of that
fact.   But it's equally stupid to ignore search completely.
  

- Don
 
 

> David
> 
> > On a P4 3.0Ghz mono processor, the number of evaluations per 
> > seconds is in the 
> > order of 4500/s in 9x9, 2500 in 13x13 and 1100 in 19x19.
> 
> > Sylvain
>  
> 
> 
> ___
> 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] Monte-Carlo is the future of 19x19

2006-12-01 Thread steve uurtamo
> I think I disagree 
> with the statement "an evaluation that only
> understands final scores will not 
> make a strong go program" depending on what you mean
> by random. 

here i will interject by agreeing with the
statement that "an evaluation that only
understands final scores will not make a
strong go program".

if (and perhaps no such go programs exist) one
were to construct a go program that simply
evaluated moves based upon the percentage of
completely-played-out randomly chosen games
attached to the given next move (or two, or
whatever) that ended in a win for himself,
then that would not be a strategy that one
could expect to beat professional go players,
or even to seriously challenge good existing
software with equivalent hardware and time
constraints within the stated, "one year".

s.


 

Do you Yahoo!?
Everyone is raving about the all-new Yahoo! Mail beta.
http://new.mail.yahoo.com
___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/


Re: [spam probable] Re: [computer-go] Monte-Carlo is the future of 19x19

2006-12-01 Thread Magnus Persson

Quoting [EMAIL PROTECTED]:


Also, there are a lot to improvements to do in MC in a quite short term, so I
share the point of view of Rémi, Don and some others when saying that MC
programs will fill the gap with classical programs in 19x19. And this can be
soon. Now, it is the work of the "classical approach" developers to make us
wrong :).


I can just add that I just started to add pattern matching to Valkyria. It is
too early to make any promises but I am certain that I will improve Valkyria a
lot on 19x19.

Depending on what you use patterns for it is ortogonal to MC itself,
that is any
benefits "classic approach" programs have thanks to pattern matching
should also
apply to MC programs. And there are perhaps aspects of MC programs that can be
improved with patterns that are unique to MC search as well.

-Magnus

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


Re: [computer-go] Monte-Carlo is the future of 19x19

2006-12-01 Thread sylvain . gelly
> I understand the definition of Monte Carlo.  But when people talk about
> Monte Carlo go, they mean programs that evalutate random games, not
> professional games.  

To be completely precise, professional games are also random games (if it was 
not, all games between two players would always be the same). "random" does 
not mean "uniformly". Even deterministic players are "random" (P=1 for one 
move, and 0 for all the others).
I know that you know that, it is only to be precise on the terms used.

> You are making the same point I made.  What I meant to 
> say is that using random games and an evaluation that only understands
> final scores will not make a strong go program.  There needs to be some
> knowledge in the evaluation making the games examined non-random.  There
> are fights in 19x19 games that need a little knowledge to evaluate.  Random
> game monte carlo isn't enough.

Here, I am not sure about the meaning of "random" for you. I think I disagree 
with the statement "an evaluation that only understands final scores will not 
make a strong go program" depending on what you mean by random. 
Perhaps we are making the same points, perhaps not :).

Sylvain

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


Re: [spam probable] Re: [computer-go] Monte-Carlo is the future of19x19

2006-12-01 Thread sylvain . gelly
Each evaluation is one random game.

Sylvain

> What's included in an evaluation? Is each evaluation one random game, or a
> set of random games that gives good enough statistics about the value of a
> position?
>
> David
>
> > On a P4 3.0Ghz mono processor, the number of evaluations per
> > seconds is in the
> > order of 4500/s in 9x9, 2500 in 13x13 and 1100 in 19x19.
> >
> > Sylvain

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


RE: [spam probable] Re: [computer-go] Monte-Carlo is the future of19x19

2006-12-01 Thread David Fotland

What's included in an evaluation? Is each evaluation one random game, or a
set of random games that gives good enough statistics about the value of a
position?

David

> On a P4 3.0Ghz mono processor, the number of evaluations per 
> seconds is in the 
> order of 4500/s in 9x9, 2500 in 13x13 and 1100 in 19x19.

> Sylvain
 


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


RE: [computer-go] Monte-Carlo is the future of 19x19

2006-12-01 Thread David Fotland

> 
> It is not what we said. At least it is not what I meant, and 
> I think it is 
> true for the others.

I was reacting to the two statements below.  I didn't realize that this
opinion was not generally shared by the people developing monte carlo
programs.

>> I believe that MC  will be the only way to write a GO program in the 
>> near future leaving the other stuff in the dust

>> I predict that in one year or 
>> two, classical programs will be far behind MC programs on 19x19. Maybe 
>> it will take less than one year.

> 
> I think there is sometimes a misunderstanding of what Monte-Carlo is. 
> Monte-Carlo is a method to approximate an expectation using a 
> finite sample 
> of randomly drawn points. No more, no less.
> It does not talk about "stupidity", especially it does not 
> specify the 
> distribution against which you are computing your 
> expectation. If the distribution is pro players playing 
> against themselves, MC with 3 
> simulations per move and one ply search will crush the best 
> human player by 
> far.

I understand the definition of Monte Carlo.  But when people talk about
Monte Carlo go, they mean programs that evalutate random games, not
professional games.  You are making the same point I made.  What I meant to
say is that using random games and an evaluation that only understands final
scores will not make a strong go program.  There needs to be some knowledge
in the evaluation making the games examined non-random.  There are fights in
19x19 games that need a little knowledge to evaluate.  Random game monte
carlo isn't enough.

David

> 
> Sylvain
> 
> ___
> 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] Making Java much faster

2006-12-01 Thread Wodzu


- Original Message - 
From: "David Doshay" <[EMAIL PROTECTED]>

To: "computer-go" 
Sent: Thursday, November 30, 2006 11:44 PM
Subject: Re: [computer-go] Making Java much faster



I have been *so* tempted to either ignore this thread or rename it ...

On 30, Nov 2006, at 10:36 AM, Wodzu wrote:


i think speed is one of most important things beacuse it affects
strength of the program ;) (if the time for move is restricted)
anyway, chosing a proper (fastest) algorithm has crucial meaning  and
other things like language, used data structures and so on,  have less
meaning in improving speed.
thats my opinion, regards.


This is not my experience at all.

SlugGo was first written by a graduate student with data structures  that
made sense to them, but not to me. I rewrote it to use  completely
different data structures but with exactly the same  algorithm. It took
less than half the time to run, and play was at  exactly the same level
because it was move for move identical. Data  structures can have
tremendous effect upon speed.


If you think about linked-lists, hash tables, priority queues as a data
structures than you ofourse have right.
However those strutures are realized by certain algorithms on their
implementation level. I shoul dbe more precise because I meant data typers
or primitive data structures like arrays.




Also, my data shows that if I doubled the time allowed for playing,  thus
"using" the time gained from faster execution for doing deeper  lookahead,
the results did not improve, but actually got worse.

I've also noticed that when i run my engine to play itself on different
depth level.
The "deeper" player sometimes was defeated by his opponent with lesser depth
analysis. I guess he wasn't able to fidna good move because of the horizon 
effect.

Although I think when you run your engine with some more depth it will vipe
out its opponent from board;)

Regards,

Wodzu

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


Re: [computer-go] Monte-Carlo is the future of19x19

2006-12-01 Thread sylvain . gelly
Le Vendredi 01 Décembre 2006 11:57, Chrilly a écrit :
> > On a P4 3.0Ghz mono processor, the number of evaluations per seconds is
> > in the
> > order of 4500/s in 9x9, 2500 in 13x13 and 1100 in 19x19.
>
> If one assumes 300 moves/Plies on 19x19 it would be about 330 KNodes/sec?

No, that just mean 1100 Nodes/sec in 19x19. When I meant 1 evaluation, I meant 
1 random simulation. For me, 1 position=1node=1random simulation. Sorry I 
don't see exactly why you are multiplying by 300, but I think now we 
understand each other :).

Sylvain

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


Re: [spam probable] Re: [computer-go] Monte-Carlo is the future of19x19

2006-12-01 Thread Chrilly
On a P4 3.0Ghz mono processor, the number of evaluations per seconds is in 
the

order of 4500/s in 9x9, 2500 in 13x13 and 1100 in 19x19.


If one assumes 300 moves/Plies on 19x19 it would be about 330 KNodes/sec?

Chrilly

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


Re: [computer-go] Monte-Carlo is the future of 19x19

2006-12-01 Thread alain Baeckeroot
Le vendredi 1 décembre 2006 06:24, Don Dailey a écrit :
> 
> On Thu, 2006-11-30 at 18:40 -0800, David Fotland wrote:
> > How does monte carlo go do with fights that are trivial to evaluate, but
> > hard to search?
> 
> It's easy to construct problems that any program cannot handle including
> yours.   
> 

http://trac.gnugo.org/gnugo/ticket/10
This is a terrible real game, and the end become rather complicate
(due to GNU Go kindness, of not killing something earlier ;)
9 groups involved in a semeai, but w resist with local seki, so a
good order is needed for a kill cascade.

Move 354 is probably the last losing move for B (i dont rememebr precisely)
w can win even if he loses part of his stones, only one sequence of kill 
gives victory for B. (the easiest one started on top left, but gg wasted it)

As order of moves is important, i guess MC programs would have hard time
with this.

result : B all dead with 9 handi on 19x19 board !
Alain
___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/


[computer-go] Monte-Carlo is the future of 19x19

2006-12-01 Thread sylvain . gelly
Le Vendredi 01 Décembre 2006 08:48, Chrilly a écrit :
> > Are there any details, or publications, on what Mogo is doing at 19x19?
> > I'd thought consensus opinion here was that monte carlo scaled to 19x19
> > badly.
> >
> > Darren
>
> A very stupid question: What is Mogo, who has it written?

Hello,

if you are interested you can find some information there:
- http://senseis.xmp.net/?MoGo
- http://www.lri.fr/~gelly/MoGo.htm

In the second link there are the names of the contributors, while the 
developpers are the two first.

Sylvain

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


Re: [computer-go] Monte-Carlo is the future of 19x19

2006-12-01 Thread sylvain . gelly
Hello,

> I'm not trying to pick a fight.  I was responding to a bunch of people who
> think that really fast random search with a stupid evaluation will crush
> traditional programs next year.

It is not what we said. At least it is not what I meant, and I think it is 
true for the others.

> Monte carlo has a place in go programs, and is a very useful technique, but
> I don’t think it can make a strong program all by itself.

I think there is sometimes a misunderstanding of what Monte-Carlo is. 
Monte-Carlo is a method to approximate an expectation using a finite sample 
of randomly drawn points. No more, no less.
It does not talk about "stupidity", especially it does not specify the 
distribution against which you are computing your expectation.
If the distribution is pro players playing against themselves, MC with 3 
simulations per move and one ply search will crush the best human player by 
far.

Sylvain

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


Re: [spam probable] Re: [computer-go] Monte-Carlo is the future of 19x19

2006-12-01 Thread sylvain . gelly
Hello,


> On 11/30/06, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
> > To give an idea of the scale (at least for MoGo), 70k simulations/move
> > (with the best parameters) against gnugo 3.6/level 8 gives 89% in 9x9,
> > 68% in 13x13, 32% in 19x19.
>
> This is still not assessment of scalability.  Each of those 70k
> simulations takes longer for larger board sizes. 
Yes of course. But also gnugo takes more time in larger board size. Futhermore 
in 19x19 games you have more time to play.
Anyway gnugo always takes far less time that MoGo, but when allowing more time 
to gnugo it does not improve so well. We are not talking about blitz are we? 
Of course in blitz games, gnugo is unbeatable.

I think what is important is the level you reach with a reasonable game time.

> Do you have these 
> numbers for x seconds per move?
At the very beginning we were experimenting using seconds/move. They are some 
issues doing that. First it depends on the speed of your computer, so 
difficult to compare when doing experiments in different computers. Second it 
depends on the optimisation. It is far simpler to come up with an idea, 
implement it "badly" (without optimisation), see if it improves with the same 
nb of simulations, and then think about optimisation (if possible). Of course 
this holds only if after optimisation the evaluation takes a time comparable 
without the idea.
On a P4 3.0Ghz mono processor, the number of evaluations per seconds is in the 
order of 4500/s in 9x9, 2500 in 13x13 and 1100 in 19x19.

> Or mirroring Gnu-Go's thinking time? 
No, gnugo plays far faster. I already discuss that above.

Sylvain

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