Changes

Jump to: navigation, search

Phoenix

12,206 bytes added, 14:18, 25 April 2018
Created page with "'''Home * Engines * Phoenix''' FILE:Phoenix-Fabelwesen.jpg|border|right|thumb| Phoenix depicted by [https://en.wikipedia.org/wiki/Friedrich_Justin_Bertuch..."
'''[[Main Page|Home]] * [[Engines]] * Phoenix'''

[[FILE:Phoenix-Fabelwesen.jpg|border|right|thumb| Phoenix depicted by [https://en.wikipedia.org/wiki/Friedrich_Justin_Bertuch F.J. Bertuch] <ref>[https://en.wikipedia.org/wiki/Phoenix_%28mythology%29 Phoenix (mythology) from Wikipedia]</ref> ]]

'''Phoenix''', (Sun Phoenix)<br/>
a chess program by [[Jonathan Schaeffer]], which in 1982 rose from the ashes of [[Prodigy]] <ref>[[Jonathan Schaeffer]] ('''1997, 2009'''). ''[http://www.springer.com/computer/ai/book/978-0-387-76575-4 One Jump Ahead]''. 1. This Was Going to Be Easy, pp. 8</ref>. In the later 80s [[Marius Olafsson]] helped with the implementation of a [[Parallel Search|parallel search]]. Phoenix and Sun Phoenix participated at four [[World Computer Chess Championship|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 Championship|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 [[ICGA Journal#10_3|ICCA Journal]] paper ''Speculative Computing'', Schaeffer mentions ''[[Null Move Pruning|The Null-Move Algorithm]]'' or ''[[Don Beal|Don Beal's]] [[Null Move|null-move]]'', and used it none [[Recursion|recursively]] up to once per search path in his tactical [[Scout|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 <ref>[[Jonathan Schaeffer]] ('''1987'''). ''Speculative Computing''. [[ICGA Journal#10_3|ICCA Journal, Vol. 10, No. 3]]</ref>.

=Authors=
* [[Jonathan Schaeffer]]
* [[Marius Olafsson]]

=Namesake=
* [[Phoenix (Rahul)]]

=See also=
* [[Various Classifications#Bird|Bird]]
* [[Various Classifications#Demonology|Demonology]]
* [[Various Classifications#Mythology|Mythology]]
* [[Planner]]
* [[Prodigy]]

=Quotes=
==[[University of Waterloo|Waterloo]]==
[[Jonathan Schaeffer]] in ''[http://www.springer.com/computer/ai/book/978-0-387-76575-4 One Jump Ahead]'', pp. 8 <ref>[[Jonathan Schaeffer]] ('''1997, 2009'''). ''[http://www.springer.com/computer/ai/book/978-0-387-76575-4 One Jump Ahead]''. 1. This Was Going to Be Easy, pp. 8</ref>:
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]] <ref>[http://groups.google.de/group/rec.games.chess/browse_thread/thread/87d436c2293f9138 Hash tables - Clash!!! What happens next?] by [[Valavan Manohararajah]], [[Computer Chess Forums|rec.games.chess]], post 6 by [[Jonathan Schaeffer]], March 17, 1994</ref> :
... 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 [[Pseudorandom Number Generator|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 ''[http://www.springer.com/computer/ai/book/978-0-387-76575-4 One Jump Ahead]'', pp. 9 <ref>[[Jonathan Schaeffer]] ('''1997, 2009'''). ''[http://www.springer.com/computer/ai/book/978-0-387-76575-4 One Jump Ahead]''. 1. This Was Going to Be Easy, pp. 9</ref>:
I worked hard on Phoenix in preparation of the triennial [[WCCC 1986|World Computer Chess Championship in 1986]]. To improve the program's performance it was modified to run in [[Parallel Search|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.

=Descriptions=
==1989==
given in the [[WCCC 1989]] booklet <ref>[http://www.computerhistory.org/chess/full_record.php?iid=doc-434fea055cbb3 Kings Move - Welcome to the 1989 AGT World Computer Chess Championship.] Edmonton, Alberta, Canada, Courtesy of [[Peter Jennings]], from [[The Computer History Museum]], [http://archive.computerhistory.org/projects/chess/related_materials/text/3-1%20and%203-2%20and%203-3%20and%204-3.1989_WCCC/1989%20WCCC.062302028.sm.pdf pdf]</ref> :
Phoenix uses state-of-the-art search techniques including [[Singular Extensions|singular extensions]], [[Null Window|minimal window]] searching, [[Transposition Table|transposition tables]], and the [[History Heuristic|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#4|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 [[Parallel Search#PrincipalVariationSplitting|Dynamic Principal Variation Splitting Algorithm]].

==1995==
given in [[WCCC 1995|1995]] from the [[ICGA]] site <ref>[https://www.game-ai-forum.org/icga-tournaments/program.php?id=191 Phoenix's ICGA Tournaments]</ref> :
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 [https://en.wikipedia.org/wiki/HP_9000#Series_700 HP 9000/720] with 64MB [[Memory#RAM|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==
[[WCCC 1986]], round 3, [[BCP]] vs. Sun Phoenix <ref>[https://www.game-ai-forum.org/icga-tournaments/round.php?tournament=62&round=3&id=6 Cologne 1986 - Chess - Round 3 - Game 6 (ICGA Tournaments)]</ref>
<pre>
[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
</pre>

==ACM 1988==
[[FILE:SchaefferACM88.jpg|none|border|text-bottom|640px]]
[[ACM 1988]], round 2, Sun Phoenix vs. [[Deep Thought]], [[Jonathan Schaeffer]] counts his pieces, one by one <ref>Photo by [[Monroe Newborn|Monty Newborn]], [[ICGA Journal#11_4|ICCA Journal, Vol. 11, No. 4]], pp. 184</ref>
<pre>
[Event "ACM 1988"]
[Site "Orlando USA"]
[Date "1988.11.13"]
[Round "2"]
[White "Sun Phoenix"]
[Black "Deep Thought 0.02"]
[Result "0-1"]

1.c4 e5 2.Nc3 Bb4 3.Nd5 Ba5 4.b4 c6 5.bxa5 cxd5 6.cxd5 Nf6 7.Qa4 Nxd5 8.Qe4 Nc7 9.Qxe5+ Ne6
10.Bb2 Nc6 11.Qd5 Nxa5 12.e4 Nc6 13.Qd6 Qb6 14.Rb1 Nc5 15.Bc4 f6 16.f3 Qb4 17.Qd5 Ne5 18.Bf1
d6 19.a3 Qb6 20.a4 Be6 21.Bb5+ Ke7 22.Qd4 Bb3 23.Ra1 Bxa4 24.Bxa4 Ned3+ 25.Kf1 Qxb2 26.Qxb2
Nxb2 27.Bc2 Nc4 28.Ke2 Ne6 29.Kd1 b5 30.Ne2 Rhc8 31.e5 Nxe5 32.Nc3 Nd4 33.Bxh7 f5 34.Ne2 Nxe2
35.Kxe2 Kf6 36.f4 Nc4 37.g4 fxg4 38.Be4 Re8 39.Kd3 d5 40.Ra6+ Re6 41.Bxd5 Rxa6 42.Bxa8 Ra2
43.Bc6 a6 44.Rg1 Rxd2+ 45.Kc3 Rxh2 46.Bd5 Ne3 0-1
</pre>

=Publications=
* [[Jonathan Schaeffer]], [[Tony Marsland]] ('''1985'''). The Utility of Expert Knowledge. Proceedings [http://www.informatik.uni-trier.de/%7Eley/db/conf/ijcai/ijcai85.html IJCAI 85], pp. 585-587. Los Angeles. [http://dli.iiit.ac.in/ijcai/IJCAI-85-VOL1/PDF/111.pdf pdf]
* [[Jonathan Schaeffer]] ('''1986'''). ''Improved Parallel Alpha-Beta Searching''. Proceedings ACM/IEEE Fall Joint Computer Conference, pp. 519-527.
* [[Jonathan Schaeffer]] ('''1987'''). ''Speculative Computing''. [[ICGA Journal#10_3|ICCA Journal, Vol. 10, No. 3]]
* [[Jonathan Schaeffer]] ('''1989'''). ''Distributed Game-Tree Searching''. Journal of Parallel and Distributed Computing, Vol. 6, No. 2, pp. 90-114. ISSN 0743-7315.

=Forum Posts=
* [http://groups.google.com/group/rec.games.chess/browse_frm/thread/51267e26536fa912 QMW computer chess] by [[Don Beal]], [[Computer Chess Forums|rec.games.chess]], August 19, 1993 » [[UPCCC 1993]]

=External Links=
==Chess Program==
* [https://www.game-ai-forum.org/icga-tournaments/program.php?id=191 Phoenix' ICGA Tournaments]
* [http://web.archive.org/web/20091026180259/http://geocities.com/rookknightrook/ChessArticlesDavidCohen.htm#A0507 Computer Chess and Canada] by [http://web.archive.org/web/20091026180259/http://geocities.com/rookknightrook/ChessArticlesDavidCohen.htm David Cohen], 2005

==Phoenix Chess Systems==
* [http://www.schach-computer.info/wiki/index.php/Phoenix_Chess_Systems Phoenix Chess Systems] from [http://www.schach-computer.info/wiki/index.php/Hauptseite_En schach-computer.info]
* [http://www.phoenixcs.nl/ Welcome to Phoenix Chess Systems] by [[Ruud Martin]]

==Phoenix elsewhere==
* [https://en.wikipedia.org/wiki/Phoenix_%28mythology%29 Phoenix (mythology) from Wikipedia]
* [https://en.wikipedia.org/wiki/Phenex Phoenix (demonology) from Wikipedia]
* [http://www.scphoenix.ch/infos/wirueberuns.php phoenix: a world of chess], Zurich Chess Club (German)
* [https://en.wikipedia.org/wiki/Phoenix_%28band%29 Phoenix (band) from Wikipedia]
* [http://www.discogs.com/artist/1063310-Hans-Koller-Free-Sound Hans Koller Free Sound] - Nicolas 1-2, [http://www.discogs.com/Hans-Koller-Free-Sound-Phoenix/master/359810 Phoenix], 1973, [https://en.wikipedia.org/wiki/YouTube YouTube] Video
: line-up: [https://de.wikipedia.org/wiki/Adelhard_Roidinger Adelhard Roidinger], [https://de.wikipedia.org/wiki/Albert_Mair Albert Mair], [https://de.wikipedia.org/wiki/Alex_Bally Alex Bally], [[Videos#HansKoller|Hans Koller]], [http://de.wikipedia.org/wiki/J%C3%BCrgen_Wuchner Jürgen Wuchner]
: {{#evu:https://www.youtube.com/watch?v=GOX22xvVskI|alignment=left|valignment=top}}

=References=
<references />

'''[[Engines|Up one level]]'''

Navigation menu