Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: To check or not to check, this is the quiescence question

Author: Uri Blass

Date: 08:18:31 10/12/03

Go up one level in this thread


On October 12, 2003 at 10:41:15, Omid David Tabibi wrote:

>On October 12, 2003 at 10:01:39, Uri Blass wrote:
>
>>On October 12, 2003 at 09:47:39, Uri Blass wrote:
>>
>>>On October 12, 2003 at 09:27:09, Tord Romstad wrote:
>>>
>>>>On October 12, 2003 at 06:32:25, Omid David Tabibi wrote:
>>>>
>>>>>Recently I conducted some extensive experiments with two versions of Falcon, one
>>>>>with checks in quiescence and one without. Falcon already has lots of
>>>>>extensions, but adding checks in quiescence resulted in a significant boost for
>>>>>tactical strength.
>>>>>
>>>>>I tested the following options:
>>>>>
>>>>>a) checks everywhere in quiescence
>>>>>b) checks only in the first ply of quiescence
>>>>>c) no checks in quiescence
>>>>>
>>>>>Option 'a' was ruled out after some testing, as it resulted in a total explosion
>>>>>of quiescence search. I tried controlling it in some ways, but still the
>>>>>overhead was considerably more than the benefit. It seems that The King and
>>>>>HIARCS are the only engines using this method.
>>>>
>>>>These are not the only ones.  I am fairly sure Diep searches checks everywhere
>>>>in the
>>>>qsearch, and Gothmog (my engine) also does.
>>>
>>>
>>>If you searches checks every where in the search then by definition
>>>you find the draw at ply 1 if your program has stalemate detection in its
>>>evaluation.
>>>
>>>[D]r7/8/8/8/8/PPPP4/2QP4/k6K b - - 0 1
>>>
>>>If it does not detect the draw at depth 1 even with checks everywhere then we
>>>have different definition of everywhere so you should expalin your definition of
>>>everywhere.
>>>
>>>extending escape to checks everywhere is not enough to search checks everywhere
>>>and you need also to generate all possible checks everywhere.
>
>Of course. By checks in quiescence I mean all checking moves and check evasions.
>
>In the normal version I have neighter checking moves nor check evasions.
>
>
>>
>>or at least everywhere when the score is not above beta so you cannot return
>>beta without generating checks and captures.
>>
>>Maybe this was not a good example but imagine a case when you sacrifice a piece
>>to force perpetual check.
>
>You mean something like LCTII pos. 9:
>
>[D]6k1/5p2/3P2p1/7n/3QPP2/7q/r2N3P/6RK b - - 0 1
>
>Even with checks only at the first ply of quiescence Falcon finds 1...Rxd2 in
>less than one second. HIARCS which conducts checks everywhere in quiescence
>finds this at the first iteration.

I do not have latest hiarcs

old Hiarcs finds it very fast but at depth 5
It is certainly faster than movei that finds it only at depth 7 after almost 2
seconds.

New game
6k1/5p2/3P2p1/7n/3QPP2/7q/r2N3P/6RK b - - 0 1

Analysis by Hiarcs 7.32:

1...Qd7 2.e5 Qc6+ 3.Rg2
  +-  (2.37)   Depth: 1   00:00:00
1...Qd7 2.Qd5
  +-  (2.57)   Depth: 2/10   00:00:00
1...Qd7 2.Qd5
  +-  (2.82)   Depth: 3/13   00:00:00
1...Qd7 2.Qd5
  +-  (2.82)   Depth: 3/13   00:00:00
1...Nxf4 2.d7 Ne6 3.d8Q+ Nxd8 4.Qxd8+ Kh7
  +-  (2.65)   Depth: 3/14   00:00:00
1...Nxf4 2.d7 Ne6 3.d8Q+ Nxd8 4.Qxd8+ Kh7
  +-  (2.65)   Depth: 4/17   00:00:00
1...Nxf4 2.d7
  +-  (2.90)   Depth: 5/19   00:00:00  14kN
1...Nxf4 2.d7 Ne6 3.d8Q+ Nxd8 4.Qxd8+ Kg7 5.Qd4+
  +-  (2.91)   Depth: 5/21   00:00:00  23kN
1...Rxd2 2.Qxd2
  +-  (2.30)   Depth: 5/21   00:00:00  34kN
1...Rxd2 2.Qxd2 Qf3+ 3.Rg2 Qf1+ 4.Rg1 Qf3+
  =  (0.00)   Depth: 5/21   00:00:00  47kN
1...Rxd2 2.Qxd2 Qf3+ 3.Rg2 Qf1+ 4.Rg1 Qf3+
  =  (0.00)   Depth: 6/21   00:00:00  58kN
1...Rxd2 2.Qxd2 Qf3+ 3.Rg2 Qf1+ 4.Rg1 Qf3+
  =  (0.00)   Depth: 7/23   00:00:01  82kN
1...Rxd2 2.Qxd2 Qf3+ 3.Rg2 Qf1+ 4.Rg1 Qf3+
  =  (0.00)   Depth: 8/25   00:00:01  159kN

(Blass, Tel-Aviv 12.10.2003)

Uri



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.