Author Archives: admin

PVS – Another Fast Fail

After the failure with aspiration windows I decided to implement PVS . The idea here is that, with proper move ordering the first move is usually the best. That being the case, it makes sense to search all of the … Continue reading

Posted in chess4j, Computer Chess | Comments Off on PVS – Another Fast Fail

Aspiration Windows – a Fast Fail

Earlier this week I implemented aspiration windows to chess4j. It’s a very simple concept. In the iterative deepening loop, the depth 1 iteration is processed as usual, with an alpha bound of “negative infinity” and a beta bound of “infinity.” … Continue reading

Posted in chess4j, Computer Chess | Comments Off on Aspiration Windows – a Fast Fail

Stopping at half time – and on making small changes

Great things are done by a series of small things brought together. — Vincent Van Gogh. The last few changes — adding null move pruning, hashing, and a quiescence search — have had major impacts on playing strength, which was … Continue reading

Posted in chess4j, Computer Chess, Prophet | Comments Off on Stopping at half time – and on making small changes

Null move pruning

The null move heuristic has been added and yielded another pretty solid increase in Elo. For the uninitiated, a “null move” isn’t a real over-the-board move of course, it’s just a heuristic that can be used to terminate a line … Continue reading

Posted in chess4j, Computer Chess, Prophet | Comments Off on Null move pruning

Hashing

Both chess4j and Prophet now have hashing. Maybe I should say that chess4j has hashing again, because it did have hashing before as I wrote about here. As stated in a previous post, I basically “tore down” the search in … Continue reading

Posted in chess4j, Computer Chess, Prophet | Comments Off on Hashing

Quiescence Search

It’s not very often that you can make a change that will net your program 350 Elo, but that’s exactly what I just did! A quiescence search was added to chess4j and Prophet4, resulting in a dramatic increase in playing … Continue reading

Posted in chess4j, Computer Chess, Prophet | Comments Off on Quiescence Search

Pondering and Analysis

chess4j can now ponder! If you’re not familiar with that term, it means that the program will make use of the time the opponent is on move. It does this by predicting the move the opponent will make, and thinking … Continue reading

Posted in chess4j, Computer Chess | Comments Off on Pondering and Analysis

chess4j + Prophet4 rewrite status 6/14/20

Support for time controls has been added to both Prophet and chess4j. Each is capable of playing with a fixed time per move or incremental chess clocks. They can use conventional chess clocks as well, but the timing strategy doesn’t … Continue reading

Posted in chess4j, Computer Chess, Prophet | Comments Off on chess4j + Prophet4 rewrite status 6/14/20

Prophet4 rewrite status 5/31/20

The last couple of weeks have been focused on transitioning P4 from a single threaded engine that plays to a fixed search depth to a multi-threaded engine that can respond to commands while searching, and can search for a fixed … Continue reading

Posted in Computer Chess, Prophet | Comments Off on Prophet4 rewrite status 5/31/20

chess4j + Prophet integration status 5/17/20

Several months ago I wrote about a proof-of-concept JNI integration between chess4j and Prophet4. At the time I had managed to compile Prophet4 as a static library, load that library into chess4j and write a JNI layer. The only function … Continue reading

Posted in chess4j, Computer Chess, Prophet | Tagged , | Comments Off on chess4j + Prophet integration status 5/17/20