Carballo Chess Engine
Here you can play chess against Carballo Chess Engine. This is the engine powering the Mobialia Chess app for Android, so if you want to contribute, you can buy it on the Android Market by only 1.99 EUR.
Description
Carballo (the galician word for Oak, well it’s all about search trees) is an Open Source Java chess engine hosted at http://sourceforge.net/projects/carballo/, where you can download a UCI binary to play in interfaces like Arena. Has the following features:
- Simple and clear code (has 6000 lines aprox. excluding tests)
- Maven source code organization
- JUnit used for testing, multiple test suites provided (Perft, BT2630, LCTII, WAC, etc.)
- Based on Bitboards (not so complicated as other people say)
- State-of-the-art magic bitboard move generator (doubles the basic move generator speed!), also code for magic number generation
- PVS searcher
- Iterative deepening
- Aspiration window, moves only one border of the window if falls out
- Transposition Table (TT) with Zobrist Keys (two zobrist keys per board, to avoid collisions) and multiprobe/two tier
- Quiescent search with only good captures (acording to SEE) and limited check generation
- Move sorting: two killer move slots, SEE, MVV/LVA and history heuristic
- Also Internal Iterative Deepening to improve sorting
- Fractional Extensions: check, pawn push and passed pawns, mate threat, recapture (2 = 1PLY)
- Reductions: Late Move Reductions (LMR)
- Pruning: Null Move Pruning, Static Null Move Pruning, Futility Pruning and Aggressive Futility Pruning
- Polyglot Opening Book support; in the code I include Fruit’s Small Book
- FEN notation import/export support, also EPD support for testing
- Pluggable evaluator function, distinct functions provided: the Simplified Evaluator Function, other Complete and other Experimental
- Parametrizable evaluator (only the complete & experimental evaluators)
- Contempt factor
- Cute drag and drop Applet GUI, to fit in web sites
- UCI interface with lots of UCI options
It scores about 2387 ELO points at BT2630 tests in my Core2 Duo@2.2GHz. Also solves 277 positions of the 300 WinAtChess test (5 seconds for each). His real strength is about 2100 ELO points.
It is licensed under GPL, and you are free to use, distribute or modify the code but I ask for a mention to the original author and/or a link to my blog. I also put links in my source code to webs were I found information for coding.
Test Results
I made a Java Engines Tournament to compare Carballo against other chess engines at tournament time 5 minutes. Here are the results: (Those results are outdated, mow i’m running tests with Carballo 0.5 and more Java Engines, will show the results when finished)
Engine Score Ol Fr Me Al Ca Cu Br Ar Ch Fr JC S-B 01: OliThink-5.3.0 45,0/50 ····· 01001 11111 11=11 11111 1=11= 1=111 11111 11111 11111 11111 966,25 02: FrankWalter-1.0.8 41,5/50 10110 ····· 11==0 11101 10011 10111 11111 11111 =1111 11111 11111 873,75 03: Mediocre-0.3.4 34,5/50 00000 00==1 ····· 0101= =1000 11101 11=11 11111 11111 11111 11111 613,00 04: Alf-1.0.9 33,5/50 00=00 00010 1010= ····· 1010= 10001 11111 11111 11111 11111 11111 575,50 05: Carballo-0.5 32,5/50 00000 01100 =0111 0101= ····· 1=001 =1011 1111= 11011 11111 11111 600,25 06: Cuckoo-1.0.4 32,0/50 0=00= 01000 00010 01110 0=110 ····· 111=1 1=111 11111 11111 =1111 563,00 07: Bremboce-0.6.2 21,0/50 0=000 00000 00=00 00000 =0100 000=0 ····· 10111 11=11 =1111 11111 256,75 08: ArabianKnight-0.55 14,5/50 00000 00000 00000 00000 0000= 0=000 01000 ····· 11=1= 110=1 11111 135,25 09: Cheoss-0.6.49 8,5/50 00000 =0000 00000 00000 00100 00000 00=00 00=0= ····· =1=== =1=0= 112,25 10: Frittle-1.0 8,0/50 00000 00000 00000 00000 00000 00000 =0000 001=0 =0=== ····· =111= 65,25 11: JChecs-0.1.0 4,0/50 00000 00000 00000 00000 00000 =0000 00000 00000 =0=1= =000= ····· 45,25 275 games played / Tournament is finished Name of the tournament: JavaEnginesTournament Site/ Country: JDEDEVELOPER5, España Level: Tournament Game in 5 Minutes Hardware: Intel(R) Core(TM)2 Duo CPU T7500 @ 2.20GHz 2200 MHz with 752 MB Memory
History
Version 0.5: Improves about 150 ELO points over Carballo 0.4
- PVS searcher: SearchEngine completely changed
- Futility pruning now works!
- New TT algorithm, now also uses TT to store evaluation values
- Bug with draw detection with 3-fold repetition
- Bug with time management on tournament, was using the opponent’s time amount
- Bug with history table overflow
Version 0.4: First version integrated with Mobialia Chess
- Parametrizable evaluator
- Evaluator changes
Entries (RSS)