Not logged inRybka Chess Community Forum
Up Topic Rybka Support & Discussion / Aquarium / Analysis Quality Settings issue...wasting time!
- - By sbm (*) Date 2018-10-13 09:03
Hi there,

I noticed quite a lot that many times AQ does not works by the rules I made...I'm referring here to the Analysis Quality Settings: I have this settings for AQS:
5 seconds AND 31 plies
Max. time 180 seconds and "Wait for the next depth" is ON

Therefore by my poor knowledge of Boolean logic this should generate moves:

- with whatever depth bigger then 31, IF it makes it under 5 SECONDS

- with a depth of MAXIMUM 32 (31+wait for next depth) IF it needs more time than 5 seconds (but not more then 180 seconds)

therefore there should be no ongoing analysis with depth=46 and analysis time: 02:52 (it is obvious that both conditions ie 5s AND 31+1 where met already earlier)


Is it something that I misunderstand regarding this?
Parent - - By nebulus (****) [no] Date 2018-10-13 15:42
From the help file:
When "Wait for next depth" is selected, IDeA will not finish the analysis when the required combination of seconds and plies has been reached. Instead it will continue until the engine has completed the search at the current depth (or exceeded "Max. time") and returned the first move at the next higher depth. If the score doesn't change much, the analysis stops. Otherwise it will continue until a possible fail high/low has been resolved.
Parent - By sbm (*) Date 2018-10-14 15:19
Thanks for your input. I know that...the issue is...that right in front of my reached both 5 seconds and depth 31, then ...depth 32 ..then 33, 34, 35 so on so fort...and this in a time frame of more than 2 minutes. So, something is not working quite well here..because after satisfying both sides of the AND, it goes further...and completed the search at "the current depth" which was higher then 31...then completed the search at the next depth, and the next, and the next.. so on so fort.
Parent - By sbm (*) Date 2018-10-14 20:15
hm...the problem is...that the ..."score doesn't change MUCH" is very vague ....but in the setup and position the evaluation was 0.00 all the change, so then it should have stopped anyway ..per the rules You quoted.
Parent - - By pawnslinger (****) [us] Date 2018-10-13 22:34
Also, since you are using AND logic, it should fulfill both criteria... this could take longer than the time given (180 max), so the engine may use it's time management function to override and cut it short of the requested ply depth.

Since engines have time management functions, they can sometimes get around the requested parameters.  To prevent this, I usually use a larger value for the max time....  a common setup for my analysis is: 0 seconds AND 31 ply with max of 9999.  This does have one important drawback, some moves can consume large amounts of time to reach the specified ply depth.  I accept this, but it can be a bother sometimes... and many people do not use such a large max.
Parent - - By dickie (**) [gb] Date 2018-10-14 06:39
I think sbm is questioning how the depth of his analysis reached 46 when with his settings he would have expected it to cut off at 31 or 32. It seems unlikely both that the depth would have reached 46 in 5 secs and then not reached the next depth in the following 167 secs. Is it possible that this is a late endgame position analysed with fast hardware? Is it possible that the analysis engine has misbehaved? As you suggest, setting the initial time to 0 secs might be better in this setup.
Parent - By pawnslinger (****) [us] Date 2018-10-14 07:44 Edited 2018-10-14 07:48
I confess I don't know what's possible with his setup... look at the knps he is obtaining...  quite fast.  With that many knps he might get 41 ply pretty darn fast.  I usually get around a quarter of his speed, if that, and it takes me a bit longer to reach 41 ply in most positions.  Hard to say what it is doing for the rest of the nearly 3 minutes.  But I would bet on an engine bug of some kind.  I recently had to dump one of my engines because of a similar (not exactly the same) issue.  Engines sometimes get wrapped up doing their thing.

Especially when they are going very fast with lots of cores... sometimes it is even hard to manually stop them.
Parent - By sbm (*) Date 2018-10-14 15:24 Edited 2018-10-14 16:23
Definitely dickie! No, it does NOT reached depth 31 in 5 reached it somewhere around 20 seconds! therefore the analysis should have been finished in 20+ seconds, after it waited for next depth NO MATTER WHAT. The position is a middle game with really hard computational task.
Parent - - By Dadi Jonsson (Silver) [is] Date 2018-10-14 08:15
Based on the screen shot, this is at least a p19 task, which means that the engine is extending the line for several moves. Therefore it already has a lot of information about the position stored in hash when it starts analyzing the next position. Additionally, this is clearly a powerful engine (65 million N/s). As a result it will race through the initial iterations, in this case probably up to depth 45. Then it starts analyzing and due to "wait for next depth" it finishes the current depth (instead of stopping after 5 seconds) and that takes 2:52 which could be quite normal. The reason why it continues after that is either a fail high/low or a large enough change in the evaluation from the previous ply (as explained nebulus' post).

Since you feel that this is a waste of time, just clear "Wait for next depth".
Parent - By sbm (*) Date 2018-10-14 15:32 Edited 2018-10-14 16:24
The task is an Auto-Play Idea task, and I selected an engine configuration for this position where 30 of 32 available cores where used. So the finished moves ar OK to be there, because I used something like 100 halfmoves just to be sure it goes all the way.. I used to tick the Wait for next depth just to avoid fail low issues.
Parent - - By ChiefPushesWood (**) [us] Date 2018-10-14 14:44 Edited 2018-10-14 14:49

>- with whatever depth bigger then 31, IF it makes it under 5 SECONDS

I'm fairly certain you're misunderstanding this as well. Using the AND operator, you are asking for moves that have made the threshold of 31 plies AND have been analyzed for AT LEAST 5 seconds. Not under 5 seconds. The time function here is a minimum amount, not a max cap.

The MAX TIME function on the bottom applies only to how long the task allows for the engine to reach the 'wait for next depth'. As Dadi said, if you don't want that extra time, just uncheck that box.

In any case, you should adjust your expectations in regards to the quality settings AND/OR functionality.

Parent - - By sbm (*) Date 2018-10-14 15:48 Edited 2018-10-14 16:26
Sure, You are right (the time limit is AT LEAST...). So do I :grin:

because ... actually ... one would get depths higher then 31 ..only ... if it makes it under 5 seconds..because this is a TIME LIMIT for the task. IF the TIME threshold is crossed, it is crossed ONLY when the depth limit (in this particular case: 31) wasn't achieved in...5 seconds.
IF the 5 seconds has elapsed, AND the depth is lower then 31...THEN the task will continue (time limit is indifferent)...until it is 31. Therefore ...after the You called it "minimum" time (which is a correct phrasing btw) has elapsed There should be NO higher depth then 31..or 32 after have waited for next depth, because the PLIES it caps it.

Play around with some scenarios and You will see that this is the case (for this, just leave the MAX TIME function out from the equation)
Parent - - By pawnslinger (****) [us] Date 2018-10-14 16:36
You and Chief are both right, IMO.  But so is Dadi. 

Dadi hit on the key idea that I had missed.  With such a fast engine setup, it more than likely hit 31 ply very quickly, perhaps even 41 ply!!  So it was therefore trying to fill the requirement of "wait for next depth".  This threw the so called "monkey wrench" into the AND/OR stuff, because it added a 3rd AND requirement that had to be reached.  Also, as Dadi pointed out, the cache effect further increased its speed, making great depth available very quickly... but slowing things once out of cache.

As I wrote above, using 0 seconds for the time limit AND the desired ply depth, with or without "wait for next depth", is simpler and more straight forward (just my opinion, I could be wrong).

With 32 cores, I am curious which CPU you are using?  Is it the new threadripper by any chance?

I am just naturally nosy.
Parent - By ChiefPushesWood (**) [us] Date 2018-10-14 16:54
I'm curious (nosy) myself about his hardware. I'm currently saving towards a new build.

Parent - - By ChiefPushesWood (**) [us] Date 2018-10-14 16:52 Edited 2018-10-14 17:24
You're saying, in this post, the same thing I am. No need for testing. The time is always a minimum amount of time. The cap is applied by the ply depth you've selected. (in this specific scenario)

Again, Dadi has told you what this issue is... and the 'fix'.

Parent - - By sbm (*) Date 2018-10-14 20:07 Edited 2018-10-14 20:09
True true...I just wanted to clarify that there is no misunderstanding from my side regarding the AND setup. Dadi is probably right too, and that might be the issue after all...but this means that the Wait For Next Depth unfortunately does not work the way it should work, one can not use it for the purpose initially was built for:

"....if this is active, the engine is allowed to conclude its current depth and confirm the best evaluation" as it goes further then its "current" depth...and no one knows when will stop...

Yes, the machine is Threadripper based, but not the latest 2950, it is the previous model, the 1950.
Parent - By pawnslinger (****) [us] Date 2018-10-15 04:35
An impressive result for the 1950X.  I have seen some testing done with SF on the 2990WX and it was not much better!!!  But that was done by someone not really versed in Chess analysis.... but it definitely didn't scale as you might expect.
Up Topic Rybka Support & Discussion / Aquarium / Analysis Quality Settings issue...wasting time!

Powered by mwForum 2.27.4 © 1999-2012 Markus Wichitill