Like TSCP, Belzebub uses following algorithm to detect repetitions, credited to John Stanback, originated from SCP and his GNU Chess versions [10]. However, it may detect false repetitions in case of exchanging two unequal pieces [11]. Further, the routine keeps the garbage collector busy by allocating the integer array each call, even if the fifty move counter is less or equal three.
/* reps() returns the number of times that the current
position has been repeated. Thanks to John Stanback
for this clever algorithm. */int reps(){int i;int b[]=newint[64];int c =0;/* count of squares that are different from
the current position */int r =0;/* number of repetitions *//* is a repetition impossible? */if(fifty <=3){return0;}/* loop through the reversible moves */int m = hply - fifty -1;if(m <0){
m =0;}// gdy gra jest wznawiana to tablica hist jest pustafor(i = hply -1; i >= m;--i){if(++b[hist_from[i]]==0){--c;}else{++c;}if(--b[hist_to[i]]==0){--c;}else{++c;}if(c ==0){++r;}}return r;}
a WinBoard compliant open source chess engine written by Radosław Kamowski in Java, released in May 2002 as free chess game for mobile phones [1] [2]. Belzebub played the first and second Polish Computer Chess Championship. After finishing last at the PCCC 2002, Belzebub became runner-up of the uniform category at the PCCC 2003 behind Tytan.
Table of Contents
Etymology
Belzebub is the Polish diction of Beelzebub or Baalzebûb, Arabic: بعل الذباب, Ba‘al az-Zubab, literally "Lord of the Flies", a Semitic deity that was worshiped in the Philistine city of Ekron. In later Christian and Biblical sources, Beelzebub is referred to as another name for Devil [4] [5] [6]. In Christian demonology, classified by Peter Binsfeld in Tractatus de confessionibus maleficorum & Sagarum an et quanta fides iis adhibenda sit, 1589 [7], Beelzebub is one of the seven Princes of Hell [8] associated with gluttony, one of the seven deadly sins. Gluttony also occurs in chess [9] or even more in computer chess with basically material based evaluation, i.e. grabbing unimportant pawns with the queen, ignoring development and king safety.Description
Search
Belzebub uses plain 8x8 board arrays, and applies alpha-beta with null move pruning inside an iterative deepening framework with aspiration windows. Move ordering considers the principal variation from previous iteration maintained in a triangular PV-table, MVV-LVA for captures and killer- and history heuristic otherwise.Repetitions
Like TSCP, Belzebub uses following algorithm to detect repetitions, credited to John Stanback, originated from SCP and his GNU Chess versions [10]. However, it may detect false repetitions in case of exchanging two unequal pieces [11]. Further, the routine keeps the garbage collector busy by allocating the integer array each call, even if the fifty move counter is less or equal three.Selected Games
PCCC 2003 - Belzebub - Robin [12]See also
External Links
Chess Engine
Demonology
Misc
Drosophila melanogaster from Wikipedia
Allan Holdsworth, Jeff Berlin, Dave Stewart and Bill Bruford
References
What links here?
Up one Level