Direkt zum Inhalt
Direkt zum Inhalt
Prof. Dr. Ulf Lorenz

Univ.-Prof. Dr. Ulf Lorenz

BWL: Technologiemanagement - Professor

Büroadresse

US-A 125
1. OG
Unteres Schloß 3
57072
Siegen

Projekte

HYDRA – A Massively Parallel Chess Computer

 

HYDRA was one of the strongest chess machines of its time and a remarkable example of hardware–software co-design in computer chess.

Historical Background

  • In 1965, Alexander Kronrod - a Russian mathematician - said, "Chess is the Drosophila of artificial intelligence."[AI as Sport, by John McCarthy]
  • In 1997, IBM's Deep Blue defeated world champion Garry Kasparov in a highly controversial six-game match. The match attracted worldwide attention and demonstrated the growing strength of computer chess.
  • In 2005, Hydra finally closed the chapter of the man-vs-machine debate with a convincing 5.5–0.5 victory over Michael Adams, playing at a level estimated to be beyond 3000 Elo.

Hydra represents one of the last major examples of hardware-assisted chess engines. Earlier systems such as Belle and Deep Blue relied on specialized hardware to accelerate the search for strong chess moves. Hydra continued this tradition by combining a workstation cluster with FPGA-based coprocessors. Shortly afterwards, improvements in general-purpose processors and software engines shifted computer chess toward highly optimized software running on standard hardware.

Hydra Schrank

Unlike conventional chess engines that run entirely on CPUs, Hydra used FPGA coprocessors to accelerate evaluation and small search tasks. Parts of the chess evaluation and move-generation logic were implemented directly inhardware on FPGA boards, allowing extremely fast processing of chess positions.

Hydra was implemented as a cluster of Intel Xeon 3.6 GHz dual-processor workstations. Each node was equipped with an FPGA PCI accelerator board from Alphadata Inc., based on Xilinx Virtex-II Pro chips.

The FPGA hardware performed evaluation and small search tasks at very high speed. Each FPGA examined roughly five million chess positions per second.

With a measured parallel speedup of about 17 on 32 processors, the system achieved a net performance of approximately 85 million positions per second, corresponding to a gross performance of roughly 120 million positions per second. 

Hydra computing rack used during the Adams match (2005).

The system consisted of a cluster of dual-processor Xeon nodes combined with FPGA accelerator boards. 

Hydra vs Adams Match (London 2005)
Hydra vs Adams Match (London 2005)
Bild entfernt.

 

The six-game match between Hydra and Michael Adams took place in London in June 2005. Hydra won the match convincingly with the final score 5.5–0.5. At the time of the match, Adams was ranked among the top players in the world.

Venue: Wembley Conference Centre, London

Date: June 21–27, 2005

 

 

 

Match Results


Game Players Result
Game 1 Hydra – Adams 1–0
Game 2 Adams – Hydra ½–½
Game 3 Hydra – Adams 1–0
Game 4 Adams – Hydra 0–1
Game 5 Hydra – Adams 0-1
Game 6 Adams – Hydra 0–1

The score bars shown below the games illustrate Hydra’s internal evaluation during the game and show how the program assessed its winning chances over time.

Game 1
Hydra vs Adams Match - game 1

Hydra vs Michael Adams
Adams - Hydra Match (2005)  
Russian Game: Classical Attack. Chigorin Variation (C42)  
Result: 1-0

 

1. e4 e5 2. Nf3 Nf6 3. Ne5 d6 4. Nf3 Ne4 5. d4 d5 6. Bd3 Nc6 7. O-O Be7 8. Re1 Bg4 9. c3 f5 10. Qb3 O-O 11. Nbd2 Na5 12. Qc2 Nc6 13. b4 a6 14. Rb1 Bd6 15. h3 Bh5 16. b5 Na5 17. c4 dc4 18. Nc4 Nc4 19. Bc4 Kh8 20. ba6 ba6 21. Ne5 c5 22. Bd5 Rc8 23. Be6 Rc7 24. Bf5 Be5 25. de5 Rf5 26. Qe4 Bg6 27. Rb6 Rf8 28. Qe3 Rcf7 29. Rd6 Qa5 30. e6 Re7 31. Ba3 Rfe8 32. Bc5 Qa2 33. Rd2 1-0

 

Game 2
Hydra vs Adams Match, Game 2

Hydra vs Michael Adams
Adams - Hydra Match (2005)  
Russian Game: Classical Attack. Chigorin Variation (C42)  
Result: 1/2-1/2

 

1. e4 c5 2. Nc3 e6 3. Nf3 Nc6 4. d4 cd4 5. Nd4 Qc7 6. g3 a6 7. Bg2 d6 8. Nc6 bc6 9. O-O Nf6 10. Na4 e5 11. c4 Be7 12. Be3 Be6 13. Rc1 O-O 14. b3 Qb7 15. Qe2 Rfe8 16. h3 Rab8 17. Rfd1 Bf8 18. Kh2 h6 19. Rc2 Be7 20. Bc1 Qc7 21. Bb2 Nd7 22. Bc3 Nf8 23. Qe3 c5 24. Bb2 Bd7 25. Nc3 Ne6 26. Nd5 Qd8 27. f4 Nd4 28. Rf2 Bc6 29. fe5 de5 30. Bd4 cd4 31. Qf3 Rf8 32. Qh5 f6 33. h4 Be8 34. Qf3 Bf7 35. Bh3 Rb7 36. h5 a5 37. Kg2 Qe8 38. Bg4 Bc5 39. Rh1 Qc6 40. Rb2 Rfb8 41. Bf5 Kh8 42. Rhb1 Qe8 43. g4 Qc6 44. Qd3 Bg8 45. Qd1 Qa6 46. Rd2 a4 47. Rdb2 Qa8 48. Kh2 Bf7 49. Kg2 Bf8 50. Kh2 Be8 51. b4 a3 52. Rb3 Ba4 53. b5 Qa7 54. Kg2 Qc5 55. Qd3 Bb3 56. Qb3 Ra8 57. Rd1 Qd6 58. Rc1 Qb8 59. Kf3 Bd6 60. Ke2 Bc5 61. Kd3 Qa7 62. Rb1 Qa5 63. Qc2 Qd8 64. Rh1 Qd6 65. Qb3 Re8 1/2-1/2

 

Game 3
Hydra vs Adams Match, game 3
Hydra vs Michael Adams
Adams - Hydra Match (2005)  
Russian Game: Classical Attack. Chigorin Variation (C42)  
Result: 1-0

 

 

 

 

 

1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 b5 7. Bb3 d6 8. c3 O-O 9. d4 Bg4 10. d5 Na5 11. Bc2 c6 12. h3 Bc8 13. dc6 Qc7 14. Nbd2 Qc6 15. Nf1 Be6 16. Ng5 Bd8 17. Ne3 Bd7 18. a4 h6 19. Nf3 Rc8 20. ab5 ab5 21. Nh4 Nc4 22. Nc4 bc4 23. Ba4 Qc7 24. Bd7 Qd7 25. Nf5 d5 26. Ra6 Qb7 27. Rd6 Be7 28. Bh6 1-0

 

Game 4
Hydra vs Adams Match, game 4
Hydra vs Michael Adams
Adams - Hydra Match (2005)  
Russian Game: Classical Attack. Chigorin Variation (C42)  
Result: 0-1

 

 

 

 

 

 

 

 

1. e4 c5 2. Nc3 d6 3. Nge2 Nf6 4. g3 g6 5. Bg2 Nc6 6. d4 cd4 7. Nd4 Nd4 8. Qd4 Bg7 9. O-O O-O 10. a4 Qa5 11. Qd3 Bd7 12. Nd5 Nd5 13. Qd5 Qd5 14. ed5 Bf6 15. c3 a5 16. Re1 Rfb8 17. Bf1 b5 18. ab5 Bb5 19. Bb5 Rb5 20. Rd1 Rc8 21. Ra4 Rcc5 22. c4 Rb3 23. Be3 Rc8 24. Bd4 Kg7 25. Kf1 Bd4 26. Rd4 Rb2 27. Ra5 f5 28. Ra7 Kf6 29. g4 Rb4 30. g5 Kg5 31. Re7 Rcc4 32. Rc4 Rc4 33. Rh7 Kf6 34. Rd7 Ke5 35. Rg7 Rg4 36. f3 Rg5 37. Kf2 Kd5 38. h4 Rh5 39. Kg3 Rh6 40. Re7 Kd4 41. Re1 d5 42. Rd1 Ke5 43. Re1 Kd6 44. Rd1 Rh5 45. Ra1 Kc5 46. Rc1 Kb4 47. Rd1 Kc4 48. Rc1 Kd3 49. Rc6 Rh6 50. h5 f4 0-1

 

Game 5
Hydra vs Adams Match, game 5
Michael Adams vs Hydra 
Adams - Hydra Match (2005)  
Sicilian Defense: Kan. Polugaevsky Variation (B42)  
Result: 0-1

 

 

1. e4 c5 2. Nf3 e6 3. d4 cd4 4. Nd4 a6 5. Bd3 Bc5 6. Nb3 Ba7 7. O-O Ne7 8. c4 d6 9. Nc3 Nbc6 10. Qe2 O-O 11. Be3 e5 12. Rad1 Nd4 13. Bd4 ed4 14. Nd5 Nc6 15. f4 Qh4 16. Nd2 Be6 17. Nc7 Rac8 18. Ne6 fe6 19. g3 Qe7 20. a3 e5 21. f5 Nb8 22. Kg2 Nd7 23. b4 Kh8 24. Bc2 Nf6 25. Rc1 Rc7 26. Bb3 Rfc8 27. Rc2 a5 28. Rfc1 Qe8 29. h3 a4 30. Ba2 Re7 31. c5 dc5 32. bc5 Rec7 33. Be6 Rd8 34. Qd3 g6 35. Kh2 Qc6 36. Qf3 Rf8 37. g4 Qb5 38. Qg3 Qe2 39. Qg2 Qe3 40. Qg3 Rc5 41. Qe3 de3 42. Nf3 Ne4 43. Kg2 Kg7 0-1 

 

Game 6
Hydra vs Adams Match, game 6

Michael Adams vs Hydra 
Adams - Hydra Match (2005)  
Sicilian Defense: Kan. Polugaevsky Variation (B42)  
Result: 0-1

 

1. e4 c5 2. Nf3 e6 3. d4 cd4 4. Nd4 a6 5. Bd3 Bc5 6. Nb3 Ba7 7. O-O Ne7 8. c4 d6 9. Nc3 Nbc6 10. Qe2 O-O 11. Be3 e5 12. Rad1 Nd4 13. Bd4 ed4 14. Nd5 Nc6 15. f4 Qh4 16. Nd2 Be6 17. Nc7 Rac8 18. Ne6 fe6 19. g3 Qe7 20. a3 e5 21. f5 Nb8 22. Kg2 Nd7 23. b4 Kh8 24. Bc2 Nf6 25. Rc1 Rc7 26. Bb3 Rfc8 27. Rc2 a5 28. Rfc1 Qe8 29. h3 a4 30. Ba2 Re7 31. c5 dc5 32. bc5 Rec7 33. Be6 Rd8 34. Qd3 g6 35. Kh2 Qc6 36. Qf3 Rf8 37. g4 Qb5 38. Qg3 Qe2 39. Qg2 Qe3 40. Qg3 Rc5 41. Qe3 de3 42. Nf3 Ne4 43. Kg2 Kg7 0-1 

Hydra was developed by an international team including Christian Donninger, Ulf Lorenz, Christopher Lutz, Muhammad Nasir Ali and Erdogan Günes. The project is built on earlier FPGA‑accelerated chess systems such as Brutus.

Lorenz, U. et al. : Hydra: Report and Technical Overview. ICGA Journal, 2020.

van den Herik, H.J., Nunn, J., Levy, D. : Adams Outclassed by HYDRA. ICGA Journal, 2005.

Donninger, C., Lorenz, U.  The Chess Monster Hydra. FPL 2004.

Donninger, C., Kure, A., Lorenz, U. : Parallel Brutus: The First Distributed FPGA Accelerated Chess Program. IPDPS 2004.

Donninger, C., Lorenz, U. : Innovative Opening-Book Handling. ACG 2006.

ChessBase reports on the Adams–Hydra match (2005).

Hydra player profile and games at Chessgames.com.

P.ConNerS

Parallel Controlled Conspiracy Number Search Chess Program

Engine Overview


Program name P.ConNerS
Full name Parallel Controlled Conspiracy Number Search
Author Ulf Lorenz
Programming language C
Hardware Cluster with 160 Pentium II processors (450 MHz)
Performance Approx. 3.5–5 million nodes per second; parallel speedup ~50

 

P.ConNerS

Parallel Controlled Conspiracy Number Search Chess Program

P.ConNerS (Parallel Controlled Conspiracy Number Search) is an experimental computer chess program developed by Ulf Lorenz in the research group of Burkhard Monien at the University of Paderborn. The system served as a research platform for studying selective game-tree search and parallel search algorithms on cluster architectures.

The program gained international attention after winning the 10th Grandmaster Tournament in Lippstadt, Germany, in July 2000. This result demonstrated that advanced selective search methods combined with large-scale parallel computing could compete with strong human players in tournament conditions.

On 16 July 2000 P.ConNerS won the 10th Grandmaster Tournament in Lippstadt. The field consisted of eleven human players with an average rating of approximately 2522 Elo and one computer participant.

P.ConNerS scored six wins, three draws and two losses (7.5/11 points) and finished first in the final standings. The program was defeated only by Roman Slobodjan and Jonathan Speelman. A draw against Philip Schlosser in the final round secured the tournament victory.

Selected Final Standing (Top Results)


Rank Player / Program Score
1 P.ConNerS 7.5 / 11
2–3 Vlastimil Hráček ≈ close behind
2–3 Maia Chiburdanidze ≈ close behind

P.ConNerS implements Controlled Conspiracy Number Search (CCNS), a selective search technique derived from Conspiracy Number Search (CNS). Unlike classical alpha–beta search engines that focus primarily on increasing search depth, conspiracy-number-based algorithms evaluate the stability of a position's evaluation.

For each node in the game tree the algorithm estimates how many changes in leaf evaluations would be required to alter the final evaluation of the position. These values are known as conspiracy numbers. The search focuses on lines where such changes appear plausible.

This results in highly selective search trees that concentrate computational resources on strategically critical variations.

Conspiracy Number Search was originally proposed as a framework for reasoning about the robustness of minimax evaluations. Instead of blindly expanding the search frontier, the method evaluates how sensitive the root evaluation is to changes in leaf-node values.

Controlled Conspiracy Number Search refines this idea by combining conspiracy-number reasoning with practical heuristics and selective extensions. In many situations the approach behaves similarly to a structured form of singular extensions known from alpha–beta engines.

P.ConNerS derived much of its strength from parallel computation. The system ran on a cluster consisting of 160 Pentium II processors with a clock speed of 450 MHz. The nodes were connected via SCI (Scalable Coherent Interface), a high‑performance network designed for parallel computing.

On this hardware platform the program evaluated approximately 3.5 to 5 million nodes per second and achieved a parallel speedup of roughly 50 when using the full cluster.

P.ConNerS represents an alternative branch of computer chess research that explored selective search methods rather than relying solely on classical alpha–beta search with heavy pruning.

During the same era, leading chess engines such as Deep Blue, Fritz and later Hydra focused primarily on massively optimized alpha–beta search combined with specialized evaluation functions and large opening books.

P.ConNerS therefore serves as an interesting experimental example of a fundamentally different search paradigm applied to high‑performance computer chess.

Heise Online (2000). Report on the victory of the chess program P.ConNerS at the 10th Grandmaster Tournament in Lippstadt. http://www.heise.de/newsticker/meldung/Schachprogramm-schlaegt-Grossmeister-32251.html

Lorenz, Ulf: Controlled conspiracy number search. Paderborn, Univ.-GH, Diss., Institut für Informatik, 2000. https://nbn-resolving.org/urn:nbn:de:hbz:466-20000101124