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

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

User avatar
Kempelen
Posts: 620
Joined: Fri Feb 08, 2008 10:44 am
Location: Madrid - Spain

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

Post 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
Fermin Serrano
Author of 'Rodin' engine
http://sites.google.com/site/clonfsp/
Daniel Shawul
Posts: 4185
Joined: Tue Mar 14, 2006 11:34 am
Location: Ethiopia

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

Post 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
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

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

Post 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...
PK
Posts: 893
Joined: Mon Jan 15, 2007 11:23 am
Location: Warsza

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

Post by PK »

late move reduction
User avatar
Desperado
Posts: 879
Joined: Mon Dec 15, 2008 11:45 am

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

Post 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
User avatar
hgm
Posts: 27790
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

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

Post by hgm »

The sign of eval is pretty important. Even the strongest engine can be totally wrecked by just adding a single character, :lol:
rbarreira
Posts: 900
Joined: Tue Apr 27, 2010 3:48 pm

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

Post 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 :)
UncombedCoconut
Posts: 319
Joined: Fri Dec 18, 2009 11:40 am
Location: Naperville, IL

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

Post 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
UncombedCoconut
Posts: 319
Joined: Fri Dec 18, 2009 11:40 am
Location: Naperville, IL

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

Post 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.
rbarreira
Posts: 900
Joined: Tue Apr 27, 2010 3:48 pm

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

Post 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.