Jacobi: Fairy Chess Helpgame Solver

by François Labelle

Launch the latest version

About

Jacobi is a program to solve fairy chess proof game problems. Here's an example:

Dirk Borst
Nunspeet 2005
2nd place
r n b q . b n r
p p p k . p p p
. . B . . . . .
. . . . p . . .
. . . . . . . .
. . . P N N r .
P P P . . P P P
R . B Q . R K .
Proof game in 9.5 moves   (15+16)
Circe Rex Inclusive

The solution is 1.g3 d5 2.Bg2 d4 3.Bc6+ Kd7 4.Sf3 d3 5.O-O dxe2 6.d3 exf1=R [+wRh1] 7.Sbd2 Rxg1 [+wKe1]+ 8.Sf1 Rxg3 [+wPg2] 9.Se3 e5 10.O-O.

Jacobi solves this in a few minutes:

Jacobi's strengths:

Jacobi can also solve some ordinary help stipulations but there is very little reason to do that because Jacobi is on average 5x slower than Popeye for this type of problem. In addition, Popeye and WinChloe support more stipulations, fairy conditions, and fairy pieces. One reason, though, would be for conditions exclusive to Jacobi.

Jacobi can also solve orthodox proof games, but there is very little reason to do that because Jacobi should be slower than Natch or Euclide which are optimized for the orthodox case.

It cannot solve stipulations containing defensive moves, like directmates or selfmate, which is why the subtitle calls it a "helpgame solver". As an exception, Jacobi will accept one defensive halfmove at the very end of the problem.

Documentation

See the separate documentation page. Sorry for the extra click, but the welcome page was getting too big.

How to quickly try Jacobi

Feel free to experiment by modifying the "Text representation" box, but keep in mind that each time you change something, you have to click on "Set problem from text" and then "Start".

Offline use

Method 1

Just bookmark the latest version page so you can get to it directly. This page contains an AppCache manifest which tells your browser to store every file needed by Jacobi on your computer/device so that the page still "loads" when offline in that particular browser. Some browsers even offer the option "Add to homescreen", which will turn Jacobi into a Web App that you can launch by clicking on an icon (as long as the browser remains installed and its application cache is not cleared).

Method 2

Zip archives of Jacobi are available. Updated irregularly.

Upcoming features

Here are the features I'm planning to add soon, so don't bother suggesting them! Jacobi will reach v1.0 when they are all implemented.

License

Jacobi is freeware, which means that you are free to use it and make a copy for personal use, but not to redistribute copies as I retain the Copyright on it.

The code for the interface is unobfuscated JavaScript, feel free to look at it and propose patches to me. On the other hand, the Chess engine is obfuscated JavaScript, having been compiled from C with Emscripten. I'm keeping the C source code private.

Privacy

The problems that you enter are solved on your own computer using WebAssembly or JavaScript, and are not transmitted over the Internet.

Version history

Here I keep links to old versions. Useful to you if I break something with an update.


Page created: October 16, 2017
Page last updated: August 31, 2018

back to François Labelle's homepage