Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: IQ-Test Position 166, any hint how to solve it ?

Author: Stuart Cracraft

Date: 09:34:13 08/29/04

Go up one level in this thread


On August 29, 2004 at 05:40:26, Uri Blass wrote:

>On August 29, 2004 at 01:16:31, Stuart Cracraft wrote:
>
>>On August 27, 2004 at 23:34:47, Robert Hyatt wrote:
>>
>>>On August 27, 2004 at 22:47:56, Stuart Cracraft wrote:
>>>
>>>>On August 26, 2004 at 11:39:31, Robert Hyatt wrote:
>>>>
>>>>>On August 25, 2004 at 12:52:46, Volker Böhm wrote:
>>>>>
>>>>>>
>>>>>>Hi,
>>>>>>
>>>>>>the following position of the iq - test (position 166) cannot be solved from
>>>>>>spike in reasonalbe time (> 2h):
>>>>>>
>>>>>>r4r1k/6pp/3p3b/1p1Npb2/3nB2q/2N3P1/PP3P1P/R2Q1RK1 b - - 0 1
>>>>>>
>>>>>>(The move to find is Qxe4)
>>>>>>
>>>>>>The reason is a nullmove-problem. After the queen-sac there are many moves that
>>>>>>leads to a mate-thread. But one queen back spike tends to prune because of
>>>>>>nullmove result.
>>>>>>
>>>>>>I tested the position with fritz 8, he solves it in 8 ply in nearly no time.
>>>>>>(PRODEO NEEDS 7 Ply, Ruffian 1.01 11 Ply).
>>>>>>
>>>>>>Are there non commercial engines that solves this position too in a short amount
>>>>>>of time?
>>>>>>Maybe the author of this engine would be so kind to explain the rule that solves
>>>>>>the nullmove-problem.
>>>>>>
>>>>>>Thanks Volker
>>>>>
>>>>>
>>>>>Here is my output:
>>>>>
>>>>>                8->   0.23  -0.16   1. ... Qh3 2. Bg2 Qg4 3. Ne3 Qxd1 4.
>>>>>                                    Rfxd1 Rac8 5. Nxf5 Rxf5 6. Nd5 (s=2)
>>>>>                9     0.47  -0.03   1. ... Qh3 2. Bxf5 Qxf5 3. f4 Rab8
>>>>>                                    4. fxe5 Qxe5 5. Qd3 Rxf1+ 6. Qxf1 Be3+
>>>>>                                    7. Nxe3 Qxe3+ 8. Qf2
>>>>>                9     0.68     -1   1. ... Qxe4!!
>>>>>                9     0.71  -1.01   1. ... Qxe4 2. Nxe4 Bxe4 3. Nc3 Bf3
>>>>>                                    4. Qd3 b4 5. a4 bxc3 6. bxc3
>>>>>                9->   0.71  -1.01   1. ... Qxe4 2. Nxe4 Bxe4 3. Nc3 Bf3
>>>>>                                    4. Qd3 b4 5. a4 bxc3 6. bxc3 (s=6)
>>>>>               10     0.75  -1.01   1. ... Qxe4 2. Nxe4 Bxe4 3. Nc3 Bf3
>>>>>                                    4. Qd3 b4 5. a4 bxc3 6. bxc3 (s=5)
>>>>>               10->   0.85  -1.01   1. ... Qxe4 2. Nxe4 Bxe4 3. Nc3 Bf3
>>>>>                                    4. Qd3 b4 5. a4 bxc3 6. bxc3 (s=3)
>>>>>               11     0.97  -1.28   1. ... Qxe4 2. Nxe4 Bxe4 3. Nc3 Bf3
>>>>>                                    4. Qd3 b4 5. Rfe1 bxc3 6. bxc3 Ra3
>>>>>                                    (s=2)
>>>>>               11->   1.19  -1.28   1. ... Qxe4 2. Nxe4 Bxe4 3. Nc3 Bf3
>>>>>                                    4. Qd3 b4 5. Rfe1 bxc3 6. bxc3 Ra3
>>>>>                                    (s=3)
>>>>>               12     1.36  -1.22   1. ... Qxe4 2. Nxe4 Bxe4 3. Nc3 Bf3
>>>>>                                    4. Qd3 b4 5. Rfe1 bxc3 6. bxc3 Ra3
>>>>>                                    7. Rab1 (s=2)
>>>>>               12->   2.57  -1.22   1. ... Qxe4 2. Nxe4 Bxe4 3. Nc3 Bf3
>>>>>                                    4. Qd3 b4 5. Rfe1 bxc3 6. bxc3 Ra3
>>>>>                                    7. Rab1 (s=3)
>>>>>               13     3.00  -1.25   1. ... Qxe4 2. Nxe4 Bxe4 3. Nc3 Bf3
>>>>>                                    4. Qd3 b4 5. Rfe1 bxc3 6. bxc3 Ra3
>>>>>                                    7. Qc4 Nc2 (s=2)
>>>>>               13->   4.70  -1.25   1. ... Qxe4 2. Nxe4 Bxe4 3. Nc3 Bf3
>>>>>                                    4. Qd3 b4 5. Rfe1 bxc3 6. bxc3 Ra3
>>>>>                                    7. Qc4 Nc2 (s=3)
>>>>>               14     6.08  -1.47   1. ... Qxe4 2. Nxe4 Bxe4 3. Nc3 Bf3
>>>>>                                    4. Qd3 b4 5. Rfb1 bxc3 6. bxc3 Ne2+
>>>>>                                    7. Kf1 Rad8 8. Rb6 e4 (s=2)
>>>>>               14->  18.31  -1.47   1. ... Qxe4 2. Nxe4 Bxe4 3. Nc3 Bf3
>>>>>                                    4. Qd3 b4 5. Rfb1 bxc3 6. bxc3 Ne2+
>>>>>                                    7. Kf1 Rad8 8. Rb6 e4 (s=3)
>>>>>               15    22.98  -1.67   1. ... Qxe4 2. Nxe4 Bxe4 3. Nc3 Bf3
>>>>>                                    4. Qd3 b4 5. Rae1 bxc3 6. bxc3 Ra3
>>>>>                                    7. Qc4 Nc2 8. Rb1 Bd2 (s=2)
>>>>>               15->  32.85  -1.67   1. ... Qxe4 2. Nxe4 Bxe4 3. Nc3 Bf3
>>>>>                                    4. Qd3 b4 5. Rae1 bxc3 6. bxc3 Ra3
>>>>>                                    7. Qc4 Nc2 8. Rb1 Bd2 (s=3)
>>>>>               16    38.96  -1.54   1. ... Qxe4 2. Nxe4 Bxe4 3. Nc3 Bf3
>>>>>                                    4. Qd3 b4 5. Rae1 bxc3 6. bxc3 Ra3
>>>>>                                    7. Qc4 Nc2 8. Rb1 Bd2 9. Qe6 (s=2)
>>>>
>>>>In your output, what does s=2 and s=3 mean?
>>>
>>>Means there are 2 or 3 moves that are apparently capable of becoming the best
>>>move on the next iteration.  The parallel search searches them one at a time,
>>>using all processors, before splitting the rest of the root moves and searching
>>>each with one processor for better search efficiency.
>>>
>>>>How about !! ? And is the -value relative to the
>>>>side on move?
>>>
>>>!! means beta cutoff (fail high at the root) on this move.
>>>
>>>
>>>
>>>> Finally, is this your 4-cpu Xeon?
>>>
>>>No, quad 2.4ghz opteron that I used in the WCCC this year.
>>>
>>
>>Forget the prior question on the previous post -- got the answer
>>here.
>>
>>>
>>>
>>>>If so, what speed are the chips and what are
>>>>the characteristics that distinguish between
>>>>the Xeon and a regular Intel chip?
>>>>
>>>>Stuart
>>
>>Can you characterize what you hypothesize are the things that
>>the top programs have that Crafty might not yet have that explain
>>any gap in performance, however slight? What is the gap between
>>Crafty and Junior or Shredder or any of the other perennial
>>winners of the various events?
>>
>>Stuart
>
>I think that one of the main disadvantages of Crafty is that it does not use
>enough forward pruning so it is outsearched by better programs.
>
>I think that not using checks in the first ply of the qsearch is another problem
>of Crafty.
>
>Uri

My program does this but not optimally but I've compared in this way.

When search() hands off to quiesce at depth <= 0 (the < is because
null move may produce a depth that is negative as I don't put a
hard depth > X rule on the prerequisites for null move), quiesce
then first things sees if it is in check. If so, it returns
the value of the main search at ply 1.

When I remove this one feature alone from my program, my test suite
result drops more than with any other feature removed, excepting possibly
hash table.

It is at least the #1 or #2 feature of the program for test suite result
although I would imagine it slows down the program in a normal game markedly
and have no idea how much strength is impacted.

Perhaps others can comment.

I don't plan to remove it.

Stuart



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.