Hacker News new | ask | show | jobs
by jerf 847 days ago
After pondering it for a while, the problem is that CAs are too chaotic to use, and there is simply no way to overcome this, nor is there even particularly a reason to try.

Anything that is Turing Complete is going to exhibit at least some degree of what I call "Turing Chaos", which is the sort of chaos you have in trying to understand what a given Turing Complete system is going to do in light of the fact that a Turing Complete system is going to include some equivalent of "if (something) { run this program } else { run that program }", which means that there is inevitably going to be uncertainty amplification in any attempt to understand a program. By "uncertainty amplification" I mean exactly what anyone who has every tried to understand a code base has been through; you can tell that your uncertainty about what the "something" value is gets amplified into the question of which entire program is being run, and that can iterate for quite a while. It's very chaotic.

However, for all that, and despite the famous way in which changing a single bit of a program may completely change how it operates, in practice with real human programs changing a single random bit is statistically most likely to have no user-visible impact. We spend a lot of time constraining our system's chaos. We have to. We can't work with systems in which literally every bit change completely changes the program.

However, CAs tend to work that way. A single bit flip will spread out at the relevant "speed of light" and change everything.

As a result, while they may be some of the simplest Turing Complete things, they are humanly useless. They are not useful for modeling processes; you have to be too precise with the initial states, and the thing you are modeling has to be too precise in its usage of the CA rules. They are not useful for engineering, which is precisely why we don't use them.

Or, to put it in a nutshell, while A New Kind Of Science is full of pretty pictures and legitimately interesting ideas... it's also in essence, comprehensively wrong. Not a "not even wrong"; it rises to the level of "real" wrongness. But it's comprehensively, from top to bottom, wrong about practical utility or any future practical utility.

(You can sit down and try to strip this characteristic from a sufficiently well-designed CA, but getting the precise balance of just the right amount of chaos is going to be difficult, and getting it to be also somehow useful afterwards raising the bar even higher. In the meantime, I've got von Neumann machines right here for people who want to do real work and the lambda calculus for people who want to work directly in mathematical abstractions without going insane, so... why?)

1 comments

> A New Kind Of Science is full of pretty pictures and legitimately interesting ideas... it's also in essence, comprehensively wrong. Not a "not even wrong"; it rises to the level of "real" wrongness. But it's comprehensively, from top to bottom, wrong about practical utility or any future practical utility.

Yeah, after 20 some years, that's has to be the answer. At its basic level I think it just exploited the idea that people, including me, like to see interesting or complicated patterns, especially arising out of simple iterative rules like https://en.wikipedia.org/wiki/Rule_30 or https://en.wikipedia.org/wiki/Rule_110.

Of course, I can see how snail pattern or other natural patterns might be generated by a similar process but it's nowhere near revolutionizing any science like the title was claiming.

But Wolfram being Wolfram doesn't give up. There is the https://www.wolframinstitute.org and there is some activity there. I periodically drop by to see what's happening.

> They are not useful for engineering, which is precisely why we don't use them.

Exactly, we'd think by now they'd be some AI super-chip or something tangible based on of the cellular automata thing discovered by Wolfram.