Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Questions for Mr. Hyatt about Deep Blue

Author: Robert Hyatt

Date: 11:13:36 02/19/02

Go up one level in this thread


On February 19, 2002 at 11:26:51, Uri Blass wrote:

>
>If you look at the position after Kf1 then programs cannot find draw score
>mainly because of the fact that they do not know to evaluate other lines as a
>draw and Deep Fritz evaluates it as a clear advantage for white but does not
>choose deeper blue moves.
>
>Here is Deep Fritz's analysis one ply after 44.Kf1 Rb8
>After some minutes it changes it's mind and do not choose deeper blue move
>45.Ra6
>
>You can criticize deep Fritz for not evaluating correctly the endgame when it
>gives evaluation of +1.56 for a drawn endgame but the problem that prevent Deep
>Fritz to see the draw does not seem to be the 60 ply line.
>
>Deep Fritz understands enough to choose the correct move at move 44
>1.91 at depth 24 for 44.Kh1 compared to 1.56 at depth 22 for 45.Qd7+

This doesn't mean it understands _anything_ here.  It just happens to like
one move over the other due to its evaluation.  How many programs find a wild
sacrifice simply because they misunderstand the resulting position and think it
is better for the _wrong_ reasons?




>
>[D]Rr6/5kp1/1qQb1p1p/1p1PpP2/1Pp1B3/2P4P/6P1/5K2 w - - 0 1
>
>Analysis by Deep Fritz:
>
>45.Qd7+!
>  ±  (1.31)   Depth: 3/11   00:00:00  1kN
>45.Qd7+ Kg8 46.Ra7 Bf8 47.Qe6+ Kh7 48.Qxb6 Rxb6
>  ±  (1.34)   Depth: 5/12   00:00:00  4kN
>45.Qd7+ Kg8 46.Ra7 Bf8 47.Qe6+ Kh7 48.Qxb6 Rxb6
>  ±  (1.34)   Depth: 5/12   00:00:00  4kN
>45.Qd7+ Kg8 46.Ra7 Bf8 47.Qe6+ Kh7 48.Qxb6 Rxb6
>  ±  (1.34)   Depth: 5/12   00:00:00  4kN
>45.Qd7+ Kg8 46.Ra7 Bf8 47.Qe6+ Kh7 48.Qxb6 Rxb6
>  ±  (1.34)   Depth: 5/12   00:00:00  4kN
>45.Qd7+ Kg8 46.Ra7 Bf8 47.Qe6+ Kh7 48.Qxb6 Rxb6
>  ±  (1.34)   Depth: 5/12   00:00:00  4kN
>45.Qd7+ Kg8 46.Ra7 Bf8 47.Qe6+ Kh7 48.Qxb6 Rxb6
>  ±  (1.34)   Depth: 5/12   00:00:00  4kN
>45.Qd7+ Kg8 46.Ra7 Bf8 47.Qe6+ Kh7 48.Qxb6 Rxb6
>  ±  (1.34)   Depth: 5/12   00:00:00  4kN
>45.Qd7+ Kg8 46.Ra7 Bf8 47.Qe6+ Kh7 48.Qxb6 Rxb6 49.g3
>  +-  (1.44)   Depth: 6/16   00:00:00  9kN
>45.Qd7+--
>  ±  (1.13)   Depth: 7/15   00:00:00  22kN
>45.Qd7+--
>  ±  (1.13)   Depth: 7/15   00:00:00  25kN
>45.Qxb6!
>  ±  (1.16)   Depth: 7/15   00:00:00  27kN
>45.Qxb6! Rxb6 46.Ra7+ Kf8 47.g3 h5 48.Ke2 h4 49.gxh4
>  ±  (1.25)   Depth: 7/18   00:00:00  38kN
>45.Ra6!
>  ±  (1.28)   Depth: 7/18   00:00:00  48kN
>45.Ra6! Qxc6 46.dxc6 Ke8 47.Ra7 Rc8
>  ±  (1.38)   Depth: 7/18   00:00:00  53kN
>45.Ra6 Qxc6 46.dxc6 Ke8 47.Ra7 Rc8
>  ±  (1.38)   Depth: 8/18   00:00:00  80kN
>45.Ra6 Qxc6 46.dxc6 Ke8 47.Ra7 Rd8
>  +-  (1.44)   Depth: 9/21   00:00:00  157kN
>45.Ra6 Qxc6 46.dxc6 Bc7 47.Ra7 Rc8 48.Rb7 Ke7 49.Ke2 Kd6 50.Rxb5
>  +-  (1.44)   Depth: 10/24   00:00:00  303kN
>45.Ra6 Qxc6 46.dxc6 Kg8 47.Ra7 Rc8 48.Rb7 Kf8 49.Rxb5
>  +-  (1.53)   Depth: 11/28   00:00:01  839kN
>45.Ra6 Qxc6 46.dxc6 Kf8 47.Ra7 Rd8 48.Rb7 Ra8 49.Rd7 Be7 50.c7 Ra1+
>  +-  (1.59)   Depth: 12/30   00:00:02  1617kN
>45.Ra6 Qxc6 46.dxc6 Kf8 47.Ra7 Rc8 48.Rb7 Bc7 49.Rxb5 Ke7
>  +-  (1.66)   Depth: 13/32   00:00:04  3128kN
>45.Ra6 Qxc6 46.dxc6 Rc8 47.Ra5 Ke7 48.Rxb5 h5 49.Bd5
>  +-  (1.78)   Depth: 14/34   00:00:11  7087kN
>45.Ra6--
>  +-  (1.47)   Depth: 15/40   00:00:59  37421kN
>45.Ra6-- Qe3 46.Qd7+ Kg8 47.Qxd6 Rf8 48.Qe6+ Kh7 49.Qe7 Rg8 50.Bf3 Qc1+
>  ±  (1.22)   Depth: 15/41   00:01:18  49651kN
>45.Ra6 Qe3 46.Qd7+ Kg8 47.Qxd6 Rf8 48.Qe6+ Kh7 49.Bf3 Qc1+ 50.Kf2 Qd2+
>  ±  (1.22)   Depth: 16/45   00:02:48  106539kN
>45.Ra6 Qe3 46.Qxd6 Re8 47.h4 h5 48.Bf3 Qc1+ 49.Kf2 Qd2+ 50.Be2 Qf4+
>  ±  (1.00)   Depth: 17/43   00:06:12  235347kN
>45.Qd7+!
>  ±  (1.03)   Depth: 17/43   00:07:40  293411kN
>45.Qd7+! Kg8 46.Ra7 Bf8 47.Qe6+ Kh8 48.Qxb6 Rxb6 49.Bf3 Bd6 50.Ra8+ Kh7
>  ±  (1.31)   Depth: 17/44   00:08:23  320283kN
>45.Qd7+ Kg8 46.Ra7 Bf8 47.Qe6+ Kh8 48.Qxb6 Rxb6 49.Bf3 Bd6 50.Ra8+ Rb8
>  ±  (1.28)   Depth: 18/42   00:09:56  379789kN
>45.Qd7+ Kg8 46.Ra7 Bf8 47.Ke2 Kh7 48.Qf7
>  +-  (1.47)   Depth: 19/44   00:17:16  662024kN
>45.Qd7+ Kg8 46.Ra7 Bf8 47.Qf7+ Kh8 48.Ke2 Qd6 49.Qe6 Qb6 50.Qxb6 Rxb6
>  +-  (1.50)   Depth: 20/47   00:33:48  1297637kN
>45.Qd7+ Kg8 46.Ra7 Bf8 47.Qf7+ Kh8 48.Ke2 Qd6 49.Qe6 Qb6 50.Qxb6 Rxb6
>  +-  (1.53)   Depth: 21/48   01:05:55  2543899kN
>45.Qd7+ Kg8 46.Ra7 Bf8 47.Qf7+ Kh8 48.Ke2 Qd6 49.Qe6 Qb6 50.Qxb6 Rxb6
>  +-  (1.56)   Depth: 22/52   02:25:04  5625115kN
>
>[D]R7/1r3kp1/1qQb1p1p/1p1PpP2/1Pp1B3/2P4P/6P1/6K1 w - - 0 1
>
>Analysis by Deep Fritz:
>
>44.Qxb6 Rxb6 45.Ra7+ Kf8
>  ±  (0.94)   Depth: 2/7   00:00:00
>44.Qxb6 Rxb6 45.Ra7+ Kf8
>  ±  (0.94)   Depth: 2/7   00:00:00
>44.Qxb6 Rxb6 45.Ra7+ Kf8
>  ±  (0.94)   Depth: 2/7   00:00:00
>44.Qxb6 Rxb6 45.Ra7+ Kf8 46.Kf2
>  ±  (1.13)   Depth: 3/9   00:00:00
>44.Qxb6 Rxb6 45.Ra7+ Kg8 46.Kf2 Kh7
>  ±  (1.03)   Depth: 4/9   00:00:00
>44.Qxb6 Rxb6 45.Ra7+ Be7 46.Kf2 Rd6 47.g3
>  ±  (0.84)   Depth: 5/11   00:00:00  2kN
>44.Kf1!
>  ±  (0.88)   Depth: 5/12   00:00:00  3kN
>44.Kf1! Qxc6 45.dxc6 Rc7 46.Ra5 Ke7 47.Rxb5
>  ±  (1.28)   Depth: 5/13   00:00:00  5kN
>44.Kf1 Qxc6 45.dxc6 Rc7 46.Ra5 Ke7 47.Rxb5
>  ±  (1.28)   Depth: 6/14   00:00:00  7kN
>44.Kf1 Rb8 45.Qd7+ Kg8 46.Ra7 Bf8 47.Qe6+ Kh7 48.Qxb6 Rxb6
>  ±  (1.34)   Depth: 7/16   00:00:01  17kN
>44.Kf1 Rb8 45.Qd7+ Kg8 46.Ra7 Bf8 47.Qe6+ Kh7 48.Qxb6 Rxb6 49.g3
>  +-  (1.44)   Depth: 8/18   00:00:01  37kN
>44.Kf1 Rb8 45.Qxb6 Rxb6 46.Ra7+ Kf8 47.g3 h5 48.Ke2 h4 49.gxh4
>  ±  (1.25)   Depth: 9/19   00:00:02  84kN
>44.Kf1 Rb8 45.Ra6 Qxc6 46.dxc6 Kf8 47.g3 Rc8 48.Ra5 Rb8 49.Ra7 Rc8
>  ±  (1.38)   Depth: 10/25   00:00:03  212kN
>44.Kf1 Rb8 45.Ra6 Qxc6 46.dxc6 Kf8 47.Ra7 Rc8
>  ±  (1.38)   Depth: 11/25   00:00:03  392kN
>44.Kf1 Rb8 45.Ra6 Qxc6 46.dxc6 Bc7 47.Ra7 Rc8
>  +-  (1.44)   Depth: 12/28   00:00:04  859kN
>44.Kf1 Rb8 45.Ra6 Qxc6 46.dxc6 Kf8 47.Ra7 Rc8
>  +-  (1.50)   Depth: 13/30   00:00:06  1917kN
>44.Kf1 Rb8 45.Ra6 Qxc6 46.dxc6 Kf8 47.Ra7 Rc8 48.Rb7 Ra8
>  +-  (1.59)   Depth: 14/34   00:00:09  4077kN
>44.Kf1 Rb8 45.Ra6 Qxc6 46.dxc6 Kf8 47.Ra7 Rc8 48.Rb7 Rc7 49.Rxb5 Ke7
>  +-  (1.66)   Depth: 15/38   00:00:16  8762kN
>44.Kf1 Rb8 45.Ra6 Qxc6 46.dxc6 Kf8 47.Ra7 Rc8 48.Rb7 Rc7 49.Rxb5
>  +-  (1.78)   Depth: 16/37   00:00:38  22540kN
>44.Kf1 Rb8 45.Ra6 Qxc6 46.dxc6 Kf8 47.Ra7 Rc8 48.Rb7 Rc7 49.Rxb5 Ke7
>  +-  (1.78)   Depth: 17/39   00:01:10  43120kN
>44.Kf1--
>  +-  (1.47)   Depth: 18/44   00:03:32  131479kN
>44.Kf1-- Rb8 45.Qd7+ Kg8 46.Ra7 Bf8 47.Qf7+ Kh7 48.Ke2 Rd8 49.Qb7 Rb8
>  ±  (1.31)   Depth: 18/45   00:07:15  272559kN
>44.Kh1!
>  ±  (1.34)   Depth: 18/45   00:09:10  346790kN
>44.Kh1! Rb8 45.Ra6 Qxc6 46.dxc6 Kf8 47.Ra7 Rc8 48.g3 Rc7 49.Ra8+ Kf7
>  +-  (1.50)   Depth: 18/45   00:10:39  402006kN
>44.Kh1 Rb8 45.Ra6 Qxc6 46.dxc6 Kf8 47.Ra7 Rc8 48.g3 Rc7 49.Ra5 Ke7
>  +-  (1.63)   Depth: 19/46   00:13:29  512685kN
>44.Kh1 Rb8 45.Ra6 Qxc6 46.dxc6 Kf8 47.Ra7 Rc8 48.g3 Rc7 49.Ra5 Ke7
>  +-  (1.63)   Depth: 20/48   00:22:01  842954kN
>44.Kh1 Rb8 45.Ra6 Qxc6 46.dxc6 Rc8 47.Ra5 Ke8 48.Kh2 Ke7 49.Rxb5 Rb8
>  +-  (1.78)   Depth: 21/50   00:40:58  1579956kN
>44.Kh1 Rb8 45.Ra6 Qxc6 46.dxc6 Rc8 47.Ra5 Ke7 48.Rxb5 h5 49.Kh2 h4
>  +-  (1.81)   Depth: 22/51   01:44:09  4053399kN
>44.Kh1 Rb8 45.Ra6 Qxc6 46.dxc6 Rc8 47.Ra5 Ke7 48.Rxb5 h5 49.g3 Bc7
>  +-  (1.88)   Depth: 23/53   03:11:14  7470799kN
>44.Kh1 Rb8 45.Ra6 Qxc6 46.dxc6 Rc8 47.Ra5 Ke7 48.Rxb5 h5 49.g3 Bc7
>  +-  (1.91)   Depth: 24/53   06:27:16  15175713kN
>
>(Blass, Tel-aviv 04.09.2001)

The question is, can it see that Kf1 is a draw?  The answer is obviously
"not just no, but heck no..."  Not even close.  Give it as long as you
want.  A week or a month or a year...


>
>No
>I did not say that the pruning rules are going to prune all the legal moves
>except one.

It doesn't matter.  _if_ you can create a forward pruning rule that is _always_
right, even though it only eliminates _one_ move, then it is easy to prove that
you can _also_ produce a forward pruning move that is always right even when it
eliminates more than one move.

I claim that such is _impossible_.  You might get the error down to .0001% if
you are very lucky.  But that is not zero, and it will fail.




>
>The pruning rules should detect illogical moves and reduce the size of the chess
>tree.
>
>They should not resuce it to 0.
>
>If you prune in every move only 40% of the possible moves you are goinbg to
>reduce the size of the chess tree significantly but you are not going to solve
>chess.

Correct.  The error rate will be so huge that it won't prove anything at all
about the game.

>
>I do not think that you need billions of lines and I believe that some millions
>may be enough because one rule can be good for many position.

Pick an iron-clad position where you can eliminate a move for a specific
reason.  And let's see if we can break it.  Then you fix it.  Then we
break it.  And this goes on almost forever...

>
>a big part of the work will not be to write the code but to discover the right
>pruning rules.
>It is possible to write thousands of lines today and correct the errors without
>million of dollars.

No it isn't.  Any good software engineering book will explain the problems and
why software is in the shape it is in today.  The concept of a "bug-free
program" is and always will be an oxymoron, when "program" means something with
thousands of lines.



>
>If you get some millions of dollars for a project then it may be possible to do
>better.

Do you think windows 2000 has been supported by "millions of dollars"?  What
about Unix at AT&T?  VMS at Digital?  IRIX at SGI?  VM and AIX at IBM?  And
they are "bug free"?  :)





>
>Note that Junior5 pruned under promotions in it search and in I think that in
>more than 99% of the games it caused no problems.

but in 1% it caused it to blunder.  The more you prune, the more those
probabilities add up...



>
>Most of the problems with pruning under promotions is underpromotion to a
>knight.
>pruning underpromotion to a bishop or rook may cause problems only when there is
>a stalemate combination and if there are a lot of pieces in the board there is
>no chance for stalemate.
>
>if a rule cause problems only in 0.00001% of the games then you can safely have
>1000 similiar rules with no practical problem.
>
>Uri

Assume you are right 99.99% of the time.  See what happens when you add
together 1000 rules.  Just compute .9999 ^ 1000 and you might be amazed
at the chance you get thru that maze with no "error"...  The chance is
1 in 10 that you will "blow it".



And 1000 rules isn't going to be even _close_ to what you need.







This page took 0.01 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.