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
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
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
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
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
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
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
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
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
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