Author: Uri Blass
Date: 08:26:51 02/19/02
Go up one level in this thread
On February 19, 2002 at 10:56:49, Robert Hyatt wrote: >On February 19, 2002 at 01:30:42, Uri Blass wrote: > >>On February 18, 2002 at 23:02:49, Robert Hyatt wrote: >> >>>On February 18, 2002 at 15:33:14, Uri Blass wrote: >>> >>>>On February 18, 2002 at 14:24:18, Robert Hyatt wrote: >>>> >>>>>On February 18, 2002 at 12:47:19, Uri Blass wrote: >>>>> >>>>>>On February 18, 2002 at 08:57:47, David Dory wrote: >>>>>> >>>>>>>On February 18, 2002 at 06:35:53, Uri Blass wrote: >>>>>>>> >>>>>>>>I do not think that all of the programmers of today are stupid. >>>>>>>>I guess that they found better ideas. >>>>>>>> >>>>>>>>Uri >>>>>>>> >>>>>>> >>>>>>>Better ideas? That's a relative thing, and we have no way to really compare >>>>>>>their ideas (on DB's hardware and software), with ideas used in Rebel, Fritz, >>>>>>>CM, ChessTiger, etc., on a PC, except in a very artificial and abstract way. >>>>>>> >>>>>>>I believe in each case, the programmers found ideas that were APPROPRIATE for >>>>>>>their system. After all, the GREAT idea's of today, would have been disastrous >>>>>>>to implement on a Fidelity Chess Challenger running with a Zilog Z80 CPU at a >>>>>>>BLINDING 4Mhz. >>>>>>> >>>>>>>The reasons DB would still be kicking ass today, were it still around and being >>>>>>>updated, are: >>>>>>> >>>>>>> 1) Hsu and his team had a history of creating a fantastic chess computer, DT. >>>>>>> For all intents and purposes, they really had a doctorate in chess computer >>>>>>> science! >>>>>>> >>>>>>> 2) They used the considerable resources IBM gave them, not just for software >>>>>>> improvements, but to build a bunch of custom high speed micro-chips and >>>>>>> integrate them into the fastest chess computer of all time. (so far :-)) >>>>>>> >>>>>>> 3) After a long time working out the bugs, they brought in GM Joel Benjamin >>>>>>> to fine tune the openings, etc. >>>>>>> >>>>>>>How many other developer's do this, to this extent, Uri? >>>>>>> >>>>>>>It isn't just that Hsu & team were brilliant, or had a TON of resources, or had >>>>>>>such sensational experience building a custom chess computer. It was all these >>>>>>>things together, and I believe the whole was equal to more than the sum of the >>>>>>>parts, which were considerable, in this case. >>>>>>> >>>>>>>If you had several million to invest in a new fantastic chess playing computer, >>>>>>>wouldn't you do what the DB team did? >>>>>>> >>>>>>>Dave >>>>>> >>>>>>No >>>>>> >>>>>>I believe in pruning rules and I would use the money to find better pruning >>>>>>rules. >>>>>> >>>>>> >>>>>> >>>>>>Uri >>>>> >>>>> >>>>>Pruning rules introduce error. As you go deeper, those errors are >>>>>summed. The DB guys instead chose to design hardware to let them go >>>>>deeper with _zero_ error in the software search, and some unknown level >>>>>of error in the hardware search due to whatever kind of pruning they chose >>>>>to implement there... >>>> >>>>I believe that the right pruning rules practically almost do not introduce >>>>errors and searching not deep enough produce more errors. >>>> >>>>See the mistake of deeper blue in game 2 when it could not see the draw. >>>> >>>>Uri >>> >>> >>>No program will see that draw during the next 10 years. We don't have >>>_any_ program that can search to 60+ plies down every critical path. >> >> >>We do not need to search 60 plies in every path but only in the important lines >>and it is doable. >> >>I believe that if you give the top programs of today 24 hours they will see >>close to 0.00 evaluation. > > >Test your hypothesis. Others already have and after a _week_ of searching >they found exactly _nothing_. 60 plies is too deep for something that is not >narrow and forced. And even for something forced, 60 plies is very tough to >touch except for what are often called "straightjacket" positions where both >sides have one legal move for an extended period of time. > >You aren't going to find _this_ draw in 24 hours from the original position >where they moved their king to the wrong square. I don't care what kind of >hardware you have. 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+ [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) > > > >> >>No way to see a forced draw because white can escape the forced draw by a line >>when programs evaluate it as a small positional advantage for white. >> >>> >>>Forward pruning, by its very definition, is error-prone. No way around >>>it. >> >>I believe that if the forward pruning is done correctly then it is not >>error-prone > >Sorry, but I believe that is nonsense. Otherwise you are saying that it is >possible to do a perfect chess player with _no_ search at all, because the >pruning rules are not based on search results. In short, a 1 ply search should >be able to play perfect chess with a pruning rule that never makes a mistake. No I did not say that the pruning rules are going to prune all the legal moves except one. 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. > >It won't _ever_ happen. > > > > >>You will need a lot of testing in order to correct cases when the forward >>pruning generates errors but I expect after analyzing millions of positions and >>correcting the mistakes in the pruning that caused errors to have forward >>pruning with no errors or maybe only one error of practical demage in 1000 >>games. > >I expect you will end up with billions of lines of code, and if you think >anyone can write billions of lines of code with no errors, then why can't >we write thousands of lines today with no errors? 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. 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. If you get some millions of dollars for a project then it may be possible to do better. Uri > > > >> >>one simple example: >>If you prune only rook promotions and bishops promotions when the number of >>pieces of the opponent is big enough to avoid stalemate danger you will have >>practically no errors. >> >>Uri > >And I'll bet someone can create a position where this fails miserably. And >that one error is all it takes... 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. 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
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.