It’s been a few years since Wolfram published “A New Kind Of Science” and not much response to it one way or the other when I Google. Interesting for some to weigh in here on ole Wolfie.
For newbies, he got a Caltech PHD at 20, got rich, then disappeared for ten years to work on a theory that the Universe is governed by a simple program and that complexity arises from simplicity as expressed in these two or three lines of code.
As a piece of anecdata: I’m a physics professor, and I hadn’t so much as remembered that “A New Kind of Science” existed for at least years before I opened this thread today. I think it’s fair to say that it was greeted with deafening indifference in most fields.
Well deafening silence does not, in itself, mean it is wrong. The real problem is that it would be the end of science. Science operates by making predictions. He posited that the universe was a giant cellular automaton (e.g. an extremely large version of Conway’s Life). And that nearly all such automatons are inherently unpredictable in the sense that the only way of telling where such an automaton was going was to run it and see. Since much (although not all) prediction is possible, I find it hard to believe that this is possible. One cause of our failure to be able to predict, save in a statistical manner, is quantum indeterminacy, but automatons are determinate. So Wolfram’s ideas make no sense to me.
But he is a super-programmer. I once mention to a friend of mine who knows Wofram well that I read that the average programmer produces 7 lines of debugged, commented code a day and he claimed that Wolfram produced 1000. That’s impressive even if it is not commented.
The figure of 7 lines of code per day is one that I used as far back as 1983. This does not refer to a programmer that sits down and starts coding head down all day until the Twinkies run out. This is a metric used to estimate the full development cycle of software projects including design, code, unit test, system test, and documentation. It is not all surprising to me that a good programmer could knock out 1000 lines of working code for a well-defined problem in one day if he’s a one-man army and all he cares about is the code and is not accountable to anyone else.
Yeah, this metric and ones like have been tossed around for years. My understanding is that it not only counts all of the time that coding programmers spend doing non-coding tasks, but also includes the time of programmers who don’t code at all and those who do trouble-shooting and maintenance tweaks. 1000 lines is not a super-human result for anyone who has a coding assignment and is left alone to do it.
Don’t forget about Mathematica and Wolfram Alpha. Also, he’s got a great blog.
I’ve only read a few chunks of NKS, but the parts I read were interesting and engaging. I think it’s too approachable and covers too much old ground to be the next Principia, but if you don’t go in expecting the guy to be the next Einstein or Newton, his work is pretty damn impressive.
His biggest fault is that he thinks the world of himself, but so does Cecil and we all hang out on his website. Actually, his biggest fault is not open-sourcing Mathematica.
If the word genius isn’t used to describe Wolfram, then in my opinion, the word has no meaning. While I disagree with some of his conclusions, his work in cellular automata is unparalleled. I have heard from others that he has something of an ego problem. But, I wouldn’t call him a hack because of it. I hear Newton wasn’t the most pleasant person to be around at times.
I don’t think there is any fear of this, even if the concept were true and we even knew the exact program. The reason we don’t fear this is due to the principle of emergence, where the phenomena at one level give rise to phenomena that are analysable on a “higher” level.
We don’t ask a quantum physicist when we have a problem in chemistry, even though all chemical properties are utterly dependent and completely predictable (at least, in theory, if not in practice) from quantum physics. We don’t ask chemists to explain biology, even though biology is based on chemistry. And so on. Note that I’m glossing over considerably. In each of the fields I’ve mentioned, there are a number of different specialties, and many of these specialties are precursors for specialties that depend on them. For example, in biology, we have biochemists, geneticists, cellular biologists, and that’s just near the ground floor. We would have these sciences even if we knew all the laws of physics to exactitude.
Why? Simply because it makes more sense that way. While some precision can be lost at each level, and some high-level predictions can turn out to be wrong due to low-level interactions that aren’t accounted for in the higher level model, the higher level model is still far more useful than trying to reduce everything to first principles. Furthermore, the phenomena that appear at the higher levels are just as real as their subatomic substrates, regardless of the fact that they’re created by and dependent on them. It would be foolish to talk about emotions in terms of quarks and leptons.
Again, emergence can be an answer here. Quantum mechanics is nondeterminstic, but gives rise to atomic and chemical phenomena that have highly determinstic aspects.
An automaton can be nondeterminstic. Just code it in Dyjkstra’s language, for example. That may deviate from Turing’s definition, but it’s still quite possible, understandable, and quantifiable.
I’d never heard of that before; interesting… I remember this as being one of Edgar Allan Poe’s fatal errors in his otherwise excellent essay, which revealed the chess-playing “automaton” of Maelzel to be a hoax, involving a human hidden inside the cabinet housing the “machine.” Poe was correct in perceiving the man inside the machine, but he erred in claiming that the machine would always make exactly the same play from any given chessboard configuration. In his excuse, he had no way to know about “pseudo-random numbers” and decision trees.
(And modern pseudo-random numbers are so good, as one CalTech friend of mine liked to say, “God himself couldn’t tell the difference” between them and real random numbers. i.e., there isn’t enough computing power in the universe to be able to determine the difference.)
(Poe also erred by saying that if a machine could play chess, it would have to play “perfect” chess, and would therefore always win. Again, we know today that a pretty doggone good chess-playing machine can be built around estimates of best play – such as algorithms that assign relative values to chessboard configurations, and then move in the direction of the configurations with the highest values. Such a system will tend to avoid “gambits,” and thus may miss out on a winning line of play.)
Poe certainly knew of pseudorandom number generators, and should have easily been able to conceive of how to put one in a machine: Just take a roulette wheel, or some dice. Nor is it even necessary to have any kind of randomness or pseudorandomness at all: Just let the machine keep a record of its past games, so as to ensure that it never loses the same way twice (winning the same way twice would be fine).
They’re equivalent in power, but given a nondeterministic automaton with n states, the equivalent deterministic automaton can require 2[sup]n[/sup] states.