Asymmetries

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

Edmund
Posts: 670
Joined: Mon Dec 03, 2007 3:01 pm
Location: Barcelona, Spain

Asymmetries

Post by Edmund »

Let me raise a topic that hasn't been discussed for quite some time: Asymmetries.

In other words having certain conditions in chess engines that are dependent on the side to move at the root position.

I see two ways of introducing asymmetries into computer chess:
  • Search: e.g. more selectivity based on whos turn it is
  • Evaluation: e.g. Contempt, Tempo or King-Safety
Some time ago we have been discussing contempt value. We figured a strong correlation between contempt value, elo-difference between the opponents and engine strength.

For determining to what extend to introduce asymmetry, I think the approximate likelyhood of a win in a given position is relevant. This is dependent on: the position (material and positional factors), the elo difference of the two opponents and the time on the clock.

Now I wonder, to what extend other forms of asymmetry can be used. For example I could imagine that if you know that the opponent is stronger it becomes less relevant to concentrate on attacking the opponent king but rather try to defend the own king and play for a draw.

The main problems of asymmetry I see are:
  • Board-Symmetry cannot be exploited anymore (symmetric hash-keys, etc.)
  • During Analysis the root side to move changes regularly and thus the hash values become useless.
What are your thoughts on the topic? Are asymmetries of any use to chess engines? Do you use any of them in your engine? How do you deal with the problems? Do you see any other problems? Would two equally strong engines play best, if search/evaluation were symmetric?

Looking forward to your thoughts and an interesting discussion.
lkaufman
Posts: 5960
Joined: Sun Jan 10, 2010 6:15 am
Location: Maryland USA

Re: Asymmetries

Post by lkaufman »

It is logical that some asymmetry should be helpful to a program, even assuming equal players. I know as a human player that I am more careful not to miss an opponent move than to miss an opportunity. However all attempts to introduce asymmetry in Komodo failed to help (talking only about equal opponents). My best guess is that making distinctions between node types serves a similar purpose and perhaps does it better. Still, I won't be surprised if there is a way to make asymmetry in search work.