Not logged inRybka Chess Community Forum
Up Topic Rybka Support & Discussion / Aquarium / Using aquarium book
- - By Alkelele (****) Date 2013-09-11 11:21 Upvotes 1
Is it possible to do the following:

1) Make book play best mini-maxed move from tree.
2) Play on a chess server with this book.
Parent - - By Dadi Jonsson (Silver) [is] Date 2013-09-13 16:54

> 1) Make book play best mini-maxed move from tree.


I did this a long time ago, but I don't remember the steps off the top of my head. Maybe I'll look into this over the weekend.

> 2) Play on a chess server with this book.


You can use the Aquarium Book Adapter, but there are others who are more familiar with it than I am.
Parent - By Alkelele (****) Date 2013-09-13 17:01
Thanks, I tried to fiddle with the book settings, but the best I could do was make it play according to min-max scores, but distributed somehow, so that the best moves got higher percentages, but worse moves were still played.
Parent - - By Dadi Jonsson (Silver) [is] Date 2013-09-16 09:26

> 1) Make book play best mini-maxed move from tree.


Tree tab > Options > New...

Create a new IDeA-like tree configuration



Select the IDeA tree to be used in the opening book. You can change to a different tree any time you like after you have created the new tree configuration. In other words, you only need to create one tree configuration and then you can use it to play from any IDeA tree that you like.



Give the new tree configuration a name. I call it IDeA-book.



Next click the "Opening book settings..." button.



Select the checkbox for "Play probability" in the "Vis" column so the play probability column will be displayed in the tree window.

The tricky part is that we need to define a new function which only gives a (positive) bonus to the move(s) with the highest IDeA score. In the display above I have called it "bestonly". Double-click the "Function" cell and type the name that you want to give to this function.

The function itself is shown below. Just copy and paste it into tree_configurations.xml in the Config directory (changing the function name if you don't call it "bestonly"). Make sure that you exit Aquarium first! You will find the definition of several functions there. I put the new function above the "constant" function. Perhaps its best to start by adding the function to the xml-file and then go through the steps above in Aquarium.
    <function name="bestonly" rel="1" points="2">
      <p x="0" y="1"/>
      <p x="1" y="-1"/>
    </function>
Parent - - By Nick (*****) [gb] Date 2013-09-16 16:42
Thanks Dadi, this is very interesting, I might play around with this too.

One additional question, do you know if a formula can be used to have move choice respect the information in "Main tree path" and "Discarded tree path" before respecting the IDeA score?

So ideally the opening tree would play:

1) 100% chance of playing move if it's "green" (regardless of IDeA score)
2) 0% chance of playing move if it is discarded (regardless of IDeA score)
3) If move is not green or discarded then play best IDeA scored move

I tried the following, but it didn't work, the green move was 0% play in those circumstances where there was not an IDeA score for it:

   <function name="bestonly" rel="1" points="3">
      <p x="0" y="1"/>
      <p x="1" y="-1"/>
      <p x="2" y="1"/>
    </function>


Which is not surprising really as I don't know how these formulas work :grin: Any ideas?

Best regards,
Nick
Parent - - By Dadi Jonsson (Silver) [is] Date 2013-09-16 18:19
I expected some follow-up questions from you guys :smile:

Change the function as follows:

    <function name="bestonly" rel="1" points="3">
      <p x="0" y="1"/>
      <p x="1" y="0"/>
      <p x="2" y="0"/>
    </function>


Press "Add standard columns" in the "Opening book configuration" window (see image below). This adds several columns of type "Bonus" to the configuration.

Change the weight of the "dasc" column to 1000 and the weight of "md" to 1 (these weights are highlighted in the screen shot). Change all other bonus weights to zero.

I did a quick test and this seems to do what you want regarding colored and discarded moves.
Parent - - By Nick (*****) [gb] Date 2013-09-16 18:43
It works - you're a genius!  I can't say I have any idea why it works but it does!  Thanks very much indeed, Dadi :grin:
Parent - - By Banned for Life (Gold) Date 2013-09-16 19:36
Ok, we will await the return of Big Momma. I wonder if Nakamura stills plays blitz against engines?
Parent - - By Nick (*****) [gb] Date 2013-09-16 20:11

> I wonder if Nakamura stills plays blitz against engines?


No idea, I guess he might play the occasional game, although in 2013 the position is very different from the mid 00's when Big Momma was active on the ICC.   Naka played a lot but I think that Kamsky was probably my machines' most prolific opponent, although they all had a go back then, I remember Radjabov playing a lot, with the odd game from people like Grischuk and even a young Carlsen too.

I knew how to make an engine play on a chess server using my Aquarium book with the Aquarium Book Adapter but this (Dagh/Dadi) method allows the book exit points to be supplemented by the subsequent best moves from IDeA, which will be as good as the time you let IDeA crunch on your book leaf tips :grin:  It's a nice idea (no pun intended).
Parent - - By Banned for Life (Gold) Date 2013-09-16 21:00
Naka played a lot but I think that Kamsky was probably my machines' most prolific opponent, although they all had a go back then, I remember Radjabov playing a lot, with the odd game from people like Grischuk and even a young Carlsen too.

Wow! You should publish an anthology of blitz games with top players! :lol: Who had the best record? Yes, I know it was dismall...
Parent - By Nick (*****) [gb] Date 2013-09-16 21:06
I've lost a lot of the games now (I guess ICC, or Nelson) would have them.  I'm pretty sure that Rustemov (userid: Goldmund) was far and away the best at playing against my machine.  Kamsky and Raja were interesting to talk to, and also Le Quang Liem, who was using my machine to train against.  He was working with Anand at the time and had some pretty good innovations in the Ruy Lopez that I hadn't seen before.
Parent - - By Alkelele (****) Date 2013-09-19 11:36
I can't quite make this work.

When I color a best move (according to eval) green, it gets all the play probability among the best moves.

But if I color an inferior move green, then what happens is the best move gets 0%, and all moves have 0%.

So I can't make the book play an inferior move by design.
Parent - - By Dadi Jonsson (Silver) [is] Date 2013-09-22 09:18
Did you use the modified function (the one with three points)? Did you delete the older version of the function from tree_configurations.xml (if you tested my initial version first)?
Parent - - By Alkelele (****) Date 2013-09-22 09:24
I should think so. I have this in my file:

<function name="bestonly" rel="1" points="3">
      <p x="0" y="1"/>
      <p x="1" y="0"/>
      <p x="2" y="0"/>
    </function>

Let me ask Nick if he has the same issue, or if it is something weird on my end only.
Parent - By Dadi Jonsson (Silver) [is] Date 2013-09-22 09:41
Looks OK. Also check that the "Weight" column looks exactly like the image above (some of the weight had to be zeroed).
Parent - - By Nick (*****) [gb] Date 2013-09-22 16:15
That formula of Dad's works for me Dagh and on the "Opening Book Settings .." button of the tree I have the following:
Parent - - By Alkelele (****) Date 2013-09-23 02:18
Still not working for me.

I have the exact same settings as you, except your "dasc" column is called "sc" here.

Also, my rows are in a different order.

I wonder if this is due to me having some kind of 6.x beta version.
Parent - - By Dadi Jonsson (Silver) [is] Date 2013-09-23 08:07
Attach the XML-file of this tree configuration to your post. You will find it in Config\TreeConfig\<name>.xml (where <name> is the name you gave the tree configuration when you created it).
Parent - By keoki010 (Silver) [us] Date 2013-09-23 15:43
Dadi,  can you tell me what the rel = 0 0r 1 in the function definition does?

<function name="bestonly" rel="1" points="3">
      <p x="0" y="1"/>
      <p x="1" y="0"/>
      <p x="2" y="0"/>
    </function>
Parent - - By Alkelele (****) Date 2013-09-24 00:12
Success!

After I updated from beta version to Aquarium 2012, this thing got sorted out.

Thanks for the help and sorry for the troubles!
Parent - By keoki010 (Silver) [us] Date 2013-09-24 01:27
I also running the 6.0.1 build 533 beta and don't quite have the same problems. Sometimes 1 line in the config changes lots of things.
Parent - By keoki010 (Silver) [us] Date 2013-09-21 20:35

> Change the function as follows:
>
> <CODE>&nbsp; &nbsp; <function name="bestonly" rel="1" points="3">
> &nbsp; &nbsp; &nbsp; <p x="0" y="1"/>
> &nbsp; &nbsp; &nbsp; <p x="1" y="0"/>
> &nbsp; &nbsp; &nbsp; <p x="2" y="0"/>
> &nbsp; &nbsp; </function>
> </CODE>
>
>


I've been trying to learn how to do this stuff on the internet and found that 6th graders are supposed to know this! I knew my memory wasn't what it used to be but that was 60 years ago when I was a sixth grader. :grin::grin::grin:

Can anyone, "Dadi" tell me what the rel = 0 0r 1 does?
Parent - By Alkelele (****) Date 2013-09-16 21:07
Thanks a lot, Dadi!!!

I will probably also have some follow up questions, lol.
Parent - By Carl Bicknell (*****) [gb] Date 2013-09-19 12:41
Very interesting, thanks!
Parent - - By keoki010 (Silver) [us] Date 2013-09-29 18:43 Edited 2013-09-29 18:45
Dadi, can you please take a look at the attached xml file and tell me where to look to fix it. I am trying to get col BSuc and BSuc1 to look at 2 different success columns. However it seems no matter what I do both are looking at the succtot column.  All help is appreciated.
{edit} the Capture.jpg is a snip of the tree in Aquarium.
Attachment: IALLME.xml (8k)
Attachment: Capture.JPG (99k)
Parent - - By Dadi Jonsson (Silver) [is] Date 2013-09-30 08:46
I'll have a look at this tonight.
Parent - By keoki010 (Silver) [us] Date 2013-09-30 13:43
Ok, thanks Dadi.
Parent - - By Dadi Jonsson (Silver) [is] Date 2013-09-30 21:35
I remember that buffos, in his tutorial on the opening book bonus system, mentioned that some of the standard functions always referred to the first occurrence of a column of a certain type. I think that's what you are running into here with the std.multiplied_success function. It requires column type 'Success' as an argument and simply picks up the value from the first column of that type.

If you change the 'Function' to something like identity (as shown in the image below), you will see that it picks up the value from the column that you want to use. This means that instead of using std.multiplied_success, you need to create your own function if you want to base the move choices on 'Success' columns from two (or more) different databases/trees.
Parent - By keoki010 (Silver) [us] Date 2013-09-30 21:48
Ok, I went through buffos tutorials again but must have missed that. I surmised that that was what was happening. There are a couple of other std type functions that do the same things. Looks like I'll go back to the drawing board and relearn some of the function math. I found a good tutorial for it on the internet.
Parent - By keoki010 (Silver) [us] Date 2013-09-30 22:39
Thanks again Dadi. I modified this one and it works. Just have to figure out the weights to use now.  What does the "rel=0 or 1" do? buffos forgot to include that in his tutorial. :lol:

    </function>
    <function name="best_successbase" rel="0" points="11">
      <p x="0" y="-100"/>
      <p x="10" y="-80"/>
      <p x="20" y="-60"/>
      <p x="30" y="-40"/>
      <p x="40" y="-20"/>
      <p x="50" y="0"/>
      <p x="60" y="100"/>
      <p x="70" y="200"/>
      <p x="80" y="250"/>
      <p x="90" y="300"/>
      <p x="100" y="350"/>
Up Topic Rybka Support & Discussion / Aquarium / Using aquarium book

Powered by mwForum 2.27.4 © 1999-2012 Markus Wichitill