Why PVs aren't displayed -- Robert Hourdart in TCEC chat
Posted: Fri Dec 01, 2017 10:33 pm
Editted From TCEC Chat: /videos/205467003:
https://www.twitch.tv/videos/205467003? ... video_chat
marklefler:Robert thanks. Are all Houdini shortened PV due to fail high/low unresolved searches? I ask because the number of one move PVs is very high. For example, just one full PV this game so far.
RobertHoudart:@marklefler just interrupted searches, the PV is simply not yet available at this iteration
marklefler:So mostly because of not even having finished searching the first move?
RobertHoudart:@marklefler correct - with all the threads running independently, there's no point waiting for thread 0 to finish doing something
RobertHoudart:in Houdini the "main" thread does nothing special, all the 43 threads are basically equivalent
marklefler:RobertHoudart: If the first move has not even been full searched, then there is no PV to report. So why not report the PV from the previous iteration?
RobertHoudart:@marklefler that PV is no longer available, it's been sent to the GUI in the previous iteration
fischerandom:@RobertHoudart Does it work like this: One thread starts the analysis, and after the first line have been generated with an eval, then work is distributed to a queue where other threads fetch work and then the first initial thread is doing the same work as any other thread? @marklefler Same question about Komodo : )
marklefler:fischerandom: no.
RobertHoudart:@fischerandom it's even simpler - all the threads start and run independently; they share their results via the hash table
arunsathya1309:@RobertHoudart so @Knight_Moves has to fix it or you can fix the PV issue, it really wud be great
Knight_Moves:Knight Moves isn't fixing anything
RobertHoudart:it's not just for H that the PV is often hidden - it's a generic problem that needs to be addressed in the cutechess-cli program used by TCEC
Knight_Moves:@arunsathya1309 I don't need to fix anything. cutechess reports what it gets
marklefler:or someone spending about 30 seconds could save the previous PV and print that out instead when they do not have a full one. Unfortunately, we do not have 30 seconds free.
RobertHoudart:again, many engines in this tournament have hidden their PVs - I can "solve" this in Houdini but that would not solve it for all the other engines
richard_tcec:Previous PV might not be valid anymore if a different move has been played
Knight_Moves:It's not the GUIs job to figure out what PV an engine wants
marklefler:fischerandom: Komodo always reports what it knows. there is a length limit on the PVs, but it is pretty long. SInce the final score comes from the end of the position in the PV (or a hash of that position), I think it is important to show. In Analysis mode (or go infinite), Komodo always eventually shows a full PV, since without it, what is the point of analysis.
https://www.twitch.tv/videos/205467003? ... video_chat
marklefler:Robert thanks. Are all Houdini shortened PV due to fail high/low unresolved searches? I ask because the number of one move PVs is very high. For example, just one full PV this game so far.
RobertHoudart:@marklefler just interrupted searches, the PV is simply not yet available at this iteration
marklefler:So mostly because of not even having finished searching the first move?
RobertHoudart:@marklefler correct - with all the threads running independently, there's no point waiting for thread 0 to finish doing something
RobertHoudart:in Houdini the "main" thread does nothing special, all the 43 threads are basically equivalent
marklefler:RobertHoudart: If the first move has not even been full searched, then there is no PV to report. So why not report the PV from the previous iteration?
RobertHoudart:@marklefler that PV is no longer available, it's been sent to the GUI in the previous iteration
fischerandom:@RobertHoudart Does it work like this: One thread starts the analysis, and after the first line have been generated with an eval, then work is distributed to a queue where other threads fetch work and then the first initial thread is doing the same work as any other thread? @marklefler Same question about Komodo : )
marklefler:fischerandom: no.
RobertHoudart:@fischerandom it's even simpler - all the threads start and run independently; they share their results via the hash table
arunsathya1309:@RobertHoudart so @Knight_Moves has to fix it or you can fix the PV issue, it really wud be great
Knight_Moves:Knight Moves isn't fixing anything
RobertHoudart:it's not just for H that the PV is often hidden - it's a generic problem that needs to be addressed in the cutechess-cli program used by TCEC
Knight_Moves:@arunsathya1309 I don't need to fix anything. cutechess reports what it gets
marklefler:or someone spending about 30 seconds could save the previous PV and print that out instead when they do not have a full one. Unfortunately, we do not have 30 seconds free.
RobertHoudart:again, many engines in this tournament have hidden their PVs - I can "solve" this in Houdini but that would not solve it for all the other engines
richard_tcec:Previous PV might not be valid anymore if a different move has been played
Knight_Moves:It's not the GUIs job to figure out what PV an engine wants
marklefler:fischerandom: Komodo always reports what it knows. there is a length limit on the PVs, but it is pretty long. SInce the final score comes from the end of the position in the PV (or a hash of that position), I think it is important to show. In Analysis mode (or go infinite), Komodo always eventually shows a full PV, since without it, what is the point of analysis.