GIBBON Home Page
Links - Gibbons - Gibbons song
- How Gibbon works - Contact
Welcome to Gibbon Home Page.
Notice :
- no annoying magic bitboard stuff
no killer
heuristic that would prevent you from getting the winning chances
you deserve.
At least the computer may go wrong ...
- uci chess modules need a Graphical Interface
(as for
instance, Arena) to
display moves.
- if download fails, try this other page.
- Gibbon come with its source.
You may see by
yourself : full of gotos.
Disclaimer : the author assumes no responsibility for
the use
made of the program and its sources.
Version |
Estimated strength |
Release Date |
2350 |
2015-06-01 |
|
2320 |
2014-06-30 |
|
2235 |
2012-06-01 |
|
2130 |
2009-03-01 |
|
2100 |
2009-02-10 |
|
2060 |
2007-09-27 |
|
2020 |
2007-04-14 |
|
1980 |
2007-03-14 |
|
1950 |
2007-01-15 |
|
1850 |
2006 |
|
1800 |
2005 |
|
1750 |
2004 |
|
1600 |
Massy 2003 |
|
SmallC-82
- uci |
1500 |
Massy 2002 |
SmallC-earlier
versions => to be provided |
1200 |
|
Gibbon originates from a old fixed depth C-programm called Small-C.
Small-C was born around 1990 and would compute 200 nodes per second at that
time. It was not an attempts for serious play.
Around year 2000, it came to take part to the French Championship in
Massy where the programm clearly established itself as one of the most heavily
bugged ... Fortunately, it has been (seriously) improved since then, and
evolved into Gibbon. Ok,
Gibbon implements the UCI protocol.
However, you can run it in console mode (type gibbon.exe -console or
double-clik gibbon and then type console <enter>).
Character :
Gibbon computes few nodes, however makes an effort to compute the right
ones.
He can become sharp when it comes to attacking the opponent's king.
Gibbon likes the queen, and will not miss a chance to give a perpetual.
Gibbon usually likes endgames and passed pawns, and is ready to
sacrifice for any basically won ending.
His favourite sparring partner is the spanish program Ayito (many thanks
to Jaime Benito de Valle Ruiz).
Features :
- Mono-thread
- PVS
(Principal Variation Search) algorithm with iterative deepening and aspiration
- Nullmove
(R=3)
- Move
ordering
- Transposition-table
move and Killermoves
- Non-PV
nodes pruning (late move reduction based on fail-low/fail high history)
- Static
Exchange Evaluation in quiescence(SEE)
- Futility
pruning
- Extended Transposition Cutoff (not
used)
- Fractional extensions (not used)
- Extended futility pruning
- Mate in one recognition for queen
moves
- Heuristic to identify moves
threatening mate with queen and piece
- Extensions for moves threatening mate
with queen and piece
- Quiescence heuristic for checks
winning unprotected pieces
- Internal
Iterative Deepening
- Extensions
(checks, recapture, pawn-endings)
- Two
parts hash-tables, pawn hash-table
- Quiescence
with 1 check allowed on first quiescence move
- Single
move check extensions in quiescence
- Incremental
move generation (no bitboards)
- Incremental hashing
- Opening
book (Small.txt)
- Pawn
structure hash table
- Simple
evaluation when sufficient material imbalance ("Lazy Eval")
Particular features :
- It
is possible to add manually pgn games to the opening book, or to retrieve
games.Gibbon just adds statistics between () after each move to keep a
record
of the results.
- HRNFLPS-FOG-HWLANR
release
-
Horrible-Really-Not-Fruit-Like Programming Style
- Full-Of-Gotos
-
Hard-Work-Late-At-Night-Release :-)
=> besides, this is one good reason
why I do NOT feel compelled to publish the code
- Incremental move generation (few bitboards)
=> Gibbon knows all playables
moves, material, mobility, and check-squares
- Sometimes/someday assymetric search and evaluation
- Evaluation function
with
- castling
- mobility
- development
- position
- king safety
- pawn structure, depending
on king positions, opposite side castling
- passed pawns
- two bishops
- posted nights and bishops
(not enabled)
- opposite colour bishops
(usefull)
- ending knowledge
dedicated rules for
win/loss/draw detection in particular
K+P versus K
K+Pawns versus K+Pawns
K+R+1P
versus K+R
K+Q
versus K+Q
K+bad_B+rook_P versus K
K+N
versus K+P
K+B versus K+P
K+R
versus K+P
=> it is somewhat risky as it sometimes
implies some kind of a bet,
but seems to be paying
off as these positions very often
degenerate into clear
cut results
=> the program does not
use endgame databases
however it is quite
proficient in that area.
- simplification bonus for
winning side
- counterplay prevention for
winning side
- incentive to keep queen in
case of material deficit
- incentive to keep at least
one pawn
- incentive to avoid
transitions to losts endgames with lonely night
- no incentive for minor
pieces on key squares
- incentive for king to go
with passed pawns
- incentive for out-of-reach
passed pawns
- king centralization
- draw cases
Acknowledgements
- to all contributors of the
chess community on the net