Polecat is a chess engine that specializes in defeating human opponents by predicting their behavior and attempting to provoke mistakes and gain rapid advantages. After rapidly achieving an overwhelming advantage, Polecat defers to Stockfish engine recommendations to finish the game.
Polecat was written in Python, and its source code can be found on its GitHub page.
Qualitatively, Polecat is very fun to play against. Its games are exciting and feature lots of risky play, daring sacrifices, and positional gambits. For an exhibition of Polecat's playing strength, you can look to the annotated example games linked above.
After running an experiment in which I had Polecat and Stockfish (a top chess engine) play 1,000 games each against a model of a human player with a skill rating of 1700 on Lichess, I found that Stockfish checkmates the opponent in 53.548 half-moves on average, and that Polecat, in its current form, checkmates its opponent in an average of only 51.604 half-moves.
This demonstrates that Polecat succeeds at playing better than Stockfish when facing a human. These findings can be replicated by following the instructions on Polecat's GitHub page.
Polecat's source code includes several different methods of generating moves, including Stochastic UCT and Expectimax Tree Search with bounded Alpha-pruning. However, the method Polecat currently uses is a shallow Expectimax Tree Search with pruning determined by neural network predictors. More technical information about Polecat, as well as the source code, can be found on its GitHub page.
This project uses resources from the Maia Chess project to model human behavior, as well as technology from the Leela Chess Zero engine to evaluate neural networks trained by Maia and by Leela Chess Zero project contributors. This project also includes a distribution of the Stockfish engine for move recommendation and as a basis of comparison in testing Polecat's effectiveness.