What an odd classification.
What an odd classification.
When I learned about the CM, I thought it was crazy. How could a SIMD machine work for AI? Intelligence emerges from the interaction and integration of multiple, somewhat independent "agents" -- not really the right word but I can't think of a better one. This is Marvin Minsky's own theory, to which I happen to subscribe, but even if I didn't or even if you don't, I still can't understand how Marvin got sucked into this (except that Danny was engaged to his daughter Margaret).
The key point is how SIMD machines handle conditionals. The conditional "branch" is emitted, and those processors on which the test fails simply don't execute the next n instructions. This means that for a complex conditional that's rarely satisfied, only one or two processors out of the tens of thousands the machine might be built with would actually be executing. This is why you wouldn't run a compiler, for example, on a SIMD machine: most of the time, most of the machine would be idle.
Anyway, I wasn't involved in TMC, though I knew people who were. Nobody asked my opinion, nor would they likely have given it much weight if they had (I'm sure there were skeptics with much better credentials than mine who also were not listened to). But I was right. As I once heard someone else comment, the CM turned out to be useful for approximately the complement of the set of problems that it was intended for. It wound up being pretty good for number crunching, at least for a while until better things emerged, but useless for AI.
I guess it depends on how you define AI, from the excellent article linked above:
http://longnow.org/essays/richard-feynman-connection-machine...
"Part Two of Feynman's "Let's Get Organized" campaign was that we should begin a regular seminar series of invited speakers who might have interesting things to do with our machine. Richard's idea was that we should concentrate on people with new applications, because they would be less conservative about what kind of computer they would use. For our first seminar he invited John Hopfield, a friend of his from CalTech, to give us a talk on his scheme for building neural networks. In 1983, studying neural networks was about as fashionable as studying ESP, so some people considered John Hopfield a little bit crazy. Richard was certain he would fit right in at Thinking Machines Corporation.
What Hopfield had invented was a way of constructing an [associative memory], a device for remembering patterns. To use an associative memory, one trains it on a series of patterns, such as pictures of the letters of the alphabet. Later, when the memory is shown a new pattern it is able to recall a similar pattern that it has seen in the past. A new picture of the letter "A" will "remind" the memory of another "A" that it has seen previously. Hopfield had figured out how such a memory could be built from devices that were similar to biological neurons.
Not only did Hopfield's method seem to work, but it seemed to work well on the Connection Machine. Feynman figured out the details of how to use one processor to simulate each of Hopfield's neurons, with the strength of the connections represented as numbers in the processors' memory. Because of the parallel nature of Hopfield's algorithm, all of the processors could be used concurrently with 100\% efficiency, so the Connection Machine would be hundreds of times faster than any conventional computer."
edit: This made me wonder how Moore's greenarray forth computers might be used for neural nets...
But if you wanted to do, say, genetic evolution of your neural net topology -- not sure that had been thought of then, but people do it now -- the CM wouldn't have worked very well.
Anyway, if my rather faint recollection is accurate, the hot application I heard TMC people talking about the most back then was ray tracing.