Not logged inRybka Chess Community Forum
Up Topic Rybka Support & Discussion / Aquarium / Bug in position count
- - By Arkansaw (***) Date 2008-08-26 16:02
It's quite impossible for me to get 2 million positions...
Parent - - By Zruty (*****) [ru] Date 2008-08-26 16:17
This appears sometimes in IDeA, the tree itself is okay though. I'm investigating the matter. Actually, I'm thinking of changing the node count strategy.
Parent - - By Ozymandias (***) [es] Date 2008-08-29 00:48
I would certainly appreciate if someone hurried with this one, because it can really ruin your trees.
It has been previously reported here (that I can locate right now):
http://rybkaforum.net/cgi-bin/rybkaforum/topic_show.pl?tid=6746
and here we see another aspect of this problem (also pointed out before?):
http://rybkaforum.net/cgi-bin/rybkaforum/topic_show.pl?tid=6746
... the lack of control over the three repetition rule infringement, which can lead to never ending games/analysis.
Parent - - By buffos (Silver) [gr] Date 2008-08-29 05:16

> he lack of control over the three repetition rule infringement, which can lead to never ending games/analysis.


It is really difficult to show with words that this is definitely wrong.
You could help me if you provide me a tree (which of course its not private analysis and you dont mind sharing) you believe this is happening and i would be glad to show you why this is not the case
You must keep in mind that the score in the tree, although it is shown besides a move, is the score of the resulting position, so you have to ask yourself, is this really a draw? Are there options to avoid draw?
In game analysis , move score is not just the score of the resulting position. You take account some other parameters , like 3-fold repetition, and 50 move rule. Those rules can change the evaluation of the position in a game but not the evaluation of a position
For example if i blunder a three fold repetition in a game, in a winning position, this does not make the position draw, but its still winning, although the score in the game would be zero because of 3-fold repetition.

Please provide me with a tree (attach it here if you can) to show you in action what i mean.

> which can lead to never ending games/analysis


A position in the tree is never analysed twice (well it can be analysed to find alternatives etc... but not with the same conditions)

In a tree (graph in mathematics) there are paths, we call cyclic (in chess transpositions). You can choose to follow this path and do circles but you can choose to get out of this cycle.
If the cycle is the best option for BOTH sides, then its an obligatory cycle and the score is 0.0

Parent - - By Ozymandias (***) [es] Date 2008-08-29 20:53 Edited 2008-08-29 20:56
Well, this position:
2R5/2p1r2p/1p4p1/3b4/1PkB3P/2P2P2/5KP1/8 b - - 0 37

should do nicely.
I don't have enough patiente to see if it's really endless, but I've gotten past the 300 move mark and nothing changes after 41 ...bxc5.
Attachment: Archive.7z (22k)
Parent - - By buffos (Silver) [gr] Date 2008-08-29 20:54
below your message there is edit delete and attach
Parent - - By Ozymandias (***) [es] Date 2008-08-29 20:57
I see you're here. You were faster than my editing.
Parent - - By buffos (Silver) [gr] Date 2008-08-29 21:00
What am i suppose to be looking at? because i dont see an 3-fold.... etc
Can you please tell me the problem (besides the definately wrong number count)
Parent - - By Ozymandias (***) [es] Date 2008-08-29 21:04
Just short the tree by node count, place the mouse over the first choice, click on it and press the right arrow key.
You'll see the pieces just moving around without pawn advances or captures for as long as you can endure.
Parent - - By buffos (Silver) [gr] Date 2008-08-29 21:17
Well actually this is not a bug.

This is a super dead drawn position, and the engine (that sends the data to IDeA) just moves the pieces around till all legal moves are exausted.

I see in the alterantives pawn pushed, but they are definitely not best move .

Now I guess you ask why it does not show 0.0 score.
The scoring is the engines work. If the repetitions where forced IDeA would assign zero.
Now that its not forced, it will keep generating moves until all legal positions (without pawn pushes have been exhausted.)

There is no reason for IDeA to assign  a score of 0.00 to any of those positions, since the engine tells its not a draw.

I have suggested that IDeA stops propagating a variation if the score is not changed after N plies (where N is defined by user  and not changed is defined by user in centipawns.)
Parent - - By Ozymandias (***) [es] Date 2008-08-29 21:24
No, I'm not asking to change the score to 0.00, because I already know it's a draw. That doesn't bother me.
What I want is for the program to (at least) warn me about situations like this, so I can change the focus of the analysis to other moves or be done with the position entirely.
What you suggest is also a fine solution, what just doesn't cut is the current situation, where information gets corrupted and processing power goes to waste.
Parent - - By buffos (Silver) [gr] Date 2008-08-29 21:26
Well i dont know how easy it is to monitor depth (of all branches)  in a growing tree.
Only programmers know
Parent - - By Ozymandias (***) [es] Date 2008-08-29 21:34
If it's too difficult, the speed at which the node count grows, could also be used to detect when corruption it's taking place. This should be easy.
Parent - - By buffos (Silver) [gr] Date 2008-08-29 21:39
Well this is the first iteration (edition i mean) of IDeA. I think with time, this and other features will come.
Parent - - By Ozymandias (***) [es] Date 2008-08-29 22:05
I would call it a bug fix, more than a feature. Corrupted information is unreliable.
Parent - By buffos (Silver) [gr] Date 2008-08-29 22:10
I think changing node count is in the plans but the other part (stopping... etc... is certainly a feature, and a really hard one.)
Parent - - By Ozymandias (***) [es] Date 2008-09-06 14:36
Quite disappointing to see this wasn't addressed in the 3.0.5 update.
Parent - - By buffos (Silver) [gr] Date 2008-09-06 14:59 Edited 2008-09-06 15:01
it much harder than you can imagine.

I wonder by the way, how do you manage to get that numbers. I never encountered such a high count.

The tree must be really HUGE.... and slow

I always break the tree by subvariation , so its light and fast and then join to the "mother" tree.
Parent - - By Ozymandias (***) [es] Date 2008-09-06 16:50
Each one of my computers gets a branch, but that doesn't help at all when all of them end getting "corrupted".
It's not like I'm trying to reach those high node counts, it's just position related. You can try it yourself starting from the one I gave you here.
As for the tree being slow... you really don't know until you see it. Aquarium takes more than half of the CPU time when it has to minimax the same repeated positions time and time again.
I really don't care much if the task to solve this bug is easy or hard, it should have been detected in the beta stage, but now that it's out in the open it should be top priority.
Parent - - By buffos (Silver) [gr] Date 2008-09-06 16:59

> Aquarium takes more than half of the CPU time when it has to minimax the same repeated positions time and time again.


There is no other way i think. Do you have any other suggestion other than minimaxing?
The scores have to propagate to the top.

Have you ever reached that high node counts? I have never encountered them, this is way i ask.
If you could describe how you got them it would help.
Parent - By Sciolto (**) [nl] Date 2008-09-07 10:17
I get these high position counts in more than 50% of my trees. It is a very common problem.

You said that the evaluation of the position is not at fault. While in theory this is true, but if the position evaluation fails to recognize the 50 move rule for example than that is very likely going to result in an incorrect evaluation where it should have been evaluated as 0.00  Evaluations should not be taken out of context, meaning that the 50 moves leading up to the evaluation should be taken into account. I suspect that the design of IDeA does not allow this to be implemented, which basically renders it a useless in positions where the engine itself does not recognize the draw.

Though the 50 move rule might be impossible to implement in IDeA, finding something useful for three time repetition should have the top priority indeed. Even when there are still legal moves that don't result in a draw, like a pawn move that changes the position's structure, these alternatives can be discarded as 'legal' moves when the evaluation drops considerably. IDeA should be able to make its own 'evaluations' like : in this position so far there have been discovered 15 legal moves of which the top 5 moves have the same score and in each line leading to that score is a three fold repetition. The remaining 10 legal moves are evaluated with a 1,00 pawn penalty in score so they are not real alternatives. Ergo, discard these ten moves and find the 16th legal move and when not available change the score of the top 5 moves as 0,00.

The logic is very simple. If this cannot be implemented then I guess IDeA will stay flawed with regard to discovering such draws.
Parent - - By Arkansaw (***) Date 2008-09-07 04:26
I'm now getting numbers in the order of billions....I can close one eye regarding the wrong counts, but the erraticness is annoying because you can no longer rely on numbers to tell which lines you have spent time on before without checking with the pgn
Parent - - By buffos (Silver) [gr] Date 2008-09-07 09:15

>I'm now getting numbers in the order of billions..


I believe you but i dont know how you manage to do so.

How big are your trees? I keep my trees under 100K positions and never seen crazy numbers.
Ofcourse its annoying to see such numbers but by your estimation how many positions where in the tree before starting to show such figures?

Did you notice any pattern? It happens every time in every tree after some specific amount of time?
Parent - - By Arkansaw (***) Date 2008-09-07 11:50 Edited 2008-09-07 11:52
It's not hard, just be lazy and stick to the same tree

I have a 1716K tree....probably result of three weeks' work, so the real count should be at least a 6-digit number  (I already had 30k by Aug 27)
Parent - By buffos (Silver) [gr] Date 2008-09-07 12:18

> have a 1716K tree..


WOW :) . I will never reach that high :)

I think a possible (and nice  that would even help developers find errors) solution is to have a button to "recalculate position count" but i dont know how it will behave in such a big tree as yours.

> probably result of three weeks' work,


Keep backup.
Parent - - By cma6 (****) Date 2008-09-08 01:55
I had a related problem with IDeA:

y cma6 (***) Date 2008-09-07 09:58 Edited 2008-09-07 10:09
In Aquarium 3.05, when I do IDeA analysis over night, and then Stop IDeA and click "Add all interesting lines", I repeatedly get an Access Violation in module Aquarium".
Aquarium hangs and I have to get out of the program and restart it. All analysis is lost.
   Another suspicious sign is that the number of positions for the first move in the tree was almost 3 million!

       I tried "resetting the persistent hash" and also unloading and loading the engine, but that did not help. IDeA hangs Aquarium. I cannot stop IDeA but must get out of Aquarium and then restart it.
   Is it possible to get Aquarium 3.04 back?
Parent - - By Arkansaw (***) Date 2008-09-08 02:10
try not to add all interesting lines when your tree has at least 100000 positions, viewing the game will suddenly become very slow.....you can still get the lines by traversing the tree yourself

Aquarium/IDeA is not stable when the amount of data gets beyond a certain threshold.......they probably never had the chance to test such conditions
Parent - - By cma6 (****) Date 2008-09-08 02:44
Yes, I have now realized that it is a mistake to let the IDeA tree get too. My problem is what to do with a .hsh file that is too large and probably corrupted.

I am not sure which file is maintained by IDeA: DeepAnalysis.dst, DeepAnalysis.elm, DeepAnalysis.hsh all in /IDeA. Then there are other files possibly involved: infinite_analysis.elm, infinite_analysis.hsh, maintree.elm, maintree.hsh in \Atrees\.

There is also \PerHash\SavedHash.rsh, a file I created in the R3 engine parameters dialog on Vas' advice. It was never clear what was the difference between "Saved Hash" and "Persistent Hash" and the IDeA tree. However, SavedHash.rsh (16.3 MB)is dated 8/13/08, even though I do a lot of infinite and IDeA analysis every day and night.

      My problem is  that IDeA hangs when I try to apply it to a position from one game, although IDeA seems to work on positions from other games.

My guess is that there is some corruption in an unknown file related to one set of positions. But how to delete the file (which file or files?) without losing all IDeA analysis for the other games?

  One possible solution: I dimly remember that one can have more than one IDeA tree; so I could start a completely new IDeA but how to do that?
Parent - - By buffos (Silver) [gr] Date 2008-09-08 05:17

> DeepAnalysis.dst, DeepAnalysis.elm, DeepAnalysis.hsh all in /IDeA


just those.

>One possible solution: I dimly remember that one can have more than one IDeA tree; so I could start a completely new IDeA but how to do that?


When starting idea, you can change the name of the saved file , writing something else there thatn IDeA\deepanalysis. For example IDeA\myanalysis
Parent - - By cma6 (****) Date 2008-09-08 14:38
I tried your solution, giving the DeepAnalysis files a different name. I can start IDeA but now there is no way to Stop it. There is no Stop button. The only button at the top of the screen are the Fish, Open database, and Position Search. So I can start but not Stop IDeA.
Parent - - By buffos (Silver) [gr] Date 2008-09-08 15:27
what???
I think for some reason you clicked somewhere else and now you are not in IDeA.

1) Press the database button, to get in database mode (from the left sidebar)
2) Now in the left sidebar you will see an entry saying deepanalysis. click that and you are viewing the IDeA panel again.
Parent - By cma6 (****) Date 2008-09-08 16:22
I solved the problem, thanks to your help, Buffos.
I had to click a tab at the top of the screen just below the Fish. The tab says "Home-IDea". Without that being clicked, one will not have the IDeA buttons.
Up Topic Rybka Support & Discussion / Aquarium / Bug in position count

Powered by mwForum 2.27.4 © 1999-2012 Markus Wichitill