How Do Chess Computers Work?

Sort:
DrFrank124c

I know a little about computers and I know that chess engines look at every possible move on the board and create trees from which they pluck the fruit, that is they find the line that creates the highest value, which they then play. I also know that they follow general rules, for example that try to place rooks on open files and when possible they like to save the bishop pair and if they can take a pawn or piece with impunity they will do so. I am interested in finding more of these general positional rules that the chess engines give priority to. I do study positional chess and know many of the ideas that the masters tell us to follow. But I would also like to know which of these rules and ideas the chess engines are specifically programmed to follow. Knowing this and following those rules in my own games would, IMHO, improve my game.   So if anyone out there knows more about more those rules that the engines follow please do let me know. 

IpswichMatt

My feeling is that we're better off with books on strategy, but you may find this of interest:

http://chessprogramming.wikispaces.com/Evaluation

DrFrank124c
IpswichMatt wrote:

My feeling is that we're better off with books on strategy, but you may find this of interest:

http://chessprogramming.wikispaces.com/Evaluation

I do read sstrategy books and watch videos and read blogs and so forth.I think that while most of the information they provide are helpful many of the authors are trying to show off-- to say, "Oh what a smart boy am I!"--rather than to provide helpful instruction. That's why I think looking at the computer's own list of instructions would be helpful since computers are not interested in such non relevance. PS: I just clicked over to the link u provided. Very interesting! TY 4 the link!

ivandh

^ same. Computers need far more explanation and hand-holding than humans do. You simply need to be told that open files are good. Computers need to be told how to know when a file is open, and if it can move a piece onto that open file, and if there is a blindingly obvious mate in two that would happen if it did move onto the file, and that it should not move onto the file because of the mate in two.

jonnin

specifics are going to vary from engine to engine. 

You are trying to seperate things but they are indistinct.   The engine has a positional evalutation function that gives a numeric score to a position.  This evaluation takes into account open files with rooks on them, development, and other "principles" of chess.   The engine then runs the position after each possible move thru that function and selects the highest score.   

So the positional evaluation logic is what you want to know how to do.  ... If I make this move, my positon is better because of (win material, leads to mate, mobility, matches a won position in a database, is the next move in the opening book, ..... other reasons...).

DrFrank124c
owltuna wrote:

You say you know "a little" about computers. That leaves a lot to the imagination. Are you currently using a chess GUI that incorporates engines? If so, have you looked at the configuration options for the engines?

Probably the most useful configuration window for a start in answering your question is the one for Stockfish, which has many user-configurable options for various positional evaluations. Understanding what these options are and how they work will require more research on your part.

As I said, I know a "little" about computers and computer programming. I've studied BASIC,JS and VB and VBS and have written some simple programs in those languages. I am now using Chess King which has Houdini and also have other software that uses Stockfish. Do you have the configuration window URLs for Stockfish and Houdini and can you send them.

IpswichMatt
DrFrank124c wrote:

I do read sstrategy books and watch videos and read blogs and so forth.I think that while most of the information they provide are helpful many of the authors are trying to show off-- to say, "Oh what a smart boy am I!"--rather than to provide helpful instruction.

What books have you been reading? Just curious

DrFrank124c

I have read Nimzovich's books--he wrote 3 of them and I've read them all. Also some of Pandolfini's books, Sillman's books and so forth. Don't have them handy so can't give yoou an exact list. Also I watch the vids on chess.com and have Roman's Labs DVD's, all 101 of them and still going through them. I have hundreds of books in my library that I haven't even gotten to. Rather than going through all that stuff I was thinking looking at chess engine programs would be a short cut, giving me the essential ideas--the basic algorithms--as a starting point.

sftac

Just have chess software review your games and provide commentary on where you strayed from sound chess principles.  Try to avoid straying in future.

Even (ugh!) ChessMaster 10th Edition (bought @ $10 several years ago, maybe there's a cereal brand that includes it these days) does such annotations quite well.

sftac

DrFrank124c
sftac wrote:

Just have chess software review your games and provide commentary on where you strayed from sound chess principles.  Try to avoid straying in future.

Even (ugh!) ChessMaster 10th Edition (bought @ $10 several years ago, maybe there's a cereal brand that includes it these days) does such annotations quite well.

sftac

I do analyze my games with computers. What I am looking for is a no nonsense list of principles, preferrably listed in order of importance, that I can memorize and follow while playing chess.  

LoveYouSoMuch

so you want to try to emulate computers? try starting with looking at every single one legal move and all legal replies too. then go half a move further.

IpswichMatt
LoveYouSoMuch wrote:

so you want to try to emulate computers? try starting with looking at every single one legal move and all legal replies too. then go half a move further.

The OP is not trying to emulate computers, he's hoping that a typical engine's evaluation function, as used by the engine at the end of each sequence of moves, will shed some light on how to get a stratgic assessment of a position. He is not proposing to do the full min-max algorithm in his head.

I don't think this approach is going to be very useful, but I can see where he's coming from.

waffllemaster

I also question how useful this is... humans get the most usable information.  Computers get tedious lists of calculations... which is fine if you can perform a few million operations per second indefinitely.

Kaufman, who helped program Rybka, has some good info on material imbalances though.   You could start there I guess.  Things like knights tend to lose value as pawns come off while rooks gain value.  That's probably as close as you'll get :p

DrFrank124c
waffllemaster wrote:

I also question how useful this is... humans get the most usable information.  Computers get tedious lists of calculations... which is fine if you can perform a few million operations per second indefinitely.

Kaufman, who helped program Rybka, has some good info on material imbalances though.   You could start there I guess.  Things like knights tend to lose value as pawns come off while rooks gain value.  That's probably as close as you'll get :p

Thanx--this is the sort of information I am looking for, I want to find out the preferences of the computer for the principles that the masters teach us. I checked out Kaufman's article and may even get the book!