Zugzwang Program

Home * Engines * Zugzwang

Zugzwang was a massive parallel chess program by Rainer Feldmann and Peter Mysliwietz from the Paderborn University, Germany. It won the bronze medal at the 2nd Computer Chess Olympiad, London 1990, and was runner up with three wins and two draws at the WCCC 1992, and won three times the International Paderborn Computer Chess Championships IPCCC. The Zugzwang team was completed by chess player and opening book author Heiner Matthias. Zugzwang was first based on Transputer technology with a grid of up to 1024 Inmos T800 and later T805 processors. Software was developed in the Occam programming language. Later it was also ported to the C-programming language, to run on other hardware architectures such as the Cray T3E supercomputer in 1999. The Young Brothers Wait Concept was elaborated exhaustingly by Feldmann et al. [1][2]. Zugzwang didn’t use Null Move Pruning, but Feldmann’s Fail-High Reductions as well based on the Null Move Observation [3]. Zugzwang’s evaluation was tuned by simulated annealing as described in Mysliwietz’ Ph.D. thesis [4].

Descriptions

given from the ICGA tournament site [5]:

1995

Zugzwang made its first moves in 1989. It won the bronze medal in the 1990 Computer Olympiad, and won the Paderborn (human) Championships in 1991. In the last [Computer World Championships in Madrid 1992](WCCC_1992 "WCCC 1992"), Zugzwang, running on a system consisting of 1023 T800 transputers, finished second and was undefeated without playing the eventual Champion, [ChessMachine Schroeder](ChessMachine "ChessMachine"). In 1993 Zugzwang had its first victory over a grandmaster. In 1994 Zugzwang was completely rewritten from OCCAM to C (about 20,000 lines of code) and is now portable to a large spectrum of machines including [SPARC](SPARC "SPARC"), SGI, [DEC Alpha](DEC_Alpha "DEC Alpha"), [i860](I860 "I860"), [486](X86 "X86") and [PowerPC](PowerPC "PowerPC"). In this year's Championships, Zugzwang will run on a GC-Powerplus distributed system (based on the PowerPC) with at least 96 processors. The [opening book](Opening_Book "Opening Book") contains about 130,000 moves and 1MB [transposition tables](Transposition_Table "Transposition Table") are used per processor. Zugzwang uses [brute-force](Brute-Force "Brute-Force") [alpha-beta](Alpha-Beta "Alpha-Beta")  search with [history tables](History_Heuristic "History Heuristic") and [killer heuristics](Killer_Heuristic "Killer Heuristic"). The program searches about 3000 [nodes per second](Nodes_per_Second "Nodes per Second") per processor on a PowerPC. The search is performed by distributed processors using a distributed algorithm based on the [Young Brothers Wait Concept](Young_Brothers_Wait_Concept "Young Brothers Wait Concept"), which gives good results even if as many as 1000 processors are used. In this case the system calculates moves more than 400 times faster than a sequential system. 

1999

Zugzwang has been written by Rainer Feldmann and Peter Mysliwietz (until 1996). Rainer Feldmann is a member, Peter Mysliwietz a former member of the research group of [Prof. Dr. Burkhard Monien](Burkhard_Monien "Burkhard Monien") at the University of Paderborn. Zugzwang is a product of an ongoing research in the field of efficient parallel algorithms for optimization problems. In the course of this research we developed a parallel game tree search algorithm which runs efficiently even on massively parallel systems without any shared memory.
The program started as an OCCAM program for Transputers. In 1992 it played the [WCCC in Madrid](WCCC_1992 "WCCC 1992") running on a system with 1024 processors. From 1995 the program was rewritten to C. It now runs efficiently on various hardware platforms as e.g. PowerPC based parallel computers or the [Cray T3E](Cray_T3E "Cray T3E").
The opening book of Zugzwang is handwritten. No automatic opening book compilation is used. The search algorithm used is the [Fail-High Reductions](Fail_High_Reductions "Fail-High Reductions") algorithm. The program has access to the [endgame databases](Thompson%27s_Databases "Thompson's Databases") of [Ken Thompson](Ken_Thompson "Ken Thompson").
The most recent tournament played was the Lippstadt Grandmaster Tournament in August 1998, where the program finished second and played at a rate of about 2600 ELO points. The program ran on a Cray T3E with 512 processors (300 MHz) at the [John von Neumann Institute for Computing](https://en.wikipedia.org/wiki/Forschungszentrum_J%C3%BClich) <a id="cite-note-6" href="#cite-ref-6">[6]</a> in [Juelich](https://en.wikipedia.org/wiki/J%C3%BClich), Germany. 

See also

Publications

Forum Posts

References

  1. Rainer Feldmann, Peter Mysliwietz, Burkhard Monien (1991). A Fully Distributed Chess Program. Advances in Computer Chess 6, pdf
  2. Rainer Feldmann (1993). Game Tree Search on Massively Parallel Systems Phd-Thesis, pdf
  3. Rainer Feldmann (1997). Fail-High Reductions. Advances in Computer Chess 8, pdf from CiteSeerX
  4. Peter Mysliwietz (1994). Konstruktion und Optimierung von Bewertungsfunktionen beim Schach. Ph.D. thesis (German)
  5. Zugzwang’s ICGA Tournaments
  6. John von Neumann Institute for Computing
  7. Jonathan Schaeffer (1989). Comment on ‘Distributed Game-Tree Search’ . ICCA Journal, Vol. 12, No. 4
  8. Forschungszentrum Jülich schickt Cray T-3 zur Schachweltmeisterschaft, June 09, 1999, Computerwoche (German) » WCCC 1999

Up one Level