- Blind mode tutorial
lichess.org
Donate

Why can't humans beat computers in chess?

Nakamura made a very poor showing of it in his odds match. (A match with very fast time controls) He is prone to make excuses, can't stand to lose, not the best sport of it. His "We are all clowns" was just a sad excuse for losing positions that would have been drawn with more time. But with the fast time controls, the odds were stacked against him.

Nakamura made a very poor showing of it in his odds match. (A match with very fast time controls) He is prone to make excuses, can't stand to lose, not the best sport of it. His "We are all clowns" was just a sad excuse for losing positions that would have been drawn with more time. But with the fast time controls, the odds were stacked against him.

„Clowns“

Well, there are not few strong players which confirmed that the engines show that they are clowns after all. The Nakamura quote is much older than his show match with bonuses - so basically he knew it before.

In my opinion we are all trained up to 100.000 chunks which one calls „experience“ or „strength“ which was enough to win against the first computers. Now there’s no chance, like playing memory with a computer...
You can never be sure if you overlooked something - the computer knows it for sure.

„Clowns“ Well, there are not few strong players which confirmed that the engines show that they are clowns after all. The Nakamura quote is much older than his show match with bonuses - so basically he knew it before. In my opinion we are all trained up to 100.000 chunks which one calls „experience“ or „strength“ which was enough to win against the first computers. Now there’s no chance, like playing memory with a computer... You can never be sure if you overlooked something - the computer knows it for sure.

ubdip said:

2-3%? The top programs have improved at a rate of
about 50 Elo per year over the last couple of years.

I was not talking about their increase in strength but how much the various factors contribute to that.

The basic algorithms are the same, but many
heuristics have been improved and nowadays
the tree is pruned very aggressively, especially
in Stockfish, so the engines can search much
deeper even on the same hardware.

Yes - and this is the 2-3%. As long as you do not change the basic algorithm its Landau symbol stays the same. Note that the relationship of calculated nodes and playing strength is not linear. The last calculated x nodes do not contribute so much to the playing strength as the first x nodes.

petri999 said:

  1. Evaluation function has positional understanding
    on ELo 1300. Well perhaps in seventies.

No, still today. The reason is not that it would be impossible to build such an evaluation function (in fact these functions have already been built, way better than 1300) but the gain from a better function which takes longer to calculate is less than the gain from more calculated nodes is. It is better (=resulting in more overall strength) to evaluate 1 million nodes shoddily than to evaluate 100k nodes well.

Btw.: note that "1300" is not an exact value. Fact is the less programs know about chess the better they play.

As long as this is the case there is simply no reason to make the evaluation function better. Look at Deep Blue: its evaluation function was even substandard for these days but they built the move generator in hardware (this actually was Hsus invention, the rest was run-of-the-mill hardware) and put in as many move-generating processors as they could.

The machine was a common IBM SP/2 with 2 frames and 32 thin-nodes. A thin-node was a single-processor (POWER 2) system with up to 512 MB of RAM. I actually built a lot of these systems for Deutsche Bank before they outsourced their data center to IBM. What they did was to put two special cards with 8 of Hsus chess processors each into each of the thin nodes.

Another example for that was Hydra, which demolished Mickey Adams in 2005 5.5:0.5 in a six-game match. It was basically a huge FPGA array with little chess knowledge built in but fast and parallelised.

What adds to this is the increase in size of long-term storage. This space allows to accomodate the larger endgame databases with more pieces, as i said above. The place needed to store a single position is about O(n), which means that 1000 positions to store takes about 1000 times the space of a single position. As you can see from the table above the number of positions to store (and hence the necessary space) increases dramatically with an increasing number of pieces.

That means that todays programs can far earlier in the game make an informed decision about wether to trade and go into an endgame or not.

krasnaya

ubdip said: > 2-3%? The top programs have improved at a rate of > about 50 Elo per year over the last couple of years. I was not talking about their increase in strength but how much the various factors contribute to that. > The basic algorithms are the same, but many > heuristics have been improved and nowadays > the tree is pruned very aggressively, especially > in Stockfish, so the engines can search much > deeper even on the same hardware. Yes - and this is the 2-3%. As long as you do not change the basic algorithm its Landau symbol stays the same. Note that the relationship of calculated nodes and playing strength is not linear. The last calculated x nodes do not contribute so much to the playing strength as the first x nodes. petri999 said: > 1. Evaluation function has positional understanding > on ELo 1300. Well perhaps in seventies. No, still today. The reason is not that it would be impossible to build such an evaluation function (in fact these functions have already been built, way better than 1300) but the gain from a better function which takes longer to calculate is less than the gain from more calculated nodes is. It is better (=resulting in more overall strength) to evaluate 1 million nodes shoddily than to evaluate 100k nodes well. Btw.: note that "1300" is not an exact value. Fact is the less programs know about chess the better they play. As long as this is the case there is simply no reason to make the evaluation function better. Look at Deep Blue: its evaluation function was even substandard for these days but they built the move generator in hardware (this actually was Hsus invention, the rest was run-of-the-mill hardware) and put in as many move-generating processors as they could. The machine was a common IBM SP/2 with 2 frames and 32 thin-nodes. A thin-node was a single-processor (POWER 2) system with up to 512 MB of RAM. I actually built a lot of these systems for Deutsche Bank before they outsourced their data center to IBM. What they did was to put two special cards with 8 of Hsus chess processors each into each of the thin nodes. Another example for that was Hydra, which demolished Mickey Adams in 2005 5.5:0.5 in a six-game match. It was basically a huge FPGA array with little chess knowledge built in but fast and parallelised. What adds to this is the increase in size of long-term storage. This space allows to accomodate the larger endgame databases with more pieces, as i said above. The place needed to store a single position is about O(n), which means that 1000 positions to store takes about 1000 times the space of a single position. As you can see from the table above the number of positions to store (and hence the necessary space) increases dramatically with an increasing number of pieces. That means that todays programs can far earlier in the game make an informed decision about wether to trade and go into an endgame or not. krasnaya

@krasnaya
The 50 Elo are only due to improvements of the software, hardware is separated from that. Even if we assume that speed doubled every two years, that is around 100 Elo (measurements with Stockfish at STC suggest around 100 Elo per doubling) in two years, then we would have a very similar contribution of hardware and software improvements. If the 2-3% contributed something like 500 Elo, then how much are the other 97-98% again?

By searching deeper, I did not mean that they traverse the same nodes more efficiently in order to have time for searching further, but that a modern engine searches a similar number of nodes, but the search tree is shaped in a much better way (i.e., better reduction/pruning of irrelevant subtrees), so that the relevant paths in the tree can be much deeper without having to search more nodes in total. Engines reach a depth of dozens of ply which would be totally impossible if you search all children of a node to the same depth in alpha-beta search.

Tablebases usually are worth something like 20-30 Elo if I remember correctly, which is negligible compared to the improvements over the last decade.

@krasnaya The 50 Elo are only due to improvements of the software, hardware is separated from that. Even if we assume that speed doubled every two years, that is around 100 Elo (measurements with Stockfish at STC suggest around 100 Elo per doubling) in two years, then we would have a very similar contribution of hardware and software improvements. If the 2-3% contributed something like 500 Elo, then how much are the other 97-98% again? By searching deeper, I did not mean that they traverse the same nodes more efficiently in order to have time for searching further, but that a modern engine searches a similar number of nodes, but the search tree is shaped in a much better way (i.e., better reduction/pruning of irrelevant subtrees), so that the relevant paths in the tree can be much deeper without having to search more nodes in total. Engines reach a depth of dozens of ply which would be totally impossible if you search all children of a node to the same depth in alpha-beta search. Tablebases usually are worth something like 20-30 Elo if I remember correctly, which is negligible compared to the improvements over the last decade.

@krasnaya "No, still today. The reason is not that it would be impossible to build such an evaluation function (in fact these functions have already been built, way better than 1300) but the gain from a better function which takes longer to calculate is less than the gain from more calculated nodes is. It is better (=resulting in more overall strength) to evaluate 1 million nodes shoddily than to evaluate 100k nodes well."
Eh, I have lost to Komodo P1 before (in blitz but still)

Tablebases don't make much of a difference, in fact there was a "war" over the decision whether Stockfish should use tablebases some time ago. (as it demolished other tablebase using programs without using tablebases just fine)
For 5 men tb I think the improvement is roughly 5 rating points, for 6 men tb ~10. (but until we have like 8 or 9 men tb, good endgame search heuristics will always beat a weak program with tb)

Look at your own example Deep Blue. Deep Blue had a much faster hardware than even a today desktop computer yet it barely beat Kasparov. Nowadays humans get crushed so much by even weak hardware that they need handicaps to even stand a chance. Also you'll notice that modern engines like Komodo or Stockfish have a lower node/sec speed than old programs like Fritz, precisely because they use more complicated search heuristics and evaluation functions.

Just to repeat that for a second: modern programs on slow hardware are way stronger than Deep Blue which had 1000s of cores back in the day. (and yes, it actually also did perform more calculations per second)
So the 2-3% by algorithms is nonsense. (Just let droidfish play on your smartphone e.g. vs Fritz 5 on your super fast desktop and watch Fritz get mercilessly crushed; you might want to give Fritz 2 pawns odds or so to make it a bit more interesting)

@krasnaya "No, still today. The reason is not that it would be impossible to build such an evaluation function (in fact these functions have already been built, way better than 1300) but the gain from a better function which takes longer to calculate is less than the gain from more calculated nodes is. It is better (=resulting in more overall strength) to evaluate 1 million nodes shoddily than to evaluate 100k nodes well." Eh, I have lost to Komodo P1 before (in blitz but still) Tablebases don't make much of a difference, in fact there was a "war" over the decision whether Stockfish should use tablebases some time ago. (as it demolished other tablebase using programs without using tablebases just fine) For 5 men tb I think the improvement is roughly 5 rating points, for 6 men tb ~10. (but until we have like 8 or 9 men tb, good endgame search heuristics will always beat a weak program with tb) Look at your own example Deep Blue. Deep Blue had a much faster hardware than even a today desktop computer yet it barely beat Kasparov. Nowadays humans get crushed so much by even weak hardware that they need handicaps to even stand a chance. Also you'll notice that modern engines like Komodo or Stockfish have a lower node/sec speed than old programs like Fritz, precisely because they use more complicated search heuristics and evaluation functions. Just to repeat that for a second: modern programs on slow hardware are way stronger than Deep Blue which had 1000s of cores back in the day. (and yes, it actually also did perform more calculations per second) So the 2-3% by algorithms is nonsense. (Just let droidfish play on your smartphone e.g. vs Fritz 5 on your super fast desktop and watch Fritz get mercilessly crushed; you might want to give Fritz 2 pawns odds or so to make it a bit more interesting)

This topic has been archived and can no longer be replied to.