On Sun, 2007-01-21 at 20:29 -0800, terry mcintyre wrote:
> From: Don Dailey <[EMAIL PROTECTED]>
> 
> On Mon, 2007-01-22 at 03:43 +0100, alain Baeckeroot wrote:
> > The few games i played against mogobot on 19x19 shows that it does
> not
> > "know" overconcentration. And i can safely bet that increasing
> > thinking time will not solve this, 
> 
> >By definition, a scalable program can solve all problems so your
> statement is incorrect.   
> 
> Is Computer Go infinitely scalable? Is Mogobot, in particular,
> scalable? 

In theory, Mogobot is infinitely scalable with time and memory.  In
practice
Mogobot probably used 32 or 64 bit integers to count statistics which
would
place a limit,  but that could easily be overcome.   When my program
gets to
the point it can do 4 billion play-outs,  I will have to change to 64
bit
counters.

> Most programs reach scalability limits at some point. If the concept
> of "overconcentrated shape" is not inherent in a given program, it
> might take a vast number of simulations to compensate for that lack. 

Where most people go wrong is to assume that for a computer to beat
a human it must be able to understand every single thing a human does
but only better.   This is a ridiculous burden to place on any player
including a go program.   

Each player has his own strengths and weaknesses whether human or
computer.   The trick is to maximize your 
strengths and minimize your weaknesses.    That's how computers 
beat humans because they have some glaring weaknesses and yet
they still win because the human has weaknesses too.

It's been my experience that the computers discover concepts much 
quicker than you imagine that they would.   They will play as if 
they know things they were not explicitly programmed to understand.

For example in chess,  even if you don't tell the program about 
weak pawns (which you should),  it will discover this on it's own
as soon as it has to take a well positioned piece and defend a
weak pawn with it.   This is a simple example of concept discovery.

But to understand the strength curve you have to appreciate that playing
strength is more about avoiding the mundane errors than it is making 
brilliant moves and understand deep concepts.   Of course the 
definition of mundane changes as you get stronger.   What is a basic
error to a strong player is not going to hurt a weak player.

So if you don't understand some dan level concept when you are 20 kyu
player and you want to improve, the trick isn't to learn the dan
level concept, it is to first learn the simple things that you
are screwing up on every other move.   Those are the things that
are killing you.   Those deep things don't matter at this point
but once you fix the  big problems in your play, then these
things gradually start coming into view as important things to
fix.    

I figured this out myself when I first learned chess and wanted
to improve.  I was trying to learn sophisticated stuff  but I 
was losing every game due to trivial blunders.   The "low hanging
fruit" pathway to improvement for me was to stop making trivial
blunders.  This was worth far more ELO points than learning how
to checkmate with a bishop and knight or even win the simple
KP vs K ending.  

The thing about 1 extra ply of search in computer chess is that
1 extra ply is like a whole new layer of understanding.   A 1
ply search will never make a simple piece hanging blunder,  but
it won't be able to understand the value of a trivial forking
move.   So giving it 2 ply opens up a whole new world.   But
2 ply can't anticipate and defend against a simple forking 
move that the opponent might make,  but give it 3 play and 
another wonderful layer of understanding has opened up.  A 3
ply might actually start to sense a pawn is weak even without
the explicit knowledge of weak pawns.   Each extra ply is like
a whole new world of understanding and blunder avoidance and
attack skills, etc.    

My program Botnoid started out as pure 1 ply search Monte Carlo
and it plays reasonable looking moves (and it has actually won
a 9x9 KGS computer go tournament.)   However there is no tree
search and it was vulnerable to making the most trivial error,
self-atari.   Simple Monte Carlo (without UCT or tree search)
has a way of simulating basic global understanding but not 
appreciating tactics in any way.   So Botnoid often would
play a self-atari move if it also seemed to attack the opponents
chains.    A simple fix to avoid this was like a 200 ELO
improvement.  The patched up version kills the unfixed version.
This is pretty similar to what you would expect in computer
chess.  

Of course GO program are far weaker than chess programs but
the same principles apply.   Fix the stupid things first.  You
can fix a lot of stupid things with a little bit of time so
that you can get to the next level where you fix the next
most important things etc.     It's not productive to fix
the hard problems if the dumb things are killing you.  

- Don



> 
> I suspect that monte carlo will need to be merged with some method of
> learning patterns and concepts to play higher-level Go in human-scale
> timeframes.
> 
> 
> 
> ______________________________________________________________________
> The fish are biting.
> Get more visitors on your site using Yahoo! Search Marketing.
> _______________________________________________
> 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/

Reply via email to