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

Discussion of chess software programming and technical issues.

Moderators: Harvey Williamson, bob, hgm

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
User avatar
Kempelen
Posts: 620
Joined: Fri Feb 08, 2008 9:44 am
Location: Madrid - Spain
Contact:

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

Post by Kempelen » Thu Feb 02, 2012 9:53 pm

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: 4050
Joined: Tue Mar 14, 2006 10:34 am
Location: Ethiopia
Contact:

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

Post by Daniel Shawul » Fri Feb 03, 2012 3:55 am

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: 20918
Joined: Mon Feb 27, 2006 6:30 pm
Location: Birmingham, AL

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

Post by bob » Fri Feb 03, 2012 4:32 am

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: 863
Joined: Mon Jan 15, 2007 10:23 am
Location: Warsza
Contact:

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

Post by PK » Fri Feb 03, 2012 9:10 am

late move reduction

User avatar
Desperado
Posts: 647
Joined: Mon Dec 15, 2008 10:45 am

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

Post by Desperado » Fri Feb 03, 2012 10:16 am

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: 25009
Joined: Fri Mar 10, 2006 9:06 am
Location: Amsterdam
Full name: H G Muller
Contact:

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

Post by hgm » Fri Feb 03, 2012 11:34 am

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 1:48 pm

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

Post by rbarreira » Fri Feb 03, 2012 2:13 pm

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 10:40 am
Location: Naperville, IL

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

Post by UncombedCoconut » Fri Feb 03, 2012 4:18 pm

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 10:40 am
Location: Naperville, IL

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

Post by UncombedCoconut » Fri Feb 03, 2012 6:04 pm

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 1:48 pm

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

Post by rbarreira » Mon Feb 06, 2012 1:10 pm

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.

Post Reply