Hacker News new | ask | show | jobs
by Isofarro 4397 days ago
Stockfish has been available for quite a while, and over the last few years has been recognised as being the strongest open-source chess engine.

It's fantastic to see it take on the best commercial engines toe-to-toe and come out on top.

These ratings are computer ratings, and because they are playing very much isolates (computers vs other computers), without enough external human encounters, the ratings are consistent within the computer sphere, but not really like-for-like with human rating lists.

A lot has happened since Deep Blue - that was just a 6 game match, which really only proved that machines can play near a grandmaster level, but without nerves. And at times that is good enough to beat a world champion in match conditions, because the human is more susceptible to the psychological events.

Since Deeper Blue we've seen the emergence of chess engines on personal computers (rather than racks and racks of RS6000 mid-range servers), so Chess Genius, Fritz, Shredder, Junior, Rybka, Houdini and now Stockfish pushing chess engines ahead.

The Chess Genius - Junior levels show chess engines capable of matching grandmasters at blitz/active-play speeds, but still struggling at slower time controls.

Rybka onwards show a computer engine where elite grandmasters are seriously challenged.

Chess hasn't been solved. Just watching Magnus Carlsen's play shows we are expanding chess knowledge incrementally one game at a time. Yes, progress has slowed down, but the incremental improvement are still there.

Chess technique is refined to such a super high degree, but still far short of "solving chess". Perhaps this current generation can beat grandmasters when psychological factors are minimised, it's hard to tell.

It's certainly not as clear cut as a Porsche vs Usain Bolt over 100 meters.

3 comments

It's pretty clear cut. I think that Magnus Carlsen would have trouble getting more than 2.5 points out of 10 in a match with Stockfish, and that would probably mean 5 draws and 5 losses. GMs have no interest in playing computers publicly because it wouldn't be a close match.
That's a surprise to me. I've always thought that the reason we stopped having computer vs grandmaster is that the computer will just beat the grandmaster absolutely.
In 2006, Deep Fritz 10 beat Kramnik (then world champion) with a score of 4-2 [1]

On the Computer Chess Rating List, Stockfish is currently about 350 elo points stronger than Deep Fritz 10. [2] That means Stockfish would have about 88% chance of winning vs Deep Fritz 10.

[1] http://en.wikipedia.org/wiki/Human%E2%80%93computer_chess_ma... [2] http://www.computerchess.org.uk/ccrl/4040/rating_list_all.ht...

A six game match is not a statistically significant set of data. And Deep Fritz hasn't played many humans in those 8 years since.

The Deep Fritz on the rating list, is that the same Deep Fritz that played Kramnik? (Notably the hardware and software version used may be different - perhaps the Deep Fritz on the rating list is weaker than the one that played Kramnik?)

And also, be careful trying to compare computer-list Elo with human-list Elo. Because participants on both lists are isolated from each other, there is a tendency for one set of ratings to be inflated/deflated compared to the other. We see this in international chess where countries that don't have regular FIDE tournaments, players either seem to be significantly stronger or significantly weaker than the prevailing norms in the bigger pool of players. South Africa, Myanmar are two such examples.

You are correct, top computers beat any human player today.

http://en.wikipedia.org/wiki/Human%E2%80%93computer_chess_ma...

It sounds like you think humans can still beat top computers? According to my research the last time a human beat a top computer was 2005. Almost a decade ago!
Computer software don't play that many human tournaments. It's a rare sight, even when they were clearly weaker. There's a lack of data, so the result is inconclusive.

Computer software doesn't play chess. It doesn't understand positions. It has a bunch of algorithms and processes that turn a board position, tries each candidate move, turns the resulting position into some sort of number, through an evaluation function. Goes down a tree of that until either it reaches a definite conclusion, or reaches a depth where trying to go deeper takes far too much more time.

All of this is an artificial simulation of how chess is played. And it is, long-term, at the mercy of the accuracy of the evaluation function. Because right at the end of it's search-depth, it has to evaluate that position, effectively "a guess".

The most accurate way of evaluating a position is to try each move and go down a search tree of best moves until you reach a definite conclusion. But the evaluation is used because at that point it is computationally too expensive to go down the move tree any deeper. It's a fudge of brute force analysis - there isn't enough computational resources available to go any deeper, and so the computer must guess. This is the horizon effect, computers can't see past it.

That evaluation function is a human written piece of code, that takes various on-board factors: piece placement, pawn structures, strong/weak-squares, king-safety, piece activity, central control. In effect, the human is trying to program intuition into the machine. Humans don't understand intuition, let alone program a computer to do it.

Chess strength of software is determined substantially by the number and speed of CPUs, Memory capacity, and the evaluation function. The evaluation function is the weakest part of that chain, so there's considerable effort to hold off the use of the evaluation function for as long as possible.

I think only the Rybka developers spent more time trying to teach the engine how to play chess, and that proved more successful for a few years than the "more power quicker" led industry.

The evaluation function is the most difficult part of a chess engine. It is the typical AI problem. And humans can only take that so far. But how do you find a human who can comprehend how a grandmaster thinks about a chess position and determining the right move, and still be capable of emulating that process in software. At least Rybka's developers were International Masters.

Also, humans have the strength to adapt and refine - patch their own chess playing abilities. Look at Carlsen's style, it's an ever more refined Karpov style, which itself was a more refined Capablanca style. Carlsen excels in the kinds of positions computers don't manage well - deep strategical long-range plans, well executed. A lot of Carlsen's chess strength is intuition and feel, with an impeccable analysis to confirm his hypothesis. And he's one of the post-Chessbase crowd, grown up learning chess with computers. That is an opponent a computer should fear, if it could ever comprehend the notion.

So yes, in terms of chess playing strength, humans still play chess better than computers.

Although it is pretty clear already that it is your position, let me make sure: it is your position that Magnus Carlsen has a significant chance of winning against any existing chess-playing program (no matter how strong or how powerful the hardware it is running on) even when Magnus has no access to a computer during the game?
> So yes, in terms of chess playing strength, humans still play chess better than computers.

... but humans can't beat top computers any more? You're not making any sense here. The fact is no human has beat a top computer in almost 10 years. Not even once! Claiming that humans are still better is just nonsense.