Skip to content
Go to file
Cannot retrieve contributors at this time
72 lines (58 sloc) 2.92 KB
### Ziggy - v0.7
Yet another chess engine. Created with a *little* help and inspiration from other chess engines
such as CPW, Mediocre, TSCP, Glaurung, Stockfish, Fruit, and inspirations and guides from people
like Fritz Reul (Loop) and Ed Schröder (Rebel).
To be done
# C++'d - I guess. :(
! Search extensions.
! Fix memory issues.
! Deterministic mode.
! Some actual parsing of UCI's options.
# Better transposition entries.
# Better transposition table (with generations, clusters of entries, etc)
# Only generate 'good captures' in quiescence.
# Dynamic R value in Null-Moves.
! Killer moves
? Contempt factor
# Endgame tablebases.
! Evaluation. :(
Usage instructions
UCI mode:
java -jar ziggy.jar
Benchmark mode:
java -jar ziggy.jar <bench> <type=perft | depth | suite> <file=suite/fen file>
[time=time for each position (s)] [depth=fixed depth for each position]
Both modes:
In both UCI and benchmark mode there are a number of settings which can be adjusted
as requested.
Setting Default Description
--------------------------------- -------- -----------------------------------------------------
mc=<on | off> on Turns Multi-Cut (MC) on or off.
mc_cutoffs=int 3 Sets MCs C param.
mc_expand=int 10 Sets MCs E param.
mc_reduction=int 2 Sets MCs R param.
mc_piece=<on | off> off Turns MCs piece-check on or off.
mc_reorder=<on | off> off Turns MCs reordering of cut nodes on or off.
mc_usetrans=<on | off> off Will use the transposition table with MC.
mc_apply=<cut | trans | or> trans Where to apply MC:
- cut: At expected cut nodes.
- trans: When a shallower search indicates fail-high.
- or: If either condition holds.
nm=<on | off> on Turns NMs pruning on or off.
nm_reduction=int 2 Sets NMs R param.
lmr=<on | off> on Turns LMR on or off.
lmr_fdm=int 4 Sets the no. of full depth moves in LMR.
asp=int 50 Sets the size of the aspiration window.
java -jar ziggy.jar bench type=suite file=wac.txt time=10
-- Will run the test-suite Win At Chess, with a time constraints of 10 seconds per position.
java -jar ziggy.jar bench type=suite file=wac.txt depth=7
-- Same, but with a fixed depth of 7 instead of time constraints.
java -jar ziggy.jar bench type=suite file=wac.txt depth=7 lmr=off nm=off mc=off
-- Same, but without LMR, NM- and MC pruning.