Confidence in FinalGen results

Confidence in FinalGen results

Postby AylerKupp » Tue Mar 08, 2016 10:08 pm

You told Newbie that when FinalGen gives a definite result ("win", "draw", lose"), that it is 100% guaranteed, because positions are analyzed until the final mate, stalemate, or infinite repetition. That would be correct if the program is working properly.

But what if the program is not working properly? In other words, what kind of testing did you do to convince yourself that the program is working properly under "all" circumstances, since you clearly could not test every possible starting position.

To say it in a different way, is your confidence level really 100% that if the program gives a definite result that the definite result is correct?

I am asking this because several of us have been using FinalGen to analyze the endgame from the first game of the 1972 Spassky – Fischer match after Fischer sacrificed his bishop by 29...Bxh2. See

This position has been analyzed by many grandmasters, including Karpov and Kasparov, and has been considered a theoretical draw, with the reason for Fischer's loss being a later blunder. Several of us have subjected it to extensive computer analysis, with differences of opinion. And unfortunately the position after 29...Bxh2 is beyond FinalGen's capabilities.

But if it wasn't, and if FinalGen was able to give a definite result, how do we answer the question if someone asks, "Why should I believe that this 'definite' result is correct?" We are currently running an analysis of the position after 40.Kh4 and are planning to run an analysis on the position after 35.Kxg3, both in 'Normal mode'.. I would like to be able to explain to skeptics why FinalGen's definite result (assuming that there is one) is correct.

Any help in answering this question, at your convenience, would be greatly appreciated.
Posts: 2
Joined: Fri Oct 24, 2014 3:28 am

Re: Confidence in FinalGen results

Postby pPerez » Sat Mar 19, 2016 11:46 am


The tests were done in the following way:

Databases were generated for every position with 6 or fewer pieces compliant with Finalgen. (one major or minor piede by side maximum).
When a definite result was given, the result was checked with Nalimov databases.

Some conditions were not testable with Nalimov tablebases. These conditions occur for some positions with more than 6 pieces. Those cases were tested separately to make sure that every piece of code with every possible test case was tested (I mean every test case, and not every position which is obviously impossible). In some cases, to force a certain condition, I had to test with positions that are not even possible in chess.

You can also argue that results are not valid because there can be also bugs in Nalimov databases. It is possible but I don't think so, Nalimov implemented his own control mechanism after generation.

For skeptics, the best way to convince them is to make the database play against the computer. Currently the best engines (stockfish, komodo) are considered better than humans, including Karpov and Kasparov.
In some cases engines assessment is different than Finalgen result. In those cases, all you have to do is to make them play against each other. You will see that after a number of moves the engine change his assessment and the result from Finalgen prove to be correct.

Site Admin
Posts: 60
Joined: Sat Sep 08, 2012 3:37 pm

Return to FinalGen EndGame Generator Forum

Who is online

Users browsing this forum: No registered users and 1 guest