A little improvement to the Texel's tuning method

Discussion of chess software programming and technical issues.

Moderators: bob, hgm, Harvey Williamson

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
Post Reply
tpetzke
Posts: 686
Joined: Thu Mar 03, 2011 3:57 pm
Location: Germany
Contact:

Re: A little improvement to the Texel's tuning method

Post by tpetzke » Wed Oct 22, 2014 6:10 pm

So far I was not able to improve my evaluation with the Texel method, I might give your change a try however.

I was always able to push the evaluation error significantly down compared to my current weight set but the engine played worse. I don't really understand why but some possible cause might be

1. It is difficult to tune weights that are associated with positional elements you find not so often in the PV of a game, but very often in the nodes encountered by eval and then discarded by search. An example might be the triple pawn. How often do you see one in a real game played by top engines. Maybe never. Does it mean you can get rid of it ?

2. The number of drawn games has a high impact on the result. Too many draw games and you eval will be simplified a lot by the tuner. To less is probably also a bad thing.

I have not found the ideal combination, but I keep searching

Thomas...
Thomas...

=======
http://macechess.blogspot.com - iCE Chess Engine

User avatar
asanjuan
Posts: 211
Joined: Thu Sep 01, 2011 3:38 pm
Location: Seville, Spain

Re: A little improvement to the Texel's tuning method

Post by asanjuan » Wed Oct 22, 2014 6:41 pm

To use games played by top programs is useless for this learning method IMO. You need suboptimal, but playable moves to get into positions where you can learn from the mistake. This is how your program can fall into the triple pawn and learn a good weight from it.

Imagine that you introduce a new eval feature. I think that the best way to find a balanced weight for the new eval term is as follows:
1. Set the eval term a value from your own knowledge. Something that makes sense for you.
2. Play this version against a stronger opponent some thousands of games. The new eval term may put the program in positions where the eval term takes effect.
3. Extract all the positions and run the learning method as we all know, tunning EVERY parameter of your evaluation.
4. Run a verification match against the previous version to see if it plays better chess or not.

Post Reply