Multi-PV mode: Why do engines find good moves more quickly?

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

royb
Posts: 536
Joined: Thu Mar 09, 2006 12:53 am

Multi-PV mode: Why do engines find good moves more quickly?

Post by royb »

I'm perhaps the only person on this board that does not understand this, but ignorance is NOT bliss, so I need to ask.

We've seen many test positions on this board that have a move to be made that wins. We test our engines to see how quickly they can come up with the key move. In Infinite Analysis mode, an engine may come up with the move in, let's say 4 minutes.

However, many times (not always of course) that same engine (with the system being rebooted to clear RAM and thus there is no re-using of hash table entries) when put into Multi-PV mode (I usually select to have it display the top 3 moves) it will find the same key move FASTER (sometimes in seconds!) than that engine did in Infinite Analysis mode.

Can someone explain how/why this happens? Multi-PV must be more than just "display the top 3 moves"; it seems to alter the way the engine searches.

Thanks,

Roy
Uri Blass
Posts: 10309
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: Multi-PV mode: Why do engines find good moves more quick

Post by Uri Blass »

The reason is simple.
The engine tend to prune some lines.
If the engine is forced to give scores to more than one move then the engine can prune less lines and there are cases when the engine discovers in multi-PV that the line that it pruned(not in multi-pv) is a good line.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Multi-PV mode: Why do engines find good moves more quick

Post by bob »

royb wrote:I'm perhaps the only person on this board that does not understand this, but ignorance is NOT bliss, so I need to ask.

We've seen many test positions on this board that have a move to be made that wins. We test our engines to see how quickly they can come up with the key move. In Infinite Analysis mode, an engine may come up with the move in, let's say 4 minutes.

However, many times (not always of course) that same engine (with the system being rebooted to clear RAM and thus there is no re-using of hash table entries) when put into Multi-PV mode (I usually select to have it display the top 3 moves) it will find the same key move FASTER (sometimes in seconds!) than that engine did in Infinite Analysis mode.

Can someone explain how/why this happens? Multi-PV must be more than just "display the top 3 moves"; it seems to alter the way the engine searches.

Thanks,

Roy
In general, multi-pv has a _huge_ computational cost. If you do a search to depth=24 to find just the best move, it might take N seconds. If you analyze the time, at least 90% of the time is spent on the best move, and the remaining 10% or less is spent on all of the remaining moves. To find 2-best moves, you will add something like 90% _more_ effort to that search, since the two best moves will each take about 90% of the original time, which almost doubles the effort. To find the best 5, you need about 5x the effort.

The up-side is that while searching PV moves (and now we have 5 of them) they are less subject to pruning and reduction oversights, so for the extra effort, you get additional accuracy. In a real game, playing with multi-PV would cost you _many_ Elo however...