# 2024-08-21 - Patterns, Programs, and Wolfram at a Messy Desk ![[resources/images/patterns-programs-wolfram-messy-desk.jpg]] Here I am, sitting at my extraordinarily messy desk on August 21, 2024, which always seems to be overflowing with books, papers, electronics, cables, notebooks, coffee, and whatever else has migrated into my immediate orbit. August 21 has always been a special day, and what I normally do on this day has been interrupted, so I decided I needed to deliberately put myself into a better mood by getting back to my roots and interests. My solution was wonderfully predictable: spend some time listening to one of my all-time favorite peeps, Stephen Wolfram. Wolfram has occupied a place in my personal superstar lineup for as long as I can remember, somewhere in that intellectual constellation with [[wiki/Marvin Minsky|Marvin Minsky]], [[wiki/Ray Kurzweil|Ray Kurzweil]], [[wiki/Douglas Hofstadter|Douglas Hofstadter]], and the other people whose work made computation feel less like a collection of machines and more like a new epistemology. I have been an ardent supporter of Wolfram's work for decades, not merely because of Mathematica or his accomplishments as a physicist and software designer, but because he has persistently insisted upon something much more radical: that **computation itself may be one of the fundamental conceptual languages through which reality becomes intelligible**. Today's live *History of Science and Technology Q&A* turned out to be an especially good choice because Wolfram began with something unexpectedly personal. He was thinking about his own history and the strange retrospective problem of understanding how intellectual work actually happens. We like biographies organized around epiphanies—the apple falling, the sudden flash, the afternoon when somebody supposedly *had the idea*—but Wolfram described something much closer to what I recognize from my own life: years or decades of apparently disconnected work assembling tools, intuitions, techniques, and conceptual machinery that only later reveal themselves as prerequisites for something that seems, in retrospect, almost inevitable. A breakthrough may appear punctate from outside while being developmentally continuous from inside. The visible insight is often merely the moment when a long accumulation finally crosses a threshold. Wolfram described discovering that things he was able to do later had depended upon tools and habits of thought he had acquired ten years earlier, often without realizing at the time what those capabilities would eventually permit. That is a beautiful way of thinking about invention because it replaces the mythology of isolated genius with something more interesting: **intellectual development as path dependence**. His own transition from physics into computation is a perfect example. Traditional physics had trained him to begin with nature as given and work backward: observe the world, decompose it, infer its constituents, identify the underlying mechanisms. But while building SMP, the precursor to [[wiki/Mathematica|Mathematica]], he was simultaneously learning the inverse operation. A computational system begins with primitive elements and rules and asks what can be constructed from them. Analysis runs downward from phenomena toward primitives; synthesis runs upward from primitives toward possible phenomena. Somewhere in the collision between those two habits of thought, Wolfram realized that instead of merely asking which mechanism nature happened to choose, one could **enumerate possible computational rules and simply see what they do**. That methodological inversion became central to his exploration of [[wiki/Cellular Automata|cellular automata]]: rather than presupposing which rules should produce interesting behavior, traverse the rule space and observe the structures that emerge. This is one of those places where the word **pattern** can mislead people because it sounds almost decorative, as though he means visual motifs. Wolfram usually means something much deeper. A pattern can be a configuration in a state space, a structural relationship among symbolic expressions, a recurring computational trajectory, an equivalence class, or an output generated by repeated application of a transformation rule. In Wolfram Language, the idea becomes almost literal: expressions possess structure, rules match portions of that structure, and computation occurs through transformations of expressions matching specified patterns. A blank in a function definition is not merely an empty slot; it specifies a class of expressions capable of participating in a transformation. Once this becomes intuitive, computation begins to look less like a machine executing a numbered sequence of instructions and more like a continually evolving landscape of **structural substitutions**. There is a family resemblance here to permutations, combinatorial search, [[wiki/Genetic Algorithm|genetic algorithms]], and [[wiki/Evolutionary Algorithms|evolutionary algorithms]], although they should not be collapsed into one another. A permutation explores possible arrangements. Exhaustive enumeration explores a defined possibility space. A genetic algorithm samples such a space selectively, introducing variation through mutation and recombination while allowing an [[wiki/Objective Function|objective function]] or fitness criterion to determine which candidates persist. Wolfram's characteristic move is often more austere and, philosophically, more provocative: **remove as much human judgment as possible at the beginning and inspect the computational universe itself**. Enumerate simple rules, run them, and discover that behavior which looks complicated, organized, or surprising need not have been placed there by the programmer. This is adjacent to [[wiki/Artificial Life|artificial life]], [[wiki/Self-Organization|self-organization]], [[wiki/Emergence|emergence]], and [[wiki/Complexity|complexity]], but the emphasis is different. A genetic algorithm asks which members of a population survive a selection process; Wolfram often asks what the members of the rule universe are intrinsically capable of doing before selection has told us which ones we should care about. That distinction matters enormously. If the search space is sufficiently large, most human reasoning about what ought to be interesting becomes a form of premature filtering. Wolfram's cellular-automaton work made an intellectual virtue out of systematic exploration: try the small programs people would ordinarily dismiss as trivial and discover that some of them unfold into behavior whose complexity could never have been confidently predicted by staring at the rule. There is something almost Darwinian about this way of thinking, though again it is not automatically [[wiki/Darwinian Evolution|Darwinian evolution]]. The common substrate is **variation across possibility space**. Darwin gives variation differential reproductive success; [[wiki/Genetic Algorithm|genetic algorithms]] computationalize variation and selection; Wolfram's rule-space explorations can precede selection altogether and ask what forms are latent in the space of possible rules. In each case, however, one learns to stop assuming that complexity must be designed in its final form. Complicated organization can be generated by repeated local operations acting over time. He gave a wonderfully concrete version of this mindset when discussing his search for the simplest axiom system for Boolean algebra. Instead of waiting for the perfect human proof strategy to descend from heaven, he searched through possible simple axiom systems because experience had given him the intuition that an unexpectedly compact one probably existed. He found one, and [[wiki/Automated Theorem Proving|automated theorem proving]] established that it worked. The delicious complication was that the machine-generated proof was effectively opaque to human intuition. It could be checked, but checking that a derivation is valid and understanding *why* something is true are not identical cognitive achievements. That leads directly into [[wiki/Formal Systems|formal systems]], [[wiki/David Hilbert|David Hilbert]], the [[wiki/Hilbert Program|Hilbert Program]], and eventually [[wiki/Kurt Gödel|Gödel]], because twentieth-century mathematics repeatedly encountered the difference between a formal system manipulating valid symbols and a human mind constructing explanatory meaning from those manipulations. Wolfram spent a substantial portion of the discussion tracing this history through formalization, type systems, Russell, Whitehead, Hilbert, proof checking, and the increasingly computational treatment of mathematics. His resistance to heavily typed systems is revealing because it reflects the same philosophical preference visible elsewhere in his work. He does not want structure imposed sooner than structure is necessary. In a strongly typed system, an object is admitted into a predefined category and its allowable operations are constrained accordingly. In Wolfram's symbolic model, the head of an expression can participate in a pattern specifying how transformations occur without requiring the entire conceptual universe to be rigidly partitioned in advance. Hardware eventually demands concrete representations—integers, floating-point numbers, memory layouts—but those requirements can be treated as lower-level implementation constraints rather than the ontology in which one must think. That discussion folded beautifully into the history of units and dimensional analysis. A unit is another kind of semantic constraint attached to a quantity, and dimensional analysis can occasionally reveal an answer almost before one possesses a constructive theory of the phenomenon. Wolfram moved from Babylonian standardization of weights and measures through metric and SI systems into Reynolds numbers, fluid similarity, electromagnetism, temperature, and the peculiar history of quantities that civilization gradually learned how to make commensurable. What interested me was the deeper computational analogy: **representation determines which transformations remain meaningful**. Whether one is talking about meters and seconds, integers and floating-point numbers, symbolic heads and arguments, or variables participating in equations, a representational system is never merely notation. It defines a space of legitimate operations. Later he returned directly to the origin of his idea of transformations on symbolic expressions. Part of it came from watching what humans actually do when manipulating algebra: we recognize structures and transform them into other structures. Part came from mathematical logic, term rewriting, combinators, and the attempt to abstract those operations into something sufficiently general to serve as a computational language. I loved his story about Richard Feynman because it exposes two different models of intelligence. Feynman could perform formidable calculations and then construct an elegant intuitive explanation that made the result look obvious. Wolfram was fascinated by the opposite division of labor: let the computer perform the relentless mechanical calculation and reserve human cognition for discovering the conceptual structure. That separation now seems almost prophetic in the age of [[wiki/Artificial Intelligence|artificial intelligence]]. Computation can explore spaces whose combinatorics overwhelm unaided cognition, while human intelligence can move upward toward interpretation, ontology, analogy, explanation, and increasingly toward the design of the search itself. His remarks about [[wiki/Machine Learning|machine learning]] were particularly interesting in this respect. He has recently returned to very simple models that he thinks expose something fundamental about why machine learning works and realized that he had studied remarkably similar systems around 1985. The missing ingredient was not necessarily another theorem; it was decades of accumulated intuition produced by actually building and using [[wiki/Artificial Neural Networks|neural networks]], machine-learning systems, and computational tools. The same mathematical object can therefore become cognitively different when approached by a mind carrying a richer internal model. Knowledge is not simply possession of propositions. It is **the reconfiguration of the observer such that previously inert propositions become generative**. That may be one of the most important things he said today. His discussion of lazy evaluation made the same issue appear at the level of computation itself. When should a symbolic object be evaluated? Immediately, all the way down until no transformations remain, or only when its value becomes necessary? Evaluation strategy sounds like a technical implementation detail until one notices that it is really a theory of **when information should become explicit**. Sometimes computation performed too early is wasted because later structure makes the answer irrelevant; sometimes delaying evaluation prevents the system from seeing simplifications that would have become obvious had the values been known. The broader lesson is not merely about programming. Intelligent systems constantly negotiate the same boundary between maintaining unresolved possibility and collapsing possibility into a determinate state. The final minutes may have been my favorite because Wolfram widened the lens from programming into cognition itself. Human language is already a formalization of reality: instead of pointing to a particular tree, we possess the abstract category *tree*. Logic introduces another layer of formalization; mathematics another; computational language another. Wolfram's suggestion is that computation gives us a mode of thought that human beings did not previously possess in anything like its current explicit form. Once sufficiently fluent, a person can begin thinking computationally in something like the way one thinks linguistically, constructing executable structures almost below the level of conscious verbal narration. From there he speculated about what might come next. Animals may possess something analogous to isolated conceptual tokens; humans can compose words into sentences; perhaps a future cognitive layer would allow us to **compose entire paradigms** with the fluidity with which we now compose words. That thought stayed with me. It connects strangely well to Hofstadter's [[wiki/Strange Loops|strange loops]], [[wiki/Gödel, Escher, Bach|Gödel, Escher, Bach]], Minsky's architectures of mind, Kurzweil's long trajectory of cognitive exteriorization, and the deeper history of [[wiki/Programming Languages|programming languages]] as extensions of thought rather than merely instructions for machines. We usually describe computers as devices that calculate on our behalf. That increasingly seems like an impoverished description. Writing changed memory. Mathematics changed abstraction. Scientific instrumentation changed perception. Networks changed coordination. Computation may be changing the **dimensionality of thought itself**, allowing us to investigate spaces of possibilities, transformations, and relationships that biological intuition alone could never hold simultaneously. So perhaps watching Wolfram was exactly the right thing to do on this peculiar August 21. I started the afternoon trying to change my mood and ended up thinking about the developmental history of ideas, possibility spaces, symbolic transformations, [[wiki/Evolutionary Algorithms|evolutionary search]], [[wiki/Formal Systems|formal systems]], [[wiki/Machine Learning|machine learning]], and the possibility that future minds may manipulate whole paradigms as readily as we manipulate sentences. Not bad company for an interrupted tradition and an absurdly messy desk. And there is something reassuring in Wolfram's opening reflection that the important things often do not announce themselves while they are being assembled. A tool built today may become the prerequisite for an insight ten years from now. A question abandoned in 1985 may become answerable in 2024 because the person returning to it is no longer computationally, conceptually, or intuitively the same person. **We do the next thing, accumulate the machinery, and only later discover the larger trajectory we were constructing.** --- For anyone who wants to check out any of these books, I’ve included the list below. ## Books on the Desk — Bibliographic List 1. **_Electronic Display Measurement: Concepts, Techniques, and Instrumentation_** — **Peter A. Keller**. Wiley-Interscience, 1997; 1st edition; _Wiley/SID Series in Display Technology_. **ISBN-10:** 0-471-14857-1. **ISBN-13:** 978-0-471-14857-9. 2. **_Digital Image Processing Using MATLAB_** — **Rafael C. Gonzalez, Richard E. Woods, and Steven L. Eddins**. Pearson Prentice Hall, 2004; 1st edition. **ISBN-10:** 0-13-008519-7. **ISBN-13:** 978-0-13-008519-1. This is the original Prentice Hall edition rather than the later Gatesmark editions. 3. **_Graphics and GUIs with MATLAB_** — **Patrick Marchand and O. Thomas Holland**. Chapman & Hall/CRC, 2003; **3rd edition**. **ISBN-10:** 1-58488-320-0. **ISBN-13:** 978-1-58488-320-3. 4. **_Electromagnetic Fields_** — **Roald K. Wangsness**. John Wiley & Sons, 1979; **1st edition**. **ISBN-10:** 0-471-04103-3. **ISBN-13:** 978-0-471-04103-0. The photographed cream hardcover corresponds to the original 1979 edition; the later 1986 second edition carries ISBN 0-471-81186-6. 5. **_Optics_** — **Eugene Hecht and Alfred Zajac**. Addison-Wesley Publishing Company, 1974; **1st edition**. **ISBN-10:** 0-201-02835-2. **ISBN-13:** 978-0-201-02835-5. The black Hecht–Zajac binding in the photograph is the original 1974 design, not Hecht's later solo editions. 6. **_Semiconductor Material and Device Characterization_** — **Dieter K. Schroder**. Wiley-IEEE Press, 2006; **3rd edition**. **ISBN-10:** 0-471-73906-5. **ISBN-13:** 978-0-471-73906-7. The “Third Edition” marking is visible at the far right of the spine. 7. **_Geometrical and Physical Optics_** — **R. S. Longhurst (Richard Samuel Longhurst)**. Longman, 1973; **3rd edition**. **ISBN-10:** 0-582-44099-8. **ISBN-13:** 978-0-582-44099-9. 677 pages. 8. **_Principles of Optics: Electromagnetic Theory of Propagation, Interference and Diffraction of Light_** — **Max Born and Emil Wolf**. Pergamon Press, 1980; **6th edition**. **Hardcover ISBN-10:** 0-08-026482-4. **ISBN-13:** 978-0-08-026482-0. 808 pages. The companion flexicover ISBN is 0-08-026481-6, but this volume is the hardcover binding. 9. **_Optics and Lasers: Including Fibers and Optical Waveguides_** — **Matt Young**. Springer-Verlag, 1986; **3rd edition**; _Springer Series in Optical Sciences, Vol. 5_. **North American ISBN-10:** 0-387-16127-9. **ISBN-13:** 978-0-387-16127-3. The corresponding Springer Berlin ISBN is **3-540-16127-9 / 978-3-540-16127-1**. 10. **_Detection of Optical and Infrared Radiation_** — **Robert Hildreth Kingston**. Springer-Verlag, 1978; 1st edition; _Springer Series in Optical Sciences, Vol. 10_. **ISBN-10:** 0-387-08617-X. **ISBN-13:** 978-0-387-08617-0. 11. **_Optical Shop Testing_** — **Daniel Malacara, editor**. John Wiley & Sons, 1978; **1st edition**. **ISBN-10:** 0-471-01973-9. **ISBN-13:** 978-0-471-01973-2. The black cloth spine, blue vertical **MALACARA**, white title, and Wiley mark match the 1978 first-edition binding. 12. **_Linear Systems, Fourier Transforms, and Optics_** — **Jack D. Gaskill**. John Wiley & Sons, 1978; 1st edition; _Wiley Series in Pure and Applied Optics_. **ISBN-10:** 0-471-29288-5. **ISBN-13:** 978-0-471-29288-3. 13. **_Optical Radiation Detectors_** — **Eustace L. Dereniak and Devon G. Crowe**. John Wiley & Sons, 1984; _Wiley Series in Pure and Applied Optics_. **ISBN-10:** 0-471-89797-3. **ISBN-13:** 978-0-471-89797-2. 14. **_Statistical Concepts and Methods_** — **Gouri K. Bhattacharyya and Richard A. Johnson**. John Wiley & Sons, 1977; 1st edition; _Wiley Series in Probability and Mathematical Statistics_. **ISBN-10:** 0-471-07204-4. **ISBN-13:** 978-0-471-07204-1. The original bibliographic record is 1977, although later Wiley catalog records sometimes assign the still-current ISBN to a 1991 issue or reprint. 15. **_Introduction to Statistical Quality Control_** — **Douglas C. Montgomery**. John Wiley & Sons, 1996; **3rd edition**. **ISBN-10:** 0-471-30353-4. **ISBN-13:** 978-0-471-30353-4. The third-edition designation is clearly visible on the spine.