4 ms·
I haven't fully formed an opinion about it, but it's the most-completely-laid-out version of his study of cellular automata, which was genuinely novel in the '8
by mjn 13y ago
I haven't fully formed an opinion about it, but it's the most-completely-laid-out version of his study of cellular automata, which was genuinely novel in the '80s when he first published a classification of them, and led to some interesting debates since then. He digs into them in a lot of detail and forms some theories of computational emergence and philosophy-of-computation, which he then ties in to a sort of computationalist view of the universe that hypothesizes the ubiquity of complexity from simple interaction as a key feature. Along the way he puts forward some pithy "principles", some of which are thought-provoking, though not all are novel and some are obviously problematic (one of the more-cited ones is http://mathworld.wolfram.com/PrincipleofComputationalEquivalence.html http://mathworld.wolfram.com/PrincipleofComputationalEquival...).
I do think a massively edited down and more humble version of the book could at least present interesting positions to argue against or develop. Part of the problem with his writing approach is that so much of the response is (correctly) pointing out that he didn't invent certain things, or that he's giving new names to things that already have names in either CS or philosophy or both, etc., that it obscures the contents, and the reader has to do a lot of work to get something out of it.
If you remove the claims to novelty and take it instead as a description of a certain contemporary paradigm of simulation-oriented science that resolves around computational models and complex systems, and take Wolfram as just your narrator digging into its philosophical implications (with a particular set of biases), it's not a bad read either, although it could also use an editor to move along more engagingly and not talk about Stephen Wolfram so much. So I'll admit it's not great for that purpose either; it maybe wants to be like a Douglas Hofstadter book but isn't really. I think some HN readers might actually like it, though. At the very least you can take it as an experimental attempt to answer the question: just how much of a philosophy can you hang almost entirely off of a study of cellular automata?
That's a pretty lukewarm endorsement, because honestly I don't think it's a good book as written, but some of the negative reviews are exaggerating its lack of contents.
- taliesinb 13y agoSome corrections, from an enthusiast of some of the ideas of NKS and someone in the R&D division of Wolfram Research: 1. Cellular automata are not the "point" of the book. The point of the book is the study of simple computational systems: cellular automata, mobile automata, Turing machines, register machines, tag systems, string rewriting systems, graph automata, lattice automata, etc.. What are they? How powerful are they? What is the distribution of complexity of these systems? How might they hint at an unexplored scientific territory that we could profitably investigate? What systems in nature can they qualitatively model? How well does traditional mathematics work in analyzing and predicting their behavior? The complexity manifested by these systems have been sporadically encountered by various people. A classic example being of course being Conway's Game of Life. But that was seen as pure recreation. Not until much later did anyone engage in systematic enumeration of similar systems in order to determine if Conway's game of life was special in any sense, if its universality was a unique feature of such systems. Even the genius John von Neumann, who invented CAs, didn't simulate any to see what they actually did. He just saw them as models for engineering, and went about designing a somewhat pointless and brittle self-reproducing CA that has about zero significance for the [then non-existent] field of artificial life. Similarly, Turing used Turing machines them to build a universal machine, and that's as much as he cared about running Turing machines. He almost immediately went on to oracles and supercomputation, which are pretty abstract and arguably far less important ideas. 2. Wolfram didn't invent many of the things in the book, and as far as I'm aware, doesn't claim to. In the very detailed notes you'll find plenty of attribution (although many academic fields are necessarily summarized very briefly). What he does claim to be the first to have done is articulate a common thread of argument that connects these existing ideas in a coherent and explanatory way. 3. This isn't about simulation. Simulation is precisely the WRONG way to look at what he's saying. What follows is a particular case he covers in the book, one of many such cases, but it is a nice illustration. Turbulence in fluids is one of those 'puzzling' things that we often describe as a complex and interesting phenomenon in nature [0]. The traditional approach to understanding what causes turbulence is to use non-linear partial differential equations to describe the interplay between velocity, density, and pressure in fluids [1]. When you ask what these equations "really mean", there is a sense in which you have to first explain some pretty complex mathematical machinery, culminating in the very idea of a real number -- that take tens of years for modern-day students to learn in detail, that took hundreds of years for professional mathematicians to construct. These aren't trivial, or even particularly natural, ideas [2]. For some very simple cases it is possible to use the same mathematical machinery that expresses these equations to then solve them -- although enough fundamental stuff is still missing to warrant a $1m Clay prize [3]. But many questions (include almost all practical ones) are far too difficult to solve using the same "mathematical machinery" that expressed the equations. So we end up instead discretizing time and space and finding approximations to the solutions of these equations (using floating point numbers that are themselves approximations to the reals). But wait a minute! Fluids are COMPOSED of discrete particles. The Navier-Stokes are just an approximation in the case of large numbers and statistical independence of momenta. So we've built approximations of approximations of approximations, at great computational expense and effort, with very little of the clarity and elegance of Newton's original work in classical mechanics [4]. We've got this very tall tower of ideas, with many answers still unclear (eg [5]). Can we refactor? A natural question to start with is the following: if you don't limit yourself to continuous mathematics, how much "computational machinery" do you need to get fluid turbulence? It turns out, as Wolfram and others showed, all you need a system that is simple enough to explain to a 5-year-old [6]. (In fact, if you have ever played Chinese Checkers, you have a rough feel for how it would work). These lattice gas automata have subsequently led to industrially useful CFD solvers [7]. In short, you can discretize both space, time, momentum, and break Galilean invariance, and my god it still works! That is a remarkable result! What's the point of all this? The point here is that many of the traditional assumptions one makes in mathematical physics turn out not to be critical to reproduce the behavior one is interested in. And this appears to be a general phenomenon in many fields: the "unreasonable success of mathematics" has lead us to in some sense define science to be about building idealized mathematical systems. Sometimes our ignorance of the 'spikiness' of computation has lead to some wild goose chases. [8] And science has in turn ignored many problems that weren't amenable to mathematical analysis. Not out of pride or incompetence, but because no-one had made a particular effort to articulate what other kinds of analysis were possible. That's what the book tries to do, and that is why it perhaps seems quite hubristic. It is a manifesto. You can't write a manifesto in the form of 60 consecutive peer-reviewed papers. I think there are faults with the book, particularly its length, its pedantry, and the assumptions it makes about its readers. But it is a radical scientific view, makes some quite big claims and predictions, perhaps wrong, perhaps right. I think it is definitely worth dipping dipping into at random for an educated generalist (rather than reading sequentially, which can be quite tiring). Anyway, this post is far too long, and I'm not getting paid for defending Wolfram's work. I have Mathematica kernel functionality to write, dammnit! [0] http://www.wolframscience.com/nksonline/page-377 http://www.wolframscience.com/nksonline/page-377 [1] https://en.wikipedia.org/wiki/Navier%E2%80%93Stokes_equations https://en.wikipedia.org/wiki/Navier%E2%80%93Stokes_equation... [2] http://plato.stanford.edu/entries/mathematics-constructive/ http://plato.stanford.edu/entries/mathematics-constructive/ [3] http://www.claymath.org/millennium/Navier-Stokes_Equations/ http://www.claymath.org/millennium/Navier-Stokes_Equations/ [4] https://en.wikipedia.org/wiki/Philosophi%C3%A6_Naturalis_Principia_Mathematica https://en.wikipedia.org/wiki/Philosophi%C3%A6_Naturalis_Pri... [5] https://en.wikipedia.org/wiki/Turbulence#Kolmogorov.27s_theory_of_1941 https://en.wikipedia.org/wiki/Turbulence#Kolmogorov.27s_theo... [6] https://en.wikipedia.org/wiki/Lattice_gas_automaton https://en.wikipedia.org/wiki/Lattice_gas_automaton ; http://www.wolframscience.com/nksonline/page-378#previous http://www.wolframscience.com/nksonline/page-378#previous [7] https://en.wikipedia.org/wiki/Lattice_Boltzmann_methods https://en.wikipedia.org/wiki/Lattice_Boltzmann_methods [8] https://en.wikipedia.org/wiki/Principia_Mathematica https://en.wikipedia.org/wiki/Principia_Mathematica
- omaranto 13y agoI have to say, that last bit about not getting paid to write this comment on HN made me wonder what percentage of comments on HN are paid for. I never thought about it; I guess if asked I would have guessed 0%, but you never know...