Description : Description : Description : Description : Description : Description : Gibbon                              

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

Gibbon 2.69a - uci

2350

2015-06-01

Gibbon 2.60a - uci

2320

2014-06-30

Gibbon 2.57a - uci

2235

2012-06-01

Gibbon 2.52a - uci

2130

2009-03-01

Gibbon 2.51a - uci

2100

2009-02-10

Gibbon 2.42c - uci

2060

2007-09-27

Gibbon 2.32a - uci

2020

2007-04-14

Gibbon 2.31g - uci

1980

2007-03-14

Gibbon 2.31d - uci

1950

2007-01-15

Gibbon 2.01b - uci

1850

2006

Gibbon 1.05h - uci

1800

2005

SmallC-90-3 - uci

1750

2004

SmallC-86 - uci

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