Schooner v1.8.3 is updated. This will be the last version using the gcc 5.2 platform. There is no strength increase but a few known bugs are fixed.
: Schooner 2
The latest version of Schooner is a complete re-write in the C language. A beta version is being tested on the ICS with very good results.
Most of the old features are still there including xboard protocol, ICS support, polyglot book and pondering. Some of the new features will be:
(1) A new gcc v7.2.0-posix compilation. It has increased the speed of the program.
(2) Now using staged-move generation. It is a more complex form of move generation. All of the top engines use some form of staged-move generation now. Staged move generation is new for me so I am not completely comfortable with it yet and do not know what can be done and what cannot be done.
Schooner used a full legal move list generator as an alternative to staged-move generation. This had several advantages. Some of the problems when designing a chess engine arise because we do not know what is in the full move list. A very good move could occur but due to pruning, the move is never discovered or played. Schooner used a full-width search hash flag to indicate that the move list has been searched at least once. Thus, Schooner had several useful routines including hash refutation, PVS Lite and Oracle sort that no longer work with staged move generation and excessive pruning.
(2) The end of PVS Lite. Schooner used a special routine called PVS Lite, which greatly reduced the number of researches. It required an initial open window search, but could never be fine-tuned for aspiration (or threading). It has been replaced with a modified version of Ethereal's aspiration search (thank you to Andrew Grant for the idea).
(3) The end of Oracle sort? Oracle sort quickly discovered good captures. This has been replaced with ProbCut (made popular by Stockfish). ProbCut seems to work better with staged-move generation, but experiments are still going on in the beta version.
(4) Hash refutation no longer works and no replacement has been discovered yet.
(5) The personality book has been dropped. It served useful purpose in the development stages of the engine. However, it does not do much with polyglot and other GUI books available.
For polyglot book users, there is an experimental book_personality random number being considered which allows the polyglot pickbest/random mode to be toggled. This can be useful in matches to prevent continual losses to the same opening.
(6) Syzygy end game table base may be supported. There still seem to be some optimization problems. Expectations for strength increase are only 5-15 elo so it still has not been decided whether to include this. Still doing beta tests on the ICS. Mainly, it increases the size of the program.
(7) A simple UCI interface has been added for those who find an advantage. However, all the best features are still inside the xboard protocol including polyglot book, pondering, and ICS support.
The style of the search is greatly changed with staged-move generation and increased pruning. No longer does the engine find the best move. Now the engine only finds a move good enough to win. This is the classic depth versus width problem in chess engines. Stylistically, I prefer the wider search because it solves more problems and plays a more "human" style" game that is understandable. However, the latest version of Schooner 2 will have much higher elo rating.