Home * Engines * Phoenix

Phoenix, (Sun Phoenix)
a chess program by Jonathan Schaeffer, which in 1982 rose from the ashes of Prodigy [1]. In the later 80s Marius Olafsson helped with the implementation of a parallel search. Phoenix and Sun Phoenix participated at four World Computer Chess Championships, the WCCC 1983, WCCC 1986, WCCC 1989, and WCCC 1995. It tied for first place in the 1986 World Championships. Phoenix further played seven consecutive ACM North American Computer Chess Championships, beside the mentioned WCCC 1983 simultaneously the ACM 1983, the ACM 1984, ACM 1985, ACM 1986, ACM 1987, ACM 1988, and ACM 1989.

In his 1987 ICCA Journal paper Speculative Computing, Schaeffer mentions The Null-Move Algorithm or Don Beal's null-move, and used it none recursively up to once per search path in his tactical scout solver Minix (Mini-Phoenix), which up and then gave the parallel running Phoenix, which was a less deep searcher than Minix, some tactical hints [2].
Phoenix depicted by F.J. Bertuch [3]



See also



Jonathan Schaeffer in One Jump Ahead, pp. 8 [4]:
My Ph.D. was not going well, so in the summer of 1982 I started looking for a distraction. Yes, I started writing yet another chess program, this one called Phoenix (it rose from the ashes of Prodigy). The Planner and Prodigy experiences were invaluable, as they convinced me that contrary to all my expectations, lots of chess knowledge didn't work. Which programs were winning the tournaments? The ones with little knowledge, but with the ability to consider an enormous number of chess positions. With a twinge to regret, I wrote Phoenix to mimic these "dumb" programs. The results were immediate. Phoenix didn't know nearly as much about chess as Prodigy did, but it would continually beat it game after game. Obviously, my old approach, imparting human knowledge to an inanimate machine, wasn't the best way to train a computer to play strong chess.

Zobrist Hashing

Jonathan Schaeffer on Zobrist Hashing [5] :
... I can speak from experience here. In the early versions of my chess program Phoenix, I generated my Zobrist hash numbers using my student id number as a seed, naively thinking the random numbers generated by this seed would be good enough. A few years later I put code in to detect when my 32-bit hash key matched the wrong position. To my surprise, there were lots of errors. I changed my seed to another number and the error rate dropped dramatically. With this better seed, it became very, very rare to see a hash error. All randomly generated numbers are not the same!

WCCC 1986

Jonathan Schaeffer in One Jump Ahead, pp. 9 [6]:
I worked hard on Phoenix in preparation of the triennial World Computer Chess Championship in 1986. To improve the program's performance it was modified to run in parallel, using up to thirty computers. They would divide up the work, and each computer would solve part of the problem. In effect, the program was like a small business organization, with a manager to allocate work and employees to do the assigned tasks. The hard work payed off, Phoenix tied for first place in the world championship. I partied late into the night after the final game, intoxicated with success and Coca-Cola. It took a long time for me to come down from my high.



given in the WCCC 1989 booklet [7] :
Phoenix uses state-of-the-art search techniques including singular extensions, minimal window searching, transposition tables, and the history heuristic. The program has lots of chess knowledge, including an extensive long range planner.

Phonix is capable of running in parallel on a network of machines. In tournament mode, Phoenix is actually two programs: ParaPhoenix and ParaMinix. ParaPhoenix uses 10 Sun-4s to build trees looking for the best positional move. ParaMinix uses 10 Sun 4s to build trees looking for the best tactical moves. Because of its specialized task, ParaMinix is capable of searching 1-2 ply deeper than ParaPhoenix. ParaMinix has the ability to veto ParaPhoenix's move choice, if a tactically superior move of found. The parallelism is archived using the Dynamic Principal Variation Splitting Algorithm.


Description given in 1995 from the ICGA site [8] :
The Phoenix program was an active participant in the 1980's computer chess tournaments and tied for first place in the 1986 World Championships. The program competing this year is essentially the same as that which competed in the 1989 World Computer Chess Championships. Phoenix's participation in the 1995 championships will serve as a benchmark for measuring improvements in the field. Phoenix will be running on an HP 9000/720 with 64MB RAM, which will be comparable to that used by most participants, and therefore the primary difference will be in the software. Expectations are that the software advances in the last 6 years will allow the other programs to move past Phoenix '89 in the final standings. Perhaps the best possible outcome would have Phoenix finishing in last place, providing some experimental evidence of the progress in the field!

Selected Games

WCCC 1986, round 3, BCP - Sun Phoenix [9]
[Event "WCCC 1986"]
[Site "Cologne, Germany"]
[Date "1986.06.13"]
[Round "3"]
[White "BCP"]
[Black "Sun Phoenix"]
[Result "0-1"]
1.e4 e6 2.d4 d5 3.e5 c5 4.c3 Qb6 5.Nf3 Bd7 6.Bd3 cxd4 7.Nxd4 Nc6 8.Nxc6 Bxc6 
9.O-O O-O-O 10.Nd2 f6 11.Qg4 Re8 12.Re1 Nh6 13.Qh3 Bc5 14.Qg3 Ng4 15.Qxg4 Bxf2+
16.Kf1 Bxe1 17.Kxe1 fxe5 18.Qxg7 Qe3+ 19.Be2 Rhg8 20.Qf7 Bb5 21.Qf2 Qxe2+ 
22.Qxe2 Bxe2 23.Kxe2 Rxg2+ 24.Ke3 Rxh2 25.a4 Rf8 26.a5 h5 27.Ra4 Rh1 28.Ra1 h4 
29.Rb1 Re1+ 30.Kd3 h3 31.Nf1 Rfxf1 0-1 


Forum Posts

External Links

Chess Program

Phoenix Chess Systems

Phoenix elsewhere


  1. ^ Jonathan Schaeffer (1997, 2009). One Jump Ahead. 1. This Was Going to Be Easy, pp. 8
  2. ^ Jonathan Schaeffer (1987). Speculative Computing. ICCA Journal, Vol. 10, No. 3
  3. ^ Phoenix (mythology) from Wikipedia
  4. ^ Jonathan Schaeffer (1997, 2009). One Jump Ahead. 1. This Was Going to Be Easy, pp. 8
  5. ^ Hash tables - Clash!!! What happens next? by Valavan Manohararajah, rec.games.chess, post 6 by Jonathan Schaeffer, March 17, 1994
  6. ^ Jonathan Schaeffer (1997, 2009). One Jump Ahead. 1. This Was Going to Be Easy, pp. 9
  7. ^ Kings Move - Welcome to the 1989 AGT World Computer Chess Championship. Edmonton, Alberta, Canada, Courtesy of Peter Jennings, from The Computer History Museum, pdf
  8. ^ Phoenix's ICGA Tournaments
  9. ^ Cologne 1986 - Chess - Round 3 - Game 6 (ICGA Tournaments)

What links here?

Up one level