Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Iterative deepening -- Why add exactly one ply?

Author: Stefano Gemma

Date: 23:27:40 05/27/04

Go up one level in this thread


On May 26, 2004 at 13:34:23, Robert Hyatt wrote:

>On May 26, 2004 at 12:30:33, Tord Romstad wrote:
>
>>On May 26, 2004 at 12:13:03, Robert Hyatt wrote:
>>
>>>On May 26, 2004 at 10:53:16, Stefano Gemma wrote:
>>>
>>>>I've used an recursive-iterative deepening. I try to explain in my poor english.
>>>>At any N plyes i've applyed iterative deepening as for the root. Suppose to
>>>>start with 2 plies. The next iterations you should search 4 then 6 then 8 plies
>>>>etc, form the root. But, when you're searching 8 plies depth, and you are at a
>>>>position located at ply 2, why don't use iterative deepening starting from ply
>>>>2, instead to do a full search of the remaining 6 plies? So i've tried to
>>>>consider positions at ply 2 (and 4 and 6...) as they were at the root, and start
>>>>a search to ply 4, then 6, then 8. Sometimes works better, sometimes worse...
>>>>
>>>>I have tried different schemas, in Raffaela. The best seems the schema 2-4. You
>>>>increment the iterative deepening by 2 plies (one chess move by colour) and, for
>>>>any ply, you make an iterative deepening with increment 4. In some position, 2-2
>>>>was better.
>>>>
>>>>I've abandoned this idea, for now, because i'm working on a new engine and i've
>>>>little time for my hobby, but i think that could be interesting.
>>>>
>>>>Ciao!!!
>>>>
>>>>Stefano Gemma
>>>
>>>
>>>That sounds like an interesting idea that is worth testing.  IE at _any_ ply
>>>where you want to do a depth=N search, you iterate and do a depth=1, 2, ..., N
>>>to work your way up to that point.  With luck the  depth 1 to n-1 searches will
>>>be cheap with hash information, if there is none, move ordering will probably be
>>>broken anyway and this might improve things.
>>
>>This is exactly what I always thought was called "internal iterative
>>deepening", but I have recently learned that others use this term to refer
>>to something different.
>>
>>I use something similar to Stefano's technique (if I understood it correctly)
>>at all internal nodes where the remaining depth is high (currently 5 plies or
>>more) and I expect a fail high.
>>
>>Tord
>
>I have used "IID" for years, but in a very restricted way, namely to handle the
>case along the PV where I have no hash move.  I've never tried it _everywhere_
>before, so have no data.  But I intend to try to see if it is something that
>could work, or if it is a waste...

In my engine, it seems to works well in some situations and bad in others. I
don't know what could happen to a program with hash-tables, because i don't have
HT. The RID idea should theoretically works, but maybe it was better to use a
dynamic schema, depending on the "entropia" of the ordering. If i search from
ply N to ply N+2 and get an ordered list of moves, then i search to ply N+4 and
get a very different ordering... well, i should try ply N+6. If the ordering
remains the same, then maybe i haven't to order deeper and i can start the full
search to ply MAX. This looks like quiescence, but related to recursive
iterative deepening pre-ordering search.

(PS: i search N+2...4...6 because i don't use quiescence)

Ciao!!!

Stefano Gemma



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.