Category Archives: Computer Chess

New Testing Rig

Prophet4 finally has a proper testing rig! A few weeks ago, I purchased a Dell Alienware system — an 8 core (16 logical) AMD Ryzen 7 5800 with 32 GB of RAM and an AMD Radeon RX600XT graphics card. This … Continue reading

Posted in Computer Chess, Prophet | Comments Off on New Testing Rig

Extending Lines

“Tree shaping” is an important component of a strong chess program. There are various ways to shape a search tree. One is by extending lines that seem interesting in some way; particularly those that cannot be fully resolved within the … Continue reading

Posted in chess4j, Computer Chess, Prophet | Comments Off on Extending Lines

Validations – and surprises

I’ve been pretty busy as of late, but in an effort to get some momentum going I picked some items that have been on my to do list that would take far more processor time than programming time – validating … Continue reading

Posted in chess4j, Computer Chess, Prophet | Comments Off on Validations – and surprises

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