Search in Co-Wiki

CHAOS (chess)

game-theory 1297 tokens 0 outbound links

CHAOS (chess)

Introduction CHAOS was originally developed by Ira Ruben, Fred Swartz, Victor Berman, Joe Winograd and William Toikka while working at RCA in Cinnaminson, NJ. Its name is an acronym for 'Chess Heuristics and Other Stuff.' Program development moved to the Computing Center of the University of Michigan when Swartz changed jobs, and Mike Alexander joined the development group. Swartz, Alexander and Berman were continuously group members from that point onward in CHAOS' evolution, as others of the original authors left and new members contributed episodically.

CHAOS was written in Fortran, except for low-level board representation manipulations written in assembly language or C.

Soon afterward, Shannon wrote a mathematical analysis of the game of chess, published in 1950. The paradigm that evolved was that there was a quantification of the position on the board into a score, an evaluation method to find favorable outcomes (minimax, later alpha-beta pruning), and a strategy to manage the combinatorial explosion of the look-ahead possibilities.

By the early 1960s, there were computer programs that played chess at a rudimentary level. They used very simple evaluation functions for each position and tried to search as far forward as was practical given the time constraints and available compute power. Naturally, programmers optimized their code to use the available computing resources. This led to a major philosophical divide among chess programs: those that tried to evaluate as many positions as possible, and those that tried to evaluate the most promising move sequences as deeply as possible. CHAOS was firmly in the camp believing only the most promising moves should be evaluated in depth. Said Swartz, "The 'brute force people' ... look at every (possible move) no matter what garbage it is. Most moves are just terrible, terrible moves, and most computing time is being spent on pure garbage." culminating in a checkers-playing program in 1952 Concurrently, Christopher Strachey created Checkers, a program to play the board game of checkers in 1951, but it had no capacity to learn from its play. Checkers was chosen by both authors because it was simpler than chess yet contained the basic characteristics of an intellectual activity, and, in Samuel's view, was a test-bed in which heuristic procedures and learning processes could be evaluated quickly. Checker playing programs introduced the notion of the game tree and evaluating play to various depths to choose the best move. Consequently, the programs were quite weak and heuristics to manage the search became important in their development. CHAOS used a selective search strategy with iterative widening. Nowadays, book moves are catalogued in machine-readable form, but originally programmers had to type them in. CHAOS had an extensive book for its time of around 10,000 moves that O'Keefe helped to develop. A problem with play from an opening book is the behavior of the program when the play leaves the book: the positional advantage may be so subtle that the evaluation scheme may be unable to understand it, leading to very wide and shallow searches to establish a line of play. The horizon effect again plagues move selection after leaving the book. CHAOS mitigated these problems by only using book lines that it could understand, and by relying on cached analyses of continuations out of the book made while the opponent's clock was running.

Game Play History CHAOS played in twelve ACM computer chess tournaments and four World Computer Chess Championships (WCCC). In 1974, it again won 2nd place in the WCCC, defeating the tournament favorite Chess 4.0 but losing to Kaissa. CHAOS was close to winning the 1980 WCCC, but lost to Belle in a playoff. It had a strong debut, winning over established programs, showing that superior chess knowledge could defeat brute-force approaches. Eventually, Moore’s Law grew hardware's capabilities faster than chess knowledge could be distilled algorithmically. However, the chess-playing program AlphaZero eventually beat the reigning brute-force program Stockfish by evaluating fewer positions (rates of thousands as opposed to millions per second) using neural networks that learned from previous play, showing that selective search is an effective strategy.

Notes ## References <references />

External links * [Chess Programming Wiki](https://chessprogramming.org/Main_Page) * [Computer History Museum](https://computerhistory.org/) [Photo: CHAOS vs Kaissa at the 1st World Computer Chess Championship in Stockholm (1974)*](https://www.computerhistory.org/chess/full_record.php?iid=stl-430b9bbd92710)