Hacker News new | ask | show | jobs
by EGreg 4397 days ago
I bet it would be unnerving for someone like Kasparov or Magnus Carlsen to play this program, where it would have 1 minute on the clock and they could have the whole day. It would make many of the moves in under a second and they'd be better than the grandmasters' moves!
4 comments

You can watch Magnus Carlsen play a chess program on his phone here:

https://www.youtube.com/watch?v=pNvVWeHZG00

As you can tell from his commentary, he thinks the machine is rather stupid (and he is winning after the opening) but the machine is a much better calculator than he is and when the situation becomes more concrete he has to force a draw.

Of course, the computer on his phone is considerably worse than the best chess engines, but top chess players generally consider computers to be excellent calculators but dumb in terms of general strategy.

> but top chess players generally consider computers to be excellent calculators but dumb in terms of general strategy.

Is computer assisted chess a thing? Perhaps with standardized hardware, but any software.

In chess I'm good at strategy but terrible at calculating and I miss obvious stuff all the time in my fight for strategy. I always thought I'd do great with computer assistance to look for the obvious stuff, and me telling the computer the long term strategy.

> Is computer assisted chess a thing?

It was called Advanced Chess [1], now it's sometimes referred to as Centaur Chess. You can find online servers to play this kind of thing but it's mostly just a sort of curiosity. Computer-human pairs are well known to be better than just computers at chess though.

1. http://en.wikipedia.org/wiki/Advanced_Chess

> In chess I'm good at strategy but terrible at calculating

Chess is 99% tactics/calculation. What we call "strategy" is just a set of heuristics that we use to avoid having to do endless calculations. However, a lot of those heuristics are already included in most chess playing software. So, if you're weak player as a whole, even if you have some strategy acumen, your contribution in an assisted chess setting will be negligible. The computer will be doing all the work anyway.

My rating is around 2000 and I have done some assisted chess playing and I can tell you that it's extremely hard to not just take computer's suggestion at every move. The chance that I'll come up with some brilliant move that the computer missed is very slim.

I think I misunderstood what "calculating" means in a chess setting. I thought it meant checking the current position of the pieces and making sure you are not about to be attacked.

But googling it suggests it's more about thinking of the value of each move relative to others. If that's the case I'm not actually bad at that.

> I can tell you that it's extremely hard to not just take computer's suggestion at every move.

Is that how it works? The computer just basically plays and shows you some moves it likes?

That's not what I meant, I was thinking that you tell the computer something like: I want to capture piece X using Y 10 to 20 moves from now, perhaps by going via this direction. Tell me the best series of moves to get there while avoiding traps.

Or even better give it 2 or 3 such scenarios and have it tell you how dangerous each one would be so you can pick one.

Basically really narrow down the permutations the computer has to calculate.

It is. See Centaur chess[1] and correspondence chess. In correspondence chess people don't use standardized hardware (people will probably cheat anyway) but in Centaur chess this can be done.

[1]: http://en.wikipedia.org/wiki/Advanced_Chess

There is a chess app on IOS that suggests you moves and warns you against obvious situations where you would lose your piece. It's using an old but still popular engine: https://itunes.apple.com/us/app/chess/id522314512?mt=8

I had most fun with this chess engine. Stockfish engine was not fun at all, it was playing like an "asshole" most of the time and when the AI strength is reduced it was like playing against a stupid "asshole". When playing against human you feel like your opponent is on something but against AI you feel like you run for your life. Mind you though, I am very amateur chess player, I play only recreationally.

Computer assisted chess is becoming more popular in human-only tournaments. In that context it's usually called cheating, of course. Ken Regan has developed some interesting statistical methods to detect it, see for example his blog post on Gödel's Lost Letter and P=NP:

http://rjlipton.wordpress.com/2013/07/27/thirteen-sigma/

What a coincidence, just yesterday The United States Chess Federation published an article about Ken Regan and his methods for detecting cheating.

Article: http://www.uschess.org/content/view/12677/763/

HN discussion: https://news.ycombinator.com/item?id=7831291

Funny commentary:

> That either shows a profound understanding... or a profound lack of understanding. ... ROOK B6! He has NO SHAME

Maybe it's obvious to those with a better understanding of the game but can explain that "no shame" comment at 11:44?
Guessing that it's referring to the engine being particularly greedy about material (a notorious trait of computer engines). It's giving up a ton of control on the back rank to defend a crappy doubled pawn. Happy to be proven wrong on this one, just shooting from the hip here.
I'm guessing Magnus thinks it was a typical computer move: Strong but not obvious and a bit off-beat.
Which chess engine is behind this app?

As far as I understand the app (whose avatar's age goes up to 23) actually plays better than the living world champion?

“I find playing against computers depressing. I don’t like losing. I also think it's not so useful practise. Even though computers have become more human in their style ... it doesn't help you too much in preparation for playing humans (which are still my main opponents).”

— Magnus Carlsen, in an interview with Peter Thiel at the Churchill Club: https://www.youtube.com/watch?v=ZBnSU-LX1ss&t=23m51s

Have computers and software progressed that much since the Deep Blue days? I didn't realize that chess has pretty much been solved now. Are computers really that much better than people nowadays?
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.

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.

The computer is incredibly strong and there is no interest for a Man again Computer match but I wouldn't say it's close to being solved or that it's impossible to make further progress for three reasons:

1) Computer vs Computer can still go both ways so clearly the one chess engines make mistake others can exploit; 2) Some sequences are still hard find for computers, e.g. [1]. The long king walk by White is beyond the horizon of the computer. 3) Computer + Man against Computer + Man correspondence matches do benefit from human intervention.

[1]: http://www.chessgames.com/perl/chessgame?gid=1124533&kpage=5

It wouldn't surprise me if the top players regularly played against the best algorithms as part of their training.
It's actually not that common. Players will use chess engines to analyze positions, but they will rarely play against them because it doesn't provide realistic practice for an actual chess match.

For example, it may be reasonable to play an aggressive variation against an opponent because you think they might have difficulty finding a response in time pressure, but a computer can make precise calculations in any situation, and so such a strategy almost always backfires.

What's more, chess is often abstracted at higher levels in terms of things like long term plans ("I want to put pressure on the c7 pawn and control c6") instead of concrete material gains, which allows players to make progress even in positions where there are no direct threats and no sensible exchanges of pieces. Computers when faced with such situations will know that the position is objectively drawn and so will just shuffle their pieces around aimlessly, and playing against this kind of thing is not very good practice for actual human opponents who will try to find ways to beat you anyway.

Only realistic if they were preparing for some sort of Man vs Computer tournament.

Computers don't play like humans, and they are consistent in their weaknesses as well as their strengths. As players are more exposed to playing against various chess programs, they learn what positions computers are not so good at (long-range strategical themes, beyond the typical move horizon). A local optimisation, of sorts.

So players start adopting an anti-computer style of play, which requires a different mind set to pull off. That in turn affects their natural style of play.

So I argue the opposite, for preparing for top-flight tournaments, players probably avoid / severely limit playing against chess engines, to avoid this natural anti-computer bias to their play.

Sure, the engines are good for checking variations and analysis, as an assistant. But not as a leader, nor as an opponent.

Olympic sprinters do not practice racing against race cars. Maybe for a publicity stunt. But not for improvement.