Skip to content

Comment on Strongest chess player, everparent

Comments

One of my long-term goals is to write a chess program that plays more like a lower-level human. Every program I've played seems to have the same pattern: play like a master for ten moves, then make an insultingly obvious blunder to let me catch up. Lather, rinse, repeat. It's neither realistic nor fun. Might as well play with a handicap.

Real players at each level tend to have characteristic weaknesses that are expressible in terms of the same factors used in a program's evaluation function. Consider some of the following, which players at a certain level will exhibit and then get past as they improve.

* Bringing the queen out too early.

* Missing pins and discoveries.

* Failing to contest the center.

* Creating bad bishops.

* Bad pawn structure.

* Failing to use the king effectively in the endgame.

These are all quantifiable. They could all be used to create a more realistic and satisfying opponent at 1200, 1500, 1800, etc. All it takes is some basic machine learning applied to a corpus of lower-level games, and a way to plug the discovered patterns into the playing engine.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.