Selecting moves with the highest payoff

Discussion of anything and everything relating to chess playing software and machines.

Moderator: Ras

giovanni
Posts: 142
Joined: Wed Jul 08, 2015 12:30 pm

Re: Selecting moves with the highest payoff

Post by giovanni »

Ferdy wrote:
giovanni wrote:Thanks, John. I like your idea of using an opening book. Now the question becomes: is there a way to automatically select from an opening book moves that give opponents the highest chance to go wrong, regardless if it is the optimal move (well, within a certain range)? To stick with the Spanish example I provided, I would expect that such a program would select at move eight the Marshall attack 8)... d5, i.e.

1.e4 e5 2.Nf3 Nc6 3.Bb5 a6 4.Ba4 Nf6 5.O-O Be7 6.Re1 b5 7.Bb3 O-O 8.c3 d5

This choice would be made because the program sees that the opponent has a narrower path of moves to choose, in respect to several alternatives that loose on the spot.

Thanks again.
The engine prefers d6 at the root. But according to what you want should use d5 as the difference is highest between its best children.

Image
Thanks Ferd. Sounds interesting. How do you extract these values from the opening books?
In my case 8)...d5 would be selected because it has the lowest average average value of the non optimal move, i.e.,

8)...d6 (0.36+0.22)/2 =0.29
8)...h6 (0.41+0.28)/2 =0.345
8)...d5 (0.26-0.14)/2 =0.06
Uri Blass
Posts: 11220
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: Selecting moves with the highest payoff

Post by Uri Blass »

giovanni wrote:I am looking for a program that would select moves with the highest payoff in a tree. For example, in the position arising in the Spanish game after
1)e2 e5 2)Nf3 Nc6 3)Bb5

3)...a6 would be the selected move, because the chances that White can go wrong are the highest. Indeed, any move, besides B moves, would drop a piece. Also Bd3 and Be2 are dubious, let it alone Bf1. The utility I am looking for would need to find these position once fed with a tree. I am not very familiar with tree format, but probably any non-proprietary format would be fine.
Thanks in advance.
If we are not talking about beginners the chance that white can go wrong after a6 is small.

The reason that many humans are playing a6 is not that they hope for a blunder in the next move.

If we use your logic then after 1.e4 e5 2.Nf3 Nc6 the best move is 3.Nxe5
Ferdy
Posts: 4855
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: Selecting moves with the highest payoff

Post by Ferdy »

giovanni wrote:Thanks Ferd. Sounds interesting. How do you extract these values from the opening books?
Those values are from engine analyses operating on multi-pv on every node.

I thought about parsing polyglot book moves for your solution but it uses the weight from win and loss stats not from the evaluation of positions as what I have shown.

Another idea could be to collect positions and engine analysis of those positions then save it in a database. You can just query the database with what data you want. Dan Corbit knows this.

Aquarium GUI is also good at this. It seems a script to parse data generated by aquarium is capable of doing what you want. There are good script writer there in rybka forum who can mine data from IDEA.

Move selection formula are available to select book moves in aquarium books. I am not just sure if it can select based on your criteria.
giovanni
Posts: 142
Joined: Wed Jul 08, 2015 12:30 pm

Re: Selecting moves with the highest payoff

Post by giovanni »

Ferdy wrote:
giovanni wrote:Thanks Ferd. Sounds interesting. How do you extract these values from the opening books?
Those values are from engine analyses operating on multi-pv on every node.

I thought about parsing polyglot book moves for your solution but it uses the weight from win and loss stats not from the evaluation of positions as what I have shown.

Another idea could be to collect positions and engine analysis of those positions then save it in a database. You can just query the database with what data you want. Dan Corbit knows this.

Aquarium GUI is also good at this. It seems a script to parse data generated by aquarium is capable of doing what you want. There are good script writer there in rybka forum who can mine data from IDEA.

Move selection formula are available to select book moves in aquarium books. I am not just sure if it can select based on your criteria.
Thanks Ferd. I'll give a look at the options you mentioned. I'll also ask Dann about it. I also appreciate the fact that you are always willing to help.
giovanni
Posts: 142
Joined: Wed Jul 08, 2015 12:30 pm

Re: Selecting moves with the highest payoff

Post by giovanni »

Uri Blass wrote:
giovanni wrote:I am looking for a program that would select moves with the highest payoff in a tree. For example, in the position arising in the Spanish game after
1)e2 e5 2)Nf3 Nc6 3)Bb5

3)...a6 would be the selected move, because the chances that White can go wrong are the highest. Indeed, any move, besides B moves, would drop a piece. Also Bd3 and Be2 are dubious, let it alone Bf1. The utility I am looking for would need to find these position once fed with a tree. I am not very familiar with tree format, but probably any non-proprietary format would be fine.
Thanks in advance.
If we are not talking about beginners the chance that white can go wrong after a6 is small.

The reason that many humans are playing a6 is not that they hope for a blunder in the next move.

If we use your logic then after 1.e4 e5 2.Nf3 Nc6 the best move is 3.Nxe5
Hi Uri. Thanks for pointing out the shortcomings of my first example. It was meant to give a quick example of what I meant, but it has its limits. A much better and real world example is the Marshall gambit example, I provided later.
Henk
Posts: 7261
Joined: Mon May 27, 2013 10:31 am

Re: Selecting moves with the highest payoff

Post by Henk »

Chess is a game like draughts were the player wins that makes the smallest blunders or mistakes if there were no blunders. So if it plays better moves all the time but only one large mistake it looses the game.

Don't understand how you get correct values for non-endgame positions.
Engines fail for that. Maybe you get an unstable approximation.