Purple Haze

Home * Engines * Purple Haze

[.jpg) Purple Haze flower [1] Purple Haze,

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

Board Representation

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.

Evaluation

The evaluation features a material hash table and tapers between opening and endgame piece-square tables [7].

See also

Forum Posts

Chess Engine

Misc

line-up: Jimi Hendrix, Mitch Mitchell, Noel Redding

line-up: Nguyên Lê, Michel Alibo, Cathy Renoir, Francis Lassus

References

  1. Purple Haze flower, Photo by Hans Roht, May 01, 2010, Purple Haze (cannabis) from Wikipedia, Cannabis (drug) from Wikipedia
  2. purplehaze/README.md at master · vinc/purplehaze · GitHub
  3. Purple Haze v2.0.2 by Vincent Ollivier, CCC, March 26, 2012
  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

Up one level