Older Version
Newer Version
GerdIsenberg
Apr 26, 2016
**[[Home]] * [[Engines]] * Hakkapeliitta** || [[image:Hakkapeliitta-1940.jpg link="http://commons.wikimedia.org/wiki/File:Hakkapeliitta-1940.jpg"]] ||~ || **Hakkapeliitta**, an [[UCI]] compatible [[Open Source Engines|open source chess engine]] by [[Mikko Aarnos]], written in [[Cpp|C++11/14]] and licensed under the [[Free Software Foundation#GPL|GNU General Public License]], Version 3. Hakkapeliitta is a state of the art [[Bitboards|bitboard]] engine, and performs [[Magic Bitboards|Magic bitboards]] to determine [[Sliding Piece Attacks|sliding piece attacks]]. Despite using conditional compiled [[x86-64]] processer instructions for [[BitScan|bitscan]], Hakkapeliitta uses [[Kim Walisch|Kim Walisch's]] [[BitScan#KimWalisch|forward]] and [[BitScan#FillDeBruijn|reverse bitscans]] <ref>[[https://github.com/mAarnos/Hakkapeliitta/blob/master/src/bitboards.hpp|Hakkapeliitta/bitboard.hpp at master · mAarnos/Hakkapeliitta · GitHub]]</ref>. If the processor does not support hardware [[Population Count|popcount]], Hakkapeliitta falls back to [[Population Count#SWARPopcount|SWAR-popcount]]. The [[Search|search]] uses [[https://en.wikipedia.org/wiki/Template_%28C%2B%2B%29#Function_templates|function templates]] to distinguish between [[Node Types#PV|PV-nodes]] and none PV-nodes at compile time <ref>[[https://github.com/mAarnos/Hakkapeliitta/blob/master/src/search.cpp|Hakkapeliitta/search.cpp at master · mAarnos/Hakkapeliitta · GitHub]] - template <bool pvNode> int Search::search</ref>. Similar, hardware popcount support is boolean template parameter of [[Evaluation|evaluation]] routines <ref>[[https://github.com/mAarnos/Hakkapeliitta/blob/master/src/evaluation.cpp|Hakkapeliitta/evaluation.cpp at master · mAarnos/Hakkapeliitta · GitHub]]</ref>. || || Hakkapeliitta <ref>[[https://commons.wikimedia.org/wiki/File:Hakkapeliitta-1940.jpg|Hakkapeliitta]] featured on a 1940 Finnish stamp, [[https://en.wikipedia.org/wiki/Wikimedia_Commons|Wikimedia Commons]]</ref> ||~ ||^ || [[toc]] =Etymology= The term is probably based on the [[https://en.wikipedia.org/wiki/Finnish_language|Finnish]] [[https://en.wikipedia.org/wiki/Battle_cry|battle cry]] "Hakkaa päälle" <ref>[[https://en.wiktionary.org/wiki/Hakkapeliitta|Hakkapeliitta - Wiktionary]]</ref>, commonly translated as "Cut them down!". The Finnish [[https://en.wikipedia.org/wiki/Cavalry|cavalryman]] in the service of [[https://en.wikipedia.org/wiki/Monarchy_of_Sweden|King]] [[https://en.wikipedia.org/wiki/Gustavus_Adolphus_of_Sweden|Gustavus Adolphus]] of [[https://en.wikipedia.org/wiki/Swedish_Empire|Sweden]] during the [[https://en.wikipedia.org/wiki/Thirty_Years%27_War|Thirty Years' War]] (1618 to 1648) were called Hackapelit, Hackapelite, Hackapell, Haccapelit, or Haccapelite in the [[https://en.wikipedia.org/wiki/Holy_Roman_Empire|Holy Roman Empire]], in the [[https://en.wikipedia.org/wiki/19th_century|19th-century]] modified to Finnish **Hakkapeliitta** <ref>[[https://en.wikipedia.org/wiki/Hakkapeliitta|Hakkapeliitta from Wikipedia]]</ref> <ref>[[https://en.wikipedia.org/wiki/Military_of_the_Swedish_Empire|Military of the Swedish Empire - Wikipedia]]</ref>. =Features= <ref>based on sources of [[https://github.com/mAarnos/Hakkapeliitta/tree/master/src|Hakkapeliitta 2.0]]</ref> ==[[Search]]== * [[Iterative Deepening]] * [[Aspiration Windows]] * [[Principal Variation Search]] * [[Transposition Table]] * [[Zobrist Hashing]] * [[Null Move Pruning]] * [[Late Move Reductions]] * [[Internal Iterative Deepening]] * [[Futility Pruning]] * [[Futility Pruning#MoveCountBasedPruning|Move Count Based Pruning]] * [[Reverse Futility Pruning]] * [[Razoring]] * [[Killer Heuristic]] * [[Relative History Heuristic]] * [[Static Exchange Evaluation]] ==[[Evaluation]]== * [[Material]] * [[Tapered Eval]] * [[Piece-Square Tables]] * [[Mobility]] * [[Pawn Hash Table]] * [[Pawn Structure]] > [[Backward Pawn]] > [[Doubled Pawn]] > [[Isolated Pawn]] > [[Passed Pawn]] * [[King Safety]] > [[King Safety#PawnShield|Pawn Shelter]] ==Misc== * [[Magic Bitboards]] * [[Perft]] * [[Pondering]] (since 3.0) * [[Syzygy Bases]] =Acknowledgements= Thanks from the author to following [[People|people]] or [[Organizations|organizations]] <ref>[[https://github.com/mAarnos/Hakkapeliitta|mAarnos/Hakkapeliitta · GitHub - Acknowledgements]]</ref> * [[Home|Chess Programming Wiki]] (Thanks as well) * [[CCC|Talkchess]] * [[Tord Romstad]] of [[Glaurung]] * [[Ronald de Man]] * [[Tord Romstad]], [[Marco Costalba]], and [[Joona Kiiski]] of [[Stockfish]] * [[Robert Hyatt]] of [[Crafty]] * [[Peter Österlund]] of [[Texel]] * Authors of [[Ivanhoe]] * [[Ed Schroder|Ed Schröder]] of [[Rebel]] and [[Pro Deo]] <ref>[[http://www.top-5000.nl/authors/rebel/chess840.htm|Inside Rebel/Prodeo]] by [[Ed Schroder|Ed Schröder]]</ref> * [[Stef Luijten]] of [[Winglet]] <ref>[[http://web.archive.org/web/20120621100214/http://www.sluijten.com/winglet/|Winglet, Writing a Chess Program in 99 Steps]] by [[Stef Luijten]], [[http://en.wikipedia.org/wiki/Wayback_Machine|Wayback Machine]]</ref> * [[Steve Maughan]] of [[Maverick]] * [[Tom Kerrigan]] of [[TSCP]] =See also= * [[Various Classifications#Military|Military]] =Forum Posts= * [[http://www.talkchess.com/forum/viewtopic.php?t=51406|Hakkapeliitta dev 63.7 by Mikko Aarnos]] by [[Jose Maria Velasco|Jose Mº Velasco]], [[CCC]], February 25, 2014 * [[http://www.talkchess.com/forum/viewtopic.php?t=52725|Hakkapeliitta 1.0 release]] by [[Mikko Aarnos]], [[CCC]], June 22, 2014 * [[http://www.talkchess.com/forum/viewtopic.php?t=54749|Hakkapeliitta 2.0 release]] by [[Mikko Aarnos]], [[CCC]], December 25, 2014 * [[http://www.talkchess.com/forum/viewtopic.php?t=56790|Hakkapeliitta 3.0 release]] by [[Mikko Aarnos]], [[CCC]], June 27, 2015 * [[http://www.talkchess.com/forum/viewtopic.php?t=57029|Hakkapeliitta the "STRONGEST" in tactic, new Nr1]] by [[Frank Quisinsky]], [[CCC]], July 19, 2015 =External Links= ==Chess Engine== * [[https://github.com/mAarnos/Hakkapeliitta|mAarnos/Hakkapeliitta · GitHub]] * [[http://www.computerchess.org.uk/ccrl/404/cgi/compare_engines.cgi?family=Hakkapeliitta&print=Rating+list&print=Results+table&print=LOS+table&print=Ponder+hit+table&print=Eval+difference+table&print=Comopp+gamenum+table&print=Overlap+table&print=Score+with+common+opponents|Hakkapeliitta]] in [[CCRL|CCRL 40/4]] ==Misc== * [[https://en.wiktionary.org/wiki/Hakkapeliitta|Hakkapeliitta - Wiktionary]] * [[https://en.wikipedia.org/wiki/Hakkapeliitta|Hakkapeliitta from Wikipedia]] * [[https://en.wikipedia.org/wiki/Hakkapeliittain_Marssi|Hakkapeliittain Marssi from Wikipedia]] * [[https://fi.wikipedia.org/wiki/Hakkapeliitta_%28lehti%29|Hakkapeliitta (lehti) Wikipedia]] (Finnish, Paramilitary Journal 1926 - 1944) * [[http://www.mossyrocks.ca/|Mossy Rocks]] - Cut Em Down, [[http://en.wikipedia.org/wiki/YouTube|YouTube]] Video > [[media type="youtube" key="_rcgloApnUs" width="560"]] =References= <references /> =What links here?= [[include page="Hakkapeliitta" component="backlinks" limit="40"]] **[[Engines|Up one level]]**