Hacker News new | ask | show | jobs
by ronaldx 4396 days ago
In my opinion, this would be a lot more difficult. I am slightly naive as to exactly how stockfish works, but:

Computers can do a lot of accurate brute-forcing; humans must see the position in a more holistic, intuitive way.

Excellent human players and excellent computer players are presumably doing completely different calculation tasks.

I would suggest that computers are still bad at approaching the task in a human-like way, but they will always be able to improve their method via Moore's law (at a minimum) where humans are stuck at their current level.

Stockfish might be able to tell you what it was doing, but not in a way that it would be reasonable for a human to follow.

What you are looking for is a teacher. You can pay for those ;) The closest we have got to a teacher app is perhaps a MOOC: not much computational progress has been made.

2 comments

> Stockfish might be able to tell you what it was doing, but not in a way that it would be reasonable for a human to follow.

I (a non-chess player) just tried to play a game against the highest level AI (and lost, obviously).

Doing an analysis of the game afterwards, this is exactly what I experience: I do "f4" and I'm told (through the analysis tool) that the best move was "Nf3".

Now, the obvious question this leads to is: why? Why was this a better move? I don't think that, as a human being, memorizing "best moves" is going to lead to much improvement: we need to know WHY that move was the best move.

I'm sure there is a human-friendly way to explain why one move is the best move, and why my move wasn't, but the computer probably doesn't know this explanation, because it's approaching it from a brute-force perspective.

Surely, a chess computer can brute force all possible combinations, and deduce that this was the best move. But when this is not possible for a human being, just informing the me that "what you just did was not the best move", doesn't really do much to help me (as an amateur player).

The game, for reference: http://en.lichess.org/ehWjHnIc#0

"f4" creates a hole on "e4" in your pawn structure. This hole becomes a valuable outpost where your opponent can position a knight (or other piece) without it being harassed by one of your pawns. This means to get rid of it, you need to trade a piece for it, and when your opponent recaptures, it will give them a passed pawn.

"Nf3" protects your d4 pawn and also threatens the e5 square. Probably most importantly, it clears a piece so you can castle kingside.

>Stockfish might be able to tell you what it was doing, but not in a way that it would be reasonable for a human to follow.

Looking at the code posted, if the sub-scores were stored in an array and only added at the end, it would be possible to compare the positions after two moves by sub-score and find the biggest differences between subscores. Then you could say that position A is better than position B because it avoid doubled pawns, or has better bishops, etc.