Thinking Machine 4
October 27, 2004 12:44 PM Subscribe
Thinking Machine 4 explores the invisible, elusive nature of thought. Play chess against a transparent intelligence, its evolving thought process visible on the board before you.
From Martin Wattenberg (with Marek Walczak); they have been noted here before.
From Martin Wattenberg (with Marek Walczak); they have been noted here before.
This is definitely cool _looking_, but I don't know if I would call it a "transparent intellligence", since it's pretty much impossible (for me, at least) to see how the graphic overlay actually reflects the decision-making process.
What do the different colors mean, what do the different levels of intensity mean, and how do they reflect the move that's about to be made? Unless there's something I'm missing (which is very possible), it just seems like you see a visually intriguing graphic develop, and then it makes a move that's not clearly a function of those lines.
posted by LairBob at 1:47 PM on October 27, 2004
What do the different colors mean, what do the different levels of intensity mean, and how do they reflect the move that's about to be made? Unless there's something I'm missing (which is very possible), it just seems like you see a visually intriguing graphic develop, and then it makes a move that's not clearly a function of those lines.
posted by LairBob at 1:47 PM on October 27, 2004
(To that end, I've made several aborted attempts to create a little chessboard app that could reflect the various "levels of threat" across the board--a pawn would make the two squares it threatens light up a bit, a bishop would light up the diagonals in all four directions until they hit pieces, and any given square would be lit up faintly or a lot depending on how many pieces threatenend it.
There's still the issue of a color-coding scheme so you could tell how much each side was threatening any given square, but it's always been how I've tried to envision a chess map mentally, and I'd love to see it in action. Then again, I'm a really, really crappy chess player, so it's not necessarily _useful_.)
posted by LairBob at 1:52 PM on October 27, 2004
There's still the issue of a color-coding scheme so you could tell how much each side was threatening any given square, but it's always been how I've tried to envision a chess map mentally, and I'd love to see it in action. Then again, I'm a really, really crappy chess player, so it's not necessarily _useful_.)
posted by LairBob at 1:52 PM on October 27, 2004
That's fascinating, even a little distracting to play. Thank goodness it uses a weaker engine, otherwise it might have kicked my ass while I was distracted by all the pretty lines being drawn to show potential moves.
I also like how it shows a little how to think multiple moves in advance for each piece, which is difficult to do well for most novice players.
posted by loquacious at 1:57 PM on October 27, 2004
I also like how it shows a little how to think multiple moves in advance for each piece, which is difficult to do well for most novice players.
posted by loquacious at 1:57 PM on October 27, 2004
Wow this is amazingly fun visually and trippy but it raises to mind a little more simple question:
what are your personal links to the best online chess games?
posted by Peter H at 2:28 PM on October 27, 2004
what are your personal links to the best online chess games?
posted by Peter H at 2:28 PM on October 27, 2004
I hope this link stays around a while, because I've looked for Web-based chess and this looks sort of fun, if a little slow.
posted by alumshubby at 3:10 PM on October 27, 2004
posted by alumshubby at 3:10 PM on October 27, 2004
This is great.
What do the different colors mean, what do the different levels of intensity mean, and how do they reflect the move that's about to be made?
As far as I can tell, it draws a line when evaluating each possible move with a minimax algorithm. Color indicates side, and intensity shows how often a certain move is being considered. If I'm right about how it works, the graphic won't tell you about how the computer will move, but rather how many possible moves there are in the next n moves.
posted by skyline at 3:56 PM on October 27, 2004
What do the different colors mean, what do the different levels of intensity mean, and how do they reflect the move that's about to be made?
As far as I can tell, it draws a line when evaluating each possible move with a minimax algorithm. Color indicates side, and intensity shows how often a certain move is being considered. If I'm right about how it works, the graphic won't tell you about how the computer will move, but rather how many possible moves there are in the next n moves.
posted by skyline at 3:56 PM on October 27, 2004
I'd bet that it is using the min-max algorithm, an algorithm that first runs several iterations of considering each possible move it can make and the moves that the opponent can make in turn. The more iterations that the algorithm goes the more powerful the algorithm will be to play against. If it decides that a certain move will cause more harm, then it ceases to 'walk this decision tree', and will no longer consider moving that piece. This is a poor literary description of the algorithm, but, as part of this process, the algorithm assumes that the opponent will make only smart moves (MAX), and assumes the worst of itself (MIN).
In this implementation, each line represents a potential move. Judging by the lines created, it looks like each potential move is drawn using a random curve, so drawing several of these random curves along the same path will create thicker lines -- the more random lines, the thicker the representation of the path. Because the algorithm ceases to explore stupid moves but continues to explore good moves as computation time increases, the thicker lines will represent the best move that it can make based on the decision tree it has explored so far. You can even see what the algorithm has decreed to be its best subesquent move by looking at the thickness of the lines 2 moves away (i.e. a pawn will have a line that goes to a part of the board, and that part of the board will have lines going from it; this represents the moves it is considering two iterations deep).
posted by sleslie at 4:21 PM on October 27, 2004
In this implementation, each line represents a potential move. Judging by the lines created, it looks like each potential move is drawn using a random curve, so drawing several of these random curves along the same path will create thicker lines -- the more random lines, the thicker the representation of the path. Because the algorithm ceases to explore stupid moves but continues to explore good moves as computation time increases, the thicker lines will represent the best move that it can make based on the decision tree it has explored so far. You can even see what the algorithm has decreed to be its best subesquent move by looking at the thickness of the lines 2 moves away (i.e. a pawn will have a line that goes to a part of the board, and that part of the board will have lines going from it; this represents the moves it is considering two iterations deep).
posted by sleslie at 4:21 PM on October 27, 2004
Heh...that's cool. As a former CS major (before I switched to French Lit), I get the Min-Max thing--your explanation helps. I know this is meant to be more of an esthetic exercise than a informative or didactic one, so I don't want to be too critical, but it does still fall a bit short of "transparent", I think.
Still, very cool.
posted by LairBob at 4:41 PM on October 27, 2004
Still, very cool.
posted by LairBob at 4:41 PM on October 27, 2004
Yeah, most board game programs use minmax. All the chess programs do, but the chess programmers have found they have to modify it. The program sometimes has to discard the normal pruning rules and search some positions more deeply - for example, until it can't find any more checks or captures. The big decision in chess programming is how much of the available resources you devote to brute force search vs. heuristics and improved evaluation at the nodes of the search tree. The position at each node is also stored in a hash table (also called the transposition table) so that the program doesn't thrash around evaluating the same position reached by different move orders.
It turns out (for the most part) that the big surge in the strength of chess programs has come from faster hardware and optimized search routines, not from enormous breakthroughs in intelligent evaluation and "chess knowledge", although there have indeed been big improvements in these areas. They also use an opening database, or "book", of optimal theory in the early part of the game. Thinking Machine doesn't seem to have much of one, but it's clearly not totally on its own for the first couple of moves.
If anyone wants to fool around with a stronger chess program, Crafty is freeware., and available by ftp.
I don't know think it's GPL (it says it's copyright Bob Hyatt, the developer), but the source code is available and the program can be used for noncommercial purposes.
posted by crunchburger at 8:15 PM on October 27, 2004
It turns out (for the most part) that the big surge in the strength of chess programs has come from faster hardware and optimized search routines, not from enormous breakthroughs in intelligent evaluation and "chess knowledge", although there have indeed been big improvements in these areas. They also use an opening database, or "book", of optimal theory in the early part of the game. Thinking Machine doesn't seem to have much of one, but it's clearly not totally on its own for the first couple of moves.
If anyone wants to fool around with a stronger chess program, Crafty is freeware., and available by ftp.
I don't know think it's GPL (it says it's copyright Bob Hyatt, the developer), but the source code is available and the program can be used for noncommercial purposes.
posted by crunchburger at 8:15 PM on October 27, 2004
« Older go sox | an iconography of torture, cruelty and degradation... Newer »
This thread has been archived and is closed to new comments
posted by crunchburger at 1:34 PM on October 27, 2004