Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Bookup's backsolving

Author: Vasik Rajlich

Date: 15:07:58 05/18/05

Go up one level in this thread


On May 18, 2005 at 13:59:34, Dann Corbit wrote:

>On May 18, 2005 at 12:29:29, Vasik Rajlich wrote:
>[snip]
>>Actually, there are two separate issues here:
>>
>>1) how you select the moves to search
>>2) how you propagate the scores up the tree
>>
>>I took the original statement by Robin to mean simply that in some cases, a
>>human will propagate scores up the tree in a minimax manner - which is of course
>>true.
>>
>>Note that there are many ways to propagate scores in a non-minimax manner as
>>well. One example is taking into account second-best moves. Maybe at some point
>>in the tree, one side can either force a perpetual check, or continue playing in
>>an unclear position. These two possibilities together should be equivalent to
>>having some advantage - but such reasoning is outside the scope of minimax,
>>which can only take into account the score from a single branch.
>>
>>Similar arguments can be used in the opening. Maybe you like to play 1. e4, but
>>right at this moment the defense 1. .. c6 is annoying you and you see no
>>advantage. According to a strict minimax, you should stop playing 1. e4, but
>>practically speaking you might play it anyway, since not everyone will play 1.
>>.. c6.
>>
>>Note also that not all computer chess programs use minimax propagation. Two
>>alternatives are B* (Berliner, etc) & BPIP (Smith & Baum), and probably there
>>are many more.
>
>Or A* or lots of others.  We also do not have to use a DFS, but could use a BFS
>(or even solve it in travelling salesman manner if in a fit of utter insanity).
>
>>I hope that this is at least partially clear (somehow I suspect not :)) ..
>
>I would like to add two cents:
>
>The tree propagation will be exactly as good as the quality of data.  So if you
>have top notch players/engines/whatever and all at slow time control then the
>backsolving will create better and better node evaluations.  But if you have
>guest online games by VOG or FICS at G/5 minutes sprinked in, you will get
>stupid answers.
>
>In each and every case, the answer propagated back will be only an ESTIMATE
>unless there is a forced win/loss/draw for all forward branches.  So the
>centipawn evaluations or the point win percentages will just be ballpark figures
>of "probably in this neighborhood" type.  If you see 0.0 centipawns or 0.5 of
>points scored you cannot assume you will draw that position even under ideal
>play because it is only an estimate.
>
>If you have a large database of openings, what backsolving can be most useful
>for is closing off dead branches because of new novelties found by good players
>or programs.  The books may not have logged the refutation yet (or you may not
>have the latest book that does document it).  You may also uncover a nifty new
>novelty by loading your database with new SSDF games or games from some other
>tournament that others have not studied yet.  So you can spring a surprise on
>some opponent, because a computer {or a strong player or whatever} found some
>new wrinkle.  With a huge number of games and openings, it would be very, very
>tedious for a human to perform all the same analysis and also very error prone.
>
>I imagine that a top level chess player (GM/IM) is going to check BCO/MCO/NCO
>and whatever carefully before they use some new novelty and also that they will
>carefully scrutinize the new line unearthed by backsolving before they believe
>in it.
>
>In any case, the value is clear to me.  If we trust computer analysis then we
>trust "backsolving" because that is basically what computers do when they play
>the game.
>
>Our answers will only be as good as our original data.  The old computer adage
>goes GI-GO {Garbage In - Garbage Out}

Ok - two more cents here.

Yes, GI-GO definitely applies. There's a second issue, though.

Imagine that you took Kasparov's entire opening database, and had Kasparov go
through every position and give a score in centipawns. It's almost certain that
minimax/"backsolving" would say that he should play some different openings than
he actually does. If you pressed for an explanation, you'd find a lot of
non-minimax thinking. Maybe he would admit that after 1. e4, 1. .. e5 is
"sounder" than 1. .. c5, but the latter is more forcing & gives more chances to
punish mistakes, etc. Things like this.

Basically, minimax-type score propagation is only one tool. It's not really
optimal to use it and nothing else. Of course humans are very good at using
whatever method is appropriate in each situation - and this includes using data
from a tool like BookUp intelligently. As for computer search - I could never
bring myself to seriously try any non-minimax propagation. As soon as you do
that, you must either skip alpha-beta pruning (which is pretty much out of the
question) or really start making a mess theoretically. Probably the ultimate
chess engine would do it somehow, at least in some situations.

Vas



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.