If you think engine strength is "just" a matter of brute force calculation, check out this investigation where new engines were pitted against old engines on the same hardware: www.reddit.com/r/chess/comments/76cwz4/15_years_of_chess_engine_development/
> He said, that while he has no chance against a computer OTB he is convinced to be able to beat a chess program 8:2 in a time control like correspondence, where momentary tiredness or loss of concentration won't matter and where he can consult his library the same way the computer does.
He's dreaming. Simple as that.
Remembering that Top20 correspondence GM who lost a corr. match against 6 top engines although he was equipped with a decent engine himself (Fritz 5 or so)? 12 years ago?
Guys, forget about the myths. 20 years ago the engines overtook alls the GMs. Fritz 1 was a killer, practically for all humans.
A few draws out of 100 might be the best what the top seed can achieve meanwhile. No win otb ever.
But I still have a question, how do computers evaluate positions? How did humans teach them what's inferior or superior even when we can't tell for ourselves many times?
First, let us look at how chess programs work in general:
The first part is a move generator function which simply creates (all) legal moves in a given position. The other part is an evaluation function. It gets a chess position and evaluates who is standing better and how much so.
Evaluation functions work by giving material equivalents to all material and positional factors they are programmed to look at. The simplest part is the material balance: you break the value of each piece down to "pawn units" like a beginner is taught. A knight is worth 3 pawns, a rook is worth 5, etc.. If a queen is exchanged against a rook the evaluation will drop 9 pawn units for the loss of the queen, then move up 5 pawn units for the gain of a rook resulting in a net loss of 4 pawn units and therefore this is (other factors aside) considered a bad exchange (for the side with the queen).
Next, other factors are calculated in and similarly broken down to the pawn unit "currency":
- piece movability. Simply calculate the number of fields a piece "observes" (can either go to or take/cover a piece standing there). The pieces value is raised for every such field so that flexible pieces are more valuable than immovable ones. Notice that the movability of bound pieces drops to zero.
- central influence: calculate the number of pieces being able to move to a central field (e4, d4, e5, d5). i.e a pawn on e4 will have one such influence: d5. Now calculate the balance of these influences for each central field and you get a picture of who controls it. Assign a value for each field controlled that way.
etc., etc. All the positional factors evaluation functions observe nowadays are quite simple. A chess computer "plays" at about the positional level of a 1300 player. What makes the difference is simply the ability to calculate far more moves ahead completely. Humans may calculate a variation 10 (good players even more) moves ahead but they calculate only this one variation, not everything also possible within these ten moves. Somtimes this is enough, sometimes not - the "oversight". Computers do not "oversee" anything within their calculating horizon.
Finally a few words about chess programs:
It is relatively easy to raise the the pure chess abilities by making the evaluation function more complex and program other positional markers (king security, free pawns, number of pawn insulae, etc.) in. The problem is: to evaluate more of these positional markers the function will need more time and therefore the number of evaluated positions in a given time will drop, resulting in a shortening of the calculating horizon (the number of moves a program can calculate brute-force. It can be shown that this shortening is more detrimental to the overall strength than the gain of chess ability is advantageous. Real chess programs are a trade-off between speed (and resulting calculation abilities) and chess abiities.
scrimplington got it right at #3... its just simple 'brute force', so much more data and analysis of any given position than any human can do, and quickly. (Oddly enough I wonder if a contest has ever been played with humans and computers in bullet chess... that would be enlightening, to see if a standard but high-end pc could hang with a humans opening knowledge and 'intuition'.) Engines don't try to be imaginative or play headgames like a human, they simply go for whats the best offensive and/or defensive move in a position and play it (once it gets to its final depth). Engines don't get stressed, complacent, etc, they just follow the program (and crush anyone in its path). There's no 'intuition', just raw calculation, so nothing is left to chance.
Have you ever tried, to play Level 8 in bullet? That's a weaker version of Stockfish but it will still crush anybody most of the time. To even win a single game on position is hard. On other chess servers there are some engines you could challenge. Their winrate in bullet is still immensely high.
Nevertheless of the difference in playing strength, I'd still like to see some of the top grandmasters take on different engines in normal classical games. Sure, they'll get crushed but how brutal? How many draws might they get? Are there weaker engines not totally out of range? And last but not least: it would make it a lot more clearer how big the difference really is.
Only a dream, so I just get back to watch TCEC^^
@krasnaya Thanks for the awesome explanation ^^
Perhaps having a group of GMs playing vote chess against a computer would be interesting. I think computers will crush us easily in bullet chess. The shorter the time control, the more we rely on intuition and that's when computers will win by tactics.
Thanks for the explanation.
My understanding of a comps evaluation of a + or - numerical value is based solely on a material advantage or disadvantage. The vales of all pieces and pawns are "added up" and a comparison is made between Black and White. As you pointed out, the value of a piece is not simply 5 for a Rook. The Rooks, mobility, it's control of squares, etc., may increase or decrease it's value. Same for every piece on the board.
You compared it's positional abilities to that of a 1300. Probably so. It does explain the comp's complete lack of "understanding" fortress positions. It will always go into a variation where the evaluation gives a higher score. It gives a -5.0 to one position and -9.0 to another based on material superiority. It will always select it's next move based on this . It does not understand a move that leads to a draw by a fortress in the -5.0 evaluation. . It sees when losing by -9.0 it always will make a defensive move to offer the most resistance, often which can result in losing the game. (The example is a side can promote to a Queen, so the comp plays to prevent this by capturing it, evaluating the resulting position as far better otherwise. A fortress was possible by ignoring the promotion, allowing the Queen and a -9.0 evaluation as a draw is achieved by other means. The comp incorrectly was "convinced" it was losing based on a material disadvantage.
Fortress positions clearly demonstrate comps are not "smart" nor do they posses any "understanding" of a chess position. They simply "calculate" the value of the pieces based on their placement on the board. They do this so incredibly faster than humans, able to look at all possible moves in a split second, which accounts for their higher ratings.
For the same reason cyclists wouldn't beat the guys of MotoGp.
@mdinnerspace Do you have a position which demonstrates the fortress you were talking about? It would be interesting to load it up against a computer and see how engines react.
The position is in "studies" on my board. It is well known. No comp plays the drawing line. SF8 , they all go into a losing line when a draw is possible. Try finding the draw yourself, it's a
testing" puzzle". Making a "fortress" gives the solution away.