5 Do Chess Engines Dream of Electric Guitar?
6 ------------------------------------------
8 Purple Haze is a free chess engine compatible with the Xboard protocol. It is
9 written by Vincent Ollivier and distributed under the terms of the GNU General
10 Public License version 3.
12 The development of Purple Haze started in the winter of 2006/2007 as a project
13 to learn the Java programming language by a student in Computer Science.
14 It was terribly slow and rapidly put aside for two years before benefiting
15 from a regained interest after much scientific papers' reading on the subject.
16 A new version was written in C++ between the summer of 2009 and the beginning
17 of 2010 but it was very bugged and difficult to maintain so the second major
18 rewriting started during the winter of 2011. This time it is only slightly
19 faster but a lot more organized (comparatively) and follow a test-driven
20 development. The goal is to end up with something reasonably good and free of
23 Most of its concepts or algorithms are inspired from scientific papers and
24 Open Source engines, notably TSCP, CPW, Fruit, Crafty and Stockfish. A lot of
25 the ideas used for the implementation of theses concepts also comes from
26 reading the [Computer Chess Club Forums](http://talkchess.com/forum/) and the
27 [Chess Programming Wiki](http://chessprogramming.wikispaces.com/). Without
28 them Purple Haze would not be able to do more than moving the pieces around
36 * 0x88 Board Representation
40 * Lazy Move Generation
41 * Best Move from Iterative Deepening or Transposition Table
42 * Most Valuable Victim / Least Valuable Aggressor
46 * Principal Variation Search
51 * Adaptative Null Move Pruning
52 * Extended Futility Pruning
58 * Move Ordering (via MVV/LVA)
63 * Opening and Ending Piece-Square Tables
82 See INSTALL for installation instructions. For the moment there is no stable
89 You are free to read it, run it and modify it. If you choose to do so, drop me
90 an email at <contact@vincentollivier.com>, it is still a very young project
91 written by a beginner in chess programming so any feedback would be really