about
Phoenix: A Self-Optimizing Chess Engine by IBM Research India (arxiv.org)
2 points by laudney on Apr 1, 2016 | hide | past | pdf | 1 comment on HN

In plain words: A chess player is built by evolving simple score tables that rate each board square, breeding and mutating the best players instead of training a huge neural network with millions of numbers. After 1,000 generations of evolution, it plays at International Master level.

Abstract · Phoenix: A Self-Optimizing Chess Engine

Since the advent of computers, many tasks which required humans to spend a lot of time and energy have been trivialized by the computers' ability to perform repetitive tasks extremely quickly. Playing chess is one such task. It was one of the first games which was `solved' using AI. With the advent of deep learning, chess playing agents can surpass human ability with relative ease. However algorithms using deep learning must learn millions of parameters. This work looks at the game of chess through the lens of genetic algorithms. We train a genetic player from scratch using only a handful of learnable parameters. We use Multi-Niche Crowding to optimize positional Value Tables (PVTs) which are used extensively in chess engines to evaluate the goodness of a position. With a very simple setup and after only 1000 generations of evolution, the player reaches the level of an International Master.

Rahul Aralikatte, G Srinivasaraghavan
arXiv:1603.09051 · cs.AI, cs.NE · submitted Mar 30, 2016 · updated Aug 20, 2017
abstract · pdf · html · Accepted in CICN 2015. Preprint

add comment on HN
Also discussed: Aug 2017 (1 point, 0 comments)

"Since the advent of computers, many tasks which required humans to spend a lot of time and energy have been trivialized by the computers' ability to perform repetitive tasks extremely quickly. However there are still many areas in which humans excel in comparison with the machines. One such area is chess. Even with great advances in the speed and computational power of modern machines, Grandmasters often beat the best chess programs in the world with relative ease. This may be due to the fact that a game of chess cannot be won by pure calculation. There is more to the goodness of a chess position than some numerical value which apparently can be seen only by the human brain. Here an effort has been made to improve current chess engines by letting themselves evolve over a period of time. Firstly, the problem of learning is reduced into an optimization problem by defining Position Evaluation in terms of Positional Value Tables (PVTs). Next, the PVTs are optimized using Multi-Niche Crowding which successfully identifies the optima in a multimodal function, thereby arriving at distinctly different solutions which are close to the global optimum."