Ifrit
Ifrit, (Ифрит)
an UCI compliant open source chess engine by Andrey Brenkman, written in C++, distributed under the GNU General Public License, with executables built to run under Windows, Linux, Mac OS and Android, 64, and 32 bit.
The development started in 2006, as suggested by the copyright notice inside the source files, the most recent version m1.8 published on Bitbucket on June 14, 2012. Ifrit used several board representations and implementations in four series, namely 0x88 in series "c" , Bitboards in "b", object oriented Bitboards in series "j", and finally, Magic Bitboards in series "m". The search does not perform Negamax, but indirect recursion with White as max-player and Black as min-player. Some routines, such as bitscan, are instantiated in multiple source files, bitboard constants are defined as decimals rather than more intuitive hexadecimal for board pattern.
Contents
Features
Move Generation
- Plain Magic Bitboards
- BitScan Forward by De Bruijn Multiplication [3]
- BitScan Reverse by Double Conversion
- SWAR-Popcount
Search
- Iterative Deepening
- Principal Variation Search
- Transposition Table
- Zobrist Hashing
- Move Ordering
- Selectivity
Evaluation
See also
Forum Posts
- Ifrid?? by Tony Thomas, CCC, December 17, 2007
- Ifrit by Gabor Szots, CCC, December 24, 2007
- Ifrit Updated by Swaminathan Natarajan, January 29, 2010
- [STS 1-10] Ifrit 3.6 by Swaminathan Natarajan, August 14, 2010
External Links
Chess Engine
- Шахматная программа Ифрит (Ifrit chess engine)
- abrenkman / Ifrit_chess_engine / source / — Bitbucket
- Index of /chess/engines/Jim Ablett/IFRIT by Jim Ablett hosted by Kirill Kryukov
- Mac Chess Engines Repository hosted by Julien Marcel
- Ifrit at CCRL 40/40
Misc
References
- ↑ "An Ifrit named Arghan Div brings the chest of armor to Hamza", unknown artist, between 1562 and 1577, Brooklyn Museum, Wikimedia Commons, Ifrit from Wikipedia
- ↑ Based on Ifrit_m1_9_Beta_24_June_2012, abrenkman / Ifrit_chess_engine / source / — Bitbucket
- ↑ Bitscan forward by De Bruijn Multiplication with De Bruijn constant from CPW, 0x03F79D71B4CB0A89, used as decimal magic 285870213051386505, implementation (decimal conversion?) credited to Jim Ablett, routine by Charles Leiserson, Harald Prokop and Keith H. Randall, end of abrenkman / Ifrit_chess_engine / source / move_generation.cpp — Bitbucket, also instantiated elsewhere