[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: computer-go: Evaluating positions



This is interesting stuff.  It's  really difficult to break down these
concepts into the  "fundamentals", and I'll tell why  I  think that is
the case.

Any concept we come up with is not "REAL" in an absolute sense.  These
are just symbolisms  our   minds use in   an  attempt  to bring   some
structure into our thinking about things.

Most games,  in my opinion have   only a single real  concept, usually
stated by the goal of the game.  In Checkers, the goal  of the game is
to run  the  opponent out of  moves  (NOT to take   all his  men.)  We
pretend that winning tokens in checkers  is a "fundamental principle",
because it is a powerful way to THINK about progress towards our goal,
but you can WIN in checkers even if you are behind in tokens!

What we call "fundamental  principles" should be reworded for accuracy
to be "reality approximators" or something  like this.  We count heads
in checkers because  we don't know  how  to determine which  side will
realize the final  goal without actually calculating this recursively.
You can tell what is fundamental by seeing how a  good program write a
program.  When    the  opponent is  out   of  moves, all  these  silly
heuristics go out the window  and the programmer  will consider this a
WIN,  no   matter how  many   checkers each   side  has!  This  is  in
recognition of the fact that counting heads  was just a guess, not the
real thing.

The only  principle in Go, in  this  sense, boils down to  this single
simple principle: "OWN  as many squares as possible  when  the game is
over."    

You have asked the perfectly valid question, how should we think about
the    approximators?   Which  things    give the  approxiamately best
correlation to winning the game?  How much do they overlap each other?

Don




   From: "Vlad Dumitrescu" <vladdu@xxxxxxxxxxxxxxxxx>
   Date: Sun, 17 Jun 2001 21:33:49 +0200
   Reply-To: computer-go@xxxxxxxxxxxxxxxxx
   Content-Type: multipart/alternative;	boundary="----=_NextPart_000_0018_01C0F775.327A8B20"
   Content-Length: 3941

   This is a multi-part message in MIME format.

   ------=_NextPart_000_0018_01C0F775.327A8B20
   Content-Type: text/plain;
	   charset="iso-8859-1"
   Content-Transfer-Encoding: quoted-printable

   Hi all,

   I had a little vacation and because of the discussions recently about =
   neural networks and all that, my thoughts wandered in that direction. =
   And I tried to discern the basic ingredients that make an evaluation =
   function, on a conceptual level. It became a longish list, but then I =
   noticed many concepts are related, or are different views over the same =
   more general concept.

   In the end, the list came down to two items, that are independent as far =
   as I can tell (for statical evaluation):
       - influence (of a group)
       - strength (of a group); this includes life/death

   I managed to define all other concepts in the list (fore example aji) =
   using the above, and even some dynamic concepts that I thought were more =
   fundamental (as sente/gote).=20

   It seems like a mirroring of the simplicity of the rules of the game, to =
   be able to use only this few concepts to evaluate a position. But there =
   might also be things that are escaping me. So I thought to ask all of =
   you wiser people: What do you think?

   I'm not sure if there are any practical implications. A decent practical =
   evaluation function will probably have to account for the 'derivate' =
   concepts, because they might be easier to compute.

   regards, Vlad

   ------=_NextPart_000_0018_01C0F775.327A8B20
   Content-Type: text/html;
	   charset="iso-8859-1"
   Content-Transfer-Encoding: quoted-printable

   <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
   <HTML><HEAD>
   <META http-equiv=3DContent-Type content=3D"text/html; =
   charset=3Diso-8859-1">
   <META content=3D"MSHTML 5.50.4616.200" name=3DGENERATOR>
   <STYLE></STYLE>
   </HEAD>
   <BODY bgColor=3D#ffffff>
   <DIV><FONT face=3DArial size=3D2>Hi all,</FONT></DIV>
   <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
   <DIV><FONT face=3DArial size=3D2>I had a little vacation and because of =
   the=20
   discussions recently about neural networks and all that, my thoughts =
   wandered in=20
   that direction. And I tried to discern the basic ingredients that make =
   an=20
   evaluation function, on a conceptual level. It became a longish list, =
   but then I=20
   noticed many concepts are related, or are different views over the same =
   more=20
   general concept.</FONT></DIV>
   <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
   <DIV><FONT face=3DArial size=3D2>In the end, the list came down to two =
   items, that=20
   are independent as far as I can tell (for statical =
   evaluation):</FONT></DIV>
   <DIV><FONT face=3DArial size=3D2>&nbsp;&nbsp;&nbsp; - influence (of a=20
   group)</FONT></DIV>
   <DIV><FONT face=3DArial size=3D2>&nbsp;&nbsp;&nbsp; - strength (of a =
   group); this=20
   includes life/death</FONT></DIV>
   <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
   <DIV><FONT face=3DArial size=3D2>I managed to define all other concepts =
   in the list=20
   (fore example aji) using the above, and even some dynamic concepts that =
   I=20
   thought were more fundamental (as sente/gote). </FONT></DIV>
   <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
   <DIV><FONT face=3DArial size=3D2>It seems like a mirroring of the =
   simplicity of the=20
   rules of the game, to be able to use only this few concepts to evaluate =
   a=20
   position. But there might also be things that are escaping me. So I =
   thought to=20
   ask all of you wiser people: What do you think?</FONT></DIV>
   <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
   <DIV><FONT face=3DArial size=3D2>I'm not sure if there are any practical =

   implications.&nbsp;A decent practical evaluation function will probably =
   have to=20
   account for the 'derivate' concepts, because they might be easier to=20
   compute.</FONT></DIV>
   <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
   <DIV><FONT face=3DArial size=3D2>regards, =
   Vlad</FONT></DIV></BODY></HTML>

   ------=_NextPart_000_0018_01C0F775.327A8B20--