Hacker News new | ask | show | jobs
by zwischenzug 3974 days ago
I've never understood the 'imperfect information' thing when discussing chess. Chess _as played by people_ is full of hunches, uncertainty, prejudice, intimidation. Just look at how Kasparov played or Lasker, to see how important psychology is to chess. Or go down to Washington Square Gardens and play under the glare of dozens of people tutting at your every move.

It's so much more than an abstract problem.

2 comments

Perfect information doesn't preclude the human element. It is a technical designation: each player has the entire knowledge of the game history up to and including the current state.
The original quote was:

"Where it might frustrate a chess player, is that chess lacks an element of imperfect information."

Any chess player worth their salt deals with imperfect information, and has to manage risk, make kludges, pick imperfect paths, deal with the clock etc etc.

Right, however none of that has to do with perfect/imperfect information.

To quote Wikipedia: "In game theory, an extensive-form game has perfect information if each player, when making any decision, is perfectly informed of all the events that have previously occurred."

This is a technical designation, it has nothing to do with the future, only the past and current state.

Yes, to be a good chess player you need to be able to evaluate your opponent and make subjective determinations. Yes, your strategy is probably imperfect. But the fact remains that you can see the entirety of the game board and you can write down the history of moves, so you have perfect information.

[0]: https://en.wikipedia.org/wiki/Perfect_information

My point is in the context of a discussion about analogies about chess and software dev - if you're good at one are you good at the other etc?

In this context the fact that chess has perfect information in a technical sense is irrelevant, since chess as played is so much more than a game about digital information.

Yes, but the possible input to a chess game is strictly limited - one player cannot just change the way a piece moves or introduce a new piece, and thus, it is not taken into account in any strategy. These sorts things must be taken into account when programming.
This is how a chess player thinks. "Jesus, why did she play that? She must have seen something I've missed. Shit, if I had more time I'd be able to figure it out. Damnit, I'll just move my knight back, that way my king'll be safer. I'm sure there's a better move but I can't find it now, and I think my ass went to sleep."

Change a few words, and it's pretty much a typical thought process when coding for me.

Bughouse chess might fit the bill in this case. If you're not familiar, there are two boards with four players, with teammates playing opposite colors on each board. A captured piece on one board can be held in reserve by the teammate and played on any subsequent turn on any open square on the other board.