Author: Eelco de Groot
Date: 21:11:45 07/31/99
Go up one level in this thread
Hello everybody, I didn't follow the discussion very well, but just for comparison's sake results with Rebel ECTool, more or less Rebel 10, 386 at 33 MHz,about 3k nps; Rebel Engine for ECTool. (c) Ed Schröder Engine version : REBEL 9 Hash table size : 4 Mb Analysis mode : Analyzing next move Refresh interval : 1000 ms Game begin 00:00 02.00 3.63 Qe6xb6 e5-e4 00:02 03.00 3.79 Qe6xb6 Rf8-c8 Qb6-e3 Qe1xe3 Bc1xe3 Rc8-c2 00:03 04.00 3.44 Qe6xb6 Rf8-f1 Qb6-d8+ Kh8-h7 Qd8-d3+ e5-e4 00:05 05.00 3.44 Qe6xb6 Rf8-f1 Qb6-d8+ Kh8-h7 Qd8-d3+ e5-e4 00:13 06.00 -0.67 Qe6xb6 Rf8-f1 Qb6-d8+ Kh8-h7 Qd8-d3+ e5-e4 Qd3xf1 00:37 06.05 -0.39 Bc1xh6 Qe1xa1 Qe6-g6 Rf8-g8 Qg6xb6 Qa1xa2 01:15 07.00 -0.39 Bc1xh6 Qe1xa1 Qe6-g6 Rf8-g8 Qg6xb6 Qa1xa2 01:57 08.00 -0.46 Bc1xh6 Qe1xa1 Qe6-g6 Rf8-g8 Qg6xb6 Qa1xa2 g2-g3 03:05 09.00 -0.46 Bc1xh6 Qe1xa1 Qe6-g6 Rf8-g8 Qg6xb6 Qa1xa2 g2-g3 04:32 10.00 0.00 Bc1xh6 Qe1xa1 Qe6-g6 Rf8-g8 Bh6xg7+ Rg8xg7 Qg6-h5+ 07:19 11.00 0.00 Bc1xh6 Qe1xa1 Qe6-g6 Rf8-g8 Bh6-f4 Rg8-b8 Bf4xe5 15:06 12.00 0.00 Bc1xh6 Qe1xa1 Qe6-g6 Rf8-g8 Bh6-f4 Rg8-b8 Bf4xe5 Sorry, no pictures or diagrams to go with this. But Crafty's diagrams look wonderful over here! Eelco. On July 31, 1999 at 18:06:30, Peter McKenzie wrote: >On July 31, 1999 at 12:55:54, Robert Hyatt wrote: > >>On July 31, 1999 at 12:34:34, Robert Hyatt wrote: >> >>>On July 31, 1999 at 03:08:42, Ed Schröder wrote: >>> >>>>>This is easy to test. >>>>> >>>>>My hypothesis: simple search is not good enough to discover that all moves >>>>>but one lead to mate, in any positions except for those near the point where a >>>>>game is already over (one side is mating the other). >>>>> >>>>>Ed's: A simple search is good enough to discern forcing moves. >>>>> >>>>>How about someone looking for positions where all moves but one lead to a >>>>>forced mate... IE one move must _not_ get mated, while all the rest do. >>>>>Then we decide whether the short search of Rebel can see this or not. >>>>> >>>>>Then we decide how often this kind of position occurs, and how often (when it >>>>>does) is a shallow search enough to recognize the forced nature. >>>>> >>>>>I don't think (a) it will work very well; (b) that it is worth the effort to >>>>>search with alpha=-inf, beta=+inf for every root move; (c) that by the time >>>>>this might have a chance of identifying a forcing move, the game is already >>>>>over and saving time is pointless... >>>>> >>>>>My opinion, of course... >>>> >>>>How about going one step further. Some years ago I did an experiment. >>>>Search the first iteration without A/B, then: >>>> >>>>if (best_score - second_best_score > margin_one) limit time control. >>>>if (best_score - second_best_score > margin_two) limit time control even more. >>>> >>>>etc. >>>> >>>>Also I tried this for the second iteration as well. Results were not bad at all >>>>as it also catches forced moves that aren't recaptures and escapes from >>>>checks. Moves sequences like 1..g5 2.Bg3 were also discovered and >>>>2.Bg3 was played very fast. I also remember a case 1.a7 Ra8 preventing >>>>the pawn to promote. Since 1..Ra8 was the only move 1..Ra8 was played >>>>instantly. >>>> >>> >>> >>>that's an easy one to break. Take the position Cray Blitz vs Belle (I will >>>try to find the FEN but it is in one of the test suites (Bxh6 is a draw, Qxb6 >>>loses). >>> >>>I'll bet you that you discover that Qxb6 is +3 better than any other move with >>>a 1 ply search. And a 2 ply search... and a 3, 4, 5 and 6 ply search... and >>>beyond... until you finally see that it loses badly. >>> >>>Using your approach will get you killed there. Care to guess how I know? I >>>was there. I used a scheme almost exactly like yours in 1980 or so, and it >>>made that very same mistake in that very same game, and lost quickly... A 2 >>>minute search would have shown Bxh6 drew and Qxb6 lost. But CB assumed that >>>"Qxb6 was 'easy'" >>> >>> >>> >>> >>>>Note that Q-search in Rebel's first and second iteration were limited to 6 and >>>>8 plies to prevent the search to explode when A/B is not active. I also do >>>>check extensions in Q-search to discover mates which catches the most >>>>important ones but not all of course. >>>> >>>>Ed Schroder >> >> >>Here is the position: >> >>5r1k/6p/1n2Q2p/4p//7P/PP4PK/R1B1q/ w > >Thanks for posting this position Bob. By the way, here is the position in a >more standard format (well, a format that my program can input anyway): > >5r1k/6p1/1n2Q2p/4p3/8/7P/PP4PK/R1B1q3 w - - > >LambChop would also suggest that Qxb6 is 'forced' (by Ed's suggestion) after a 1 >ply search. Of course, in such positions you should still spend some time >searching because they are not certanties by any means. > >In this particular position, most programs wouldn't be 'burnt' because they >would see that Qxb6 is bad after just a few seconds. LambChop (which uses >nullmove) discards Qxb6 at depth 7. I believe Crafty has a problem here because >it doesn't do any checks in the q-srch. > >Personally, I'm still uncomfortable with Ed's idea because I'm sure there are >many deeper sacrifices that would cause problems. But the trade off might be >worth it, who knows? > >> >>the position in ascii: >> >> +---+---+---+---+---+---+---+---+ >> 8 | | | | | | *R| | *K| >> +---+---+---+---+---+---+---+---+ >> 7 | | | | | | | *P| | >> +---+---+---+---+---+---+---+---+ >> 6 | | *N| | | Q | | | *P| >> +---+---+---+---+---+---+---+---+ >> 5 | | | | | *P| | | | >> +---+---+---+---+---+---+---+---+ >> 4 | | | | | | | | | >> +---+---+---+---+---+---+---+---+ >> 3 | | | | | | | | P | >> +---+---+---+---+---+---+---+---+ >> 2 | P | P | | | | | P | K | >> +---+---+---+---+---+---+---+---+ >> 1 | R | | B | | *Q| | | | >> +---+---+---+---+---+---+---+---+ >> a b c d e f g h >> >> >>and my search results (PII/300 notebook): >> >>(early iterations like Qxb6 a lot, scores over +4.) >> 8 8.27 0.26 1. Qxb6 Rf1 2. Qd8+ Kh7 3. Qd3+ e4 >> 4. Qxf1 Qxf1 5. b4 e3 >> 8-> 9.56 0.26 1. Qxb6 Rf1 2. Qd8+ Kh7 3. Qd3+ e4 >> 4. Qxf1 Qxf1 5. b4 e3 >> 9 10.54 0.57 1. Qxb6 Rf1 2. Qd8+ Kh7 3. Qd3+ e4 >> 4. Qxf1 Qxf1 5. b4 e3 6. b5 >> 9-> 12.16 0.57 1. Qxb6 Rf1 2. Qd8+ Kh7 3. Qd3+ e4 >> 4. Qxf1 Qxf1 5. b4 e3 6. b5 >> 10 13.17 -- 1. Qxb6 >> 10 43.47 0.00 1. Qxb6 Rf1 2. Qd8+ Kh7 3. Qd3+ e4 >> 4. Qxf1 Qxf1 5. Kg3 Qe1+ 6. Kh2 Qf1 >> 10-> 51.88 0.00 1. Qxb6 Rf1 2. Qd8+ Kh7 3. Qd3+ e4 >> 4. Qxf1 Qxf1 5. Kg3 Qe1+ 6. Kh2 Qf1 >> 11 54.47 -- 1. Qxb6 >> 11 1:47 -2.58 1. Qxb6 Rf1 2. Qd8+ Kh7 3. Qd3+ e4 >> 4. Qxf1 Qxf1 5. a4 e3 6. Ra2 Qxc1 7. >> b4 Kg6 >> 11 2:12 0.00 1. Bxh6 Qxa1 2. Qxe5 Rf6 3. Bg5 Rf2 >> 4. Qe8+ Kh7 5. Qh5+ Kg8 6. Qe8+ Kh7 >> >>As I mentioned, this is from Cray Blitz vs Belle, 1981 ACM NACC tournament. >> >>Bob
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.