Houdini

Šachový motor Houdini viz http://www.cruxis.com/chess/houdini.htm
Houdini je špičkový program hrající šachy pod Windows, extra silný je zvláště v bleskovkách či pro rychlé analýzy. Zde uvedená verze je Houdini 1.5 (publikováno 15.12 2010, ELO 2800+ na běžném PC).

Houdini Chess Engine see http://www.cruxis.com/chess/houdini.htm Houdini is a state-of-the-art chess engine for Windows that competes with the best commercial and free software. This version is Houdini 1.5 (release date 15.12 2010, ELO 2800+ on common PC).

Jméno "Houdini" nebylo vybráno náhodně, ale vystihuje houževnatost a urputnost s jakou dokáže bojovat v težkých pozicích, případně bravurně zahrát v horších a často tak skončit s remízou. Se stejnou bravurností pak dokáže zabránit soupeřům použít takové únikové cesty z horší pozice ve chvíli kdy Houdini stojí o něco lépe.

The name "Houdini" was chosen because of the engine's tenacity in difficult positions and its ability to defend stubbornly and escape with a draw – sometimes by the narrowest of margins. At the same time Houdini will deny its opponents the same escape routes when it has the better position.

Jak tento šachový program používat

Tento šachový program stejně jako dnes běžně mnoho jiných šachových motorů neobsahuje vlastní grafické rozhraní. Ale můžete ho snadno spustit z uživatelsky komfortního rozhraní, které umí komunikovat pomocí UCI protokolu. Klasicky je to zdarma dostupná Arena.

How to use it

The program has no graphical interface but can be used with any UCI-compatible chess graphical user interface (GUI) like the free Arena chess interface.

Stažení / Download

Balení verze Houdini 1.5a je dostupná pro Windows 32-bit i Windows 64-bit, pro počítače s 1 až 8 jádrovými procesory. Každý exe soubor obsahuje kód pro optimální běh na jednom až 8 jádrovém procesoru.
The package contains Houdini_15_w32.exe for 32-bit Windows and Houdini_15_x64.exe for 64-bit Windows. Each executable contains code for optimal execution from single-core up to 8 cores. On a 64-bit platform the 64-bit version is about 30% faster than the 32-bit version. If your hardware supports SSE4.2 the program will use the POPCNT instruction for another slight performance gain.

------> Houdini_15a.zip (1.11 MB)

Some old versions : Houdini_103a_w32_1CPU.zip (127KB),Houdini_103a_x64_1CPU.zip (125KB)

UCI Options

Following UCI options are available:

Gaviota End Game Table Base (EGTB) support

Houdini integrates the Gaviota EGTB probing code © Miguel A. Ballicora. All information about Gaviota EGTB files can be found at the Gaviota web site. Even without EGTB Houdini is a great performer in the end game because of its extensive built-in knowledge of basic endings (e.g. KQ v KP and KB v KBP). Knowing that the EGTB access is very slow compared to a native evaluation of the position, a generic use of EGTB might actually decrease the playing strength. To cope with this situation Houdini will vary the frequency at which the EGTB are probed depending on the end game that is occurring. In difficult endings in which the table bases are very useful (e.g. KQP v KQ or KRP v KR) Houdini will probe the EGTB files much earlier than in endings that are easy to evaluate. The location of the Gaviota EGTB files is specified in the GaviotaTbPath option. Houdini will scan the folder for "kqkr.gtb.cpX" files and accordingly decide which compression level to use. The depth of the earliest probe of an EGTB can be configured with the Hard_Probe_Depth and Soft_Probe_Depth options. In a multi-core environment you may want to increase these values to reduce the likelihood of several cores probing the EGTB simultaneously. Houdini will always probe the EGTB for the initial position of the search. If an EGTB mate position is identified, the full main line will be shown immediately. If the initial position is an EGTB draw but Houdini has a material advantage, Houdini will still play for a win - the opponent might be human or an engine without end game table bases. UCI Options

Setting the correct number of threads when hyper-threading is available

On Intel processors with so-called hyper-threading, it is strongly recommended to set the number of threads not higher than the number of physical cores. The architecture of Houdini is not very well suited for hyper-threading, use of more threads than physical cores would severely degrade the performance of the engine.

Tuning the Split_Depth parameter on multi-core hardware

The Split_Depth parameter defines the minimum depth at which work will be split between cores. This parameter can impact the speed of the engine (nodes per second) and should be fine-tuned to get the best performance out of your hardware. The default value 10 is tuned for quad Core i5/i7 systems, but on other systems it may be advantageous to increase this to 12 or 13. To select the best Split_Depth for your system you should analyze some positions for a fixed duration (e.g. 30 seconds) and measure the average nodes/second. Do this for all values of Split_Depth between 10 and 14, and keep the value that produces the highest average node speed.

Large Memory Pages

Houdini will use so-called large memory pages if they are provided by the operating system. Depending on the hash table size the speed improvement may be between 5% and 10%. You'll also need to run your chess GUI with administrative rights ("Run as Administrator") or disable UAC in Windows. Very often large pages will only be available shortly after booting Windows. After a while the Windows memory becomes too fragmented for large page allocation, and Houdini will fall back to standard memory page usage.

Poděkování

Bez mnoha idejí z vynikajících šachových programů na bázi open source, kterými jsou především Ippolit/Robbolito, Stockfish a Crafty, by se Houdini nemohl tak rychle stát tak skvělým šachovým motorem jakým nyní je.

Acknowledgements

Without many ideas from the excellent open source chess engines Ippolit/Robbolito, Stockfish and Crafty (in that order), Houdini would not nearly be as strong as it is now.