Even if you can look 7 ply ahead, how do you evaluate which of the possible resulting positions is better with you without heuristics?
Precisely.
The king is still alive 7 moves ahead (usually).
At very least you use the heuristics like e.g. summing the piece values, and penalties for the e.g. two pawns of yours on same column (and bonuses for the pawn that threatens to become a queen, etc).
Also, God only knows how many millions positions per second Garry Kasparov evaluates. Possibly quite many as they can be evaluated in parallel.
I would think that Kasparov’s evaluation, in a sense, substitutes less than Deep Blue’s—Kasparov can meta-strategise to king’s death or to tie from any position—when you are playing for tie you try to make computer exchange pieces, when you are playing for win you try to put computer into situation where you will be able to plan more moves ahead than the computer (computer tends to act as if it desperately hopes that some bad-looking move wins the game).
(To end a block quote, leave a blank line (i.e. two consecutive line breaks) after it.)
Precisely. The king is still alive 7 moves ahead.
In the endgame this is useful, but in the opening/early mid-game, not so much. The king is still alive 7 moves ahead in the overwhelming majority of possible legal sequences of moves.
At very least you use the heuristics like e.g. summing the piece values, and penalties for the e.g. two pawns of yours on same column (and bonuses for the pawn that threatens to become a queen, etc).
I’d bet Deep Blue does that, too.
EDIT: The “usually” you added makes it clear that I had completely missed your point. I’m retracting this.
I’ve participated some in computer contests, not chess related, where you can’t solve the problem exactly. It’s generally the case that you need clever “substitutions” to get anywhere at all.
Most problems that aren’t outright trivial are too hard to solve from first principles.
Definitely so for the real world behaviours. A supposedly ‘rational’ calculation of best move, from first principles (death of king), but without substitutions and hunch based heuristics, done by human, over course of centuries, will not be even remotely powerful enough to match the immediate move that Kasparov would somehow make playing 1-minute blitz (and if you actually played chess real fast, it does become apparent that you just can’t match this play without massively parallel, rather deep evaluation).
I think all aspiring rationalists should learn boardgames like Chess, Go, and perhaps some RTS (like starcraft, though my favourite is springrts. In the starcraft the AI has too much advantage due to human bottlenecking on the output) to appreciate the difficulties. Ideally, try writing an AI that fights against other AIs (in a timed programming contest) to appreciate the issues with advance metastrategies and heuristics.
I perform best on that sort of stuff if I am not tired and I act on feelings. If I am tired or bored and I act on feelings that leads to a quick loss which is also rational because—what the hell am I doing playing game when tired?
edit: where the hell did my wikipedia link disappear? ahh nevermind.
I have a friend who is much better at starcraft than I am; he says that he’s largely better because he’s worked out a lot of things like exactly the most efficient time to start harvesting gas and the resource collection per minute harvesters under optimal conditions, and he uses that information when he plays. It works better than playing based on feelings (by which I mean that he beats me).
If you don’t have way too much time on your hands, though, it’s about as much fun to not bother with all of that.
Also, I notice you cited a Wikipedia page. Naughty, naughty, naughty.
Well yea the start timings are important… they correspond to ‘book’ knowledge of chess openings. I did those a fair lot when i were playing chess more seriously (which was long long ago when i was 10-12). You have to do those before you start actually playing, and in RTS those openings are not so well developed as to read ’em off an old book like you do in chess.
Chess computer btw also uses openings, i think none of the 16 possible first moves leads to loss of king in 10ply (i’d wager a bet that none of possible white’s first moves leads to inevitable loss or victory at all, and certainly not in less than 50ply), and the computer does e2-e4 (or other good first move) purely by book. It doesn’t figure out that e2-e4 is better move than say a2-a3 from the rules alone. There’s a LOT of human thought about chess that chess AI relies on to beat humans.
I used to play balanced annihilation with springrts. I didn’t play it a whole lot but I did program some lua scripts for it and contributed to lobby development. Not playing it much any more but it is very interesting to make scripts for.
Precisely. The king is still alive 7 moves ahead (usually).
At very least you use the heuristics like e.g. summing the piece values, and penalties for the e.g. two pawns of yours on same column (and bonuses for the pawn that threatens to become a queen, etc).
http://en.wikipedia.org/wiki/Computer_chess#Leaf_evaluation
Also, God only knows how many millions positions per second Garry Kasparov evaluates. Possibly quite many as they can be evaluated in parallel.
I would think that Kasparov’s evaluation, in a sense, substitutes less than Deep Blue’s—Kasparov can meta-strategise to king’s death or to tie from any position—when you are playing for tie you try to make computer exchange pieces, when you are playing for win you try to put computer into situation where you will be able to plan more moves ahead than the computer (computer tends to act as if it desperately hopes that some bad-looking move wins the game).
(To end a block quote, leave a blank line (i.e. two consecutive line breaks) after it.)
In the endgame this is useful, but in the opening/early mid-game, not so much. The king is still alive 7 moves ahead in the overwhelming majority of possible legal sequences of moves.
I’d bet Deep Blue does that, too.
EDIT: The “usually” you added makes it clear that I had completely missed your point. I’m retracting this.
ahh btw to satisfy the citation request:
Computer chess on wikipedia
I’ve participated some in computer contests, not chess related, where you can’t solve the problem exactly. It’s generally the case that you need clever “substitutions” to get anywhere at all. Most problems that aren’t outright trivial are too hard to solve from first principles.
Definitely so for the real world behaviours. A supposedly ‘rational’ calculation of best move, from first principles (death of king), but without substitutions and hunch based heuristics, done by human, over course of centuries, will not be even remotely powerful enough to match the immediate move that Kasparov would somehow make playing 1-minute blitz (and if you actually played chess real fast, it does become apparent that you just can’t match this play without massively parallel, rather deep evaluation). I think all aspiring rationalists should learn boardgames like Chess, Go, and perhaps some RTS (like starcraft, though my favourite is springrts. In the starcraft the AI has too much advantage due to human bottlenecking on the output) to appreciate the difficulties. Ideally, try writing an AI that fights against other AIs (in a timed programming contest) to appreciate the issues with advance metastrategies and heuristics.
I perform best on that sort of stuff if I am not tired and I act on feelings. If I am tired or bored and I act on feelings that leads to a quick loss which is also rational because—what the hell am I doing playing game when tired?
edit: where the hell did my wikipedia link disappear? ahh nevermind.
I have a friend who is much better at starcraft than I am; he says that he’s largely better because he’s worked out a lot of things like exactly the most efficient time to start harvesting gas and the resource collection per minute harvesters under optimal conditions, and he uses that information when he plays. It works better than playing based on feelings (by which I mean that he beats me).
If you don’t have way too much time on your hands, though, it’s about as much fun to not bother with all of that.
Also, I notice you cited a Wikipedia page. Naughty, naughty, naughty.
Well yea the start timings are important… they correspond to ‘book’ knowledge of chess openings. I did those a fair lot when i were playing chess more seriously (which was long long ago when i was 10-12). You have to do those before you start actually playing, and in RTS those openings are not so well developed as to read ’em off an old book like you do in chess.
Chess computer btw also uses openings, i think none of the 16 possible first moves leads to loss of king in 10ply (i’d wager a bet that none of possible white’s first moves leads to inevitable loss or victory at all, and certainly not in less than 50ply), and the computer does e2-e4 (or other good first move) purely by book. It doesn’t figure out that e2-e4 is better move than say a2-a3 from the rules alone. There’s a LOT of human thought about chess that chess AI relies on to beat humans.
Oh, hey, wow. I am a huge fan of Total Annihilation; this is really exciting! Which game do you recommend using with springrts?
I used to play balanced annihilation with springrts. I didn’t play it a whole lot but I did program some lua scripts for it and contributed to lobby development. Not playing it much any more but it is very interesting to make scripts for.