Page 1 of 2

What is the most difficult and danger feature to tune it?

Posted: Thu Feb 02, 2012 10:53 pm
by Kempelen
Hello,
I like to ask to experience programmers, what is, in your opinion, the most danger feature of an engine if it is not correctly fine tuned? (which can make more harm than good) I suspect it is lazy eval, but would like to see other theories.
Fer

Re: What is the most difficult and danger feature to tune it

Posted: Fri Feb 03, 2012 4:55 am
by Daniel Shawul
It is hard to say. Untuned (badly tuned) features become style of the engine :) Take king safety for example. It needs to be tuned for max elo disregarding style, but I can just let it be aggressive with no tuning. Same goes for lazy eval (materialistic vs positional). Tuning by definition is getting the very best performance possible from the engine. So if you don't tune, you get average performance, nothing breaks down (no danger). If I have to choose which parameter to tune well, I would go based on contribution to total eval
* material
* king safety
* passed pawns
* lazy eval
* mobility

Re: What is the most difficult and danger feature to tune it

Posted: Fri Feb 03, 2012 5:32 am
by bob
Kempelen wrote:Hello,
I like to ask to experience programmers, what is, in your opinion, the most danger feature of an engine if it is not correctly fine tuned? (which can make more harm than good) I suspect it is lazy eval, but would like to see other theories.
Fer
King safety...

Re: What is the most difficult and danger feature to tune it

Posted: Fri Feb 03, 2012 10:10 am
by PK
late move reduction

Re: What is the most difficult and danger feature to tune it

Posted: Fri Feb 03, 2012 11:16 am
by Desperado
Kempelen wrote:Hello,
I like to ask to experience programmers, what is, in your opinion, the most danger feature of an engine if it is not correctly fine tuned? (which can make more harm than good) I suspect it is lazy eval, but would like to see other theories.
Fer
search:
=====

* lmp/lmr seems to be the most sensible for my taste.

evaluation:
=======

* here i do have a simple guideline for myself where 2 factors coming in.

- frequency of the feature
- absolute/average value of a feature.

The higher the frequency and the higher the average/absolute/peak
(combinations) value is,
the higher the influence is for decisions of any kind. (There might
be no theoretical base for this assumption, but it looks natural to me).
Depending on the level an engine has, these factors can be seen easily or
in advanced stage these factors can even be measured for a feature.

Not thinking closer now of all my featues i would tend to put on the
importance list:

* material (eg: frequency)
* passed pawns (eg: peak)
* king saftey

Best regards,

Michael

Re: What is the most difficult and danger feature to tune it

Posted: Fri Feb 03, 2012 12:34 pm
by hgm
The sign of eval is pretty important. Even the strongest engine can be totally wrecked by just adding a single character, :lol:

Re: What is the most difficult and danger feature to tune it

Posted: Fri Feb 03, 2012 3:13 pm
by rbarreira
hgm wrote:The sign of eval is pretty important. Even the strongest engine can be totally wrecked by just adding a single character, :lol:
I heard someone saying that even with negated eval, chess programs don't play that bad. Apparently the search realizes that they need to keep powerful pieces around in order to be able to really screw up things in the last plies of the search... Remember that both sides are trying to prevent the other from screwing up their position, which is not easy to do :)

Re: What is the most difficult and danger feature to tune it

Posted: Fri Feb 03, 2012 5:18 pm
by UncombedCoconut
rbarreira wrote:
hgm wrote:The sign of eval is pretty important. Even the strongest engine can be totally wrecked by just adding a single character, :lol:
I heard someone saying that even with negated eval, chess programs don't play that bad. Apparently the search realizes that they need to keep powerful pieces around in order to be able to really screw up things in the last plies of the search... Remember that both sides are trying to prevent the other from screwing up their position, which is not easy to do :)
To get that effect in a strong engine, you'll have to change the sign of more than just evaluate(). Otherwise you get a result like this:

Code: Select all

[Event "?"]
[Site "?"]
[Date "2012.02.03"]
[Round "1"]
[White "Stockfish  120203 64bit SSE4.2"]
[Black "TSCP 1.81"]
[Result "0-1"]
[PlyCount "36"]
[TimeControl "180"]

1. c3 {+7.19/16 2.2s} Nf6 {+0.32/7 6.0s} 2. Qa4 {+8.76/17 5.7s}
Nc6 {+0.24/6 5.8s} 3. Qg4 {+7.79/15 5.7s} Nxg4 {+9.52/7 5.6s}
4. d3 {+13.21/16 11s} e5 {+9.70/7 5.4s} 5. Bf4 {+6.10/20 3.7s}
exf4 {+12.39/7 5.2s} 6. Nd2 {+10.10/16 9.6s} d5 {+12.38/6 5.1s}
7. e3 {+17.57/14 5.8s} fxe3 {+13.59/6 4.9s} 8. Nc4 {+13.05/13 5.4s}
exf2+ {+19.09/6 4.7s} 9. Kd1 {+9.37/15 7.9s} dxc4 {+20.08/6 4.6s}
10. b4 {+11.11/17 4.8s} Ne3+ {+21.71/5 4.4s} 11. Kc1 {-M26/16 3.2s}
Nxf1 {+21.71/5 4.3s} 12. Nf3 {-M16/16 4.1s} Qxd3 {+25.33/6 4.1s}
13. Rxf1 {-M12/20 2.8s} Qxf1+ {+31.55/6 4.0s} 14. Kb2 {-M10/37 2.4s}
Qe2+ {+35.66/6 3.9s} 15. Ka3 {-M8/71 2.5s} a5 {+M7/6 2.2s}
16. Nd2 {-M6/100 0.042s} axb4+ {+M5/4 0.066s} 17. Kb2 {-M4/100 0.016s}
Qxd2+ {+M3/3 0.009s} 18. Kb1 {-M2/100 0.009s} f1=Q# {+M1/2 0.001s, Black mates}
0-1

Re: What is the most difficult and danger feature to tune it

Posted: Fri Feb 03, 2012 7:04 pm
by UncombedCoconut
I made more changes (to mate, qsearch, and pruning conditions) to make SF play fail-chess. Against a normal engine, it just throws away its pieces even more effectively. One thing it does well is to limit the opponent's king mobility; it wants to force the opponent to capture in order to escape check. But overall I think the idea that negative eval leads to decent play is refuted.

But that idea does remind me of suicide chess, where captures are compulsory and it's much more important to preserve mobility. The nilatac opening book shows that playing bad chess moves will get you killed in suicide chess.

Re: What is the most difficult and danger feature to tune it

Posted: Mon Feb 06, 2012 2:10 pm
by rbarreira
UncombedCoconut wrote:I made more changes (to mate, qsearch, and pruning conditions) to make SF play fail-chess. Against a normal engine, it just throws away its pieces even more effectively. One thing it does well is to limit the opponent's king mobility; it wants to force the opponent to capture in order to escape check. But overall I think the idea that negative eval leads to decent play is refuted.

But that idea does remind me of suicide chess, where captures are compulsory and it's much more important to preserve mobility. The nilatac opening book shows that playing bad chess moves will get you killed in suicide chess.
What changes did you do to the mates? I was not suggesting to seek mates.