Author Archives: admin

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

Prophet4 rewrite status 3/24/20

Killer moves have been implemented. Two killer moves are kept per ply. A killer move is defined as a non-capturing move that causes a fail high. A new killer move is stored in “slot 1,” while the previous killer move … Continue reading

Posted in Computer Chess, Prophet | Comments Off on Prophet4 rewrite status 3/24/20

Prophet4 rewrite status 2/16/20

Added a simple depth first search. The search uses the alpha/beta algorithm and recognizes checkmated and stalemated positions but otherwise has no “intelligence.” It is a simple fixed depth search without iterative deepening or timing. The next phase of work … Continue reading

Posted in chess4j, Computer Chess, Prophet | Comments Off on Prophet4 rewrite status 2/16/20

chess4j + Prophet4 POC

I just wrapped up a successful proof-of-concept to marry up my two chess engines – the Java based chess4j and the C based Prophet4 . Note, Prophet4 isn’t even a complete engine yet – it doesn’t even have a search! … Continue reading

Posted in chess4j, Computer Chess, Prophet | Tagged , | Comments Off on chess4j + Prophet4 POC