Saturday, January 19, 2008

For The Chess Geeks: An Interesting Position

As I have said before, I am currently working on programming projects. One of the projects that I am working on is a chess engine. Making a computer program that plays good chess (Its in the 2000-2100 ELO points range). I started this project a long time ago, around ninth or tenth grade. It was a great project that I worked on until I finish school, sometime before getting into university. For the past three years at university I halted work on it. These days I reopened that old file.

In order to test the strength and shortcomings of the chess engine, I put the engine to play against human players on the internet. I can't play chess well, so I can't judge it myself (I am in the 600-700 ELO points range)... I need other players to play with it, who can exploit its weaknesses. Some people would think that to make a chess engine you have to be good at chess. Although at some point I didn't suck at chess, I do now. But I don't have to be good. Computer can do what we cannot do. Do you think that whoever designs calculator can find the square root of a large number manually in a second? Probably not!

So now getting to the point of this entry, while watching my chess engine play, it got itself in a bad situation... It saw its own demise, until the opposite player (on the black side) committed a mistake that turned the tables, and switched from being doomed to having the upper hand.

EPD: 8/4rp2/1p6/1qp2kNQ/7P/2P5/1P3nP1/2K4R b - - 0 34
Black To Move

The player continued by playing NxR (f2h1), oblivious to the fact that by capturing the white rook he turns the tables from winning to losing. As the saying goes, greed is no good.

The correct move for the black is: Nd3 (f2d3)
[+] Show\Hide Move

PS: If anyone is interested in additional analysis - just ask in the comments


Anonymous said...

Nice position, it goes from black having a forced mate to losing his queen in a instant!

Olivier Deville said...

Hi there :)

In case you are interested, I am running tournaments for winboard/UCI engines. Please have a look at

Best regards