From Chessprogramming wiki
Jump to: navigation, search

Home * Engines * Nimzo

Aron Nimzowitsch [1]

a chess program by primary developer Chrilly Donninger, subsequently supported by members of the First Vienna Computer Chess Club (Nimzo Werkstatt) concerning testing, chess knowledge, opening book and hardware. The program was first dubbed Nimzo-Guernica in remembrance to Aron Nimzowitsch and as manifest of Chrilly's Anti-war engagement [2]. It had its tournament debut at the 3rd Computer Olympiad 1991 and further played the DOCCC 1991 and IPCCC 1991. At the WMCCC 1993, Nimzo-Guernica aka Nimzo-2 upset Mephisto Gideon [3] and later winner HIARCS to lead the pack after five rounds, and finished strong fourth despite 1.5 points out of the last four rounds.


Guernica reproduction on tiled wall, Guernica, Spain (PPL3-Altered) julesvernex2.jpg

Mural of the painting Guernica by Pablo Picasso made in tiles and full size [4]

Photos & Games


David Bronstein playing Nimzo by Chrilly Donninger, Johan de Koning kibitzing, Aegon 1997 [5]

[Event "AEGON 1997"]
[Site "The Hague NED"]
[Date "1997.04.17"]
[Round "02"]
[White "David Bronstein"]
[Black "NIMZO"]
[Result "0-1"]

1.e4 c5 2.Nf3 d6 3.c3 Nf6 4.Bd3 Bg4 5.h3 Bxf3 6.Qxf3 Nc6 7.O-O g6 8.Bb5 Bg7 9.e5 dxe5 
10.Bxc6+ bxc6 11.Qxc6+ Nd7 12.d3 O-O 13.Nd2 Rc8 14.Qa6 Qb6 15.Qa4 Rfd8 16.Nb3 Nf6 
17.Qc4 Ne8 18.Bg5 Nd6 19.Qa4 Bf6 20.Be3 Nf5 21.Qc4 Nxe3 22.fxe3 a5 23.Rad1 a4 24.Nd2 
Qxb2 25.Ne4 Qe2 26.Rfe1 Qh5 27.Rd2 Bg5 28.Rf2 e6 29.Rf3 Qh6 30.Kh1 Be7 31.Ref1 Qg7 
32.g4 a3 33.g5 Rd5 34.h4 Rcd8 35.Nf2 h5 36.e4 R5d7 37.Qa6 Qf8 38.Nd1 Qe8 39.Kg2 Bf8
40.R1f2 Rd6 41.Qc4 R6d7 42.Rd2 Rb7 43.Kf1 Rdb8 44.Ke2 Ra7 45.d4 Ra4 46.Qd3 cxd4 
47.c4 Qc6 48.Rc2 Rbb4 49.c5 Ra5 50.Nf2 Rxc5 51.Rxc5 Rb2+ 52.Kf1 Qxc5 53.Qa6 Rxa2 
54.Qa7 f6 55.gxf6 Rb2 56.Qa8 Qc1+ 57.Kg2 a2 58.Qe8 a1=Q 59.Qxg6+ Kh8 60.Qxh5+ Qh6 
61.Qf7 Qd1 62.Rg3 Rxf2+ 63.Kxf2 Qhd2# 

View this game on


Guernica and Nimzo-2 were leaf evaluators to spent 60 to 70 percent of its time in evaluation. The main design criterion for Nimzo-3 was combining the positional play of Nimzo-2 with the tactical strength of a program like Fritz. Nimzo-3 therefor became a Genius/Fritz like program with a complex root evaluation [6], called Oracle as proposed by Hans Berliner [7] [8], and which seems to have been first used by Kaare Danielsen. The oracle approach with very simple, mainly first-order evaluation terms at the leaves, made Nimzo-3 to spent about only 10 to 20 percent on leaf evaluation, yielding in an increased node rate of 400%.


The CHE and CHE++ declarative language for expressing chess knowledge using a GUI was used to incorporate planning features within the oracle used [9].


During the WMCCC 1996, Nimzo was still amateur, but soon went commercial as MS-DOS program Nimzo 3.5 and the Windows program Nimzo 2000 distributed by Weiner's Millennium 2000 GmbH, later released as Chess Engine Communication Protocol compliant engine WBNimzo. Nimzo98, Nimzo99 were native ChessBase engines, followed by Nimzo 7.32 and Nimzo 8 and its derivation Schweinehund [10] [11].


given in 1999 from the ICGA tournament site [12]:

Nimzo is one of the leading professional chess programs. It combines sound positional play with extremely strong tactics. Nimzo-Paderborn is a considerable improved version of the currently commercially available programs Nimzo98, Nimzo99 and Nimzo2000.
Nimzo-Paderborn learns automatically from human grandmaster games. It is also equipped with an own Chess-Advice-Language (Che++) which allows strong human players to formulate chess-knowledge. The program can also access in its search endgame databases. It therefore searches regularly from the middlegame into won endgames. 

Forward Pruning in Nimzo 2.2.1

Following forward pruning code appears in Nimzo's 2.2.1 search routine [13] applied at frontier nodes, notably the aggressive Lang mode at pre-pre-frontier nodes or below. The source was published along with a foreword by Donninger in 2002 [14] :

  if((depth <= 1) && (!extflg) && (score > beta) && (GPtr->hung.w <= KNIGHTHUNG)) {
    return score;

  if(LangModus) {
    if((depth <= 3) && (!extflg) && (score > beta) && (GPtr->hung.w == 0)) {
      return score;

See also


Forum Posts

1996 ...

Re: NIMZO 3 ist out now! by Peter Schreiner, rgcc, July 19, 1996

2000 ...

External Links


  1. Aron Nimzowitsch from Wikipedia
  2. Bombing of Guernica from Wikipedia
  3. With the help of a sign bug in passed pawn evaluation, see Chrilly Donninger (1999). Computer machen keine Fehler. CSS 2/99, pdf (German)
  4. Photo by Jules Verne Times Two, September 08, 2018, Guernica, Wikimedia Commons
  5. David Bronstein vs. Nimzo, Photo by Thorsten Czub from Aegon 1996-97
  6. Chrilly Donninger (1996). CHE: A Graphical Language for Expressing Chess Knowledge. ICCA Journal, Vol. 19, No. 4
  7. Hans Berliner (1987). Some Innovations Introduced by Hitech. ICCA Journal, Vol. 10, No. 3
  8. Hans Berliner (1989). Some Innovations Introduced by Hitech. Advances in Computer Chess 5
  9. CHE docs in English / Nimzo 3 version by Mike S., CCC, November 22, 2001
  10. Re: Versions of Nimzo by Shep, CCC, December 12, 2000
  11. Re: Nimzo 4 by Manfred Meiler, CCC, November 19, 2002
  12. Nimzo's ICGA Tournaments
  13. Nimzo: sr.c: search-tree handling (dead acor link) hosted by Roger Thormann
  14. Vorwort von Chrilly Donninger (German) hosted by Roger Thormann
  15. Braille from Wikipedia

Up one Level