Not logged inRybka Chess Community Forum
Up Topic Rybka Support & Discussion / Aquarium / Strange problem in IDeA
- - By kirill57 (**) Date 2017-10-17 03:50
Recently I ran in a strange problem in the IDeA analysis. At certain points an apparently weaker chain of moves were selected and much stronger alternatives were ignored. The difference between the analyzed move and missed alternative were up to 200 cp. My settings were

120 s/m max 320s AND depth 31.
tree shape - long
preferred sides - both,
engine : asmfish_8_25_17.

Any ideas what could happen?
Parent - By OempaS (***) Date 2017-10-17 06:25
I believe this might happen with tree shape ‘longest’.
The system follows only a limited number of alternatives but very deep.
But it could also happen with other tree shapes when you set the width too narrow. 
Try another shape or increase the width (and avoid preferred setting ‘both’ , although I am not certain about the effect of this one setting).
Longest is normally used in end games.
A setting of 120 s/m seems rather high to me.
Parent - - By pawnslinger (****) Date 2017-10-17 06:27
IDeA suffers from a couple of structural problems.  Selection order of candidate moves is one of those problems.  I believe that the program uses more modest depth parameters to chose candidates and order their evaluation.  IDeA will follow a bad move until it becomes worse than the other candidates, and that could involve quite a lot of time and analysis.  I have posted examples of such in this forum.  To help overcome this I have suggested that any new leaf in the IDeA tree be pre-populated, at full depth and quality of analysis, with a list of candidates... a configurable number of candidates.  This could quite easily be done with most engines using the multi-variation mode.

So far as I can tell, my suggestion has fallen on deaf ears.  Perhaps they don't consider candidate selection a problem.
Parent - By kirill57 (**) Date 2017-10-18 01:49
Yes, it is definitely selection of the candidate moves. At some point I thought, that probably tree was corrupted in some strange way and fed all positions to the new IDeA project (with much faster settings of course). It produce same ridiculous result as my originally tree.Poor selection of candidates move is the only explanations I have to this.
- - By Viktor (**) Date 2017-10-17 07:27
As far as I know Zakharov Victor is aware of this issue and working on it.
Parent - - By SchackMatt (**) Date 2017-10-17 12:18
I think IDea has some problems starting with Aq2016. Currently I only rely on Infinite Analysis.

When running Idea Analysis, after a couple of hours IDea always start to analyse among others the same variations in the same infinite loops - transpositions. It never drops the candidate moves that runs into the infinite loop (transpositions) but just continues.

I have reported the problem and sent the files to the helpdesk but no response. It is the same problem for Houdini, Komodor and Stockfish.

It means I only run Idea for analysing positions which Infinite Analysis has sent to the IDea queue. On top of that I sometimes could continue analysing for another couple of hours with constant personal surveillances.

Before Aq2016 I never had this problem even if IDea was running uninterrupted for a week or more. An educated guess is that this very problem started with Aq2016 (could be Aq2015).

PS I realized it was rather difficult (complicated) to explain in English since my mother tongue is Swedish. Hope you do understand what I am saying.
Parent - - By pawnslinger (****) Date 2017-10-17 15:23 Edited 2017-10-18 07:26
I understand what you are saying... and, yes, I confirm this is a problem.  But I question that Aquarium did not exhibit this problem before Aquarium 2015 or 2016.  I have seen this issue for a long time, and I could be confused about when it started.  I try to control the issue by heavy manual intervention.  The most radical of which is the setting of multiple root nodes down alternative lines, avoiding the transpositional lines.  But some positions are extremely difficult and then I also rely on infinite analysis.  At this time, it is really the only alternative - and even then I always try to confirm analysis by shifting the root (moving thru the projected line in Chessbase with kibitzers active).
Parent - - By SchackMatt (**) Date 2017-10-17 19:34
Seams we have the same problem and trying to solve it in very much the same way, a lot of manual work and infinite analysis and checking in other softwares. I would like to add that I rarely use more than one root for analysis. In my experience it doesn't have any impact on the result. Still the same "continue analysing the transposition loop".

I do understand that this kind of problem could be introduced into a complex software when being updated. The strange thing is that Aq doesn't support us and indeed doesn't recognize it at all. Sad thing.
Parent - - By Ghengis-Kann (***) Date 2017-10-17 20:49 Edited 2017-10-17 21:37
I have been avoiding this by using infinite analysis to chose the candidate moves and seed the IDEA tree with positions.
Automatic expansion is turned off.

IDEA only has a small amount of time to decide which are the best candidate moves to use for expansion during the "Search for Alternatives" phase, so the choice of alternatives for automatic expansion is necessarily based upon a relatively shallow analysis.

Sitting an engine on a position in infinite analysis will generate much more accurate candidate moves that can each be sent to IDEA and individually examined according to the specified parameters.

This can provide a greater depth than is possible with infinite analysis or IDEA alone.
Suppose you send every move of every candidate line that IA considers for at least 30 seconds to IDEA, and then have IDEA look at each position in those lines for another 30 seconds.
A fast IA engine could reach something like 23 ply in 30 seconds, and IDEA running one engine per core can probably get to another 20 or so.
So the move at the tail end of IA's analysis is actually examined to 43 ply from the root in 60 seconds.

You can get the equivalent of Tree Width in IDEA by running multiple parallel threads of IA and sending out all of the positions.
I will tell IA to examine anywhere from 1 to 6 parallel lines and send all of the moves from all of them to IDEA.
Parent - - By SchackMatt (**) Date 2017-10-17 21:47 Edited 2017-10-17 21:50
Hi Ghengis-Kann,

Interesting suggestion but I don't understand how to carry it out in a practical way. At least not without a huge input of work by yourselfe.
I always struggle with the question: should I invest time in the engine or should I invest time in my chess understanding?

From my point of view the engine should support my understanding of chess and not the other way around.
Parent - - By Ghengis-Kann (***) Date 2017-10-17 22:25
There is a substantial investment of your time to move the infinite analysis "root node" around by hand, but if you care about improving your understanding of chess then you will surely learn more by doing that than running IDEA on auto pilot.

I use the engine to support my knowledge of chess by having it fill in the blanks of paper books.
Whenever I wonder about some alternative line that the author ignores I can check it out with Aquarium.
Same goes for the typical vague statements at the end of a line "...and black stands better",  "...with a strong initiative", or simply "+/=".
Parent - By pawnslinger (****) Date 2017-10-18 08:04
I think I understand your method, and it does work.  However, it would be better if Aquarium were fixed so that it handled alternative generation better.  At the time of new leaf generation clearly Aquarium would have to spend more time to do a better job.  This would cause the evaluation of events, especially prolongation events, to be a longer more tedious process.  Hopefully it would be worth the effort, and would save time downstream by avoiding much redundant evaluation (or the considerable time just spent evaluating poor moves).

The payoff, the real payoff, of automatic alternative generation is the discovery of new and novel moves... I think that IA can do that too... which method would be best in an ideal world (i.e. if Aquarium did not have this transpositional failure)?  I am not sure, but I would sure like Aquarium to be fixed and let's give it a try.  There is no reason that Aquarium's "search" cannot be at least as good as, and probably better than that used in most engines.

And yes, what Aquarium does, what most engines do, is a search.  Very similar actually to numerical analysis programs that search for the zeroes of a polynomial -- which I used to write as a Fortran programmer many years ago.
Parent - - By OempaS (***) Date 2017-10-17 22:45

> continue analysing the transposition loop"

> Aq doesn't support us and indeed doesn't recognize it at all.

Not true...

The issue of analysing in a loop has been discussed on this forum many times before.
The program does not 'make moves'.... it analyses positions. Basis on the outcome it continues with a next position.
For example: Position A leads to position B and then to position C. It may very well be that the program finds that the evaluation of position C leads it to analyse position A !
Always keep in mind that trees in IDeA do not contain moves. They contain positions with evaluations
The only one who can get it out of such a loop is: you. By making a move during IA.
Parent - - By Ghengis-Kann (***) Date 2017-10-17 23:27
It is definitely not new and Aquarium has actually gotten better about it over time.

This thread was started by me in 2014:;hl=2000%20fold%20repetition

Back then Aquarium would count each instance of A, B, and C as distinct positions, and in the example above it reported 6000 positions analyzed downstream of a root when there were really only 3.

I haven't seen one of those with the newer versions, but maybe that's just because I abandoned automatic expansion.
Parent - By SchackMatt (**) Date 2017-10-18 12:20
I am currently running Aq2016 and get it all the time when analysing in IDea mode more than e.g. 4 or 5 hours. I am running with "tree expansion" on. I also (usually) only analyse 1 root and 1 project at a time. Currently I more often than not get more than 5 of these roots. It usually is a huge job to tidy up. As you told me you reported it already in 2014 so I don't have to tell you about the inconvenience.

My solution is to rely on IA. Perhaps I also should try "tree expansion" off. I have to study the manual before running it. From a practical point of view it is new to me so I don't really know how to continue and interpret the result after such an analyse.
My personal interest of IDea analysis is to find  new moves not found during IA and as a sanity check of IA. I am not interested in huge opening trees.
Parent - By SchackMatt (**) Date 2017-10-18 13:08
Hi again Ghengis-Kann,

I have now read your old thread and must say I am a bit confused. The pure definition of a tree is that it is not circular. No node may point back to another previous node in the tree. If a node is pointing back to a previous node it is not a Tree but a Networks. Trees and Networks have different set of rules.

My conclusion is that Aq does not comply to the rules of a Tree and if they had complied they wouldn't have had the issue we are talking about. The deviation from Tree-definition also affected when you were trying to do a crop.

Personally I don't really understand why they cannot resolve this issue. It could be due to time constraint of programming resources. If they had informed about this from the very beginning I would have had more forbearance.

From my point of view something was happening in Aq2016 tree management. Unfortunately most of you experinced it pre-Aq2016 as well. Could it have been worse in Aq2016? It do happen to me almost in every IDea analysis with multiple roots and pre-Aq2016 it never happened to me (what I could see).
Parent - - By SchackMatt (**) Date 2017-10-18 02:44
"For example: Position A leads to position B and then to position C. It may very well be that the program finds that the evaluation of position C leads it to analyse position A !"

Certainly you are right here Oempas and I do understand this very well. The problem is when Aq continues analysing positions A,B,C,A,B,C,A,B,C,A,B,C,A,B,C,A,B,C,A... well if I would continue I probably would be seen as at least boring.

"The issue of analysing in a loop has been discussed on this forum many times before." - does not this support the claim that Aq support does not take it seriously? Still no solution.

I have no interest argueing this or that. I just want to point out that the issue remains. In the end I would appreciate a solution to the issue. There seams to be a major issue in IDea.
Parent - - By OempaS (***) Date 2017-10-18 09:16

> would appreciate a solution to the issue. There seams to be a major issue in IDea.

Go to the thread referred to by Ghengis-Kann above. Read the whole thread. In there you can read also:
I really do not understand your problem. You probably do not understand what a tree is or something else is confusing you.
The situation has not changed: there is no solution because there is not really a problem..
Again: there are no moves in the tree, only positions.
Also note that this forum is a user forum... not from ChessOK. It is May be it is better to mail any 'major issues'  to ChessOK directly?
Parent - By SchackMatt (**) Date 2017-10-18 11:57
I am very sorry if I have offended you or do not have the same opinion as you. Anyhow I will continue saying what I think as a user, which I am.
Also would like to point out that as a trained mathematician I know very well what a tree, node, position, root ... is. Perhaps as well as you?  I know it very well from both a theoretical and a practical view. I am also well aware of the difference between a move and a position.

I have actually been in touch with the Aq support at several occasions. I am sorry to say that it must have been stucked between two chairs since I have not got any response.

I do accept your opinion even if it doesn't comply with the opinion of mine. I fail to understand though the harsh and patronising tone of yours. I had also accepted the error if Aq support had given me a plausible explanation.

I do hope OempaS that we may discuss with each other on this forum in the future as two chess fans.
Parent - By pawnslinger (****) Date 2017-10-18 17:29
Beside the ABCABCABC type of circular analysis problem, there also exists the problem of moves leading thru different paths to the same destination position.  Lets say position A leads to position B or C depending on move selection, then in B and C they could both contain a move that would lead to position D.  Thus forming a "diamond" shape, instead of a more linear or circular structure.  Of course this is a very common problem, we all learn of this when we take our first or second Chess lesson.  We think of it as the classic transposition.  I believe this type of structure also causes a problem for Aquarium IDeA.  I spend a lot of time going thru looking at these structures trying to find "intermezzo" moves that will disrupt things and break the positions symmetrical flow.  Aquarium does not seem to do this type of search well.  It seems to get stuck looking at a more limited set of alternatives in great detail and must be forced manually to seek alternatives.  I spend a lot of my time adding alternatives to these types of structures... usually thru "custom task".
Parent - - By Dadi Jonsson (Silver) Date 2017-10-19 16:56

> Position A leads to position B and then to position C. It may very well be that the program finds that the evaluation of position C leads it to analyse position A !

It's simple. And has been explained numerous times. IDeA never analyzes the same position twice.

Unfortunately this thread is full of erroneous information about IDeA.
Parent - By pawnslinger (****) Date 2017-10-19 19:07
Welcome back Dadi.

Actually, this is a problem.  IDeA should never analyze a position.  Not once, not twice, never.  IDeA should evaluate moves that can be made from a position.  A very small but I think significant distinction.  A philosophical point, you might say.  But in truth, Aquarium never assigns an evaluation to a position.  It has no mechanism to do it.  At least none visible to us, the users.

Other programs, similar to Aquarium, do assign values to positions.  One such program that I used many years ago is called Bookup.  I think it has been renamed something like MasterChess (I am unsure about that name).
Parent - By pawnslinger (****) Date 2017-10-19 19:20 Edited 2017-10-19 22:02
One of the effects of this evaluation of moves, not positions, is that there are many possible moves in any given position (obviously), so each time that IDeA goes thru an alternative generation cycle, new moves can be added to any position (possibly over and over and over again).  In the case of a large transpositional loop, this can be a rather tedious exercise in frustration... I could show numerous examples (and have done in the past).  These types of situations literally present themselves in my work on a daily basis.  In some trees, the situation becomes so severe, and the analysis seems to be running around in a big circle, that I end up throwing the tree away and beginning anew.  With a live game, unlike opening trees, I don't have the luxury of time to wait for the program to figure out how to escape the transpositional circle.

In the new tree, it is best to select a strategy with IDeA that will avoid the transpositional bog... usually I increase the depth of analysis.  For example just yesterday morning I did this, increasing the depth of analysis from 24 to 28 in the new tree.  This did slow things down quite a bit, but I was able to reach what I considered a satisfactory analysis of the position in about 6 cpu days.
Parent - By SchackMatt (**) Date 2017-10-19 19:22 Edited 2017-10-19 21:50
Good to see you again!

I understand what you are saying.

Below I will use Aq's column names - move and N.
Would you also please explain why I get a lot of transpositions in all positions I am analysing in IDea.
All moves in the transposition sequence have a very fast increasing N. E.g IDea overnight could give N=10000 (my depth is Stockfish/39) for all thos moves (N is usually the same for all such moves) ,but all other moves only has about N=30-100. If I continue analysing the N will increase in the same pace. Fast increasing N could indicate that no calculation is done. If that is the case why is N increasing? Isn't N the number of positions that is analysed.

Analysing a position which end up with about 20 candidate movesm, 2 to 10 of them are such transpositions.

I realize that (given positions A1, B, C) position C could find position A1 a good position and suggests the very same position ending up in e.g A2. Now we have a transposition since A1 is equal to A2.

What I don't really understand is that so many candidate moves, up to 50% and more transpose (haven not though made any calculations at all how many it could statisticly be)  and especially that N is increasing all the time as it is analyzing the position again and again.

My experience is that it is very difficult to continue my analyse since I probably am hunged up on the inicreasing N. I usually use the number N as a quality indicator.

PS Messy english by a Swede but I think you see what I mean and hope you have the time to explain so we msy put aan end to this.

Edited - I have the same practically workload as Pawnslinger is describing - Are there any suggestions how to diminish that workload?
Parent - By Ghengis-Kann (***) Date 2017-10-19 23:19
Hi Dadi.

Please be kind enough to provide us with the correct information.

If IDEA never analyzes the same position twice then why does it report an N of thousands when there are only 3 positions in the tree?

Simple logic dictates that the only way this can be true is if N represents something other than the number of positions in the tree that are downstream of the move that the N value is assigned to.

So what does N actually refer to?
- - By Viktor (**) Date 2017-10-20 05:49
This problem and try to solve the following:
1) Press f4, the IDeA gives the main option. Unfortunately, the issued after analysis of f4 gives the correct option, as the position still have repetition.But this way I get the final position. Then connect settings: the current position and the user's task to analyze these end positions.
Then either adjust roots, or to use a feature Strategy (TGS). Analyzed important position after the minimax will give the changes and the progress on the right track. This way sometimes gives
the ability to understand, but they need to manage.
2) Manual processing may be at an impasse, but it is difficult. And given the target position can help.

Attempts of infinite analysis in great depth, as a rule, did not help me. A long analysis of the project also did not lead to the result.
Parent - By pawnslinger (****) Date 2017-10-20 17:49
Hi Viktor:

I am not sure I understand.  When I press f4, I am taken to the root position.  I am unsure what to do there... I see that you seem to be describing a process involving the leaf nodes... if so, I agree with you, going to the leaf nodes and analyzing them will help resolve the issue, after a minimax has been done.  I do this so often that it is habit (and also how I find the problem points).  If I press f4 then navigate down the line of play, using the first move from the candidate list in each succeeding position, hopefully I will reach a leaf node ... but not always, if there exists a transpositional loop within that line of play, then it will loop back on itself.  At that point the user must stop blindly choosing the top move and select an alternative, hopefully one that will lead to a leaf node (but often these alternatives just lead to another transposition).   It can be difficult to reach a leaf node.  But once a leaf node is reached, I use "Custom Task" to analyze it... and of course I have been adding alternatives all along the route of play.

This can work, if the tree is not too far down the "rabbit hole".
Up Topic Rybka Support & Discussion / Aquarium / Strange problem in IDeA

Powered by mwForum 2.27.4 © 1999-2012 Markus Wichitill