Internal Iterative Deepening Payoffs

Code, algorithms, languages, construction...
Post Reply
CDaley11
Posts: 42
Joined: Thu Jan 10, 2013 6:23 am
Real Name: Christian Daley

Internal Iterative Deepening Payoffs

Post by CDaley11 » Sat Feb 01, 2014 12:08 am

I recently added IID into my chess engine. I've noticed that it only starts to payoff at large depths, and actually makes the program slower at shallower depths. Is this normal?

For example, with IID turned off it takes my engine ~5 seconds to search to a depth of 10 from the start position. With IID on it takes ~6 seconds.
However, with IID off it takes ~45 seconds to search to a depth of 11 from the start depth, and only ~30 seconds with IID on.

With the current implementation, my engine only uses IID as a last resort if no move from the tt was found, and no killer moves for the current position exist. Is this normal performance with IID?

hyatt
Posts: 1242
Joined: Thu Jun 10, 2010 2:13 am
Real Name: Bob Hyatt (Robert M. Hyatt)
Location: University of Alabama at Birmingham
Contact:

Re: Internal Iterative Deepening Payoffs

Post by hyatt » Sat Feb 01, 2014 4:29 pm

Overhead seems VERY high. for those shallow depths, IID should never be used. You should always have a best move from the tt until you get near the tips of the tree, and you shouldn't be doing IID out that far. The most common place for IID to be triggered is where the search fails low on the first move and you have to re-search. Or where you fail high at the root, but then you don't get a score back. In a normal search, IID is not triggered.

CDaley11
Posts: 42
Joined: Thu Jan 10, 2013 6:23 am
Real Name: Christian Daley

Re: Internal Iterative Deepening Payoffs

Post by CDaley11 » Sat Feb 01, 2014 7:26 pm

Ok, thanks for your help! I'll try changing my engine so that it only uses IID in those specific circumstances.

hyatt
Posts: 1242
Joined: Thu Jun 10, 2010 2:13 am
Real Name: Bob Hyatt (Robert M. Hyatt)
Location: University of Alabama at Birmingham
Contact:

Re: Internal Iterative Deepening Payoffs

Post by hyatt » Sat Feb 01, 2014 10:44 pm

CDaley11 wrote:Ok, thanks for your help! I'll try changing my engine so that it only uses IID in those specific circumstances.
My primary condition is alpha != beta - 1, which means it is a PV type node, and hash_hmove == 0, no best move from ttable.

Gabrielaaaa
Posts: 1
Joined: Sat Mar 05, 2022 10:32 am

Re: Internal Iterative Deepening Payoffs

Post by Gabrielaaaa » Sat Mar 05, 2022 10:35 am

i understand the concept of IID, but i dont know where to put the code in the nega max, is it after you generate the possible moves?

Post Reply