Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Alpha-Beta Conspiracy Search

Author: Uri Blass

Date: 20:49:11 10/04/03

Go up one level in this thread


On October 04, 2003 at 23:35:00, Omid David Tabibi wrote:

>On October 04, 2003 at 23:08:23, Uri Blass wrote:
>
>>On October 04, 2003 at 22:22:33, Omid David Tabibi wrote:
>>
>>>On October 04, 2003 at 18:57:18, Vincent Diepeveen wrote:
>>>
>>>>On October 04, 2003 at 18:40:08, Russell Reagan wrote:
>>>>
>>>>Just put next in your engine:
>>>>  - checks in qsearch at the first ply (or when you already did them
>>>>    just stick to what you did now; in diep i do them at any ply in qsearch
>>>>    btw, but most have problems controlling that so i do not mind it if you
>>>>    just try 1 ply)
>>>>  - nullmove search with window alfa,beta = -mate+1000,
>>>>    so you'll find 100% sure a mate threat
>>>>
>>>>  - if you see a mate threat you extend that position by 1 ply and store
>>>>    in hashtable this position got a mate extension.
>>>>
>>>>  - now you extend moves double sometimes. So recapture that gives extension,
>>>>    you extend. If the same move also gives opponent a check, another extension.
>>>>    So you can extend 2 plies then.
>>>
>>>2 plies extension at once? What if you detected a mate threat and played a move
>>>which is a recapture and also checks the opponent? Extend by 3 plies?!
>>>
>>>Seems a little frightening! But will try it tonight...
>>>
>>>Looking at Fritz's parameters, the default values are selectivity=2, and
>>>futility pruning activated. So, we can assume that Fritz is using R=2. However,
>>>looking at its analysis it rapidly reaches very deep while not ignoring any
>>>significant tactical threats. That's also the case with Shredder, which uses
>>>selectivity=-1 (it is not a typo, -1 ?!) and futility=2.
>>>
>>>Falcon's tactical strength is somewhat superior to that of Crafty, but comparing
>>>it to other null-movers, Fritz and Shredder, it is way behind in tactics...
>>>
>>>BTW, when in quiescence you detect that one side is in check, do you do the
>>>following:
>>>
>>>int quiesce(int alpha, int beta) {
>>>    ...
>>>    if (checked)
>>>        return search(alpha, beta, 1);
>>>    ...
>>>}
>>
>>No
>>
>>This is going to allow very long check escape sequences because my qsearch look
>>for checks of the side to move at least in the first plies.
>>
>>Everything is done inside the qsearch and if enough plies were done in the
>>qsearch I do not extend checks.
>
>But what about doing the above only in the first ply of quiescence?

The problem is that the search calls the first ply of the quiescence.

I may change the search not to do it and to do thing based on another varaible
but the search also extend moves and if I go back to the search I may get more
extensions(for example if the opponent can reply to check by check).

I may also change it and not extend in the search based on some varaible but I
decided that not to call the search from qsearch is more simple.


Uri
>
>
>>
>>I have a special function qsmall and when I get there checks that are not
>>captures are not considered and after some plies there even reply to checks are
>>not considered.
>>
>>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.