Not logged inRybka Chess Community Forum
Up Topic Rybka Support & Discussion / Aquarium / wishes at Aquarium 2019
1 2 Previous Next  
Parent - By pawnslinger (****) [us] Date 2018-01-19 06:54 Edited 2018-01-19 06:56
Yes, you are right.  But if you used that as the starting point for further analysis... as I would... it becomes very useful.  And if you do that essentially with every game you play and add them to a big tree... it might be interesting.  I have such a tree of all my Najdorf games and it is very interesting indeed.  Especially since I have played a large number of them against very strong opponents.

Now back to your specific example... after the first pass you would end up with 300 as the eval, whether you did it my way or the standard way.  Because minimax would back scatter the 300 down to each preceding position.  Now this would just be the very first baby step in the analysis of the game.  What I would personally do then is go thru the game step-by-step and add alternatives at each position... I would use a simple Custom Task for this purpose... adding more alternatives at early game positions and fewer and fewer as we got closer to the finale.  Then I would turn IDeA loose with its normal process, setting multiple root nodes at what I thought were interesting inflection points.

I would not end there.  Periodically during the IDeA run, I would go thru the critical lines that had developed and add more Custom Tasks to beef up the alternative lists.  Usually you cannot trust the alternative selection of Aquarium. 

Depending on my judgement of the evaluation, I would continue this process until 20,000 to 50,000 events had been processed.  All of this just to determine the proper eval of the first move!  To completely eval the game much more work would need to be done.  Typically by the time I finish playing a game using my methods, I end up with around a million events having been processed.  Sometimes the tree gets so cumbersome that I split off and start a 2nd or 3rd tree, depends on the game.
Parent - - By pawnslinger (****) [us] Date 2018-01-19 07:10
Here is a sample position from one of my trees.  The King's Indian.  I am playing White in this opening (I never play it from the Black side).  This position and the next couple of positions are critical in this opening.  The smallest misstep by either side can lose the balance and quickly the game.
Parent - - By Mark (****) [us] Date 2018-01-28 21:26

> Here is a sample position from one of my trees.  The King's Indian.


Now that's a huge tree! About how many positions total are in your King's Indian tree?  Also, how big is the associated epd file?  I had no idea Aquarium would be stable with trees that big.
Parent - - By pawnslinger (****) [us] Date 2018-01-29 19:21
I am not sure how many total positions the tree contains.  But I believe it is more than 3 million.  The tree is old enough that it has seen many crashes... so I am not sure that I would call Aquarium stable with such a large tree.  Almost every day, as I browse the tree, I run across damaged sections and do a lot of repair work.  Most of these have come along from prior versions of Aquarium.  In the old days Aquarium was not very good with such large trees.  It is much improved now.

I do not save the epd files.  Maybe if I had, I could reconstruct damage done to the tree more easily.  The Aquarium verify and recover routines are not able to detect the damage to the tree.  I only find it when I uncover a missing sub-tree.
Parent - By Mark (****) [us] Date 2018-01-29 20:43
Good info, thanks. I remember when Aquarium wasn’t stable with large trees.  I had mistakenly thought the epd files in the Data/IDeA/Results folder were needed for the tree and was worried about the file getting too big.  I got Aquarium 18 a month ago and haven’t had any problems with it yet.
Parent - - By pawnslinger (****) [us] Date 2018-01-19 07:20
Notice the IA column is blank.  As I wrote before I delete it daily.  Also the Master column is blank... I don't use it either.

Notice the 'N' column and the rather large numbers there.  I have analyzed this opening in great depth, not as great as the Najdorf however.  Aquarium says that I have spent 250 CPU days on this opening... but that is incorrect.  During various upgrade cycles the CPU time counters were reset.  I don't actually know how much CPU time is invested here.  But it is a substantial amount.  I have several games currently active in this opening, against IM and SIM level opponents.  Most of the GMs I have played avoid this and go for a Nimzo Indian.

I have a slight "-" score in this opening, its big advantage is that it is almost always decisive.  However, I do have some draws with it as well.
Parent - - By Ghengis-Kann (***) [us] Date 2018-01-19 22:37
This is pretty hilarious:
"What I would personally do then is go thru the game step-by-step and add alternatives at each position..."

So step 2 of the process is to analyze all of the positions that you didn't want to be analyzed in step 1.
Parent - By pawnslinger (****) [us] Date 2018-01-19 22:53 Edited 2018-01-20 03:02
No, silly, step 2 is to analyze ALTERNATIVES.  In the first step we can skip evaluation of the main sequence move.... it never needed to be evaluated.  Since it is always influenced by the minimax.
But the alternatives at each step will definitely need to be evaluated.  All is lost otherwise.  It has ever been thus.
Parent - By pawnslinger (****) [us] Date 2018-01-19 07:28
One interesting note about this position... I believe that f3 or Be3 are fairly equal (even though the evals are shown different).  Arguably I think they are the best moves in the position.  But Black has a very strong K side attack and White must be extremely careful.  I think the actual eval of these 2 "best moves" is actually near zero.  In other words, I think the engine is full of s*** and cannot properly evaluate this position.

It is what makes this position so attractive.  The engines can't seem to get it right.
Parent - - By SchackMatt (**) [se] Date 2018-01-19 08:09
Glad I understand your proposal.
I think we all develope our own process when analysing. Assuming your working process I have no doubt it would help you a lot but accordning to my working process it wouldn't.

Seems good to be able to choose option. Really a pitty that the possibility already is available but is not working due to a bug.

Perhaps now when Aq is rather stable they will get more time to take care of bugs and the interface.
Parent - - By mist (**) [gb] Date 2018-01-19 13:16
Although I do not use IDeA very much myself (over the years it has cost me no end of lost time and heartache due to unreliability) and use I.A. more, but I do like to read how the main user's use/work with it.
I have a few questions. 

a) Why do you seem to run everything from Sandbox;  what is the point, you have your games in your game Database, why not go from there?
b) Why do you  "delete the infinite analysis tree routinely" ?. I would have thought that would be something to keep.?
c) Does any of the settings for IDeA work in the "Advanced Engine" panel, if so which?
Parent - - By dickie (**) [bm] Date 2018-01-19 14:01 Upvotes 1
IDeA is now extremely reliable. In answer to your questions:
a) everything can be done from the Database window and like you I do not understand why some choose to switch to the Sandbox.
b) in older versions of Aquarium deleting infinite analysis helped with stability for some using short time or low depth settings. However I think that is no longer an issue and I agree with you that the IA data is well worth keeping.
c) all the settings in the advanced engine panel work. Perhaps the most useful is the fourth, “Add analysis to IDeA tree and generate alternative tasks”. I think this is the point Dadi was trying to make to Pawnslinger earlier as it already provides the feature that he is asking for.
Parent - By pawnslinger (****) [us] Date 2018-01-19 16:53
Why do I use the Sandbox?  Because I do not use the Database...  I guess the question is why don't I use the Database?  Because it has cost me too many lost Databases when I tried it.  It may work now, but it is not worth the risk.  For Database I use Chessbase (for many many years... I started with the Chessbase Light for free and now use Chessbase 14).

The reason I delete the IA tree... not for the reasons you listed.  I don't use it because I don't see the point of it.  It consumes time to update and maintain (and disc space).  So I get rid of something that I consider a waste of space and time.

All settings in the Advanced Engine panel work... if you don't mind the bugs.  That is the +-300 problem with any option that allows the direct entry of engine analysis into the IDeA tree.  Once the +-300 is in the IDeA tree, it can be hard to find, hard to fix and yet has a severe impact on the integrity of the tree.  For all I know I still have the 300's stuck in my trees from the limited test that I gave it.  I still run across them from time to time.  But it is becoming a rare event... a small blessing.
Parent - - By mist (**) [gb] Date 2018-01-19 16:57
(dickie)

I don't think you really answered my questions; more a case of agreeing with me, or having the same point of view!

As for IDeA now being more stable, I agree 100%
Parent - - By mist (**) [gb] Date 2018-01-19 17:06

>many lost Databases when I tried it.


Much the same with me with IDeA?!

I know you use it a great deal (IDeA) but even now,(much more stable) it STILL has faults.  How many years will it take them to get it right?!
Parent - - By pawnslinger (****) [us] Date 2018-01-19 19:32
Any large project, such as Aquarium surely is, takes time to workout the bugs.  Especially when you have the limited resources that ChessOk seems to have dedicated to it.

It is a usable tool.  I use it a lot.  I like it, but I always have wishes for the future.  Personally, I am giving Aq 2018 a skip.  For many reasons, not the least of which is that ChessOk has not done much of a sales job.  In the current environment, it is not enough to just produce a new version with no details and expect me to buy it.  Sorry ChessOk... maybe next year (or not).

So far, Dadi is the only one that has offered any reason to upgrade.  That was his comment concerning the continuing I/O improvement.  I applaud this improvement, but at a time when I have just upgraded from mechanical disc to SSD... it does not mean as much to me as it once did.  The I/O usage of Aq 2017, which I use, is very low, even with 4 copies running against the same SSD simultaneously.
Parent - - By Ghengis-Kann (***) [us] Date 2018-01-19 22:57
I do everything in the Sandbox because I can do everything in the Sandbox.

I have a tree configuration window with columns for IDEA analysis, infinite analysis, a color coded tree with my repertoire, and columns that show the number of games with that position in various databases. Also a big board window, an IDEA tasks window, a Project Status Window, and an Infinite analysis window.
All open at the same time.

Can you open a tree configuration window in the database section?
Parent - By pawnslinger (****) [us] Date 2018-01-20 00:15
I don't know.  I use neither the Database or Tree configuration.  Why ask me?
Parent - By dickie (**) [bm] Date 2018-01-20 01:03 Upvotes 1
Yes, I have a tree configuration area very similar to yours, but open in the database window. I suppose the advantage I find of using the database window is that there is no need to transfer each position to the sandbox, and several projects can be run simultaneously in the database window thus reducing cpu idle time. I don't think that is possible in the sandbox though you may tell me I am wrong. I use the sandbox for odd jobs outside the normal routine.
Parent - - By cma6 (****) Date 2018-01-23 01:27
"all the settings in the advanced engine panel work. Perhaps the most useful is the fourth, “Add analysis to IDeA tree and generate alternative tasks”. I think this is the point Dadi was trying to make to Pawnslinger earlier as it already provides the feature that he is asking for."

Dickie: is that 4th setting the one you use?
  My impression is that over the years, at least for heavy IDeA users with long analysis settings as Carl recommends, the consensus on this board has been that the 2nd setting was best: "Send positions from analysis line into IDeA"?

Also: "In practice the pv lines produced by IA can be pretty suspect beyond the first few moves. Sometimes even the second ply is not optimal." 

From Dadi's article, I have internalized the injunction to always send ia analysis to the IDeA queue of the project linked to the database game. Are you saying, or implying, that when doing that, one should not use a "normal" ia depth of, 40 ply for example, but rather only 2 ply? How else would one avoid the issue to which you refer "beyond the first few moves"?
Parent - By SchackMatt (**) [se] Date 2018-01-23 12:10 Edited 2018-01-23 12:16
Cma6 wrote ‘Also: "In practice the pv lines produced by IA can be pretty suspect beyond the first few moves. Sometimes even the second ply is not optimal."’

For me, mainly relying on IA, the above demands the most work from me. It is very often even the 2nd ply isn’t “the best”. I always run IA on at least the the 2nd ply as well before I go down about 10-20 plies and start IA again and then backtrack running IA every second move until I am back at my first play.
In between I let IDeA analyse the positions IA sent to the IDeA-queue. Perhaps I should in one of the cycles “Add analysis to IDeA tree and generate alternative tasks”. Currently I always run with the option “Send positions from analysis line into IDeA”.
Parent - - By dickie (**) [bm] Date 2018-01-23 16:21 Upvotes 1
In answer to cma6 I have usually used option 2 in the past, but on re-reading Dadi’s article now wish I had used option 4 and will do so in future. I avoided 4 because I was afraid non-IDeA engine evals might pollute the tree. You may remember that Stockfish for example had a very different evaluation system to other engines. But I was wrong, the tree cannot be polluted because IDeA in option 4 forces an alternative for each position that is received and extends the line by 1 move. Thus the IDeA engine will overwrite the evals received from IA on minimax. The advantage of option 4, as I see it, is that we get a line pasted into the tree plus an alternative for each position but at the cost of only 1 IDeA task for each position. Thus cpu time is used more efficiently than in option 2, assuming that the IA engine pv is sensible.

That leads to the second question, how long a pv is it sensible to send to IDeA. There is no good answer because the quality of pv’s beyond the first move is so variable. I keep it fairly short because I try to avoid injecting “noise” into my trees. I like my trees to be as sleek and efficient as possible. I am currently on vacation so do not have access to Aquarium, but somewhere in the settings you can create a threshold in terms of minimum analysis time and minimum depth. So for instance if the minimum depth is set to 35 and you have an IA depth of 40, then only the first 5 moves in the pv (40-35) are sent to IDeA.

I would be interested in other forum member’s views, perhaps we should start a new thread. I find that even though I have used Aquarium since its inception, I am still learning!
Parent - - By cma6 (****) Date 2018-01-23 20:23
One must apparently change to IDeA option 4 (from option 2) for the particular engine used for ia analysis and also in IDeA/Engines.

"somewhere in the settings you can create a threshold in terms of minimum analysis time and minimum depth. So for instance if the minimum depth is set to 35 and you have an IA depth of 40, then only the first 5 moves in the pv (40-35) are sent to IDeA."

It is unclear how to do this. 1) For each IDeA project, in Edit/IDeA Project Properties/Common/  at the bottom of dialog, one checks "Insert infinite analysis from linked games."  Then  pick sample settings of "Min. time: 30 (seconds); "Min. depth: 35 (plies)".  Presumably that is the "minimum depth" to which you refer. 
     As for having an "ia depth of 40", I don't see a setting, but rather one runs ia by hand in Database window until one gets to a depth of 40 ply, when the pv data is sent to IDea queue either automatically (since ply is greater than 35) or manually be right-clicking active line running in "analysis" pane.
Parent - - By dickie (**) [bm] Date 2018-01-23 21:37
I think you understand it. Once the IA time and depth minima are reached the position and eval of the first ply in the pv are sent automatically to the tree, provided the position is not already in the tree. It is an incremental process, for each increase in depth the next position and its eval are sent. So for example if the first position sent is at depth 35, the second ply in the pv will be sent when the IA depth reaches 36. If at depth 37 the IA engine finds a new main line then the revised first and second plies should also be sent automatically as well as the third ply. You decide manually when to stop the IA. It helps to have a prior idea of how much time you expect to spend on the IA analysis and then set a minimum depth you consider appropriate to the IA depths you expect to reach. Always bear in mind that the further you progress down the pv the more suspect the moves and therefore the greater risk of wasting precious cpu time. It is worth looking at Dadi’s paper again. He explains all this much better than me!
Parent - - By cma6 (****) Date 2018-01-24 04:10
Your understanding of the unreliability of PV after the first two plies in the "best line," implies that one should use at most the first 3 ply in the best line. In order to do this, assuming one routinely allows ia to run to achieve a depth of 40 ply, does that not mean that in IDeA one should
pick a setting of "Min. time: 30 (seconds); "Min. depth: 37 (plies)"?
Parent - By dickie (**) [bm] Date 2018-01-24 15:59
I do not think there is a best or perfect solution. What you suggest seems quite satisfactory. You do not necessarily need to limit yourself to 3 plies, but just be aware that the pv line may be diverging from best play within a few moves, and sometimes from the second move. SchackMatt’s approach also looks interesting and I share with him the objective of keeping our trees slim, focussed on candidate moves as far as is possible.
- - By pawnslinger (****) [us] Date 2018-01-21 17:48
I know I must sound like a broken record.  But I keep running into this issue.

I wish that the alternative generation scheme used by Aquarium was better!  Aquarium spends A LOT of time running down the wrong, and obviously to me wrong, alternative.  So I spend a very great amount of time going thru my trees adding alternatives before Aquarium goes off TOO DEEP on a bad choice.

This could be solved to a very great degree if Aquarium would do 1 thing better... seed new leaf nodes (or nearly new ones) with a bunch of alternatives.  Just simply put a goodly amount of likely alternatives into these nodes, so the prolongation cycles have some chance at decent alternatives early on.
Parent - - By Ghengis-Kann (***) [us] Date 2018-01-21 21:10
Hi Pawnslinger.

Use a tree generation strategy that generates however many alternatives you want.

Apply it to "the rest of the line" in the custom task menu.
It will go down whatever line you are currently analyzing and add alternatives wherever there are less than the number you specify in the strategy.
Parent - By pawnslinger (****) [us] Date 2018-01-22 01:48
A really interesting idea.  On most of my trees, they are too big to do this.  It would take forever.  But on newer ones... sounds very interesting.
Here is an example of what I run across all the time... from my Kings Indian tree:
Attachment: alternativesbug.jpg (92k)
Parent - - By pawnslinger (****) [us] Date 2018-01-22 01:53
Sorry, I forgot to embed the jpeg.

This shows how the tree put a lot of work into 1 leg of the tree before even looking for any alternatives.
Parent - - By Ghengis-Kann (***) [us] Date 2018-01-22 18:20
I generate alternatives by using IA in multi-variation mode and send every move from every line into the IDEA queue.
This provides decent alternatives and also fleshes them out a bit in terms of downstream potential.

Since we are in a wishes for Aquarium 2019 thread, I will throw one out there:
It would be nice to create custom tasks or tree generation strategies that run IA with specified parameters on each position that the task is assigned to or generates on it's own.
Parent - By pawnslinger (****) [us] Date 2018-01-23 00:08
I think I have suggested something similar but not quite the same.... I would like a Custom Task that would be run when a new leaf node is added to the tree.

Your idea about using the IA in multi-variation mode is good.  I use it in the Sandbox, I did not think it would work with IA in the IDeA though (the last time I tried that it crashed).  Speaking of which it would be nice if the IA had "cloud" features, like Chessbase does.  Also it would be nice if the IA in IDeA would "track" or "lock" as Chessbase does.  Chessbase has some nice IA features that would be easy for Aquarium to add.
Parent - - By Dadi Jonsson (Silver) [is] Date 2018-01-23 20:57
Your assumptions are all wrong. This is in fact perfectly normal and there is no need for an "improvement". Why? I leave that as an exercise for the reader :cool:

Hint 1: Pawnslinger leaves out an important piece of information about the position.

Hint 2: Aquarium trees are not trees in the mathematical/graph theoretical sense.

Those who crack this will learn a lot about IDeA and Aquarium trees.

If needed, I may explain this in a couple of months when I have more time.
Parent - - By pawnslinger (****) [us] Date 2018-01-23 22:15
Well, Dadi, I left out quite a bit of information about the position.  For example, I left out the position itself!  And I left out any information about what actually follows any of the moves listed... there could be large sub-trees hiding under any of the moves listed, and yet the N count for the move could be quite low due to transpositions. 

In this particular case, this tree is running on "Full Subtree Power", I left out that tidbit also.

But what I did include is something that I find particularly annoying when I find it... a tree node with too few alternatives, and alternative generation delayed whilst Aquarium pursued other options (like prolongation).  The tree shape was also not mentioned.  In this case though it is a mature tree with more than 3 million nodes, and the tree shape has changed over time.  For the last few months, I have been using "Default".  But a fair amount of work was done with "Moderate" and "Tactical".  And some I think at "Wide".  Also, this is an opening tree and this position occurs well into the opening variation.

I find that generally what happens is that in mature trees I have a tendency to set the search bounds low, so that I don't get flooded with too many alternatives.  I don't like to have more than 2k alternatives in one cycle.  Well, this means that many nodes suffer because they don't get the chance at alternative generation... or it is delayed.  As is the case here.  So it is the devil's choice.  Wider search bounds, wider trees with more alternatives.  A simple formula, no secret... and perhaps, normal.

In fact, I will grant you that what I showed is perfectly normal.

And that is the problem.  It is normal.

Thus my suggestion.  I believe Aquarium would benefit, if it was able to run a Custom Task to generate alternatives (as the player desires) upon creation of a new leaf node.  This would help, I believe.
Parent - - By Ghengis-Kann (***) [us] Date 2018-01-26 13:29 Edited 2018-01-26 14:15
Hi Pawnslinger.

I think most of what you are asking for might be doable with a tree generation strategy.
It would not be entirely automatic, as you would have to select which lines to apply it to.

How many alternatives do you want on each node in any given line that you will select by hand?
Do you want no prolongation of the alternatives, linear prolongation to some number of ply, or branching prolongation to some number of ply with some number of branches per ply?
Do you want all of the alternatives generated no matter how bad they are or is there some centipawn number that you will use to cut off additional alternative generation if an alternative is generated that is worse than the best one on that branch by the given number?

I will write the appropriate strategy for you and help you get started with it.
Parent - - By pawnslinger (****) [us] Date 2018-01-26 15:47
Hi Ghengis:

Thank you for your offer.  I am not sure what a "tree generation strategy" is.

I want to catch new leaf (empty) nodes, as they are first created and seed them with a Custom Task.  I endeavor already to do this manually, by traversing the critical lines in the tree until I find an empty node and then I run a Custom Task to populate it.  I vary all of the parameters of Custom Task (old style) as I feel is appropriate.  Commonly I ask for at least 3 alternatives and possibly as many as 16 depending on where the position is in the variation.  Sometimes I find a leaf node very close to the start of the variation and I have asked for as many as 20 alternatives.  Usually with auto-plies set to 1, but I have used up to 3 on occasion.  I don't really like auto-plies because it does not generate alternatives.  I usually use -+250 for the bounds, but that can be much bigger as seems appropriate.  Ply depth is usually set to the normal for the tree, but I have used higher ply depth, again, as seems appropriate for the tree.  I do this over and over and over.  Searching for nodes that are important to the tree and running Custom Task to get a decent number of alternatives populated as early as possible.  For large trees, like my Kings Indian in the example, it is a daunting task.
Parent - - By Ghengis-Kann (***) [us] Date 2018-01-27 15:09
I don't think I can help you here.

There will always be new leaf nodes with questionable evaluations until someone provides a complete mathematical solution to the game.
IDEA already detects and expands upon them.

It seems what you are asking for is to customize the behavior by which automatic expansion selects and prolongates alternatives.
That is certainly a worthy wish for AQ2019.
Parent - By dickie (**) [gb] Date 2018-01-27 16:07
Isn't the customisation already done by shapes? They are in simple xml files and maybe someone here understands how to edit them. If we could get a handle on that pawnslinger could construct his own shape to meet his personal requirements.
Parent - By pawnslinger (****) [us] Date 2018-01-27 17:33
I really don't think my "ask" is such a big deal.  The developers have already provided a "script" that can run and be modified for root nodes.  Why not extend that to leaf nodes as well?  I used to be a programmer, in a former life, I am retired now, and this sort of thing should not be be a huge amount of effort on their part.  And I think the benefit of having almost complete control of the leaf node creation process would be HUGE.

GM Kotov, in his book "How to Think Like a Grandmaster" (a book that I like a lot) describes the process of selecting the candidate moves.  And this is an extremely important step.  All future analysis is based on this.  Go wrong here and you end-up paying dearly later.
Parent - - By Ghengis-Kann (***) [us] Date 2018-01-26 13:05
Hi Dadi!

That was a fabulously helpful post.

More to the point and on topic, the reason why automatic expansion creates inefficient and bloated trees is because it spends such a small amount of time selecting alternatives.
Based on the text it uses to report activity it seems like maybe 1 second per position.
I switched to using the IA engine for alternative generation because I can choose how much time it spends on a position and the number of simultaneous alternatives that it searches for.

Allowing a configurable parameter for how much time automatic expansion spends to determine each alternative would be a simple and powerful way to improve the quality of the automatically generated trees.
The feature that Pawnslinger has been pining for where you can select the number of alternatives generated at each leaf node on every iteration of alternative generation would also be quite useful.
Parent - - By dickie (**) [gb] Date 2018-01-26 16:26 Upvotes 1
The time spent selecting alternatives seems to be relative to the the project analysis quality setting, which I think is reasonable. If you have a quality setting that requires several minutes rather than several seconds of analysis for each task, not only does Aquarium spend much longer selecting alternatives and prolongation tasks, but its judgements are based on much better eval information in the tree. The user has the choice. I am not sure we need anything more here.
Parent - - By pawnslinger (****) [us] Date 2018-01-26 18:33
Well, here's the thing.  I think you are correct about the alternative selection being relative to the quality (depth) in use.  If you select 20 for depth, maybe Aq will use 16 or something like that for alternative selection.  If you use 35 for the quality, then maybe Aq would use 26 for the alternative selection.  I am just pulling these numbers out of thin air for illustration purposes.

If this is generally the case, and I may have the details wrong, but I think something close to this is how it works... then it guarantees that the alternative selection process is quick and bad.  Overall I am of the opinion that if the alternatives were selected with more care (more time), then better alternatives would be selected to start with and then Aq could spend its time evaluating a decent set of reasonable moves.  As it is now, Aq often spends a great deal of time running down "blind alleys".

Under the best of circumstances, this is somewhat unavoidable.  And the sharper the position, the more critical this problem becomes.  And the sharp positions are the really important positions.
Parent - - By dickie (**) [gb] Date 2018-01-27 09:01
Pawnslinger wrote “I am of the opinion that if the alternatives were selected with more care (more time), then better alternatives would be selected to start with and then Aq could spend its time evaluating a decent set of reasonable moves”. Exactly my point. So why invest so much time in building huge trees of millions of positions where at least 90% of the moves must have little relevance to good play? Instead why not use that wasted energy to examine positions in much greater depth and Aquarium will use your IDeA engine to produce the higher quality alternatives that you want.
Parent - By Ghengis-Kann (***) [us] Date 2018-01-30 00:11 Upvotes 2
Alexander Kotov described a systematic way of calculating in his famous book called Think Like a Grandmaster.

His method is to first make a list of every reasonable candidate move, and then examine each in turn by first making a list of every reasonable response by your opponent, and then calculating the likely results of each reply to each candidate move.

This methodology has fallen by the wayside in human competition as modern tournament play has trended towards ever faster time controls, but it is still perfectly viable for computer analysis.

Note that this is very different from how automatic expansion works in IDEA.
IDEA picks a single candidate move (alternative) for each position and  "prolongates" it.
Maybe the next candidate move is at the root, or maybe it lies somewhere on one of these extended branches.
That depends on the mysterious "tree shape" parameter and some random numbers.
I'm not really sure how it all works, but it's more like organic tree growth than a systematic analysis of all reasonable candidate moves.

I'm not saying what IDEA does is bad.
It's a kind of compromise between the single deep lines of infinite analysis and the overly broad method of brute force.

I tried to get closer to Kotov's method with a tree strategy called Tabiya Sweep that I posted up somewhere on this forum.
It takes a long time and generates enormous shallow trees with dense transpositions.
I use these trees to understand move order subtleties in openings, or chose lines in true tabiya positions where the databases contain a bewildering number of options.
Also to prepare against human opponents who routinely play sub-optimal moves.

A quicker way to identify all of the reasonable alternatives is to run infinite analysis in multivariation mode with something like 9 simultaneous lines and send them all to the IDEA queue, but then you are faced with Pawnslinger's Paradox of how to find all the bad leaf node evaluations.

I'm actually glad there is no easy answer to Pawnslinger's Paradox, because if there was then chess would no longer be a game, it would be a math problem that was solved by computers.

I like Aquarium because Aquarium itself is a game to be played and tweaked and optimized.
Parent - - By Dadi Jonsson (Silver) [is] Date 2018-01-30 17:57 Upvotes 1

> The time spent selecting alternatives seems to be relative to the the project analysis quality setting, which I think is reasonable.


The Analysis Quality Settings you choose apply to all positions that are analyzed. It doesn't matter if IDeA is extending a line or generating an alternative. You can easily check this by clicking a task in the Task Queue (in the Stage Status window). The "Task settings" field displays the analysis settings for the task.

The exception is 7-piece endings where IDeA can automatically check the online Lomonosov tablebases and no analysis time is required.

However, the analysis time is influenced by time_tuning. It has been improved in Aquarium 2018, so the very short analysis times seen in earlier versions are rare. Still, IDeA doesn't spend much time on positions with a forced mate.

All this means that it's entirely up to the user to choose sufficient time for analyzing alternatives. Bad alternatives will not be analyzed as deeply as the mainline (due to time_tuning), but even that can be changed if you like.
Parent - By pawnslinger (****) [us] Date 2018-01-31 00:38
I could be wrong, but I think you missed the point (or perhaps I did).

The point is the amount of time IDeA gives to the alternative SELECTION process... not to the evaluation of the selected alternatives.  By examination of the IA column, we can see how deeply IDeA has looked into the potential alternatives.  Typically 10 or 12 ply is all I see.  Whereas the selected alternative is evaluated to the full user indicated depth.  In my case usually something in excess of 20 ply.

The problem being that the selection of alternatives deserves more time and care, but I see no way to affect that selection process.

At least not in any direct and clear way.  I try to affect it by use of Custom Tasks, the Custom Task seems to do a better job of alternative selection.  Also quite useful is the Multi-variation mode of the Sandbox.  Both of these are good ways to generate candidate lists.
Parent - - By dickie (**) [gb] Date 2018-01-31 10:08
Dadi, thank you once again for your enlightenment. I was under the misconception, maybe along with some others, that the IDeA engine was involved in the selection process. Clicking a task in the Task Queue proves that I was mistaken. It follows, I assume, that the selections of alternatives and prolongations in IDeA are managed solely by the Shape algorithms without recourse to the project analysis engine. I have learnt a lot from this thread, all of it off topic!
Parent - - By cma6 (****) Date 2018-02-01 01:40
"Selections of alternatives and prolongations in IDeA are managed solely by the Shape algorithms without recourse to the project analysis engine."

If this is the case, then selection of alternatives and prolongations in IDeA are managed by one's selection of two parameters: "Tree Shape" & "Tree Width".  In which case, we should have been discussing on this board for the last 5 years what combination of those two parameters are appropriate for each type of position.
Parent - By mist (**) [gb] Date 2018-02-01 09:26
"As the documentation has not changed much in 6/7 years, but the workings of Aq has in many ways, would it not be time for an update/re-write, or is everything 'as it once was' so to speak?"

The above is what I wrote in another thread but would apply here it seems.
Up Topic Rybka Support & Discussion / Aquarium / wishes at Aquarium 2019
1 2 Previous Next  

Powered by mwForum 2.27.4 © 1999-2012 Markus Wichitill