Difference between revisions of "QuTeChess"

From Chessprogramming wiki
Jump to: navigation, search
(Created page with "'''Home * Engines * QuTeChess''' '''QuTeChess''',<br/> an experimental, UCI compatible open source chess engine under the Fr...")
 
 
(One intermediate revision by the same user not shown)
Line 9: Line 9:
 
QuTeChess is quasi [[Bitboards|bitboard]] based using [[Tinker|Tinker's]] [[Sliding Piece Attacks#Tinker's Approach|approach]] in [[Move Generation|move generation]] of [[Sliding Pieces|sliding pieces]].  
 
QuTeChess is quasi [[Bitboards|bitboard]] based using [[Tinker|Tinker's]] [[Sliding Piece Attacks#Tinker's Approach|approach]] in [[Move Generation|move generation]] of [[Sliding Pieces|sliding pieces]].  
 
Based on the [[Bitboard Serialization|serialization]] of attacks on the otherwise empty board, it tests for [[Pseudo-Legal Move|pseudo legality]] by looking whether squares [[Square Attacked By#InBetween|between]] [[Origin Square|origin]] and [[Target Square|target]] are empty.
 
Based on the [[Bitboard Serialization|serialization]] of attacks on the otherwise empty board, it tests for [[Pseudo-Legal Move|pseudo legality]] by looking whether squares [[Square Attacked By#InBetween|between]] [[Origin Square|origin]] and [[Target Square|target]] are empty.
Its [[Search|search]] is a plain [[Alpha-Beta|alpha-beta]] without [[Transposition Table|transposition table]] inside an [[Iterative Deepening|iterative deepening]] loop.  
+
Its [[Search|search]] is plain [[Alpha-Beta|alpha-beta]] without [[Transposition Table|transposition table]] inside an [[Iterative Deepening|iterative deepening]] loop.  
 
The availability of ''changegenes.cpp'' suggests QuTeChess'  
 
The availability of ''changegenes.cpp'' suggests QuTeChess'  
 
[[Point Value|piece values]] and a few random [[Evaluation|evaluation]] features could be [[Automated Tuning|tuned]] by an [[Genetic Programming#EvolutionaryComputation|evolutionary computation]] approach of [https://en.wikipedia.org/wiki/Differential_evolution differential evolution] <ref>* [[Borko Bošković]], [[Sašo Greiner]], [[Janez Brest]], [[Aleš Zamuda]], [[Viljem Žumer]] ('''2008'''). ''[https://link.springer.com/chapter/10.1007%2F978-3-540-68830-3_12 An Adaptive Differential Evolution Algorithm with Opposition-Based Mechanisms, Applied to the Tuning of a Chess Program]''. [https://link.springer.com/book/10.1007/978-3-540-68830-3 Advances in Differential Evolution], [https://en.wikipedia.org/wiki/Springer_Science%2BBusiness_Media Springer]</ref>.
 
[[Point Value|piece values]] and a few random [[Evaluation|evaluation]] features could be [[Automated Tuning|tuned]] by an [[Genetic Programming#EvolutionaryComputation|evolutionary computation]] approach of [https://en.wikipedia.org/wiki/Differential_evolution differential evolution] <ref>* [[Borko Bošković]], [[Sašo Greiner]], [[Janez Brest]], [[Aleš Zamuda]], [[Viljem Žumer]] ('''2008'''). ''[https://link.springer.com/chapter/10.1007%2F978-3-540-68830-3_12 An Adaptive Differential Evolution Algorithm with Opposition-Based Mechanisms, Applied to the Tuning of a Chess Program]''. [https://link.springer.com/book/10.1007/978-3-540-68830-3 Advances in Differential Evolution], [https://en.wikipedia.org/wiki/Springer_Science%2BBusiness_Media Springer]</ref>.
Line 26: Line 26:
 
[[Category:Open Source]]
 
[[Category:Open Source]]
 
[[Category:UCI]]
 
[[Category:UCI]]
 +
[[Category:Chess Suffix]]

Latest revision as of 20:26, 12 January 2019

Home * Engines * QuTeChess

QuTeChess,
an experimental, UCI compatible open source chess engine under the GNU General Public License written by Aleš Zamuda, available from a SourceForge SVN repository [1]. As its name suggests, QuTeChess is written in C++ using the Qt4.7 cross-platform application framework (using QTime, QThread). It reflects the author's dealings with Qt to implement UCI and CLI along with threads to start an interruptible search.

Description

QuTeChess is quasi bitboard based using Tinker's approach in move generation of sliding pieces. Based on the serialization of attacks on the otherwise empty board, it tests for pseudo legality by looking whether squares between origin and target are empty. Its search is plain alpha-beta without transposition table inside an iterative deepening loop. The availability of changegenes.cpp suggests QuTeChess' piece values and a few random evaluation features could be tuned by an evolutionary computation approach of differential evolution [2].

Forum Posts

External Links

References

Up one Level