# Belle (chess machine)

Belle is a chess computer that was developed by Joe Condon (hardware) and Ken Thompson (software) at Bell Labs. In 1983, it was the first machine to achieve master-level play, with a USCF rating of 2250. It won the ACM North American Computer Chess Championship five times and the 1980 World Computer Chess Championship. It was the first system to win using specialized chess hardware.
In its final incarnation, Belle used an LSI-11 general-purpose computer to coordinate its chess hardware. There were three custom boards for move generation, four custom boards for position evaluation, and a microcode implementation of alpha-beta pruning. The computer also had one megabyte of memory for storing transposition tables.
At the end of its career, Belle was donated to the Smithsonian Institution. The overall architecture of Belle was used for the initial designs of ChipTest, the progenitor of IBM Deep Blue.

## Origins

Following his work on the Unix operating system, Ken Thompson turned his attention to computer chess. In summer 1972, he began work on a program for the PDP-11, which would eventually become Belle. In competition, this early version encouraged Thompson to pursue a brute-force approach when designing Belle's hardware.

## Design

Belle's design underwent many changes throughout its lifetime. The initial chess program was rewritten to utilize move-vs-evaluation quiescence search and evaluate positions by prioritizing material advantage. Belle also used a transposition table to avoid redundant examinations of positions.

### Hardware move generator

| | a | b | c | d | e | f | g | h | |
| 8 | | | | | | | | | 8 |
| 7 | | | | | | | | | 7 |
| 6 | | | | | | | | | 6 |
| 5 | | | | | | | | | 5 |
| 4 | | | | | | | | | 4 |
| 3 | | | | | | | | | 3 |
| 2 | | | | | | | | | 2 |
| 1 | | | | | | | | | 1 |
| | a | b | c | d | e | f | g | h | |
In 1976, Joe Condon implemented a hardware move generator to be used with software version of Belle on the PDP-11. His design had several steps:
* A 6-bit "from" register searches the board for friendly pieces.
* Once a friendly piece is found, a ∆xy move-offset counter provides a bit-code for the move offset, e.g. (2,2) for a bishop or (2,0) for a rook.
* This offset is combined with the contents of the "from" register and moved to a 6-bit "to" register. These two registers fully describe a potential move.
* A test circuit compares the move to the existing board to determine whether the move is pseudo-legal. If it is, the "from" and "to" registers are output to software.
A similar series of steps uses the move generator to test whether the pseudo-legal move is in fact legal. This ensures that the move does not place the moving side in check.

### Second generation

Belle's second generation was completed in 1978. It implemented several improvements over its predecessor.
* The move generator had its own stack, which it used to store moves, rather than outputting them to software.
* A hardware implementation of the position evaluator was added.
* A hardware implementation of the transposition memory.
These changes reduced the role of the PDP-11 software. Now, the software controlled these three devices and ran the alpha-beta pruning algorithm. The second generation of Belle could search 5,000 positions per second.

### Third generation

Belle's final incarnation was completed in 1980. It consisted of further improvements to the speed of move generation and evaluation.
* The move generator now included 64 transmitter and receiver circuits. Each transmitter remembered the piece on its square and potential moves that piece could make. Each receiver detected incoming moves, or threats, from other pieces. Extra circuitry detected castling and en passant.
* The evaluator could now examine square control, using 64 specialized circuits, as well as pawn structure.
* The transposition memory was increased to 1 Mb.
* Belle's alpha-beta algorithm was now implemented in microcode, controlling the move generator, evaluator, and transposition table.
The third generation of Belle was controlled by an LSI-11 computer. Depending on the stage of the game, it examined 100,000 to 200,000 moves per second.

## Career
### Early competitions

Ken Thompson's software version of Belle competed in the 1972 U.S. Open Chess Championship and the 1973 ACM Computer Chess Championship. Over the next year, Belle played several UCSF games and finished 3-1 in the 1974 ACM Computer Chess Championship.
In 1978, the second generation of Belle competed at the ACM Computer Chess Championships, winning with a perfect four wins in four games. In a pivotal game against Chess 4.7, the runner-up, Belle examined 5,000 positions per second, while Chess 4.7 examined 3,500.

### World Championship

In 1980, the third generation of Belle won the third World Computer Chess Championship in Linz, Austria. After four rounds, it had a score of 3.5 in four games, tied with the Chaos chess machine. In a tie-breaker for the world-champion title, Belle broke through Chaos's Alekhine's Defense and went on to declare checkmate in eight moves, winning the game on move 41. During the game, Belle searched 160,000 positions per second.
In 1982, the United States Customs Service impounded Belle for violating the Export Control Act as Thompson attempted to travel with it to the Soviet Union for a chess exhibition. Thompson said that the computer was made of commercial off-the-shelf components, and that its only military use was "to drop it out of an airplane. You might kill somebody that way".

### Master rating

In 1983, Belle competed in the U.S. Open, where it scored 8.5 points in twelve games with a performance rating of 2363. Later that year, the USCF awarded Belle the rank of master. Because it reached this level before any other chess computer, Belle was awarded the $5,000 Fredkin prize. Belle's reign ended when it placed sixth in the Fourth World Computer Chess Championship, despite being the favorite to win. It managed one more win at the ACM Championships in 1986 before retiring.

## Performance analysis

Because of its ability to generate and analyze many chess positions, Belle represented the brute-force approach to chess computing. In the late 1970s, Thompson became interested in the limits of this method, playing different versions of Belle against one another. Using identical machines allowed him to minimize effects of the individual machine's play style while isolating the effects of search depth. For instance, if one Belle computer searches three levels deep, the other might search to four. Thompson concluded that for each additional level of search, Belle improved by approximately 250 rating points. This effect has been replicated in self-play experiments with different machines. Beyond 2,000 points, however, Thompson found that improvements leveled off.