Re: [computer-go] Simplified MC evaluator ¿explained?

2007-04-09 Thread Weston Markham

The second explanation was no clearer to me.  I'll try to criticize in
more detail:

1.  Uniform playouts, as used in practice, are not really uniform over
all legal go moves.  Generally, pass moves are excluded until
necessary, and moves that fill eyelike points are excluded.  So, I
assume that when you use the word legal, you mean admissible within
this sort of playout.

2.  That variance depends on the length of the playout.  It is
difficult for me to make sense of this statement, simply because not
all playouts from a given position have the same length.  My best
guess is that you are claiming that the longer a playout is, the more
likely it is that its result differs from the result under correct
play.  However, I strongly doubt that this is true for all starting
positions.  (Imagine that the first player needs to prevent the second
player from forming two eyes in a large group.  After doing this, that
group will eventually be captured, allowing playouts to continue
longer by filling the intersections that it once occupied.  Failing to
kill this group may allow the playouts to complete much more quickly,
but gives inaccurate results.)

2.5.  The variance of the stochastic process is not to be mixed up
with the distribution of
the error of a repeated Bernoulli experiment!  Perhaps I have mixed
them up.  Can you explain more clearly or precisely what the variance
of the stochastic process is?  Do you perhaps mean some measurement
of variation across different starting points, rather than across
different Bernoulli trials from the same starting position?  Or, do
you mean to distinguish the probability that a playout's outcome
differs from the outcome under correct play, from the probability that
a playout results in a win?  (Although those are just two different
Bernoulli experiments, right?)  Or is there some subtlety that I have
missed?

3.  'p is a biased towards 1/2 estimator of W'.  Consider the game:

o
  / \
 o   o
/ \  |
1   0 0

(1 is a win by the first player, and 0 is a loss.)  There is a move
that could allow the first player to win, if the second player does
not respond to it correctly.  This sounds like a realistic scenario
for go.

W = 1/3
p = 1/4

p is further from 1/2 than W.  Does this game violate the condition
that the number of legal moves for each side is balanced?  (It is
still not clear to me what this condition is that you are attempting
to impose.)  Or, was I supposed to calculate a statistic across
multiple game trees where W=1/3, in order to interpret p as an
estimator of W?

4.  Even if we can compute W exactly, do we have any reason to think
that its value is a good estimate of the minimax value of the game?
Is it even a better estimate than p, which we can already estimate
accurately?  (Note that in the game tree above, it is not.)  My
offhand guess is that it would not be as good.

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


Re: [computer-go] The physics of Go playing strength.

2007-04-09 Thread Weston Markham

On 4/8/07, Don Dailey [EMAIL PROTECTED] wrote:

These programs, in theory, will play perfect GO given
enough time.


... and space.  I doubt that your current programs would be capable of
storing a large enough game tree to actually converge to the
alpha-beta value.  So in practice, it really would level out somewhere
below optimal play, unless you also increase the memory usage, right?
I think that it is still valid to present your chart as representing
the lower portions of curves that do not do this, because you would
presumably scale up the amount of memory used as well as the time, if
you could.

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


Re: [computer-go] The physics of Go playing strength.

2007-04-09 Thread Don Dailey
On Mon, 2007-04-09 at 05:30 -0400, Weston Markham wrote:
 On 4/8/07, Don Dailey [EMAIL PROTECTED] wrote:
  These programs, in theory, will play perfect GO given
  enough time.
 
 ... and space.  I doubt that your current programs would be capable of
 storing a large enough game tree to actually converge to the
 alpha-beta value.  So in practice, it really would level out somewhere
 below optimal play, unless you also increase the memory usage, right?
 I think that it is still valid to present your chart as representing
 the lower portions of curves that do not do this, because you would
 presumably scale up the amount of memory used as well as the time, if
 you could.
 
 Weston

Yes,  you would need more time and memory.   But the point is that
as long as you can provide time and memory you will get improvement
until perfect play is reached.

But if it's true that heavy is increasing faster, that will proabably
stop being the case MUCH sooner.   They will both likely approach
perfect play on a very similar slope (like a jet coming in for a 
landing)  which means the distance beetween the two plot lines must 
start getting closer much sooner.   

- Don



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


Re: [computer-go] The physics of Go playing strength.

2007-04-09 Thread compgo123
Don, here is a question. Your curves plotted the playing level vs the computer 
speed. By computer speed you mean the number of MC simulations per node with 
all other factors fixed. Is this correct?  If it is, it's legitimate for people 
to speculate that the curve could level off beyond some number of simulations 
per node. Actually this is an important question, because it relates to the 
nature of the MC simulation.
 
Daniel Liu 
 
-Original Message-
From: [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Cc: computer-go@computer-go.org
Sent: Mon, 9 Apr 2007 7:06 AM
Subject: Re: [computer-go] The physics of Go playing strength.


On Mon, 2007-04-09 at 05:30 -0400, Weston Markham wrote:
 On 4/8/07, Don Dailey [EMAIL PROTECTED] wrote:
  These programs, in theory, will play perfect GO given
  enough time.
 
 ... and space.  I doubt that your current programs would be capable of
 storing a large enough game tree to actually converge to the
 alpha-beta value.  So in practice, it really would level out somewhere
 below optimal play, unless you also increase the memory usage, right?
 I think that it is still valid to present your chart as representing
 the lower portions of curves that do not do this, because you would
 presumably scale up the amount of memory used as well as the time, if
 you could.
 
 Weston

Yes,  you would need more time and memory.   But the point is that
as long as you can provide time and memory you will get improvement
until perfect play is reached.

But if it's true that heavy is increasing faster, that will proabably
stop being the case MUCH sooner.   They will both likely approach
perfect play on a very similar slope (like a jet coming in for a 
landing)  which means the distance beetween the two plot lines must 
start getting closer much sooner.   

- Don



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

AOL now offers free email to everyone.  Find out more about what's free from 
AOL at AOL.com.
___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/

Re: [computer-go] The physics of Go playing strength.

2007-04-09 Thread Don Dailey
On Mon, 2007-04-09 at 14:46 +0100, Tom Cooper wrote:
 Perhaps it would be possible to infer how the lines would look as
 perfect play was approached from what the curves looked like
 for a smaller board size.

I thought that too, but the studies on 5x5 and 7x7 break down
very quickly.   The problem is that the programs already play
close to perfect on these board sizes.   I can say that because
on 7x7 using a fractional komi,  either white wins most of
the games or black, depending on how you set komi.

- Don



 At 13:06 09/04/2007, Don wrote:
 
 On Mon, 2007-04-09 at 05:30 -0400, Weston Markham wrote:
   On 4/8/07, Don Dailey [EMAIL PROTECTED] wrote:
These programs, in theory, will play perfect GO given
enough time.
  
   ... and space.  I doubt that your current programs would be capable of
   storing a large enough game tree to actually converge to the
   alpha-beta value.  So in practice, it really would level out somewhere
   below optimal play, unless you also increase the memory usage, right?
   I think that it is still valid to present your chart as representing
   the lower portions of curves that do not do this, because you would
   presumably scale up the amount of memory used as well as the time, if
   you could.
  
   Weston
 
 Yes,  you would need more time and memory.   But the point is that
 as long as you can provide time and memory you will get improvement
 until perfect play is reached.
 
 But if it's true that heavy is increasing faster, that will proabably
 stop being the case MUCH sooner.   They will both likely approach
 perfect play on a very similar slope (like a jet coming in for a
 landing)  which means the distance beetween the two plot lines must
 start getting closer much sooner.
 
 - Don
 
 
 
 ___
 computer-go mailing list
 computer-go@computer-go.org
 http://www.computer-go.org/mailman/listinfo/computer-go/
 
 --
 This email has been verified as Virus free
 Virus Protection and more available at http://www.plus.net
 
 ___
 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] Noise reduction in alpha-beta search

2007-04-09 Thread compgo123
I think following is a way to reduce the noise in alpha-beta search. Instead of 
using the evaluation values, use the cummulative evaluation values. That is the 
sum of the evaluation values of each node of the playing path under examination.
 
 
Daniel Liu

AOL now offers free email to everyone.  Find out more about what's free from 
AOL at AOL.com.
___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/

Re: [computer-go] LISP question (littlle bit off topic)

2007-04-09 Thread William Harold Newman
On Sun, Apr 08, 2007 at 10:18:10AM +0200, Chrilly wrote:
 Paper 1 in the list below states:
 Numbers were originally implemented in Lisp I as a list of atoms.
 and the Lisp 1.5 manual states: Arithmetic in Lisp 1.5 is new
 
 Could you give an example how the number 3 was implemented in Lisp-1 and 
 how 2+1?

I don't know, but from the description list of atoms, perhaps
numbers were represented as linked lists of bits (using the facilities
built in to support linked lists of anything).

 On Apr 7, 2007, at 12:54 PM, Chrilly wrote:
 Up to my knowledge the first Lisp Versions had no number system.  The 
 number n was represented as the list of numbers from 1 to n  (which is 
 also the mathematical/axiomatic definition of the natural  numbers).
 But its not very practical. Can anyone provide me with a link how  this 
 was done. I am speaking some computer languages, but Lisp is  not among 
 them.
 I want to present the code in an article for the Austrian AI- Journal (as 
 an example that mathematical elegance and practically  usefull are 2 
 different things).

Note how early this was in computer hardware development, and how it
didn't take them long (in calendar years) to introduce more efficient
representations of numbers. I think quite possibly it was not an
instance of people choosing elegance at the expense of practicality,
but an instance of practical people imposing very severe limitations
on software features because of the hardware limitations of early
machines. It wasn't all that far away (in calendar years) from the
time when people programmed Chess on a 6x6 board, right? I doubt that
that early 6x6 Chess program is good evidence that its computer
programmers didn't care about playing Chess by standard rules...

-- 
William Harold Newman [EMAIL PROTECTED]
PGP key fingerprint 85 CE 1C BA 79 8D 51 8C  B9 25 FB EE E0 C3 E5 7C
Ubi saeva indignatio ulterius cor lacerare nequit. -- Jonathan Swift's epitaph
___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/


Re: [computer-go] Congratulations to MoGoBot and to StoneCrazy!

2007-04-09 Thread Urban Hafner

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1


On Apr 9, 2007, at 19:36 , Nick Wedd wrote:


I have written a short report on yesterday's bot tournament on KGS, it
is at http://www.weddslist.com/kgs/past/25/index.html


In the General Section you are referring to version 5 of HouseBot.
That should be 0.5.

BTW, thanks for organizing all the tournaments and the write-ups
afterwards.

Urban
- --
http://bettong.net





-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.6 (Darwin)

iD8DBQFGGm8HggNuVCIrEyURAvwFAJ0U87YtbFXwERqvIQQ2EOTS6c5nZwCeKH3q
H9K/HohiRok7JU8BiBcrzis=
=M3Uq
-END PGP SIGNATURE-
___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/


[computer-go] Re: LISP question (littlle bit off topic)

2007-04-09 Thread Dave Dyer


I don't know, but from the description list of atoms, perhaps
numbers were represented as linked lists of bits (using the facilities
built in to support linked lists of anything).


I don't believe that any non-toy version of lisp ever used anything
as ineffecient as representing numbers as lists of bits.  In early
lisp implementations, all data are presumed to be pointers to structures.  
The address space (usually 16 or 18 bits in those days) was partitioned 
so that some range of addresses was used to represent integers, so for 
example pointers with values 0-255 represented integers from -128 to 127.
Real pointers all had values greater thatn 255.   Integers ouside
of the small range were represented by real pointers to structures
whose type and organization was determinable by inspection.

To do arithmetic, you'd first check (and hope for) the reserved range
of addresses, then interpret the data structure to retrieve the
actual values of larger integers.  Perform your arithmetic, then
reverse the process (including allocating memory to represent results
out of the small range).

With no compiler at all, as was the case in the earliest systems,
this was obviously horribly ineffecient.  As compiler technology
improved, it gradually became true that usual cases like multiplying
two integers were only 10x or so less effecient than executing on
the raw hardware.  Really good compilers can now do better than that.

.. then of course there were lisp machines, which put all the type
checking in the hardware, so ordinary arithmetic ran at full hardware
speed.   Symbolics lisp machines had 44 bit word size, which represented
32 bit integers directly.


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


[computer-go] Absolute time in KGS robots

2007-04-09 Thread Jeff Nowakowski
On Mon, 2007-04-09 at 17:36 +0100, Nick Wedd wrote:
 I have written a short report on yesterday's bot tournament on KGS, it
 is at http://www.weddslist.com/kgs/past/25/index.html

From the writeup:

CrazyStone has achieved an implausible 1k rating on KGS.

Yes, very implausible.  It has only played a handful of ranked 19x19
games. It won two games against a 2k on time in which CrazyStone was
getting beaten badly.  The time settings were 10 minutes absolute for
each side.

Absolute time games are bad, at least for humans.  Why not have at least
a 5 or 10 second byo-yomi for bot vs human games?

-Jeff

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


Re: [computer-go] Re: LISP question (littlle bit off topic)

2007-04-09 Thread steve uurtamo
 .. then of course there were lisp machines

(brain short circuits as sparks fly and magic smoke is released.)

s.




 

TV dinner still cooling? 
Check out Tonight's Picks on Yahoo! TV.
http://tv.yahoo.com/
___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/


Re: [computer-go] The physics of Go playing strength.

2007-04-09 Thread alain Baeckeroot
Le lundi 9 avril 2007 14:06, Don Dailey a écrit :
  But the point is that
 as long as you can provide time and memory you will get improvement
 until perfect play is reached.
Is there any proof that heavy player converge toward the same solution as
the pure random playout ?

With infinite resource, i agree that random playout will find the best move.
But it seems that nothing is guaranted for heavy playout.

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


Re: [computer-go] The physics of Go playing strength.

2007-04-09 Thread Don Dailey
On Tue, 2007-04-10 at 00:06 +0200, alain Baeckeroot wrote:
 Le lundi 9 avril 2007 14:06, Don Dailey a écrit :
   But the point is that
  as long as you can provide time and memory you will get improvement
  until perfect play is reached.
 Is there any proof that heavy player converge toward the same solution as
 the pure random playout ?

I don't really know, but I suspect it converges as long as you 
score correctly at the end of the game.  If you don't score
correctly, then I suppose anything can happen.

- Don


 With infinite resource, i agree that random playout will find the best move.
 But it seems that nothing is guaranted for heavy playout.
 
 Alain

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


Re: [computer-go] The physics of Go playing strength.

2007-04-09 Thread Erik van der Werf

On 4/10/07, alain Baeckeroot [EMAIL PROTECTED] wrote:

Le lundi 9 avril 2007 14:06, Don Dailey a écrit:
  But the point is that
 as long as you can provide time and memory you will get improvement
 until perfect play is reached.
Is there any proof that heavy player converge toward the same solution as
the pure random playout ?

With infinite resource, i agree that random playout will find the best move.
But it seems that nothing is guaranted for heavy playout.


With infinite resources the MC part won't have to make any move (heavy
or light), so it does not matter. OC, this is all just theoretical
throughout most of the game for any board of reasonable size.

BTW pure random would fill it's own eyes...

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


Re: [computer-go] The physics of Go playing strength.

2007-04-09 Thread Darren Cook
 With infinite resource, i agree that random playout will find the
best move.
 But it seems that nothing is guaranteed for heavy playout.

 As Don pointed out before, the reason it converges to perfect play is
 because of the UCT part, not because of the playout part.

 If the playout part prunes some moves, nothing is guaranteed.

I believe the point is that UCT never prunes moves. The playouts
performed at UCT leaf nodes are just to give an estimate to help UCT
decide which part of the tree to explore next. I.e. heavy vs. light
playouts are like intelligent vs. random move ordering in alpha-beta.

Darren


-- 
Darren Cook
http://dcook.org/mlsn/ (English-Japanese-German-Chinese free dictionary)
http://dcook.org/work/ (About me and my work)
http://dcook.org/work/charts/  (My flash charting demos)
___
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/


Re: [computer-go] The physics of Go playing strength.

2007-04-09 Thread Don Dailey
With a badly designed play-out algorithm you may have a
horribly inefficent search - but it would eventually still
find the best move in principle.

- Don
 


On Tue, 2007-04-10 at 09:16 +0900, Darren Cook wrote:
  With infinite resource, i agree that random playout will find the
 best move.
  But it seems that nothing is guaranteed for heavy playout.
 
  As Don pointed out before, the reason it converges to perfect play is
  because of the UCT part, not because of the playout part.
 
  If the playout part prunes some moves, nothing is guaranteed.
 
 I believe the point is that UCT never prunes moves. The playouts
 performed at UCT leaf nodes are just to give an estimate to help UCT
 decide which part of the tree to explore next. I.e. heavy vs. light
 playouts are like intelligent vs. random move ordering in alpha-beta.
 
 Darren
 
 

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


[computer-go] CGOS viewer update

2007-04-09 Thread Don Dailey
I just updated the viewer again to version 0.31

I will not longer announce client updates unless
they address a serious bug or problem or amazing
new functionality   Instead, I will give the 
latest version number on the CGOS webpage.

In this case, there is probably no need to upgrade.   
The only difference is that it can take 1 or 2 optional
arguments, the name of a server and a port number.

This is to aid those behind a firewall and was
done by request.

   cgosview ServerName PortNumber

Of course if you leave the arguments off it
defaults to cgos.boardspace.net 6867

- Don



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


Re: [computer-go] The dominance of search (Suzie v. GnuGo)

2007-04-09 Thread Matt Gokey

Don Dailey wrote:

(snip)
In my opinion, the insight that Chrilly articulated was that all of
sudden we are now all using some type of global search - the very
idea was considered blasphemy just 2 or 3 years ago.  

That may be too strong a statement.  It may have not been popular but
many people consistently believed global search must be a big part of
any strong playing program, myself included.  Not searching using the
same techniques as used for chess, but IMO certainly searching has not
ever been altogether dismissed nor considered blasphemy.  Look back at
posts around 10 years ago (when I first joined the list) and probably
since its inception and you'll find this to be true.  I personally wrote
about it on several occasions suggesting that to counter the evaluation
problem the search needed to go very deep and even talked about
sampling the tree.  Other probability based searches have been studied
and written about in academic papers and on this list as well.  The
crucial combination of techniques didn't bubble up, but not for lack
of trying.

But I have to admit that personally, I have many more ideas than time
with a full time job. Over the last 10 years all I've really done is
play around with various algorithms and ideas, study the game of go,
collect and read a lot of published papers, and keep up on this list -
occasionally posting.  My wife still doesn't understand my putting this
much time into it! ;-)  This is the kind of thing that could consume a
person.  I don't know if particular ideas would pay off or not because I
haven't been able to put in the proper time to focus.  In spare time, on
and off over the years I've only done a few experiments and algorithms
mostly focused on partitioning, goal directed and hierarchical searching
methods. This negligible computer-go work, some plans and a few ideas is
the extent of my would-be program KatanaGo.

Regardless, it has been great fun watching the progress of computer-go
over the years and the current flurry of activity with MC/UCT is quite
exciting!

As I wrote in a post in early Feb of this year (paraphrasing from
memory), I think the main reason MC/UCT works is because it goes deep
(nearly always to the end) and tends to find paths with more favorable
possibilities and more importantly avoid paths littered with problems.
Though I'm still pretty amazed by how well it plays, but that's the
power of the law of large numbers at work. Correct?

As for the point that different paths may converge on similar methods, I
agree that could be very plausible scenario, but there is a very long
way to go yet...






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


Re: [computer-go] The physics of Go playing strength.

2007-04-09 Thread Matt Gokey

Erik van der Werf wrote:

On 4/10/07, alain Baeckeroot [EMAIL PROTECTED] wrote:

Le lundi 9 avril 2007 14:06, Don Dailey a écrit:
  But the point is that
 as long as you can provide time and memory you will get improvement
 until perfect play is reached.
Is there any proof that heavy player converge toward the same solution as
the pure random playout ?

With infinite resource, i agree that random playout will find the best 
move.

But it seems that nothing is guaranted for heavy playout.


With infinite resources the MC part won't have to make any move (heavy
or light), so it does not matter. OC, this is all just theoretical
throughout most of the game for any board of reasonable size.

BTW pure random would fill it's own eyes...

The benefit that MC/UCT has is that it can be stopped any time and get
a reasonable current selected move.  The probability that it will find 
better moves tends to increase with more resources/playouts.


But wouldn't a simple brute force search of the game tree be more
efficient than MC/UCT at finding the certain best move, given the
hypothetical hyper super computer we are talking about?

So if ever this hyper computer exists with near infinite speed and
resources we can just run a methodical brute force search and be done
with it.  Why would one bother running a googolplex random simulations
to approach perfect play?

So to be practical we have to find ways to improve the search beyond
pure scalability like the MoGo developers are doing.

Does this make sense?

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