Home * Engines * Purple Haze

Purple Haze,
a free open source chess engine by Vincent Ollivier compatible with the Chess Engine Communication Protocol and distributed under the terms of the GNU General Public License version 3 [1]. Purple Haze uses some features of C++11, so one needs GCC >= 4.6 or Clang >= 3.0 [2] to compile it.
Purple Haze flower [3]


Purple Haze has a 0x88 board representation combined with piece-lists, and utilizes two arrays indexed by 0x88 square relations, containing either direction and boolean information in std::bitset<7> whether a piece type may attack a square [4], both used for lazy or staged move generation concerning legality of hash move and killers. The PVS implementation [5] uses node type as template parameter, and applies adaptive null move pruning, extended futility pruning, and LMR etc. [6] inside its iterative deepening framework with transposition table. The evaluation features a material hash table and tapers between opening and endgame piece-square tables [7].

See also

Forum Posts

External Links

Chess Engine



  1. ^ purplehaze/README.md at master · vinc/purplehaze · GitHub
  2. ^ Purple Haze v2.0.2 by Vincent Ollivier, CCC, March 26, 2012
  3. ^ Purple Haze flower, Photo by Hans Roht, May 01, 2010, Purple Haze (cannabis) from Wikipedia, Cannabis (drug) from Wikipedia
  4. ^ github.com/vinc/purplehaze/blob/master/src/board.h
  5. ^ PVS by Edmund Moshammer, CCC, March 12, 2009
  6. ^ github.com/vinc/purplehaze/blob/master/src/search.cpp
  7. ^ github.com/vinc/purplehaze/blob/master/README.md

What links here?

Up one level