Insight Editions · No. 238
Fluid Concepts and Creative Analogies
Computer Models of the Fundamental Mechanisms of Thought
Douglas Hofstadter and the Fluid Analogies Research Group
Fifteen years of FARG models, from Jumbo and Seek-Whence to Copycat, Tabletop and Letter Spirit, arguing that cognition is analogy-making and analogy-making is high-level perception.
A study guide to Fluid Concepts and Creative Analogies by Douglas Hofstadter and the Fluid Analogies Research Group. Shared free for personal reading; not for sale and not endorsed by the authors or publishers. Please read and buy the original.

Analogy-making is the core of cognition, and it is high-level perception: concepts with fuzzy halos that slip under pressure, explored by many tiny, parallel, randomised codelets rather than by search over hand-built representations.
Ten FARG models and essays: Seek-Whence, Jumbo, Numbo, Copycat, Metacat, Tabletop, Letter Spirit; critiques of SME, ACME, BACON and the Eliza effect; creativity, credit and the Turing Test. 21 sections: 10 chapters, 9 prefaces, prologue and epilogue.
Douglas Hofstadter, Melanie Mitchell, Robert French, Gary McGraw, Daniel Defays, David Chalmers, Marsha Meredith; rivals and foils Dedre Gentner, Holyoak and Thagard, Herbert Simon, Doug Lenat, Joseph Weizenbaum.
Anyone building or judging AI that claims to understand: the clearest account of why representation-building, not mapping or search, is the hard part, and the best lens on what LLMs do and still miss.
Douglas Hofstadter and the Fluid Analogies Research Group's Fluid Concepts and Creative Analogies (1995) gathers fifteen years of FARG research into a single argument, told chronologically through its computer models and framed by Hofstadter's prefaces. Its thesis is that cognition is analogy-making, analogy-making is high-level perception, and both can be modelled only by architectures in which concepts are fluid and representations are built on the fly by many small, competing, randomised processes. Every program works in a deliberately tiny microdomain (number sequences, anagrams, arithmetic, letter strings, a café table, gridfonts) so that the mechanisms of thought, not the facts of the world, stay in view.
- Pattern perception is the core of intelligence. Seek-Whence grew from Hofstadter's sequence hobby: finding a pattern means perceiving a sequence, chunking it, noticing sameness and successorship, and revising the view under pressure, never searching a space of formulas.
- Subcognition, codelets and temperature. Jumbo (1982–83) introduced the machinery every later model uses: a Coderack of tiny codelets chosen with probability set by urgency, letters that spark, bond and glom, a parallel terraced scan, and a global temperature that sets how random the program is allowed to be.
- Declarative knowledge plus a working space. Numbo (Defays) pairs a permanent network of arithmetic facts, the Pnet, with a cytoplasm where bricks and blocks combine, and solves Le compte est bon the way people do, by noticing and chunking.
- The Eliza effect and the representation problem. Hofstadter and Chalmers, French and Hofstadter attack SME, BACON and ACME: they map hand-made predicate-logic representations that already contain the answer, so their "understanding" of heat flow or Kepler's laws is the reader's, not the program's. High-level perception cannot be separated from analogy.
- Copycat is the centre. For problems such as abc ⇒ abd; ijk ⇒ ? and abc ⇒ abd; xyz ⇒ ?, a Slipnet of concepts with depths and halos, a Workspace of descriptions, bonds, groups and bridges, a Coderack, and temperature let answers like wyz emerge from 1,000 runs as statistics, with frequency and final temperature telling obviousness from quality.
- Toward self-awareness. Copycat cannot see itself; Metacat would watch its own moves, remember snags and explain its answers, because full-scale creativity needs a mind that notices what it is doing.
- Tabletop and style. French's Tabletop shows a stochastic personality on a café table and forces the question of how to evaluate such models without averaging away individual style; Letter Spirit (with McGraw) aims at creativity itself: designing all 26 letters in one spirit from a few seeds, via roles, norm-violations and an Imaginer, Drafter, Examiner and Abstractor in a loop.
- Credit and the Turing Test. The Epilogue finds that "creative" programs (Aaron, Racter, AM) owe their apparent creativity to human selection, and argues that credit belongs to a program only when it perceives and judges its own output.
Section map
| # | Section | One-line payload |
|---|---|---|
| Pr | The Why, the When, the Where, and the Who of This Book | FARG's history, people and double-stranded goals; the book in a nutshell |
| 1 | To Seek Whence Cometh a Sequence | Sequence extrapolation as pure pattern perception; the seeds of every later model |
| P2 | The Unconscious Juggling of Mental Objects | Introspecting on anagrams: letters glom into word-like chunks |
| 2 | The Architecture of Jumbo | Codelets, Coderack, urgency, terraced scan, temperature, against the Boolean Dream |
| P3 | Arithmetical Play and Nondeterminism | Defays's year in Ann Arbor; skilled estimators are inconsistent |
| 3 | Numbo: A Study in Cognition and Recognition | Pnet plus cytoplasm solve Le compte est bon like a person |
| P4 | The Ineradicable Eliza Effect and Its Dangers | Programs credited with understanding they do not have |
| 4 | High-level Perception, Representation, and Analogy | BACON and SME skip perception by hand-coding representations |
| P5 | Conceptual Halos and Slippability | Roles that splinter, words that shatter, halos that overlap |
| 5 | The Copycat Project | Slipnet, Workspace, Coderack, temperature; 1,000-run statistics |
| P6 | Two Early AI Approaches to Analogy | Evans's ANALOGY and Reitman's Argus pointed the way |
| 6 | Perspectives on Copycat | Copycat versus SME, ACME, symbolic AI and connectionism |
| P7 | Retrieval of Old and Invention of New Analogies | Copycat on screen; inventing puzzles needs more insight than solving them |
| 7 | Prolegomena to Any Future Metacat | Copycat does not know what it is doing; self-watching as the next step |
| P8 | Analogy-making in a Coffeehouse | "Do this!" on a café table: Tabletop is born |
| 8 | Tabletop, BattleOp, Ob-Platte, Potelbat, Belpatto, Platobet | Scaling the domain in imagination to defend microdomains |
| P9 | The Knotty Problem of Evaluating Research | Averaging destroys cognitive style; eleven qualitative criteria |
| 9 | The Emergent Personality of Tabletop | 47-concept Slipnet, Worldview, structure-value; a stochastic personality |
| P10 | The Intoxicating World of Alphabets and Their Styles | Letter mania, 400 gridfonts, and the study of style |
| 10 | Letter Spirit | Seeds, roles, norm-violations; Imaginer, Drafter, Examiner, Abstractor |
| Ep | On Computers, Creativity, Credit, Brain Mechanisms, and the Turing Test | Aaron, Racter, AM; credit needs self-perception |
A short history of the Fluid Analogies Research Group (FARG), its moves from Indiana to MIT to Michigan and back, its people, its double-stranded agenda, and a map of the book that follows. Hofstadter explains why he drifted from calling himself an "AI researcher" to a "cognitive scientist", why the group calls itself "fluid", and how a decade and a half of microdomain programs (Seek-Whence, Jumbo, Numbo, Copycat, Tabletop, Letter Spirit) grew from one playful project in sequence extrapolation. The image that names the group is water's "flickering clusters": stable, fluid behaviour emerging statistically from trillions of fleeting, independent, invisible micro-events, which is exactly how FARG believes concepts and analogies arise from parallel subcognitive acts. The Prologue closes with a Post Scriptum on the sudden death of his wife Carol in December 1993.
From "AI" to "cognitive science"
The research began in 1977, when Hofstadter became an assistant professor of computer science at Indiana University and officially started doing AI. In the 1970s he embraced the term "artificial intelligence" happily: it suggested questing after the deepest secrets of the mind and expressing them as pure, abstract patterns. In the early 1980s the phrase shifted connotation toward commercial applications and expert systems, then slid further into "meaningless buzzwords and empty hype". He took refuge in "cognitive science", which stresses fidelity to what actually goes on in the mind/brain and the pure-science character of the work; only "once in a blue moon" does "AI" still creep into his speech (a phrase that becomes important a few pages later).
His first project, in sequence extrapolation, spawned the rest. In the late 1970s and early 1980s his closest co-workers were Marsha Meredith and Gray Clossman, both of whom completed PhDs under him; Meredith built Seek-Whence, which perceived linear patterns and extrapolated them, "the first large project representing our approach".
Four homes in fifteen years
In 1983 Hofstadter took a sabbatical at the MIT Artificial Intelligence Lab, courtesy of Marvin Minsky, and met "yet another MM", Melanie Mitchell, who later did her PhD with him on Copycat, a project that "had sprung largely from Seek-Whence" but aimed at creative analogical thinking. Postdoc David Rogers and graduate student Marek Lugowski were there too. Midway through the year the University of Michigan made an attractive offer; he moved in fall 1984, drawn above all by John Holland, whose "intellectual and human companionship" made the four Michigan years "unforgettably rich". That move marks the official birth of FARG, whose members call themselves FARGonauts; the "silly-sounding acronym was more or less intended to be such".
At Michigan the group lived in the old Perry Building: newcomers Bob French, Alejandro Lopez, Greg Huber, Roy Leban; Mitchell and Rogers from MIT; David Moser, officially a graduate student in Chinese, as "consultant-at-large"; Gray Clossman finishing his PhD; and Daniel (Dany) Defays visiting from Belgium for a year. Mitchell implemented Copycat, French implemented Tabletop, and Defays struck out on his own with Numbo.
In 1988 Indiana University lured him back with "an irresistible offer". Dean Mort Lowengrub gave FARG a little house of its own just off campus, officially the Center for Research on Concepts and Cognition (CRCC), though "CRCC" never flowed off the tongue like "the mellifluous FARG". Mitchell, French and Moser came along; Dave Chalmers, Gary McGraw and Jim Marshall joined; Helga Keller became Administrative Assistant "almost from Day One"; Yan Yong, Liu Haoming and later Wang Pei came from Beijing, where they had been translating Gödel, Escher, Bach. Postdocs and visitors Don Byrd, David Leake, Peter Suber and Steve Larson brought music, humour and philosophy. Mitchell and French both finished Michigan PhDs while working at Indiana. As he writes, the group is Hofstadter plus a handful of students (McGraw and Marshall deep in doctoral work, John Rehling just starting), temporarily transplanted to the Istituto per la Ricerca Scientifica e Tecnologica (IRST) outside Trento, thanks to its director Luigi Stringa.
Marsha Meredith: PhD student; built Seek-Whence, the first large FARG-style program.
Gray Clossman: early co-worker; inventor of many number-pattern puzzles; PhD under Hofstadter.
Melanie Mitchell: met at MIT in 1983; built Copycat; co-author of Chapters 5 and 6.
Bob French: built Tabletop; co-author of Chapters 4, 8 and 9; translated GEB into French.
Daniel Defays: psychologist from the University of Liège; built Numbo in 1986–87.
Dave Chalmers: co-author of the methodology critique (Chapter 4).
Gary McGraw: Letter Spirit (Chapter 10).
Jim Marshall: doctoral work on the Copycat line (later Metacat).
David Moser: "consultant-at-large"; co-researcher on errors and translation; co-dedicatee.
John Holland: Michigan colleague; the main reason for the 1984 move.
Why "fluid": hot water in a chilly Italian office
The word "fluid" puzzles some readers, but to Hofstadter it exudes flexibility, mutability, nonrigidity, adaptability, subtlety, pliancy, continuousness, smoothness, slipperiness, suppleness. Typing that list, he noticed his own fingers growing rigid and unsupple in the cold IRST office, took it as "an invitation to renew my acquaintance with the nature of fluidity", filled a sink with hot water and soaked his hands. A fluid responds to pressure by constantly changing shape; it is neither rigid and brittle like a solid nor volatile and insubstantial like a gas, and its special properties come from the invisible molecular substrate.
That brought to mind one of his favourite phrases in all of science, "flickering clusters": the theory that H₂O molecules continually form fleeting associations via the very weak hydrogen bond between the O of one and an H of another. If it is right (and "when I last read about it, this was somewhat unclear"), every droplet holds trillions of randomly shaped clusters forming and falling apart every microsecond, silently and invisibly, and from this "fantastically unstable, dynamic, stochastic substrate" the utterly stable properties of wateriness emerge.
The philosophy in one image. The familiar, stable-seeming, fluid properties of thought emerge "as a statistical consequence of a myriad tiny, invisible, independent, subcognitive acts taking place in parallel". Concepts have this fluidity, and analogies are its quintessential manifestation; hence the group's name and the book's title. Every architecture in the book (codelets, Coderack, temperature, Slipnet) is an attempt to engineer this kind of substrate.
Two strands
From the outset FARG has had two distinct strands: building detailed computer models of concepts and analogy in carefully designed, highly restricted microdomains, and observing, classifying and speculating about mental processes "in their full, unrestricted glory". The second strand is a constant source of ideas for the first.
Activities that feed FARG's intuitions about fluidity
- Translation of poetry and wordplay.
- Sexist language as a window on the structure of concepts.
- Collecting and theorising about speech errors and other natural-language phenomena.
- Observing discovery in physics and mathematics.
- Counterfactual conditionals and "frame blends".
- Creating artistic typefaces and other letter-based designs.
- Classifying jokes and analysing their deep structure.
- Musical perception and composition.
Translation is the prime example. French (into French), Lopez (Spanish), and Moser, Yan Yong, Liu Haoming, Wang Pei (Chinese) translated Gödel, Escher, Bach, a book "filled to the brim with wordplay", and the resulting discussions and articles tried to describe the mechanisms behind creative translations, which FARG claims are "very close to the mechanisms responsible for coming up with creative analogies". With Moser, at Michigan, Hofstadter also wrote on speech and action errors, from low-level spoonerisms to high-level conceptual errors "that often cannot be distinguished from creative invention".
"Once in a bloom." Revising this very Prologue, Hofstadter replaced "once in a while" with "once in a blue moon", and found "once in a bloom" on the screen. The "oo" of "moon" had jumped the gun, rather than the "m" or "n", plausibly because "oo" and "ue" encode the same vowel sound; the "m" also leapt ahead of the space and attached itself to "blue". Why there and then? He had just been writing about Ann Arbor and Bloomington, and the word "Bloomington" was still faintly active; he had typed "blue moon" many times without this slip. A tiny surface glitch revealed "a subtle confluence of subterranean factors", precisely the phenomenon FARG cares about (he half-wishes he had not noticed it so soon, to see what his fingers would have typed next).
He had proposed naming the centre the "Center for Research on Concepts, Cognition, and Creativity", but colleagues voted it down: too long, and "creativity" too vague, trendy and "new-age". FARG studies creative acts anyway. This book covers the modelling strand; one or more later volumes were planned for the speculative side, "equally important but not quite as urgent".
The book in a nutshell
The book is roughly chronological. Each chapter is preceded by a Preface by Hofstadter, written to make transitions, to allow a more informal register, and to add history, philosophy, anecdotes and personal impressions. The chapters were written independently, so terms like "codelet" and "parallel terraced scan" are defined many times, for which he offers "a deep bow of apology", but the redundancy lets each chapter stand alone.
| Ch. | Subject | Authors | Written / period |
|---|---|---|---|
| 1 | Seek-Whence: sequence perception, origins of the approach | Hofstadter | recent; covers 1977–83 |
| 2 | Jumbo: anagram-solving subcognition | Hofstadter | 1983, untouched; program working 1982 |
| 3 | Numbo: reaching arithmetic targets | Daniel Defays | 1987, untouched; built 1986–87 |
| 4 | Critique of AI methodology (high-level perception) | Chalmers, French, Hofstadter | drafted 1989, published later; Copycat section cut |
| 5 | The Copycat Project: the heart of the book | Mitchell and Hofstadter | design 1983, finished late 1990 |
| 6 | Copycat versus other analogy models and connectionism | Mitchell and Hofstadter | |
| 7 | Toward Metacat | Hofstadter | afterword to Mitchell's 1993 book |
| 8–9 | Tabletop and the nature of microdomains | French and Hofstadter | 1986–91 |
| 10 | Letter Spirit: gridfonts | McGraw and Hofstadter | incipient work |
| Epilogue | Other creativity programs, credit for discovery, the Turing Test | Hofstadter |
Chapter 1 also shows "glimmerings" of later architectures, and slightly earlier ones appear in the Bongard-problem sketch in Chapter 19 of GEB. Jumbo was "the first of all our computer projects that was brought to a reasonable level of realization", in 1982. Numbo, by Defays of the University of Liège, models people exploring arithmetic combinations of a few numbers to hit a target exactly: "an elegant and charming piece of work". Chapter 4's thrust is that AI shows "far too little respect for cognitive science and philosophy". Chapter 5 describes Copycat's architecture, its philosophical justification, many runs seen from "very close up" and "far back", and the architecture's virtues as a model of "the crux of cognition". Letter Spirit, FARG's most ambitious model, asks a program to imbue all 26 lowercase letters with one visual style, a task "permeated by scads of creative mini-breakthroughs". The Epilogue asks when credit for a discovery should go to a program rather than its authors, and relates FARG's views to the Turing Test.
Acknowledgments and dedication
Bob Bolick of Harvester-Wheatsheaf wrote "quite out of the blue" from England in 1989 proposing the compilation, planned it with Hofstadter for three years, then left to run his own line; Farrell Burnett took over. At Basic Books, Martin Kessler was enthusiastic until he too left for a line of his own, and Kermit Hummel stepped in, bringing Theo Lipfert and Vivian Selbo of Acme Art, who "saved the book from what might otherwise have been typographical oblivion".
Funders: National Science Foundation, Indiana University, University of Michigan
Deans: Peter Steiner (Michigan) and Mort Lowengrub (Indiana), "enormously generous and unconstrained" support
MIT: Marvin Minsky, financial and intellectual support in 1983–84
Start-up money: Mitchell Kapor and Ellen Poss, via the Kapor Family Foundation and Lotus Development Corporation ("FARG simply couldn't have gotten started without it")
Lean times: Larry Tesler and Barbara Bowen channelled Apple Computer's external research funds
Sounding boards include: Paul Smolensky, Scott Kim, Gilles Fauconnier, Valentino Braitenberg, Pentti Kanerva, Maggie Boden, Jay McClelland, Daniel Kahneman, Bob Axelrod, Dave Touretzky, Dedre Gentner and some thirty others
Dedication: David Moser and Melanie Mitchell, "unquestionably" his two most important intellectual influences of the previous ten years
Signed: Povo, Italy, September 1993
His family, wife Carol and children Danny (5) and Monica (2), had put up with his "weird nocturnal hours" and could "finally look forward to a more normal presence of 'Babbo'".
Post Scriptum. On December 22, 1993, in Verona, Carol Ann Brush Hofstadter died in a coma, ten days after emergency brain surgery; a week before the operation nobody had suspected anything was wrong, and the family had spent three joyous months travelling in Italy. Hofstadter mourns less his own loss than hers: the chance to watch her children grow up and "all our shared hopes and dreams". Carol had long wanted this book to appear, and "her continuing inspiration" helped him finish it.
Critical lens. (1) The Figure P-1 caption gives water's H-O-H bond angle as 107 degrees; the accepted value is about 104.5 degrees (107 is closer to the ideal tetrahedral angle of 109.5). (2) The flickering-cluster picture of liquid water, due to Frank and Wen, was always a model rather than an established fact, as Hofstadter half-admits ("somewhat unclear"); the structure of liquid water is still debated, so it works as a metaphor, not as physics FARG relies on. (3) The Prologue says Chapter 4's original final section on Copycat was cut to avoid redundancy, so the chapter as printed ends by setting the stage rather than delivering the promised model; Chapter 5 must be read as its continuation.
What happened next. The volume appeared in 1995 and is remembered for a non-scientific reason: it was the first book ordered by an Amazon.com customer (John Wainwright, April 1995). FARG kept producing doctoral models under Hofstadter at Indiana: Metacat (James Marshall, 1999), Phaeaco on Bongard problems (Harry Foundalis, 2006), Seqsee on number sequences (Abhijit Mahabal, 2010) and Musicat on melody (Eric Nichols, 2012). Hofstadter and Emmanuel Sander's Surfaces and Essences (2013) restated the book's thesis at full scale: analogy is the core of cognition. In 2023, after GPT-4, Hofstadter said the rapid progress had made some of his core beliefs about AI's limits "collapse". For an architect, the Prologue's lesson is methodological: the group alternated naturalistic observation (errors, translations) with tiny controlled testbeds, the same loop that today's evaluation-driven LLM work rediscovers with failure-case collections and synthetic benchmarks.
Hofstadter's origin story for the whole FARG enterprise: how a teenage obsession with number sequences became a research program, and how that program shed its mathematics until only "pure" pattern perception was left. He re-enacts his first discovery (the self-describing triangles-between-squares sequence), recounts a class contest in sequence extrapolation, then explains why brute search and expert knowledge felt wrong and why esthetics, segmentation and unification felt right. The stripped-down Seek-Whence microworld (small integers, sameness, successorship, grouping, counting), its music-inspired puzzles, and the program Marsha Meredith built from it lead to a sketch of a parallel, probabilistic, multi-level perceptual architecture in which analogy-making is the core act. If pattern-finding is the core of intelligence, and analogy-making is the core of pattern-finding, then analogy-making lies at the heart of intelligence: the single claim that every later chapter works out in a small, carefully designed domain.
Pattern-finding as the core of intelligence
In 1977 Hofstadter began as a computer-science professor with "modest" goals, "at least in number": to uncover the secrets of creativity and of consciousness by modelling both on a computer. "Good goals. Not easy." As a math major he had become convinced that pattern-finding was "close to the core, if not the core, of intelligence". He loved devising problems that threw up unexpected number sequences whose pattern was clear but not completely clear, which "acted as powerful lures".
His method was an oscillation among calculation, guesswork and revision: compute a few terms, guess, compute more, have the guess confirmed or "thrown for a loop", guess again. The best sequences had rules so clever that "I could never have invented it myself", although he had indirectly created them by inventing the problem. So his first AI domain was obvious: a program that would "seek whence" a sequence came, finding the rule that lets a finite pattern be extended indefinitely, and doing it as he had: a few terms at a time, guessing, revising.
Triangles between squares
The triangular numbers (1, 3, 6, 10, 15, 21, 28, 36, 45, 55, 66, 78, 91...) are sums of the first n natural numbers (15 = 1+2+3+4+5); the squares are, less obviously, sums of the first n odd numbers (25 = 1+3+5+7+9). Curious about how the two sequences interleave, the sixteen-year-old Hofstadter wrote them in order (counting 1 and 36, which are both, twice, the square to the left of the triangle) and counted the triangles between successive squares.
Consider what one expects after "2, 1, 2". We are not in a random context: a mathematical origin promises order, and we carry built-in prejudices for simplicity and elegance. Most people would guess a cycle, [2 1]; another plausible guess is [2 n] with n counting up (2 1 2 2 2 3...).
Packets, templates and the dot-dot-dot. A packet (written in parentheses) is a hypothesised local group, "a kind of perceptual overlay" that makes sense of one region. A template (square brackets) is a hypothesis about the whole sequence, a composite of infinitely many packets. The "..." is itself a raw pattern used as if it were a rule, slightly self-undermining in a chapter about rules versus patterns. Hofstadter licenses it only where a "reasonable human" would find the extrapolation blatantly obvious: exact repetition of a chunk, or a simple counting element. He would never write "2, 1, 2, 2 ..." as if the continuation were unique.
The fourth term (1) kills [2 n] but leaves [2 1]. Infinitely many continuations remain (7 or 777 would shock anyone mathematical; a 3, giving (2 1 2 1)(3 1 3 1)(4 1 4 1)..., is conceivable but unsupported), and byzantine guesses with a variable that controls both content and length of the template are "idle speculation". Better to do what he did: get more terms. With 2 1 2 1 1, the obvious guess is a growing run of 1's, (2 1)(2 1 1)(2 1 1 1)..., or equivalently (2)(1 2)(1 1 2)... With a degenerate first packet. Logically these are the same hypothesis; psychologically they are different, they "give rise to slightly different feelings in the head" and different variations. The ability to make this kind of perceptual regrouping is "a very deep part of the acts of discovery and creativity."
Mathgod
A third guess, (2)(1 2)(1 1 2 2)(1 1 1 2 2 2)... (n 1's followed by n 2's), "somehow starts out wrong": its first packet should be empty but holds a lone 2. That is suspicious because "Mathgod", the abstraction behind mathematical patterns, "likes perfect patterns, not imperfect ones". Some patterns do stumble at the start and then run perfectly, "like an Olympic skater who falls at the beginning", but other things being equal a blemishless pattern is preferred.
Eight terms (2 1 2 1 1 2 1 2) kill those guesses. Candidates now include the boring repeating five-term template [2 1 2 1 1], and, because the eight terms form a palindrome 2121-1212, symmetric packets: (21-21-12-12) repeated, or growing versions such as (21-21-12-12)(21-21-21-12-12-12)... Or (212-11-212)(212-111-212).... "Very pretty", but "way out on a limb". The ninth term shoots all three down. It now looks as if only 1's and 2's occur, 2's always alone, 1's alone or in pairs; a template cutting between successive 1's, (2-121-1212)..., is elegant but wrong.
| Terms seen | Hypothesis (packets or template) | Fate |
|---|---|---|
| 2 1 2 | cycle [2 1]; counting template [2 n] | [2 n] dies at the fourth term |
| 2 1 2 1 | [2 1] survives; an upward move (2 1 2 1)(3 1 3 1)(4 1 4 1)... | little evidence; "idle speculation" for the two-level variable |
| 2 1 2 1 1 | growing runs of 1's: (2 1)(2 1 1)(2 1 1 1)... Or (2)(1 2)(1 1 2)... | killed by the sixth to eighth terms |
| 2 1 2 1 1 | (2)(1 2)(1 1 2 2)(1 1 1 2 2 2)... | suspect from the start: blemished first packet |
| 2 1 2 1 1 2 1 2 | repeating [2 1 2 1 1]; palindrome packets (21-21-12-12) repeated or growing; (212-11-212)(212-111-212)... | all three shot down by the ninth term |
| 2 1 2 1 1 2 1 2 1 | cut between successive 1's: (2-121-1212)... | "quite an elegant idea", refuted by the next term |
| hundreds of terms | alternation of 112 with 12 or 1212; lengths halved; 21's between 211's | confirmed for 53 derived terms, then thousands, then proved |
The table is the chapter's argument in miniature: every rejected hypothesis was a reasonable regrouping, and progress came less from new facts than from re-seeing the same terms under new boundaries.
A discovery re-enacted, warts and all
From here Hofstadter follows his actual records, kept even at sixteen, rather than an idealised path. In retrospect, he notes, one always remembers discoveries as quick and trivial because one looks back "with exactly the right set of concepts and exactly the right amounts of emphasis": exactly what one lacked at the time. The records show "clutter and confusion just about everywhere".
The real route. (1) Many terms by hand showed an oscillation between a "112" group and either "12" or "1212"; the initial "212" was an annoying anomaly. (2) The 12/1212 alternation looked regular, then broke after ten or fifteen more terms ("Darn!"). (3) He replaced each group by its length (12 → 2, 1212 → 4; the leading 212 a dubious 3 or 2), needing about 100 terms of the original for 15 of the derived sequence, cranked out on his father's Friden mechanical calculator; the result looked just as chaotic. (4) He changed the initial 3 to 2, making all terms even, then divided by two: mathematically trivial, psychologically enormous. The derived sequence of 1's and 2's looked like the original. (5) Suspicious of so unlikely an idea, he computed 450 terms, giving 53 derived terms, all matching. (6) Reflection cleaned it up: count 21's between 211's, which removes the leading-term problem since the first 21 is not between two 211's. (7) Records later revealed he had at first forgotten 1 is triangular, so his sequence had begun "112112" with an inexplicable empty gap, another blemish fixed early.
A magical aperiodic pattern
The rule was circular (it defines the sequence in terms of itself) yet meaningful: from a couple of terms you can generate more, then more, "like getting something out of nothing". A simpler idea, counting 1's between 2's, gave a sequence that resembled the original but differed (dropping its first four terms gave "2121121212112", a tantalising match that soon failed). Applying that operation twice worked: the "second derivative" matched as far as he looked, and he quickly saw that two rounds of counting 1's between 2's is the same as counting 21's between 211's.
Why it cannot be periodic. Suppose the sequence had period 100. Counting 21's between 211's inside one period would yield a derived block of roughly 12 terms that also repeats; but the derived sequence is the original, so the period would be 12, not 100. Whatever period you assume, the argument proves a shorter one: the assumption of periodicity undermines itself. The rule describes "something complex and elusive, much harder to pin down than mere repetition".
His first serious computer program verified the identity for several thousand terms; a few months later he proved it, "after slowly working out the appropriate concepts". The discovery launched years of obsession: he invented hundreds of sequences with far more tangled recursive properties, yet "there was something beautiful about this 'first love' that no other discovery ever quite equaled".
# Triangles between squares: build the sequence, then check its self-description.
def triangles_between_squares(n_squares):
sq = [k * k for k in range(1, n_squares + 1)]
tri = [t * (t + 1) // 2 for t in range(1, 2 * n_squares)]
# a square equal to a triangle sits to the LEFT of it, so use a <= t < b
return [sum(1 for t in tri if a <= t < b) for a, b in zip(sq, sq[1:])]
def count_21s_between_211s(seq):
runs, i, s = [], 0, ''.join(map(str, seq))
while i < len(s): # each chunk is a 2 followed by 1s
j = i + 1
while j < len(s) and s[j] == '1':
j += 1
runs.append(j - i - 1) # 1 -> "21", 2 -> "211"
i = j
out, count = [], None
for r in runs:
if r == 2:
if count is not None:
out.append(count)
count = 0
elif count is not None:
count += 1
return out
seq = triangles_between_squares(800)
derived = count_21s_between_211s(seq)
print(''.join(map(str, seq[:40])))
print(''.join(map(str, derived[:40])))
print("identical for", len(derived), "terms:", derived == seq[:len(derived)])
A class contest in sequence extrapolation
At first Hofstadter wanted the whole of mathematical pattern search: squares, cubes, powers, primes, Fibonacci numbers, factorials and "all sorts of variants and combinations", with the recursive triangles-between-squares rule as a later, "more sophisticated" goal (an opinion he would completely reverse). Teaching his first AI course, he turned the project into a contest: at semester's end every student, and the professor, would submit a sequence-extrapolation program.
| Sequence shown in class | Rule |
|---|---|
| 1, 2, 2, 3, 3, 3, 4, 4, 4, 4, ... | n copies of n (with or without 0) |
| 2, 3, 3, 5, 5, 5, 7, 7, 7, 7, 11, ... | n copies of p(n), the nth prime |
| 1, 1, 2, 2, 2, 3, 3, 3, 3, 3, 4, ... | p(n) copies of n |
| 2, 1, 2, 2, 2, 2, ... | all 2's with one oddball |
| 2, 3, 5, 7, 9, 11, 13, ... | the primes with one oddball (9) |
| 2, 3, 5, 7, 9, 11, 13, 15, ... | the odd numbers with one non-odd ball (2) |
| 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, ... | zeroes in prime locations |
| 2, 1, 2, 4, 2, 9, 2, 16, ... / 2, 1, 3, 4, 5, 9, 7, 16, ... | 2's, or the primes, interleaved with squares |
| 1, 0, −6, 0, 120, 0, −5040, 0, 362880, ... | alternate factorials with alternating sign, interleaved with zeroes (from the Taylor series of sin x) |
| 2, 5, 11, 17, 23, 31, ... / 3, 5, 11, 17, 31, 41, 59, ... | every second prime / p(p(n)) |
| 3, 4, 6, 8, 12, 14, 18, 20, 24, ... | p(n) + 1 |
| 1, 4, 27, 256, 3125, 46656, ... | n to the n |
| 1, 1, 2, 3, 5, 8, 13, 21, ... | Fibonacci: F(n) = F(n−1) + F(n−2) |
| 1, 2, 2, 3, 3, 4, 4, 4, 5, 5, 5, 6, ... | a(n) copies of n, a(n) being the sequence itself |
| 2, 1, 1, 3, 4, 2, 5, 9, 2, 7, 16, 3, ... | primes, squares and the first sequence, three-way interleaved |
| 1, 2, 3, 5, 7, 8, 11, 13, 17, 19, 21, ... | Fibonacci and primes merged by size, no duplicates |
| 2, 1, 2, 1, 1, 4, 1, 1, 6, 1, 1, 8, ... | denominators of the simple continued fraction of e |
The primes recur because their "semi-chaotic distribution" symbolised for him "the subtlety of mathematics"; no program was expected to derive them, so a library of standard sequences (the primes' first 25 terms or so) was imperative. He jokes that he could have added 14, 18, 23, 28, 34, 42, 50, 59, 66, 72, 79, 86, 96, 103: the stops of the Broadway IRT subway in Manhattan, whose next term is 110th Street, "also known as Cathedral Parkway". The class list was a wonderful challenge for students and "not a good target" for research, a fact he realised only slowly.
Reducing a sequence to simpler sequences
His contest entry rested on derived sequences: apply an operation (filter every other term, count repeats) and hope the child is simpler. The squares give a clean example: first differences yield 3, 5, 7, 9... (the odds without their first member), and second differences yield 2, 2, 2..., which "even a computer" can guess. Rules then rebuild upward: the nth odd number from the 2's, the nth square from the odds.
Understanding without understanding. This route to the squares "pays no attention to any individual element": that 25 is 5 × 5 is irrelevant to it. Humans do notice such facts, and "to miss the idea that these numbers are squares certainly seems to miss the point!" The squares become "the outcome of starting with a row of 2's and doing bunches of additions": a "psychologically strange 'understanding'".
He wanted a big repertoire: first differences; "first ratios" (giving a quotient sequence and a remainder sequence); counting repeated elements; extracting every kth term; nth roots; and more. Familiar with earlier extrapolators (Simon and Kotovsky, 1963; Pivar and Finkelstein, 1964; Persson, 1966), he thought he could beat them, and part of him wanted pure performance power, a "smoothly-running fuel-injected combustion engine" that could "mentally outrace its designer".
Controlling a search: breadth, depth, sniffing
The derived sequences form a family tree, and the question is how to explore it.
- Breadth-first search. Apply all ten known operators to the target; if any child is recognised, build the rule back up; if not, recurse on all ten, giving 100 grandchildren, then 1,000: a "combinatorial explosion".
- Depth-first search with backtracking. Make one child, then one grandchild, down to a preset depth (say eight levels); on failure back up one level and try the second-choice operator, then the third, and so on up the tree. It can still traverse everything in theory but is built to minimise how much of the tree is ever generated.
- The sniffer. At each level a "quick but careful sniff" (degree of repetition, a rough smoothness measure, growth rate, rough periodicity) prunes and orders the operators.
Why sniffing matters. Take 2, 10, 0, 3, 20, 1, 5, 30, 2, 7, 40, 3, 11, 50, 4, .... Split into every third term and you get three trivial siblings, the primes, the multiples of 10 and the natural numbers from 0. First differences give 8, −10, 3, 17, −19, 4, 25, −28, ..., more complex than the parent and "carrying us out to sea"; not even every second term helps. So "take-every-third-element" must be tried first here, yet it would be absurd to try it first everywhere; it belongs "on a shelf high in your mental closet". Some operators (every nth element) come in infinite families, so trying them all is impossible anyway. Pruning by guesswork (heuristics) improves performance dramatically but occasionally "throws out the baby with the bathwater": guessing is the price of a world bigger than you can explore.
Glimpses of a different architecture
Both classic strategies felt "far too rigid, and very unlike what people do". What Hofstadter himself does is "an initial very shallow breadth-first scan followed by a bit of depth-first in a local area", then resurfacing, then plunging elsewhere, with no resistance to revisiting old ground "with fresh new eyes". A colloquium by Dave Slate, co-author of Chess 4.6 (then among the world's top chess programs), confirmed the hunch: after describing its full-width, no-pruning, depth-first search, Slate confided he was "totally against" brute force; his ideal program would make many small, intense, locally focused forays with far more flexibility than he knew how to build. Here, in embryo, is the parallel terraced scan of later chapters.
Lacking time, Hofstadter entered a plain depth-first searcher with the best sniffing and operator ordering he could devise, "much more like thinking about math than thinking about thinking". Of about 30 test sequences his program missed only about three; student Bil Lewis beat him by one sequence (which "pleased rather than humiliated me"), and Marsha Meredith, later his graduate student and the author of Seek-Whence, came in slightly behind him.
The contest program (1977): a fixed library of operators (differences, ratios, counts, extractions, roots) applied to a complete batch of terms; depth-first search guided by a sniffer; success measured by sequences solved; knowledge of mathematics as the engine.
The Seek-Whence program (Meredith): terms arrive one at a time and the program may ask for more; no arithmetic beyond equality, successorship and counting; perception of packets, islands and templates in parallel, under probabilistic biases; success measured by humanlike pathways, reperceptions and esthetic judgements, including recognising a glitch as a glitch.
Two disturbing realisations
What was wrong with the contest program
- The expert-systems trap. He had crammed in as much mathematical sophistication as possible, yet he wanted to program intelligence, not math knowledge. He felt intelligence must have "a powerful, general, and abstract knowledge-independent core": he knew "fountains of knowledge" lacking all insight, and history is full of young novices with blinding insights.
- The missing temporal dimension. His own discoveries came by computing a few terms, theorising, then asking for more: "experimentation" (data-gathering) oscillating with "theorizing" (data-restructuring). The contest fed programs one big batch with no way to ask for more terms, missing "that all-important temporal dimension".
Mathgod makes a booboo, and is redeemed
The continued fraction of e brought both points home. Any real x splits into an integer part i plus a fraction written 1/y with y > 1; repeat on y, and so on. For e (≈ 2.71828...), the first remainder gives y ≈ 1.3922, whose integer part is 1 and whose fraction is 1/2.5496..., and so on forever. The denominators of a simple continued fraction are independent of any base, which makes the expansion "much more fundamental" than decimals: for π it is chaotic, for √2 purely periodic, and for e a lovely pattern, 2, 1, 2, 1, 1, 4, 1, 1, 6, 1, 1, 8..., following [1 1 2n] except that Mathgod "seems to have made a little booboo" and put a 2 where the template wants a 1 at the very front.
Bill Gosper, "super hacker (in the original sense)" and continued-fraction virtuoso, was bothered too and found a new expansion: e = [1; 0, 1, 1, 2, 1, 1, 4, 1, 1, 6, ...]. A 0 denominator looks doubly shocking but is innocuous, since it is added to a nonzero quantity. At first Hofstadter saw no gain: the glitch "1, 0" merely replaced "2, 1, 2". Switching to [2n 1 1] with n from 0 shrank it to one misfit 1. Then "something in my mind did a Necker-cube-like flip": the template became [1 2n 1], n from 0, glitch-free from the start and symmetric as a bonus. "Raffiniert ist der Zahlengott, aber boshaft ist er nicht" ("Mathgod is subtle but not perverse"), as Einstein might have put it.
Esthetics, not knowledge, drove the discovery. A tiny blemish disturbed someone with a powerful esthetic sense enough to make him reconceptualise the pattern's origins. Hofstadter's own resistance is instructive: inertia (years of seeing [1 1 2n]) plus a default preference against cleaving a pair of identical 1's, which "wanted" to stay together. Both this and the triangles-between-squares breakthrough came from "perception and reperception of structures in response to esthetic pressures": simplicity, consistency, symmetry, balance, elegance. "All the rest was irrelevant complexity having to do with knowledge."
Number savvy versus pattern sensitivity
Hofstadter replays a plausible route through 1, 4, 27, 256, 3125, 46656, 823543, 8388608, ..., not claiming its details matter, only to show how narrow mathematical knowledge and general esthetic pattern sensitivity interact. The three huge terms are "so threatening" they are mostly ignored beyond suggesting big operations; perhaps only five terms are available at first, the rest costing effort.
- 27 seizes the stage. 1 and 4 are too common to be distinctive and 256 and 3125 too unfamiliar, but 27 has one outstanding property, 3 cubed, which is "tacked" onto it and triggers the larger theme of describing numbers as powers.
- Tentative descriptions. 4 is clearly 2²; 256 is "the seventh or eighth power of 2"; 3125, ending in 25, may be a power of 5.
- A trend is bucked. Bases 1, 2, 3, then 2 again: but half the powers of 2 are powers of 4, so "Check whether 256 is a power of 4!" It is 4⁴, and the new description dislodges the old.
- Base equals exponent. 2², 3³, 4⁴ send a "loud and clear message" to 1 to describe itself as 1¹, and a question to 3125: "Are you, by any chance, 5⁵?" Yes.
| Number savvy (domain-bound) | Pattern sensitivity (domain-free) |
|---|---|
| recognising numbers by memorised properties (27 = 3³) | noticing samenesses (this base equals this exponent) |
| plausible guesses (3125 ends in 25: a power of 5?) | noticing simple relationships (successor) |
| relations between properties (powers of 4 are powers of 2) | noticing analogies between pattern fragments |
| complicated calculations (work out 5⁵) | imposing consistency on fragments |
| building abstractions (summarise in a template) | |
| shifting boundaries of groups | |
| driving towards beauty (balance) |
One list "has everything to do with the domain; the other has nothing to do with it". Seen as packets, the early state is (1 ?)(2 2)(3 3)(2 ?)(5? ?): the pattern-sensitive part asks whether (2 ?) can slip to (4 ?) and (5? ?) to (5 5), and the math-savvy part checks and says yes. Sequence extrapolation becomes pattern-play among small packets related only by equality, successorship and predecessorship, a view that eventually "completely overturned" his original vision of the project.
A droll interlude: 0, 1, 2, ...
A friend's puzzle: what comes next in 0, 1, 2? Answer: "720 factorial". The real puzzle is to see why.
Unpacking 720!. 720 is 6! (its only salient property; it is also 3⁶ − 3²), so the sequence is 0, 1, 2, (3!)!, and 720! Is a giant atom with 1,747 digits to be reduced to a packet of small integers. Guess "two factorial signs everywhere": 1!! = 1 and 2!! = 2, but 0!! = 1, not 0, "snagged at the last moment on a technicality". Then the pattern part muses that 6 should have been 3, and the math part notices 6 = 3!, so 720! = 3!!!. Moving left: 3 signs, 2, 2; "couldn't we" write 1 as 1! (true)? That gives 1!, 2!!, 3!!!, with the bare 0 as an anomaly, until the epiphany: the zeroth packet has exactly the right number of signs, zero. The sequence is n with n factorial operations: 0, 1!, 2!!, 3!!!.
The puzzle is self-undermining: its defence of 720! Tacitly assumes that 0, 1, 2 continues with 3, the rival answer, much as the periodicity hypothesis undermined itself earlier. (Answering "720! Followed by 720! Exclamation points" digs deeper, presuming two rival answers at once.)
Segmentation and unification
As packet sequences, the n-to-the-n puzzle and the factorial puzzle are the same: template [n n], read once as base and exponent and once as number and count of factorials, giving 1 1 2 2 3 3 4 4 5 5... Breaking big numbers into packets needs real mathematics, but once broken there is no ambiguity about which number belongs to which packet. In a raw small-integer sequence the packets are not explicit and must be discovered or created, and there is no unique right answer:
- (1 1)(2 2)(3 3)(4 4)...: coherent, built on sameness, which people prefer.
- (1)(1 2)(2 3)(3 4)(4 5)...: also coherent, a front glitch aside; successorship leaps "like salmon jumping up the steps of a fish-ladder".
- (1 1 2)(2 3)(3 4 4 5)...: incoherent; no logic inside or across packets, so no "..." is allowed.
The two pure acts of pattern sensitivity. Segmentation is deciding where packet boundaries lie (the e insight: build packets with default-violating boundaries to get a glitch-free pattern). Unification is seeing how packets relate (the triangles insight: the sizes of alternate packets reproduce the original). They are intertwined, sometimes hard to tease apart, but conceptually complementary, and together they "emerged as the crux of the purely pattern-sensitive aspect of sequence extrapolation".
The austere microworld of Seek-Whence
Now Hofstadter whittled the domain. Exponentiation led into "knowledge swamps". He wanted to keep the four arithmetic operations, but combinations of them demanded great math-savvy; dropping multiplication and division was not enough, because addition and subtraction alone breed sequences (Fibonacci and far worse) that knowledge-free pattern sensitivity cannot see. "With a sigh of regret and a breath of relief" he dropped them too.
What survives in the Seek-Whence domain
- The integers from 0 (no negatives, since subtraction is gone).
- Equality and immediate adjacency: successorship and predecessorship, without which numbers would "lose every trace of numberhood".
- Clustering numbers by shared properties, and clustering packets into larger packets: hierarchical perceptual structures.
- Counting: the numbers in a packet, the packets in a larger packet, even the number of hierarchical levels.
Good-bye, math; hello, music
The stripped domain risked being a caricature, until melody suggested its riches. A pianist and small-scale composer, Hofstadter saw in it ascending and descending scales, clusters like note groups, measures and phrases, simple and complex rhythms, even a crude counterpoint of voices taking turns. He would not model real musical understanding (as knowledge-intensive as mathematics, "if not more so"), only let melodic patterns inspire puzzles.
One pitch, many roles. A note such as middle C may resolve a tension in one spot, create one in another, pass between neighbours in a third; a passage of one repeated note can carry a "pun". Two voices within one line can collide. In EAEAEBEBECECEDEDEEEEEFEF, one voice repeats E while the other climbs A, A, B, B, C, C...; the collision zone is "a mass of undiscriminated E's". Case-marking the voices (EaEaEbEb...EeEeEfEf) and chunking at two levels, (Ea-Ea Eb-Eb)(Ec-Ec Ed-Ed)(Ee-Ee Ef-Ef), shows what a listener hears and sets up expectations whose violations are felt as tension. Ambiguity and context-dependence are "pervasive in music" and central to how it carries meaning.
The theme song: 2 1 2 2 2 2 2 3 2 2 4 2 2 5 2 2
These ideas emerged in 1977 and had "pretty much congealed by late 1978", the real beginning of Seek-Whence. Gray Clossman (later a PhD on neural networks) and Marsha Meredith (who implemented the program) joined, and the three invented puzzles modelling polyphony, ambiguity and context-dependent meaning. The project's "theme song", combining the two-voice melody and the continued fraction of e, starts 2, 1, 2, 2, 2, 2, 2, 3, 2, 2, 4, 2, 2, 5, 2, 2, fed one term at a time.
The burst of five 2's builds "mounting strain and discomfort"; the 3 brings hope and the 4 clarity: a voice singing "2 2" alternates with a voice singing an ascending scale. The natural "2 2" chunks give a front glitch; as with Gosper's fraction, the cure is to cleave between adjacent 2's, yielding (2 1 2)(2 2 2)(2 3 2)(2 4 2)(2 5 2)...: the symmetric template [2 n 2], which also explains the initial row of 2's.
The gulf between research goals. A boring breadth-first program would solve the theme song instantly from eight to ten terms by splitting it into three interleaved subsequences ("standard operator #17"), and that success would teach "nothing at all" about perception, theory formation or esthetics. Results-oriented researchers start with a standard technology and impress people; essence-oriented ones produce less flashy work. "Today's wonderfully powerful chess programs ... Have not taught us anything about general intelligence", except "how [human players] do not play", and "much the same can be said for the vast majority of AI programs". This is fair as a statement of FARG's goals, less fair as a dismissal: performance systems were never meant as psychological models, and some (later, AlphaZero-style learned evaluation) shed real light on intuition-like pattern recognition.
A sampler of the Seek-Whence domain
| Sequence | Name and template |
|---|---|
| 2 2 2 3 3 2 2 2 3 3 ... | hemiolic bi-cycle: a trio of 2's alternating with a duo of 3's |
| 1 0 0 1 1 1 0 0 0 0 1 1 1 1 1 ... | n copies of 1 or 0, alternately |
| 1 0 0 1 5 1 0 0 0 5 ... | the same with every fifth term replaced by 5 |
| 1 2 0 2 0 2 1 3 1 3 1 2 0 2 0 2 0 3 0 3 ... | the first two interleaved |
| 1 2 2 3 3 4 4 5 5 ... | [n n+1], or the more appealing [n n] with a glitchy 1 |
| 1 1 2 1 2 3 1 2 3 4 1 2 3 4 5 ... | [1 2 ... N−1 n]: ascending scales of length n |
| 2 1 3 1 2 4 1 2 3 5 1 2 3 4 6 ... | [1 2 ... N−2 n]: scales with the next-to-last note omitted |
| 1 2 1 3 2 1 4 3 2 1 ... | [n n−1 ... 2 1]: descending scales |
| 3 2 1 0 1 2 3 2 1 0 1 2 3 ... | sawtooth: [3 2 1 0 1 2] |
| 0 0 0 1 1 2 4 5 5 6 6 6 7 7 8 10 ... | sawtooth plateaus: an endless scale whose repetition counts follow the sawtooth; 3, 9, 15... Are "conceptually present" with multiplicity zero |
| 1 1 2 1 1 2 3 2 1 1 2 3 4 3 2 1 ... | mountain chain [1 2 ... N ... 2 1]: mountains rising to n and falling back |
| 1123 1223 1233 1123 1223 ... | marching doubler: a doubler moves rightwards through [1 2 3] |
| 1123 1223 1233 1223 1123 ... | bouncing doubler: it bounces inside its "cage" |
| 12233 11233 11223 12233 ... | marching singler: [1 1 2 2 3 3] with a "remover" marching; a figure/ground reversal of the doubler |
| (1-22-33 1-22-3 1-2-33)(11-2-3 11-2-33 1-2-33)(11-2-3 1-22-3 11-22-3) ... | doubler/singler spliceroo, given pre-parsed "on a silver platter" |
Compared with the class list there is "a world of difference": these are "the haiku, or perhaps the bonsai, of sequence-extrapolation puzzles".
Representing rules the way minds do
The bouncing doubler is formally trivial, a repeated sixteen-term block, but that view is "as mechanical and as lifeless ... As could be imagined": its point is the doubler bouncing in its cage. The hemiolic bi-cycle involves two objects, one playing number and the other numeral, which swap roles. To make variations on a theme one must know what is central and what is slippable, and see slippability "lurking in all sorts of hidden spots": nothing in a straightforward representation of the marching doubler hints that the bouncing doubler and the marching singler are its natural cousins.
Why not just use programs as rules? Hofstadter "absolutely refused" to represent sequences by generating programs: humanly natural variants of a pattern often correspond to "exceedingly unnatural transformations" of the code; nothing in a doubler program suggests figure and ground; and "lines in computer programs do not come labeled 'I matter, leave me alone!' and 'I'm slippable, tamper with me as you please!'" He spent years "fluidifying" templates, letting internal pieces move or change under control of other pieces; the notation drove Meredith's program (described in her 1986 and 1991 writings), though he admits he never fully captured human fluidity.
Programs-as-rules is back. Hofstadter's refusal to equate a pattern with the program that generates it reads differently now that program synthesis and LLM code generation are a mainstream route to sequence and puzzle solving (for example, writing a Python function that reproduces an ARC grid transformation). His objection still bites: a generator that fits the data says nothing about which parts are essential and which slippable, so it gives poor variations and brittle generalisation. Engineers see the same in production: a model that produces the right answer by an unnatural route breaks when the requirements shift sideways.
The lopsided mountain chain
Hofstadter now follows, by highlights, the perception of a relative of the mountain chain whose typical member is 1234544321: up from 1 to the peak, with the first step down doubled (an "outcropping"). Before it come 12343321, 123221 and the degenerate 1211; before that a lone 1, whose peak is ground level, so it has no slope to double: a glitch lacking the defining asymmetry.
Drawn as mountains, it is "practically trivial". Delivered as 1 1 2 1 1 1 2 3 2 2 1 1 (its first dozen terms), it conveys only "a vague sense of ups and downs" and great ambiguity.
Islands of order
Perception must start locally, finding "islands of order", stretches with their own internal logic, held together by different kinds of "perceptual glue":
Types of islands, in rough order of salience
- Plateaus ("44", "111"), held by sameness glue: the most salient, since sameness is "such an elemental perceptual fact".
- Up-runs ("12", "456"), held by successorship glue.
- Down-runs ("21", "654"), held by predecessorship glue.
- Palindromes ("5885", "71617"), defined by mirror symmetry; subtler, because they require long-distance comparisons (seeing 2743472 means leaping across five terms), and they have no local glue.
The dozen terms can be carved many ways (plateau-plateau-palindrome-plateau, palindrome-plateau-palindrome-down-run, and so on), and each carving is "somewhat misleading", with islands that straddle two mountains. A priori one cannot know; "you have to start your search for order somewhere".
A deterministic rule (plateaus first, then runs, then palindromes) would be rigid, inefficient and fatal for sequences like the theme song, where it would build the alluring 22222 island, a "hallucination, a decoy", and get stuck. Total randomness would be equally useless, a jumble of uncorrelated islands. The balance: parallel processing with probabilistic biases. Glue of various kinds bubbles up in parallel in different regions, sameness glue tending (not compelled) to arrive fastest; each dab is a local pressure to build an island. Glue only suggests; an island is a much bigger commitment, yet even a built island can be destroyed under pressure, freeing its members for reinterpretation.
Many levels, all in parallel
A second tier of processing perceives regularities among islands, leading to multi-level packets and templates. Even one island is subtle: "1111111" is seen as a plateau of 1's, possibly of length 7; "23456" as an up-run from 2 to 6, less likely as length 5, still less as centred on 4. An island has a name and parameters, each with its own probability of being noticed. Noticing one island's centre makes noticing others' centres likelier; two highlighted centres invite a sameness or successorship link; a found link reinforces attention to centres and to successorship "and around and around it goes".
The tiers are not serial: glue-placing, island-building, labelling and analogy-making all happen at once, by "many little agents, each one searching in its own small area ..., none knowing about any of the others": an ant colony, the colony's behaviour emerging from the swarm.
The key role of analogies
Given islands (1 1)(3 4)(2 2)(5 6 7), connections leap out non-arbitrarily. Islands attract each other through affinities: being close in the sequence, belonging to the same category, and sharing parameters. Linking (1 1) with (2 2) is "a very simple instance of analogy-making", and has consequences: it pushes to link (3 4) with (5 6 7) and sets up expectations of more length-2 plateaus. Alone, "11" might be "n+1 copies of n" and "22" "n copies of n"; the analogy justifies the variabilisation (constants replaced by variables) far more strongly.
- Salience versus strength. (3 4) and (5 6 7) are less obviously analogous than (1 1) and (2 2), but once seen the link is strong; (1 1) and (3 4), sharing only length 2 (and adjacency), is weaker and appears only if lengths are being attended to.
- Quantifying. Each affinity needs a numerical strength, and a mini-analogy's strength is a function of its affinities' strengths.
- Feedback. Strong perceptions should raise the likelihood of similar perceptions and weaken commitment to dissimilar ones: if a couple of palindromes are noticed, interest in palindromes should shoot up, and two length-6 palindromes should bias the search towards that length (a bias that would be "extremely counterproductive" if built in from the start).
From bottom-up to top-down. The process "begins in a pure bottom-up manner but ... Is gradually invaded by increasing amounts of top-down influence": data-driven local acts first, then theory-driven attempts to extend noticed patterns. Put this together with the opening claim and the conclusion follows: analogy-making lies at the heart of intelligence, though analogy has usually been treated as an esoteric "luxury add-on" for specialists. "All the research in this book came from the detailed working-out of these ideas in a few carefully-designed and very small domains."
# Probabilistic "glue" bubbling up in parallel: sameness glue is likeliest,
# successor/predecessor glue less so; islands grow from glued neighbours.
import random
GLUE_BIAS = {'same': 0.6, 'succ': 0.3, 'pred': 0.3}
def glue_type(a, b):
return 'same' if a == b else 'succ' if b == a + 1 else 'pred' if b == a - 1 else None
def perceive(seq, steps=400, seed=1):
rng = random.Random(seed)
glue = {} # position i glues seq[i], seq[i+1]
for _ in range(steps): # random sites, no fixed order
i = rng.randrange(len(seq) - 1)
g = glue_type(seq[i], seq[i + 1])
if g and i not in glue and rng.random() < GLUE_BIAS[g]:
glue[i] = g
islands, i = [], 0 # maximal runs of one glue type
while i < len(seq):
j, kind = i, glue.get(i)
while kind and glue.get(j) == kind:
j += 1
islands.append((kind or 'single', seq[i:j + 1]))
i = j + 1
return islands
seq = [1, 1, 2, 1, 1, 1, 2, 3, 2, 2, 1, 1, 2, 3, 4, 3, 3, 2, 1]
for seed in (1, 2, 3): # different runs, different parsings
print([f"{k}:{''.join(map(str, v))}" for k, v in perceive(seq, 25, seed)])
The three runs give three different carvings of the same terms, which is the point: diversity of early hunches, with feedback, not a fixed order, is what lets correlations surface.
The mountain chain solved
With sixteen terms, 1 1 2 1 1 1 2 3 2 2 1 1 2 3 4 3, the new 4 draws attention; the up-run 1234 echoes 123, and the mini-analogy (both start at 1) sends a search leftwards for (1 2), which is found. Meanwhile bottom-up searchers find plateaus (1 1) and (2 2); their affinity suggests the theme "length-2 plateaus related by successorship", and a top-down pressure to find more, either "just to the right of the up-runs" (careful) or anywhere (hasty). None is found: the next one needs a 3 not yet seen, and other numbers are "taken"; dismantling islands would be "a rather desperate act", and this is no time for desperation. So ask for more terms: a new plateau (3 3) and up-run (1 2 3 4 5) arrive exactly where expected.
The tentative template [[1 2 ... N] [n−1 n−1] ???] turns attention to the question-mark regions: a nullity, then 1, then 2 1. A top-down analogy covers all three: a down-run ending on 1 whose length is the predecessor of the plateau's number (the null case a down-run of length 0). Template: [[1 ... N] [n−1 n−1] [n−2 ... 1]]. Terrific.
Polishing away the first term. For n = 1 the template yields "1 0 0" (and an incoherent down-run from −1 that "poofs into thin air"): wrong. Junking the theory for "one teeny-weeny glitch" is absurd; splicing "1 if n = 1, else the template" is ugly. Patch: move one n−1 into the down-run, [[1 ... N] [n−1] [n−1 ... 1]], which gives "1 0" for n = 1; better, not perfect. Move both n−1's into the down-run, [[1 ... N] [[n−1 n−1] n−2 ... 1]]: a down-run starting with a pair, a sloppy stretch that "only a being with very fluid concepts" handles gracefully; for n = 1 the down-run self-destructs and leaves the lone 1. Glitch gone: reworking a basically correct theory to absorb a tiny initial exception "might even be considered the subtlest part of the whole process". Better still: a notation that builds a perfectly symmetric mountain and then tampers with one item a posteriori, and ideally one that states the symmetry explicitly.
Shorter versus longer messages
Given a long batch, the eye catches peaks of height 3, 4, 5 as foci around which structure grows "like raindrops forming around dust particles"; a complete asymmetric mountain such as 1234544321 leaps out, neighbours split the "11" valley between them, and the solution propagates leftwards to the degenerate first mountains "without much resistance". Truncate the sample and the "11" and "111" valleys get mistaken for kin of the "22" and "33" plateaus, and the biggest mountain is incomplete, so no prototype mountain can serve as an analogical mold; three mountainous structures must grow in parallel and jostle. With a dozen terms it is "a welter of confusion"; with fewer, only half-baked theories.
Guessing a sequence is like guessing the adult from the child. An eighteen-month-old is murk; a toddler gives subtle, ambiguous clues; a twelve-year-old has started to disentangle. The core is analogy-making of a peculiar kind, between structures whose identity and edges are uncertain. Real situations are worse: they "blur out into a myriad other situations", and deciding where one ends is part of analogy-making, yet most AI analogy models take "tight little bundles of facts with perfectly crisp edges", which is "most unrealistic" (the theme of Chapter 4).
Mathematicians' ambivalence about obvious patterns
Seek-Whence has no eternal truths, only taste. Mathematical sophisticates often balk: any finite pattern has infinitely many extensions, and an unproven pattern is not real. Yet they are often the first, and sometimes the only ones, to see the deepest patterns, because professionally they rely on esthetic intuition to choose concepts, conjectures and proofs: "pattern sensitivity acts like an abstract sense of smell". Their texts are full of appeals to the obvious: "the general case is left to the reader", "by symmetry", "by analogy", three dots after a few terms of a Taylor or Fourier series, two-dimensional dot-dot-dots on infinite diagrams. An "objective" esthetics of pattern is presumed by how mathematicians communicate.
Expanding conceptual spheres
Mathematics progresses by generalisation; it is "the art of choosing the most elegant generalization", and what grabs the community is what appeals to its collective esthetic sense. The best mathematicians ask less "How can I prove this?" than "How interesting is this idea? By fiddling around with it ..., can I find ideas that are even more interesting?", like a composer with a new theme. "Number" grew from naturals to fractions, negatives, irrationals, complex numbers, vectors, quaternions, matrices, group elements, groups, sets, transfinite ordinals and cardinals, functions, functors, morphisms, categories: a shared sense of worthwhile directions prevents the question "why did you invent that?"
Everyday concepts are structured the same way, sphere-like, with core examples and outer layers. Beyond these slowly built spheres we also build, in a second or less, a sphere around any event: its "commonsense halo" or "implicit counterfactual sphere" of variants, which fades as the event fades. Wrenching events churn up the biggest halos.
Three halos. (1) An interstate bridge in Connecticut collapsed after residents' unheeded complaints of "strange creaking noises"; the governor ordered inspections of all interstate-highway bridges in the state. Why stop at interstates, at bridges, at Connecticut? A sharper response would inspect any public construction people had warned about, but "where does it all end?" (2) When Monica Seles was stabbed on a court in Germany, other female tennis stars worried most, males less; bowlers and golfers did not hire bodyguards; should a professor named Monica worry at a blackboard? (3) After the Tylenol poisonings in Chicago, the FDA imposed new packaging rules with deadlines staggered by each drug's perceived similarity to Tylenol, an implicit model of how criminal minds generalise; none extended beyond drugs (not ketchup, cheese, meat, fruit). The first copycat spikings did hit a close cousin, an extra-powerful Anacin, then other drugs; eventually the FDA extended rules to some foods.
A sphere can stretch far before it pops. Further rings out: poisoning a city's water supply; a washing machine full of rocks placed on railroad tracks (a friend's train hit one; nobody was hurt); slashing tyres; or a giant leap from bad deeds to good, dropping $10,000 bills from a helicopter over a poor neighbourhood, like writing a major-key variation on a minor theme or reversing figure and ground as the marching singler does.
The phrase "variations on a theme" deliberately alludes to music: Bach's Goldberg, Beethoven's Diabelli, Mendelssohn's Variations sérieuses, Chopin's on Mozart's "Là ci darem la mano", Brahms's Haydn and Handel variations, Tchaikovsky's Rococo, Franck's Symphonic Variations, Rachmaninoff's Paganini Rhapsody, Copland's Piano Variations. Each moves far from the theme on the surface while staying faithful underneath; the game is "a big dare: to see how much one can get away with", and every sphere has a "soft edge" beyond which Y stops being a variation on X.
The "me-too" phenomenon
Generalising outwards from a centre is "automatic, unconscious", and "indeed, it defines thought": a news item activates analogous events and images that commingle and blur into a fluid structure obeying no formal logic.
Verbatim me-too exchanges
- Carol: "I often forget my last name, still." Peter: "I have that trouble every year in January." His "that trouble" blends her maiden-name signature with his writing the old year on cheques: an unverbalised shared essence.
- Shelley: "I'm going to pay for my beer now." Tim: "Me, too." He had a Coke, not a beer, and certainly did not mean he would pay for hers.
- Marilyn: Evelyn fell from her roof, is probably paralysed for life, yet played her bassoon on her first day in hospital. David (a trumpeter, not a bassoonist): "God, I don't know if I could do that." He meant fortitude, perhaps blended with "could I play my trumpet in a hospital bed?"
- Computer scientist: "I'm in AI because it's a mixture of psychology, philosophy, linguistics, and computer science." Architect: "That's the reason I'm in architecture." ("Uh-huh. Sure. Gotcha.")
- Ana: "My parents are always calling me 'Lucie' and my sister 'Ana'." Bob: "My parents used to do that, too, except it was with our dog and cat."
These remarks are unremarkable, "yet for that very reason they are most remarkable": behind each "verbal flip of the hand" is "the entire mystery of the human mind".
Outward generalisation in Seek-Whence
The same outward push runs the tiny domain. The simplest case is variabilisation, turning a packet "(3 4)" into a template [n n+1]; harder is turning an analogy between "123221" and "12343321" into [1 2 ... N n−1 n−1 ... 2 1]. But generalisation is "far, far richer than mere substitution of variables for constants".
Ways of reconfiguring an idea, and when Seek-Whence must do it
- Moving internal boundaries back and forth.
- Swapping components or shifting substructures between levels.
- Merging two substructures into one, or splitting one into two.
- Lengthening or shortening a component.
- Adding components or new levels of structure.
- Replacing a concept by a closely related one.
- Trying reversals at various conceptual levels.
Triggers: a theory clashes with a new term; a theory never fails on new terms but cannot account for the beginning; a theory is judged esthetically unappealing. And a different motive altogether: inventing new sequences as a goal in itself, moving from seeking whence to "finding whither".
Variations on a theme by Chopin
Hofstadter invites the reader to vary the theme 1 2 2 3 3 4 4 5 5 6 6 ... before reading his own set. It has two parsings: A, 1 (2 2)(3 3)(4 4)..., built on salient plateaus but with a glitch; B, (1 2)(2 3)(3 4)(4 5)..., glitchless but built on less appealing up-runs. Chopin's Prelude Op. 28 No. 12 in G-sharp minor opens with exactly this shape, an ascending chromatic scale with every note but the first doubled; the score (first note on the downbeat, beamed with the second) shows Chopin meant B. Played the A way it becomes a mild rhythmic variant with much less power, a warning that "plateaus are more appealing" must be taken with salt: art often appeals by violating the easy way.
| Variant | Sequence | Idea |
|---|---|---|
| A1 | 1 (2 2 2)(3 3 3)(4 4 4) ... | twist the packet-length knob from 2 to 3 |
| A2 | (1 1)(2 2 2)(3 3 3)(4 4 4) ... | give the leading 1 the same +1 treatment |
| A3 | (2 2)(3 3 3)(4 4 4)(5 5 5) ... | the lengthening drags the value of the first term up too |
| A4 | (1)(2 2)(3 3 3)(4 4 4)(5 5 5) ... | the glitch becomes acceleration, then packets stabilise |
| A5 | (1 1) 2 3 4 5 6 7 8 ... | figure/ground reversal: solo and doubled exchange roles |
| B1 | (1 2 3)(2 3 4)(3 4 5) ... | lengthen each up-run, keep take-off points |
| B2 | (1 2 3)(3 4 5)(5 6 7)(7 8 9) ... | keep the head-equals-tail joints instead |
| B3 | (2 1)(3 2)(4 3)(5 4) ... | turn each up-run around |
| B4 | (3 2 1)(4 3 2)(5 4 3)(6 5 4) ... | each run's middle becomes the next run's end |
| B5 | (5 4 3 2 1)(7 6 5 4 3)(9 8 7 6 5) ... | the same property, longer runs |
| C | (1 (2 2) 3)(3 (4 4) 5)(5 (6 6) 7) ... | a third parsing |
| C1 | (1 (2 2 2) 3)(3 (4 4 4) 5) ... | knob-twist on C |
| C2 | (1 (2 2 2)(3 3 3) 4)(4 (5 5 5)(6 6 6) 7) ... | interrelated knob-twists on C |
| X | 2 1 2 1 1 2 1 1 2 1 1 1 2 1 1 1 2 ... | each term as a group of 1's separated by 2's: déjà vu of triangles-between-squares |
| Y | 2 1 2 1 1 3 1 1 3 1 1 1 2 1 1 1 2 1 1 1 1 3 ... | X with half the 2's turned to 3's to mark the B-parsing |
| Z | 2 1 2 1 1 2 1 1 3 1 1 1 3 1 1 1 3 1 1 1 1 2 ... | the theme in a new rhythm: 1-2-2, 3-3-4, 4-5-5, 6-6-7 |
The blurry edge of essence
The variations most likely to please Chopin are probably those that go far out on a limb yet keep the flavour, which leaves "retain the flavor" undefined. A friend, Steve, whose set was otherwise "amazingly close" to Hofstadter's, offered (1)(2 2)(3 3 3)(4 4 4 4).... To Hofstadter this was "really beyond the fringe"; Steve, on reflection, called it "two wrongs making something that was too right", driven by the wish to kill the glitch. Hofstadter's objection was different: letting group lengths grow without bound "was an utter betrayal of the theme", while to Steve it resembled Variant A4. They "agreed to disagree".
Intuition defined by its ingredients. Playing variations well requires a keen sense of when essence is preserved or lost, the ability to perceive a theme in novel ways by "trying on" unexpected concepts, and senses of naturalness versus forcedness and elegance versus clunkiness. Together they "certainly deserve the label intuition". Hofstadter does not share the sceptics' view that computers can never have it, though he agrees "where we are today ... Is nowhere near the goal". Making a computer play this game was Seek-Whence's most ambitious goal and "always remained just a tantalizing dream".
Full circle: triangles between squares, and physics
After his first discovery the young Hofstadter took two tacks: varying the sequence 2 1 2 1 1 ... itself (roles of 1 and 2 swapped, more than two integers, more complex recursive rules), and varying its source (squares between pentagonal numbers, squares between cubes, squares between double-squares, factorials between products of successive odd numbers, powers of 2 between powers of 3). The tacks converged in surprising ways until his "generalization engine" ran out of steam.
The back door of solid-state physics. About ten years later, doing a PhD in theoretical solid-state physics, he studied electrons in an idealised two-dimensional crystal in a uniform magnetic field. Many of the most beautiful ideas from his number-theoretic meanderings turned out to be "precisely the tools needed" to explain a mysterious, deeply recursive structure at the heart of the problem, whose recursiveness "no one understood, or even suspected". Number theory "came back to me, through the back door". The moral: discovery is "totally unpredictable" and snowballing, in science, design, writing, painting and composition alike, and "much of my work in cognitive science has been a quest to capture the essence" of those days.
What Seek-Whence taught about representing a pattern
- A template is a theory, not a description; it may be wrong, partly right, or right but ugly, and each case demands a different repair.
- Initial glitches are diagnostic. A blemish at the start (e's 2, the mountain chain's lone 1, the theme song's run of 2's) usually signals a wrong boundary, not a wrong idea.
- Default chunks can mislead. Identical neighbours "want" to stay together (1 1, 2 2), and the right parse often cuts between them.
- Salience is graded. Plateaus before runs before palindromes, but as biases, never as rules.
- Representations need hinges. Templates must allow parts that move (a doubler bouncing in its cage) and say what is essential and what is slippable.
- Perception and theory interleave. Bottom-up islands and top-down templates must run at once, with permission to dismantle what has been built.
- The order of data matters. Long batches make discovery nearly trivial; short ones demand real insight; the same rule is a different problem at each length.
From Seek-Whence to the rest of the book
There is "no single, pithy, catchy idea" that captures FARG's philosophy; it is "a complex of many tightly interrelated ideas", distilled from Hofstadter's, Meredith's and Clossman's years on Seek-Whence.
The eight recurring themes
- Perception and high-level cognition are inseparable, so a perceptual architecture lies at the heart of cognition.
- High-level perception yields easily reconfigurable, multi-level representations held loosely by bonds of different types and strengths.
- Subcognitive pressures: the more important a concept or representation, the more (probabilistic) influence it exerts on processing.
- Commingling pressures, context-dependent and context-independent, in a nondeterministic parallel architecture where bottom-up and top-down processing "co-exist gracefully".
- Simultaneous feeling-out of many pathways at rates set by quick estimates of promise (the parallel terraced scan).
- The centrality of analogy and variations on a theme in high-level cognition.
- Representations have deeper aspects, relatively immune to context, and shallower ones more likely to slip under pressure.
- The inner structure of concepts and conceptual neighbourhoods: context-dependent overlap and proximity, and context-independent conceptual depth.
Jumbo and Numbo model fluidly regroupable hierarchical structures (themes 1–5) and have no deep model of concepts. Copycat is "much more ambitious and integrated": concepts, perception and analogy-making (not sequence extrapolation) in a one-dimensional domain that is "a very close cousin" to Seek-Whence, aiming at mechanisms of insight that are domain-independent. Tabletop carries them into a two-dimensional domain with "mushier" concepts and less patterned situations; Letter Spirit into "the spinning-out of variations on a theme" and the nature of essence in an idealised artistic domain.
Critical lens. (1) The class list describes 1, 0, −6, 0, 120, ... As "reciprocals of the coefficients of the Taylor series for sin x"; the nonzero entries are, but the zero coefficients have no reciprocal, so the zeroes are interleaved by fiat, not derived. (2) Hofstadter's dismissal of performance systems ("chess programs ... Have taught us how humans do not play") was defensible for 1970s alpha-beta engines; later learned-evaluation programs taught human masters new strategic ideas, a kind of influence on human play he did not foresee. (3) The Connecticut bridge was the Mianus River Bridge on I-95 (June 1983): three people died, and the residents' warnings were of strange noises and vibrations, as he says; the claim that the governor ordered every interstate bridge inspected is Hofstadter's recollection. (4) The chapter never reports Seek-Whence's actual performance: what the program solved, how fast, on which sequences. Readers must take the architecture on trust until Copycat's data in Chapter 5. (5) The sweeping thesis "analogy-making lies at the heart of intelligence" is argued from introspection and examples, not experiment; it became FARG's creed and, later, the explicit thesis of Hofstadter and Sander's Surfaces and Essences (2013).
Sequence extrapolation after 1995. Mahabal's Seqsee (Indiana PhD, 2010) finally built a FARG-style architecture for exactly these sequences. The mathematical side went the knowledge route Hofstadter rejected: a vast library of known sequences to look things up in, the strategy he called imperative for the primes. Today's LLMs do something in between, pairing memorised patterns with program synthesis (write code, test it on the terms given), which is close to his contest entry with a far bigger operator library. The physics coda has a sequel: the recursive energy spectrum of his 1976 paper, Hofstadter's butterfly, was observed in graphene-based superlattices in 2013. For architects, the "commonsense halo" is the live problem: after an incident (a fraud pattern, a breach), deciding how far to generalise controls, fast for near variants and slower outward, is the FDA's Tylenol dilemma, and no rule engine settles where the soft edge lies.
Hofstadter introspects on what happens in an expert's head while unscrambling an anagram, and finds there the raw material of Jumbo: letters "tossed into the air" that come back down "glommed" into pronounceable, word-like chunks without any conscious direction. He describes how working-memory "juggling balls" get built from the 26 Platonic letter types, credits a footnote about Hearsay II's "pre-preconditions" as the seed of the parallel terraced scan, finds that scan in Indiana's sorority rush, and points out that Jumbo implicitly models reading, which chunks "weeknights" and "nights" in several ways at once. Expert anagram-solving, when fast and automatic, shares something with "the deep processes of reorganization and reinterpretation that take place in truly creative thought": that is why a frivolous-seeming activity deserves a serious model.
The joy of anagrams
Jumbo "tries to make English-like words out of a set of letters by rearranging them". Hofstadter has loved anagrams as long as he can remember: as a student he timed himself on the newspaper Jumble, once anagrammed the names of all 100 students in a friend's dormitory, and still finds himself idly anagramming words in view "without even having noticed when I started". Five- or six-letter Jumbles often "pop into my mind in no time flat"; usually they take five to ten seconds; occasionally an ordinary one stumps him for minutes and he resorts to tricks such as writing attempts backwards or in random order "to jerk myself out of the mental ruts".
The interesting part is that "it's not you who's directing the show". A word jumps out of six random letters "magically"; when it takes ten or twenty seconds you get "little glimmers of the shuffling taking place somewhere in there". Only the rut-breaking tricks are deliberate, "but that's the boring part. The neat part is when you just sit back and watch."
Letters go up, words come down
The glomming metaphor. Throw the letters into the air, out of sight; when they come down they are "stuck or 'glommed' together in a way that is always pronounceable and usually very wordlike". Check whether the glom is a word; if not, toss again. Curiously, the letters seem never to come back in a previously tried order.
With five or six distinct letters he never loses or adds one; doubled letters cause slips (in toonin he may produce two t's instead of two n's, or two i's instead of two o's). With distinct letters he can juggle about ten without loss, though not solve them easily. Ten letters need an accommodation period of seconds to a minute, conscious and error-prone (dropping or doubling letters, very rarely inventing one), until "things just start happening automatically", as if "some kind of tangible, movable mental object" had been made for each letter.
Two challenges. With ucilgars internalised, spotting "girl" makes the remainder "csua" present itself, not seen on a mental screen but sensed, and it instantly regroups into a stabler chunk such as "caus" or "suca". With the ten letters abcelmnrsu not yet internalised, pulling out "clamber" may yield "buns" rather than "uns": the b has been doubled, and it takes a couple of seconds to see what is wrong. (Solutions, which the Preface leaves to the reader: surgical, notion for toonin, and, aptly, unscramble.)
Virtual objects on a neural substrate
His hunch: the build-up period is an interface between long-term memory, home of exactly 26 Platonic letter types with no duplicates, and working memory, where any number of tokens (including repeats) can live. Before the tokens exist he juggles slowly with the types; in a "curious, blurry" middle stage he uses both; tokens probably come into being gradually, so semi-existent tokens must somehow juggle alongside full tokens and types.
These are virtual objects that "float on neural hardware" without being describable as neurons, free in working memory to "move around, mingle, associate, cluster, come apart". The analogue is a ball in a video game: not a physical object nor a fixed set of pixels, but an abstract thing with persisting identity and behaviour. This level-distinction between virtual mental objects and their substrate is "a very deep breach" that "few people in cognitive science have even noticed" (Daniel Dennett, 1991, an exception). Once the tokens are made, the types fade and the tokens behave like real juggling balls: they "won't disappear or multiply".
Why model anagrams at all? Slow novice letter-juggling may be of little interest, but expert juggling, "highly automatized and very rapid", has "something in common with the deep processes of reorganization and reinterpretation that take place in truly creative thought" (not that good anagrammists are latent Einsteins). Novick and Coté (1992) found psychological evidence that experts process in parallel and novices do something quite different.
Jumbo versus brute force
Built in 1982–83, Jumbo was Hofstadter's first serious implementation of ideas developed over the previous five years, written "in a thankfully now-defunct dialect of Lisp" on a Vax, and it spewed six-letter candidates "almost as fast as it could print". Speed was not the point. In the 1980s he learned of brute-force programs that, given a full name of a couple of dozen letters, find thousands of anagrams from an unabridged dictionary in seconds, "infinitely faster than Jumbo", and "the antithesis of cognitive models". He admires the hacks and ignores the programs.
That fateful footnote
The Hearsay II speech-understanding project, which he met in 1976 or 1977, struck him with its parallel architecture in which bottom-up and top-down processing coexist. Specialised actions, knowledge sources (KS's), were invoked by configurations on a central data structure, the blackboard. A KS cannot "just know" its conditions hold; something must watch, so each KS had a precondition, a test that ideally ran in parallel all the time but was itself expensive.
Preconditions themselves have preconditions, call them "pre-preconditions."
The pre-preconditions were cheap monitors on primitive database events that woke the relevant preconditions. Hofstadter saw at once a hierarchy (preconditions, pre-preconditions, pre-pre-preconditions...), finite, with only the bottom level running continuously and each higher level triggered by events below: "a beautiful strategy for pinpointing exactly when to invoke a very precisely and subtly targeted type of action". It was "perhaps the most memorable" paragraph he ever read in AI, yet a "somewhat apologetic" footnote never highlighted elsewhere. Merged with his ideas of probabilistic processing, it became the parallel terraced scan.
The parallel terraced scan meets the Greek system
Sorority rush at Indiana. About 1,700 women rush each year. In November they spend half an hour at each of 22 sororities. In January each gets a list of houses inviting her back (up to 22) but may attend only 16 parties, eight half-hour parties on each of two evenings. Mutual culling follows: "eight-party night" (up to eight 45-minute parties), then "four-party night" (four one-hour parties), then "preference night" (two parties of an hour and a quarter). In February sororities issue bids and rushees choose; only about 800 pledge. Since parties lengthen and fewer rushees attend each, the intensity of bidirectional scrutiny more than doubles at every stage: "hard to imagine ... A more vivid example" of a parallel terraced scan.
To read, or toreador
Reviving Jumbo with a student, Hofstadter saw that it implicitly covers word perception: freeze the letters in their original order and ask how they fit together. "Distract" can be di-stract, dis-tract or dist-ract; how do we chunk it in a fraction of a second?
In "nights" the last four letters form one consonantal unit, ght plus s, with ght being gh plus t; but "igh" could equally be one big vowel, as in "high". Introspection cannot settle how a fluent reader sees it; Hofstadter suspects a blend, with the "gh" glom having "an indeterminate or probabilistic or very rapidly fluctuating status", a matter for the laboratory. Regrouping games exploit the same chunking: N. Concord Rd. as "NCO-NCO-RD-RD", "hotshots" as "hots-hots", "no nonsense" as "no-no-nse-nse". With Henry Velick at Michigan he began Toreador (the pun: "to read, or"), a dictionary-free Jumbo variant to chunk frozen letter strings hierarchically; Velick left and it never came to fruition.
To learn, or not to learn
The Jumbo paper was written in spring 1983 for a machine-learning workshop in Monticello, Illinois, in May; page limits forced drastic truncation, and when the proceedings became a book (Michalski, Carbonell and Mitchell, 1983) the editors omitted it as having "little or nothing to do with learning". Hofstadter disagrees, though he sees why the connection eluded them. Chapter 2 is the original uncut version, slightly modified, with 1983 references.
Critical lens. The introspective account of tokens and types is suggestive but untested by Hofstadter himself; the one experimental citation (Novick and Coté) concerns parallel processing in experts, not the type/token build-up he describes. The claim that almost nobody had noticed the virtual-object level-distinction is overstated: it is the familiar type/token and levels-of-description theme of 1980s philosophy of mind and of connectionist debates, which Hofstadter himself helped popularise in Gödel, Escher, Bach. And the machine-learning editors had a point: Jumbo has no learning mechanism; the connection Hofstadter sees is that perception and chunking precede any learning worth the name.
Blackboards and terraced scans today. Hearsay II's blackboard, with cheap triggers waking costly specialists, is the ancestor of event-driven architectures and of today's multi-agent LLM orchestration: lightweight routers or classifiers watch a shared state and wake expensive tools or models only when warranted. The terraced scan is the standard cascade in production AI: cheap retrieval over millions of candidates, a re-ranker over hundreds, an LLM over a handful, exactly the sorority-rush shape. What FARG adds is probabilism and revisability: candidates culled early can be resurrected if pressures change, which most deterministic cascades cannot do.
Jumbo builds English-like pseudo-words out of scrambled letters, with no dictionary, by letting letters "spark", "flash", bond and "glom" into clusters, syllables and words through thousands of tiny probabilistic actions; it is FARG's first working program (1982) and the prototype of everything that follows. Written in 1983 and left untouched, the chapter introduces codelets, the Coderack, urgencies, happiness, the terraced scan, structure-preserving transformations (regrouping, spoonerisms and their cousins), temperature, and the case against the "Boolean Dream" of laws of thought at their own level. Jumbo's intelligence, such as it is, is not programmed in anywhere: it emerges statistically from many small program-fragments interacting, and "perhaps the major part" of it resides in the hingepoints of its flexible data structures.
From the guessing of newspaper enigmas to the plotting of the policy of an empire there is no other process than this.
Not mumbo-jumbo: cognition equals recognition
Jumbo has "a concrete purpose and an abstract motivation". The motivation is a long-term FARG goal: to show that cognition is "deep perception", the non-modality-specific layers of perception that funnel input into highly abstract, often nonverbalisable categories. Intelligence "emerges out of the interactions of many thousands of parallel processes that take place within milliseconds and are inaccessible to introspection"; in caricature, "cognition equals recognition".
Herbert Simon: everything of interest in cognition happens above 100 milliseconds, the time to recognise your mother; the billions of neurons in perception are "no more relevant than the number of electrons in a diode", implying an "Ohm's Law" level of description that sidesteps the substrate.
Hofstadter: deep perception, "the murky area where syntactic sensations interface with semantic categories", is an almost untouched problem, and this syntactic-semantic transition zone is "the core mystery of all of intelligence". Before machines can learn, we must understand how concepts are structured, addressed and compared, so Jumbo is "a prelude to a more ambitious project in learning".
Jumbo and Jumbles
The concrete purpose is to imitate skills used in the newspaper game Jumble (Henri Arnold and Bob Lee): find an English word made of a few given letters. Jumbo has no dictionary. It knows only how, in English, consonant and vowel clusters form from letters, syllables from clusters and words from syllables, so it is a building program, assembling "conceptual molecules" called gloms at several levels.
There is no dictionary because skilled Jumblists find pseudo-words "flash into their mind rapidly and effortlessly, then metamorphose fluidly"; the process is unconscious, they "simply watch it happening", and most candidates are non-words "with the right ring to them": "the charm of the game". Checking a candidate against the vocabulary is secondary; a big dictionary "would be utterly irrelevant to Jumbo's serious purpose", which is to model assembly and transformation, not to be "an expert system for playing an insignificant word game", and to export these processes to richer domains.
Why the domain matters
Jumbles exemplify how we "mentally juggle many little pieces and tentatively combine them into various bigger pieces" to make something "novel, meaningful, and strong". Hofstadter illustrates on his own prose: he reversed "strong, meaningful, and novel" for effect, and ten years later swapped this whole section with the next to improve the flow. Multi-level cleaving, splicing, regrouping, reordering and rearranging permeate creation in music, art, literature and science.
Perception is the same kind of process. In temporal perception (speech, music) order is given but boundaries are not: good guesses at the smallest level may build the right top-level structure at once, but the process must handle failure at any level as easily as success. In static vision there is not even a scanning order. Any architecture for such processes embodies many subtle decisions about how independent processes interact and how structures are built and broken. The speech-understanding system Hearsay II is "a sophisticated example"; Jumbo pursues the theoretical side with a deliberately tiny domain, since "idealization makes things easier to analyze".
Two basic analogies
The cell and the romance
- Cell: levels of molecule. Atoms are letters; covalently bonded small molecules (H₂O, OH, CO₂) are tight clusters like th, ng, ck; amino acids, bound less tightly, are higher clusters like thr (th + r), ngth, cks; polypeptide chains held by weaker peptide bonds are syllables (often whole words); multi-chain proteins are multisyllabic words. Under stress a structure breaks at its natural breaking-points, between the highest-level constituents, though in unusual circumstances anywhere.
- Cell: distributed assembly. Molecules are assembled throughout the cytoplasm, not in a central factory, by standard pathways of dozens of steps, followed by many independent, unsynchronised processes.
- Romance: staged bond formation. Two people must first come near enough to notice each other (chance); a positive noticing is a "spark"; surviving flirtation, a "flash" (mutual infatuation, no bond yet); casual dating ("dalliance"); then a genuine bond, a "romance"; beyond that, "marriage".
- Romance: breakups. Bonds break from internal tension or when a more attractive partner appears; the outcome depends on the marriage's internal "happiness", the newcomer's promise, and society's mood about divorce.
- Cell: enzymes. Assembly and disassembly are mediated by specific agents, enzymes (which are themselves proteins, "an intriguing loop"): one kind of agent per kind of operation, building or breaking.
Parallelism on the model of the cell
In a cell many activities happen at once in different places. An anabolic (bond-forming) enzyme has active sites matching specific molecules; it wanders until something fits one site, latches on, wanders until the second site fills at random, then joins the two and releases the product, which becomes material for another enzyme. Larger pieces get built "in something of a random way", yet elaborate pathways such as the Krebs (citric acid) cycle run "efficiently and reliably". Jumbo copies this distributed parallelism, virtually, since it runs on a sequential computer, though it could be adapted to suitable parallel hardware.
Sparks, affinities and the chunkabet
All letters start "lonely". Picture them floating in a three-dimensional fluid, Jumbo's cytoplasm; two that come close enough can "see" each other and possibly spark. Initially success depends on pure affinity ("chemistry"): s then h attract strongly, h then s not at all.
Chunkedness, not adjacency. "hs" occurs in withstand and booths, but this is a red herring ("Red or not, it is an important herring to analyze"): in withstand the h belongs to "with" and the s to "stand", like two strangers "sitting back to back in adjacent booths"; in booths the neighbours are the cluster th and the letter s. The "sh" in gashouse or mishap is equally coincidental. Affinities come in degrees: n-g strong, d-w mild (as in "dwell"), j-x none.
Affinities live in a static table "clunkily but picturesquely dubbed the chunkabet", filled in by Hofstadter from introspection about his own inclinations when doing Jumbles.
| Cluster | Ratings | Cluster | Ratings |
|---|---|---|---|
| sc | initial 2 | ss | final 5 |
| sh | initial 8, final 8 | st | initial 8, final 4 |
| sk | initial 4, final 4 | str | initial 3 |
| sl | initial 5 | sw | initial 3 |
| sm | initial 5, final 2 | oa | initial 2, middle 4 |
| sn | initial 2 | oi | middle 4 |
| sp | initial 4, final 2 | oo | middle 5, final 2 |
| s-ph | initial 2 | ou | initial 2, middle 3 |
| sq | initial 3 | ow / oy | middle 3, final 3 / final 3 |
"sp: initial 4, final 2" rates sp as a syllable-opening cluster (spit) at 4 and as a closing one (clasp) at 2; "ou: initial 2, middle 3" rates it opening (our, out) at 2 and between consonants (flour, shout) at 3. Hyphens encode internal structure: s-ph (sphere, sphinx) must split as s + ph, never sp + h, whereas str may be st + r or s + tr.
Numbers from the armchair. Hofstadter "felt no compunction" to use frequency counts or experiments: the aim is a model of fluid transformation, not an anagram expert, and good Jumblists carry subjective affinities, not frequency tables, so his rough estimates were "perfectly faithful to psychological truth". Random numbers would have made Jumbo act "as if a Martian were doing Jumbles" and hence unjudgeable. The argument is reasonable for a proof of concept, but "faithful to psychological truth" is asserted, never measured; one person's introspected ratings are a single, untested data point.
Codelets and the Coderack
A spark is a short-lived data structure saying who sparks with whom, in which order. With it comes a codelet, a small piece of code placed on the Coderack (named after a coat rack, where coats are hung and removed "at any spot along it"). When run, the codelet evaluates the spark's viability: if the flirtation fails, both letters go "on their merry ways"; if promising, it creates a flash. All processing in Jumbo is done by codelets.
Urgency and weighted random choice. Each codelet has an urgency; the next codelet to run is chosen at random with probability proportional to urgency, so urgency 10 is five times likelier than urgency 2, with no guarantee. With 100 codelets of urgency 1 and one of urgency 10, the urgent one has only 1 chance in 11. A codelet leaves only two traces: changes in the cytoplasm, and follow-up codelets on the Coderack. This self-propagation lets long processes run as small disjoint steps, like chains of reactions in a cell.
The terraced scan
Sparks, flashes and dalliances come in stages, rather than testing "the whole darn thing at once", because of real-time pressure: thorough evaluation is costly, and when there are many options one must avoid exploring all of them equally. Nobody reads every book in a shop cover to cover. The terraced scan is "a parallel investigation of many possibilities to different levels of depth, quickly throwing out bad ones and homing in rapidly and accurately on good ones" (the term is Hofstadter's; the idea was implicit in Hearsay II).
- Stages of rising cost. Quick superficial tests come first; only passing candidates get costlier tests.
- Graded, not binary. Each test yields a score, which sets the urgency of follow-up codelets, if any.
- Serial emulation. On parallel hardware, quick tests would run on many items, slower ones on fewer; on serial hardware the stages of many explorations are interleaved, which is Jumbo's strategy.
- Dynamic speed. Important processes should get more computing power, promising ones request more, unpromising ones relinquish it; Jumbo approximates this by splitting processes into codelets whose urgencies each stage sets for the next.
The obvious objection, answered. A cursory test may discard something precious: a great paper rejected for a misspelled title, a great book passed over for an ugly cover typeface. Hofstadter's reply is that if tests are not "too simple-minded", quick elimination is usually sensible and reliable: you can safely discard a flat-earth paper or a book in a language you cannot read, and most people eliminate nearly all potential mates by quick cues (gender, age, appearance, dress, mannerisms). Evolution built us so that quick filters work; we ignore most ads, books, people, music, shows and countries, and do fine. The reply is sound as engineering; as a description of human mate choice and hiring it also describes how bias gets baked into early filters, a cost the 1983 text does not weigh.
Romances among the letters
Letters spark; successful sparks become flashes; successful flashes engender codelets that bond letters into a glom; gloms in turn spark, flash and bond into larger gloms. Different pairs are at different stages simultaneously, out of phase; spark-evaluators, flash-evaluators and other codelets "commingle and coexist in the Coderack without conflict". One item may pursue two romances at once by interleaving, up to the point where further progress requires commitment.
Bonds, chains, gloms and membranes
Two levels of commitment
- Bond: couples two neighbouring structures with some strength. Bonded items form a chain, open at both ends, that can grow to any length and mix bond types. A chain is not a new object with an identity; its members remain fully exposed and free to spark and flash with passers-by.
- Glom: wraps suitable bonded items in a "membrane", creating a higher-level object with its own properties and its own node (constituents, type such as syllable or word, happiness). Members become largely shielded from outside sparking; the glom sparks at its own level. A glom can fuse more than two items if their union is natural: a syllable such as broach joins an initial cluster (br), a vowel cluster (oa) and a final cluster (ch).
Understanding membranes and the level-distinction they create is, Hofstadter insists, essential. A chain t-h-e is not the chain th-e: the latter requires first upgrading t-h into the consonant-cluster glom "th", which then bonds to "e" with a bond of a different kind. The glom "th" is strongly attracted to a following r; "h" alone has no interest in r, so "three" could never be built from chains alone.
Gloms replace their pieces in the cytoplasm, like marriage "at least in theory". Codelets still referring to the pieces are not purged; they simply fizzle when run, "like learning that someone you find attractive is involved". But a piece inside a glom may spark so strongly with an outsider that the glom is threatened; depending on the glom's happiness the challenger may win, dissolving the old bonds. "What really inhibits such exploration is happiness, not mere commitment."
One reality, many counterfactual musings
Glomming yields ever fewer, ever larger gloms, aiming at one coherent, hierarchical top-level structure, a candidate for wordhood (imagine enzymes whose collective goal is "the most viable 'chemical sculpture'" from a set of atoms).
Hearsay II: builds several rival top-level interpretations of an utterance at once; a vision analogue would hold several full scene interpretations in parallel.
Jumbo: keeps one reality. We never see a Necker cube, the vase-faces or the rabbit-duck both ways at once, only flip between them, so parallelism matters for assembling one structure and matters less and less at higher levels; Jumbo moves from distributed and parallel to localised and serial until a single top-level glom remains.
What Jumbo does allow is parallel musing: dipping into nearby counterfactual states of the cytoplasm without changing it, "like inconsequential little daydreams". A musing tempting enough gets carried out, replacing the old state rather than coexisting with it. One amino acid cannot belong to two proteins, and a normal person cannot hold two truly committed romances, though light flirting is common even among the married.
Musing codelets versus action codelets. Musing codelets are read-only: they contemplate possibilities (evaluating sparks or flashes). Action codelets write: making, breaking, strengthening or weakening bonds. Early on, nonoverlapping actions run (virtually) simultaneously; as gloms merge, parallel action gives way to seriality, but the parallel contemplation of possible actions, the terraced scan, "continues unabated".
Happiness and squeaky wheels
Every glom has a numerical happiness with two components.
- Internal happiness: how well the glom realises its Platonic ideal (vowel cluster, syllable, word): bond strengths, completeness, how well pieces fill their roles, and recursively the parts' own happiness. thic is a complete syllable (initial cluster, vowel, final cluster) but c is only a mediocre final consonant; thick, with the strong final cluster ck, is very happy. ing lacks an initial cluster yet is internally happy (roles are like "wife" and "husband": not every syllable needs all three).
- External happiness: fit with the current cytoplasm. in is internally happy but, unattached, unhappy in another way, like George asking "How good a husband would I make?" with no wife in view. Given a, b, o, t, if bot forms, the left-out a becomes very unhappy, more so the longer it stays unmated and the more its peers are paired: jealousy.
Unhappiness squeaks, like a "personals" ad: the incomplete thi squeaks loudly, thic less. Squeaking is implemented by giving high urgency to a codelet that puts the item on a queue of potential sparkees: "it's the squeakiest wheel that gets the oil, at least probabilistically". Jumbo's overall goal: one happy top-level glom.
# Toy Jumbo: letters glom into clusters, clusters into syllables. Urgencies come
# from a tiny hand-made "chunkabet"; the Coderack picks at random, weighted by
# urgency, with temperature flattening (hot) or sharpening (cold) the weights.
import random
CLUSTER = {'th': 8, 'sh': 8, 'st': 8, 'ng': 7, 'ck': 7, 'gl': 5, 'pl': 5, 'ss': 5}
INITIAL = {'th': 8, 'sh': 8, 'st': 8, 'gl': 5, 'pl': 5} # onsets ('ng' is absent)
FINAL = {'ng': 7, 'ck': 7, 'ss': 5, 'st': 4, 'sh': 8} # codas
def pick(rack, temp, rng): # weighted coderack choice
w = [u ** (1.0 / temp) for u, _ in rack]
return rack[rng.choices(range(len(rack)), weights=w)[0]][1]
def build_word(letters, temp=1.0, seed=0):
rng, pieces = random.Random(seed), list(letters)
while rng.random() > 0.3: # sparks; some fizzle
rack = [(CLUSTER[a + b], (i, j)) for i, a in enumerate(pieces)
for j, b in enumerate(pieces) if i != j and a + b in CLUSTER]
if not rack:
break
i, j = pick(rack, temp, rng)
pieces = [p for k, p in enumerate(pieces) if k not in (i, j)] + [pieces[i] + pieces[j]]
vowels = [p for p in pieces if p in 'aeiou']
cons = [p for p in pieces if p not in 'aeiou']
syllables = []
for v in rng.sample(vowels, len(vowels)): # each vowel heads a syllable
parts = ['', v, '']
for slot, table in ((0, INITIAL), (2, FINAL)):
ok = [(table.get(c, 3 if len(c) == 1 else 0), c) for c in cons]
ok = [x for x in ok if x[0] > 0]
if ok:
parts[slot] = pick(ok, temp, rng); cons.remove(parts[slot])
syllables.append(''.join(parts))
return '-'.join(syllables) + (' +' + ''.join(cons) + ' squeaking' if cons else '')
for seed in range(8):
print(build_word('pangloss', temp=1.0, seed=seed))
Run on pangloss it produces candidates such as plong-ass, glap-noss, gon-plass and plang-oss, and sometimes leaves letters unattached and "squeaking", the cue in the real program for further sparking or rearrangement.
Looking for alternative solutions
Bottom-up building often fails to yield an excellent candidate, and even a stunning pseudo-word (glinced, knoodler, wrovening) may be rejected by a user who dislikes its sound, wants a real word, or wants to explore. Tearing everything down to letters would waste "a lot of care" invested at lower levels; far smarter is to fiddle with what has been built.
Intelligent backtracking (classic AI): undo the last decision and take another branch, or keep undoing earlier decisions until a promising point appears; choose branches by reasoning.
Jumbo's rationally biased coin-flipping: reasoning everything out is often impossible, and the best-calculated branch may fail anyway, so make a snap educated guess, biased by urgencies (smart ideas high, dumb ones low), and see what happens. Randomness keeps all pathways open, so "the most interesting routes" can be found by accident, whereas a deterministic "best choice" strategy closes many off a priori. A simple probabilistic control structure is "rubbery"; complex control structures are "highly brittle".
Transformations: regrouping and rearrangement
"Entropy" here means perceived disorder: a cytoplasm of free letters has maximal entropy, one happy pseudo-word minimal. Entropy-preserving transformations keep the number of gloms; entropy-increasing ones destroy gloms.
- Regrouping (mildest): readjust internal boundaries without moving anything: no-where/now-here, super-bowl/superb-owl, week-nights/wee-knights, man-slaughter/mans-laughter. On pang-loss, moving the g gives pan-gloss; but pa-ngloss is forbidden, since ngl is no initial cluster and would "never enter the mind of a human". Syllables can also fuse or split like drops of liquid: so-ap → soap, and conversely coop → co-op; coax is either co-ax (as in coax cable) or c-oa-x, but never both at once (seeing both is a use/mention illusion).
- Rearrangement (more drastic): shuffle pieces into new gloms at the same level, akin to shuffling in genetic algorithms (Holland, 1975).
| Operation | What swaps | pang-loss becomes |
|---|---|---|
| Spoonerism (after the Reverend Spooner) | initial consonant clusters | lang-poss |
| Forkerism | final consonant clusters | pass-long |
| Kniferism | vowel groups | pong-lass |
| Partial spoonerism | pieces of clusters | pan-gloss → gan-ploss |
| Syllable swap | whole syllables | loss-pang |
| Reversal | clusters (stan → nast) or letters (stan → nats) | needs checking: knots → tsokn, thump → pmuht, head → daeh are impossible |
| Sporkerism | one syllable's final cluster for the next's initial cluster | plag-noss → plan-goss |
| Foonerism | the complementary trade |
Because reversals so often produce monsters, musing codelets must vet them first: Jumbo is "permeated by randomness" but also "by dynamic tests imbuing it with caution and foresight". A proposed trade resembles a baseball team offering its pitcher for another team's left-fielder: the weaker each side in a position, the keener the trade, and the more valuable it looks, the higher the urgency of the resulting action codelet; the terraced scan operates here too.
A second walk: now-here → (regroup w) no-where → (letter-level reversal of the first syllable) on-where → (degenerate spoonerism) whon-ere → (syllable-level reversal) ere-whon: Samuel Butler's Erewhon, "nowhere" backwards. Such operations "bring letters together in unanticipable ways" and encourage serendipity far more efficiently than random association.
Fluid data structures
These transformations are not domain quirks. To recognise anything (one of thousands of ways of drawing an "A", a "dog", a "game", a "weakness", a "metaphor") there must be room for flexing both the Platonic abstraction and the representation of the thing until they meet: readjusting internal boundaries, reassessing connection strengths, rearranging parts. "Thought's fluidity emanates from the nonrigidity, the fluidity, of representational structures."
Hingepoints in the structure itself. Reconformability must reside inside the data structure, ready to flex "if you just 'tap' it the right way", with natural hingepoints, unlike a passive structure transformed from outside by an "intelligent" reasoning engine (the usual AI sense of "change of representation"). Jumbo's structures flex because their bonds have different strengths and their gloms different happinesses: they break easily in some places, resist in others, and "want" to come back together in natural ways. The cellular analogue is the allosteric enzyme, with two very different stable configurations between which a chemical trigger snaps it, like nowhere, superbowl, weeknights, coax. "Perhaps the major part of the intelligence of Jumbo ... Resides collectively in the hingepoints of its data-structures."
Creative minds keep up "a playful twisting-around of mental structures of all sorts": turning them inside-out or backwards, regrouping, inserting or erasing levels, and staying alert to quirky side effects. Idly anagramming astronomer, you cannot foresee anything special, yet "moon starer" lurks there (Bergerson's 1973 collection has many such). This happens only to people who enjoy browsing their representations "like gaily colored toys".
Entropy-increasing transformations
If shuffling fails to raise the cytoplasm's happiness after a while, Jumbo shifts priorities and pours disbanding codelets into the Coderack: smash the word into syllables, the syllables into clusters (pang-loss → p, a, ng, l, o, ss), and hope new gloms bubble up; if not, disband further. (Humans sometimes go further still and change a letter, jumping out of the system, which is beyond the model.)
The action codelets for disbanding are dissolvers, created only after a musing codelet approves, and with low urgency if a gentler remedy might work. Targeted dissolvers attack a specific troublesome glom; nontargeted dissolvers attack any glom, and a load of them, "like a horde of hungry piranhas", can quickly return the cytoplasm to disorder. The catch: put ten in the rack, five suffice to reach raw letters, and the remaining five may later wreck the newly emerging order.
Temperature and self-watching
Temperature. A global variable, low when top-level gloms are happy and high when they are unhappy; one single happy glom is "freezing", and then dissolving is prevented. When boiling, nontargeted dissolvers may tear apart any glom; when warm, they are inhibited in proportion to their target's happiness. Temperature is the cytoplasm's "mood of society regarding divorce", and it acts like the control rods of a nuclear reactor: lower it when things get wild, raise it to "pump in some craziness" when things go nowhere.
Paul Smolensky suggested (1983) that temperature modulate the interpretation of urgencies: as temperature rises, selection probabilities should tend to equality; as it falls they should increasingly favour high urgency, until at freezing urgency becomes absolute ranking and choice deterministic. Low-urgency processes would then "flow like molasses in January". Temperature must be measured by codelets that compete like any others, urgent enough to run often, not so urgent "that the system spends all its time taking its own temperature".
Runaway loops and the self-watching problem. A self-organising system can melt down. A codelet with huge urgency that replaces itself with a copy traps the system in a deterministic, fatal loop; a word can be cleaved into two syllables and immediately rejoined, over and over, worse still alternating "pan-gloss" and "gloss-pan", loop-like but not cyclic and hard to detect. The remedy is self-watching: a census of the Coderack (codelet types and their share of total urgency) and a summary of the cytoplasm (top-level gloms' bare letter sequences), so domination or quasi-periodic assembly becomes visible. But the watchers are themselves codelets competing for time, and could be locked out too. In 1983 none of this was implemented; it is "something to look forward to", reminiscent of consciousness, and it resurfaces a decade later as Metacat (Chapter 7).
A self-sensitive, self-driven system
Codelets of every type mingle in the Coderack: sparkers, spark-evaluators, flash-evaluators, disbanders, regroupers, rearrangers, temperature-takers. A disbander, as "a parting gesture", posts new spark-makers; spark-makers are replaced by flash-makers, flash-makers by bond-makers. There is no top-level driver; the flow results from "many weights and many random numbers".
Randomness makes Jumbo sound stupider than it is: in life one must often decide at random to escape "an infinite regress of exploring consequences and meta-consequences"; "at some level, because of time pressure, reflection must give way to reflex", which is fine if the reflexes are well tailored. Urgencies and happinesses do the tailoring: some urgencies are fixed (spark generation), others vary with the perceived mutual suitedness of the structures involved, itself a function of affinities (fixed facts about English) and happinesses. The result is "an exquisitely self-sensitive collection of processes", akin to the "Prelude... Ant Fugue" of GEB.
Epilogue: epiphenomenal intelligence and the Boolean Dream
Jumbo's intelligence "emerges as a statistical consequence" of interacting program-fragments, like a chess program with a tendency, obvious to keen observers, of "liking to get its queen out early", which its programmers never put in. Dennett calls such qualities "innocently emergent"; Hofstadter calls them epiphenomena. A third analogy joins the cell and the romance: statistical mechanics, where macroscopic order emerges from microscopic disorder: "thermodynamics = statistical mechanics".
The heart: describable at its own level without its muscle cells; the pump metaphor works so well that the heart simply is a pump. If minds are like hearts, that is "good news for traditional AI".
The cloud: treating clouds as solid, sharp-edged objects may never yield reliable laws of "nubodynamics"; likewise there may be no reliable high-level laws of "thinkodynamics".
Hofstadter calls traditional AI's holy grail the "Boolean Dream", after George Boole's 1850s Laws of Thought, today's Boolean algebra (the propositional calculus). Rigorous reasoning has turned out to be "but a minor and atypical twig on the tree of human thought". The real question is not whether Boole's laws are the laws of thought but whether any formal laws govern thought at its own level. Most AI people hope so, and some think denial is mystical or antiscientific. Hofstadter disagrees: AI and the Boolean Dream are related but not synonymous, and the Dream's death would simply mean some high-level phenomena are innocently emergent. AI's task would then shift to the laws of subcognitive events, "mentalics", which collectively make up thinkodynamics.
The corny equation. "Thinkodynamics = statistical mentalics." And the closing pun: Boole himself might exclaim "O, a noble dream!", an exact anagram of "Boolean dream", made by exactly the kind of letter-juggling the chapter models.
Critical lens. (1) The chapter reports no performance data: no runs, no counts of candidates, no comparison with human Jumblists; Jumbo is presented through its design, and its key self-watching and loop-detection features were unimplemented. (2) The Jumble figure in the book is dated 1984 although the chapter was written in 1983; it was evidently added during revision. (3) The "Simon" position is drawn partly from a private conversation (1982), so it is a sharpened version of his published 100-millisecond view.
Jumbo's descendants and cousins. Temperature-modulated random choice is close kin to simulated annealing (Kirkpatrick, Gelatt and Vecchi, Science, 1983, published the same year as this chapter) and to the sampling temperature of today's LLMs, which flattens or sharpens a probability distribution over next tokens exactly as Smolensky proposed for codelets. Jumbo's glomming of letters into clusters is also an ancestor-in-spirit of subword tokenization (byte-pair encoding merges frequent adjacent pairs into units), though tokenizers freeze their gloms once and for all; 2024 studies report that LLMs remain weak at character-level tasks such as unscrambling and letter counting, which humans find trivial. For engineers, the musing versus action codelet split is the read/write separation of safe agent design: let many cheap evaluators propose, and let few, vetted actions change shared state.
How a Belgian psychologist's sabbatical produced Numbo, a Jumbo-like program for the French TV numbers game Le compte est bon, and why later experiments on human estimation suggest that skilled minds really are nondeterministic. Hofstadter tells the story of Daniel Defays's year in Ann Arbor (1986–87) and then turns to Ann Dowker's finding that the best mental estimators are the least consistent in method. Expertise and flexibility are "two faces of the same coin": skilled people have a wide palette of strategies and pick among them variably, which gives an after-the-fact justification for building probabilistic choice into Numbo.
"Le compte est bon"
In summer 1985 Hofstadter received a letter from Daniel Defays, a mathematician and professor of psychology at the University of Liège, asking to spend a sabbatical learning AI with FARG and sketching a project. Late in summer 1986 Defays ("Dany") and his family arrived in Ann Arbor, and over a series of lunches the two worked out an architecture for a program to play the French television game Le compte est bon ("the count is right").
The game, as Numbo plays it. Five randomly chosen smallish integers, the bricks, and one larger random target; combine bricks with addition, subtraction and multiplication to make the target exactly. Like Jumbles, it builds small pieces into chunks and chunks into bigger chunks until a top-level chunk meets the goal, but the combinations allowed and the goal differ sharply from Jumbo's.
After a month or two of planning, Defays was "chomping at the bit" and started implementing the program, quickly dubbed "Numbo" for obvious reasons, while also sitting in on AI and cognitive-science courses and spending time with his family.
A remarkably productive year. By the end of the school year Defays had built "a very impressive working program" (with some loose ends) and had quietly drafted a book on AI, which Hofstadter read "with great enthusiasm" ("little wonder", since it praised FARG's projects and described Numbo well). The family left in late summer 1987; the book appeared as L'esprit en friche (1988), literally "Mind Lying Fallow", perhaps better rendered "Seeds of the Mental".
No later FARG work grew directly out of Numbo, but Hofstadter values its "charm and elegance". It supports his thesis that mental recombination of primitive objects is not peculiar to Jumbles, though it is still game-playing, and it displays "a liveliness of mind ... That goes along with a general creative attitude".
The human mind as a stochastic processor
A few years later, Ann Dowker, a psychologist at Oxford, sent him a manuscript on computational estimation: how people estimate quantities such as 76 × 89 or 546/33.5. Her subjects, many of them mathematicians, used a large set of standard techniques.
Estimation techniques Dowker observed
- Rounding one or two numbers up or down.
- Replacing numbers by more familiar ones.
- Factoring numbers.
- Regrouping multi-factor products.
- Using fractions or powers.
- Exploiting simple algebraic identities, such as (a + b)(a − b) = a² − b².
Her key design: test each person twice, six months apart, looking for consistency not of answers but of methods. Better estimators switched strategies far more often than poorer ones: skill and consistency were negatively correlated. Her explanation: skilled people simply have more strategies to choose from.
Research mathematicians ... Are paradoxically experts at dealing with situations where they are not experts.
She adds that mathematicians have "an effective cognitive map of the territory", so they can take unfamiliar routes without getting irreversibly lost, whereas people with limited "number sense" must stick to known paths; and that such willingness to venture is probably common to creative people in science, art and elsewhere.
Philip Johnson-Laird (psychologist): inclined to believe in some kind of randomness in the brain behind creativity.
Margaret Boden (philosopher): dubious that randomness is needed.
Dowker herself is inconclusive about why people change method on the same problem, but is clearly predisposed to cognitive nondeterminism, especially in creative thought, and cites models using it, Copycat and Numbo among them. Hofstadter takes her results as "an excellent a posteriori justification" for the intuitive choices in Defays's program.
Critical lens. (1) Variability of method over six months is evidence of a large repertoire and context sensitivity; it does not show that choice among methods is random in the sense of Numbo's weighted coin-flips. A deterministic system sensitive to tiny contextual differences would look just as "nondeterministic", which is roughly Boden's point. (2) The television game differs from Numbo's version: in Des chiffres et des lettres (on air since 1965, the model for Britain's Countdown, 1982) players get six numbers, a three-digit target from 101 to 999, and division too. Numbo's five bricks and three operations are a deliberate simplification, not the real rules.
Countdown as a reasoning benchmark. The same numbers game became a standard testbed for training LLM reasoning with reinforcement learning. Gandhi, Goodman and colleagues (2025) used Countdown to show that small models improve under RL only if they already exhibit verification and backtracking, and that priming one with examples of those behaviours, even attached to wrong answers, let it catch up. That is Dowker's point in modern dress: what matters is a repertoire of moves and the willingness to switch, not a fixed route. For teams evaluating AI on arithmetic or planning, the lesson is to measure strategy diversity and recovery from dead ends, not just final accuracy.
Daniel Defays's Numbo plays "Numble" (the French Le compte est bon): make a target number from five bricks with addition, subtraction and multiplication, the way people do, by noticing, associating and chunking rather than by systematic search. Its architecture borrows from Jumbo and Copycat: a permanent spreading-activation network of arithmetic facts (the Pnet, with its "bipeds" and landmark numbers), a cytoplasm where bricks, blocks and secondary targets are built and dismantled, probabilistic codelets on a Coderack, and a temperature. Numbo's "intelligence" is "simply a by-product of the competitive interplay of many myopic and dumb processes operating in parallel at several levels of abstraction", and it reproduces the human pattern of finding obvious solutions instantly while missing elegant ones nobody sees.
Reasoning is reckoning, or cognition is recognition?
Hobbes's "Reasoning is reckoning" has, some 300 years on, a growing AI following; "Cognition equals recognition" is the motto of a rival group (Hofstadter, Rumelhart, Schank and others). The boundary is ill-defined, but perception is usually seen as parallel, unconscious and goal-independent, reasoning as serial, conscious and goal-driven. Numbo is meant to clarify how they relate, by modelling one aspect of human thought: the ability "to fluidly group, take apart, and restructure the components of ideas, and to use these structures to achieve a goal". Defays calls the game "Numble" by analogy with Jumble, and places Numbo in the family of Jumbo, Seek-Whence and Copycat.
The game of Numble
A target is chosen at random between 1 and 150, five bricks independently between 1 and 25; addition, subtraction and multiplication may be combined freely, each brick used at most once. All examples have solutions.
Why Numble interests cognitive scientists
- It is representative of a large class of problems: well-defined goal, allowed operators and operands, standard search applicable.
- Human solving needs construction of larger units from smaller ones, with creation and destruction of temporary structures at several levels.
- It needs rearrangement and dismantling of those structures.
- It needs interaction of a priori knowledge, familiar concepts and salient features of the input.
| Puzzle | Target | Bricks | What people do, and what it shows |
|---|---|---|---|
| 1 | 114 | 11 20 7 1 6 | 20 × 6 − 7 + 1; the shortest, (20 − 1) × 6, is "virtually never reported" |
| 2 | 87 | 8 3 9 10 7 | 8 × 10 + 7 ("there is a 7!") or 9 × 10 − 3; never 9 × 7 + 8 × 3, 7 × 10 + 8 + 9 or (8 + 3) × 7 + 10 |
| 3 | 31 | 3 5 24 3 14 | path after path fails; on retest, different paths in a different order: the amount of knowledge determines the strategy |
| 4 | 25 | 8 5 5 11 2 | no computation: spot the two 5's |
| 5 | 102 | 6 17 2 4 1 | try 6 × 17 because it "looks" near 102, and it happens to be exact: approximate size and uncertainty shape strategy |
| 6 | 146 | 12 2 5 7 18 | a few people think of 144 = 12², set a subgoal "another 12", make it as 5 + 7: 12 × (5 + 7) + 2; top-down and bottom-up intertwine |
In puzzle 2, solvers report "I see a 10 and an 8. The target can be decomposed as 80 + 7. I still need a 7. Oh, there is a 7!". The syntactic fact that the target's leading digit 8 is itself a brick often drives the answer, and 9 × 10 − 3 is driven by 90 being close to 87: surface features and a priori knowledge "interact to catalyze a rapid solution". "At least as interesting" as the answers people give is what they never notice.
Three lessons from human play. (1) The amount of knowledge available determines the nature of the strategy: knowledge-guided search looks systematic, describable as nested subgoals (the subgoal 90 in puzzle 2); without it, search looks erratic and is never repeated the same way (puzzle 3). (2) Very different kinds of knowledge are called upon, and uncertainty affects strategy: instant recognition (two 5's), approximate size (6 × 17 is "somewhere near" 102), procedural calculation. (3) Top-down and bottom-up strategies coexist and are deeply intertwined. Simulating human play perfectly is "folly", so some aspects are handled ad hoc; human arithmetic errors, for instance, are ignored.
The architecture
Inspired by Copycat, itself derived from Jumbo, Numbo has three components: a spreading-activation network of permanent knowledge (the Pnet), a working memory where all problem-solving happens (the cytoplasm), and codelets, small operators encoding procedural knowledge. Codelets act on working memory (create, access, modify structures), create other codelets for the Coderack, and raise or lower activation of Pnet nodes. Each codelet gets an urgency; the chance of running next is its urgency divided by the total, so of two "competing" codelets ("in the manner of two people waiting for a taxi") neither is guaranteed to go first.
The Pnet: bipeds and landmarks
People blend three kinds of knowledge effortlessly: rote small-number arithmetic (6 + 1 = 7), approximate size (20 × 6 should land near 114), and procedural arithmetic (we can work out 6 × 19). The standard AI approach would encode everything as production rules under a control module, as in Soar (Laird, Rosenbloom and Newell, 1987). Numbo instead stores rote declarative knowledge in a network, the Pnet (about 100 nodes).
What the Pnet contains
- Small integers and their additive and multiplicative decompositions, memorised rather than computed: "6 = 2 × 3" is a biped whose feet are 2 and 3, whose tummy is the "×" node and whose head is 6.
- Landmark numbers (10, 20, 30, ..., 100, 150), "regular markings on a mental ruler", each with standard decompositions: 100 = 10 × 10 and 100 = 5 × 20. Such a fact is really about numbers near 100, 5 and 20: if you want something near 100 and have bricks near 5 and 20, try their product.
- Salient numbers, idiosyncratic to the person (128 for a computer scientist; 144 = 12 × 12), stored exactly like 3 × 3 = 9; individual variation here partly explains why people answer the same puzzle differently.
- Concept nodes: "addition", "subtraction", "multiplication", "similar", because a person shown target 114 thinks of multiplication "almost as if the concept ... Had 'lit up'" before calculating.
- Link-label nodes: "multiplicative operand", "multiplicative result" and so on. Each link is labelled by a dotted meta-link to such a node.
What goes in is a judgement call. Defays excludes "100 + 7 = 107", "20 + 20 = 40", "8 × 111 = 888" and "3 × 21 = 63": though nearly immediate, they have a "manufactured flavor", compounded from more basic facts ("20 + 20 = 40" is "2 + 2 = 4" with trivial syntactic changes). "We do not 'see' that 22 × 3 = 66 in quite as primordial a way as we 'see' that 2 × 3 = 6."
Activation, weights and labels. Each node's activation is Numbo's current interest in it. Activation spreads to neighbours, but (as in Copycat's Slipnet) not isotropically: a link's capacity to transmit, its weight, grows with the activation of its label node, so when "multiplicative result" is hot, the link from "100" to its "×" carries much activation. With a target near 100, "100", "multiplication" and "multiplicative result" all light up, activation converges on the tummy of the 5 × 20 biped, and the network in effect suggests "something like 5 times 20". To keep blind spreading from turning chaotic, focused inputs pump activation periodically: a brick 5 into node "5"; a target 146 into nearby landmarks (140, 150) and salient 144 (there is no "146" node, too rare for anyone to keep "a permanent dossier on it").
Associative storage lets different kinds of knowledge be stored uniformly, lets one target evoke many ideas at once (a "halo" of connotations), allows flexible shifts of attention, is task-independent, and draws on proven network techniques.
The cytoplasm
All temporary, puzzle-specific building and dismantling happens in the cytoplasm: Jumbo's term, preferred to "working memory" or "blackboard" for its image of enzymes (codelets) "continually at work" in a cell. Disjoint structures can be acted on in any order, so mutually unaffecting actions are effectively simultaneous but remote.
Cytoplasmic structures are temporary copies of Pnet fragments, extended by codelets with new nodes and links. A run starts by placing a target node, then reading the bricks in random order. The main interactions: grouping bricks into blocks, dismantling blocks, producing secondary targets (subgoals), and bonding bricks, blocks and targets.
Same stuff above and below. Because Pnet and cytoplasm are built of the same components: the Pnet can act simply by "downloading" pieces of itself; the difference between declarative and procedural knowledge vanishes once an operation is done (its result is stored exactly as a memorised fact would be); and learning could be an "upward" transfer from cytoplasm to Pnet.
Parameters of a cyto-node
- Type: target, secondary target, brick, block, or operation; this defines levels or compartments and partly captures "subgoal".
- Status: taken (in an operation) or free.
- Attractiveness: a number that biases use. Mainly a function of value: multiples of 5, better of 10, are a priori more interesting, a bias "unquestionably observed in human players". New blocks start highly attractive and fade if unused; taken nodes' attractiveness is frozen. Codelets can raise it, for example after noticing that brick 11 shares digits with target 114.
Temperature (in the tradition of Hinton and Sejnowski, Hofstadter, Kirkpatrick, Gelatt and Vecchi, and Smolensky, all 1983) falls as the system feels closer to a solution, protecting structures, and rises when things look bad, bringing in codelets that dismantle blocks and secondary targets. Promising states have several secondary targets, mostly attractive nodes and some nodes still free; a very unattractive node or too few free nodes push temperature up. Dismantlers pick victims randomly but favour the least attractive.
Standard backtracking: retrace a pathway to a prior state and start down a new branch.
Numbo's "backtracking": give up gains "more or less randomly" and restart from some less-ordered state "that has quite probably never been encountered before".
Codelets: dumb and myopic
Codelets have a mission and an urgency; they come from the Pnet, the cytoplasm or other codelets. By locus, some modify the Pnet, some the cytoplasm, and some test and then post or re-weight codelets. By activity, some construct ("create-node") and some destroy ("kill-secondary-nodes", which frees the constituents of a block or secondary target).
- Dumb. A codelet may notice that a target and a brick share digits (visually obvious, syntactic) but may not check whether the target is a multiple of a brick ("too semantic, too 'smart'"). Typical actions: create a cyto-node, send activation to a Pnode, compare a cyto-node with a target.
- Myopic. No codelet can scan the whole cytoplasm for a number, plan or conspire; cooperation exists only in that offspring tend to continue a parent's direction.
- No overseer. Different paths are explored in parallel, and a subgoal is never granted all resources: it competes with other goals and can be dropped when something better appears.
- No endless loops. The probability of exploring the same wrong avenue again and again "goes exponentially to zero", so no sophisticated backtracking is needed.
A sample run: target 114
Numbo on 11 20 7 1 6 → 114 (Figure III-3). (1) Reading 114 activates the nearest landmark, 100, as a beacon, and "multiplication", "subtraction" and "addition", with multiplication strongest because the target dwarfs the bricks. (2) Brick 11 is read; a syntactic-comparison codelet notices it shares its first two digits with 114, so 11's attractiveness is raised. (3) The other bricks are read out of order (6 before 7). (4) A low-urgency background codelet picks two bricks and an operation at random, biased by attractiveness and activation: 11 × 7 = 77 goes into the cytoplasm. (5) In the Pnet, the biped 100 = 20 × 5 is lit from three independent sources (100 near the target, 20 equal to a brick, 5 near the brick 6), so its tummy surges; a seek-reasonable-facsimile codelet is posted, seeking something near 20 times something near 5 (20 × 6 likelier than 20 × 7). A rival seeking "10 × 10" would find nothing. A test-if-possible-and-desirable codelet checks the bricks are free and the block worthwhile (by the activation of the arithmetically closest Pnode), and a high-urgency codelet creates block 120. (6) 120 is compared with 114; being close, a target-making codelet subtracts and posts secondary target 6, which pumps activation into Pnode "6". (7) Block 77, unused, has lost attractiveness, raising the temperature; dismantlers arrive and 77 is killed, freeing 11 and 7. (8) Pnodes "1", "7" and "6" together prompt a facsimile codelet that builds 7 − 1 = 6, equal to the secondary target. Solution: 20 × 6 − (7 − 1).
Rival avenues can block each other by taking needed bricks: "the price of parallelism in Numbo".
Four overlapping phases of a run
- Reading the puzzle: primitive codelets install cyto-nodes for target and bricks, link them to Pnodes, and activate those.
- Comparison with the target: codelets detect equality, numerical proximity or shared digits, which may suggest decompositions.
- Pnet-suggested associations: tummy nodes excited enough post seek-reasonable-facsimile codelets, which hunt for two free numbers near two of a biped's numbers to make a block near the third.
- Background associations: when Pnet pressure is weak, codelets pick two free bricks (favouring attractive ones) and an operation (favouring active ones), and a test-if-possible-and-desirable codelet recommends the block if it is close to some target, syntactically or numerically.
# Toy Numbo: landmark "bipeds" in a Pnet suggest products near the target;
# "seek-reasonable-facsimile" picks bricks close to the biped's feet (or builds
# a missing foot as a subgoal); a close block spawns a secondary target.
import random
BIPEDS = [(100, 10, 10), (100, 5, 20), (120, 6, 20), (150, 15, 10), (60, 6, 10),
(30, 5, 6), (40, 4, 10), (144, 12, 12), (50, 5, 10), (80, 8, 10)]
def make(n, free): # brick itself, or a sum/difference of two
if n in free: return str(n), [n]
for i, a in enumerate(free):
for j, b in enumerate(free):
if i != j and a + b == n: return f"({a}+{b})", [a, b]
if i != j and a - b == n: return f"({a}-{b})", [a, b]
return None, None
def facsimile(want, free, rng): # closer bricks are likelier choices
w = [1.0 / (1 + abs(b - want)) ** 2 for b in free]
b = rng.choices(free, weights=w)[0]
return str(b), [b], b
def numbo(target, bricks, tries=300, seed=0):
rng = random.Random(seed)
near = [b for b in BIPEDS if abs(b[0] - target) <= 0.25 * target]
for _ in range(tries):
head, f1, f2 = rng.choice(near) # an activated "tummy" node
free = list(bricks)
ea, ua, a = facsimile(f1, free, rng); free.remove(a)
eb, ub = make(f2, free) if rng.random() < 0.5 else (None, None)
if eb: b = f2 # foot built exactly, as a subgoal
else: eb, ub, b = facsimile(f2, free, rng)
for x in ub: free.remove(x)
diff = a * b - target
if diff == 0: return f"{ea}x{eb}"
expr, used = make(abs(diff), free) # secondary target
if expr: return f"{ea}x{eb} {'-' if diff > 0 else '+'} {expr}"
return "no solution: stumbling at random would come next"
for t, bs in [(114, [11, 20, 7, 1, 6]), (87, [8, 3, 9, 10, 7]),
(146, [12, 2, 5, 7, 18]), (127, [6, 4, 22, 5, 7])]:
print(t, bs, '->', numbo(t, bs))
The sketch finds 6 × 20 − (7 − 1), 8 × 10 + 7, 12 × (5 + 7) + 2 and 6 × 22 − 5: human-style answers reached through near-misses and subgoals, not exhaustive search (which would also find (20 − 1) × 6 at once).
Comparisons with other models
| System | Resemblance to Numbo | Decisive difference |
|---|---|---|
| GPS (Ernst and Newell, 1969) | brick-target proximity creating a secondary target looks like means-ends analysis | GPS has a central executive, task-bound representations (no Pnet), a record of all objects and goals tried, and purely goal-directed processing: no unmotivated combinations, one subgoal at a time |
| ACT* (Anderson, 1983) | declarative memory ≈ Pnet (spreading activation); production memory ≈ Numbo's repertoire of codelet types | ACT* nodes are more diverse; tasks must be condition-action rules; selection is by sophisticated pattern matching, not the two-stage probabilistic choice (posting, then picking) of the parallel terraced scan; ACT* learns, Numbo does not |
| PDP connectionism (McClelland, Rumelhart and Hinton, 1986) | Pnet mechanisms have a connectionist flavour; bottom-up, statistically emergent | Numbo keeps explicit symbolic structures in the cytoplasm |
| AM (Lenat, 1979, 1983) | AM's agenda of tasks recalls the Coderack | no stochastic, priority-biased selection; heavy use of high-level heuristics and meta-heuristics |
Numbo is "at pains" to be described as problem-space search: no central control, task-free rote knowledge, "a goal is just one of many features of a situation", and no systematic exploration. Competition plus randomness let it "jump from one idea to another, sometimes in a chaotic-seeming (but rather humanlike) way". It can also miss an obvious solution, since codelets are chosen and scan probabilistically.
Comparison with human players
Numbo "gives the impression of playing the game in a human style": obvious solutions are found at once; ideas are often abandoned before being fully examined; some combinations are not strongly goal-driven; and solutions often chain several operations "in a seemingly logical way".
Why a strict comparison is impossible (Defays's own caveats). (1) The Pnet is impoverished next to an adult's arithmetic. (2) Some human tendencies were deliberately ignored, such as sensitivity to the linear order of the bricks as presented. (3) Hard problems got ad hoc solutions: measuring similarity between numbers, setting the temperature. And think-aloud protocols are themselves questionable: solvers said it is hard or impossible to track everything, so protocols are partly a posteriori reconstructions. Defays did tape-record several subjects and based aspects of the design on them, but offers no rigorous analysis.
Spot the machine (Figure III-6). On puzzle 3 (31 from 3 5 24 3 14), Defays prints two protocols side by side, one Numbo's and one a human's, "not necessarily in that order". Both wander: subgoals like 31?, 7?, 1?, 2?; tries such as 24 + 5 = 29, (24 + 5) + 3 = 32, 3 × 5 = 15, 14 + (3 × 5) = 29, (3 + 5) × 3 = 24, 24 − 14 = 10, 14 − 3 = 11; and "no" after "no". Neither solves it, although it has four solutions (3 × 3 × 5 − 14; 3 + 14 × (5 − 3); 5 × (14 − 3) − 24; 24 × (5 − 3) − 14 − 3). The reveal: Protocol 1 was Numbo. Its vacillations "seem to have a human flavor", but "this alone does not demonstrate the validity of Numbo as a model".
Conclusions: successes and limits
- Obvious answers instantly. Target 6 from 3 3 17 11 22: 3 + 3 at once, never 17 − 11 or 17 + 11 − 22. Target 11 from 2 5 1 25 23: 2 × 5 + 1 at once, ignoring the valid 23 − 2 × (5 + 1).
- Subtle chains. Target 116 from 20 2 16 14 6: the "rather subtle" 6 × 20 − 2 − (16 − 14).
- Productive accidents. Target 127 from 6 4 22 5 7: occasionally Numbo multiplies 6 × 5, after which 4 × 30 + 7 is close, although more obvious routes via 6 × 22 and 5 × 22 exist.
Defays's three verdicts on the architecture
- Fluidity comes from the probabilistic codelet architecture (the enzyme image): parallel exploration, constant competition between alternatives, quick abandonment of barren paths, and occasional unmotivated combinations that open new routes.
- The Pnet's knowledge is critical. Target 41 from 5 16 22 25 1 gives trouble because Numbo does not know 40 = 20 + 20 and so does not think of facsimiles like 16 + 25 or 22 + 25; the Pnet's suggestions are poor and it must stumble on a solution through background random combination.
- Background noise. The Pnet is dense, so every node always carries low activation; it is "powerful in evoking direct connotations" but "relatively weak in suggesting long chains of associations".
With the right architecture a system can behave "in a very fluid, humanlike way" in a limited domain, combining spontaneous chunk perception, group manufacture and goal achievement by chained operations. Open questions: how to combine Pnet facts into new ones (from 144 = 12 × 12 and 12 = 3 × 4, derive 144 = 9 × 16), and how the outcome of one task can transfer to another. Defays recommends studying the basic mechanisms carefully rather than extending to new domains: Numbo is "but a first step down that long road".
Critical lens. (1) No statistics: unlike Copycat in Chapter 5, Numbo is shown through one trace, a few puzzles and one unlabelled protocol comparison; there are no success rates, run-time distributions or human baselines, and the protocol "guess which is the machine" test is exactly the kind of Eliza-prone evaluation Preface 4 warns against. (2) Puzzle 11 is odd: its simplest solution is the one-step 16 + 25 = 41, and 22 + 25 = 47 is a poor "facsimile" of 40, so the example shows a gap in Numbo's knowledge more starkly than intended. (3) The cut-off between Pnet facts and "manufactured" facts is introspective; it will differ between a child, a cashier and a mathematician, which Defays acknowledges only for salient numbers.
Numbo after 1987. Its ingredients live on in mainstream cognitive architectures: ACT* became ACT-R, whose spreading activation and noisy, utility-based rule selection echo Numbo's Pnet and Coderack. The game itself, under its British name Countdown, became an RL testbed for LLM reasoning in 2025 (Preface 3). The contrast is instructive: an LLM trained with reinforcement learning on Countdown learns to search verbally, proposing, verifying and backtracking in text, while Numbo perceives promising structure (landmarks, near-misses) and searches only in the background. A practical pattern for enterprise planners and solvers follows from Numbo: give them a cheap associative proposal layer (what looks near the goal?) ahead of any exhaustive search, and measure whether they find the answers humans would find first, which is what users trust.
Hofstadter's angriest essay: a dissection of how programs that shuffle English-looking tokens get credited with understanding water, novels, Socrates and international politics. He targets the Eliza effect, "the susceptibility of people to read far more understanding than is warranted into strings of symbols ... Strung together by computers", through four cases: SME's celebrated heat-flow analogy, a "computer-written" potboiler hailed on the New York Times front page, Margaret Boden's praise of ACME's grasp of Socrates as a midwife of ideas, and ACME's "cross-domain" political analogies. Strip the English words out of ACME's input and its "understanding of a subtle literary metaphor" becomes the alignment of (A (B)) with (a (b)); the Eliza effect is not a beginner's error but a mutating virus that infects experts and researchers too.
Programs with apparent real-world prowess
The next chapter was drafted in mid-1989 out of "a mounting degree of exasperation and worry" inside FARG. Copycat was largely implemented and "starting to come into its own", Tabletop was beginning to work, and the group was excited; meanwhile other AI programs were getting "uncritical publicity" for apparently making complex real-world analogies or discoveries "rivaling in insight such pioneers as Galileo, Kepler, and Ohm". Next to them FARG's microdomain results looked microscopic, a conclusion Hofstadter thought superficial.
Science on SME. Mitchell Waldrop's 1987 article in Science described the Structure-Mapping Engine (Falkenhainer, Forbus and Gentner), based on Dedre Gentner's structure-mapping theory (1983), mapping heat flow through a metal bar onto water flow through a pipe and inferring that heat flow is caused by a temperature differential as water flow is by a pressure differential. SME, Waldrop added, had been "successfully ... Applied to more than 40 different examples", from the solar system and the Rutherford atom to fables with different characters in similar situations, and served as a module in a model of scientific discovery.
To say "the program makes an analogy between heat flow and water flow" tacitly grants that it deals with the idea of water. The minimal prerequisite would be knowing that water is a liquid, wet, colourless, affected by gravity, gone from one place when it flows to another, breaks into drops, takes its container's shape, is inanimate, can hold objects, lets wood float, holds, gains and loses heat, "and so on ad infinitum". SME knows none of it. It has no concepts and no permanent knowledge; for each analogy it is handed a short list of assertions such as Liquid(water) and Greater(Pressure(beaker), Pressure(vial)), behind which "lies nothing else".
The scrambling test. The words could be permuted at will, provided identical words stay in corresponding places: "Beaker(Greater(pressure), Greater(vial))" would do as well, though in English it reads "The greater of pressure is beaker than the greater of vial." The program does not care, because the terms are "just empty tokens that have the form of English words". At best it builds "a correspondence between two sparse and meaningless data structures"; calling that "making an analogy between heat flow and water flow" because some strings are spelled like English words is "extremely loose and overly charitable".
The slippery slope into the Eliza effect
The slide is easy, especially when the authors supply nice drawings: a glass beaker and vial joined by a curved pipe, a cup of steaming coffee with a metal rod topped by a dripping ice cube (Figures VI-1 and VI-2 of Chapter 6). Readers conflate the imagery with the data structures printed beneath and write "the computer made an analogy", and readers infer a cascade: computers understand water and coffee, understand the physical world, make analogies, reason abstractly, make discoveries, are "insightful cohabiters of the world with us".
The Eliza effect, defined. "The susceptibility of people to read far more understanding than is warranted into strings of symbols, especially words, strung together by computers." Trivially, nobody thinks an ATM is grateful for printing THANK YOU, any more than we confuse a grocery door's electric eye with vision; "but when things get only slightly more complicated, people get far more confused, and very rapidly, too." The name comes from Joseph Weizenbaum's ELIZA (mid-1960s), a mock Rogerian psychotherapist that echoed patients' words back ("Please go on") and occasionally changed the topic; "the most superficial of syntactic tricks" convinced some users it understood and even empathised. Despite "mountains of prose" (Boden 1977, Weizenbaum 1976, McDermott 1976), the effect persists, "like a tenacious virus that constantly mutates".
Hofstadter stresses that this is not an attack on SME's developers or on Waldrop but on "the whole mentality swirling around" AI, "a surprisingly unguarded mentality" that accepts anthropomorphic descriptions "far too easily, both outside and within the field".
"Just This Once"
A potboiler on the front page. On July 2, 1993, the New York Times ran "Potboiler Springs From Computer's Loins" (by Steve Lohr): Silicon Valley programmer Scott French had bet friends a decade earlier that he could make a computer write a trashy novel in the style of Jacqueline Susann (Valley of the Dolls), and after about eight years published Just This Once, "a novel written by a computer programmed to think like the world's best-selling author, as told to Scott French". His Macintosh, nicknamed "Hal", ran thousands of rules derived from Valley of the Dolls and Once Is Not Enough; a scene was a dialogue: the program asked questions, French answered, it produced "a couple of sentences at a time", he edited. Asked for a meeting of two female rivals' "cattiness factor" on a scale of 1 to 10, an 8 made it reach for words like "screaming" or "shrieking". French himself: "You can't get up, walk away, come back and find a completed chapter." Yet Marvin Minsky, just off co-authoring a novel himself, was quoted: "It sounds great.... It sounds like he's taken the computer generation of language further than other people."
Infuriated, Hofstadter spent an evening writing a letter to the editor that the Times did not run; he prints it here.
The unpublished letter to the New York Times, point by point
- A false parallel. Within about a week the Times gave front-page coverage to two "achievements", each the fruit of seven to eight years of work deemed hopeless by most professionals, each producing two to three hundred pages: the proof of Fermat's Last Theorem ("assuming that the proof does indeed hold up"), truly monumental, and a "computer-written" novel, "extraordinarily distorted and misleading".
- No concepts. The article implied the computer handled "jealousy", "sex", "competition", even "woman", "throat", "jump"; in truth "no program in the world understands even one concept at the same level of complexity as an ordinary person does", though computers excel at tasks like spell-checking and chess where genuine concepts are not needed.
- Asymmetric collaboration. French's understanding of the physical and human world made "all the real decisions"; the computer provided constraints and suggestions.
- No easy genre. Choosing potboilers does not make the task feasible: even the trashiest author's mind is "filled to the brim with life experiences"; the gap between Vikram Seth and Susann is "microscopic" compared with that between Susann and any program.
- Verdict. Not "the cutting edge of literary artificial intelligence" but "the cutting edge of empty syntactic play"; we are far from a computer that "can produce even a single good joke, let alone a novel".
Can computers understand Shakespeare and Plato?
The potboiler is an easy target. The hard cases are where cognitive-science professionals fail to distinguish what a program did from what people do, given "some minimal degree of surface-level resemblance": programs said to understand newspaper articles on economists' interest-rate forecasts or to invent a new football play (Riesbeck and Schank, 1989), or to rediscover Kepler's laws (Langley et al., 1987). Look closely and "the achievement typically shrinks and shrinks": little knowledge of the real-world concepts, and "exactly the proper concepts (in an unimaginably diluted form) were supplied, and few others".
Boden, Macbeth and the midwife. In The Creative Mind: Myths and Mechanisms (1991), "provocative and largely praiseworthy", Margaret Boden quotes Macbeth's "Sleep that knits up the ravelled sleeve of care" and then Plato's Socrates, the midwife of ideas: too old to have new ideas, he eases Theaetetus's labour pains, helps true ideas to be born and false ones to miscarry, even matchmakes "non-pregnant" youngsters with wise adults, and claims more skill than a real midwife. Understanding this needs knowledge of ageing, philosophising, reproduction and mating customs, teaching, youth and wisdom. Boden then asks whether computers could appreciate such fancies: "Well, they already have." ACME (Holyoak and Thagard, 1989; "M is for Mapping") "has interpreted Socrates' remark appropriately", and she would "bet that it could make something of" Macbeth, since it uses "highly abstract procedures for recognizing ... Analogies in general" (her italics).
Here is the sum total of what ACME was given, alongside an isomorphic set Hofstadter invented:
| Line | Midwife (m) | Socrates (s) | Sluggo (q, Hofstadter's parody) |
|---|---|---|---|
| 1 | (midwife (obj-midwife)) | (philosopher (Socrates)) | (neglectful-husband (Sluggo)) |
| 2 | (mother (obj-mother)) | (student (obj-student)) | (lonely-and-sex-starved-wife (Jane-Doe)) |
| 3 | (father (obj-father)) | (intellectual-partner (obj-partner)) | (macho-ladykiller (Buck-Stag)) |
| 4 | (child (obj-child)) | (idea (obj-idea)) | (poor-innocent-little-fetus (Bambi)) |
| 5 | (matches (obj-midwife obj-mother obj-father)) | (introduce (Socrates obj-student obj-partner)) | (takes-out-to-local-bar (Sluggo Jane-Doe Buck-Stag)) |
| 6 | (conceives (obj-mother obj-child)) | (formulates (obj-student obj-idea)) | (somehow-or-other-conceives (Jane-Doe Bambi)) |
| 7 | (cause (m5 m6)) | (cause (s5 s6)) | (cause (q5 q6)) |
| 8 | (in-labor-with (obj-mother obj-child)) | (thinks-about (obj-student obj-idea)) | (unwillingly-gives-birth-to (Jane-Doe Bambi)) |
| 9 | (none) | (tests-truth (obj-student obj-idea)) | (wraps-in-burlap-sack-and-throws-off-high-bridge (Jane-Doe Bambi)) |
| 10 | (helps (obj-midwife obj-mother)) | (helps (Socrates obj-student)) | (helps (Sluggo Jane-Doe)) |
| 11 | (give-birth-to (obj-mother obj-child)) | (knows-truth-or-falsity (obj-student obj-idea)) | (neatly-solves-the-problem-of (Jane-Doe Bambi)) |
| 12 | (cause (m10 m11)) | (cause (s10 s11)) | (cause (q10 q11)) |
"obj-mother", "obj-child" and the like are dummy names, like algebraic variables. The English is "completely vacuous": not only no imagery but not even a dictionary definition (Boden says otherwise, Hofstadter notes, but she confused ACME with its sibling ARCS). "knows-truth-or-falsity" might as well be "xjs-beuglh?", "doesn't-give-a-damn-about" or "8". The only thing distinguishing the two sets as patterns is the missing m9.
Replace words by letters and the midwife "situation" is (A (B)), (C (D)), (E (F)), (G (H)), (I (B D F)), (J (D H)), (K (L M)), (N (D H)), (P (B D)), (Q (D H)), (K (R S)); Socrates is the same in lowercase with one extra term. ACME builds "a huge horde of mappings (in fact, every possible mapping, under certain simple constraints)", lets them compete, and settles on A↔a, B↔b...: "letter-letter alignment" presented as understanding a literary metaphor. The Sluggo set (Sluggo takes his wife Jane and his buddy Buck to a bar, Jane gets pregnant by Buck, and, aided by her husband, drowns the unwanted baby Bambi, "neatly solving the problem") is isomorphic to the Socrates set, "cause" and "helps" kept to strengthen it, so ACME would find "the compelling literary analogy between Socrates and Sluggo".
The dubious claim of cross-domain analogy
Holyoak and Thagard list ACME's successes: a political analogy (alleged terrorists in Nicaragua, Hungary and Israel), scientific ones (water and heat flow), "jealous animal stories", and links between distant domains. They call intradomain analogy "virtually trivial", "a very simple special case" of what ACME and SME do (and say Copycat does "intradomain correspondences").
Holyoak and Thagard: "(aim-to-overthrow (Contras Sandinistas))" contains "only the minimal information that the Contras aim to overthrow the government of Nicaragua", leaving open whether the US should support them and whether they are terrorists or freedom fighters.
Hofstadter: "aim-to-overthrow" could as well be "holds-one-teaspoonful" or "bling-blang-blotch"; the program "has been informed of nothing"; no ideas are created, no knowledge consulted, no imagery formed. An analogy can be "about" science or politics only through the content of its words; if the words are as empty as isolated letters, "how can the analogy be 'about' anything?" ACME "deals with no domains at all, just strings".
The decoy experiment. To show ACME's humanlike susceptibility to irrelevance, Holyoak and Thagard added a dozen "decoys" to the midwife input, including (drink (Socrates obj-hemlock)), (matches (obj-soc-midwife obj-soc-wife Socrates)) and (give-birth-to (obj-soc-wife obj-soc-child)), and wrote that these contain "the information that Socrates drinks hemlock juice", that he was matched to his wife by a midwife, and that his wife had a child with the midwife's help; in this run, "Socrates himself maps to the father". How could a program that knows nothing of Socrates, marriage, children or drinking be given "information"? Calling it harmless shorthand misses the point: "Ah, but there's the rub. People, even sophisticates like Boden and Waldrop, make misunderstandings of this sort all the time."
Copycat: a kid doing a somersault
The operative word is hype, though inadvertent: researchers, Hofstadter included, want to brag without out-and-out anthropomorphism, so they settle on intermediate, ambiguous descriptions from which readers draw Eliza-like conclusions, "benefiting the researchers". FARG may do the same, he admits, "but there is one difference: our domains are deliberately so stripped-down that the claims made cannot be very grandiose".
That is precisely FARG's problem. Other groups tackle domains "of such complexity that even human experts are cowed" (thermodynamics, international terrorism, atomic physics, computer-system configuration, VLSI chip design, economic forecasting) while FARG's programs look "nearly trivial". "When there's a little kid trying somersaults for the first time next to a flashy gymnast doing flawless flips on a balance beam, who's going to pay any attention to the kid?" Even the name "Copycat" was chosen to stress childlikeness. If respectable journals credit programs with scientific discovery, metaphor, cross-domain analogy, cooking, coaching, designing, daydreaming, economics and engineering, why look at a program fiddling with abc and xyz?
The worry produced Chapter 4, a "rallying cry" for FARG's style ("manifesto" would "go a little far"), originally published with a few pages on Copycat that were cut here to avoid overlap with Chapter 5. Co-authors Dave Chalmers and Bob French, then graduate students, since successful PhDs, had both studied philosophy and been influenced by Kant; French was struck, positively or negatively, by Kant's "pompously-titled" Prolegomena to Any Future Metaphysics, a title that returns in Chapter 7.
Critical lens. (1) Hofstadter is fair that SME and ACME manipulated impoverished hand-coded predicates, but less fair in implying they claimed more: Gentner's theory is precisely that analogy is structural mapping largely independent of object content, so content-free inputs are a design choice to test that hypothesis, not a hidden trick; the dispute is about whether structure-first analogy is the right theory (Chapter 6 develops this). (2) The same scrambling argument applies to Copycat: its letters know only successor and predecessor, and "successor" in its Slipnet is also an empty label to anything outside the program; FARG's defence is that its concepts are active, interrelated and context-sensitive inside the microworld, a difference of degree that the essay presents as one of kind. (3) Hofstadter's own Sluggo parody shows that isomorphism is not analogy quality, a valid point that also cuts against any purely structural evaluation, FARG's included.
The Eliza effect in the LLM era. Weizenbaum's mid-1960s ELIZA is now a baseline in Turing-test studies: in Cameron Jones and Benjamin Bergen's 2025 three-party test, GPT-4.5 prompted with a humanlike persona was judged human 73% of the time, more often than the real humans, while ELIZA itself scored 23%. Hofstadter's argument has inverted rather than vanished: the symbols are no longer hand-fed empty predicates, since LLMs learn from vast text, so "it knows nothing of water" is no longer simply true, yet the attribution problem remains, and people still read understanding into fluent output. Gentner and Forbus's SME, meanwhile, became the analogical core of Forbus's Companion cognitive architecture, which pairs it with the large Cyc knowledge base: an answer to "no knowledge behind the words". For anyone deploying chatbots in banking or other regulated settings, the essay is a design brief: disclose capability limits, test on cases where fluent wording and real competence come apart, and never let a demo's evocative labels stand in for evaluation.
David Chalmers, Robert French and Douglas Hofstadter argue that the hardest part of cognition is building representations from raw situations (high-level perception), and that AI has systematically skipped it by hand-coding representations that already contain the answer. They show it with BACON's "rediscovery" of Kepler's third law and with SME's solar-system/atom analogy (along with ACME and others), and they refute the fallback idea that a separate "representation module" could one day supply the inputs. Perception and analogy-making cannot be separated in time: analogy shapes perception and perception shapes analogy, so any model that freezes representations first and maps them afterwards is headed for "a dead-end street", while idealised microdomains such as Copycat's let the real problem be studied. In Kant's words, which close the paper: "Concepts without percepts are empty; percepts without concepts are blind."
The problem of perception
The essence of perception is hewing order from chaos, whether "simply detecting movement in the visual field, recognizing sadness in a tone of voice, perceiving a threat on a chessboard, or coming to understand the Iran-Contra affair in terms of Watergate". Kant split the perceptual work of the mind into Sensibility (picking up raw sensory information), which he found uninteresting, and Understanding (organising data into coherent experience), which he modelled with twelve Categories. The model is "somewhat baroque", the insight valid: perception is a spectrum from low-level (early sensory processing) to high-level (accessing concepts, making sense of situations).
Representations are the fruits of perception. Raw data must be filtered and organised into structured representations usable for many purposes. Beyond "what structure should representations have?" lie neglected questions: How does context influence them? How can a perception radically reshape itself? Where are concepts accessed? Where does meaning enter? The paper's thesis: high-level perception is deeply interwoven with other cognitive processes, so AI must integrate perceptual processing into its models of cognition; models that exclude it, of scientific discovery and of analogy, suffer serious limitations.
Low-level and high-level perception
Low-level perception (light on the retina, sound on the eardrum, then lateral geniculate, primary visual cortex and superior colliculus processing of brightness contrasts, light boundaries, edges, corners and perhaps location) gets "short shrift" here, though a complete theory needs it. The transition is blurry; high-level perception begins where concepts start to play an important role, and spans object recognition (an apple on a table, a farmer in a wheat field), relations (a blimp "above" the ground, a swimmer "in" a pool), abstract relations ("George Bush is in the Republican Party"), and whole complex situations ("a love affair or a war").
Sources of flexibility in high-level perception
- Belief. The "New Look" psychologists of the 1950s (Bruner, 1957) showed expectations shape even low-level perception. A husband finding his wife on the couch with a male stranger perceives one situation if he suspects infidelity, another if he expects an insurance salesman.
- Goals. A fallen log is an obstacle to a hiker, fuel to someone building a fire; a text reads differently for content and for proofreading.
- External context. A figure halfway between A and H reads one way in "C_T", the other in "T_E"; a person in tuxedo and bowtie is perceived differently at a ball and at the beach.
- Radical reshaping. In Maier's two-string experiment (1931), subjects must tie together two strings too far apart to grasp at once, with a chair and pliers available; after minutes some see that the pliers can be tied to one string and swung as a pendulum. The pliers' tool function must recede and their weight, barely noticed before, must come to the fore.
The more semantic the processing, the larger the role of concepts and of top-down influence; understanding whole situations is the most flexible perception of all. Pylyshyn (1980) and Fodor (1983) argue perception is "cognitively impenetrable" or "informationally encapsulated", but their contested arguments concern mainly low-level sensory processing; "few would dispute" top-down influence at the conceptual level.
AI and the problem of representation
AI's "representation problem" has meant "What is the correct structure for mental representations?" (predicate calculus, frames, scripts, semantic networks...). The authors care about short-term, active representations in working memory, the direct products of perception, and about a question rarely asked: how such a representation is arrived at from environmental data.
Two problems a perfect representational format would leave open
- Relevance: which subsets of the vast data get used in which parts of the representation? Most low-level information is irrelevant at the top, so a complex filtering is needed.
- Organisation: how are the relevant data put into the right form? Data "do not come prepackaged as slots and fillers", and organising them coherently is "highly nontrivial".
Together these are the problem of high-level perception, translated into AI terms.
Traditional AI picks both the representational format and the relevant data, which a human programmer fits into near-optimal form using prior knowledge of the problem; only then does the machine run. Representation-formation, hence high-level perception, "is ignored". (Machine vision and speech processing are exempt from this charge but usually stop short of the conceptual level.)
The "meaning barrier". On one side, low-level models build primitive representations not yet complex enough to be meaningful; on the other, high-level cognitive models start from propositions or semantic-network nodes "where any meaning that is present is already built in". "There has been very little work that bridges the gap between the two." Understanding how to draw meaning out of the world may be "the central task facing the artificial-intelligence community".
Objectivism and its alternatives
There is no property ABSOLUTELY essential to one thing.
James continues: paper is a surface for inscription while he writes, combustible material if he needs a fire; the essence of a thing is whichever property matters for present interests, and conceiving common objects in their stereotyped ways is merely "more frequently serviceable", not truer. Early AI nonetheless took an objectivist view, in George Lakoff's words that "reality comes complete with a unique correct, complete structure in terms of entities, properties and relations", independent of human understanding: a view long unfashionable in philosophy, especially after Wittgenstein.
- Physical Symbol System Hypothesis (Newell and Simon, 1976): thinking is manipulation of representations built from atomic symbolic primitives, "somewhat rigid, black-and-white entities", which in practice fix reality as firmly as objectivism does.
- David Marr (1977) dissented early: perceiving an event must include "the simultaneous computation of several different descriptions of it".
- Connectionist models (Rumelhart and McClelland, 1986) have no representational primitives; a representation is a vector whose position adjusts to stimuli, so category members are represented slightly differently in each context, and in recurrent networks (Elman, 1990) even according to internal state.
- Classifier systems (Holland et al., 1986) use genetically inspired methods to evolve "classifiers" responding to diverse aspects of situations.
These newer models are robust but "still somewhat primitive"; their representations are far less complex than the hand-coded hierarchical structures of traditional AI. "It seems to be a step in the right direction."
Could a representation module do the job?
Perhaps AI can be forgiven for starting from made-to-order representations, postponing representation-formation. But that hides an assumption: high-level cognition can be modelled independently of perception, with a future "representation module" acting as a front end that funnels data into representations. The authors are "deeply skeptical". A module producing the one "correct" representation of any situation cannot match human flexibility, which requires representations sensitive to every task that might use them. Hand-coding "not only is postponing an important issue but will, in the long run, lead up a dead-end street".
BACON: a case study
BACON (Langley et al., 1987) was advertised as a model of scientific discovery, "capable of representing information at multiple levels of description", and credited with "discovering" Boyle's law, Kepler's third law, Galileo's law of uniform acceleration and Ohm's law.
| Kepler | BACON | |
|---|---|---|
| Data | vast, mostly irrelevant, misleading, distracting or wrong | only mean distances from the sun and periods, "precisely the data required" |
| Framework | Copernicus still new and contested; no notion of forces moving planets; the sun gave light but was not thought to move them; mathematical laws of nature rare | modern algebraic laws assumed to be the goal |
| Seductive alternatives | his early fame rested on fitting the five regular polyhedra between the planetary spheres; religious symbolism, superstition, Christian cosmology, teleology, Aristotelian perfect circles | none: the right variables and biases supplied |
| Leaps required | conic sections over Platonic solids, algebra over geometry, ellipses over circles, distances over polyhedra | none |
| Time | thirteen years | minutes |
The thirteen-year question. Asked why Kepler took thirteen years, BACON's authors cited "sleeping time, and time for ordinary daily chores", time setting up experiments, and the slow hardware of the human nervous system ("(!)" the authors add). One BACON author claimed it started with "essentially the same initial conditions as the human discoverers" (Simon, 1989). Then Qin and Simon (1990) found that university students given BACON's data made the same "discoveries" within an hour, and took this as support for BACON's plausibility. Chalmers, French and Hofstadter read it instead as proof of the vast gap between BACON's task and Kepler's: "a reductio ad absurdum of the BACON methodology". Given a list of "Planet X: mean distance y, period z" and told to find a polynomial relation, Kepler might have needed a few hours.
BACON "works only in a world of hand-picked, prestructured data", the product of "20-20 hindsight"; the same holds for its siblings STAHL and GLAUBER. In Kuhn's account, a change of frame is precisely a new way of seeing: old representational frameworks break down and high-level perception reorganises the data into a new representation. In that model of discovery, unlike BACON's, high-level perception is central.
Analogy depends on perception
To make an analogy is to perceive aspects of two situations' structures, "the essences of those situations, in some sense", as identical, and those structures are products of high-level perception. So analogy quality depends "almost entirely" on perception: Ronald Reagan would surely judge the analogy between the US role in Nicaragua and the Soviet role in Afghanistan poor, others excellent, because Reagan's representation of Nicaragua differs from Daniel Ortega's.
Two analogies for DNA. As a zipper, DNA is two strands of paired nucleotides that come apart for replication. As source code, it is information "compiled" by transcription and translation into enzymes (machine code), and its physical aspects hardly matter. We probably hold one rich passive representation of DNA in long-term memory, but each analogy selects different facets into the active representation: "no single, rigid representation can capture what is going on in our heads."
The dependence runs both ways: perception often depends on analogy. Seeing Nicaragua as "another Vietnam" fleshes out one's picture of Nicaragua; good teachers and writers know "there is nothing like an analogy" to sharpen a mental picture; in a love affair, parallels with past romances colour perception. "Analogy and perception are tightly bound together."
Situation-perception and mapping. Analogy-making has two components: situation-perception (filtering and organising data into a representation suited to the context) and mapping (finding correspondences between two representations). They interact deeply, so a sequential split is misleading; but perception is conceptually prior, since every mapping needs representations to work on, while not every perception needs a mapping. "The most central and challenging part of analogy-making is the perceptual process." Studying which situations people find analogous is thus a "direct window onto high-level perceptual processes", and analogy models are "an ideal testing-ground" for theories of perception.
Current models bypass perception
Almost all computational analogy work starts from fixed, preordained representations and runs a mapping process: "The mapping process not only takes center stage; it is the only actor." The best known is SME, the Structure-Mapping Engine (Falkenhainer, Forbus and Gentner, 1990), based on Gentner's structure-mapping theory (1983); Burstein (1986), Carbonell (1983), Holyoak and Thagard (1989), Kedar-Cabelli (1988) and Winston (1982) differ in many ways but share the bypass.
SME evaluates many possible correspondences by how well they preserve high-level structure and picks the best. The authors are "in broad sympathy" with Gentner's idea that analogies should preserve structure, but here the common structure "is immediately apparent", with "a few pieces of irrelevant information" thrown in as decoys. "If appropriate representations come presupplied, the hard part of the analogy-making task has already been accomplished."
What is wrong with SME's inputs
- Hindsight selection. A context-free description of the solar system or atom could include moons, opposite charges of proton and electron, relative velocities, proximity to other bodies, number of moons, composition of sun and nucleus, the planets' shared plane, each planet's axial rotation, and more. The representations contain only attracts, revolves around, gravity, opposite-sign, greater and cause: "precisely the relations that are relevant".
- Objects versus attributes. SME maps objects only to objects and relations to relations and largely ignores attributes (mass and charge are attributes; nucleus, sun and electrons objects). Psychologically, many concepts float between the two: is wealth an object flowing between agents or an attribute that changes with each transaction?
- Rigid arity. Relations are n-place predicates, and a 3-place predicate can map only to a 3-place predicate, however semantically close a 4-place one is; human minds surely blur such distinctions.
- Fragility. So many somewhat arbitrary choices must be made, and performance is so sensitive to each, that the published examples seem designed for their analogies, "again reminiscent of BACON".
In fairness, the mapping process itself is interesting, and SME's creators, unlike BACON's, "made no great claims" about insight. A footnote notes that Ken Forbus has since built modules that construct qualitative-physics representations as SME input, "a conceptual advance", though the two processes are still not intertwined.
Evans's ANALOGY (1968): one of the earliest analogy programs, it built its own representations, if rigidly.
Everything since: Kedar-Cabelli's "purpose"-directed selection is a limited step; ACME (Holyoak and Thagard, 1989) uses a connectionist network to satisfy soft constraints in mapping, yet its representations are "preordained, frozen structures of predicate logic" and it "has no ability to change its representations under pressure".
# A toy structure-mapper: try every one-to-one pairing of objects and keep
# the one under which the most relations line up. Then rename every predicate
# to gibberish (the "scrambling test"): the mapping found does not change.
from itertools import permutations
SOLAR = [('attracts', 'sun', 'planet'), ('revolves', 'planet', 'sun'),
('greater_mass', 'sun', 'planet'), ('hotter', 'sun', 'planet')]
ATOM = [('attracts', 'nucleus', 'electron'), ('revolves', 'electron', 'nucleus'),
('greater_mass', 'nucleus', 'electron')]
def objects(facts):
return sorted({x for f in facts for x in f[1:]})
def best_mapping(base, target):
bo, to = objects(base), objects(target)
best = (-1, None)
for perm in permutations(to, len(bo)):
m = dict(zip(bo, perm))
score = sum((p, m[a], m[b]) in target for p, a, b in base)
best = max(best, (score, m), key=lambda s: s[0])
return best
print(best_mapping(SOLAR, ATOM))
gib = {'attracts': 'xjs-beuglh', 'revolves': 'bling-blang', 'greater_mass': 'q7',
'hotter': 'holds-one-teaspoonful'}
scramble = lambda facts: [(gib[p], a, b) for p, a, b in facts]
print(best_mapping(scramble(SOLAR), scramble(ATOM)))
Both calls find sun ↔ nucleus and planet ↔ electron with three matching relations: the "discovery" lives entirely in how the facts were written down, which is the chapter's (and Preface 4's) point.
Why perception and mapping cannot be separated
Ignoring perception might be defended as a modest research strategy: scientists study what is within reach, and a future representation module could supply inputs. "Lack of ambition is certainly no reason to condemn a project." But the strategy assumes perception and mapping are temporally separable, and two arguments refute that.
Two arguments against "first perception, then mapping"
- Perception itself uses analogy. When The Satanic Verses was attacked by Iranian Muslims and its author threatened with death, most Americans condemned Iran, but some senior American church figures, seeing an analogy with the attacks on The Last Temptation of Christ as blasphemous, hesitated. Nicaragua seen as Vietnam differs from Nicaraguan rebels seen as "the moral equivalent of the Founding Fathers" (Reagan's phrase). Saddam Hussein after invading Kuwait can be explained as Hitler (evil aggressor) or as Robin Hood (redistributing Kuwaiti wealth to other Arabs). Since mapping is part of perception, analogy-making is not a "heavy weapon wheeled out now and then" but runs constantly in the background: "analogy-making itself is a perceptual process".
- No module can serve every task. A module must give one representation regardless of context. The zipper analogy needs DNA's physical base-pairing; the source-code analogy needs its information-carrying role. The only escape is an all-encompassing representation (double helix, cell-building, replication, mutation, and much more), but it would be far too large for mappers like SME, which rely on small, pre-selected representations. Picking out the relevant parts would require "a complex process of filtering and organizing", "tantamount to high-level perception all over again", defeating the module's purpose.
In the mind, a full long-term representation of DNA is projected into a smaller working-memory representation containing only what is relevant, and that projection is itself high-level perception, in which the task at hand (a particular attempted mapping) must play a central causal role. Hence the alternative: representations "gradually built up as the various pressures evoked by a given context manifest themselves", perception and mapping interleaved at all stages, promising representations developed further, unpromising ones abandoned, "until an appropriate analogy would emerge". Two such systems exist in FARG (Copycat and Tabletop). And the argument generalises: "The hand-coding of representations is endemic in traditional AI."
The utility of small domains
Full high-level perception of the real world needs a base of low-level perception, which remains very hard; the gap between pixels and waveforms and conceptual processes on structured representations "is at present too wide to bridge". The answer is not defeat but restriction: an artificial world without pixel-level information leads straight to high-level problems. Scientists have always crafted idealised domains; microdomains "have fallen out of favor in artificial intelligence", replaced by "real world" modelling that produced misleading claims (BACON) or limited models (analogy).
"Real world" programs are microdomain programs in disguise. BACON and SME "are really working in stripped-down domains of certain highly idealized logical forms"; labels like "atom" or "solar system" make them merely appear to have real-world complexity. Explicitly idealised worlds throw the issues into "clear relief", and understanding gained there is genuine progress towards the unrestricted world.
Copycat (Chapter 5; Mitchell, 1993) works with letter strings, a domain simple enough to avoid low-level perception and rich enough for the main issues of high-level perception. It builds its own representations flexibly, by the "continual interaction of perceptual structuring-agents with an associative concept network", and sits between connectionist models (many local, bottom-up, parallel processes from which understanding emerges) and symbolic ones (complex hierarchical structures).
Five problems Copycat offers mechanisms for
- Gradual building-up of representations.
- The role of top-down and contextual influences.
- Integration of perception and mapping.
- Exploration of many possible paths toward a representation.
- Radical restructuring of perceptions when necessary.
Its implementation is "a feasibility proof that these ideas actually can be made to work".
The same core serves Tabletop (silverware and crockery on a table, a more "real world" feel; Chapters 8 and 9), and Letter Spirit (letterform shape and style, proposed and partly implemented; Chapter 10). A sceptic may object that low-level perception is as intertwined with high-level as high-level is with cognition; the authors accept the point in principle but hold that high-level processes must for now be studied in isolation. Tabletop moves a little closer to vision; Letter Spirit closer still, "but still stops far short of rock bottom". Two outside projects combine perception and cognition, both in microdomains: David Chapman's Sonja (1991), which builds representations from simple video-game graphics and acts ("intermediate vision", with less sophisticated representations than Copycat's), and Jeff Shrager's program (1990) for understanding a laser from idealised two-dimensional inputs.
Conclusion: Kant's two halves
Perception is not walled off from "real" cognition; "cognition is infused with perception", as psychology has long known and philosophy longer.
"Concepts without percepts are empty": AI has modelled concepts while ignoring perception, but cognition "cannot succeed without processes that build up appropriate representations"; skimming conceptual processes off their perceptual substrate is a mistake in analogy, discovery or anywhere else.
"Percepts without concepts are blind": perception is guided by constant top-down conceptual influence; without it, representations are "rigid, inflexible, and unable to adapt".
Integrating perception "makes artificial intelligence more difficult, but it also makes it more interesting": flexible representations lead to flexible actions, a lesson entering AI through connectionist networks, classifier systems and the Copycat/Tabletop architecture.
Critical lens. (1) The critique of SME is partly unfair: structure-mapping theory deliberately isolates mapping as a psychological hypothesis. Forbus, Gentner, Markman and Ferguson replied in the same journal (1998, "Analogy just looks like high level perception"): interdependent processes can still be studied separately, as respiration and circulation are; Mitchell's own account of Copycat separates building from comparing; Copycat's Slipnet weights and conceptual depths are hand-tuned, it has no retrieval or learning, and it too knows nothing perceptual about letters (it would not notice that b and p are flips of each other); and models should be tested against controlled human experiments, not informal polling. (2) The authors themselves concede, in the footnote, that Forbus was already building representation constructors for SME. (3) The paper offers no empirical test that human analogy-making interleaves perception and mapping in the way claimed; the evidence is anecdotal (Satanic Verses, Saddam as Hitler or Robin Hood). (4) Kant's dictum is quoted loosely: he wrote "thoughts without content are empty, intuitions without concepts are blind"; "concepts without percepts" is a popular paraphrase. (5) The Copycat section of the original 1992 article was cut here, so the promised demonstration arrives only in Chapter 5.
The representation debate after deep learning. The chapter's central bet, that representations must be learned and context-dependent rather than hand-coded, has been won decisively, though not by FARG's architecture: deep networks and, since 2017, transformers build context-dependent representations from raw data, and attention lets a token's representation shift with its context much as James's paper is "a surface for inscription" or "combustible material". The chapter's other bet is still open. BACON's fate foreshadows today's critiques of AI "discovery" claims, where benchmark data pre-structure the problem, and Chollet's ARC (2019) was designed to force systems to build their own representations of small novel grids. For enterprise AI, the "representation module" fallacy has a concrete form: pipelines that freeze a document's chunking and embedding once, then expect every downstream task to find what it needs. Retrieval that is task-conditioned (query-dependent re-ranking, agentic re-reading) is the practical cure.
How Copycat was born: from number puzzles in which one "role" splinters into several facets, through the observation that every word's meaning shatters on contact with a foreign language, to the idea of conceptual "halos" whose overlaps make "slippage" possible. Hofstadter links the Seek-Whence mountain puzzles to the riddle "Who is the First Lady of England?", shows that "hard", "sibling" and "in fact" are no single concepts, catalogues tongue slips that expose overlapping halos, and introduces the first letter-string puzzles (efg ⇒ efw, efg ⇒ wfg, efg ⇒ dfg). "Conceptual slippage" is no more and no less than "context-dependent tolerance of conceptual mismatch", and modelling it with a new structure, the Slipnet, combined with Jumbo's codelets, cytoplasm and temperature, was the founding idea of Copycat.
Analogy puzzles in the Seek-Whence domain
By about 1980 Hofstadter saw that spotting abstract resemblances between short segments of a sequence was at the heart of perceiving patterns, so he began extracting analogy puzzles from Seek-Whence. "What in 12344321 (structure B) corresponds to 4 in 1234554321 (structure A)?" Almost everyone answers 3, effortlessly; a pedant (Richard Feynman once did) could say 4, the same number. The puzzle pits a "dull and machine-like" desire for object sameness against a livelier, human desire for preserving role played.
Yet 4 may not play one role in A at all. The cousin puzzle uses structure C = 123475574321, "a sharp volcano with a sunken crater", whose apex is off-centre.
The four facets of 4 in structure A, exposed by structure C
- Physical neighbour of the centermost pair → in C, 7.
- Next-to-largest number in the structure → 5.
- Numerical predecessor of the centermost pair → 4.
- Numerical predecessor of the largest number → 6, "a number nowhere present in the structure itself!"
In A the facets coincided and looked like one role; C broke it apart a posteriori. Without C we would "blithely" have kept seeing one role. Was that an illusion?
The Nancy Reagan of England
The real-world twin: "Who in England corresponds to Nancy Reagan?", or "Who is the First Lady of England?", asked around 1980 with Margaret Thatcher as prime minister. Two confounding factors: England has no president but two quasi-presidential figures, monarch and prime minister; and both were women, whereas Reagan was a man.
Pressure for a woman: "First Lady", Nancy Reagan's most salient epithet, is implicitly present even if unspoken, and pushes for Queen Elizabeth or Margaret Thatcher as the most prominent woman.
Pressure for "one step from the centre": Nancy Reagan was next to the peak, not at it, so depending on whether the Queen is a "centre" or a "peak", the answer is Prince Philip or Denis Thatcher (whom a newspaper article did call "the First Lady of England"), violating the wish for a woman.
Both puzzles show an a posteriori breakup of one role into conflicting roles, and both feature a figure "one step away from the center/peak". The four answers 7, 5, 4, 6 correspond, "in no particular order", to Prince Philip, Denis Thatcher, Queen Elizabeth and Margaret Thatcher; which maps to which "depends on how you look at things". The puzzles proliferated beyond count, with tangled combinations of pressures "pushing for or against all sorts of strange conceptual slippages": the context-induced dislodging of one concept by a closely related one. Why and when does that happen? Because concepts are like halos, and halos overlap.
Words, concepts and halos
"Hard" feels like one idea ("not soft"), yet Hofstadter's thesaurus lists addictive, adverse, alcoholic, bitter, callous, difficult, hard to understand, heartless, impenitent, industrious, inelastic, obdurate, painful, pitiless, rigid, severe, solid, strict, strong, substantial, tough, wicked. In German it splits further: hart (a substance), schwierig (a problem), fleißig (a diligent worker), schwer (hard times, a severe blow), mühsam (life), heftig or stark (rain), streng (frost), alkoholisch (drinks), gut or scharf (thinking hard), kräftig (hitting hard), anstrengend (a trying person). Each German word is itself broad: schwer also means heavy, solid, powerful, strong, rich, severe, serious, grave, difficult, tough, ponderous, clumsy, and to a German speaker that constellation "feels like one idea".
Unity is relative to a language. Within English the flavours of "hard" form a cohesive unity; seen from German that unity "seems to be a delusion", and vice versa for schwer. "Note the word 'seems' on both sides. Context and culture determine the boundary lines of concepts."
"Do you have brothers or sisters?" Indonesians ask about kakak (older sibling) and adik (younger), regardless of sex. Mandarin speakers ask about xiōng-dì-jiě-mèi: elder brother, younger brother, elder sister, younger sister, four questions in one. Germans ask Haben Sie Geschwister?, simple, though Geschwister carries an undertone of Schwester. An Italian asks Lei ha fratelli? ("brothers?"), and "Sì, due sorelle" ("Yes, two sisters") is a correct reply. Invent a language whose standard question distinguishes plubibwa ("humorous sibling") from vazil ("serious sibling"): would we discover that "sibling" really hides eight concepts, from "humorous younger sister" to "serious older brother"? Obviously not. "There simply is no exact 'number of concepts' to be counted"; what every mind has is "a blurry overlap of many, many specific instances of siblings, with strong clustering-patterns".
This shattering happens to every word that meets another language: "hit", "throw", "window", "box", "bag", "day", "top", "fast", "in fact", which Hofstadter once thought universal primitives, each splinter into five to ten varieties in Italian ("in fact" becomes in effetti, di fatto, infatti, in realtà, anzi, però, tant'è vero che, per esempio, a dire il vero...). Only rarefied technical terms like "photosynthesis" cross intact, and the higher a word's frequency, the more startling its split. Hence the "hilarious, or perhaps pathetic" pocket dictionaries and "translation computers" listing "hit: frapper", "throw: jeter", "picture: image", "in: dans"; and hence his pleasure in savouring "the haze and halo of so many sublimely interpenetrating concept-clouds" in Roget's International Thesaurus.
From halo slips to conceptual slippage
Speech errors expose the overlapping halos, and context is usually visibly at work.
| Slip | What collided |
|---|---|
| "No one could get tickets on that flane" | flight + plane |
| "Don't shell so loud" (a linguist) | shout + yell |
| "I'll chake a look" (Hofstadter) | check it out + take a look |
| "Doug went to graduate stude with Pranab" (his wife) | was a graduate student + went to graduate school |
| "Close your cookie jars, please" (to his son) | two toy chests |
| "The bathroom door won't close; the faucet doesn't work right" | doorknob: twisty handles, bathroom context |
| "I'm going to go to the begin, uhh, the entrance of the store" | beginning / entrance |
| "We moved to Princeton when I was just two o'clock" | two years old |
| "Should I put the garbage, uhh, the dirty clothes, in the back of the car?" | things carried out in bags |
| "Prefer a wood one... Uhh, a paper one" (to a checkout clerk asking "Plastic bag all right?") | paper is wood pulp; grocery bags are brownish and "woodier"; plastic and wood are both household materials |
Blends show "fleeting moments of indecision" under the time pressure of speech; full substitutions are "the brazen spilling-out of a completely wrong term". Both reveal the hidden network of "overlapping, blurred-together concepts".
Why slippage is good for us. The same overlap that causes halo slips makes us willing to tolerate or "forgive" some conceptual mismatch between situations, depending on context; "we are congenitally constructed to do so; it is good for us, evolutionarily speaking". So conceptual slippage is "no more and no less than a shorthand for this notion of context-dependent tolerance of conceptual mismatch". (Further reading he cites on errors: Aitchison, Cutler, Dell and Reich, Fromkin, Hofstadter and Moser, Norman.)
Copycat is conceived
Awareness of halo effects shaped the Seek-Whence architecture, but Hofstadter came to feel Seek-Whence was reaching "a bit too far too soon": analogy had to be confronted head-on in an autonomous project, with a return to sequences later. In spring 1983 he began designing an analogy architecture for a microdomain much like Seek-Whence's, with conceptual slippage as the new ingredient, and, "perhaps just a desire for slight variety", switched from numbers to letters. To his surprise and disappointment, people related better to letter puzzles than to their exact numerical translations ("I never liked math... But these letter puzzles are fun!"), which he never could explain.
Three puzzles about "doing the same thing" to ghi
- efg ⇒ efw; ghi ⇒ ? Two appealing answers: whi (replace every g by w: "doing the same thing", but crude) and ghw (replace the rightmost letter by w: a different, perhaps more refined sense). Any answer based on the "alphabetic distance" from g to w is "strictly out of bounds", not in the spirit of the domain.
- efg ⇒ wfg; ghi ⇒ ? The same two answers with new reasons: whi replaces the leftmost letter; ghw sees symmetry: efg has g at its right end, ghi at its left, so "left" in ghi plays the role of "right" in efg, a left/right slippage.
- efg ⇒ dfg; ghi ⇒ ? Ignoring that d is e's predecessor gives the isomorphic dhi and ghd, "very crude". Taking predecessor into account gives fhi (leftmost) or ghh (the end opposite g), but ghh's doubled h feels wrong. What was missed: e to g in efg runs backwards alphabetically while g to i in ghi runs forwards, so predecessor must slip to successor too: ghj.
The same move, crude and deep. In puzzle 1, equating the two g's "was the end of the story", ignoring everything else; in puzzles 2 and 3 it was the start: the g's become identical landmarks, then the far ends (e and i) are equated, bringing both full structures into play. "Using the g's as identical points of reference ... Is quite an abstract leap." Sophistication lies not in a strategy but in how much of the structure it ends up respecting.
From seminar to Slipnet to Mitchell
Hofstadter first described an architecture for such leaps in an advanced AI seminar at Indiana in spring 1983; on sabbatical at MIT that fall he turned it into a grant proposal and a technical report (1984) that "became the basis for all further Copycat work". At its crux was a new structure, the Slipnet, "my way of modeling the human mind's subtly context-dependent conceptual halos and conceptual slippages", combined with Jumbo's codelets, cytoplasm and temperature. The fit seemed natural, but the harvest needed more than one person. "One fine spring day in 1984", Melanie Mitchell turned up at his MIT office; with little to go on, "exercising my parallel terraced scan in my best possible fashion", he tentatively welcomed her aboard: "It was the rightest thing I could have done."
Critical lens. (1) The essay's linguistic examples are vivid but cherry-picked; that words split differently across languages is standard lexical semantics (the "hard"/"schwer" pattern is a staple of translation teaching), and it does not by itself show that concepts are halos with graded overlap rather than, say, clusters of discrete senses. (2) The speech-error argument moves quickly from "blends happen under time pressure" to "slippage in analogy uses the same overlap"; that is a hypothesis about shared mechanism, untested here. (3) The four-facet puzzle and the First Lady riddle are presented as parallel "in no particular order", so the mapping between answers and people is left deliberately loose: the analogy is suggestive, not exact.
Halos, embeddings and translation. Distributed word representations (word2vec in 2013, then contextual embeddings from transformers) are the closest mainstream realisation of "conceptual halos": meanings as regions with graded overlap, and in contextual models a word's vector shifts with its sentence, much as "hard" becomes hart or schwierig. Hofstadter remained unconvinced that this amounts to understanding; his 2018 Atlantic essay "The Shallowness of Google Translate" argued that machine translation still mapped words without grasping the situations behind them. For multilingual products, in banking as elsewhere, his sibling example is a practical checklist item: category boundaries differ by language and culture, so a classifier or form field built on English categories ("brother or sister", "first name") will mis-slice data in other markets.
Douglas Hofstadter and Melanie Mitchell's full account of Copycat, the program at the heart of the book: a model of how concepts "slip" under pressure, built for letter-string analogies such as abc ⇒ abd; ijk ⇒ ? But designed to embody the general mechanisms of fluid thought. The chapter lays out the three components (the Slipnet of Platonic concepts with depths, halos and elastic links; the Workspace of descriptions, bonds, groups and bridges; the Coderack of stochastically chosen codelets) plus temperature; argues that biased randomness is required by any parallel, emergent mind; shows 1,000-run statistics on seven problems; and follows two runs in slow motion, the discovery of mrrjjjj and the "change of frame" to wyz. Copycat is not about letter strings but about "the very crux of human cognition: fluid concepts", and its key finding is that an answer's obviousness (how often it is found) and its quality (how coherent its final structure, measured by temperature) come apart, exactly where creative insight is needed.
Copycat and mental fluidity
Copycat is meant to discover insightful analogies in a psychologically realistic way. Its architecture is "neither symbolic nor connectionist, nor ... A hybrid": an emergent architecture whose top-level behaviour is a "statistical consequence of myriad small computational actions", and whose concepts realise what Hofstadter called "statistically emergent active symbols". Parallel stochastic processing and distributed, probabilistic concepts make it connectionist in spirit; but the authors claim the middle ground it occupies is "at present the most useful level" for understanding fluid concepts and perception.
Problem 1. Abc ⇒ abd; ijk ⇒ ? The challenge is "Be a copycat": do "the same thing", where "same" is the slippery word. Almost everyone answers ijl: "replace the rightmost letter by its alphabetic successor" exports painlessly. "Smart-aleck" answers exist, ijd (rightmost letter by d), ijk (replace every c by d) or even abd, but they are rare and unconvincing "even to the people who suggested them". (The authors ran formal and informal surveys of human answers; the formal results are in Mitchell's 1993 book.)
Problem 2. Aabc ⇒ aabd; ijkk ⇒ ? Rigid export gives ijkl, which ignores the doubled k. Seeing kk as a unit, most people flex the rule into "replace the rightmost group by its successor": ijll. The concept letter has slipped, under pressure, into group. Some go further: the doubled aa and the doubled kk play similar roles, so map them (crosswise), which makes the c correspond to the i; the crosswise mappings invite reading ijkk in reverse, so successorship in aabc corresponds to predecessorship in ijkk, and the rule becomes "replace the leftmost letter by its predecessor": hjkk. Two concepts slipped: rightmost ⇒ leftmost and successor ⇒ predecessor. (Taking the i's successor instead gives jjkk, a half-completed thought.)
Slippages are induced by pressures
The image is an earthquake: subterranean structures under enough pressure suddenly slip; without pressure, nothing slips. In Problem 2 the doubling acts as an emphasis device, making the left end of one string and the right end of the other stand out and "attract" each other. In Problem 1 nothing suggests mapping a onto k, so slipping leftmost to rightmost, reading ijk backwards and producing hjk would be "unmotivated fluidity", not characteristic of human thought "except in humor".
The questions at the heart of the project
- What are "neighbouring" concepts?
- How much pressure makes a given slippage likely?
- How far apart can two concepts be and still slip into each other?
- How can one slippage create pressure for another, in a cascade?
- Do some concepts resist slippage more than others?
- Can particular pressures force a resistant concept to slip while a normally "willing" one stays put?
A microdomain meant to stand for every domain
Copycat grew out of Seek-Whence and Jumbo and had been under development since 1983. Its smallness is deliberate: the aim is "not about simulating analogy-making per se, but about simulating the very crux of human cognition: fluid concepts". Analogy is the quintessential activity calling for fluid concepts, and a tiny domain brings out the general issues "far more clearly than in a 'real-world' domain".
- Idealised relations. Successor/predecessor stands for any non-identity relation ("parent of", "neighbor of", "friend of", "employed by", "close to"); a successor group such as abc stands for any chunk built on one ("family", "neighborhood", "community", "workplace", "region"). Sameness and opposite are universal. Two relation types (sameness plus one other) already generate "an inexhaustible variety of structures".
- Types and tokens. The alphabet is a "Platonic heaven" of exactly 26 letter types in fixed order; strings are a rudimentary "physical world" of any number of tokens. Physical relations (left-neighbour, leftmost edge, adjacent group) contrast with Platonic ones (predecessor, alphabetic starting point, alphabetic segment); perception and abstraction bring the two into "intimate interaction".
- What is excluded. Shapes, sounds, cultural connotations of letters, words the strings might spell, and arithmetic facts (t is exactly eleven after i; m and n flank the midpoint). Local alphabet structure is allowed (u follows t), as are the two distinguished letters, a and z; inside a string, local relations ("the g is the right-neighbour of the a") count, long-distance ones ("the a is four letters left of the k") do not.
- Small numbers. Copycat knows small integers and their successors and can treat them like letters (group, map, relate them) but resists bringing numbers in, and resists larger numbers (5) more, echoing human ease with pairs and trios and insensitivity to quintuples.
- No human biases. People scan left to right, handle forward alphabetic order better than backward and know the alphabet's beginning best; Copycat has none of these biases, "a strength", keeping the focus on generalisable mechanisms.
Perception all the way up. The description of Copycat "will read very much like a description of a computer model of perception", deliberately: "even the most abstract and sophisticated mental acts deeply resemble perception", and the architecture borrows from Hearsay II. "The essence of perception is the awakening from dormancy of a relatively small number of prior concepts, precisely the relevant ones"; understanding a situation is the same, plus applying those concepts to identify entities, roles and relationships. Creative thinkers show "exquisite selectivity": what pops up are concepts that "fit like a glove", without a host of irrelevant ones.
The three components
Copycat has three major components, the Slipnet, the Workspace and the Coderack, with a global temperature coupling them.
| Component | Rough analogue | Contents | What changes during a run |
|---|---|---|---|
| Slipnet | long-term memory | ~60 Platonic concept types, no instances | node activations; link lengths (hence likely slippages); never its topology |
| Workspace | working memory; Hearsay II's blackboard | letter tokens, descriptions, bonds, groups, bridges, rules | structures built and destroyed; one coherent viewpoint at a time |
| Coderack | an agenda, but stochastic: a "stochastic waiting room" | codelets with urgencies | population constantly replenished; choice is random, biased by urgency |
Exact formulas and parameter values are not given here but are in Mitchell (1993).
The Slipnet: Copycat's network of Platonic concepts
Concepts are nodes; relationships are links with numerical lengths representing conceptual distance; the shorter the link, the more easily pressure induces a slippage. Main concepts: a, b, c, ..., z, letter, successor, predecessor, alphabetic-first, alphabetic-last, alphabetic position, left, right, direction, leftmost, rightmost, middle, string position, group, sameness group, successor group, predecessor group, group length, 1, 2, 3, sameness, opposite: about 60 in all.
Nodes acquire activation (relevance to the situation), spread it to neighbours and lose it by decay. Activation varies continuously, but when it crosses a critical threshold a node has a probability of jumping to full activation, then decaying again.
Conceptual depth. Each node has one important static number, its depth, capturing generality and abstractness: opposite is deeper than successor, which is deeper than a; roughly, depth is how far a concept is from direct perception. Instances of a are seen trivially, successorship takes a little work, "opposite" is "a subtle act of abstract perception". Depth is an a priori ranking of "best-bet" concepts: hard to bring in, highly significant once perceived, because deep concepts recur across situations and "the best insights in many problems come when deep concepts 'fit' naturally". It is not an abstraction hierarchy (poodle ⇒ dog ⇒ mammal ⇒ animal ⇒ living thing ⇒ thing describe one object at different levels; a, successor and opposite describe different aspects of a situation). Nor is it Gentner's syntactic abstractness (attributes < relations < relations between relations): in Copycat the "attribute" alphabetic-first is deeper than the "relation" successor, because it is less directly perceivable.
Depth has a second role: the deeper a concept, the more it resists slipping. Insightful analogies link situations sharing a deep essence and let shallow features slip. Motto: "Deep stuff doesn't slip in good analogies", though special constellations of pressures can override it.
How activation and link lengths behave
- Each node spreads activation to neighbours according to distance: near neighbours get more.
- Each node's depth sets its decay rate: deep concepts decay slowly, shallow ones fast, so a deep concept, once relevant, stays relevant and exerts a long, profound influence.
- Links come in types; all links of a type share a label, and each label is itself a node.
- Every link adjusts its length to its label's activation: active label, short link. If concept L labels the link between A and B, A and B grow closer as L grows more relevant, so the whole Slipnet changes shape to fit the situation.
- Example: opposite labels right/left, successor/predecessor and several other links; activate it and all those links "shrink in concert", making all those slippages likelier together.
Concepts as diffuse, overlapping clouds
Around each node lies a probabilistic "cloud" of possible slippages, dense near the node and thinning with distance, like a quantum-mechanical electron cloud. So a concept is better identified with that halo than with a point, and the Slipnet is better pictured as a space of diffuse clouds overlapping in complex, time-varying ways. Proximity is context-dependent: in Problem 1 nothing brings successor and predecessor close; in Problem 2 "opposite" may activate and shrink their link. Concepts are thus emergent, not explicitly defined.
Core plus halo (Copycat): slippage is a discrete jump from one core to another, like moving between the official city limits of two cities whose vague metropolitan regions overlap. A core (or at least a name) is required as a starting and ending point.
Connectionist networks: localist nets equate a concept with a node and so have no halos, hence no slippability; distributed nets have diffuse regions but no explicit core, hence, the authors argue, no slippability either. Coreless concepts may be accurate at the neural level, but Copycat models "a subcognitive but superneural level".
A label node resembles a multiplicative connection in a neural net, and context-dependent link lengths resemble weight changes, but connectionist learning has "no sense of departing from a norm and no tendency to return". The Slipnet is rubbery: it bends to a temporary context and "snaps back" afterwards. It retains nothing between runs and creates no new concepts, so Copycat does not learn in the usual sense, though it does model the adaptation of concepts to novel contexts.
# A toy Slipnet: links carry labels; a label's activation shortens every link it
# labels, and shorter links make slippage between their end-nodes likelier.
import math, random
LINKS = {('successor', 'predecessor'): 'opposite', ('leftmost', 'rightmost'): 'opposite',
('first', 'last'): 'opposite', ('letter', 'group'): 'category'}
DEPTH = {'successor': 50, 'predecessor': 50, 'leftmost': 40, 'rightmost': 40,
'first': 60, 'last': 60, 'letter': 20, 'group': 80}
def link_length(label_activation, base=100):
return base * (1 - 0.8 * label_activation / 100) # active label => short link
def slip_probability(a, b, activation):
label = LINKS.get((a, b)) or LINKS.get((b, a))
if label is None:
return 0.0
length = link_length(activation.get(label, 0))
resistance = (DEPTH[a] + DEPTH[b]) / 200 # "deep stuff doesn't slip"
return math.exp(-length / 25) * (1 - 0.6 * resistance)
for opp in (0, 50, 100): # Problem 1 vs Problem 2 vs 6
act = {'opposite': opp}
row = {pair: slip_probability(*pair, act) for pair in
[('leftmost', 'rightmost'), ('successor', 'predecessor'), ('first', 'last')]}
print(f"opposite={opp:3d}: " + ", ".join(f"{a}->{b} {p:.3f}" for (a, b), p in row.items()))
rng = random.Random(7) # a bridge-builder trying slips
act = {'opposite': 100}
tries = sum(rng.random() < slip_probability('first', 'last', act) for _ in range(1000))
print("first->last slips accepted in 1000 tries with 'opposite' fully active:", tries)
With "opposite" dormant, all three slippages sit near 1 percent; fully active, they rise to roughly 30 percent together, and the deepest one (first ⇒ last) remains the hardest. The numbers are illustrative, not Copycat's; the shape of the effect is the point.
The Workspace: a busy construction site
The Workspace is "a busy construction site" where independent crews build structures of many sizes in many places and occasionally tear some down for better ones: the cytoplasm of a cell, with codelets as enzymes. At the start it holds only raw data: each letter token knows its alphabetic type, and edge letters are marked leftmost or rightmost; nothing else. Over time scouting codelets attach descriptions and link objects with perceptual structures, all built from Slipnet concepts.
Salience: the squeaky wheel, probabilistically. Objects compete for attention. An object's salience combines its importance (more descriptions, and more highly activated descriptors, mean more important) and its unhappiness (how poorly integrated it is with other objects; a loner "seems to cry out for more attention"). Salience depends on both the Workspace and the Slipnet, and sets how attractive an object is to codelets.
The Workspace's perceptual structures
- Descriptions: concepts attached to objects (letter category, string position, object category, alphabetic position, length...).
- Bonds: relations between neighbouring objects in one string, such as a sameness bond between the two k's of ijkk (built quickly) or a successor/predecessor bond between i and j (slower). There is a built-in speed bias for sameness, because people spot identity faster than abstract relations. A bond's strength reflects its concept's activation and depth and the prevalence of similar bonds nearby.
- Groups: objects bonded by a uniform "fabric" (bond type) can be chunked into a higher-level object: kk is a sameness group; abc is a left-to-right successor group or a right-to-left predecessor group, never both at once (the program can switch). Groups get their own descriptions, salience and strength and can join larger groups, so hierarchies emerge; ijkk is a successor group of i, j and the group kk.
- Bridges (correspondences): links between objects in different strings, asserting that they are counterparts by intrinsic similarity, similar roles, or both. The aa-kk bridge in Problem 2 rests on an identity mapping (sameness group ⇒ sameness group) and a conceptual slippage (leftmost ⇒ rightmost), while the distance between a and k in the alphabet is simply ignored. Identity mappings are always welcome; slippages must overcome resistance, least for shallow, highly overlapping concepts.
All of this (scanning, bonding, grouping, bridge-building, plus spreading and decay in the Slipnet) runs in parallel, with the biases constantly shifting in light of what has been seen.
The drive toward coherence and deep concepts
New structures face increasing pressure to be consistent with existing ones, especially in the same string (instances of the same or nearby concepts). The result is not a hodgepodge but a coherent viewpoint, built "piece by piece by many agents all indirectly influencing each other", like bridges built by myopic ants or termites. Structures compete locally and globally; a structure's strength has a context-independent facet (its concept's depth) and a context-dependent facet (how well it fits its neighbours). Toppling a whole viewpoint takes a very powerful rival, but it happens, and such "revolutions" are sometimes the most creative decisions the system makes.
Every Workspace discovery sends a jolt of activation to the corresponding Slipnet concept, for a duration set by the concept's depth: building the aa-kk bridge in Problem 2 involves an opposite slippage, revealing the "hitherto unsuspected relevance of the very deep concept opposite", which then stays active and shapes everything after. "Deep concepts and structural coherency act like strong magnets" and give a decentralised, probabilistic swarm an overall goal-oriented quality, the opposite of a "rigid military hierarchy".
The Coderack: the source of emergent pressures
Kinds of codelets
- Scout codelets look at a potential action, estimate its promise, and can only post follow-up codelets.
- Effector codelets create or destroy Workspace structure: attach a description (middle to the b of abc), build a bond (successor bond b-c), build a group, build a bridge (similarity measured by Slipnet proximity of descriptors), destroy groups or bonds. Example sequence on mrrjjj: a scout notices the two r's are the same letter and proposes a sameness bond; another estimates its fit with existing bonds; an effector builds it; scouts then consider an rr group; an effector builds it.
- Bottom-up codelets ("noticers") look around unfocused, representing pressures present in all situations (describe, relate, correspond).
- Top-down codelets ("seekers") look for a particular phenomenon (successor relations, sameness groups), and can enter the Coderack only when spawned by active Slipnet nodes, with urgency set by the node's activation.
A codelet's urgency reflects the estimated importance of its action given the Slipnet and Workspace: a seeker for a lightly active concept waits long; one furthering a strong viewpoint runs soon. Urgency is computed from many factors, so a top-down codelet is a proxy not for one concept but for pressures: workspace pressures (maintain and extend a coherent viewpoint) and conceptual pressures (realise instances of active concepts).
Pressures are nowhere and everywhere. "Pressures, while they are very real, are not represented explicitly anywhere in the architecture"; each is spread across codelet urgencies, Slipnet activations and link lengths, and Workspace strengths and saliences. They are "implicit, emergent consequences" of the three components' intertwined events.
Each step picks one codelet at random, weighted by urgency, and removes it. Unlike Hearsay II's agenda, which always runs the top-priority action, urgency here represents "the estimated relative speed at which the pressures represented by this codelet should be attended to". Since no single codelet matters, what counts is that each pressure advances at roughly the right speed: "allocation of resources is an emergent statistical result rather than a preprogrammed deterministic one."
The Coderack is replenished three ways: bottom-up codelets keep arriving (context-independent urgencies); running codelets post follow-ups (urgency set by the progress they judged they made); active Slipnet nodes post top-down codelets (urgency set by activation). The result is a feedback loop between perceptual and conceptual activity with no top-level executive. The cellular analogy is exact: products of enzymes trigger new enzymes, and as some genes are expressed through enzymes while others stay repressed, some Slipnet nodes are "expressed" through top-down codelets while others stay dormant. Running serially, the system is roughly equivalent to many local, independent activities at different speeds.
Commingling pressures: the crux of fluidity
Pressures become flocks of tiny agents, each with a small chance of running; each codelet is a proxy for several pressures to different degrees, so "the 'causes' associated with the different pressures get advanced in parallel, but at different speeds".
Classical time-sharing: preordained processes each get time slices (their speed set by slice length or frequency); processes are cleanly distinguishable.
Copycat: speed is set probabilistically by frequency of selection, but there are no preordained processes; the nearest analogue, a pressure (a concept trying to impose itself; a viewpoint trying to entrench itself), is not a determinate sequence of actions, and one codelet can advance or hinder many pressures. Sequences of effectors that look like a planned construction process conceal many scouts and luck; "patterns in the processing are all emergent".
Basketball. Players zigzag, maneuvering; every move both responds to and alters "a complex constellation of pressures on the floor". The crowd follows the ball as a serial process, but players who rarely touch it shape the pressures controlling both teams; "a tiny feint of the head" changes probabilities everywhere. After a basket, announcers impose a clean, local, serial story, but the event was "distributed all over space and time, amongst all the players". So with Copycat: an outsider may parse a run into processes after the fact, but that parsing is "not intrinsic to the system".
The parallel terraced scan
The commingling of pressures yields the parallel terraced scan: many "fingers of exploration" feel out pathways at different speeds. These are scout probes; the Workspace holds one actual viewpoint, but around it "a host of nearby variants, virtual viewpoints, are constantly flickering probabilistically". A promising variant gets effectors, which must fight the incumbent structure, the outcome decided probabilistically by the incumbent's strength against the upstart's promise. This mirrors the fact that conscious experience is unitary though it emerges from many parallel unconscious processes.
Why "terraced". Scouting runs in stages, each contingent on the last and probing deeper. First-stage probes are cheap, so many can go in all directions, including unlikely ones; each later stage is costlier, so fewer are affordable and selection sharpens; only after deep, promising exploration are effectors created to "swerve the whole system down that pathway". Picture a column of ants marching through a forest, scouts at its head making small random forays (some directions more eagerly), the column constantly adjusting. Top-down pressures bias exploration, "but ultimately ... Must bow to the reality of the situation itself".
# Temperature-biased choice from the Coderack. Urgencies are raised to a power
# that grows as temperature falls: hot = nearly uniform, cold = nearly greedy.
import random
from collections import Counter
def choose(codelets, temperature, rng):
power = (110 - temperature) / 40 # illustrative schedule
weights = [u ** power for _, u in codelets]
return rng.choices(codelets, weights=weights)[0][0]
rack = [('bond-scout', 20)] * 30 + [('group-scout', 40)] * 6 + [('bridge-scout', 70)] * 2
rng = random.Random(1)
for T in (100, 50, 10):
counts = Counter(choose(rack, T, rng) for _ in range(10000))
share = {k: f"{v / 100:.0f}%" for k, v in sorted(counts.items())}
print(f"T={T:3d}", share)
# Grass-roots pressure (30 low-urgency scouts) keeps a fair share at mid
# temperature; always picking the max-urgency codelet would starve it entirely.
At T = 100 the thirty low-urgency bond scouts take about three quarters of the runs (each codelet is almost equally likely); at T = 10 the two urgent bridge scouts take the largest share, yet no pressure is ever starved to zero. (The exponent schedule is illustrative; Mitchell's book gives Copycat's actual formulas.)
Time-evolving biases and temperature
At the start the Coderack holds only bottom-up similarity scanners and the Slipnet is "neutral" (a standard configuration with some shallow concepts active), though never bias-free: depths differ, and sameness groups are spotted faster than successor groups. Early discoveries are local and superficial; they activate Slipnet nodes, which spawn top-down codelets, which come to dominate the Coderack. The Slipnet develops themes (highly active deep concepts or constellations of them) that steer salience, bond strength, grouping and urgencies. The system thus moves from open-minded to "closed-minded", strongly biased toward some initially unsuspected avenue, and from local to global actions.
Temperature: a regulator of open-mindedness. With no structure built, the system knows nothing and should explore broadly and capriciously; with a coherent viewpoint, "the last thing one wants is a lot of voices clamoring for irrelevant actions". Temperature measures the inverse of the quality of Workspace structure (more and more mutually coherent structures, lower temperature). It rarely falls monotonically: it rises and falls as structures are built and destroyed. It controls the randomness of every decision: which codelet runs, which object is attended to, which of two rival structures wins. If object A is twice as salient as B, a mid-range temperature makes A twice as likely; a very high one makes them nearly equal; a very low one makes A far more than twice as likely. At low temperature strong structures are hard to dislodge; if temperature rises, "in 'desperate times', even the most huge and powerful structures and worldviews can topple".
Simulated annealing (Kirkpatrick, Gelatt and Vecchi; Hinton and Sejnowski; Smolensky, all 1983): temperature is a top-down randomness control that falls monotonically on a predetermined "annealing schedule".
Copycat: temperature reflects the current quality of understanding, so it is feedback: "the system itself controls the degree to which it is willing to take risks."
An unplanned bonus: the final temperature of a run indicates how good the program thinks its answer is, since answer quality correlates with the amount of strong, coherent structure behind it. From that realisation on, the authors logged final temperatures for every run, and those data gave "some of the most important insights into the program's 'personality'".
Overall trends during a run
- Slipnet: from shallow to deeper active concepts; from no themes to themes.
- Workspace: from no structure to much structure; from many local, unrelated objects to few global, coherent structures.
- Processing: from parallel to serial, bottom-up to top-down, nondeterministic to deterministic.
Randomness and fluidity
Three arguments that randomness is essential
- Fair shares for every pressure. Urgency is a speed, not a priority. Always running the highest-urgency codelet would let one "elite" pressure (a few high-urgency codelets) squelch any number of "grass-roots" pressures (swarms of low-urgency ones), even if the elite held a small fraction of total urgency. Only probabilistic choice gives each pressure its due proportion as pressures change.
- Parallel hardware does not remove it. One cannot assign processors to processes (there are none) or to pressures (codelets serve several); the only option is one processor per codelet, at a speed set by its urgency, which means asynchronous computing whose actions are random relative to one another (as Carl Hewitt pointed out). "Parallelism provides no escape": on serial hardware randomness is explicit, on parallel hardware implicit. Each basketball player feels his own decisions are rational, but to the others they are unpredictable, and the more unpredictable a team, the better.
- Randomness serves intelligence through levels. Choosing a melody's next note by dice would be absurd (millions of monkeys might produce "Blue Moon" "once in a blue moon"), but that is a macro-decision. Random micro-exploration is the most efficient, unbiased way to scout "the vast, foggy world of possibilities"; as scouting succeeds, temperature falls and macro-decisions become nonrandom. "Randomness is used in the service of, and not in opposition to, intelligent nonrandom choice", with all shades between in a mid-temperature regime.
Liquids make the final point: water flows smoothly only because its molecules' micro-actions are random relative to one another, and the flow is among the least random phenomena we know. "Fluidity is an emergent quality, and to simulate it accurately requires an underlying randomness."
Performance from far back: the forest-level view
On any run Copycat settles on one answer, but runs differ. Micro-decisions (which codelet, which object) are random; the macro-decision, the answer, emerges far more deterministically through statistics. There are countless micro-routes to ijl in Problem 1, and many micro-biases push toward them, so at the macro level the program is "very close to being deterministic".
The Gaussian pinball machine. Science museums drop thousands of balls through rows of pins into 20 or 30 bins; each ball's path is helter-skelter, yet the stacks build "an excellent approximation to a perfect gaussian curve". In Copycat the bins are answers and each ball's bouncing is a run's micro-decisions; enough runs give a reliably repeatable pattern of answer frequencies.
Each problem is summarised by a bar graph of 1,000 runs: frequency (surface appeal, immediacy) and average final temperature (the program's own estimate of quality; lower is better). After about 100 runs the statistics barely change; more runs mostly add rare "fringe" answers (2,000 runs of Problem 1 might yield one or two more oddities). The key point: the program can produce strange answers, which flexibility requires, yet "steer[s] clear of them almost all of the time". The current program handles only problems whose example change replaces at most one letter (though answers may change more, as in ijll); the letter domain is in principle far larger.
As a rough guide, an average final temperature below 30 means a fairly strong, coherent set of structures, a reasonable "understanding"; higher temperatures mean weak structures or no coherent mapping. The program decides probabilistically when to stop, likelier at low temperature, so some runs stop early (for example before ijk is grouped as a whole), still answer ijl, and raise its average temperature; the lowest temperature ever reached for ijl is about 7.
Problem 1. ijl dominates; ijd appears 19 times; ijj once (a slip of successor into predecessor, always possible in principle since the two are linked, but almost always too distant under these pressures). The frequencies are not meant to reproduce human ones (the program lacks much of what people know about letters); the point is the steering away from strange answers. The program rates ijl (17) above ijd (23) and far above ijj (48).
The authors' own footnote on temperature. ijd's average final temperature (23) is "almost equal" to ijl's (17), "even though it is much less frequent", whereas "most people feel it is a far worse answer". Hofstadter and Mitchell acknowledge "a problem with the way temperature is calculated", discussed with other flaws in Mitchell (1993). Temperature is a useful but imperfect quality measure.
Systematically varied problems
Variants tamper with the pressures one problem evokes, and the bar graphs show the effects.
Problem 2. Despite the pressure toward a crosswise mapping, ijll ("replace rightmost group by successor") leads and ijkl is second: "the lingering appeal of the straightforward leftmost ⇒ leftmost, rightmost ⇒ rightmost view". The pressure is felt: jjkk makes a good showing and hjkk appears 47 times with "by far the lowest average temperature" (on Problem 1, by contrast, no answer ever changed the leftmost letter). Fringe answers: jkkk (grouping the two leftmost letters, an unappealing parse), ijkd and ijdd ("replace rightmost letter by d", flexed differently by different bridges from the c), ijkk (replace all c's by d's) and djkk (the i replaced by d).
Problem 3. Abc ⇒ abd; kji ⇒ ? Literal application gives kjj, ignoring an abstract similarity. Many people prefer lji ("replace the leftmost letter by its successor"): both strings are successor groups, running right in one and left in the other, so right ⇒ left and its "cousin" rightmost ⇒ leftmost slip. Others give kjh ("replace the rightmost letter by its predecessor"): same spatial direction, but successorship in one and predecessorship in the other, so successor ⇒ predecessor slips. Copycat: kjh 547 (lowest temperature, 14), kjj 232 (44), lji 204 (18, much better than kjj), kjd 15 (28), and two singletons: dji (21; "an implausible blend of insight and rigidity", the opposite directions seen but the leftmost letter replaced by d, with surprisingly strong structures) and kji (89; "replace c by d", where kji has no c, a run that stopped almost before building anything).
How hidden concepts emerge from dormancy
Problem 4. Abc ⇒ abd; mrrjjj ⇒ ? The straightforward answer is mrrkkk (the rightmost "letter" is really the group jjj); a literal one is mrrjjk. Neither uses abc's salient successorship fabric, and no such fabric seems to bind mrrjjj, unless one ignores the letters and looks at group lengths: 1-2-3. Then the rule becomes "replace the length of the rightmost group by its successor": 1-2-4 abstractly, mrrjjjj concretely. A previously irrelevant aspect, "so far out of sight that [it was] not even recognized as being irrelevant", becomes central under pressure.
Far-out ideas should not occur to people "for no good reason"; someone to whom they constantly occur is "classified as crazy or crackpot". You don't check your street sign each time you go out, suspect the salt shaker holds sugar, or look for a potato in the tailpipe or a bomb under the car, unless pressure (a telephone threat on your life) makes such suspicions reasonable (compare Kahneman and Miller's 1986 work on counterfactuals and the frame problem of McCarthy and Hayes, 1969).
Pressures that can awaken "length" in Problem 4
- Once successor relations are noticed in abc, top-down pressure seeks them in mrrjjj.
- Once the rr and jjj sameness groups exist, the normally dormant concept length becomes weakly active.
- Those groups create pressure to see other parts of the string as sameness groups, possible only by seeing m as a one-letter group, an unlikely construct.
- After standard concepts fail, resistance to nonstandard concepts decreases.
mrrkkkk (gilding the lily): changes both the letter category and the length of the rightmost group; it blends the alphabetic and numerical views, though the letters m-r-j are merely the medium in which the message "1-2-3" is written.
mrryyyy and uggyyyy: treat the j's as an arbitrary letter (beyond Copycat, which has no "arbitrary letter" concept). The authors prefer to preserve the medium while changing the message to 1-2-4; otherwise why would wholesale replacement (uggyyyy) not be as good?
mrrkkk (705) and mrrjjk (203) are the most immediate answers but run hot, because nothing ties mrrjjj together. mrrjkk (45, "a rather silly answer" grouping only the last two j's) and mrrjjjj (39) follow with similar frequencies, but mrrjjjj's average temperature (20) is far the lowest: "the immediacy or obviousness of a solution is by no means perfectly correlated with its quality." mrrddd and mrrjjd are fringe. (The frequencies differ from an earlier publication because group- and bridge-building had since been improved.)
Problem 5. Abc ⇒ abd; rssttt ⇒ ? Here successorship runs at both levels: letters r-s-t and lengths 1-2-3. Without the pressure of a missing letter fabric, Copycat is content with the letter-level answer: rssuuu 731 (30), rssttu 165 (48), rttuuu 53 (43), rsstuu 33 (46), rssddd 7 (49), rstuuu 7 (46), rssttd 3 (60), and the length answer rsstttt only once (28). Many people consider rssuuuu best (both letter and length incremented); Copycat cannot get it, because it cannot build two simultaneous bonds (alphabetic and numerical) between the same two objects.
Paradigm shifts in a microworld
Problem 6. Abc ⇒ abd; xyz ⇒ ? The z has no successor (Platonic z, not the token). Many people invoke circularity (a after z, as January follows December, 0 follows 9, an ace a king, A follows G in music) to get xya, a small creative leap; but Copycat's alphabet is stipulated to be linear, stopping dead at z, because modelling how people handle impasses was a goal from the start. Other responses: xy (drop z), xyd (literal d, here "quite fluid and certainly reasonable"), xyz (leave z alone), xyy (take the predecessor, second best), xzz (successor of z's neighbour). The insight: abc and xyz are mirror images, each "wedged" against its own end of the alphabet, so z corresponds to a and x to c (y to b), via three parallel slippages, alphabetic-first ⇒ alphabetic-last, rightmost ⇒ leftmost, successor ⇒ predecessor. The rule flexes, as in Problem 2, into "replace the leftmost letter by its predecessor": wyz, which many people, including the authors, find superior to all others.
Problems 2 and 6 hinge on the same double reversal, yet people find it more easily in Problem 2, which has no snag, because there the cue (aa and kk) is immediate while in Problem 6 the resemblance of a and z "lurks far beneath the surface". wyz is a miniature "change of frame" (Kuhn); hjkk is elegant but not radical; a model of fluidity must respect such "levels of subtlety".
- xyd (771): if the rightmost letter cannot take its successor, replace it by d, an answer people often give when told xya is barred.
- wyz (137): a distant second but the lowest temperature (14); "brilliance will distinguish itself from mediocrity only in situations where deep ideas are elusive". It requires the emergency measures described below: sharp focus on the trouble spot and temperature raised to 100.
- yyz (78): crosswise mapping without reversing the alphabetic fabric, changing the leftmost letter but still taking a successor: Problem 6's analogue of jjkk, a half-completed thought very typical of human blends.
- dyz (7): "a highly implausible blend of insight and simple-mindedness" (the abstract symmetry seen, the change taken as literally d), self-descriptively pronounced "dizzy"; in Hofstadter et al. (1989) such answers anchor a theory of "slippage humor", a continuum from sensible through "sloppy" to "dizzy" answers, defined by how consistently slippages are carried out.
- xyy (3): opposite alphabetic directions but the same spatial direction; its Problem 1 analogue ijj appeared once even without a snag.
- xyz (3, temperature 74): "replace c by d"; less clever than seeing z as its own successor, which people often propose (it is their most common answer once xya is barred). Its Problem 1 analogue ijk never appeared: "it takes the 'desperation' caused by the z-snag".
- yzz (1): "almost pathological": x and y grouped and the group replaced by its "successor".
Problem 7. Rst ⇒ rsu; xyz ⇒ ? Keep the impasse but remove the escape route: r and z share almost nothing except being leftmost and rightmost, "hardly a powerful reason" for an r-z bridge. Copycat: xyu 985 (21), wyz 10 (17), xyz 3 (77), yyz 2 (38). Wyz falls from about 14 percent in Problem 6 to 1 percent. On Problem 1, a crosswise a-k bridge would give hjk, ijk or djk; Copycat never produced them in 1,000 runs, and no human has suggested them, except one person who proposed hjk right after seeing wyz. Problem 7 sits halfway: a snag creates "desperation", persistent high temperature makes the weak r-z bridge occasionally tempting, and then the shift proceeds as in Problem 6: an intermediate stage between unmotivated and motivated fluidity.
| Problem | Most frequent answer | Lowest-temperature answer | What it tests |
|---|---|---|---|
| 1. Abc ⇒ abd; ijk | ijl 980 (17) | ijl | baseline; steering clear of oddities |
| 2. Aabc ⇒ aabd; ijkk | ijll 612 (29) | hjkk 47 (19) | letter ⇒ group; crosswise double reversal |
| 3. Abc ⇒ abd; kji | kjh 547 (14) | kjh (14), lji (18) | rival slippages: direction vs successorship |
| 4. Abc ⇒ abd; mrrjjj | mrrkkk 705 (43) | mrrjjjj 39 (20) | dormant concept (length) awakened |
| 5. Abc ⇒ abd; rssttt | rssuuu 731 (30) | rsstttt 1 (28) | no pressure, so letters suffice |
| 6. Abc ⇒ abd; xyz | xyd 771 (22) | wyz 137 (14) | impasse and change of frame |
| 7. Rst ⇒ rsu; xyz | xyu 985 (21) | wyz 10 (17) | impasse without an escape route |
| Answer | Rule as translated | Slippages involved | Authors' verdict |
|---|---|---|---|
| ijl | replace rightmost letter by successor | none | the natural answer |
| ijd, ijk | replace rightmost letter by d; replace every c by d | none (literal) | "smart-aleck" |
| ijll | replace rightmost group by successor | letter ⇒ group | fluid, popular |
| hjkk | replace leftmost letter by predecessor | rightmost ⇒ leftmost; successor ⇒ predecessor | subtle, coolest |
| jjkk | replace leftmost letter by successor | rightmost ⇒ leftmost only | a half-completed thought |
| kjh | replace rightmost letter by predecessor | successor ⇒ predecessor | strong |
| lji | replace leftmost letter by successor | right ⇒ left; rightmost ⇒ leftmost | strong |
| mrrkkk | replace rightmost letter (now a group) by successor | letter ⇒ group | immediate but hot |
| mrrjjjj | replace length of rightmost group by successor | letter ⇒ group; letter category ⇒ length | insightful |
| xyd | replace rightmost letter by d (after the snag) | none | reasonable under pressure |
| wyz | replace leftmost letter by predecessor | first ⇒ last; rightmost ⇒ leftmost; successor ⇒ predecessor | a miniature change of frame |
| yyz | replace leftmost letter by successor | rightmost ⇒ leftmost only | a blend, often given by people |
| dyz | replace leftmost letter by d | rightmost ⇒ leftmost, then literal d | "dizzy" |
A miniature Turing Test. Running Copycat on families of subtly related problems felt, to the nervous authors, like "a kind of 'miniature Turing Test'": each new problem brought out "some new and unanticipated aspect of the program's personality". By and large it "came through with flying colors" (full tests in Chapters 4 and 5 of Mitchell, 1993), showing rudimentary fluid concepts, its flaws (bad analogies), and its robustness. The goal remains not to model how people solve letter puzzles but to model mechanisms for fluid concepts and analogy in general. A footnote adds an irony: people who doubt that letter-string analogies have right answers happily accept, in commentary on the program, that ijj "is the analogue" of xyy; their guard is up when asked to solve, down when asked to judge.
Performance up close: how length is discovered
Problem 4 is chosen because perception is decisive. Length sits in the halo of group, along with letter category (j for jjj), string position (rightmost) and group fabric (sameness), but without pressure it is far from group: one is virtually certain to notice rr's letter and unlikely to notice or care that it has two members. If length is noticed and proves useless (as it would in abc ⇒ abd; mrrrrjj ⇒ ?), its relevance fades; spending time on a useless concept is counterproductive.
The story in quick strokes. The input is three raw strings with no bonds or groups. rr and jjj are built fast (sameness is quick) and their letter categories noted; length is rarely noticed at that moment. Sameness groups become relevant and create top-down pressure to see other objects in the string as sameness groups, possible only by making m a one-letter group, an intrinsically weak construct that would waste huge effort if allowed casually. But two strong sameness groups nearby plus the system's unhappiness at the unincorporated m (persistently high temperature) push against the resistance. If m does become a group, its length (1) will likely be noticed, since one-letter groups are noteworthy precisely for their abnormal length; length becomes more active, the other lengths get noticed, and length stays active because it proves useful. Numerical successor relations among 1, 2, 3 may then be spotted by ever-present bottom-up codelets (possible only in a parallel architecture constantly looking for many kinds of property) or, likelier, by top-down pressure from abc's successor relations. Interest in letter categories fades, length becomes the groups' most salient aspect: "the crux of finding this solution lies in the triggering of the concept length."
The authors present ten screen dumps (Figure V-8) from one run that reached mrrjjjj, "not very typical" (about 4 percent of runs). Three are reproduced here.
The run, screen dump by screen dump
- Codelet 0. Temperature 100. Each letter has preattached descriptions: letter category, string position (the fourth letter of mrrjjj has none), object category (letter).
- Codelet 30. Dotted lines (early consideration), dashed (serious consideration), solid (built). A dotted a-j bridge based on the long leftmost-rightmost link will not go far. Bridges abc-abd are built, and a j-j sameness bond, which activates "same" and spawns seekers for more sameness. "first" is lightly active via "a"; length is slightly active through its weak association with letter category (letters and numbers both form linear sequences). Temperature has fallen.
- Codelet 96. abc's successorship seen; rival groups bc and abc considered, the latter stronger. The a-j bridge aborted; a c-j bridge built (both rightmost: an identity mapping). Successor and same are highly active and spread to successor group and copy-group (Copycat's screen name for sameness group); a jjj group strongly considered. "alphabetic position" happens to activate.
- Codelet 195. Groups abc and jjj built; rr considered and accelerated by jjj's support. A rule describes the change: Copycat assumes exactly one letter was replaced and fills "Replace ___ by ___" probabilistically, favouring abstract descriptions ("rightmost letter" over "c"). "first" and "alphabetic position" fade, being useless; length gets some activation from group but remains weak.
- Codelet 225. The letter-to-group c-J bridge beats the letter-to-letter c-j bridge. rr is built and its length 2 happens to be noticed, making length fully active and the "2" salient. A weaker rule, "replace the letter category of the rightmost letter by d", has won a probabilistic fight, raising the temperature; stopping now would give mrrddd.
- Codelet 480. The stronger rule is restored, but the c-J bridge has lost to the weaker c-j bridge (stopping now: mrrjjk). Length has decayed (the "2" proved useless so far). Temperature remains high since mrrjjj will not cohere; this plus top-down pressure from two copy-groups makes the system "flirt" with a one-letter group around m.
- Codelet 615. The a priori very unlikely single-letter group m is built and its length 1 attached; a successorship bond 1-2 is already built, keeping length active. A consistent trio of letter ⇒ group bridges forms and temperature falls to 36, helping lock in the view (stopping now: mrrkkk).
- Codelet 840. Lengths attached to jjj and abc; a 2-3 successor bond considered, with top-down pressure from abc and from the emerging view. Letter category has decayed.
- Codelet 855. The 2-3 bond is built and a high-level numerical successor group of the three groups' lengths perceived; a whole-string bridge between abc and mrrjjj is being considered. Ironically, "a small renegade codelet, totally unaware of the global momentum" knocks down the c-J bridge in favour of c-j: stopping now would give the dull mrrjjk, less excusable than earlier. But temperature 31 leaves room to recover.
- Codelet 890. The aberrant bridge is replaced; the whole-string bridge is built with six concept mappings, including identities (right ⇒ right: both strings flow rightwards) and slippages (letter category ⇒ length). The rule is translated to "Replace the length of the rightmost group by its successor", giving mrrjjjj, at a final temperature of 11.
The run "may look quite smooth" but involved struggles at every step: making a one-letter group, bringing in length, keeping it active long enough to notice all three lengths, bonding them. Usually the program, like people, gives up first and answers more obviously. Deep answers need "patience and persistence in the face of uncertainty" as well as insight.
Calculated risks. In a complex world "one never knows in advance what concepts may turn out to be relevant", so one must avoid both "dogmatically open-minded" search (all possibilities equally seriously) and "dogmatically closed-minded" search (ruling things out a priori). Copycat "quite literally takes calculated risks all the time", sometimes disastrously (the far-fetched answers), but that is the price of creativity; its rarity of strange answers shows a working balance of flexibility and robustness. Large deterministic decisions are never made (except near the end of a run); "pressure" is shorthand for the statistics of many codelet actions and Slipnet activation patterns.
The clamped-temperature experiment. To test the importance of moving from parallel, random, bottom-up processing to serial, deterministic, top-down processing, Mitchell clamped the temperature throughout runs, once very high and once very low, 1,000 runs each. "In neither test did the hobbled Copycat ever come up with the answer mrrjjjj, not even once."
Micro-anatomy of a change of frame: wyz
How Copycat occasionally finds wyz is a surprisingly involved little tale: an attempt to show in slow motion how a mind under pressure transforms its perception "in a blinding flash", the Aha! phenomenon. Getting Copycat to produce wyz "properly" was "the central inspiration" guiding the whole architecture. The story evolved with the program and is offered as a plausible account of a human change of frame too.
Emergency measures when the z-snag is hit
- Physical spotlight: the z token's salience is pumped up until it is the most attractive object in the Workspace.
- Conceptual spotlight: a huge jolt of activation goes to the Slipnet node z, broadening and intensifying its halo, so related concepts are likelier to be considered.
- Temperature to 100, clamped, encouraging broad, open-minded search.
- Breaker codelets, dormant until now, run and arbitrarily break structures, loosening attachment to a viewpoint already known to be problematic.
None of these has anything to do with this snag, problem, domain, or even analogy: impasses are common, and the best hope is to "read" the impasse as a source of cues, which in Copycat means pressures pushing exploration in some direction.
The scenario. (1) The spotlight on Platonic z raises the chance that the z token gets described as alphabetic-last, a deep neighbour of z that normally (in Problems 1-5) stays dormant, as it should. (2) If that "dicey" description is attached, alphabetic-last is boosted, its halo activates alphabetic-first, and because abc contains an a, the a may get described as alphabetic-first. (3) If both descriptions are attached ("a big 'if'"), a and z become so salient that they "almost cry out to be mapped onto each other", not because the system foresees the insight but because both stand out; trying the a-z bridge reveals its appeal. (4) The bridge requires two slippages: alphabetic-first ⇒ alphabetic-last (deep, normally resisted) and leftmost ⇒ rightmost. They are conceptually parallel (each slips an extremity into its opposite), so each makes the other more plausible, and two slippages justify a bridge more than one; this mechanism only became apparent through the program's "flailings and failures". (5) Locking in: a strong novel structure probabilistically unclamps the temperature, which then falls sharply, making decisions more deterministic and favouring the new view; the bridge sends a burst into the deep concept opposite, shrinking every opposite-labelled link, a "bandwagon". (6) The mirror bridge c-x follows (it too uses leftmost ⇒ rightmost), temperature falls further, and pressure mounts to flip xyz's direction from rightwards to leftwards, so its fabric becomes predecessor: spatial and alphabetic reversal complete. (7) The rule translates into "replace the leftmost letter by its predecessor": wyz. In a human mind all this happens "in a flash"; settling on this account took the authors several years. (Annotated screen dumps of such a run appear in Mitchell and Hofstadter, 1990.)
Resisted in proportion to depth, respected in proportion to depth. wyz violates "deep stuff doesn't slip", which is why people rarely find it alone, yet they find it elegant when shown it. "Even though slippages tend to be (and should be) resisted in proportion to their depth, once a very deep slippage has been made, then it tends to be (and should be) respected in proportion to its depth." The authors consider this characteristic of creative breakthroughs and, abstractly, of Kuhnian scientific revolutions.
Why wyz looks easier than hjkk, and isn't. wyz is subtler for people than hjkk, yet Copycat found wyz 137 times and hjkk only 47. Two factors explain it. First, the snag: Problem 6 bars the easy route, while in Problem 2 every attractive superficial route leads straight to an answer. Second, time, which the bar graphs omit: hjkk took on average 899 codelets, a direct path; wyz took 3,982, over four times as long, because runs kept returning to the standard view and hitting the snag again "in a kind of rut". In time-to-discovery, wyz was "an extremely elusive answer for the program".
The generality of Copycat's mechanisms
The project's aim was never letters but "the emergence of insightful cognition from fluid concepts". The architecture would be refuted if it depended on its small repertoire of concepts and the few instances in a problem; every effort was made to avoid combinatorial explosion as domain and problems grow. "In some sense, Copycat is a caricature of genuine analogy-making. The question is, what makes a caricature faithful?"
Brute force: humans pre-shrink every situation into small, sharp-edged formal structures so that the program can try every approach.
"Heuristic chop": the program makes a sharp, irreversible cut at the start of each run between concepts and methods that may be used and those that may not.
The only escape is shadedness: concepts, facts, methods and objects present in shades of gray that change over time. How can a concept be invoked only partially, a fact half attended to, a method "sort of" used, an object half in the situation? Real situations have no sharp edges; solutions, especially ingenious ones, often come "from far outside the problem as conceived of originally".
The mind's eye on Watergate. Like a real eye, the mind's eye has a limited field, a focused centre, a blurry periphery and a beyond. Recall Watergate: concepts ("impeachment", "coverup", "counsel", "testimony", "paper shredder") and individuals and events (the Senate Select Committee and its senators, the "Saturday night massacre", the Supreme Court, Maureen Dean, the 18½-minute gap, "expletive deleted", Sam Ervin's gavel) all have different, shifting degrees of presence. Now try England, France, communism, the Viet Nam War, the Six-Day War, the Washington Monument, the New York Times, Spiro Agnew, Edward Kennedy, Howard Cosell, Jimmy Hoffa, Frank Sinatra, Ronald Reagan, the AFL-CIO, General Electric, the electoral college, Harvard, helicopters, keys, guns, flypaper, Scotch tape, television, tape recorders, pianos, secrecy, accountancy, loyalty: which are "in" Watergate? Drawing a sharp line is "ludicrous". A realistic mind must give every object and concept a shaded, time-varying degree of presence, and something glinting in the periphery can draw the gaze until it ends up at the centre.
Copycat answers these questions architecturally: like brute force, every concept, object and pathway in its repertoire is in principle available at all times; like heuristic chop, only a few are intensely involved at any moment, most are dormant, some in between. (A footnote: Copycat cannot reach beyond its own repertoire, but neither can any finite mind; if that is a defect, humans share it.)
| Component | Shades-of-gray mechanisms (all "shaded" and, unless noted, "dynamic") |
|---|---|
| Slipnet | presence of concepts (activation); conceptual proximities (link lengths); spreading activation (conceptual halos); conceptual depths (static); decay rates (set by depth); emergence of themes |
| Workspace | number of descriptions per object; importance of objects (descriptor activation); unhappiness (degree of integration); presence of objects (salience); tentativity of structures (strength) |
| Coderack | promise of pathways; emergence of pressures (urgencies, shifting population); willingness to take risks (temperature); mixtures of deterministic and nondeterministic, parallel and serial, bottom-up and top-down processing |
| Emergent openness | unanticipated higher-level objects and structures; a priori unpredictable pathways (new structures at rising abstraction); large-scale viewpoints; competition between rival high-level structures |
The last row is subtler: as higher-level structures emerge they bring in new concepts and avenues, each subject to the same chunking processes, "a spiral of rising complexity" that brings abstractions in "from nowhere", a fundamental "openness" (Hewitt's term) impossible with frozen representations. None of these mechanisms depends on the size of situations, the size of the repertoire, the letter domain, or analogy-making itself; they, "especially commingling pressures and the parallel terraced scan", are "what Copycat is truly about", and the basis of the authors' belief in its cognitive generality.
A working glossary of Copycat's terms
- Activation: a Slipnet node's current relevance, continuous, decaying at a rate set by depth.
- Conceptual depth: a node's fixed abstractness; deeper concepts are harder to perceive, longer-lasting once active, and more resistant to slipping.
- Link length and label: conceptual distance between two nodes, shortened when the link's label node is active.
- Slippage: a concept in one situation mapped onto a different but nearby concept in the other (leftmost ⇒ rightmost), recorded in a bridge.
- Description, bond, group, bridge: the four kinds of Workspace structure, from attached concepts to within-string relations, chunks and between-string correspondences.
- Salience: an object's attractiveness to codelets, from importance and unhappiness.
- Strength: a structure's resistance to being replaced, with context-free and context-dependent facets.
- Urgency: a codelet's relative speed, not its priority.
- Scout and effector: codelets that evaluate versus codelets that build or destroy.
- Pressure: an implicit push toward some kind of structure, spread over urgencies, activations and strengths.
- Viewpoint and theme: a coherent Workspace interpretation, and the constellation of active deep concepts supporting it.
- Temperature: the inverse of structural order, setting the randomness of every choice and, at the end, a rough score of the answer.
- Parallel terraced scan: many cheap probes, fewer costly ones, effectors only for the best, all interleaved.
- Breaker codelets: dormant destroyers released at high temperature to loosen a failed viewpoint.
Critical lens. (1) Scaling was asserted, not shown. The generality argument is architectural; Copycat itself never left its ~60-concept domain, its Slipnet depths and link lengths were hand-set, and it could not learn new concepts (Forbus and Gentner's 1998 reply pressed exactly these points). (2) Narrow problem class. Only problems whose example change replaces at most one letter are handled; Copycat cannot represent two simultaneous bonds (so it misses rssuuuu), has no "arbitrary letter" concept, and its temperature formula overrates ijd (the authors' own admissions). (3) Human comparison is thin here. The chapter shows program statistics, not human ones; the human survey data are in Mitchell (1993), and the authors explicitly disclaim modelling human frequencies. Claims such as "no human has suggested hjk" rest on informal experience. (4) Self-assessed quality. "Low temperature = good answer" is partly circular: temperature measures the program's own structural coherence, and the authors' aesthetic preferences (wyz, mrrjjjj) were built into depths and pressures from the start. (5) The claim that randomness is necessary is stronger than the argument: what the argument shows is the need for unbiased, fair allocation under uncertainty, which deterministic but fine-grained schedulers (or chaotic dynamics) could also provide.
Copycat and its heirs, through 2026. Mitchell's dissertation became Analogy-Making as Perception (1993); James Marshall's Metacat (1999) added the self-watching Chapter 7 calls for, and the architecture spread to Phaeaco (Bongard problems, 2006), Seqsee (sequences, 2010) and Musicat (melody, 2012). The letter-string domain became a benchmark for LLMs: Webb, Holyoak and Lu (Nature Human Behaviour, 2023) reported GPT-3 matching or beating humans on many analogy tasks, letter strings included; Lewis and Mitchell (2024) showed GPT models degrade sharply on counterfactual alphabets (permuted orders, symbol alphabets) where humans do not, and Webb's group replied (2024) that the failures largely reflect difficulty tracking positions in unfamiliar orders. The dispute is the Slipnet's question in modern form: does the system grasp roles (successor, rightmost) that survive a change of medium? Chollet's ARC (2019) carried the spirit to grids; OpenAI's o3 scored 75.7% (low compute) and 87.5% (high compute) on ARC-AGI's semi-private set in December 2024, with Mitchell noting the cost, the training on ARC tasks and the open question of generalisation. Mitchell's Artificial Intelligence: A Guide for Thinking Humans (2019) brought the Copycat view to a wide audience. For engineers, three Copycat ideas travel well: sampling temperature tied to confidence (adaptive decoding rather than a fixed setting), cheap broad scouting before costly commitment (the terraced scan behind cascaded retrieval and agent planning), and measuring quality separately from frequency, since the most common output of a stochastic model is often not its best.
Before the analogy models of the 1980s, two forgotten programs already pointed where Copycat would go. Thomas Evans's ANALOGY built its own representations of geometric IQ-test pictures and so tried, however crudely, to join perception to mapping; Walter Reitman's Argus let a parallel, Hebb-inspired network of concepts bias a serial problem-solver, and its author insisted that precoding the key idea into the input is cheating. Hofstadter reads Copycat as the merger of the two: Argus's architecture plus ANALOGY's perception-with-mapping, set in an elegant microworld.
Why look back
The chapter that follows compares Copycat with work of the previous decade (SME, ACME and their kin). Hofstadter first steps further back, to two projects of the 1960s, because each held an idea that later research dropped and that Copycat picked up again. The point of the detour is historical justice as much as self-justification: the good ideas in early AI analogy work were not refuted; they were simply abandoned, and Copycat is in part their revival.
Thomas Evans's ANALOGY
ANALOGY, described by Thomas Evans in 1968 (from his MIT doctoral work of the early 1960s), is "indisputably" the most famous early attempt to model analogy-making on a computer. Its microworld was the geometric-analogy problem of traditional IQ tests: "A is to B as C is to 1, 2, 3, 4, or 5?", where each letter or number is a picture of a few figures (a small triangle above a large square with a dot inside it). B is made from A by a simple transformation (moving, deleting or replacing one object); the solver must "do the same thing" to C and pick the matching candidate.
- It selected, never produced. Unlike Copycat, ANALOGY did not invent an answer: it inspected all five candidates and rank-ordered them. Five pictures hardly make an exhaustive search, yet the strategy typifies an architecture built on "deterministically exploiting the raw power of computers".
- It built its own representations. Of the eight pictures in each problem, ANALOGY constructed descriptions itself, not from a pixel scan but from Lisp data structures describing lines, curves and dots. That is a genuine attempt to merge primitive visual processing with the conceptual act of mapping.
- Perception and mapping were cleanly separated in time. Perception was a stage that completely preceded mapping, with no way to revisit a perceptual decision in the light of what mapping discovered. Still, both processes were modelled, "a foresighted strategy that somehow got left by the wayside".
- Analogy was not a "big gun". Evans did not treat analogy as a weapon brought out to solve some problem, an assumption later work took as an axiom, visible in the very phrase "analogical reasoning", with its bias toward reasoning over plain understanding. People see situations in terms of other situations "simply because that is human nature".
Weaknesses Hofstadter grants. ANALOGY had almost no representation of concepts (the core of FARG's models), only "the slightest sense of slippage", and an architecture that was rigid, brute-force, deterministic and serial. It was not presented as a cognitive model, and in that era the difference between a successful AI program and a good cognitive model "was hardly ever considered". Its value lies in ideas nobody followed up.
Walter Reitman's Argus
Argus, earlier still (early 1960s), was Walter Reitman's reaction against the rigidity of Newell, Shaw and Simon's General Problem Solver, described in his book Cognition and Thought (1965). As a performer it was feeble. Its "analogies problems" were verbal IQ-test items:
| Problem | Choices | Argus's answer | Why it "works" |
|---|---|---|---|
| bear : pig :: chair : ? | foot, table, coffee, strawberry | table | bear and pig share the superordinate animal; chair and table share furniture |
| hot : cold :: tall : ? | wall, short, wet, hold | short | stored opposite link |
| Samson : hair :: Achilles : ? | strength, shield, heel, tent | heel | both are people; hair and heel are both body parts |
Single-word problems need no dynamic build-up of perceptual structures: a static repertoire of stored concepts with fixed links suffices. Argus knew nothing about bears or pigs, only that the words "bear" and "pig" were both linked to "animal"; English words gave the usual "deceptive façade" of real-world knowledge, though Reitman never claimed the program understood anything.
The virtue of Argus was its architecture. Inspired by Donald Hebb's cell-assemblies and their intrinsic parallelism, Reitman was disturbed that GPS, unlike people, was uninterruptible and undistractable, and he wanted to model exactly those "imperfect" aspects of cognition. Hence a parallel-processing vision of mind, "almost unheard-of" at the time. While warning repeatedly that his model was not neural simulation, he wrote of cell-assemblies that "fire" and signal one another: spreading activation at a superneural, perhaps conceptual, level.
Argus's architecture mapped onto Copycat
- A serial process works on the given task (an analogies problem). In Copycat: codelets working in the Workspace.
- A semantic network in which activation propagates in parallel. In Copycat: the Slipnet with its spreading activation.
- Dynamic bias: highly activated nodes inject biases into the serial process. In Copycat: activated concepts shape which codelets are posted and how urgently.
Reitman's protest against precoding
Argus's author saw furthest in rejecting, at least in principle, human-built fixed representations fed to a "mapping engine". The Samson/Achilles problem shows why. The shallow solution (people, body parts) already picks heel. The solution people prefer uses what is specific to each man: Samson lost his strength when his hair was cut; Achilles would lose his power if his heel were wounded. Hair and heel then share the abstract, a priori unlikely description "point of susceptibility to major negative influence from the environment". If that notion sat ready in the network, the problem would be no harder than hot/cold.
Argus finds the one problem no more difficult than the other because, as it gets them, they are formally identical.
Reitman drew the conclusion bluntly: if Argus solves the Samson problem, it is "only because human intelligence is applied beforehand to precode the information", and so "we ignore the really interesting psychological problem". The program must create such notions on the fly. Stated, the point "seems so obvious", yet it went "largely unheeded" for three decades, and it is precisely the charge Chapter 6 levels at SME, ACME and AMBR.
Art, esthetics and the merger
Argus stopped early, but its inspiration came from ill-defined activities like composing music. One of Reitman's best chapters records the spoken thoughts of an unnamed professional composer writing a fugue: a constant interplay of high-level abstract principles with low-level concrete notes, a fusion of bottom-up and top-down processing behind his vision of a parallel, interruptible, distractible system. His book dwells on "pointless" activities (riddles, games, puzzles, joke invention, composition).
Esthetics is not unscientific. Many researchers treat any analogy answer justified only by taste as "hopelessly subjective" and unworthy of modelling. Hofstadter replies that the gap between run-of-the-mill and top-notch mathematics and science is often decided by exactly such intangible judgments of beauty, elegance and symmetry; science itself rests on these "ill-defined, murky foundations". That interest shaped Argus, "which is reason to regret the fact that Argus died so young".
CRITICAL LENS. Hofstadter dates Hebb's cell-assemblies to "Hebb, 1948"; The Organization of Behavior appeared in 1949. The text also spells Samson "Sampson". More substantively, his history is selective: the 1960s also had semantic networks (Quillian) and Pandemonium (Selfridge, 1959), whose shouting "demons" are arguably an even closer ancestor of codelets than Argus.
Evans's microworld came back. Geometric IQ analogies returned as machine-learning benchmarks: Raven-style matrices and, most influentially, François Chollet's Abstraction and Reasoning Corpus (2019), small coloured-grid puzzles where the solver must infer a transformation and produce (not select) the output, exactly the Copycat stance against multiple choice. OpenAI's o3 scored 75.7% on ARC-AGI-1's semi-private set at modest cost and 87.5% at roughly 172 times the compute (December 2024), while on the harder ARC-AGI-2 the 2025 competition's best Kaggle entry reached only about 24% and the grand prize went unclaimed. Reitman's warning applies to such benchmarks too: whether a system succeeds because of perception or because the key notion was already "precoded" in its training data is the live question.
Melanie Mitchell and Douglas Hofstadter place Copycat against its best-known rivals, Dedre Gentner's Structure-Mapping Engine (SME) and Holyoak and Thagard's ACME, and then on the spectrum running from symbolic AI to connectionism. Their verdict is that the rivals model only the mapping stage, on hand-tailored predicate-logic representations whose "real-world" words are semantically hollow, by brute-force search that erases the difference between obvious and insightful answers. No other model of the day tried, as Copycat does, to integrate high-level perception, concepts and conceptual slippage, and the authors argue that integration is where analogy actually lives. A postscript by Hofstadter adds two newer projects, Indurkhya and O'Hara's PAN and Kokinov's AMBR.
How should Copycat be judged?
The final test of Copycat is whether its behaviour "jibes with general and universal characteristics" of human analogy-making, not a numerical fit to human data on the same problems, which was never the goal. A second test is comparison with other projects. Most AI and cognitive-science work on analogy concerns analogical reasoning in problem-solving: a mapping from a source problem with a known solution to a target problem, with objects, descriptions and relations supplied ready-made and fixed. Very few models, "if any", build representations of the two situations, let that construction interact with mapping, or let new concepts become relevant under pressures that emerge during processing.
Rather than a survey (they point to Hall, 1989, and Kedar-Cabelli, 1988, and to Mitchell's own Analogy-Making as Perception), the authors take two projects chosen for relevance, then locate Copycat between symbolic and subsymbolic models.
SME, the Structure-Mapping Engine
Dedre Gentner's structure-mapping theory (1983) is "perhaps the best-known work in cognitive science on analogy", implemented as SME by Falkenhainer, Forbus and Gentner (1990). The theory has two defining criteria for true analogy:
- Relations, not attributes, are mapped between objects.
- Systematicity: relations belonging to a coherent interconnected system are preferred over isolated ones.
Gentner's definition of analogy presupposes these. Comparisons form a continuum: map only systematic relations and you have an analogy; map attributes and relations together and you have literal similarity.
The standard example is "heat flow is like water flow". Water flows from a large beaker through a pipe to a small vial; heat flows from coffee in a cup through a metal bar to an ice cube. In the predicate-calculus encodings, a causal tree says greater pressure in the beaker CAUSES the flow; facts such as greater diameter of the beaker, liquid(water), flat-top(water) and clear(beaker) are meant to be ignored. Ideal mappings: pressure ⇒ temperature, beaker ⇒ coffee, vial ⇒ ice cube, water ⇒ heat, pipe ⇒ bar, flow ⇒ flow. Once made, they license an inference: the coffee's greater temperature causes the heat flow.
Gentner's four (possibly conflicting) criteria for a good analogy
- Clarity: how clear it is which things map onto which.
- Richness: how many things in the source are mapped to the target.
- Abstractness: how abstract the mapped things are, measured by order: attributes (flat-top) lowest, relations over objects (flow) higher, relations over relations (cause) highest.
- Systematicity: how far the mapped things belong to a coherent interconnected system.
How SME works. It receives two predicate-logic representations and knows only their syntax: there is no prior structure about water, liquids, heat, flow, "or even physical objects".
- Match rules, supplied ahead of time, propose all "plausible" pairings: "if two relations have the same name, pair them"; "if two objects play the same role in already-paired relations, pair them"; "pair any two functional predicates" (pressure and temperature).
- Scoring: each pairing is scored on same name, kind of thing, membership of systematic structures; different rule sets give different behaviour.
- Global matches: SME then forms all maximal consistent combinations. Consistency means one-to-one pairing and a pair enters only if all its arguments are paired too (this enforces clarity); maximality favours richness.
- Evaluation: each global match is scored on its pairings, the inferences it suggests and its systematicity, and the scores were compared with people's ratings (Skorstad, Falkenhainer and Gentner, 1987).
Where Copycat agrees with SME
The authors accept systematicity: the essence of a situation is a high-level coherent whole, not a heap of low-level facts. In Copycat it is not a rule but an emergent pressure with seven sources:
Seven sources of Copycat's emergent drive toward systematicity
- Codelets push to perceive relations and groupings within strings.
- Abstraction pressure comes from preferring descriptions of greater conceptual depth and from deep concepts staying active longer.
- Rules favour relations and roles: describing abc ⇒ abd as "successor of the rightmost letter" beats "an instance of d".
- Large relational structures (a whole-string group) are more salient, so codelets attend to them and map them.
- Correspondences between large structures are strong, being based on many concept-mappings.
- Compatible correspondences are pushed to form a coherent worldview.
- The drive to low temperature rewards deep hierarchical structures and so a conceptually deep view.
Gentner's other criteria also have counterparts. Clarity corresponds to Copycat's ban on many-to-one or one-to-many mappings unless the "many" is first chunked into a group; richness to its preference for many correspondences, each resting on many concept-mappings. But abstraction differs sharply: Gentner's is syntactic (the order of a relation), while Copycat's conceptual depth is semantic, assigned by hand (the original name was "semanticity values"), and can be high for what Gentner would call an attribute, such as alphabetic-first for the letter a.
Where Copycat disagrees with SME
1. Systematicity is one pressure among many. In aabc ⇒ aabd; ijkk ⇒ ?, systematicity and abstractness argue for ijll, because "sameness group" describing aa and kk is a mere attribute unconnected to the successor structure. Yet many people feel the two sameness groups should map crosswise, giving hjkk. Analogy is a competition between rival views, and the most systematic mapping is not guaranteed the best (lowest average final temperature). Copycat's own runs make the point: ijll came out 612 times in 1,000 at average temperature 29, but hjkk only 47 times at 19, the coolest answer of all.
2. Syntax cannot choose among systematic structures. Any complex situation contains many systematic relation sets, and nothing says which get considered. Add to the heat-flow encoding the relation "the coffee's volume is greater than the ice cube's": on syntax alone it is as good a candidate as temperature, and choosing it would yield the conclusion that the volume differential causes heat flow. SME has no semantic link between temperature and heat to make it suspect temperature. Copycat instead decides what to attend to through semantics: Slipnet activation by perceived instances, spreading activation to associates, competition among objects and descriptions, and a priori conceptual depth. Concepts are included in a situation in shades of grey (probabilities from differential activation), and the program itself brings in the concepts it uses.
3. Interpretation and mapping are not separable modules. Gentner's group models them independently; Copycat's philosophy is that they are "inextricably intertwined": how two situations are understood depends on how they are mapped, and vice versa (the theme of Chapter 4).
4. No slippage. The water and heat representations are abstract enough that the analogy is "a virtual isomorphism": water flow and heat flow were pre-abstracted to flow; in Gentner's hydrogen atom / solar system example, predicates carry identical labels (attracts, revolves around, mass). Relax that "identicality constraint" and one would need context-dependent conceptual proximity, a Slipnet. As things stand, "the analogy is already effectively given in the representations."
5. Brittle predicate logic. Structure mapping needs a clean split into objects, attributes, functions, first-order and second-order relations. The analogy depends on water ⇔ heat (both objects), coffee ⇔ beaker, and a four-place flow ⇔ flow. Any plausible variation breaks it:
- heat as attribute: holds-heat(coffee);
- three-place flow: flow(coffee, ice cube, heat), the medium deemed irrelevant;
- five-place flow: flow(beaker, vial, water, pipe, 10 cc/second), with the rate included.
In the real world "object", "attribute" and "relation" are blurry, and people slide classifications "at the drop of a hat", which needs semantics (a point Johnson-Laird, 1989, also made). Classing heat as an object is arbitrary; two people, or one person at two times, would write different encodings.
Copycat's own version of the flaw. The authors admit Copycat also splits representations too cleanly into descriptions (object attributes) and bonds (relations), but call this a remediable defect, not a deep one: Mitchell's 1993 work describes problems needing structures that turn from descriptions into bonds under real-time pressure. By contrast, SME's lack of real-time representational flexibility is built in, and the representations "have to be tailored carefully".
6. Temporal flatness. SME's exhaustive search through all consistent mappings is psychologically implausible, and it erases the difference between immediately appealing answers (high frequency) and insightful but hidden ones (low frequency, low temperature). In Copycat the parallel terraced scan explores obvious routes first. In abc ⇒ abd; xyz ⇒ ? the program first tries the successor of z, hits the snag, and only then explores less obvious paths, sometimes reaching wyz. In abc ⇒ abd; mrrjjj ⇒ ?, mrrkkk and mrrjjk "pop to mind" far more readily than mrrjjjj. A brute-force system would perceive no snag, would get wyz "effortlessly" if it lay within its range, and its high score would hide the counterintuitive twist.
Bringing in a dormant concept. mrrjjjj needs a novel concept, group length. A brute-force system can find it only by bringing in every concept in its repertoire with equal chances; SME's actual strategy is the opposite, never bringing in a new concept at all. Both are unrealistic. A subtler middle way is needed, "poised delicately between the absurdity of exploring every possible idea with equal enthusiasm, and the sterility of not daring to explore anything new", and a probabilistic architecture like Copycat's provides it.
Summary on SME. It is an algorithmic but psychologically implausible way to find the best mapping by the theory's lights and to rate mappings for comparison with people. The theory makes useful points about what good analogies look like, but deals only with the end result of mapping, leaving out how situations come to be understood.
ACME, the Analogical Constraint Mapping Engine
Keith Holyoak (psychologist) and Paul Thagard (philosopher) built ACME (1989), rooted in Holyoak's work (Gick and Holyoak, 1983; Holland et al., 1986) and inspired by Marr and Poggio's constraint-satisfaction networks for stereo vision. Like SME it takes predicate-logic input and has been run on the same water/heat representations.
ACME's machinery
- Nodes: one for every syntactically allowable pairing of a source element with a target element, under the logical-compatibility constraint (constants to constants, n-place predicates to n-place predicates). So both water ⇔ heat and water ⇔ coffee get nodes.
- Excitatory links join mutually supporting pairings (flow ⇔ flow supports water ⇔ heat, since they are argument counterparts).
- Inhibitory links join mutually disconfirming pairings (flow ⇔ flow against water ⇔ coffee).
- Optional semantic unit: linked to predicate-pair nodes with weights proportional to a "prior assessment of semantic similarity", made by the person building the representations.
- Optional pragmatic unit: linked to pairings involving elements deemed "important" in advance, again by the human.
- Relaxation: a spreading-activation algorithm runs until the network settles; the active nodes are the winning matches.
import itertools
# ACME in miniature: one unit per allowable pairing, links as soft constraints
src = [("flow", "beaker", "vial", "water", "pipe"),
("greater", "pressure_b", "pressure_v"), ("liquid", "water")]
tgt = [("flow", "coffee", "ice", "heat", "bar"),
("greater", "temp_c", "temp_i"), ("liquid", "coffee")]
nodes, w = set(), {}
for s, t in itertools.product(src, tgt): # logical compatibility:
if len(s) == len(t): # same arity only
nodes.add((s[0], t[0])); nodes |= set(zip(s[1:], t[1:]))
nodes = sorted(nodes)
def link(a, b, x):
if a != b: w[a, b] = w[b, a] = w.get((a, b), 0) + x
for s, t in itertools.product(src, tgt): # predicate pair supports
if len(s) == len(t): # its argument pairs
for pair in zip(s[1:], t[1:]): link((s[0], t[0]), pair, 0.1)
for a, b in itertools.combinations(nodes, 2): # one-to-one: rivals inhibit
if a[0] == b[0] or a[1] == b[1]: link(a, b, -0.2)
act = {n: 0.01 for n in nodes}
for _ in range(100): # parallel relaxation
new = {}
for n in nodes:
net = sum(w.get((m, n), 0) * act[m] for m in nodes)
a = act[n] * 0.9 + (net * (1 - act[n]) if net > 0 else net * (act[n] + 1))
new[n] = max(-1.0, min(1.0, a))
act = new
for n in sorted(nodes, key=lambda n: -act[n])[:6]:
print(f"{n[0]:>10} = {n[1]:<8} {act[n]:+.2f}")
print("water = coffee:", round(act[("water", "coffee")], 2))
The sketch settles on flow = flow, water = heat, beaker = coffee and rejects water = coffee although the two share the attribute "liquid". That is the strength Mitchell and Hofstadter grant, and the limit they attack: every pairing is enumerated up front, and the facts it settles over were written by a person who already knew the answer.
Points of agreement. Analogy is akin to perception and should be modelled with perception-inspired techniques; analogies emerge from parallel competition among pressures ("soft constraints"), many local decisions yielding a coherent structure; and systematicity should emerge from other pressures rather than be imposed.
Points of disagreement.
- Exhaustive pairing. ACME tries all syntactically plausible pairings, infeasible and implausible. Mapping Watergate onto Iran-Contra, would anyone consider Nixon against every Iran-Contra figure (Fawn Hall, Daniel Inouye, Ed Meese, Dan Rather), or Gerald Ford against the Contras' base camp in Honduras, or the cake taken as a gift to Iran by US emissaries? Logical compatibility allows them all. Copycat avoids exhaustive search through the parallel terraced scan: comparisons are made, if at all, at different speeds and depths according to evolving estimates of promise.
- Frozen, tailored representations. As with SME, the human writes the descriptions; nothing is restructured or added during a run.
- Frozen semantics. The semantic unit resembles Slipnet similarities but is fixed in advance for each analogy. Holyoak and Thagard recognise that semantics matters, unlike SME's builders, but "prior assessment of similarities" is impossible in general: analogy-making is about how similarities shift under pressures not visible ahead of time.
- Frozen pragmatics. The pragmatic unit sidesteps how things come to seem important. Holyoak and Thagard listed Copycat's lack of one "as if this were a glaring defect"; the authors reply that the whole point was to let the program figure out what matters. Simulating a pragmatic unit would be trivial (clamp some Slipnet activations or Workspace saliences), but replacing dynamics with static values seemed "of little interest", so node-clamping was never advertised as a feature.
- Mapping only. ACME's authors themselves name the missing piece "re-representation" and concede mapping must often be interleaved with manipulating representations under top-down pressure, "which is essentially just what Copycat does".
- Success bought by encoding. In Holyoak and Thagard's examples source and target encodings match almost perfectly, the essence "distilled in exactly the right form" (see Preface 4); it is doubtful anyone without the mapping in mind could write them, or that the program would succeed on encodings made independently by two different people.
- Temporal flatness again. ACME, like SME, is full-width: no snags or paradigm shifts as in xyz, no selective awakening of dormant concepts as in mrrjjj. If its creators reply they never aimed at that, the authors answer that such temporality is central to analogy.
How real are these "real-world" analogies?
The standard complaint is that Copycat works in an idealised microworld while SME and ACME tackle the real world. Look below the surface and the predicate-logic knowledge those programs get for each problem is "even more impoverished" than Copycat's knowledge of letter strings, despite the "real-world aura" of words like pressure and heat flow.
- Copycat's concepts are usable. Successor group sits in a network and can be recognised, under suitable pressures, in abc, aabbcc, cba, abbbc, mrrjjj, mmrrrjjjj, jjjrrm, abbccc, xpqefg, and even the single letter k. A footnote lists harder instances beyond the program's current reach that its mechanisms could in principle be extended to: ace (a "double-successor" group), aababc (a coded abc: a, ab, abc), kmxxrreeejjj ("1-1-2-2-3-3"), axbxcx (x's as "ground" for the "figure" abc), abcbcdcde (abc, bcd, cde).
- SME's and ACME's "heat" is empty. It has no semantic content, cannot be adapted to another situation, and the programs cannot recognise heat or anything heat-like. They make "very high-level analogies" about heat and water while lacking the far more basic ability to recognise instances of those categories.
NU maps to SIGMA. Take a program whose data structures contain Lisp atoms NUCLEUS, ELECTRON, SUN, PLANET, and suppose it maps NUCLEUS to SUN and ELECTRON to PLANET. Rename the atoms with Greek letters and it works just as well, announcing the "scientific analogy" "NU maps to SIGMA; EPSILON maps to PI". No amount of watching the program would let anyone guess NU meant a nucleus; only the encoder sees the symbols as standing for anything. Could the same be said of Copycat, its successor slipping to predecessor as "SIGMA" slips to "PI"? The machine would not care, but an astute observer, watching SIGMA evoked again and again by successor relations across many problems, would eventually say "Oh, I get it: SIGMA stands for successorship." Copycat's symbols acquire some genuine meaning through correlation with actual phenomena, even in a tiny artificial world; the rival programs have no world at all, small or large.
So the "toy domain" charge is "truly unfounded", resting on people's tendency to credit a program with intelligence because of its real-world-sounding words, rich in imagery for humans and empty for the program. Such words mislead lay people "but professionals as well" (Drew McDermott's 1976 "Artificial Intelligence Meets Natural Stupidity" made the point). Explicit microworlds have an "all the cards are on the table" quality.
Harnad's grounding: a system needs two certificates: high-quality performance, and a "pedigree" showing its symbols are linked to the external world; otherwise it might be a meaningless "zombie" that passes the Turing Test.
Hofstadter's reply (footnote): the second certificate is redundant. Passing the unrestricted Turing Test "is no more and no less than a proof that the symbols behind the scenes are meaningful"; missing links to the world would show up under suitable probing. The zombie worry, he says, comes from John Searle's "smoothly-worded yet self-contradictory" Chinese room and its "biochauvinism".
Copycat on the symbolic/subsymbolic spectrum
Copycat's philosophy is close to connectionist (PDP) models (Rumelhart and McClelland, 1986) and classifier systems (John Holland, 1986), both subsymbolic architectures. Paul Smolensky (1988) draws the line: in the symbolic paradigm descriptions are made of entities that are symbols both semantically (they refer) and syntactically (they are manipulated); in the subsymbolic paradigm descriptions are built of subsymbols (nodes and weights, classifiers) from which symbols emerge as statistical patterns of activation. Subsymbolic systems are not mere implementations of exact symbolic programs; only "soft" emergent descriptions are fluid enough for cognition. The shared faith: cognition is the emergent statistical effect of many small, local, distributed subcognitive events with no global executive (similar characterisations appear in Hofstadter's Metamagical Themas, Chapter 26).
| Feature | Connectionist nets | Classifier systems | Copycat |
|---|---|---|---|
| Parallelism, local action, competition | yes | yes | yes |
| Spreading activation | explicit | emergent from classifiers | explicit (Slipnet) |
| Temperature | Boltzmann machines, Harmony Theory (annealing) | none | yes, but feedback-driven, not a schedule |
| Terraced-scan-like search | no | emerges from genetic algorithm sampling schemata by promise | parallel terraced scan |
| Top-down + bottom-up | yes (interactive-activation letter model, 1981) | yes | yes |
| Concepts | fully distributed | emergent | semi-distributed: node plus probabilistic halo |
| Types vs tokens | one network (variable-binding problem) | one population | Slipnet types, Workspace tokens |
| Learning across runs | yes | yes | no |
Why an intermediate level. Connectionist units model phenomena further from the cognitive level than codelets and Slipnet nodes; the networks may be more neurologically realistic, but that remoteness makes their high-level behaviour hard to control, and it was "dubious" in 1995 that existing networks could model what Copycat does. Ideally a Slipnet would arise implicitly from a low-level distributed model; that was beyond connectionism's reach. Classifier systems would have to evolve nodes, links and spreading activation from scratch.
The Workspace. Connectionist nets keep types and tokens in one network, hence research on the variable-binding problem; a region where structures are constantly created and destroyed has no clear neural underpinning, so connectionists avoid it. FARG leans on psychology instead: Anne Treisman's 1988 visual-perception experiments point to a site of temporary episodic structures, so the authors simply posit a Workspace. A footnote stresses that this type/token distinction is blurrier than the philosophers' formal one, being about how such things are realised in "wetware" (compare Preface 2's letter types and tokens).
Learning. Copycat does not learn across runs, though it models two aspects of learning: how concepts adapt to new situations and how the shared essence of two situations is recognised.
The "connectionist dream" deferred. Modelling all cognition in a neurally plausible subsymbolic architecture "may be too ambitious at this point". To understand how intelligence emerges from billions of neurons, we must first understand concepts, whose operating principles lie between parallel networks and serial symbolic cognition. "What is a concept?" lies at the crux of cognitive science yet lacks a scientific basis; FARG's long-term aim is to supply one and to give connectionists a target for what intermediate structures their networks must produce.
Postscript (Hofstadter): Indurkhya and PAN
Bipin Indurkhya's Metaphor and Cognition: An Interactionist Approach (1992) distinguishes similarity-creating metaphors, which bring into being similarities that did not exist (his example: Stephen Spender's poem "Seascape", sunlight on waves likened to someone strumming a harp), from ordinary similarity-based metaphors. Hofstadter finds the distinction dubious: all analogies are cases of discovered rather than invented similarity, some simply so hard to find that finding them seems to create a new viewpoint (the discovery-versus-creation debate is argued at length in his 1987 work).
Yet he shares Indurkhya's aim of separating the mundane from the insightful. For Hofstadter that is the line between creative analogies (deep but hard to find: wyz, mrrjjjj) and the rest: strong-but-obvious, mediocre-and-obvious, mediocre-yet-hidden, "sloppy" and "dizzy". In the Copycat domain the two axes of average final temperature and frequency roughly define the creative zone: final temperature 20 or below and frequency below, say, 20 percent.
Agreement on the crux. What Indurkhya sees as needed for creative analogies is the ability to perceive a given structure in vastly different ways under context: a paintbrush, juxtaposed with an unexpected idea, suddenly reveals itself as a pump. His motto could be "making the familiar strange and the strange familiar".
PAN's leash. Indurkhya and his student Scott O'Hara chose microdomains (against the dogma that only real-world domains matter): geometric figures (reminiscent of Evans, but stressing their extreme ambiguity) and Copycat's own letter strings. But their PAN model (O'Hara and Indurkhya, 1993) is fully symbolic and deterministic: start from a human-supplied description of the source, then exhaustively modify it breadth-first in a terraced way, shallow changes first, regulated by a variable CL ("change level"), likened to a leash gradually loosened (Hofstadter asks whether that is itself a similarity-creating analogy). In Copycat terms the description space is searched least-slippage-first. Hofstadter judges this implausible psychologically and computationally: there is nothing like salience, strength, conceptual depth or urgency to bias exploration. Outcome: O'Hara told him (1994) he had concluded PAN would succumb to combinatorial explosion and abandoned it after a rudimentary implementation, turning to a new architecture, INA, with more perceptual activity mixing bottom-up and top-down processing, though still serial and deterministic. Hofstadter is "gratified" by the shift, caused by the old ideas' failure "to pan out".
Postscript (Hofstadter): Kokinov's AMBR
Boicho Kokinov's cognitive architecture DUAL (1994) is implemented in AMBR (Associative Memory-Based Reasoning) to make analogies.
- Like codelets: many small agents perform symbolic tasks on representational structures in parallel; their joint activity is the emergent behaviour.
- Like the Slipnet: agents form a network with time-varying activation, spreading between neighbours and decaying over time.
- Activation sets speed: an agent's activation reflects its perceived relevance and controls how fast it works; below a threshold it does not run. Only a small, slowly changing subset is active, much as Copycat's Coderack population evolves.
- But no Workspace: there is no building of bonds, groups or descriptions, no differential interest in entities, in short no perceptual activity; representations are prepackaged and fixed, as in SME and ACME.
- Hollow real-world domain: the key example has a person in a forest reasoning, by analogy with an urban immersion heater, that water can be boiled in a carved-out piece of wood by heating a big rock in a fire and dropping it in. The program's whole idea of an immersion heater amounts to: a hot Immersion Heater inside some Water, inside a glass Container, causes the Water to get hot. Strip the evocative words and AMBR "knows" only that an IH with property h and relationship i to W, which has relationship i to C, with property g, causes W to have property h. Hofstadter confesses he kept the verb "causes" in "a moment of weakness"; "is such that" would be more honest.
- One real virtue: AMBR retrieves relevant episodes from long-term episodic memory, which Copycat, having no episodic memory, cannot do (the theme of Preface 7).
| Model | Representations | Search | Semantics | Perception | Distinctive merit |
|---|---|---|---|---|---|
| SME (Gentner et al.) | hand-coded predicate logic | exhaustive global matches | none: syntax only | none | systematicity criterion |
| ACME (Holyoak, Thagard) | hand-coded predicate logic | all pairings, parallel relaxation | frozen semantic unit | none | soft constraints in parallel |
| PAN (O'Hara, Indurkhya) | human-supplied description | breadth-first, terraced by CL | none | in microdomains | takes reperception seriously |
| AMBR (Kokinov) | prepackaged, fixed | activation-gated agents | none in its knowledge | none | episodic retrieval |
| Copycat | built during the run | parallel terraced scan | Slipnet, context-shifted | central | slippage, temperature |
CRITICAL LENS. The critique of SME and ACME was fair about their 1990 inputs but partly a matter of scope: Gentner and Holyoak modelled mapping and retrieval as components and later work addressed re-representation (Gentner's group and Forbus's MAC/FAC retrieval model, 1995). The "temporal flatness" charge is also weaker for ACME, which relaxes over time, than for SME. Conversely, Copycat's hand-set conceptual depths are as much a priori knowledge as ACME's semantic unit; the difference is that they are general to the domain rather than tailored to one problem.
What happened next. SME became the mapping engine inside Ken Forbus and Tom Hinrichs's Companion cognitive architecture, used for learning by analogy across many tasks; Holyoak's line continued as LISA (Hummel and Holyoak, 1997), a neural-symbolic model. The Harnad dispute returned with large language models: critics argue text-only models manipulate ungrounded form, while Hofstadter's 1995 position (performance under probing is the test) is close to how LLMs are now evaluated. Mitchell's own empirical work is the sharpest bridge: Webb, Holyoak and Lu (Nature Human Behaviour, 2023) reported GPT-3 matching or beating people on letter-string and other analogy problems, but Lewis and Mitchell (2024) found that GPT models' accuracy drops on counterfactual alphabets (permuted letter orders) where humans stay robust, suggesting retrieval of familiar patterns rather than Copycat-style perception of a novel structure. For architects of retrieval-augmented systems the lesson of this chapter is concrete: a pipeline that maps over representations someone curated for the question has the answer "effectively given in the representations".
Hofstadter describes what a Copycat run looks like on screen, offers a deliberately unfair "pet analogy" for the gap between Copycat and its rivals, and uses it to open two further subjects: how we retrieve or concoct analogies on the spot (caricature analogies, case-based reasoning), and how inventing good analogy puzzles demands more insight than solving them. Making up high-quality analogy problems requires a much deeper understanding of what analogies are about than merely making analogies, and that self-watching, meta-level skill is the agenda of the chapter that follows.
Watching Copycat run
Chapter 7 began life as the afterword to Melanie Mitchell's Analogy-Making as Perception (1993), which Hofstadter calls "required reading" for anyone wanting to understand Copycat. In 1995 Mitchell offered the Common Lisp source (running on a Sun SPARCstation) by e-mail or tape from the Santa Fe Institute, and Hofstadter offered videotapes of runs at cost. Since most readers would never see a run, he describes one.
- Lightning feelers. Dotted and dashed lines flicker everywhere as the program tries out "scads" of tentative pathways, like a bolt of lightning shooting out serpent-tongue "feeler boltlets" to find the best path to the ground.
- Jiggling concepts. The little squares showing Slipnet activations grow and shrink through spreading activation.
- Structures that come and go. In the Workspace, solid bonds and bridges and rectangular groups appear, persist a while, "poof out of existence", and are replaced.
- Shifting importance. Letters, numbers and words change shade, light or bold, as their estimated importance fluctuates.
- Many time scales. Some changes are too fast to follow, others slow and easy to watch.
From the "micro-caprice" a coherent macro-view emerges, usually the one an observer hopes for, sometimes an alternative. Now and then tiny agents probe away from an entrenched view toward a subtler one, and the watcher finds himself "rooting for Copycat to veer toward the dark-horse underdog". There are even power struggles: an upstart view knocks out the old one, which stages a comeback, "as in a boxing match". The overall effect, by many observers' report, is "great dynamism and lifelikeness"; any doubt that Copycat is best thought of as a parallel system "vanishes" after one run.
The axed pet analogy: there's more than one way to copy a cat
Hofstadter wanted this analogy in the afterword; Mitchell was uncomfortable, so it was cut, and she suggested putting it elsewhere.
The ant and the toy kitty. Explain feline life to an intelligent alien made of interstellar plasma. The Copycat approach sends a live ant with commentary relating this simple creature to its larger feline cousins: almost all surface appearance is sacrificed, but the abstract processes of life are conveyed in a tiny example, with explicit notes on what changes when you scale up. The rival approach sends a battery-operated stuffed animal, a life-sized furry kitty that meows, purrs and walks: surface size, look and a few actions are kept, faithfulness to deep processes is lost. "Now the world knows precisely whom to blame and whom not to blame for this shameless and inflammatory comparison!" Outcome: shown it, Dedre Gentner, whose work is on the "toy kitty" side, was not offended and called it "curious and thought-provoking".
Hofstadter pokes holes in his own analogy. It overstates by contrasting a living animal with an inanimate toy; the gap between Copycat and other models is real but "not that vast or dramatic". Its wording is loaded: "cute", "furry", "toy kitty", even the objectively true "stuffed animal" and "battery-operated", are "subliminal slurs". Stripped of trickery, its skeleton is still a bold claim: that the true processes of analogy-making are present in essential form in Copycat and missing from its rivals. Judging that claim requires the very operations Copycat models: weighing attributes against relations, deciding what matters, asking whether a slippage is too distant to ring true.
Meta-analogies and caricature analogies
The ant/kitty comparison is a meta-analogy, an analogy about analogy-making, and such things are less rarefied than they sound. They surface in everyday talk:
Two caricature analogies. A: "All those American processed breads, Wonder Bread, Kilpatrick's, they're all interchangeable." B: "Are you kidding? That's like saying Chevrolet is identical to Ford!" Speaker A lumps breads into one category (a mild analogy); B likens A's analogy to one B finds absurd. And: Doug: "The Germans call a tortoise a Schildkröte, literally a 'shield-toad'." Carol: "'Shield-toad'?! Come on! That's like calling an eagle a 'feather-cow'!" An analogy concocted on the spot for ridicule is a caricature analogy; the ant/kitty analogy is one worked out much further.
Making them needs a vast storehouse of experience and a strong, probably unconscious and nonverbal, sense of what really matters in the original situation. That conceptual skeleton acts as a memory trigger.
Centralisation at two levels. B hears two things equated that seem different and searches for a stereotypical domain, related to the original but more canonical. In America bread is a "fairly random element of consumer-goods space", while cars lie "at that space's dead center", so the domain shifts to cars. Then, within car space, B looks for two items at the dead centre, absolute stereotypes of a make: Ford and Chevrolet. With the situation "centralised" at all necessary levels, the silliness of the equation should be obvious. Hofstadter insists this is not trivial: it needs deep, nearly-but-not-quite conscious knowledge of how items are categorised and how concepts interrelate. "I am merely giving a caricature of a theory."
Case-based reasoning (Schank's school): much careful work on memory organisation and on how retrieval of analogous past episodes is triggered by the present situation or a story just heard; begun by Roger Schank (1982) and set out by Riesbeck and Schank (1989) and Janet Kolodner (1993).
Hofstadter: "skeptical of this direction", yet he grants it tackles issues "at the true crux of cognition" and that its claims are "provocative and challenging".
Inventing analogy puzzles
Inventing a new analogy that meets criteria (a caricature, say) differs from retrieving one, though borderline cases exist; invention is more inventive and more playful. At the MIT AI Laboratory, with Copycat in its infancy, Hofstadter and David Rogers spent months making up letter-string puzzles for a future Copycat, each good puzzle sprouting variants, the best variants sprouting more, "the inventive wheel" (the "variations on a theme" game of Chapter 1).
| Puzzle | Tempting tries | Elegant answer and why |
|---|---|---|
| eqe ⇒ qeq; abbbc ⇒ ? (Rogers) | Hofstadter's bbbacbbb, babcb: push the b's outward | aaabccc: strip the letters to the hidden numbers 1-3-1, turn them inside-out to 3-1-3, re-clothe. The letters stay put; a hidden number string turns inside-out |
| eqe ⇒ qeq; abbba ⇒ ? | numerical strategy gives aaabaaa ("overkill") | baaab: swap letter types a and b; the target, like eqe, has only two letter types, which "changes everything" |
The pair shows how a single-letter change flips which pressures dominate. Rogers and Hofstadter ranked problems by every criterion they could think of: most interesting, surprising, trickiest, deepest, most confusing, most humorous, most frustrating, most diverse in answers. It never occurred to them that puzzle invention, evaluation and comparison would become a research topic in its own right. It has: a new level of self-awareness about analogy-making, and the ability to manipulate concepts fluently at that meta-level, are "critical aspects of mind to simulate".
Benchmarks are invented analogies. Hofstadter's point that inventing a good puzzle takes more insight than solving one is now an industrial fact: building evaluation sets that a model cannot pass by surface pattern-matching is the hardest part of AI evaluation. Lewis and Mitchell's 2024 counterfactual-alphabet tests are exactly a Rogers-style "minor variant" that flips the pressures, and ARC's designers likewise curate tasks to defeat memorised priors. Caricature analogies also translate into product practice: a team that can "centralise" a claim into the most stereotypical counterexample tends to find failure modes faster than one that lists edge cases.
Hofstadter's afterword to Mitchell's Analogy-Making as Perception praises Copycat as a working model of fluid concepts, high-level perception and incipient creativity, then names its gravest flaw: it does not know what it is doing. It bangs into the same z-snag again and again, keeps no record of its own moves and forgets every problem when the run ends. Full-scale creativity, Hofstadter proposes, "consists in having a keen sense for what is interesting, following it recursively, applying it at the meta-level, and modifying it accordingly", and the hypothetical successor, Metacat, must watch itself to get there.
An incipient model of fluidity, perception and creativity
Copycat realises "a long-standing dream": a working program capturing central features of human analogy-making and of the fluidity of cognition. Its first achievement is a model of fluid concepts: flexible boundaries, behaviour that adapts to unanticipated circumstances, concepts that "bend and stretch, but not without limit". Such fluidity, Hofstadter believes, can only be emergent, coming from "a seething mass of subcognitive activities", just as a liquid's fluidity is a statistical outcome of molecules "jouncing incoherently". Most models study static properties of concepts (context-free category membership); how concepts adapt is "virtually never addressed", perhaps because few models take perception seriously and treat situations as fixed representations.
Copycat draws no line between perception and cognition: all of its processing is high-level perception. That matters for creativity, because insight comes from "taking fresh looks at situations thought already to be understood". The ability to reperceive is at the crux of creativity.
Seeing what you want to see. On abc ⇒ abd; mrrjjj ⇒ ? Copycat often wakes the concept sameness group and then, under that unanticipated top-down pressure, occasionally perceives the lone m as a group of one, something that a priori "only a crackpot would do". The result is the esthetically pleasing mrrjjjj (group lengths 1-2-3 become 1-2-4). It is delightful that a program can "see what it wants to see", even in this narrow sense.
Why not connectionism? Neural-net models were doing interesting things but not at Copycat's cognitive level. Describing creative thought in connectionist terms is like describing a great tennis player's skill in terms of molecular biology, or even of muscle cells: the difference between bad, good and superb players needs a high functional level of description. If thought is "a many-tiered edifice", connectionist models are its basement and Copycat works near the top. The task is to fill the middle levels so Copycat's posited mechanisms can be "cashed out" in lower-level terms, which Hofstadter expects to happen, but slowly.
Copycat: self-aware, but very little
Choosing a research problem is a gamble that one facet of cognition is its essence; FARG bets on concepts and analogy-making. Hofstadter calls Copycat "an outstanding achievement" and is proud of the joint work, but no scientific work is the last word.
He once thought the miniature change of frame in abc ⇒ abd; xyz ⇒ ?, where a maps onto z and a dramatic perceptual reversal follows, captured the core of creativity. He still thinks the human version does, but Copycat's way of doing it is too unconscious. The program is aware of the problem, not of its own processes and ideas.
The mindless loop. Copycat tries the successor of z, cannot, enters a "state of emergency", tries a new route and hits exactly the same impasse again, usually several times, before finding some way out ("not necessarily a clever way out"). People do not loop like this: after hitting the z-snag once or twice they know to avoid it. Human awareness includes "a strong sense of what they themselves are doing"; Copycat's falls far short.
Shades of grey along the consciousness continuum
Thinking about machine "awareness" invites intuitions drawn from arithmetical hardware and ordinary deterministic programs. Nobody thinks a word processor understands "word", "comma", "paragraph", "page" or "margin", any more than a telephone understands voices; it is a user-friendly façade over a process "no more alive or aware than a raging fire in a fireplace". Extend that intuition and every computer system, however complex, stays at zero awareness.
That is a double standard. Brains too are "nothing but inert, lifeless molecules" in mindless reactions, and consciousness seems to vanish when a brain is reduced to a pile of chemistry. This reductio, applying to any physical system, biological or synthetic, should make us rethink what drives the conclusion of an in-principle absence of consciousness "in there".
People want black-and-white cutoffs between living and nonliving, thinking and "merely mechanical", and dislike shadow entities (viruses, complex programs) that bridge the gulfs; science keeps forcing intermediate levels on us. Hofstadter confesses that Terry Winograd's SHRDLU (1972) "always gives me pause" about whether computers understand, falling "in a very gray area", and Thomas Ray's evolution model Tierra (1992) gives him "eerie feelings" of watching life begin. Better to say that SHRDLU and Copycat may have an unknown, tiny, but nonzero degree of consciousness; dogmatism here is as unrealistic as dogmatism about calling a person "smart".
The key role of self-monitoring in creativity
What makes brains conscious is their organisation, especially two higher-level dimensions (developed in Metamagical Themas, Chapters 12 and 23):
Two dimensions of mind
- Concepts: representational structures that come automatically with associative links to prior experience. Copycat is "fairly strong" here, not in number or complexity of concepts, but in rudimentarily modelling what concepts are really about.
- Self-monitoring: a complex internal self-model, giving self-control and open-endedness. Copycat is "very weak" here, "a serious shortcoming".
Self-monitoring matters for creativity as well as consciousness because it lets a system avoid falling into mindless ruts. Animal behaviour is full of complex, wholly preprogrammed routines, like the Sphex wasp's (the "theme song" of the Metamagical Themas chapter on self-watching), with almost no flexibility. Humans doing something repetitive notice and get bored; they see the pointlessness of a loop and jump out of the system. This "antisphexishness" needs a meta-level awareness of one's own actions, not neural-level (we have none) but highly chunked, coarse-grained self-monitoring, the kind a program needs to decide whether to stay in a framework or leave it.
It is inherent in our idea of a conscious mind that it can reflect upon itself and criticize its own performances, and no extra part is required to do this.
Hofstadter surprised himself by citing J. R. Lucas approvingly. Lucas's 1961 article claims Gödel's incompleteness theorem proves that no programmed computer can simulate a mind; a machine can "consider" its performance only by becoming a different machine with a "new part" added. Hofstadter rejects the conclusion (he goes on to sketch an architecture that does what Lucas says is impossible) but sympathises with the flavour: the need for reflexivity, a system "turned back" on itself, which lay people sense and cognitive scientists rarely take seriously. A second emblem is the title of Stanislaw Ulam's posthumous papers, Analogies Between Analogies: the more intelligent someone is, the more levels of "meta" they are comfortable with.
A stab at defining creativity
Asked point-blank at a lecture whether Copycat captured the essence of creativity, Hofstadter compressed what the creative mind does into one phrase and then unpacked it.
Full-scale creativity, unpacked
- Having a keen sense for what is interesting (summary: central but highly discriminating taste). A strong set of a priori "prejudices", a narrower, sharper resonance curve than most people's, whose peak lies close to the population average so the output pleases many. Example: a composer of popular tunes.
- Following it recursively (summary: self-confidence). Trusting one's "nose" at the first choice and again at each new, unanticipated choice-point, like finding one's way out of a dense forest one intuitive choice at a time.
- Applying it at the meta-level (summary: self-awareness). Watching one's own pathway in "idea space", sensitive to unintended patterns in one's output and in one's own mental processes: sensitivity to form as much as content.
- Modifying it accordingly (summary: adaptability). Revising one's sense of the interesting and good in the light of successes and failures.
The fourth point implies the system must have experiences and store them: episodic memory, which Copycat lacks entirely. The Workspace remembers within a run; after the problem is solved nothing is kept and nothing in the program changes. Amusingly, babies are similar, unable to lay down permanent traces (one reason adults remember nothing of infancy). To grow into an "adult", Copycat must commit episodes to permanent memory.
Five challenges for any future Metacat
Copycat already has a sliver of self-watching (the "Self-Watching" section at the end of Mitchell's Chapter 7), but the reflexivity Hofstadter wants would change it so much that it needs a new name: Metacat.
Challenge 1: represent issues and pressures, and leave a trail. People say abc ⇒ abd; xyz ⇒ ? is "about" recovery from a snag, bringing in a new concept ("last") under pressure, perceptual reversal and abstract symmetry, and simultaneous two-tiered reversal. Copycat slips successor ⇒ predecessor without registering that it is trying out reversal: the node opposite is activated in the Slipnet and guides processing, but no reflection of that appears in the Workspace. It "does not know what it is doing; it merely does it." Metacat should notice salient Slipnet events (activation of a very deep concept) and the most critical Workspace actions, and keep an explicit coarse-grained temporal trail.
- Mechanism. Copycat already measures importance everywhere; add one more measure, the import of an event. For Workspace actions it would reflect the size of the object acted on (bigger is better) and the conceptual depth of its descriptions; for Slipnet events, the depth of the node activated. Filter out everything below a threshold, leaving a selective view.
- The "Lucas part". That view, represented in a region of the Workspace, is itself perceived by codelets looking for patterns, so the system becomes aware of regularities in its own actions and of what the problem is about. Since "aboutness" depends on the answer found, this really describes the issues an answer is about: "the crudest approximation to what people do, but at least a first stab".
Challenge 2: work backwards from someone else's answer. People see how an answer makes sense to someone else even if they would never have found it. Metacat should take an answer from an outside agent, see through to its issues, size it up and put it in perspective, then engage in "banter" about its merits and demerits.
Challenge 3: episodic memory within a run. Storing a trace of its own actions lets the program avoid mindless loops and "jump out of the system", for instance by an explicit decision, based on its failures, to focus on previously ignored objects or concepts.
Challenge 4: reminding across runs. Over longer spans, a new problem should remind Metacat of old ones. Retrieval would use Copycat's own principles: activation spreading from concepts in the current problem (symmetry, reversal) to stored problems indexed under them, heavily biased by conceptual depth so surface remindings stay rare. That yields meta-analogies: mappings between two puzzles based on the issues they evoke, and, Hofstadter hopes, meta-meta-analogies (relating how two puzzles were once noticed to resemble each other to how two others resemble each other now), "moving beyond the title of Ulam's book". Such multi-level reflectiveness would be "a major milestone en route to a theory of how consciousness emerges" from many small subcognitive agents.
Challenge 5: invent good puzzles. That needs a keen, explicit sense of the pressures in problems. A good problem often has two appealing answers, one deep but elusive, one shallow but easy.
A puzzle poised between two answers. aqc ⇒ abc; opc ⇒ ? The easy answer obc imitates letter by letter what happened to aqc (the middle letter becomes b). The elusive answer opq sees aqc as a flawed successor group whose defect was removed, and removes opc's defect, the final c. Both make sense; opq is "clearly far more elegant". Inventing such a problem needs "an exquisite internal model of how people will perceive things" and a search through nearby variants in "problem space" for the one packing the most issues into the smallest and cleanest problem: an esthetic sense, for which Hofstadter refuses to apologise. Beauty and its cousin simplicity play a central role in high-level cognition. Copycat has "nothing remotely close" to this.
Work on Metacat was "just beginning" at Indiana's Center for Research on Concepts and Cognition. Hofstadter admits the sketch is no recipe and that these "wildly ambitious ideas" may never be realised in full, but calls them "a pot of gold at the end of the rainbow", and closes by thanking Mitchell, whose work he hopes will inspire a new generation: "the more clearly we see how long a road remains ahead of us".
import random
# abc => abd; xyz => ? Routes a solver may try, with how tempting each looks at first
ROUTES = {"successor of z": 6, "replace z by d": 3, "see xyz as mirror of abc": 1}
OUTCOME = {"successor of z": "SNAG", "replace z by d": "xyd", "see xyz as mirror of abc": "wyz"}
def solve(self_watching, rng):
weights, trace = dict(ROUTES), []
while True:
r = rng.choices(list(weights), weights=list(weights.values()))[0]
trace.append(r) # coarse-grained temporal trail
if OUTCOME[r] != "SNAG":
return OUTCOME[r], trace.count("successor of z")
if self_watching: # notices its own repetition:
weights[r] *= 0.1 # stop banging into the snag
weights["see xyz as mirror of abc"] += 2 # and attend to deeper concepts
rng = random.Random(1)
for label, sw in (("Copycat-like", False), ("Metacat-like", True)):
res = [solve(sw, rng) for _ in range(5000)]
share = {a: sum(x == a for x, _ in res) / len(res) for a in ("xyd", "wyz")}
snags = sum(n for _, n in res) / len(res)
print(f"{label:13} xyd {share['xyd']:.0%} wyz {share['wyz']:.0%} snags per run {snags:.2f}")
The toy has no Slipnet, but it isolates Hofstadter's point: the only difference between the two solvers is whether the trail of its own actions feeds back into what it tries next. The self-watching version hits the snag less than half as often and finds wyz more often, because a noticed failure promotes deeper routes.
| Hofstadter's 1995 wish | What Marshall's Metacat (1999) built |
|---|---|
| explicit issues/pressures | Themespace: themes describing relations between strings |
| coarse-grained trail | Temporal Trace of high-level events, monitored by codelets |
| jump out of snag loops | trace patterns trigger escapes from repeated snags |
| work backwards from a given answer | justify mode: given an answer, see why (or whether) it makes sense |
| episodic memory and reminding | Episodic Memory of problems, answers and supporting structures |
| compare answers | generates an English commentary on answers' similarities and differences |
| invent puzzles | not achieved |
Metacat happened, and its themes went mainstream. James Marshall's Indiana dissertation (1999) implemented Metacat in Scheme, with a Themespace, Temporal Trace, Episodic Memory and a running commentary, able to justify and compare answers; puzzle invention, Hofstadter's fifth challenge, was not reached. Today's reasoning models and agent frameworks rebuild the same ideas at another scale: a written trace of intermediate steps, reflection loops that critique and retry, and memory of past episodes. The FARG lesson for an AI engineer is about level: Hofstadter wanted self-monitoring that is coarse-grained (only high-import events) and perceived (patterns found in the trace), not a verbatim log. Agents that replay their whole transcript, or that retry the same failing tool call, reproduce Copycat's z-snag loop at enterprise cost.
CRITICAL LENS. The "consciousness continuum" argument shows that zero-awareness intuitions are not proofs, but it does not show programs have any awareness; Hofstadter's own Eliza effect warnings (Preface 4) cut against crediting SHRDLU with a grey shade. Note also the date drift: SHRDLU is called "some 20 years" old in an essay of 1993, which fits Winograd's 1972 book (the program dates from 1968–70).
Tired of saying "suppose abc goes to abd" for the umpteenth time, Hofstadter started touching objects on café tables and telling his companion "Do this!", and discovered he had a second microdomain for analogy. Tabletop keeps Copycat's aspiration to "universality": real-world analogies, such as a Spanish friend's ambiguous "me too", can be translated into forks, spoons and a reach across the table. Moving one object an inch reshuffles the pressures and yields a new problem, so a dozen sharply contrasting analogies can be explored in five minutes. The domain became Robert French's doctoral project.
Singin' the Copycat blues
Hofstadter often explained his research across a dinner or coffeehouse table, and without planning it he developed a routine: touch some table object and ask the listener to "Do this!" from their own vantage point. The stratagem "worked like a gem" for showing that analogy-making means juggling conflicting pressures of different strengths. Its charm was variation: nudge one object and the "constellation of pressures" changed, giving a very different problem. He built up a stock of problems usable on any tabletop but preferred to improvise, because each table's peculiarities threw up new examples. Eventually he saw that besides an indirect way of explaining Copycat he had "unwittingly uncovered a very nice second microdomain".
Translating a real analogy into Tabletop
Like Copycat's letter strings, the tabletop aims at universality: crude mimicry of the spirit of far-flung real-world analogies (the "First Lady of England" problem, for example).
Eliza's "me too". Hofstadter told a Spanish friend (call her "Eliza") that as a graduate student in Germany he had avoided fellow Americans, partly finding them boring, mainly to learn German and know the country. "That's exactly how I feel here," she said. He took it as a fluid mapping: she too avoids her Spanish compatriots to immerse herself in America. As she went on, she meant the opposite: "Here in America, I, too, find Americans boring and prefer the company of people from Spain." Her me-too was rigid, though "German people" did slip to "Spanish people": "Perhaps it was 'semi-fluid'."
To "inject" the exchange into the domain, Hofstadter imagined five forks and one spoon on his side and five spoons and one fork on Eliza's. Forks are the natives of his country, the spoon a lonely foreigner, and the reverse on her side. To mimic travelling to Europe he reaches all the way across; to mimic preferring Europeans he touches one of the local spoons.
- Touch one of Henry's forks. To Hofstadter the "most same" act, matching his first reading: in America, Eliza mixes with Americans.
- Touch a spoon on her own side. Probably the one Henry touched: "a most unimaginative, stick-in-the-mud" reply, mapping onto staying in Spain and avoiding foreigners there too.
- Reach across and touch the lone spoon on Henry's side. Her actual meaning: she did come to America (the reach), but sticks with her own kind (the single spoon).
The translation's flaw, by Hofstadter's own account. Not every real-world analogy translates so easily, though a rough equivalent could often be found. And this one produces a highly unrealistic table: part of the domain's point was to stay close to configurations one might really meet on a café or restaurant table, and nobody's place setting has five forks in a row.
Enter Bob French
Hofstadter grew enthusiastic about studying tabletop analogies seriously and easily enticed Robert (Bob) French to make it his Ph.D. project. French was excited by the Copycat architecture, but implementing Copycat had already gone to Melanie Mitchell, and he wanted something Copycat-like of his own. "All I needed to do was point at Melanie's work and say, 'Do this!' Bob knew exactly what I meant": the preface ends on the domain's own command, applied to a research programme.
"Do this!" is the hard case for imitation learning. Robot learning from demonstration faces exactly the Tabletop question: when a human touches an object, should the robot touch the same object, the corresponding object on its side, or the object playing the same role? Vision-language-action models trained on large demonstration sets mostly learn the literal reading. Eliza's semi-fluid answer is a reminder that intent, not geometry, decides the mapping, and that a requirement written as an example ("do what the old system did") hides the same ambiguity in any migration project.
Douglas Hofstadter and Robert French argue that the tiny Tabletop domain ("Do this!" on a café table) is not trivial, and that a formula-based brute-force program (their own throwaway "Potelbat", tabletop backwards) misses the point even if it works there. To keep themselves honest they scale the domain up in imagination, through BattleOp (proportional military retaliation) to Ob-Platte puzzles ("What is the Bloomington of California?"), and show that every brute-force mechanism collapses under four difficulties: nobody scans all candidates, every comparison is itself an analogy, no fixed list captures a town's essence, and even "a town in Y" is not given. Mechanisms that would explode combinatorially in a scaled-up domain must be banned from the small one, because exploiting a microdomain's smallness is cheating; it is the architecture, not the domain's size, that must keep a model from exploding.
"Do this!" puzzles on a tabletop
Doug touched his three-year-old son's nose and said, "Do this, Danny!" Danny reached out and touched Doug's fingertip.
The setting is the Runcible Spoon, a coffeehouse in Bloomington, Indiana, a stone's throw from Seventh Street, which would have been "Hoagy Carmichael Street" had the city council not turned the renaming down. The authors flag their own opening sentence for its "almost Proustian thorniness". Henry and Eliza sit across a small table.
Three representative puzzles. (1) Henry touches the salt shaker: "Do this!" Eliza's hand hovers over the pepper shaker, then lands on the salt shaker; Henry is faintly disappointed. (2) Henry touches his plate; after hesitation Eliza touches her own saucer, and Henry looks more satisfied. (3) Henry reaches across and touches Eliza's coffee cup. Her finger inches toward her own cup, then swerves across the table and touches Henry's spoon. Her reasoning: "your two glasses formed a little unit, which mapped naturally onto my pair of forks", so glass and fork became temporarily associated; "since a cup is almost a glass, I should reach over to your side and touch something that is almost a fork": the spoon. "A bit stretched, perhaps far-fetched, but certainly an interesting viewpoint."
One can always take "Do this!" literally and touch the very object touched; most adults instead make unconscious conceptual slippages (a glass for a cup) and touch the corresponding object from their own vantage point. Very small children tend to touch the literal object.
Peter sees the light. A colleague, Dave, explaining Tabletop to a visiting cognitive scientist Peter (at the Runcible Spoon), picked up his coffee cup: "Can you do this?" Peter picked up Dave's cup. Dave touched his own nose: "Do this!" Peter's finger set off toward Dave's nose, then, as "social pressures built up", made a 180-degree turn above the table and landed on his own nose. From then on he answered in terms of counterparts on his side. Outcome: the authors do not call Peter wrong; some answers are simply far more common in adults. Automatic, unconscious slippages are what they call menial fluidity; little Danny's answer is overly fluid.
An idealised tabletop and its Platobet
The Tabletop program solves such problems (tabletop objects only, not noses) in an idealised world: each object has no idiosyncratic features beyond its location and category. A cup is "shapeless, sizeless, and decoration-free", which makes the domain look trivial.
But the Platobet, the domain's "alphabet" of Platonic categories, has structure: plate and saucer are close (round, things go on them); both are far from salt shaker absent extreme pressure; cup is close to saucer in a different way (they are used together). The web of relations is small (perhaps two pages of text) yet adds real subtlety. And each table evokes a unique constellation of interacting pressures: where object X seems best, a slight variant may favour Y, another Z. Variants come from moving an object a little, tweaking category (a glass becomes a cup), adding or removing objects, or combinations. "The space of problems is thus closely associated with a space of mental pressures", and those pressures are what analogy-making "is all about". The goal: a program producing one or more answers to any problem while favouring answers as adults do.
The brute-force temptation and Potelbat
The skeptic's case. Each object has only a few attributes (category, location, orientation, owner, spatial neighbours), so give each a dossier, rate every object against the touched one by a weighted sum of per-attribute terms, and touch the top scorer. Adding a few attributes or objects changes nothing.
Irony: the first Tabletop program was exactly this. They call such programs Potelbats ("tabletop" backwards), the diametric opposite of their philosophy, built to know "the enemy". It did reasonably on simple problems and poorly on tricky ones (such as the "East St. Louis" tables below); tuning it further would have wasted time.
Deep Thought's way: spend years and special hardware to beat every human at chess; admirable, and it reveals something unexpected about chess (it is small enough to fall to brute force, which few suspected 50 or even 20 years earlier), but nothing about how people play.
Tabletop's way: a "trivialisation" of a domain built deliberately small would surprise no one. The domain is a laboratory for general mechanisms of fluid analogy-making, so every architecture must be judged on generality, or rather generalisability.
Generality, not expert-system shells. The aim is a program whose architecture "bears few traces of the idiosyncratic domain" and could move between domains. Asked how this differs from expert-system shell vendors' claims, the authors admit they lack a precise answer but feel "a million miles away" in philosophy: shell builders find the largest real-world domains "tame beasts" fitting predefined frameworks, while FARG runs into "truly wild problems in even the smallest of microdomains". Their guess: expert-system success in big domains depends on those domains' particularities, as chess programs depend on chess's surprising tractability, while Go "has not yielded to computerization to any significant degree". Which domains are tractable is a fact about the domains, not about intelligence.
The keep-'em-honest exercise. While building a program in one domain, they juggle several others in their minds, including large real-world ones, so that no central mechanism depends on special properties of the actual domain, above all on its tiny size. The architecture must "intrinsically circumvent all the various causes of combinatorial explosion".
Scaling up: BattleOp
Kenya is rapidly earning a reputation as the Hollywood of Africa.
A "domain" here does not mean one isolated analogy (solar system / atom, heat / water flow): only a problem surrounded by a halo of variants shows what makes one mapping appealing and another not. The authors want a domain "chock-full of analogy problems" forming a tight web.
Tabletop's "Do this!" felt like tit-for-tat, a kind of retaliation. Imagine California diverting rain clouds from soggy Indiana to the parched San Joaquin Valley; the war goes nuclear and California obliterates Bloomington. The war council in Indianapolis wants proportional retaliation. What is the Bloomington of California? Not Los Angeles (over 100 times Bloomington's population); not San Diego (its zoo); not Carmel by H-bomb tidal wave (too enraging). Perhaps the "Hoosier Armed Forces" should instead offer California's migrant workers a dollar an hour more to come to Indiana.
Facetious, but real. Proportional retaliation requires finding "the same" target:
- Libya, 1986: a bomb in a German discothèque kills an American soldier; the US bombs Tripoli.
- China and the Soviet Union: border incidents settled tit-for-tat for years.
- Cold War expulsions: an American journalist is expelled from Moscow as a "spy"; the next day, "by pure coincidence", three low-level Soviet delegates are told to leave the US.
Greece and the Falklands. International analogies bind even bystanders: when a conflict flares anywhere, each country must scrutinise it for resemblances to its own situation, and a stance inconsistent with its own behaviour in an obviously analogous case looks hypocritical. Greece, "poor", "third-world-leaning" and socialist-oriented, might have been expected to side with Argentina over the Malvinas against distant, colonial Britain. It sided with Britain. Why? Because of "the Falkland Islands of Greece": Cyprus, claimed by Greece but far closer to Turkey. Siding with Argentina would have amounted to siding with Turkey over Cyprus. "A sufficiently blatant analogy will override any other pressures, including prior ideological commitments." Analogy, the authors add, plays "for analogous reasons, an analogous role" in interpersonal affairs.
BattleOp would be the retaliation algorithm: given any act of aggression, scan the whole earth and the whole repertoire of political options for the optimal place and action. With hypothetical and "tweaked" historical cases (what should President Clinton have done had ex-president George Bush been injured by Iraqi agents in Kuwait, or had Dan Quayle taken a cream pie meant for Bush?) the domain is astronomical: "Tabletop scaled up with a vengeance".
Scaling back down: Ob-Platte puzzles
The way back down was hidden in the first BattleOp question. "What is the A of Y?" with A a geographical entity and Y a region. A Siberian emigrating to the Great Plains asks "What is the Ob of Nebraska?", and any Nebraskan replies "The Platte, of course!", hence "Ob-Platte puzzles", after the "classic example" of "Belpatto, 1890" (a mock citation: Belpatto is an anagram of Tabletop, completing the title's word game). Restricting A to cities still leaves enormous variety:
The authors' sampler of Ob-Platte puzzles
- What is the Athens of Georgia? / the West Point of Maryland? / the Hobart of India?
- What is the Colombo of Australia? / of Greenland?
- What is the Tijuana of Texas? / the Calexico of California? / the Calexico of Mexico? / the Mexicali of Mexico? / the Mexicali of Michigan?
- What is the New York City of Connecticut? / the New York City of New York City?
- What is the Newark of Delaware? / the Toronto of Uruguay? / the Honolulu of Oklahoma? / the Hollywood of Africa?
- What is the Carmel of Indiana? / the Gettysburg of Hawaii? / the Kansas City of Missouri?
- What is the Pittsburgh of the Midwest? / of the East? / the Vatican City of Indiana?
The Vatican City of Indiana: Speedway. Tiny Vatican City, seat of world Catholicism, is entirely surrounded by Rome, capital of Italy; its one real attraction is the huge St. Peter's; people say "Roman Catholicism" though the Holy See is strictly outside Rome. Tiny Speedway, Indiana, home of the Indianapolis 500, is entirely surrounded by Indianapolis, the state capital; its one real attraction is the huge Racetrack; people say "the Indianapolis 500" though the race is strictly outside Indianapolis. (America's love affair with cars as Italy's with Catholicism is "a bit forced".) A "very strong, if somewhat obscure" answer.
Such answers are supertranslations: "X is the A of Y" implicitly refers to the role A plays relative to some unmentioned, presumably obvious B, so A : B :: X : Y; delete two elements and you have a riddle. The chapter concentrates on cities A and US states Y.
Mapping or retrieval? Tabletop puts both situations before one's eyes; Ob-Platte regions "lie largely dormant in memory", and one retrieves a few items rather than mapping wholes. The difference is smaller than it looks. A visual situation is not represented in its first instant: a painting, a photograph or a circuit diagram takes seconds to minutes; a page of text may take hours, or years if one must first learn the language. A human scanning a table focuses here, then there; a glass noticed early gains salience once a cup elsewhere makes one revisit its neighbourhood, and attention wanders "in an erratic but far from arbitrary path". The "all there before your eyes" appearance of Tabletop is an illusion: regions are "perceptually there" to varying, changing degrees, from strong to zero. In Ob-Platte puzzles the mind's eye likewise glides over a mental map, towns drifting in and out of focus. This shaded presence grows with situation size in any domain, so perception-based mapping and memory-based retrieval have "much more in common ... Than might be suspected".
Four difficulties for a formula-based architecture
A brute-force Ob-Platte solver needs (1) a fixed, context-independent database of cities and (2) a fixed list of criteria, then runs five steps.
The a priori criteria, in very rough descending weight: population; physical geography (hills, forests, rivers, lakes); site of an important historical event; average income; architectural style; climate; racial/ethnic mixture; political environment; a striking name (Truth or Consequences); distance from the nearest metropolis; crime rate; site of a famous natural disaster; sports teams; home of a famous company; military installation; heavy industry; light industry; major museums or orchestras; a university; birthplace of a celebrity. There is no "full list", and it is already far longer than Tabletop's handful of attributes, each criterion generating a pressure as location and category do on the table.
Difficulty 1: nobody considers every town
People do not run a battery of tests over California's several thousand towns; even long-time residents know a few hundred, propose an answer after a handful, and consider fewer than a dozen in all. No experiment is needed to say so.
Pruning does not rescue it. The snap-judgment-rejection method runs down the criteria and drops a town at its first failure: Los Angeles, San Diego, San Francisco too big; Peanut, Igo, Ono too small; Death Valley Junction too dry, Truckee too high; Pacific Palisades and Carmel too affluent; Vacaville, Calexico, Yreka lacking a university. It is faster but still touches every town, "from a cognitive point of view ... Nonsense", and it throws out babies with bathwater.
Smithville, University City and Oral City. Suppose a state with no medium-sized university town, but Smithville (population 50,000) has a huge, nationally famous dental school with a wooded campus, limestone buildings and as many students as Indiana University, plus an annual bicycle race, hilly woods, a bar called Nick's and townies with a slight drawl. Is a dental school a university? "Of course not!" Pruned. Meanwhile University City, with a tiny fundamentalist college granting degrees only in "creation science", stays in. And Oral City, with both a big dental school and a tiny Christian college, maps well onto Bloomington only if Indiana University maps onto the dental school: invisible to strict criteria. "What really matters in analogical mapping is not literal similarity, but ... similarity in spirit."
Shades of grey lead out of the domain. Rigid categories would reject Oakland as "the Newark of northern California" by missing that bay is close to river, or Annapolis as "the West Point of Maryland" by missing Navy ≈ Army. Judging approximate matches opens a Pandora's box:
Difficulty 2. Comparing a target town with the source town on a single criterion "is not a hard-edged mechanical task, but rather, can itself constitute an analogy problem as complex as the original". Recursion does not help: the subproblems are as hard as the original and numerous, they spawn further ones, and they are not geographical, reaching into arbitrarily remote knowledge. The Ob-Platte domain "is not even close to being self-contained".
Difficulty 3: no fixed list captures a town's essence
Bloomington's essence, for many, is the Little 500 bicycle race (held since the 1950s, subject of the film Breaking Away). Nobody drafting a general-purpose list would think of "has a major annual amateur bicycle race", yet without it the program cannot propose the hypothetical anti-intellectual logging town Bikeville, California, whose bike race the whole area turns out for, and which to some people shares Bloomington's essence. For sports fans the essence is basketball (Indiana's men's team and coach Bobby Knight). Then: the biggest and one of the best music schools in America; an All-America City award; national centre of the Children's Organ Transplant Association; the main Otis Elevator plant; where Crest toothpaste was invented; where Hoagy Carmichael wrote "Stardust". Every American town has idiosyncrasies ("site of a phonograph museum", "named after a famous outlaw", "giant roadside coffeepot", "ten old Cadillacs buried fins-up", "highest point in the state"), each crying out for a line on a list whose entries are irrelevant to all but a few towns.
Similarity, not identity, along each dimension. Trikeville and Scooterville hold tricycle and scooter races, glaringly similar to a human, invisible to a literal program: Difficulty 2 again.
Patches the authors try, and why each fails
- Broader criteria ("major athletic event" instead of "bike race"): needs classification (bike, trike, scooter races are athletic events); then Balloonville's balloon race forces a broader category still, and the broader the category, the vaguer: Bikeville gains no advantage over Balloonville, which is absurd.
- Concentric circles of precision (the Little 500 filed under "bike race", "race", "athletic event"..., points per circle): Bikeville beats Scooterville beats Balloonville, but every feature needs dozens or hundreds of a priori characterisations. Is Crest an "oral-hygiene product"? Then the town of Ivory Soap gets nothing, so also "bodily-hygiene product"; a "well-known consumer product"? Then Chevrolet matches too; a "product sold in tubes"? How big, and do squeezable tubes earn extra?
- Encoding the rest: "Stardust" written in Bloomington (does a book, poem, or "New York, New York" written in New York match?); Breaking Away filmed there; the transplant association (any children's group, like Boys Town, Nebraska? Any health body, like the CDC in Atlanta?).
- Name identity: a tiny Bloomington, California exists between Los Angeles and San Bernardino, and its name alone beats "Uxhaha". But then name proximity ("Bloomingtown", "Blumington", "Blossomton"), and semantics ("Bloodington" is worse than "Flowerville"), and translation (Pueblo Florido, Spanish for "blooming town"; and if "uxhaha" meant "town of many blossoms" in Navajo, which language could be excluded?), and university names (Indiana, Pennsylvania, home of "Indiana University of Pennsylvania"; a "University of Indiana" in some California town).
Difficulty 3 keeps pushing new criteria onto the list; the ubiquity of similarity rather than identity makes each new criterion a fresh nest of proximity judgements. Together they are "formidable".
Difficulty 4: what is a "town in region Y"?
- Compound and informal chunks. Minneapolis/St. Paul, Dallas/Fort Worth, North Carolina's Research Triangle (Chapel Hill, Durham, Raleigh), the two Kansas Citys, the Quad Cities (Davenport and Bettendorf in Iowa, Moline and Rock Island in Illinois) appear in no gazetteer as units, some straddle state lines, and at the other end lie unincorporated clumps of houses and churches. "Who knows what A is going to be?"
- Boundaries of a single city. "The New York City of California": Los Angeles, but which? Municipal LA, greater LA out to San Bernardino, or five cities chunked as the five boroughs, with a "Queens", a "Brooklyn" and a "Staten Island" of California? And a whole country (Kenya) can be the counterpart of a small glamorous town (Hollywood).
- "Of" need not mean "in". The University of Oregon, full of Californians, is jokingly "the University of California at Eugene", and Eugene resembles Bloomington (population, isolation, countryside, dress, coffeehouses). One Indiana University professor seriously proposed Portland, Oregon (Reed College and others as a group mapping onto IU): "I know, I grew up in California, but that's the best I could do."
Atlantic City, Monaco and the nine dots. "Which is the better Atlantic City of California, Las Vegas or Lompoc?" Only Lompoc, known for its prison, is in California; Las Vegas is the West's gambling capital. Invent Nuevo Monaco, a five-mile enclave on the Pacific twenty miles south of LA with casino capital Ciudad Pacifica: lumpish Lompoc loses again. The real-world twin: "What is the Atlantic City of France?" Most people say Monaco (gambling city Monte Carlo), an independent country on France's border, small enough to be a city, on the sea. Plausibility of out-of-region answers forms a continuum from "very strong" (Monaco) through "weak" (Eugene) to "outrageous". "What is the Hobart of India?" Tasmania dangles off Australia as Sri Lanka dangles off India, so Colombo flashes to mind, though Sri Lanka is a separate country. Such answers recall the nine-dots puzzle: connect a three-by-three grid of dots with four straight lines without lifting the pen; the solution leaves the square, and most solvers never notice they assumed a boundary. The in-state default is even harder to dislodge, and the farther one strays the stronger the "twinge": Portland, Oregon may convince a few; Portland, Maine, hardly anyone.
Local versus locational properties: the Oakland of Illinois
Most listed criteria are local (population, industry); only "distance from the nearest metropolis" is locational. Yet a town's identity can be mostly locational. Oakland's primary feature is being the poorer sidekick of San Francisco across the bay; a large minority population is its only purely local trait among the top three.
- The Oakland of Illinois? First map the landmark: the San Francisco of Illinois is Chicago. Then seek Chicago's sidekick across water with a large minority population: Gary, across from Chicago, east (a "free bonus"), largely black, but in Indiana: "a strike against it, but not a strikeout". As was said of nearby Whiting, "If it weren't for the state line, it would be in Illinois." Gary beats in-state Peoria ("the Lompoc of Illinois").
- Or East St. Louis, a poor, largely black suburb across the Mississippi from St. Louis, inside Illinois, but defined by a landmark outside it. Even in-state answers need out-of-state context.
What is the East St. Louis of Illinois? The authors' favourite. It sounds trivial or nonsensical, which is the hint: re-see East St. Louis as belonging, by proximity and sound of name, more to Missouri than to Illinois. Subproblem: "What is the St. Louis of Illinois?" Chicago. Next: "What is the East St. Louis of Chicago?" Look east across the river into Indiana: Gary, "not an awful answer", but hefty (about 150,000 to East St. Louis's 50,000) and its name unrelated to Chicago. Further along: East Chicago, Indiana (about 40,000), small, mostly black, close to its landmark in location and name, east across both the river and the state line. "Little doubt" it is the answer. The rigid answer, East St. Louis itself, is exactly what analogy-making is not about.
| Puzzle | Answer offered | What makes it work |
|---|---|---|
| Ob of Nebraska | Platte | great river crossing the plain |
| Vatican City of Indiana | Speedway | enclave in the capital; one huge shrine |
| Newark of northern California | Oakland | sidekick across water (bay ≈ river) |
| West Point of Maryland | Annapolis | Navy ≈ Army academy |
| Hollywood of Africa | Kenya | a whole country as a town |
| Atlantic City of France | Monaco | outside the region, yet compelling |
| Hobart of India | Colombo | island dangling off the south |
| Oakland of Illinois | Gary or East St. Louis | locational: sidekick of a landmark |
| East St. Louis of Illinois | East Chicago, Indiana | name + place + role, across river and line |
Bringing the lessons back to Tabletop
Not every lesson from Ob-Platte transfers downward. The noncontainability of Ob-Platte (spin-off analogy problems about anything in the world) has no counterpart on the table, a small, self-contained world like chess, whose rules fit on a page or two. Tabletop never forces one into analogies in disconnected domains.
But that is irrelevant to architecture design. In real domains the infinite-regress nightmare is there and cannot be sidestepped, so the other nightmares the big domain exposed are "one hundred percent relevant" to Tabletop. If one works in a small domain while seeking psychological realism, one must not use mechanisms that would become intractable when scaled up: "Taking advantage of the Tabletop domain's deliberate smallness and deliberate simplicity would simply be cheating." Techniques that work only because the domain is tiny are "merely trickery and should be totally banned".
Translating big puzzles into small ones. The second reason to study scaled-up domains is inspiration. Strip an Ob-Platte puzzle of its surface, expose its "brew of interacting pressures" (category membership, physical location, grouping, relative salience, local versus locational properties: pressures nearly universal across domains), then build a Tabletop configuration with the same brew. The domain's interest lies in reproducing constellations of pressures, "not from the objects themselves".
- Figure VIII-6. Henry touches his cup; Eliza has no cup, so she reaches across and touches the same cup: "I have no choice." That is like answering "East St. Louis" to its own puzzle.
- Figure VIII-7. Add silverware around Henry's cup and Eliza's plate: the cup is now seen locationally ("between a fork and a spoon"), and Eliza's plate has the identical description, so touching her plate becomes attractive, like naming a Chicago sidekick inside Illinois.
- Figure VIII-8. Henry's touched cup sits "between a fork and a spoon"; on Eliza's side nothing does, but a tempting cup waits there, while her plate sits "between a cup and a glass". Since fork ≈ spoon and cup ≈ glass, the plate's locational description is analogous to the cup's, and the plate becomes a good answer despite having no intrinsic resemblance to a cup and despite a real cup "pulling hard to be touched": the ironic flavour of East St. Louis.
No translation captures every nuance; translating an analogy between domains is "a very high-level analogy problem in itself", sometimes an art form (as in Metamagical Themas Chapter 24 and Mitchell's 1993 book, which translated real-world analogies into letter strings). "There is a certain beauty to the idea that a tiny domain can in some sense mirror the more abstract complexities of situations in the real world."
Why special-purpose patches are pointless
The blockage problem (Figure VIII-9). Henry touches his cup; there is a glass on Henry's far side and a glass on Eliza's side, diagonally opposite. Perceiving a diagonal bridge between the two glasses (an object-to-object correspondence) blocks the otherwise reasonable answer of touching Eliza's glass: it is "already taken". So Eliza should touch Henry's cup itself. In the Tabletop architecture this falls out automatically from the role of bridges; no "blockage-checking mechanism" is needed.
A Potelbat cannot see it, because it "sees no relationships between objects, makes no groupings, builds no bridges": it scores literal objects. To handle blockage it would need a dedicated routine: take the would-be winner, rescan the whole table for objects resembling it, check whether one on Henry's side resembles it more than the touched object does, disqualify it if so, promote the runner-up, and rerun the check. Since blocked problems cannot be "smelled" in advance, the routine runs on every problem though it matters in a tiny minority. For each patch remembered, many are overlooked.
Combinatorial explosion. Any problem depending on groups or bridges needs either a special mechanism or group-building inside the architecture. A brute-force scorer that keeps its style would have to build all conceivable groups: with n objects there are 2^n, most "laughably implausible" to a human, and then bridges between groups and groups of groups, so far more than 2^n. People perceive such structures instantly. In Figure VIII-10 each side holds a six-object cluster: a fork-fork group and a knife-spoon-spoon group with one item between them, and each knife-spoon-spoon is really a knife plus a spoon-spoon pair: a group inside a group inside a group. Henry touches the cup between his groups, and many people are drawn to Eliza's salt shaker, a priori an unlikely counterpart of a cup, especially with a glass available, purely because of its position inside its nested group. "What, indeed, would tempt such a program at all to point at the salt shaker?"
# A "Potelbat" for Ob-Platte puzzles: fixed criteria, fixed weights, scan every town
from math import comb
bloomington = {"pop": 60, "university": True, "hills": True, "bike_race": True}
candidates = { # hypothetical towns from Hofstadter and French's thought experiments
"Smithville": {"pop": 50, "university": False, "hills": True, "bike_race": True,
"note": "huge dental school, wooded campus"},
"University City": {"pop": 55, "university": True, "hills": False, "bike_race": False,
"note": "tiny creation-science college"},
"Balloonville": {"pop": 60, "university": True, "hills": True, "bike_race": False,
"note": "famous annual balloon race"},
}
weights = {"pop": 1.0, "university": 3.0, "hills": 1.0, "bike_race": 2.0}
def score(a, x):
s = weights["pop"] * (1 - abs(a["pop"] - x["pop"]) / max(a["pop"], x["pop"]))
for k in ("university", "hills", "bike_race"):
s += weights[k] * (a[k] == x[k])
return s
def snap_judgment(a, x): # pruning: reject on the first failed criterion
return x["university"] == a["university"]
for name, x in candidates.items():
kept = "kept" if snap_judgment(bloomington, x) else "PRUNED"
print(f"{name:16} score {score(bloomington, x):4.2f} {kept:7} ({x['note']})")
# The notes are exactly what the formula cannot read. And groups: a table of
# n objects has 2**n candidate groups before any bridges or groups of groups.
for n in (6, 12, 20):
print(f"{n} objects: {2**n:,} possible groups; {comb(2**n, 2):,} possible group pairs")
The output reproduces the chapter's complaints in miniature: Smithville, the best match in spirit, is pruned on the university test; University City outscores it; and Balloonville wins outright because its balloon race simply scores zero rather than "nearly a bike race". The notes column, where the real similarities live, is invisible to the formula, and the group counts show why "build every group and score it" is not an option.
Concluding words
Analogy-making in the Tabletop microworld "is not trivial". Some of its challenges look tractable by special-purpose mechanisms, but building many such mechanisms into a system, all applied to every problem, would be "computational suicide" in scaled-up situations and "psychological nonsense". The real Tabletop program uses a small set of very general perceptual and cognitive mechanisms: scanning its world, it builds multi-level perceptual structures, from which context-dependent pressures emerge, pushing attention toward certain concepts, areas of the table and objects; structure-building and the focusing of spatial and conceptual attention interact deeply. It is this psychologically reasonable architecture, "rather than the smallness of its domain, that keeps the Tabletop program from 'exploding' combinatorially." The domain's smallness is "an attempt to deal honestly with the huge cognitive complexity of small-seeming tasks, rather than a pretense of dealing with the limitless complexity of the real world".
CRITICAL LENS. Two predictions here have been overtaken. The authors bet that Deep Thought "or perhaps some rival team" would soon become world chess champion; IBM's Deep Blue beat Garry Kasparov in a six-game match in 1997. They said Go "has not yielded to computerization to any significant degree"; DeepMind's AlphaGo beat Lee Sedol 4–1 in 2016, not by brute force but by learned evaluation from self-play, which complicates their dichotomy between "trivialising" brute force and human-like mechanisms. Their argument against a fixed a priori criteria list also attacks a narrower opponent than today's: learned embeddings give graded similarity along dimensions nobody listed in advance.
Ob-Platte puzzles meet embeddings and LLMs. "What is the A of Y?" is precisely the analogy test that made word2vec famous (vector offsets like Paris − France + Italy ≈ Rome, 2013), and modern LLMs answer "the Bloomington of California" fluently, proposing a college town and giving reasons. That is the authors' Difficulty 3 solved statistically: no one wrote the criteria list. Their other difficulties survive. Answers drift with prompt wording (Difficulty 4, what counts as a candidate), out-of-region answers like Monaco appear only when the model's defaults are pushed, and nothing guarantees the model considers a dozen candidates rather than retrieving one. For enterprise systems the chapter's sharpest lesson is architectural: a scoring rule that works on a curated test set because the set is small is "cheating", and it fails the day the input universe grows.
Cognitive psychologists want a model validated by matching averaged human statistics; Hofstadter argues that for a model built from a hundred interacting subcognitive mechanisms, averaging destroys exactly what is being modelled, an individual cognitive style. He offers eleven qualitative validation criteria instead (plausibility, frequency matching obviousness, sensitivity to tweaks, human-looking pathways, graceful degradation under lesions), then turns to the "crazy bazaar" of AI, judging CYC, case-based reasoning and Soar by his own hunches about concepts. In AI and cognitive science, behind the starched rigour of published papers, "90 percent of what is going on is intuition", and the field's real disagreements lie in tacit frameworks that nobody articulates.
Striving to simulate an individual mind
Ask a trained cognitive psychologist what makes a model good and the answer comes "even in their sleep": run many subjects, collect statistics, make the program imitate them, so that it acts like "Average Ann and Typical Tom". Caricature it and the flaw shows: model "Boring Bob, Mediocre Melanie, Conventional Carol, and Dull Doug". Why perfect a model of lacklustre intellects instead of sparkling ones like columnist Ellen Goodman or physicist Richard Feynman? FARG's "unabashed motivation" is deep esthetic insight, most obviously in Letter Spirit, where almost the only criteria are esthetic, but in Copycat and Tabletop too. Where sophisticates' and novices' tastes differ vastly, averaging novices to judge a model of a sophisticate "makes no sense".
Averaging elites fails too. Polling Nobel laureates, MacArthur fellows, witty columnists and "pithy farmers" and averaging them is like mixing great recipes in hopes of a great recipe: "Great recipes and great minds are one of a kind. The act of averaging destroys them." A group of creative minds produces a spectrum quite unlike any one of them; individual style "gets completely lost in the blur". Better: a model that acts like one particular creative mind, or like several when "cognitive-style parameters" are varied, sliding from "elite" to "eccentric" and beyond as the settings move.
# Averaging two sharp tastes yields a taste nobody has
answers = ["ijll", "ijkl", "jjkk", "hjkk"]
solver_a = [0.05, 0.05, 0.10, 0.80] # one hypothetical sharp-minded solver
solver_b = [0.80, 0.05, 0.10, 0.05] # another, equally sharp, different taste
pooled = [(a + b) / 2 for a, b in zip(solver_a, solver_b)]
for name, p in (("solver A", solver_a), ("solver B", solver_b), ("pooled", pooled)):
top = answers[p.index(max(p))]
print(f"{name:9}", " ".join(f"{a}:{x:.2f}" for a, x in zip(answers, p)),
f"| favourite {top}, decisiveness {max(p):.2f}")
# The pooled "subject" is torn 0.425/0.425 between two answers: a style that
# matches neither real solver, like a recipe averaged from two good ones.
Cognitive-style parameters: a throng of subcognitive mechanisms
- Role of salience in allocating attention to objects.
- Extra attention to objects with extremal attributes.
- Differential rates of perceptual processes (spotting sameness versus relatedness).
- Desire to build chunks from samenesses or other connections.
- Willingness to adjust or destroy already-solidified chunks.
- Propensity of a dormant concept to wake when lightly activated.
- Rates of spreading activation to various semantic neighbours.
- Rates of decay of activation of various concepts.
- Degree to which active concepts bias perceptual search.
- Ease with which default perceptions yield to the drive for perceptual uniformity.
- Size of concepts' halos.
- Relative abstractness levels assigned to concepts.
- Preference for abstract over concrete descriptions.
- How perceptions affect inter-concept distances.
- Probability of a slippage at a given conceptual distance.
- Willingness to let a slippage carry related slippages "on its coattails".
- Willingness to accept fragmentary mappings.
- Willingness to consider alternatives despite a clear leading view.
- Resistance to blending rival views, rules or answers.
- Attraction to symmetry.
- Intensity of dislike of trivial or boring answers.
Each combination of these hidden, mostly unconscious settings defines a "unique and sharply-defined intellectual style"; mushing many together gives "a goulash as tasteless as a mixture of many good recipes".
Why psychologists insist anyway. Their paradigm probes one mechanism (or two) expected to be nearly identical from mind to mind. Example (Marslen-Wilson et al., 1992): does "decide" prime "decision" (shared root, disguised) more than "deciduous" (look-alike, unrelated)? Lexical-decision reaction times per subject give a ratio; across subjects a trend appears with small individual differences, confirming approximate universality. Such experiments are "beautiful and deep probes", but probe one tiny aspect at a time. Copycat and Tabletop model a hundred mechanisms in concert, each slightly variable, with "an enormous number of degrees of freedom". Insisting on single-mechanism validation criteria there is "a confusion, brought on by habit and by training".
How are natural-language programs validated?
Take SHRDLU's famous dialogue (Winograd, 1972). What makes it feel psychologically real is the feel of the conversation: do the remarks make sense? One could give 100 college sophomores the first N exchanges and the (N+1)th question and tabulate their replies, but with millions of plausible replies averaging collapses: how do you average "I don't know", "The yellow one", "The last one I touched", "I'm not sure what you mean" and "I think it's the one between the two tall ones"? We judge people's language by flexibility (fluid reaction to unexpected turns) and insight (getting to the nub), not stereotypicality.
Some statistics are needed: one impressive exchange proves nothing, since it "could have all been canned"; one needs bulk across a wide, open-ended variety of contexts. And flexibility counts as evidence of mechanism because "flexibility can come only from the underlying substrate": if a model is flexible in the ways people are, its substrate must share their mechanisms (argued further in the Epilogue). As Turing (1950) proposed, the test is consistent flexibility and insight under open-ended probing by a sophisticated human, not a match with human statistics; analogy-making is of the same order of complexity as language.
Eleven concrete validation criteria
FARG's qualitative criteria for Copycat and Tabletop
- Answers should almost always seem plausible to people (especially those appearing more than one time in 100).
- The spectrum of human answers should largely be accessible (some theoretical pathway reaches each).
- Answers obvious to most people should be frequent.
- Answers far-fetched to most people should be rare.
- Answers elegant but subtle to most people should be rare.
- Answers people find ugly or silly should get low quality ratings.
- Answers people find elegant should get high quality ratings.
- The program should occasionally be insightful or creative.
- As a situation is tweaked to strengthen some pressures and weaken others, frequencies and quality judgments should shift accordingly.
- The most frequent pathways to an answer should look humanly plausible.
- Lesioning key features one at a time should degrade behaviour in the ways their theoretical roles predict.
All can be assessed "in discussions with a few people" (is xyz ⇒ xyy, or touching Eliza's spoon, plausible? Obvious? Elegant?). Criterion 9 needs no experiment: if Henry touches a glass and, over four problems, another object changes from glass to cup to saucer to knife, a human Eliza grows less and less inclined to touch it. Criterion 10: reaching wyz in abc ⇒ abd; xyz ⇒ ? without first hitting the z-snag is "highly implausible" for a person, so a program that did so would fail.
Lesioning Copycat. Four of "dozens" of possible lesions: (1) telescope each action's chain of scout and effector codelets into one codelet, making processing coarse and suppressing the terraced scan; (2) give all concepts the same conceptual depth, abolishing depth as a motivator; (3) clamp temperature very high or very low; (4) freeze Slipnet link lengths during a run. Mitchell tried these and others (reported in her 1993 book). Outcome: "nothing too astonishing": each lesion caused the expected serious degradation, confirming the need for the architecture's central features.
The substrate of cognition is culture-independent. Some suggest other cultures would see these problems differently, undermining universality. True, an aborigine from the Outback who never ate off a table, or someone who knew only Tibetan, would respond differently, but these are "distractors". At the level of abstraction of the listed mechanisms, it is "highly implausible" that Aboriginal hunters or Tibetan monks use different ones: like repeating every American physics experiment in Australia and Tibet to check the laws hold there.
A crazy bazaar
Judging research is the murkiest problem in the field: claims of validity, importance and novelty "speak completely different languages", and even physics and mathematics lack clear criteria. "AI/cog-sci is a crazy bazaar. Or at the very least, it's a crazy, bizarre discipline." Hofstadter's half-hour list, made without references:
- Physicists analysing neural networks with statistical mechanics; neurologists hunting concepts with MRI and PET; cognitive ethologists studying apes' representations of peers.
- Music theorists getting computers to improvise jazz or compose like Bach; psychologists collecting slips of the tongue; linguists writing grammars for obscure syntax.
- Anthropologists studying groups as higher-level cognitive units; roboticists building rock-climbing artificial insects and self-driving cars; artificial-lifers making fish and birds that school and flock.
- Philosophers seeking what gives symbols "aboutness"; chess builders chasing a world champion; connectionists modelling face perception and past-tense learning; developmental psychologists on crawling, walking and number.
- Expert systems that diagnose eye diseases and explain their reasoning; logicians on metaknowledge and nonmonotonic reasoning; genetic algorithms whose maze-running programs mate and compete.
- Illusion researchers; philosophers modelling scientific revolutions; machine translation claiming 95 percent accuracy from Japanese to English; brain researchers inferring pathways from lesioned patients; programs writing fables and sitcom plots, daydreaming about dating Hollywood stars, or rediscovering laws of Galileo, Ohm and Kepler.
As for judging this "hundred-ring circus": "I do not have the answer." He finds it "mind-boggling, even disturbing": an annual "Turing Test" in Boston where street-recruited judges mistake PC programs for people and people for PCs; music that "really sounds like Bach"; books explaining consciousness; programs reading sloppy handwriting, slurred speech, or writing potboiler novels ("we haven't quite reached the level of Tolstoy yet").
Three encounters: CYC, CBR, Soar
| Project | Claim as Hofstadter heard it | His reaction |
|---|---|---|
| CYC (Doug Lenat) | encode millions of everyday facts in predicate calculus for a ten-year-old's common sense; computers will surpass human intelligence in about twenty years; microdomain work "hopelessly outmoded" | nonplussed: "I don't think so." |
| CBR (Schank's school; talk by David Leake) | retrieve a reminding, map it, "tweak" it, splice memories, explain, self-evaluate, in vast real-world domains | amazed and baffled; the bicycle clips objection |
| Soar (Newell, Rosenbloom, Laird) | a unified theory of cognition: everything as problem-solving in problem spaces | one paragraph on concepts in 500 pages; "passing odd" |
CYC. Doug Lenat, known for AM (mathematical discovery by heuristics) and Eurisko (evolving heuristics by meta-heuristics), lectured on CYC (from "en-cyc-lopedia"), then about nine years old and due to finish "in a mere year or two", landing "essentially on schedule, due to a large number of errors canceling each other out". Knowledge-intensity is "the only way to go"; anything less is "baby stuff"; within twenty years, thanks to hardware, program complexity and knowledge, computers would reach and surpass human intelligence. In private he reaffirmed it and called microdomain work hopelessly outmoded.
CBR. Hofstadter's colleague David Leake described case-based models of creativity from Roger Schank's school, which use analogical thinking while conspicuously avoiding the word "analogy". They speculate about the Challenger crash and the mysterious death of the racehorse Swale, invent counterterrorism tactics, and so on: retrieve a reminding from vast memory, map it, make slippages ("tweaking"), splice memories in a frame blend, explain, then self-evaluate. "Now if this isn't creative thinking, by God, what is?"
The bicycle clips. During Leake's talk Hofstadter was fiddling with the metal clips he wears to keep his trousers out of his bike chain. In questions he held them up and recited a dozen trivial facts about them, arguing that thousands more could be stated without exhausting what people know about any everyday object, so how could programs "know all about" counterterrorism or racehorse deaths? (Close to Hubert Dreyfus's objections in What Computers Can't Do, 1972.) Outcome: Leake conceded that CBR models know little about physical objects and in a sense still work in microworlds, but suggested combining CBR reasoning with CYC's database (though sceptical of CYC's logic-based design) might yield genuine intelligence. "Could it be true? I myself have grave doubts, but how can I know for sure?"
The Dustbuster: what reminding really is
Hofstadter shares CBR's fascination with reminding. His daughter Monica, just over a year old, loved pushing the on-off button of a Dustbuster for its buzz. She tried a differently shaped second button: nothing (it was the lid release, which must be slid). As he showed her, a memory flashed: at about eight, enchanted by exponentiation and its tables of powers, he saw subscripts all over one of his father's physics papers and assumed they, like superscripts, meant some deep operation. His father said they merely distinguish variables: hopes dashed.
CBR could model this: encode both episodes in Schank's conceptual-dependency notation and retrieve via a shared index, a thematic organization point (TOP) such as "MS; DH" (Misleading Similarity; Dashed Hopes). Impressive, perhaps right at some level, but it misses the core: it is hard to believe an eight-year-old understood that abstraction and filed the memory under it. Pentti Kanerva's sparse distributed memory (1988) comes close from the neural end, but also misses. Something between the two levels is needed.
What CBR, CYC and even their splice lack: a deep model of concepts. For Hofstadter that means overlapping emergent halos in a Slipnet, the parallel terraced scan, fluidly reconformable representations, commingled bottom-up and top-down pressures, probabilistic biases from conceptual depth, salience and strength, perceptual structures with shades of tentativity, a temperature reflecting perceived order and controlling randomness, and self-watching. "That's my bias."
Soar and the missing concept of "concept"
Allen Newell gave AI the General Problem Solver (mid-1950s) and production systems, a distant ancestor of the Hearsay II architecture that deeply influenced Hofstadter; he even co-developed an analogy model, MERLIN (Moore and Newell, 1974). With Paul Rosenbloom and John Laird he spent his last decade on Soar, and his Unified Theories of Cognition (1990) described its successes across disparate domains compared with human data: "If you take Newell's word for it ... We now know what cognition is all about."
Reading the index (a terraced scan). Rather than read 500 pages, Hofstadter sized the book up by its index. "Concept": one entry, "Concept learning, 435", in a chapter on what Soar has not yet done: a single paragraph on prototypes (graded category membership), saying Newell would be surprised if extra architectural assumptions were needed, since a device with "the ultimate flexibility" limited to predicates "would seem passing odd". "Category": only "Categorical syllogisms", about formal logic. "Analogy": only "Analogical view of representations", about mental pictures. Hours of browsing found comprehension operators applied to each word as it arrives, a "wooden", strictly serial image of reading, "prosaic" common sense rather than deep issues. Outcome: Soar casts everything as problem-solving in problem spaces, "so neat and rational", yet addresses none of his questions; if it does, as Daniel Dennett assures him, "it certainly is hard to recognize this fact in the book".
Private hunches versus public stances
Science is not supposed to run on anecdote and emotion, "but ... In AI/cognitive science, that is what we all run on". Papers are dressed "in fancy, starched clothes", but "90 percent of what is going on is intuition". Enter any paper's unspoken framework and it looks tight and consistent, with only nitpicks to raise; only by stepping back does one see the tacit picture where the real disagreements lie, and authors seldom see, let alone state, their assumptions. Public debates between camps pass "like ships in the night". One might expect cognitive scientists, of all people, to hear beneath others' words, yet the field slides between meanings of "structure, process, concept, representation, schema, frame, semantics, analogy, syntax, prototype, context, symbol, rule, feature, model, pattern, imagery, meaning", makes sloppy analogies and draws incomprehensible diagrams behind a façade of tables and graphs that "is never lowered".
Mind Wars: SDI by analogy. Nearly a decade earlier, the debate over Reagan's Strategic Defense Initiative ("Star Wars") was conducted in throw-weights, interceptor velocities, particle beams, X-ray lasers, kinetic-energy weapons, fault-tolerant computing, electromagnetic pulses and silo hardening. Hofstadter, a non-expert, wrote a Newsweek "My Turn" column (1986) using childlike analogies: an infallible missile shield is like a crashproof airplane, impossible when someone "just as smart as you" is "doing their damnedest to make your plane crash". The Soviets would be a moving target: hundreds of decoys per missile, spies, bugs inserted in code. Can a frozen immune system fend off all future invaders, when evolution probes every chink? Outcome: against a general "flipping through one fancy graph after another" he would have "gone down in smoke and flames", but the true arguments lay at a "down-to-earth, even nonverbal" level where a search for good analogies, not chains of logic, finds the essence.
At 9 A.M. The next morning the President must decide. What does he do? He must call on intuition.
So too in cognitive science: research rests on intuitions hard to articulate "(and don't even think of trying to defend them rigorously!)". The field is "still searching for its foundations", and Hofstadter offers these "confessions" in hope of prompting candid self-examination.
CRITICAL LENS. Hofstadter's rejection of averaged human data is strongest for esthetic judgment and weakest where FARG itself relies on "most people" (criteria 3–7 appeal to majority intuitions, gathered informally from friends, a small and unrepresentative sample). His lesion results confirmed expectations, which also means they could not surprise; a validation regime with no possible negative outcome is weak evidence. And reading Soar through its index is a witty terraced scan but not a refutation: Soar's chunking and later semantic and episodic memories address learning and categorisation, even if not Hofstadter's fluid concepts.
The evaluation problem is now the industry's problem. Lenat's twenty-year forecast (made around 1993) failed for CYC; Lenat died in 2023 with CYC still a niche knowledge base, while the systems that now converse fluently learned from text rather than hand-coded predicates. The annual Boston "Turing Test" was the Loebner Prize, a contest that lapsed after 2019. Hofstadter's alternatives map directly onto modern practice: ablation studies are his lesioning (criterion 11); perturbation and counterfactual test sets are criterion 9; checking reasoning traces for plausible pathways is criterion 10. His warning about averaging also applies: a benchmark mean can hide that a model has no consistent style at all, and a single headline number cannot tell you whether answers came from insight or from "canned" memorisation, the bulk-and-probing question he raised in 1995.
Douglas Hofstadter and Robert French describe the working Tabletop program, which plays Eliza on a café table and treats analogy-making as an automatic by-product of high-level perception. Its Slipnet of 47 concepts, its Workspace of groups and correspondences, its urgency-driven codelets and its Worldview scored by a structure-value produce a stochastic "personality" that is revealed only statistically, over 50 runs per problem across three families of six problems: Surround, Blockage and Buridan. The most frequent answer and the best-structured answer often differ, because deep perceptions are hard to find and surface glitter is easy; the parallel stochastic architecture is not always seduced by the glitter, and that is its virtue.
Cognitive generality in a mundane microdomain
Tabletop does not seek analogies between political crises, scientific phenomena or plots; it works in a restricted everyday domain, simple place settings on a small table. Its premise: analogy-making is "not a fancy add-on to basic cognition" but "a standard feature", an automatic by-product of high-level perception. The program scans a table, builds representations, and "analogies simply fall out". The domain sits between the purely perceptual and the purely abstract, which helps show that perception and analogy are inseparable.
Henry touches an object and says "Do this!"; the program plays Eliza and "touches" by selecting. The literal-sameness option (touch Henry's very object) is always available; usually pressures make some other object more appealing. If both have coffee cups, most people see them as counterparts and Eliza touches her cup. Change Eliza's cup to a glass: positions still match, categories do not, but cup and glass are close, so her glass probably still wins. Make it a fork and counterparthood fades enough that she may revert to Henry's cup.
Pressures that can influence Eliza's choice
- The nature and location of the object Henry touched.
- The category memberships of other objects.
- The physical locations of objects.
- The "ownership" of objects.
- The orientations of objects.
- The sizes of objects.
- Common functional associations (cups with saucers, knives with forks): categories are "deeply interdependent, overlapping structures whose identities are mutually determined".
- Perceptual groupings on one or more hierarchical levels.
Groupings matter enormously, and depend on both physical and conceptual proximity. With a handful of objects there are hundreds of possible groupings, far more once chunks nest inside chunks, as human perception routinely does. Efficiency and, above all, cognitive plausibility rule out brute force: Tabletop "does not routinely invoke all possible pressures"; a limited set of context-dependent pressures emerges, to different degrees, as the situation is processed. The central challenge is modelling how a situation selectively evokes many unrelated pressures whose interaction yields structures from simple importance judgments up to "the most complex structural analogies". The program should be judged on its mimicry of humans (they ran some experiments) but "even more so" on general principles meant for any domain, as Copycat's similar architecture works in an unrelated one.
High-level perception in Tabletop
The program does not model vision from the ground up. A user drags stylised icons on a screen; each object's coordinates, orientation and category, plus which object Henry touched, form the raw input. Low-level object perception is bypassed; plenty of high-level perception remains.
What "high-level perception" means in Tabletop (largely concurrent)
- Labelling objects by surface attributes: size, sharpness, open versus closed, liquid-holder, food-holder, receptacle.
- Further labelling by relations and groupings: neighbours, functional associations, relative sizes and orientations, position inside a group, position relative to salient objects.
- Building groups hierarchically, on the basis of physical proximity, conceptual proximity of descriptions, structural similarity of subgroups, and prior existence of similar groups.
- Building correspondences (tentative counterpart links), on the basis of corresponding positions, conceptual proximity, structural similarity (for groups), and prior existence of similar correspondences.
- Assigning a time-varying salience to each item (object, group, correspondence).
- Assigning a time-varying strength to each group and correspondence.
- Competition among rival structures, pruning the weaker and the incoherent.
All these create, destroy or modify temporary structures in the Workspace, a short-term perceptual memory. Complementing it is the Slipnet, long-term memory of permanent nodes and links; each node is a concept's nucleus and its nearby nodes its halo. It stores proximities, activations (perceived relevance) and preassigned depths (abstraction and generality).
The 47 concepts of Tabletop's Slipnet
- Objects: fork, knife, spoon, cup, saucer, plate, big glass, small glass, receptacle, salt shaker, pepper shaker, soup bowl.
- Object classes and properties: silverware, crockery, liquid holder, food holder, sharp object, open object, closed object, object-that-goes-in-mouth, object-that-is-eaten-from.
- Relations: used-together, neighbor, bigger than, smaller than, similar-shape.
- Grouping and number: group, number, one, two, three, many.
- Space and direction: above, below, horizontal, vertical, left, right, direction, position, middle, end.
- Abstract: symmetry, diagonal symmetry, mirror symmetry, same, opposite.
Nothing about this list is sacrosanct; adding concepts needs no architectural change. During a run nothing is built or destroyed in the Slipnet, but four activities go on: a jolt of activation when an instance is perceived; decay at a rate set by depth; spreading to neighbours gated by proximity; and adjustment of distances according to key concepts' activations (depths never change).
The whole is deeply parallel and probabilistic: biased decisions are made quickly with a random-number generator, the biases constantly changing.
Structures, strengths and fights for survival
Correspondences (Copycat's "bridges") are the bricks of analogies. One between two objects is likely if their categories are identical or close in the Slipnet; a forgiven mismatch is a conceptual slippage, which comes in types (look alike, similar function, used together). Mirror-image or diagonally opposite positions help; for groups, similar members or similar abstract structure help. A correspondence stores the reasons for its view of counterparthood.
Each correspondence gets a strength, the program's "comfort" in equating two unequal items, constantly re-evaluated: a similar new correspondence nearby strengthens it; a very different one next to it weakens it. When a rival is proposed the two fight, and "the greater the discrepancy between their strengths, the more likely the stronger one is to win". Groups likewise have strengths depending on physical dimensions, number of items, uniformity of composition, distance between items and prior existence of similar groups; incompatible groups (claiming the same items) fight too. Perception is "a rough-and-tumble contest among conflicting interpretations", ending, hopefully, in a strong mutually reinforcing global structure.
The ambiguity of slippage. A slippage makes an analogy weaker than identity would; yet discrepancies are what make an analogy "interesting, subtle, and intellectually powerful". Every crisp analogy contains some slippage, but not too much, or it turns sloppy. Sometimes two parallel slippages of the same type beat one, because they reinforce each other (the Buridan dilemmas show it). So analogy quality cannot be measured by counting slippages or summing their distances; finding the balance point "is a perceptual act deeply rooted in esthetics", requiring an architecture built for unanticipatable, interacting pressures.
Codelets, interleaving and the terraced scan
Each perceptual activity is a sequence of small, independent codelets. Building a group is an escalating series of micro-tests (physical and conceptual distances, compatibility with existing groups); a failed test aborts the group, success clears the way to the next, and a final codelet creates it. Codelets from all over the table are interleaved stochastically: a test of a potential group on Eliza's side, then a label proposed on Henry's side, then another test of Eliza's group, then a correspondence check elsewhere. Large structures thus emerge in parallel and, because the processes influence each other, tend to form coherent sets.
Tabletop runs on a serial computer; its parallelism is effective, like time-sharing on a mainframe, since the meaningful activities span many codelets.
Perceptual inegalitarianism. Unbiased codelet choice would give all activities the same speed. Instead Tabletop speeds promising avenues and slows dull ones: the parallel terraced scan, first developed in Jumbo. Objects and areas are perceptually "hot" or "cool", dynamically.
What makes an item salient
- Its location relative to the touched object.
- Its conceptual proximity to the touched object.
- The current activation of its category.
- Being a group rather than a primitive object.
- For a group, its size and type.
- For an item inside a group, its position in the group.
- Prior perception of items with similar attributes.
- Already having a counterpart.
Correspondence strengths also shape an area's attractiveness. Each codelet gets an urgency, effectively its probability of running next, set by the type of action, its location, the items involved and their strengths and saliences. Chains of high-urgency codelets are accelerated, low-urgency chains slowed, so structures emerge at speeds matched to the program's estimate of their significance.
import random
# Urgency-biased attention in a Tabletop-like world (cf. Figures IX-1d and IX-1f)
PLATOBET = {("cup", "glass"): 0.8, ("cup", "saucer"): 0.6, ("fork", "spoon"): 0.6,
("fork", "knife"): 0.7, ("knife", "spoon"): 0.3}
def proximity(a, b):
return 1.0 if a == b else PLATOBET.get((a, b), PLATOBET.get((b, a), 0.1))
def salience(obj, touched):
(x, y), (tx, ty) = obj["pos"], touched["pos"]
across = abs(x - (1 - tx)) < 0.25 and abs(y - (1 - ty)) < 0.25 # diagonal corner
mirror = abs(x - tx) < 0.25 and abs(y - (1 - ty)) < 0.25 # straight across
near = abs(x - tx) + abs(y - ty) < 0.3 # neighbourhood
s = 1 + 4 * across + 2 * mirror + 2 * near
return s * (0.3 + proximity(obj["cat"], touched["cat"])) * (1.5 if obj["grouped"] else 1)
def attention(table, touched, codelets=2000, seed=0):
rng, looks = random.Random(seed), {o["id"]: 0 for o in table}
urg = [salience(o, touched) for o in table] # urgency of codelets about o
for _ in range(codelets):
looks[rng.choices(table, weights=urg)[0]["id"]] += 1
return looks
H = {"id": "H-cup", "cat": "cup", "pos": (0.1, 0.1), "grouped": True}
core = [H, {"id": "E-glass", "cat": "glass", "pos": (0.1, 0.9), "grouped": True},
{"id": "E-cup", "cat": "cup", "pos": (0.9, 0.9), "grouped": False}]
noise = [{"id": f"mid-{c}", "cat": c, "pos": (0.5, 0.5), "grouped": True}
for c in ("knife", "knife", "fork", "fork", "spoon", "cup")]
for name, table in (("IX-1d (no distractions)", core), ("IX-1f (+6 distractions)", core + noise)):
looks = attention(table, H)
mid = [v for k, v in looks.items() if k.startswith("mid")]
per_core = sum(looks[o["id"]] for o in core) / len(core) / 2000
per_mid = (sum(mid) / len(mid) / 2000) if mid else 0
print(f"{name:25} each key object {per_core:.0%} of looks, each distractor {per_mid:.0%}")
The sketch shows the mechanism behind Figure IX-1f: six distractors in a priori unlikely places each draw only a small share of codelet attention, so the key objects still get most of the looks. In the real program, as here, nothing forbids looking at the middle of the table; it is simply rarely urgent.
The gradual emergence of coherence
At the start the program's only interest is the touched object, its nature and location. The input data are not what the program "knows" but the physical situation itself, "something like retinal information"; like a creature in a rich visual world it ignores all but the salient. The first codelets, inspired by the touch, are scouts: some look directly across the table, some diagonally across, some in the touched object's neighbourhood, finding what is in interesting areas, what neighbours interesting objects, what might be grouped, what resembles what. The "diffuse searchlight of attention" wanders "in a semi-purposive manner", never in a systematic sweep from corner to corner, so some areas may be left almost unexplored. Interesting neighbourhoods fill up first, relations and groups appear there earliest, and once a group exists the program looks for similar groups elsewhere: bottom-up observations engender top-down searches. There is no sharp line between the two; every bias (salience, strength, urgency, attractiveness) is computed by formulas mixing both kinds of pressure (given in French's 1995 book).
Tabletop gauges its own progress
A coherent set of structures, the Worldview, gradually emerges; some are rich, some sparse, some coherent, some jumbled. Tabletop must always sense how well it is doing, so it maintains the structure-value: essentially the sum of the strengths of the Worldview's structures, with penalties for incoherence (two or more correspondences leaving one group for unrelated destinations) and rewards when correspondences link two groups element by element, or when several rest on the same type of slippage. At the end of a run it doubles as a quality measure, "how well it 'likes' the answer". Maximising it is opposed by time pressure.
A mapping is just a global perceptual structure, a family of mutually compatible correspondences, and a mapping is an analogy: "analogies represent the highest (most abstract, most global) level of perception". So Tabletop is fairly called a model of high-level vision: not all of vision, but "vision's high end", where it meets concepts.
How Tabletop's domain differs from Copycat's
| Aspect | Copycat | Tabletop |
|---|---|---|
| Flavour of problems | symmetry, uniformity, near-mathematical patterns; crisp "rightness" | "mushier", vaguer; elegance rarer, by design (real café tables) |
| Two situations? | always two disjoint strings | one table, two viewpoints; any dividing "membrane" is permeable: either party may reach across |
| Concept repertoire | the alphabet: a crystalline chain of 26 concepts | the Platobet: fork, knife, spoon with no order and asymmetric associations; a hodgepodge like many real arenas |
| Answer | a transformation of a string | a single touch, so fewer plausible answers (picking up, turning, placing would be a Copycat-like extension) |
| Grouping basis | uniformity of bonds (sameness, successorship); no punctuation | empty space: sheer proximity can justify a proximity group |
| Group-building order | inside out | outside in, inside out, or mixed; groups built before members are inspected ("what fish it has caught in its net") |
| Losers of fights | destroyed | demoted from the Worldview, kept in the Workspace |
Carving situations. Tabletop's openness about where one situation ends "is typical of real life, where situations do not come crisply and neatly packaged" but must be carved out by perceivers, who may carve differently. Many attractive Copycat problems involve proximity groups too, but they were beyond its implementation.
The shadow cabinet. Tabletop's Worldview holds the best mutually compatible structures (no overlapping groups, at most one counterpart per object); the rest of the Workspace may hold unorganised fragments. When a fight is lost the loser is merely removed from the Worldview. Outcome: if an upheaval uproots the dominant view, rival structures are already lying around, "a 'shadow cabinet' (or ... Fragments of any number of them)" ready to grab power, while Copycat must regenerate old ideas "ab ovo". There is a time-symmetry: structures are promoted gradually through graded micro-tests, so a loser should be demoted gently, not "court-martialed" and sent "mercilessly to Siberia".
Tabletop's personality as a statistically emergent phenomenon
Being stochastic, Tabletop takes different paths and gives different answers on different runs, so its character shows only across many runs of many problems, especially tightly related families whose variants shift human preferences. The authors had tuned mechanisms by watching single runs for years, but had "no idea" what preference patterns would emerge statistically, or how they would move across variants: gathering such statistics was "a critical moment in the project". Each problem was run 50 times, recording the answer, the final structure-value and the run-length in codelets.
Frequency versus structure. The most interesting cases are those where the most frequent answer is not the one with the highest structure-value. That is not a defect: "deep perceptions are often hard to discover; it is easy to be distracted by routes having more surface appeal." Measured by frequency Tabletop often prefers superficial but plausible answers; measured by structure it prefers deep ones; and its parallel stochastic scan lets it sometimes find the deeper vision.
The Surround family (Henry touches his cup)
| Problem | Setup | Eliza's glass (E1) | Eliza's cup (E2) |
|---|---|---|---|
| 1a | base case: glass straight across, cup diagonally opposite | 5% (SV 58, 52 codelets) | 95% (SV 89, 50) |
| 1b | dissimilar proximity groups around Henry's cup and Eliza's glass | 10% (98, 68) | 90% (83, 50) |
| 1c | cup + spoon-pair versus glass + spoon-pair | 45% (186, 64) | 55% (107, 56) |
| 1d | matching groups with identical subgroups (forks, knife, spoons) | 86% (253, 107) | 14% (154, 85) |
| 1e | Eliza's glass replaced by a plate | plate 10% (214, 204) | 90% (151, 102) |
| 1f | 1d plus six distractors mid-table | 82% (242, 91) | 18% (148, 127) |
- 1a. Only category and position matter. Category identity beats proximity; and since people seek a corner object's counterpart in the diagonally opposite corner rather than the mirror-image one, that bias was built in. Both favour the cup.
- 1b. People "effortlessly" see two proximity groups, though they share little; mere membership in groups nudges glass-for-cup to 10%.
- 1c. Groups map as wholes and their spoon-pair subgroups map strongly; frequency 55/45 favours the cup but structure favours the glass: a case where "highest frequency and best structure disagree".
- 1d. Why ever pick Eliza's cup (14%)? Sometimes the mappings are not built; rarely they are built and stochastically ignored. People do the same: in a survey, some subjects drew lines linking the spoon-groups, the fork-groups and the knives, then ignored all their lines and chose Eliza's cup.
- 1e. A conceptually remote plate restores the cup to 90%, yet the plate answer's structure-value stays over 40 percent higher (214 versus 151).
- 1f. Six distractors more than double the theoretically possible correspondences but barely change answers or run-lengths: Tabletop "essentially ignores objects in unlikely locations" (it does look there when preferred regions are empty).
The Blockage family (Henry touches his cup)
| Problem | Setup | Eliza's glass(es) | Henry's cup (literal) |
|---|---|---|---|
| 2a | Eliza's glass straight across, no blockage | 100% (SV 66, 67) | 0% |
| 2b | lone glass added on Henry's far side | 88% (71, 106) | 12% (94, 158) |
| 2c | glass pair on Eliza's side; spoon + glass on Henry's | 80% (64, 125) | 20% (88, 179) |
| 2d | Henry's group now cup + glass | 58% (58, 95) | 42% (144, 190) |
| 2e | glass pair on both sides: the turning point | 22% (57, 66) | 78% (177, 94) |
| 2f | Henry's two glasses pulled apart | 80% (81, 130) | 20% (165, 124) |
- 2b. The added glass forms no group, so one might expect no effect; but identical distant glasses invite a correspondence, a weak structure that blocks Eliza's glass (it cannot be counterpart to both Henry's glass and his cup). 40 percent of human subjects saw the glasses as counterparts (French, 1992). Tabletop does so 12% of the time; that answer's structure-value is 30 percent higher and its runs about 50 percent longer: "answers involving deeper perception should take longer to find."
- 2c. Eliza's identical glasses almost always group; Henry's spoon + glass less often ("spoon" and "glass" are distant); when both groups and a diagonal correspondence are built, it "usurps" both of Eliza's glasses.
- 2d. Cup and glass are close, so Henry's group is stronger, the diagonal correspondence stronger, and Henry's cup is chosen more than twice as often. Mapping Eliza's grouped glasses onto unrelated objects would "disrespect their unity"; when Tabletop does it anyway the structure-value suffers.
- 2e. Both glass-glass groups and their correspondence are so strong that Tabletop will not break them: Henry's cup 78% (human subjects: 66%, French and Hofstadter, 1991); better structure, about 40 percent longer runs.
- 2f. Separate Henry's glasses and they stop being a group; no group-group correspondence, so blockage falls to 20%. Two parallel diagonal glass-glass mappings remain possible but would split Eliza's group: the program prefers correspondences from one group to end in one group.
The Buridan family (Henry touches his spoon, next to a pair of cups)
| Problem | Setup (Eliza's side) | Eliza's spoon (E1) | E2 |
|---|---|---|---|
| 3a | a lone spoon and a lone fork: unequal "bales" | 100% (65, 85) | fork 0% |
| 3b | fork now beside a cup | 94% (57, 84) | fork 6% (199, 93) |
| 3c | spoon beside a glass pair; fork beside a cup pair | 50% (246, 86) | fork 50% (280, 75) |
| 3d | spoon beside a cup + glass | 52% (122, 89) | fork 48% (279, 113) |
| 3e | as 3d but E2 is a spoon beside a glass pair | 40% (138, 96) | spoon 60% (237, 83) |
| 3f | spoon beside a salt shaker + glass; fork beside a cup pair | 40% (75, 77) | fork 60% (277, 88) |
The family is named for Buridan's ass, starving between two equidistant bales of hay.
- 3b. Choosing the fork requires two parallel correspondences (cup-cup and spoon-fork), hence high structure; the spoon is reached either by one spoon-spoon correspondence (low structure) or by an incoherent pair (spoon-spoon plus cup-cup heading off in unrelated directions), which Tabletop "dislikes". Candidly, the authors raised the parameter controlling that dislike for the whole family so that 3c would come out at exactly 50-50.
- 3c. The fork answer always has the same reason (fork ≈ spoon, cup-pair maps strongly onto cup-pair); the spoon answer has three: bare spoon-spoon identity (rare), spoon-spoon plus a parallel cup-pair to glass-pair mapping (strong), or spoon-spoon plus an incoherent cup-group mapping (seldom).
- 3d. A second-order Buridan dilemma. Turning one of the spoon's glasses into a cup makes its group "more like" Henry's at the object level, but a similar-category group is weaker than a same-category one and maps weakly onto Henry's same-category cup-pair. Tabletop prefers group-level mappings, so it weighs a flawed group-group mapping against two strong object-object ones (cup-glass, cup-cup); "the two effects canceled each other out almost perfectly".
- 3e. Remove the silverware discrepancy and the purer dilemma shows that "attraction to abstract mappings, even if they are a bit weak, is stronger than its attraction to object-level mappings."
- 3f. A salt shaker is remote from a cup and hard to group with a glass, yet the spoon is still chosen 40% of the time on the "simple-minded argument that if Henry touched a spoon, so should Eliza", with a correspondingly low structure-value (75 versus 277).
The performance terrain
Families of variants map out a surface of preferences over the space of problems, each dimension roughly a pressure: ridges where preference switches (2e is one), peaks and valleys of stable likes and dislikes. Comparing these qualitatively with their own preferences and with experimental subjects (reported in French, 1995), the authors judge that the program "did quite a creditable job" of simulating a typical human Eliza, and invite readers to judge the graphs. But they repeat that it should be judged mainly on architecture: analogy as a by-product of high-level perception, realised by mutually influencing parallel processes guided by pressures that emerge from the situation.
CRITICAL LENS. The evidence is thin by later standards: 50 runs per problem gives a 95 percent margin of roughly ±14 points near 50%, so "precisely" 50-50 in 3c and "canceled out almost perfectly" in 3d (52-48) are within noise; and the authors tuned a parameter specifically to make 3c a 50-50 split, which turns one "result" into a calibration. Some claims also sit loosely on the numbers: in 1f run-lengths are called "quite similar" to 1d though the cup answer rose from 85 to 127 codelets, and in 2f the better-structured answer was found slightly faster (124 versus 130), against the "deeper takes longer" pattern stressed elsewhere. Human comparisons are cited (40% in 2b, 66% in 2e) but the full human data sit in French's book.
Tabletop's ideas in current systems. Its structure-value, a running self-assessment that becomes an answer's confidence, anticipates verifier and reward-model scoring of candidate answers; its finding that frequent ≠ best is exactly why modern systems sample many outputs and rerank rather than trusting the most likely one. The shadow cabinet is a sound engineering pattern too: keeping runner-up hypotheses (beam search, alternative retrieval candidates, a fallback plan in an agent) makes recovery from an upset cheap. French's own book on the project, The Subtlety of Sameness (1995), and his later work on catastrophic forgetting in neural networks show the FARG line feeding directly into connectionist research rather than only opposing it.
Hofstadter traces Letter Spirit to a lifelong "letter mania": childhood scripts, Italian shop signs that toyed with legibility, hundreds of invented alphabets, and finally a grid of stick letters on which artistic style could be studied without infinite complexity. A MacPaint binge of about 400 gridfonts in eighteen months taught him, by watching himself, what the challenge really was; only around 1990, prodded by Gary McGraw, did the program begin. The crux of letter design is insinuating one uniform kind of weirdness into all 26 letters, a constant interplay between meta-level ideas about style and the tiniest decisions about shapes.
Infected with letter mania
From earliest childhood Hofstadter loved the shapes of letters: mastering the alphabet, printing names, the swirls of cursive, books on the evolution of letters, the grace and quirks of friends' handwriting. Then came other writing systems: Chinese first, then a book with samples of dozens of scripts. He studied several, including three from India and Sri Lanka (Hindi, Tamil and Sinhalese), well enough to transcribe and pronounce words. A teenage drawing binge of nonrepresentational patterns full of letterforms led to an Indian-like writing system of his own and, more importantly, to dissecting our 26 letters and reassembling them "in outlandish, daring, swashbuckling fashions".
The Italian masters. Advertisers' games influenced him, but above all the letterforms on European posters, billboards and shop signs. Italians seemed to have a unique flair: letters "at the very fringes of legibility", not by bumbling but knowingly, "sophisticated and professional innovation at the highest levels of visual creativity", "deliberately tampering dangerously with the conceptual essence of each letter". In homage to these anonymous masters of "letterature", he designed alphabet after alphabet, each weirder than the last, though never graceless or messy.
The uniformity problem. Isolated letters are of limited interest; what matters is full words and, better, complete alphabets, which means "insinuating a uniform type of weirdness into all 26 letters". Hofstadter designed hundreds of hand-drawn styles, combining "gracefulness, funkiness, sassiness, sauciness, silliness, softness, pointiness, hollowness, curviness, jaggedness, roundness, smoothness, complexity, austerity, irregularity, angularity, symmetry, asymmetry, minimality, redundancy, ornamentation, and countless other indefinable parameters". Successes and flops alike added "a small, intangible something" to his sense of style. To outsiders it looked "mysterious and pointless", but "I had a stable inner compass".
Over the years his taste widened from wild display faces to the book faces he had once scorned as stodgy: Baskerville, Palatino, Goudy, Tiffany, Americana, Optima, Melior, Times, Garamond, Bodoni, Benguiat, Korinna, Souvenir, Cheltenham, Novarese became "a new Passion".
From real letters to stick letters
1979 Hofstadter and Scott Kim laugh at the "ridiculous idea" of a computer making artistic alphabetic explorations of its own.
1980–81 Over a year of experiments settles the Letter Spirit grid; an architecture is sketched, borrowing from his Bongard-problem ideas in Gödel, Escher, Bach (Chapter 19): parallel, perception-based, with overlapping, mutually slippable concepts. "Premature" for its time.
1984 In April he buys his first Macintosh; MacPaint's tools for vertical, horizontal and 45-degree lines and its grid constraint seem made for the project. His first full gridfont.
1984–85 About eighteen months and 400 or so gridfonts of "gridfont-mania", day and night.
mid-1980s Implementation still too early: Mitchell has just begun Copycat; Tabletop not yet dreamt of; Jumbo exists; Marsha Meredith's Seek-Whence nearly finished; Daniel Defays's Numbo about to be born.
c. 1990 New student Gary McGraw keeps agitating to tackle Letter Spirit until Hofstadter agrees ("If not now, then when?"); planning at the Runcible Spoon; McGraw starts implementing; a grant proposal becomes Chapter 10.
The key move was to study style among "stick letters" rather than real letters "in their full curvilinear glory", keeping almost all the interest while shedding irrelevancies. Everything depended on a grid "of just the right size and type": rich enough for great variety, small enough that perceiving and judging letters was "less than infinitely daunting". Letter Spirit "kept tugging at me and yet being put on the back burner", "a frustrating tug-of-war": nothing fascinated him more, as an exploration of "the very core of creativity", "yet I was frightened by it".
Possessed. With MacPaint "an inner demon ... Started releasing pent-up ideas by the millions". Why would "a grown man (a professor of computer science, at that)" spend every waking moment inventing "sillier and sillier ways to make little dinky letters of the alphabet out of nothing but sticks", trivia to "99.9 percent of the people in the world"? "I was possessed. It was out of my control."
Normalcy. Emerging "to a semblance of normalcy" suggested yet another gridfont: Normalcy, an alphabet made solely of diagonal segments into which one very normal c of horizontals and verticals is inserted. The questions it poses: what does "uniformity" mean? If he simply declares the set a style, is it one? What if the great Italian designer Aldo Novarese declared it? What if several letters broke the rule, or half? Can two conventional styles blend so smoothly no eyebrows rise? Are deliberately jarring styles less legitimate? Outcome: a "self-negating 'style'" that plays "at a meta-level with the very notion of style itself", and the clearest lesson of the binge: the interplay between "high-flown meta-level considerations" about style and "the most tiny, specific considerations about shapes".
Through "many, many thousands of small interrelated decisions", watched "with an eye to uncovering the mysteries of the creative process", the seemingly self-indulgent months of letterplay became "an invaluable contribution to my research". After more than a decade's wait Letter Spirit was "finally taking wing": still ill-defined, "the most ambitious effort so far undertaken in my research group".
From a 1979 joke to a product category. A computer that designs a whole alphabet in a consistent style is now routine research: neural models learn a font's style from a handful of glyphs and generate the rest, and variable fonts (OpenType 1.8, 2016) encode a style as continuous axes such as weight and width, a little like Hofstadter's "indefinable parameters" made definable. What remains open is his harder target: not interpolating inside a learned style space but inventing a new, coherent style, and judging whether a deliberately jarring one like Normalcy is a style at all.
Douglas Hofstadter and Gary McGraw set out FARG's most ambitious project: a program that, given one or a few seed letters on a 3-by-7 grid, designs the remaining lowercase letters so that all 26 share one spirit. Letters are treated not as shapes but as concepts built from roles and r-roles; style lives in norm-violations, motifs, abstract rules and their levels of enforcement; and creation is a central feedback loop among four emergent agents, the Imaginer, Drafter, Examiner and Abstractor, working over four memories. "Letter" and "spirit" are orthogonal categories, both abstractions rather than shapes, so a full model of how people read letters would already have to be a full model of how they perceive style. The chapter also demolishes two rivals, the decoration-plugging DAFFODIL and the backpropagation network GridFont, as creativity without autonomy or time.
The goal of a sense of deep style
Letter Spirit rests on the belief that creativity is an automatic outcome of sufficiently flexible, context-sensitive concepts, fluid concepts, so the aim is a model of them in a demanding domain, needing several dynamic memories and an "intimate mixture of bottom-up and top-down processing". The specific act modelled is artistic letter design: how the 26 lowercase roman letters can be rendered in many different but internally coherent styles. Starting from one or more seeds, the program should create the rest of the alphabet in the same style, or spirit.
As an idea it dates to 1980; as a program, in 1995, it was "in its infancy" ("a skeptic might ... Say that it exists only 'in fancy'"): beginning to recognise letters, far from creating any.
Hasn't that already been done? Metafont
Listeners often ask whether Donald Knuth's Metafont (1982) already does this. Metafont lets a human design parametrised letters and letter-parts and so produce whole alphabets (roman, Greek, Hebrew, Hindi, Japanese) uniformly, but every design decision is the user's: to make "h" from "n" by lengthening the left post, the user must say so, since the program has no idea of "h" or "n". "Metafont no more designs letters than a word processor composes poems or a piano composes waltzes." Knuth never claimed otherwise; the misconception comes from a nodding acquaintance.
"Don't know anything about what they are doing." Most programs mistaken for models of creativity fail in two senses: (1) no knowledge of the domain; (2) no internal representation of their own actions and no awareness of their products. Either gap is a serious defect in anything purporting to model creativity.
A non-creative model of letter design: DAFFODIL
The "quintessential (though little-known)" example is DAFFODIL (Nanard et al., 1989), which many people would take as having already met Letter Spirit's goals (whether its designers meant it as a creativity model is unclear). It combines three inputs:
- 26 backbones, one per capital letter: not shapes but immutable descriptions in a dozen or so a priori stroke-types ("horizontal segment", "vertical segment", "left arc"...).
- Decorations: rigid graphical shapes made by a human, usually ornate.
- A mapping from stroke-types to decorations.
It then performs a systematic stroke-to-decoration substitution over all 26 backbones, and "a new typeface has apparently been 'created'".
Why DAFFODIL is not creative (the six charges)
- It tacitly assumes style is surface rendering, not manipulation of abstract concepts behind the scenes.
- Its backbones are human-designed and fixed: creativity at this deep level is external.
- Its knowledge of each Platonic letter is impoverished, with no knowledge of how letters interrelate beyond shared stroke-types.
- Its decorations are human-designed and fixed: creativity at the shallow level is external too.
- It makes no decisions: it plugs in decorations, occasionally asking a human for approval.
- It cannot perceive or judge its output: whether a shape looks like an "A", is attractive or ugly, or fits the other letters.
"Taken together, they pretty much destroy any claims that might be made for it." The point is not mean-spirited but diagnostic.
True creativity implies autonomy
Requirements for a design program to be called creative
- It must make its own decisions, not carry out decisions already made, directly or indirectly, by a human.
- Its knowledge must be rich: each concept a nontrivial category with flexible membership criteria, and many explicit connections among concepts.
- Its concepts and interrelations must be flexible and context-dependent, not static.
- It must experiment and explore at a deep conceptual level, not a shallow surface level.
- It must perceive and judge its own tentative output, accepting, rejecting or proposing improvements.
- It must converge gradually through a continual interleaving of suggestions from one part of the system and judgments from another.
The philosophically controversial first point ("What would it mean for a program to make its own decisions?") is, the authors argue, answered by the other five together. Letter Spirit tries to model them all, rudimentarily, with nondeterminism, parallelism and their consequence, statistical emergence.
Letters as rich, full-fledged concepts
The question behind every FARG project, "What are the mechanisms underlying the fluidity of human concepts?", becomes here a quest for "the essence of the letter 'a'". Most people think "a" is a shape. Figure X-2 refutes it.
The concept "a" marries two smaller ideas: (1) an umbrella-handle or lamppost whose bent part is at the top, drooping left, with the straight part descending to the baseline; (2) a small pipe-bowl or "c"-like entity on the baseline, open on its right, nestled to the left of the first. These components are roles: not shapes but ideas of what the drawn shapes should be like, their acceptable bounds and how they fit. (Psychological evidence for roles: McGraw, Rehling and Goldstone, 1994; related ideas in Blesser et al., 1973.)
Four conceptual levels of a letter
- Letter-concept: the abstract, shapeless Platonic letter. "A", "a" and the single-storey "ɑ" are three letter-concepts, as distinct as "a", "b" and "c", because their shapes barely overlap.
- Letter-conceptualization: a breakdown into particular roles. "b" may be a post attached in two spots to a left-facing open bowl on the baseline, or a post attached at one spot to a closed loop. Choosing or inventing a conceptualization (by dissecting and recombining roles) is "a decision at the very deepest level of style".
- Letter-plan: a conceptualization with details of how each role is realised (tall or short post? Fat or thin, round or square bowl? High or low crossbar?): still purely mental, infinitely realisable, still fairly deep style.
- Letterform: the actual graphic shape on paper.
Wholes and roles: the two "x"s
Egward and Egbert. For most people schooled in the United States, "x" has one conceptualization: a forward slash and a backward slash of equal size crossing near the middle (a set of ideas, not a picture), unchanged by learning cursive. English schoolchildren learn the cursive "x" as two small crescents facing away from each other and "kissing" in the middle. Look at a printed "x" that way and a new conceptualization strikes you; the shape has not changed, but the vision of "x"-ness now suggests things about other letters too. Identical twins separated at birth on opposite sides of the Atlantic would see the same "x" differently.
Besides slashes or crescents, "x"-ness needs the four tips and the crossing-point (or kissing-point): inter-role relational structures, called r-roles, as important as roles. A strong post to the left of a strong loop can still make a bad "b" if they do not touch: it reads as "lo".
Category membership is decided below the letter. The internal structure of a category is a collection of roles and r-roles, and whole-letter membership is determined by membership at that lower level. Each role has an importance to its letter; graphic items fill a role more or less strongly; roles are themselves concepts with nebulous boundaries. But role membership is easier to characterise than whole-letter membership, so reducing wholes to interacting roles simplifies (compare Palmer, 1977, and Hearsay-II's Erman et al., 1980).
How roles and style connect
- Deepest level: choosing the conceptualization, which set of roles to instantiate. Here "roles are essentially all there is to style", and, turned around, "all there is to a letter".
- Medium-deep level: how roles are filled, which is to say how norms are violated. The role crossbar (default in "e", "f", "t") admits violations like "crossbar too high", "tilted upwards", "unusually short", "missing". Any such violation is a stylistic hallmark to be propagated by analogy to other letters, even to letters lacking a crossbar: realise some role "analogically close" to crossbar in an unusually high way, as long as the letter stays recognisable.
Incentric (centripetal) force: letter-category pressure, concerning only the letter at hand, pulling the shape toward the centre of its category so it is a strong instance.
Eccentric (centrifugal) force: stylistic pressure, concerning the whole alphabet, pushing the shape away from the centre so it fits the style. Modelling their constant battle "lies at the heart of the Letter Spirit project".
Letter and spirit as orthogonal categories
Character recognition and handwriting reading abound, but AI has seldom treated letters as concepts; most work assumes every "a" is a variant of one underlying shape (e.g. McClelland and Rumelhart, 1981; Hinton, Williams and Revow, 1992), ignoring what "a"-ness is. Harder still: how are the letters of one style related? Given an "a", how do you make an "e", a "k", or an aleph, an alpha, or the Chinese character for "black" in the same style? Stylistic qualities "cannot usually be directly transferred"; they must be slipped into variants that fit the new letter's framework.
Letter Spirit addresses both categorical sameness (one letter across styles: "a" in Baskerville, Palatino, Helvetica) and stylistic sameness (many letters in one style). Nobody claims all carriers of a style share "the same shape"; the figure shows the claim is equally false for letters. So the deep issues of perception and shared essence raised by the "horizontal" question (spirit) are already raised, more subtly, by the "vertical" one (letter), and a full model of letter perception would include a full model of style perception, which "flies in the face" of pragmatic handwriting-reading projects that ignore esthetics. Given a few seed letters, the program must identify their categories, infer their stylistic tendencies, and design the rest. There is never one right answer: even 25 seed letters do not fix a style, nor does a style fix its letters.
Retreating from real typefaces to gridfonts
Like composing or novel-writing, letter design takes years of practice; the authors cannot model a professional. They strip out the shallow (elegant swashing curves, tapering stroke widths, retinally pleasing flourishes that do not affect category, all motor skill) and keep the deep. The original inspiration, a program designing full typefaces of the complexity of Baskerville, Helvetica, Tiffany, Palatino, Optima, Avant Garde, Friz Quadrata, Romic, Souvenir, Olive Antique, Aachen, Vivaldi, Americana, Frutiger, Hobo, Korinna, Benguiat, Baby Teeth, Mistral, Banco, Eurostile, Piccadilly, Calypso, Magnificat (thousands exist; the authors recommend the cheap Letraset reference manual), was "far, far too hard" and of little cognitive interest: the general issues would drown in noncognitive detail.
Deep versus shallow style. At its deepest, style plays with letters' conceptual foundations (an "x" as a "v"-ish entity perched on an inverted one). The difference is a continuum, but "Letter Spirit is swimming in the deep end of the style pool (and DAFFODIL is splashing about in the shallow end)".
Gridletters and gridfonts
All continuous variables are eliminated. Letterforms are made of short segments on a fixed grid of 21 points in a 3 × 7 array (introduced in Metamagical Themas, Chapter 24). A legal segment, a quantum, joins a point to a nearest neighbour horizontally, vertically or diagonally: 56 quanta.
Some would call grid shapes mere skeletons awaiting flesh (curves, thickness, curlicues), the very premise of DAFFODIL. The authors treat gridletters as full-fledged letters; fleshed-out gridfonts have been made, with results "that tickle the retina but leave the cerebrum pretty bored".
Local versus global beauty. Ordinary typefaces have local beauty, grace in every letter, staying near the centres of their categories. The best gridfonts often have only global beauty: single letters may be disorienting or shocking, but together they form fascinating, internally consistent patterns, a "cerebral" beauty from exploring letters' conceptual essences. They might suit advertising meant to feel stark, strange, audacious.
| Fact about the domain | Value |
|---|---|
| Grid points | 21 (3 × 7) |
| Quanta | 56 (14 horizontal, 18 vertical, 24 diagonal) |
| Possible gridshapes | 2^56, about 7 × 10^16 |
| Complete gridfonts designed by people (1995) | about 600 |
| Distinct human-made "a"s | about 1,500 (88 shown in Figure X-7) |
| Hofstadter's own MacPaint binge | about 400 gridfonts in 18 months |
| Time for a person to design a gridfont | 10 minutes to 3 hours |
The grid engenders exotic letterforms and wild styles
Paradoxically, the grid's severe limits generate diversity. Since nothing fine-grained can be tweaked, designers soon exhaust "safe" options and play near, at, or slightly beyond category boundaries; collections grow "zanier and zanier". Surface strangeness is not naivety.
One quantum can change everything. Tiny changes are impossible, so any two versions of a letter differ significantly, and adding or removing a single quantum often changes the category.
Deciding which of the 26 categories (if any) a gridshape belongs to is therefore "one of the hardest aspects of the project" and the focus of the first implementation. The authors stress they seek neither readability nor surface beauty but the conceptual nature of letters; pushing all 26 categories toward their edges in a coordinated way yields "the beauty of spirit rather than of letter". Far from a toy domain, the cognitive issues are "magnified, not reduced" by simplification; all that is removed is the need for years of experience. Anyone can appreciate a consistent gridfont; designing a sophisticated one remains "very difficult. (Were it not, creativity would be a simple thing to model!)"
The principal varieties of stylistic determiners
What binds a gridfont into one style
- Role trait: how a specific role tends to be instantiated across letters, a "portable norm-violation" that can "infect" many letters: posts and stems realised zigzaggily; bowls tall and narrow; crossbars passing through a gap in the vertical stroke.
- Motif: a geometric shape reused in many letters. A simple one (a two-quantum backslash crossing the central zone) may be required in full in every letter; a complex one (a 2 × 2 square, a tilted hexagonal ring) may appear partially. Styles differ on whether a motif may be reflected, rotated or translated.
- Abstract rule: a systematic self-imposed constraint: no diagonals; only diagonals; exactly two disjoint parts per letter; no straight section longer than one quantum. No shape repeats; an easy-to-state quality is enforced.
- Level of enforcement: a meta-level determiner: whether a constraint is unslippable (inviolable) or slippable under enough pressure. Strict, lax or in between, it sets "an abstract, almost intangible tone" for the whole gridfont.
The spirits behind four sample gridfonts
Benzene. A six-sided "benzene ring" appears in full or in fragments in nearly every letter. Ironically the first letter, the seed "a", has a ring of only four sides (a small diamond). The hexagon was born when the designer tried to export the diamond to "b": the diamond would have made an abnormally low bowl (acceptable, but leading to a different style with undersized loops in b, d, g), and since the "a" was a central, elegant member of its category, a spiritually close, equally central "b" was wanted. The grid forbids scaling the diamond, but play produced a gridbound "spiritual cousin", the hexagon: "Bingo!" It became the guiding motif, "leaving its own four-sided mentor in the dust", though the diamond survives in the "e", as the rotated dot on "i" and "j", and faintly in "m", "w", "z". The full ring ("o") is a rigid motif, almost never rotated or reflected; the great exception is the "x".
Benzene's x and the covering of tracks. Late in the design, Platonic "x" could find no way to realise slash and backslash with the entrenched ring: a snag. The radical move was a different conceptualization, kissing crescents. Each abstract crescent explored the ring and found a realisation: the left crescent using the ring's right half, the right crescent its left half. So the "o" was sliced down the middle and the halves swapped to meet back to back. Outcome: a strong "x", yet the eye far more readily sees it as crossing slashes: its conceptual origin is "deeply hidden". Such "covering of one's tracks" is common in creative acts "and often makes them seem more magical than they actually are".
Square Curl comes from a strict abstract rule (no diagonals) interacting with a free motif, the curl seen most clearly in "n" and "u" (free to rotate or flip), plus a norm-violation: ascenders and descenders stop short of the zones' limits. The short reach and the curl "resonate", since the curl is itself a role falling short of its destination, suggesting other roles should "fall short" too, as in the short horizontal tails of its descenders. Its "i" and "j" put their dots higher than the ascenders of "b" and "k", violating a designers' convention, yet they add verve.
Knowing violation. "When norms are violated ignorantly (by a novice), the results are likely to be bad, whereas when they are violated knowingly (by an expert), the result is likely to be just fine. Experts have a keen sense for when they can get away with something funny, whereas novices don't even realize that there is anything funny going on."
Checkmark takes its name from a free motif, the shape of its "r", visible rotated, reflected, translated or truncated throughout. A second theme is gaps and absences, incompleteness: little gaps in "a" and "b" from lines shorter than expected, stronger still in "h" and "y"; sometimes more than expected (as in "n" and "u"). The "j" borrowed from the descenders of "g" and "p", perhaps too literally, making its membership "a tad too teetery"; the "k" mixes "too much here" with "too little there".
Funtnip, the most complex, has many themes: a horizontal stroke across the middle of the central zone, all the way (a, i, k) or partway (f, m), violated only by "c" and "r"; a "lopsided arrowhead" free motif (o, p, q and others); ascenders and descenders placed halfway across the letter rather than at a side, deeply norm-violating, so that "p" and "q", normally distinguished almost only by stem position, must carry identity in very asymmetric bowls (which works); a full or partial baseline stroke (the first four letters, then k, n); a perky diagonal fillip (g, m, w); extra "stingers"; and square-root-sign dots on "i" and "j". The "odd potpourri" coheres into a strong style. How? "We have no genuine theory" for fonts as daring as Funtnip or Checkmark; the program would aim at something like Standard Square, and building Benzene from its "a" alone would exceed expectations.
Creating a gridfont: a broad view
A person needs ten minutes to three hours per gridfont (and revisions after). Every action, from a whole new "k" to one changed quantum in a "finished" "k", reverberates through the font at all levels of abstraction, guided by a priori inter-letter relationships.
A chain of suggestions from a seed "o". Open a gap on the right: "c". Add a crossbar: "e". Add a post to the "c": "d". Rotate and reflect "d": "b", "p", "q". Bend the "q"'s tail: "g". Open the loop and straighten the tail: "y". Rotate "y": a first stab at "h". Cut its ascender: "n". Add a middle: "m". Turn "m" upside down: a "w"? Which suggests "v" and "u" (rotating "n" gives another "u"). "And on and on it goes." Outcome: inter-letter suggestions plus countless intra-letter refinements until a stable gridfont emerges.
In the later stages dissatisfaction and contradiction (within a letter or between letters) are "the prime movers", so the program must find, diagnose and resolve conflicts. Decisions spread to conceptually close letters: a post in "b" affects the post of "d" and may affect the stems of "p" and "q". In most typefaces posts and stems are tightly linked by analogy, but some typefaces unlink them, itself "a major stylistic decision". Waves of decisions cause retroactive adjustments to "finished" letters and ideas for unborn ones, until internal consistency rises and the tension eases. This slow tightening, uniformization, is part of all true creativity: composition, poetry, painting, sculpture, scientific theories, "and even the design of AI programs and the writing of articles about them!"
The implementation of emergent processing
Letter Spirit borrows from Copycat, Tabletop and Jumbo, but its concepts are far richer: wholes break into roles, roles into weighted sets of abstract features. All perception and creation emerge from codelets that create, examine and modify structures for parts, roles, letters and stylistic traits in simulated parallel, waiting in the Coderack, "a stochastic waiting room". Unlike an operating-system queue that hands out CPU slices deterministically, the Coderack picks codelets probabilistically by urgency, an estimate of how well a codelet's effect coheres with existing structures.
- Ants building a bridge. Hundreds of semi-independent ants (codelets) cooperatively build a large structure (the perception): "nondeterministically but not haphazardly".
- A self-adjusting population. New codelets are posted as follow-ups by running codelets or automatically when processing reaches certain stages; promising ones get high urgency, unpromising ones wait but keep some chance, so "aimless processing is avoided".
- Processes run at different, adjustable speeds, unlike classical time-sharing. No single codelet matters; what matters is that broad courses of action run faster than others: the parallel terraced scan, which allocates effort by estimated promise, akin to genetic algorithms and the k-armed bandit (Holland et al., 1986).
- Processes are in the eye of the beholder. A classical process exists before it runs; a Letter Spirit process exists only after the fact, as codelets seen to have acted in concert.
Four global memory structures
Letter Spirit's four memories
- Scratchpad (external memory): a virtual sheet on which letters are drawn and revised; at the end of a run it holds at least 26 letters, plus alternates. Each grid is a 56-bit structure with an optional label ("this is supposed to be a 'k'").
- Conceptual Memory (permanent semantic memory, procedural and declarative): for each concept, (a) category-membership criteria, weighted, reducing a whole to interacting roles and a role to desired properties of bonded quanta; (b) explicit norms on roles and r-roles, making a concept's core accessible to agents that want to strengthen a weak instance or weaken a strong one without losing it; (c) an associative halo of links of dynamic length: standard letter resemblances ("n" and "u" by 180° rotation), analogies between roles (post and stem), proximity of descriptors ("high" opposite "low").
- Visual Focus (subcognitive workspace, cache-like and fast): where one letterform is perceived and converges on a categorical and stylistic interpretation; the agency that takes "a fresh and hopefully unbiased look" at what has just been produced, "absolutely indispensable for a creator" and "enormously hard to acquire".
- Thematic Focus (cognitive workspace, slower and more conscious): the changing set of ideas about the gridfont's stylistic essence; observations that fall into patterns are elevated to themes that press on further design.
Near-misses as seeds. Rejected alternates in the Scratchpad are "among the most useful windows onto the creative process" and can seed another gridfont, so in principle the program could become "an entirely self-driving creator", eager to reuse its rejects.
Letter resemblances cut both ways. They suggest designs (a first stab at "y" is a rotated "h") and warn of confusion ("b" and "h" are close enough that a shape meant for one may land in the other's territory). Halo links give each concept potential substitutes to which it may slip under pressure.
What happens in the Visual Focus
- Parts. Quanta are fused bottom-up into small units of a priori perceptual plausibility.
- Labels and roles. Syntactic labels (simple geometric properties) act as "matchmakers", selectively evoking a few promising roles.
- Wholes. Activated roles suggest letter-concepts; the strongest whole pushes one of its conceptualizations, launching top-down pressure on parts to split, fuse or swap quanta.
- Marriage. Recognition ends when semantically-adjusted parts and syntactically-adjusted roles realise exactly one whole without strong rivals; persistent rivals mean a poor letterform.
Style is extracted from the compromises. Once the category is fixed, stylistic notes record norm-violations ("bent crossbar", "unattached bowl", "post not touching the baseline"). A norm-violation tells how a role has "bent", compromised its ideals to fit reality: a symmetric duality between the semantic adjustment of parts and the syntactic adjustment of roles. Two further processes come from Hofstadter's Bongard-problem architecture in Gödel, Escher, Bach: filtering (ignore most of a shape and see global qualities: no diagonals, full of 135° angles, narrow) and focusing (extract a shape from a local zone, such as the top of the ascender zone, as a possible motif).
The Thematic Focus: where spirit crystallises
The Thematic Focus is "both the court that judges, and the warehouse that stores, stylistic ideas", "the site where spirit gradually crystallizes". Any attribute noticed in a letter may be transferred there; the more letters show it, the likelier it is promoted from "casual quirky observation" to theme, a driving principle.
Levels of enforcement become self-awareness. A new theme is assumed unslippable by default, and default assumptions are not noticed, so it is obeyed stringently. If a letter/spirit conflict grows severe, the assumption is questioned and its level of enforcement emerges "from hiding" as an adjustable variable. Every attribute, enforcement included, is explicit and alterable by the program's own agents, so "all aspects of style are under complete control of the program itself": a higher-level self-awareness meant to make its styles "more intellectual and sophisticated".
The predictable unpredictability of the creative process
A designer starts from one seed letter whose aspects, borrowed analogically, suggest further letters; but each new letter, the compromise between style constraints and letter-category constraints, has attributes of its own, not implied by the seed. Some are noticed, often by chance while scanning, and join the sense of the style. One can rely on unpredictable new attributes emerging: "predictable unpredictability". Elevated to themes, they shape further letters, recursively; an attribute can even go out, change other letters and come back "like a boomerang" to modify the very letter that gave birth to it. The result is a meandering through "style space" toward ideas the designer "never would have dreamt of".
Four interacting emergent agents
The four agents (descriptive fictions, each an emergent by-product of codelets; compare Minsky's agents, 1985)
- Imaginer: knows nothing about the grid; works at the level of roles, selecting or inventing a conceptualization and devising a letter-plan. Two kinds of suggestion: norm-violation suggestions (tamer: "bend the tip of the ascender to the right", "use a short crossbar", "don't let the bowl touch the post at the x-height", "make the bowl narrow") and role-regrouping suggestions (more radical: a new conceptualization, like the kissing-crescents "x"), made entirely with abstractions that "have the general 'feel' of shapes" but are not shapes.
- Drafter: knows the grid; converts the Imaginer's "high-flown" plans into quanta on the Scratchpad, and can complain back if a plan cannot be drawn reasonably.
- Examiner: decides which of the 26 categories (if any) a gridletter belongs to and how unambiguously; the most developed agent, working in the Visual Focus.
- Abstractor: judges stylistic consistency and extracts new stylistic attributes; builds the single spirit category that comes into being during a run in the Thematic Focus (whereas the 26 letter categories pre-exist in Conceptual Memory).
The regrouped "t". A "linear unit" (a long, thin, little-bending shape) passing through a known point (an r-role) suggests splitting it at the point. Splitting both the ascender and the crossbar at their crossing gives four spokes around a hub. Regroup: west + north become one unit, south + east another. The splicing is mental, not graphic; it yields two new roles plus the unchanged central-point r-role, a novel starting point for "t"s, with new norms derived from the old ones.
Drafting under the grid. "Make the crossbar short" offers a real designer a continuum, the grid only three options for a two-quantum crossbar: drop the left quantum, the right one, or both (drastic, though right for far-out styles). So the Drafter likely draws a single horizontal quantum, left or right of the ascender, decided by precedent in other letters (if "f" already put its quantum on the left, "t" may follow) and by category strength.
How the Examiner works
Syntactic operations are purely bottom-up chunkings that any naturally evolved visual system would produce, whether looking at roman letters, Arabic, Bengali, Chinese characters or pictures. Semantic operations depend on the categories being fed: a Chinese reader's semantic chunking of Chinese characters differs from an English reader's. Semantic operations adjust syntactic output by chopping and borrowing subparts, marrying sensory structure with prior knowledge.
- Glue. A team of codelets deposits glue at junctions of touching quanta, the amount depending on the quanta's locations and directions and the sharpness of the bend (more at straight junctions than at angles).
- Shaking. When enough glue is down, the shape is metaphorically "shaken" and breaks probabilistically at weak joints into parts of usually two to four quanta, still purely syntactic.
- Labels. Other codelets attach labels probabilistically ("straight", "tall", "central-zone", "zigzag", "left-side", "slanting", "open on right"), with shades of grey: a not-quite-straight part may be called "straight", but less often the less straight it is.
- Roles and wholes. Each label lightly activates roles it is diagnostic of ("left-diagonal" + "straight" + "in central zone" → slash, as in "x"); roles sum their activation and pass it to wholes; a whole is chosen probabilistically by activation; its rival conceptualizations compete, one wins, and its roles try to mate with the parts.
- Adjustment. A part may steal a quantum or two from neighbours to attract a role-suitor, or give away pieces that make it ugly to role-mates; the results are semantically-adjusted parts. A poor match triggers a warning that the letterform is problematic.
import random
# Examiner's first, purely syntactic step: glue touching quanta, then "shake"
f_seed = [((1, 4), (1, 3)), ((1, 3), (1, 2)), ((1, 2), (1, 1)), ((1, 1), (1, 0)),
((1, 0), (2, 0)), ((2, 0), (2, 1))] # tall post, hook at top right
def direction(q):
(a, b), (c, d) = q
return (c - a, d - b)
def glue(q1, q2, rng):
"""More glue at straight junctions than at bends (plus a little noise)."""
d1, d2 = direction(q1), direction(q2)
straight = d1 == d2 or d1 == (-d2[0], -d2[1])
return (0.9 if straight else 0.3) + rng.uniform(-0.1, 0.1)
def shake(quanta, rng):
"""Break the chain at weak joints, probabilistically, giving parts."""
parts, current = [], [quanta[0]]
for q1, q2 in zip(quanta, quanta[1:]):
if rng.random() < glue(q1, q2, rng):
current.append(q2)
else:
parts.append(current); current = [q2]
return parts + [current]
rng = random.Random(0)
counts = {}
for _ in range(1000):
key = tuple(len(p) for p in shake(f_seed, rng))
counts[key] = counts.get(key, 0) + 1
for key, n in sorted(counts.items(), key=lambda kv: -kv[1])[:4]:
print(f"parts of sizes {key}: {n / 10:.1f}% of shakings")
Shaking the seed "f" of Figure X-17 usually separates the four-quantum post from the hook; often the hook itself breaks at its own bend into two one-quantum pieces, which is exactly the situation in which top-down pressure from the role hook must fuse them back, the "semantic adjustment" the chapter describes.
The Abstractor
A good "letter" is not enough; it must embody the same style as the seeds and the letters already made. No single letter contains the whole style, so stylistic attributes accumulate in a global list for the gridfont, the Thematic Focus: whereas the 26 letter categories exist before a run, one spirit category comes into being during it. The Abstractor checks each candidate for role traits, motifs, abstract rules and levels of enforcement, giving a "stylistic-coherency rating" by how many prior themes it echoes and how strongly, and tries to extract new attributes. An attribute seen once may not become a theme, but echoed in other letters it probably will, driving future letters and even retroactive changes.
A coincidence becomes law. Suppose neither the seed nor the first new letter contains a forward slash, by pure accident. The Abstractor may generalise and forbid forward slashes from then on, a "quite unforeseeable" decision with global ramifications. On another run with the same two letters, the observation might not be made, or the interdiction might be held loosely. Formulating attributes "neither too specific nor too general; neither too rigid nor too loose" makes the Abstractor's job "a very subtle one".
The central feedback loop of creativity
The core problem is "to do in one framework something that has already been done in a significantly different framework": transport an off-centre letter's eccentricity into another category not isomorphic to the first. Many think "d" and "b" are mirror images; a fair approximation, "far from the full truth".
The d-to-b snag. Given a "d" whose bowl does not close at the bottom, the obvious move, mirror-reflect it, gives an attractive shape whose category is ambiguous: open at the bottom, it may be read as "h" ("poor 'b', too 'h'-ish"). This is a snag like abc ⇒ abd; xyz ⇒ ?, and the escape is the same kind of slippage to an opposite: "unattached at bottom" slips to "unattached at top". Outcome: an unambiguous "b" that still captures much of the seed's spirit (how much is debatable, and designers' differing unconscious criteria yield "very different styles of style-making"). Gratifyingly, the designer of Friz Quadrata (this book's display face) found the analogous solution: its "d", "p" and "q" have bowls open at the bottom, but its "b" is open at the top.
Such transport can only be done by trial and error: guesses evaluated, refined, re-evaluated. This "central feedback loop of creativity" is not a loop in the programming sense but "a back-and-forth flow of intensity of activity in different types of tasks".
The strangely circular origin of a style
The d-to-b example misleads in two ways. First, a letter's final design is rarely a tight analogy to one letter: drafts spring from one, then examination, comparison and revision blend in other letters' influences "until there is no simple pedigree at all", and one returns to "finished" letters long after. Second, there is no clean line between parent and child letters: the flipped "b" might lead one to re-flip the "d", destabilising the source and "to some extent ... The entire alphabet". "Where on earth is terra firma?"
Declaring seed letters immutable would ground everything, but human designers do not work that way. Better: every letter and every theme carries a numerical stability value saying how deeply to respect it; low-stability letters take cues from high-stability ones. Stabilities are periodically recomputed, crediting being a seed ("this should, after all, count for something!"), being a strong category member, and being consistent with other letters and themes, weighted by their stabilities. "Stabilities themselves should serve as the weights in determining stabilities": "a deep, although not paradoxical, circularity".
Where does a style come from? At the outset its source is the seed letters, entirely implicit. As it spreads it becomes more explicit, abstract and delocalised; as themes congeal it becomes "institutionalized" and localised again. But themes without examples cannot determine a style. So once a gridfont is finished, its source is "spread out among a small set of themes and a few key letters that embody them, not necessarily including any of the seed letters!"
import numpy as np
# Stability as a self-referential weighting (cf. "stabilities themselves should
# serve as the weights in determining stabilities"): a fixed point, like PageRank.
letters = ["seed d", "b", "p", "q", "h"]
seed = np.array([1.0, 0, 0, 0, 0]) # credit for being a seed
strength = np.array([0.6, 0.9, 0.8, 0.8, 0.4]) # category-membership strength
consistency = np.array([ # how well letter i agrees with j
[0, .9, .8, .8, .2],
[.9, 0, .7, .7, .3],
[.8, .7, 0, .9, .1],
[.8, .7, .9, 0, .1],
[.2, .3, .1, .1, 0]])
s = np.ones(len(letters)) / len(letters)
for _ in range(50):
weighted = consistency @ s / s.sum() # agreement with stable letters counts more
s = 0.2 * seed + 0.3 * strength + 0.5 * weighted
for name, v in sorted(zip(letters, s), key=lambda t: -t[1]):
print(f"{name:7} stability {v:.2f}")
The iteration converges because the circularity is benign: stability flows from the seed and from strong letters to letters consistent with them, and the weak, inconsistent "h" sinks. With the seed bonus at 0.2 the seed "d" stays most stable (0.66); lower it to 0.05 and the strong, mutually consistent "b" overtakes it (0.54 against 0.52), a small instance of the chapter's claim that a finished style may no longer rest on its seed.
Towards the implementation: from "f" to "t"
The authors close the design with one fully worked letter-to-letter analogy involving all four agents.
Seed: an "f" with no crossbar (Figure X-17). The Examiner runs first. Little glue lands at the top of the post (for syntactic reasons), so two parts form: four quanta (post) and two (hook). Their labels wake two roles, post and hook, which activate two wholes, "f" and "l". Against "f": no crossbar; against "l": the hook. Two strongly filled roles win: a strange "f" whose main stylistic note is the norm-violation "crossbar suppressed" ("no diagonals" could also be noted). Next letter: "t", linked a priori to "f" in Conceptual Memory. The Imaginer, "like any good copycat", copies the violation literally; the Drafter renders "draw no horizontal quanta at the x-height". The Examiner glues the shape into a single part, wakes only ascender, and strongly activates "l"; "t" gets a feeble boost because the ascender is shorter than "f"'s and "t" is the only letter whose default ascender is lower (check any standard face, such as this book's Baskerville). Verdict: failure, with diagnosis "role crossbar never got awakened". The slippage: caught between Letter pressure and Spirit pressure, "something has to give". In the halo of "suppression" the Imaginer finds "austerity", "minimality", "sparsity", or at least "underdo", defined as "reduce the key dimension of". The norms for crossbar list one size dimension, horizontal length, so "underdo" becomes "make a short crossbar". Outcome: a one-quantum crossbar, "a perfectly acceptable and style-loaded 't'" (Figure X-19), the spirit "somewhat diluted" but the letter stronger.
import random
# The central feedback loop in miniature: seed "f" lacks its crossbar; make a "t"
# in the same spirit. Shapes are sets of quanta on the 3 x 7 grid (x 0-2, y 0-6).
H = lambda x, y: ((x, y), (x + 1, y)) # horizontal quantum
V = lambda x, y: ((x, y), (x, y + 1)) # vertical quantum
HALO = {"suppress": [("underdo", 0.8), ("exaggerate", 0.1)]} # slippable neighbours
def drafter(plan):
"""Turn a role-level plan for "t" into quanta on the grid."""
q = {V(1, 1), V(1, 2), V(1, 3)} # short ascender: rows 1-4
if plan["crossbar"] == "normal":
q |= {H(0, 2), H(1, 2)}
elif plan["crossbar"] == "underdo": # key dimension = length
q |= {random.choice([H(0, 2), H(1, 2)])}
return q
def examiner(q):
"""Crude role detection: an ascender plus a crossbar at the x-height means t."""
ascender = sum(1 for (a, b) in q if a[0] == b[0] == 1) >= 3
crossbar = any(a[1] == b[1] == 2 for (a, b) in q)
if ascender and crossbar:
return "t", None
return "l", "role crossbar never awakened"
def imaginer(style_note):
plan, tried = {"crossbar": style_note}, [style_note] # copy the norm-violation
while True:
shape = drafter(plan)
verdict, diagnosis = examiner(shape)
print(f"plan crossbar={plan['crossbar']:9} -> Examiner sees '{verdict}'"
+ (f" ({diagnosis})" if diagnosis else ""))
if verdict == "t":
return shape
# Letter pressure vs Spirit pressure: slip to a halo neighbour, closest first
options = [c for c, w in sorted(HALO[style_note], key=lambda cw: -cw[1]) if c not in tried]
plan = {"crossbar": options[0]}; tried.append(options[0])
random.seed(2)
t = imaginer("suppress")
print("final t uses", len(t), "quanta:", sorted(t))
Feedback from the Abstractor too. If the Examiner is satisfied but the Abstractor is not, the letter is rejected with a message on which stylistic criteria it failed, and the Imaginer revises. Suggestion, critique, revision, abandonment and regeneration "mesh exactly with our intuitive sense of what human creativity really is"; such emergent, unpredictable processing "constitutes a program's making its own decisions", in line with Johnson-Laird (1988) on the kinship of free will and creativity. A footnote adds that if the program designed many consistent gridfonts, it would be "far-fetched ... To entirely deny the semantics" of words like "underdo" in its Conceptual Memory.
Related work in letter recognition
Broadly construed (temporally extended creativity, discovery, design), related work is everything, discussed partly in the Epilogue. Narrowly (letters), it is handwriting and printed-document recognition, plus automated typeface creation, where the authors know only DAFFODIL and one rival built deliberately against Letter Spirit.
- OCR. Recognition approaches vary (Gaillat and Berthod, 1979; Mantas, 1986); the closest to the Examiner is pragmatic optical character recognition. A paper titled "On the Recognition of Printed Characters of Any Font and Size" (Kahan, Pavlidis and Baird, 1987) tested six standard book faces; the title "greatly exaggerates", and pairing "any font" with "any size" is odd, since size is no more a conceptual problem than colour.
- Kurzweil's admission. Raymond Kurzweil, inventor of the Kurzweil Reading Machine, wrote (1990) that machines read common type styles but "no machine can successfully deal with the level of abstraction required by ... Ornamental forms", the kind in Figure X-2.
- Perceptual psychology. Palmer (1977, 1978) and Treisman and Gelade (1980) stress multi-level structure-building, which harmonises with Letter Spirit; the authors go further in adding top-down, concept-guided pressure.
- In-house rivals. To test their own approach they built alternative recognisers, Netrec and Dumrec (McGraw and Drasin, 1993).
A connectionist rival: GridFont
Grebert and colleagues (1991, 1992), inspired by the Letter Spirit domain, built a purely connectionist GridFont to show networks can generalise for production as well as recognition (recognising "seven" in Abraham Lincoln's hand). Their examples of "generalizing for production":
- painting George Bush in the style of Vincent van Gogh;
- singing "I wanna hold your hand" in the style of Elvis Presley;
- shopping for software in the style of Imelda Marcos;
- playing Monopoly in the style of Mother Teresa.
Architecture: three-layer feedforward network trained by backpropagation
Input layer: 32 nodes = 26 letter nodes + 6 style nodes
Hidden layer: 88 nodes in two sets of 44
Output layer: 56 nodes, one per quantum
Training fonts: 5 complete (including Standard Square and Benzene) + 14 letters of Hunt Four
Training: about 10,000 trials (e.g. Activate letter node 25 and the Benzene style node; reinforce the 9 output quanta of Benzene "y")
Test: the 12 missing Hunt Four letters, read straight off the output layer
There was no "task". Once trained, the network's "opinions" about the twelve letters were already implicit in its weights; they were simply read out by clamping each letter node with the Hunt Four style node.
Hofstadter and McGraw's verdict on GridFont's twelve letters
- Letter dimension: most are recognisable, but all except "i", "l", "t" and "w" are mediocre, with stray lines evoking other categories; "z" is a complete failure; "c", "n" and "v" are shakiest, faintly activating "e", "m" and "w".
- Spirit dimension: some recognisable elements, especially the central diamond motif, lend credibility.
- The "triumph" deflated: the network reproduced the designer's "i" exactly, but in all five training fonts the "j" shape completely subsumes the "i" shape, and "j" was among the given letters; the diamond appeared in full in three input letters.
- What networks learn: if letter categories resemble each other in exactly the same way across training fonts (i/j; the bowl shared by b, d, p, q, g, o), the hidden layer encodes the overlap. The carefully chosen fonts were "extremely useful" and "extremely misleading": stereotyped connections help only in stereotyped situations, while creative design is about "unpredictable, highly abstract, one-of-a-kind connections".
- Overall: the twelve letters, joined to the fourteen, do not feel like one style: "something awkward, confused, and discomfiting" persists ("Perhaps it is at this very abstract meta-level that the twelve new letters do constitute a style, after all!").
The inescapable temporality of creation
The output's quality is subjective; the authors' main charge is elsewhere. Letter Spirit takes one to three seeds, not half an alphabet; "when most of the solution is handed to the program for free, what is its performance supposed to show?" More deeply, GridFont bypasses the cognitive issues: long concentration, going back, judging, adjusting, abstracting, the "central feedback loop". In real creation a decision in one letter may influence all others, even "finished" ones; one late tiny decision can trigger "an avalanche", forcing reconsideration of every letter. "This inherent unpredictability and instability ... Is precisely the excitement and magic of the genuine creative act."
GridFont: letters "pushed out in one single feedforward gush"; each output has no effect on any other; no perception of results, no back-and-forth. Like composing music by producing all measures at once without regard to how they fit.
Human designers and Letter Spirit: extended back-and-forth that weaves parts together, as in a poem, a painting or a piece of music. Hermann Zapf (About Alphabets, 1970) says Optima took him three years; even three minutes would be "a far cry" from one parallel gush.
Even success would not answer the question. If some "Great-Great-GridFont" produced impeccable gridfonts from one or two seeds (unlikely), it would be like a chess machine beating the champion by brute-force lookahead, "a billion board positions a second", "the antithesis of how chess masters play": a fact about the domain, not about the minds of grandmasters or skilled gridfont designers. "Such a triumph ... May well come in the next few years."
Genuine cognition is not a free lunch
Grebert et al. Concluded that their approach might eventually make a network deliver George Bush's inaugural address in the style of John F. Kennedy, their "success here" giving confidence the architecture would carry over. The authors find this "simply fantastic".
Hey, man, I'm off to Aspen to tackle those black-diamond slopes.
The caricature does not boomerang onto Letter Spirit, they argue, because its builders tried to be faithful to principles of creativity rather than a "naive blanket faith" that hidden layers "can do anything and everything cognitive", an excuse for not thinking about cognition and for letting "the most boring type of learning, learning by endless repetition" do everything: "cognition as a free lunch, courtesy of distributed representations", the connectionist analogue of the Boolean Dream. Neural hardware underpins concepts, "but then again, so does elementary-particle physics". The real question: "What kinds of intermediate-level structures and mechanisms, located somewhere between quarks and the cortex, do the work that counts?" Letter Spirit, as intended, forces attention onto what counts in concepts: blurry boundaries, elusive essences, many levels of abstraction, and the unpredictable connections that jump to mind under a unique set of pressures and open "whole new pathways of unsuspected potential in the space of ideas".
CRITICAL LENS. Several judgments here have aged unevenly. (1) Chess fell as predicted: Deep Blue beat Kasparov in 1997, by search plus hand-tuned evaluation. (2) The "free lunch" dismissal of learned representations has not aged well: networks far deeper than GridFont now generate coherent multi-glyph fonts, read ornamental lettering that Kurzweil said no machine could, and render one person's text in another's style, the very "Bush in the style of Kennedy" the authors called fantastic. (3) The GridFont comparison was also uneven: a small 1991 network trained on five fonts was judged against an architecture that did not yet create anything; Letter Spirit was then a design, while GridFont produced output. (4) Some criticisms stand: GridFont saw 14 of 26 letters, it had no loop of perception and revision, and its "success" on "i" was largely inherited from "j". The OCR barb (six fonts, size versus font) was fair for 1987.
What became of Letter Spirit and its rivals. Gary McGraw's 1995 dissertation implemented the Examiner; John Rehling's 2001 dissertation, Letter Spirit (part two): Modeling Creativity in a Visual Domain, produced "the first mostly complete Letter Spirit", built around the Examiner, an Adjudicator (which identifies a gridletter's stylistic properties, roughly the 1995 Abstractor's role) and a Drafter, and reported at least partial success on most of its 23 test gridfonts. On the neural side, few-shot font generation became a research field: Azadi et al.'s Multi-Content GAN (CVPR 2018) generates a full alphabet in a style from a handful of observed glyphs, the GridFont task at scale, and Lake, Salakhutdinov and Tenenbaum's Omniglot work (Science, 2015) learned handwritten characters from single examples by modelling strokes as parts, close in spirit to roles. Commercially, variable fonts (OpenType 1.8, 2016) encode a family's style along continuous axes. What none of these settles is Letter Spirit's own question: whether a system can notice an accidental feature, promote it to a theme, decide how strictly to enforce it, and revise earlier letters in its light. Image models that generate a whole alphabet in one pass still resemble GridFont's "single feedforward gush" more than Hofstadter's loop, even when their results are far better.
Hofstadter ends the book with a deliberately skeptical tour of "creative" programs (Harold Cohen's Aaron, the prose generator Racter, Lenat's AM, Gelernter's Geometry) and finds the same pattern each time: a human selects, filters or steers, and the program cannot tell whether what it made is surprising. That raises two questions: how to divide credit between program and programmer, and how to know a program's mechanisms at all. His answer is that open-ended probing of behaviour, the Turing Test properly used, is like a scattering experiment: behaviour far removed from its source can reveal mechanisms at any depth, so a model that passes a truly deep Turing Test will agree with "brain structures" all the way down to the level where thinking really happens.
A somewhat skeptical perspective
Computers have been tried as artists, writers, composers, mathematicians, scientists, inventors, "chefs, football coaches". Margaret Boden's The Creative Mind: Myths and Mechanisms (1991) surveys the field "accentuating the positive"; Hofstadter "tends to do the opposite", perhaps because, unlike Boden, he has "an axe to grind, no turf to defend, whereas I do". His sample is small, partly old and unrepresentative, chosen as tutorial examples: easy targets whose defects are transparent, to teach a way of thinking that can then be turned on harder cases. And he is "quite fond" of every project he criticises.
A computer artist: Aaron
Aaron, developed over two decades by painter and art professor Harold Cohen, is "among the most provocative" programs aspiring to creativity, though almost nothing describes its innards; the best source is Pamela McCorduck's Aaron's Code (1991). Aaron makes life drawings that look like a sophisticated artist's: humanlike figures dancing, playing with beach balls, balancing, among rocks and shrubbery, amusing and naïve in a recognisable style. Being probabilistic it never repeats itself, so its drawings number in the thousands; they appear on book covers and hang in "august institutions".
- What does it know of people? Aaron seems to treat people as physical objects able to take certain shapes; it knows perspective rendering, "but then again, so does any three-dimensional graphics program". Perhaps it should draw its own kind in typical computer activities, or itself "drawing itself drawing itself".
- Two surface facts do the work. (1) It draws in pencil or pen directly on large paper; (2) its lines are shaky and uneven, unlike precise computer output. These make it seem more like a human artist than any other program.
- The AW experiment. A program placing a few constrained "people" in random postures, rendered by a 3D package with random wiggly lines ("AW, artificial wiggliness", long played with by Metafont users, with "stunningly humanlike" results) would look much like Aaron, but "the 'magic' would be gone" because no claim of artistic insight would be made. Or perhaps not: the Eliza effect might cloud people's judgment "even when they knew precisely how empty the innards actually were".
A computer author: Racter
Hofstadter wonders whether Aaron differs in kind from Racter (author of The Policeman's Beard Is Half Constructed, 1984) and Hal (co-author of the novel Just This Once, Preface 4), or whether all three trade on visual or verbal Eliza effects.
How such prose is made. A grammar in a formalism such as augmented transition networks, plus a vocabulary with semantic tags, gives impressive output easily: paths through the grammar are chosen randomly with biases, constrained by what has been generated (after "drink", no "syringe", but "coffee", "milk"). Allow occasional violations and you get "startlingly poetic effects", clashes of imagery suggesting a facility with metaphor, behind which there is "no imagery ... No intent to say anything, no reflective word choice".
import random
# A Racter-style generator: grammar + semantic tags, with occasional violations
VERBS = {"drinks": "liquid", "eats": "food", "loves": "any", "reviles": "person"}
NOUNS = {"coffee": "liquid", "milk": "liquid", "steak": "food", "lettuce": "food",
"Diane": "person", "Benton": "person", "war": "abstract", "a syringe": "object"}
ADVERBS = ["coldly", "speedily", "hungrily", "sloppily", "daintily"]
def sentence(rng, violation_rate):
subj = rng.choice(["Benton", "Diane", "Lisa"])
verb = rng.choice(list(VERBS))
want = VERBS[verb]
ok = [n for n, tag in NOUNS.items() if want in ("any", tag)]
if rng.random() < violation_rate: # let a semantic clash through
ok = [n for n in NOUNS if n not in ok] or ok
return f"{subj} {rng.choice(ADVERBS)} {verb} {rng.choice(ok)}."
rng = random.Random(4)
for rate in (0.0, 0.5):
print(f"violation rate {rate}:", " ".join(sentence(rng, rate) for _ in range(4)))
# The "metaphors" in the second line come from dice, not from imagery or intent.
The costume party. What makes such output pass as poetry is mainly cultural context: twentieth-century literature's "anything goes" widening of acceptable prose and poetry encouraged wonderful experiment but made it easier for impostors "to crash the party and go completely undetected". No robot could pass at a conventional dinner party; at a costume party where guests act as bizarrely as possible, a robot might pass for a while as a human "wearing a robot costume and deliberately acting mechanical". That is how Racter crashes "the costume party of prose and poetry generation".
Racter's prose. Samples Hofstadter reprints: "'War,' chanted Benton, 'war strangely is happiness to Diane'", with Lisa and Benton reviling each other while "they hungrily swallowed their chicken"; a "Dialogue between Richard and Buckingham" ("A week is obscurely like a night." "My Lord, chicken is like lamb." ... "slaughtering attorneys in truth is essential"); an essay asking "does steak love lettuce? ... Does an electron love a proton, or does it love a neutron?"; and a closing meditation: "I am silicon and epoxy energy enlightened by line current. What distances, what chasms, are to be bridged here?" and "I ate my leotard". Outcome: "pretty remarkable prose poetry, if taken at face value", but unknowable. Did Racter build "silicon and epoxy energy" itself, from what units? Was there a hidden recipe for phrases about computers? How many thousands of paragraphs preceded this one? Were sentences assembled by humans?
Nikolai. Typing out the Richard and Buckingham dialogue reminded Hofstadter of Kansas (told in Metamagical Themas, Chapter 21): he interrogated a supposed program "Nikolai" for about 45 minutes, explaining each clever reply as some programming trick, before learning that Nikolai was three computer-science students downstairs. Belief in a program shaped every interpretation, just as with Racter readers impute ordinary meanings and imagine "a mindlike entity" behind the words, "as we read into a non-fluent foreign speaker's awkward remarks a set of perfectly coherent ideas".
What Chamberlain disclosed. Bill Chamberlain's introduction describes "a rather tedious method" one could do with slips of paper, piles and dice: rules (a grammar) say which pile to draw from. Racter (from "raconteur", cut to six letters by a file-name limit) was written in compiled BASIC on a Z80 micro with 64K of RAM; it conjugates verbs, pluralises nouns, remembers gender, and can hold randomly chosen "things" (words, clause forms, paragraph structures, story forms) as variables that recur, spinning "a thread of what might initially pass for coherent thinking", "crazy 'thinking' ... Expressed in perfect English". Hofstadter notes the double selection: Chamberlain's team culled years of output, then Hofstadter chose excerpts, so readers see "the very choicest bits of all". And what does "the programmer is removed to a very great extent" really mean? The project's humour is admirable ("I would like to see more of it in the field of AI"), but perhaps it should not be taken as serious research; it never pretended to mimic an author's hidden processes.
A computer mathematician: AM
At the other extreme stands Doug Lenat's AM. Starting from primitive notions of sets (not even number), it combined concepts into higher ones by "conceptual accretion", guided by a large set of heuristics and by its own model of interestingness: extremality, uniqueness, self-application ("square": a number times itself), inverses of interesting concepts ("square root"), and other standard mathematicians' tricks, each concept carrying a numerical interestingness that directed search.
- Achievements. It found prime numbers (interesting for having minimal factors) and then formulated Goldbach's conjecture (every even number greater than 2 is a sum of two primes): "very impressive" from such beginnings.
- Human filtering. Critiques (Rowe and Partridge, 1991; Ritchie and Hanna, 1990) showed Lenat often filtered AM's output, keeping the best concepts and tuning parameters, so AM was arguably "a human-machine hybrid". "At what point does the seemingly innocent act of selection by a human turn into direction of the program?"
- Lisp did some work. Lenat's own autocritique (1983) noted that features of Lisp dovetailed with the domain so neatly that the formalism made the discoveries easy.
- Not general. AM had no notion of central versus peripheral category members, strength of membership, competition for ownership of an entity, ambiguity, or perception at all; in hard-edged mathematics (atypical of cognition, like chess) its success may be "a splendid isolated peak".
William Huff's studio. Architecture professor William Huff has students design parquet deformations, tilings that metamorphose across the plane in Escher style (Metamagical Themas, Chapter 10). Each year he shows the best of previous years, the new class produces many (a few novel and exciting), and he adds his favourites to the portfolio: Huff plays natural selection, propagating "the most fit genes" for twenty years or more. He labels exhibited pieces "from the studio of William Huff" alone; publishing a selection, Hofstadter credited both Huff and each student. Huff deserves a large share, "whether it was less or more than 50 percent remains an unresolved but fascinating question".
Another computer mathematician: Geometry
H. L. Gelernter's Geometry program allegedly found a beautiful, original proof. Two twists are usually omitted: the program did not quite make the discovery (two researchers realised in conversation that it would, if run on the problem, and to Hofstadter's knowledge the run never took place), and the proof was nearly 2,000 years old.
The theorem: the base angles of an isosceles triangle are equal. The standard proof draws a line dividing the triangle into congruent halves. The shorter proof treats the triangle as two triangles: with apex A and base vertices B and C, ABC (counterclockwise) and ACB (clockwise) are congruent by side-side-side, so the angles at B and C are equal. It looks like nonsense at first ("one object as two different objects"), yet is "certainly the most concise and elegant proof", found by Pappus of Alexandria.
from itertools import permutations
from math import dist
# Gelernter-style geometry: a triangle is just an ordered triple of labels
pts = {"A": (0, 3), "B": (-1, 0), "C": (1, 0)} # isosceles: AB = AC
tris = ["".join(p) for p in permutations("ABC")]
print("distinct 'triangles' the program sees:", tris)
def sides(t): # sides in vertex order
a, b, c = (pts[v] for v in t)
return (round(dist(a, b), 6), round(dist(b, c), 6), round(dist(c, a), 6))
for t1 in tris:
for t2 in tris:
if t1 < t2 and sides(t1) == sides(t2): # SSS, correspondence by order
pairs = [f"{x}<->{y}" for x, y in zip(t1, t2)]
new = [f"angle {x} = angle {y}" for x, y in zip(t1, t2) if x != y][:1]
print(f"{t1} congruent to {t2} ({', '.join(pairs)}): {new[0]}")
Boden's diagnosis: no sense of surprise. To Geometry a triangle was an ordered triple of labels, so ABC differed from ACB as "eta" from "eat"; where we see one shape it sees six triangles (ABC, ACB, BAC, BCA, CAB, CBA). The sketch above does exactly that, and "discovers" Pappus's proof three times without noticing anything odd. Proving BAC congruent to CAB, the program never noticed they were one shape seen two ways, "much less that this proof was curious or interesting". The lesson: creativity needs the ability to sense that a true fact is surprising, a program introspective enough to watch what it does, judge interest, select, revise its preferences into a personal style, and know it has one. "A truly creative program would have to combine the roles of Harold Cohen and his program Aaron, or of William Huff and his students, or of Doug Lenat and AM, or of Bill Chamberlain and Racter."
Plagiarism versus creativity
Boden's analysis is a rare exception; exhibits of computer prose, art or music usually say almost nothing about how they were made. "Without such information, of what meaning is the exhibit?"
Koestler, chopped ever finer. (1) A brilliant essay on humour "written by a computer" turns out to be lifted from Arthur Koestler's The Act of Creation, even if the machine stored a hundred million books and chose this passage: plagiarism, "clever plagiarism, perhaps". (2) Chop the passage into ten-word segments tagged with parts of speech, give the program an English grammar and ask for a grammatical arrangement; it reproduces long stretches, then, slightly modified, the whole: no more "writing" than assembling a jigsaw puzzle printed with a Monet makes one an Impressionist; thoughts were dispensable. (3) Chop into two- or three-word pieces: at what point would boredom turn to amazement, and ideas rather than tokens enter? (4) The extreme: a truly new, unplagiarised theorem, piece of music or poem from a program whose mechanisms are wholly inaccessible. Outcome: Hofstadter cannot judge it. To those who say a product is creative for objective reasons, not its history, he replies: "I cannot judge just the object before me; I feel a need to have a sense for its provenance." Nor can he divide credit between program and author without knowing the program.
Mechanisms, probes and the Turing Test
Besides reading the code, there are two routes to a program's mechanisms. A description by its builders may be biased, unclear, too technical or too vague, or worse, a messy alternation of the two, "all too common in the AI literature". Or one can interact with it over time, unrestrictedly, probing where it is flexible and where rigid.
That is the basis of Turing's "Imitation Game" (1950): a way to detect "thinking" in a black box via teletype, assuming a serious candidate thinker, so conversation in natural language on any topic in any style. In short, an interrogator tries to distinguish machine from human by typed conversation alone; jokes, analogies, allusions, history, culture and personal beliefs are all fair game. Hofstadter's own proposal for cognitive models is "much less ambitious": no natural language required, just long interaction letting the model's full range of behaviour, and so its innermost mechanisms, become visible. The idea that covert mechanisms can be revealed by overt behaviour "lies at the very heart of modern science".
Brain structures versus cognitive mechanisms
Calling Copycat "a model of thinking" raises whether it is a model of the brain. "The human brain" is a singular standing for billions of different physical brains, each uniquely wired; using it presupposes an abstract level shared by all. Decoded, "The human brain can think" means "There are abstract universal mechanisms, diversely instantiated over and over again in specific brains, that allow thinking to take place." These mechanisms are patterns "somewhere along the spectrum between hardware and software". Neural-network enthusiasm has pushed many to place them nearer the hardware end and to recast cognitive science as a search for brain structures rather than mental mechanisms; the distinction is tricky.
| Physical structures (some of many) | Cognitive structures (some of many) |
|---|---|
| atomic nuclei, water molecules | the concept dog; the link cow-milk |
| amino acids, neurotransmitters | Treisman's object files; geons; 2½-D sketches |
| synapses, dendrites, neurons | frames, scripts, schemas |
| neuron clusters, visual-cortex columns | Schank's memory organization packets and TOPs |
| larger regions (area 19), whole visual cortex | short-term and long-term memory |
| the whole left hemisphere | Minsky's agents, K-lines, nemes, nomes; FARG's codelets, urgencies, slippages, conceptual distances and depths, bonds, descriptions, bridges, groups, strengths, temperature |
Breathless press. Reports of synaptic-weight experiments "unraveling the secrets of memory" presume, "quite literally mindless[ly]", that memory has no organisational level and a chemist could fathom it; psychology is "thrown to the wind". Each cognitive item, if valid, must be implemented physically and may become grounded in coming decades as genes were by DNA. The right level is unknown. Other sciences resolved such questions: gases are best described by thermodynamics, though made of molecules; heredity by codons, not chemistry, with DNA as "double helix" (physical) and "genome" (information). Hofstadter proposes "double hemisphere" and "memome".
Some levels are certainly too low
Some still hold that a deductive formalism (predicate calculus, or a representation language like KL-ONE) is implemented in neurons and that the formalism is what makes it thinking, just as source code, not the machine, makes a word processor. Many find this "once-bright hope" implausible, but it cannot be ruled out. Nearly everyone agrees that "At which level of description of the brain is thinking really going on?" has an answer, which is why cognitive scientists do not study quarks or quantum mechanics (though Conrad et al., 1989, tried to bring the molecular biology of enzymes into high-level thought). A thinking object on a non-neural substrate would teach us that thinking depends on levels X and above, with various substrates possible below X.
Criteria for recognising thinking. If a non-brain might think, we need criteria. We recognise kindness by kind acts, not by DNA tests for a "kindness gene" or scans for an "empathy center"; a word processor by what it does on screen, not its hardware. Turing proposed high-level behavioural criteria for thinking, the "fluid manipulation of ideas", without tying it to neurons or any hardware. Perhaps when research is done, neurons' details, and even clusters' internal structure, will matter no more than organic chemistry and quantum mechanics, and thought's underpinnings will be "abstract organizational principles, which is to say, software", possibly "roughly at the level of the mechanisms of Copycat, Tabletop, and Letter Spirit, or a little bit lower".
Scattering experiments and "direct" observation
Many think the Turing Test, being about "mere behaviour", can only scratch the surface. But where is the line between direct and indirect observation?
From gold foil to ultrasound. Early in the century Ernest Rutherford fired alpha particles through gold foil, gathered scattering-angle statistics, and, via a theory of electromagnetic scattering, deduced a central nucleus with electrons around it. The technique became standard, its abstruse inference coming to feel direct. Computing power now turns electron- and X-ray-microscope scattering into what are effectively photographs of molecules and atoms: the same calculation, done fast enough to feel different. Ultrasound lets us "see" a fetus move in real time, as we "talk" by phone without thinking of the coding in between; a century ago "voice teleportation" seemed miraculous. Outcome: "any boundary between 'direct observation' and 'inference' is a subjective matter". From optical to radio telescopes, optical to electron microscopes and particle scattering, a process feels direct once a computer produces a vivid picture: "Today's abstruse inference is tomorrow's direct window!"
The Turing Test and the visibility of deep mechanisms
The Turing Test is such an experiment: the device "unwittingly reveals its (microscopic) internal mechanisms" through its answers, and the depth of probing is unlimited, given ever subtler questions and scrutiny, as astronomers learn stellar mechanisms from spectra hundreds of light-years away.
Windows onto covert machinery in typed output
- Word frequencies: is "the" the most common word, "time" the most common noun? Are rare words overused? Does the "mind" grow suspicious when questions overuse rare words?
- Sensitivity to tone: formal and slang inputs understood? Humour from improper mixtures of tone? Are registers kept apart or mixed unnaturally (think of Racter)?
- Types of errors: misspellings, transpositions, misused words, blends, grammatical errors, which "reveal a great deal about the mechanisms of thought".
- Word flavours in context: what pressures choose "jock" over "athlete", "lady" over "woman", "endeavor" over "try", "attempt", "strive"?
- Level of abstraction: "Fido", "the dog" or "some mammal"; "that pedestrian", "that guy" or "he"; "Barcalounger", "recliner", "armchair", "chair", "piece of furniture", "thing".
- Gender defaults: when are "heroine", "millionairess", "farmerette" produced? When generic "man" and "he"? What gender is assumed for "pedestrian" or "surgeon"?
- Throwaway analogies: are "I used to do that, too!" and "Has that ever happened to you?" understood instantly and produced in the right contexts?
- Throwaway counterfactuals: "I wouldn't have felt that way if I'd been my father", "What would you have done if you'd been my parents?"
- Timing: whether output comes by character, line or speech, its speed supports inferences about mechanisms.
Many of these are established techniques of cognitive psychology (Robert French, 1990, defends such probing). "Anyone who seriously believes in the validity of the Turing Test does so precisely because they appreciate the subtlety of the probes it offers." The test "blurs the supposedly sharp line between probing of behavior and probing of mechanisms", and so: "Any computer model of mind that passes a truly deep Turing Test, one that probes for the fundamental mechanisms of thought, will agree with 'brain structures' all the way down to the level where the essence of thinking really takes place."
The Turing Test and basic research
The recently founded Loebner Prize, for the first program to pass a restricted Turing Test, is "amusing and even exciting" but "very premature": unless interrogators probe in a very sophisticated way, it will become "a race for flashier and flashier natural-language 'front ends' with little substance behind them", when even microdomain models are "enormously far from achieving true mental fluidity". "What is needed is a prize for advances in basic research, not a prize for window-dressing." FARG's projects consciously work at a stripped-down level, far from "the seductive glories of natural language": where real-world AI implements only the "tips" of iceberg-like concepts, FARG implements "the essence of a very limited number of artificially simple concepts". No FARG program will come close to passing the Turing Test, but the hope is that this work leads, in the distant future, to architectures nearer "the genuine fluid mentality that Alan Turing so clearly envisioned".
CRITICAL LENS. (1) History of the Pappus proof: Hofstadter's version (a run that "never took place") is closer to the truth than the popular legend, but the credit is usually traced not to Gelernter's program at all: Marvin Minsky later said he found the proof himself by "hand simulation of what a machine might do" (1956). Pappus's dates are usually given as about AD 290–350, so "end of the third century" is approximate. (2) The "unlimited depth" claim is an argument by analogy: scattering works because physics supplies a precise theory linking structure to output, and cognitive science has no comparable theory linking mechanisms to answers. (3) The prediction about prizes came true in its own way: the Loebner Prize (first held 1991) ran for nearly three decades as Hofstadter feared, rewarding conversational tricks, and lapsed after 2019. (4) His insistence on knowing provenance sits uneasily with his own view that behaviour under probing reveals mechanism; the Epilogue holds both positions at once.
The Epilogue thirty years on. Hofstadter's distinction between a truly deep Turing Test and a shallow one became the central issue. In a randomised three-party study, Cameron Jones and Benjamin Bergen (2025) found GPT-4.5, prompted to adopt a persona, was judged to be the human 73 percent of the time after five-minute conversations, more often than the real humans it was paired with, while the 1960s ELIZA was chosen only 23 percent of the time: a short, casual chat is now passed. The probes in his list (tone mixing, word flavour, gender defaults, throwaway counterfactuals) are exactly the dimensions where today's models are strongest, because they are trained on text; the probes that still discriminate are closer to his microdomains: counterfactual alphabets in letter-string analogies (Lewis and Mitchell, 2024), and ARC-AGI-2, where the best 2025 competition entry solved only about a quarter of tasks. His Koestler ladder is now the core question about LLM output: models recombine fragments of a vast corpus at a grain finer than ten words, and provenance is opaque, which is why both credit and creativity disputes over generated text and images are unresolved. AM's lesson about human filtering applies too: published displays of AI creativity need the denominator: how many runs were made, and who selected the ones shown. Hofstadter himself, in a 2023 interview, said the progress of large language models was "terrifying" to him and that he thought about it "practically all the time"; earlier, in his 2018 Atlantic essay "The Shallowness of Google Translate", he had argued that fluent machine translation lacked understanding. For practitioners, the Epilogue's durable advice is evaluation by open-ended, adversarial probing plus disclosure of mechanism and selection, rather than by curated exhibits.
Fluid Concepts and Creative Analogies in thirty sentences, a table of its architectures and mental models, a critical verdict, a cast list, and the links that matter for AI engineering, architecture and finance. The first six takeaways are the ones to remember if you remember nothing else.
Thirty takeaways
- Analogy is the core of cognition: recognising, categorising and reasoning all come down to seeing one situation as another, so a model of analogy is a model of thought.
- High-level perception cannot be separated from analogy: building the representation is most of the work, and programs given hand-made representations that already contain the answer (SME, BACON) have skipped the hard part.
- Concepts are fluid: each has a halo of neighbouring concepts, and under pressure it can slip to a neighbour (successor to predecessor, leftmost to rightmost, letter to group), which is where creativity starts.
- Thought emerges from subcognition: thousands of tiny, parallel, randomised codelets, chosen by urgency from a Coderack, build and destroy structures; no single process "decides".
- Temperature regulates exploration: a global measure of disorder that falls as coherent structure appears, making the program random when confused and decisive when it understands, a cousin of simulated annealing that is driven by the program's own perception.
- Answers are statistics, not single outputs: run Copycat 1,000 times on abc ⇒ abd; xyz ⇒ ? and xyd comes up 771 times while the insightful wyz comes up 137 times at the lowest temperature, so frequency measures obviousness and temperature measures quality.
- Pattern perception is the root of intelligence: Seek-Whence treats a sequence as something to be perceived and chunked, with sameness and successorship as primitives, never as a formula to be found by search.
- The parallel terraced scan explores many pathways at once, spending effort on each in proportion to its promise, so weak ideas get cheap checks and strong ones deep development.
- Jumbo's glomming shows how letters spark, bond and cluster into pronounceable chunks without a dictionary, and how structure-preserving transformations (spoonerisms, regroupings) jolt a stuck view.
- Declarative knowledge plus a work area: Numbo's Pnet of arithmetic facts and landmark numbers primes the cytoplasm where bricks combine, which is how people solve Le compte est bon.
- Skilled cognition is nondeterministic: good mental estimators give different answers to the same problem on different occasions, which supports randomised architectures.
- The Eliza effect is ineradicable: people read understanding into English-looking tokens, and researchers are not immune when their programs manipulate words like "heat" and "water".
- Representation-building must interact with mapping: perception biases what analogies are found, and a tentative analogy biases what is perceived, so the two run as one process.
- The Slipnet holds Platonic concepts with conceptual depth; deep concepts are hard to notice but, once noticed, resist slipping and carry high value.
- The Workspace holds descriptions, bonds, groups and bridges built by codelets; structures compete, and only coherent sets survive.
- Top-down and bottom-up pressures mix: activated concepts spawn codelets that look for their instances, while noticed instances activate concepts.
- Impasses drive creativity: the z-snag in xyz forces a re-perception that can lead to the mirror-image insight wyz, a miniature change of frame.
- Microdomains are a method, not a retreat: tiny worlds keep the mechanisms in view, and scaling them up in imagination (BattleOp, Ob-Platte) shows they hold the real problems.
- SME and ACME model only mapping: Mitchell and Hofstadter find them run on hand-tailored predicate-logic inputs, with semantically hollow words and no way to build or revise representations.
- Copycat sits between symbolic AI and connectionism: it has explicit concepts and structures, but they are fluid, emergent and statistical.
- Inventing good analogy puzzles demands more insight than solving them, so benchmark design is itself a creative act.
- Copycat does not know what it is doing: it hits the same snag again and again, keeps no trace of its moves and forgets each problem, so Metacat must watch itself.
- Self-watching is the crux of full creativity: a creative system must perceive its own processing, notice ruts and explain why an answer is good.
- Tabletop shows an emergent personality: its choices on café-table problems reveal a stable stochastic style that only statistics over many runs expose.
- Averaging human data destroys cognitive style: Hofstadter offers eleven qualitative criteria (plausibility, frequency tracking obviousness, human-like pathways, graceful sensitivity to tweaks) instead of fitting averaged questionnaires.
- Letters are concepts, not shapes: Letter Spirit treats each letter as a set of roles filled by parts, and style as norm-violations, motifs and abstract rules applied consistently across 26 letters.
- Creativity is a loop of making and judging: Letter Spirit's Imaginer, Drafter, Examiner and Abstractor propose, draw, recognise and judge style in a cycle.
- Recognition and creation share mechanisms: the perception that recognises an "a" at the edge of its category is the same perception that designs one.
- "Creative" programs often borrow credit: Aaron, Racter and AM look creative because humans select, filter or steer their output; a program earns credit only when it perceives and judges its own work.
- A deep Turing Test probes fluid concepts: questions that demand slippage, analogy and self-perception separate understanding from fluent surface far better than small talk.
Architectures and mental models
| Name | What it says | Use it when |
|---|---|---|
| Microdomain | a tiny world that isolates cognitive mechanisms | prototyping AI capabilities, designing evaluations |
| Seek-Whence | perceive, chunk and extrapolate sequences | pattern detection in time series and logs |
| Codelets and Coderack | many small actions chosen by urgency | agent orchestration, event-driven systems |
| Parallel terraced scan | cheap checks for all, deep work for the promising | search budgets, triage, fraud and alert pipelines |
| Temperature | disorder controls randomness of choice | balancing exploration and exploitation |
| Glomming / sparks | elements bond into chunks bottom-up | clustering, entity resolution |
| Pnet + cytoplasm | long-term knowledge primes a working space | retrieval-augmented reasoning |
| Eliza effect | people over-read understanding into fluent text | judging chatbot and LLM claims |
| High-level perception | build the representation, then map | data modelling, feature engineering |
| Slipnet | concepts with depth, halos and elastic links | ontology design, knowledge graphs |
| Conceptual slippage | a concept yields to a neighbour under pressure | reframing problems, analogical transfer |
| Workspace structures | descriptions, bonds, groups, bridges | explainable intermediate representations |
| Frequency vs temperature | obviousness differs from quality | evaluating model outputs over many samples |
| Snag and re-perception | an impasse forces a new view | incident analysis, design reviews |
| Metacat self-watching | trace, remember and explain own moves | agent memory, reflection, observability |
| Eleven validation criteria | qualitative checks of cognitive style | evaluating generative and agentic systems |
| Roles and r-roles | letters as concepts built from roles | design systems, brand consistency |
| Norm-violation and spirit | style as consistent departures from norms | generative design, style transfer |
| Imaginer–Drafter–Examiner–Abstractor | propose, render, recognise, judge in a loop | generator–critic and multi-agent loops |
| Credit test | credit requires self-perception of output | judging AI creativity and authorship claims |
Critical lens on the whole book. Fluid Concepts and Creative Analogies is the most technical and most candid statement of Hofstadter's research programme, and its strengths and limits are both clear thirty years on. (1) Small domains, slow progress: the models are elegant and psychologically suggestive, but none scaled beyond its microdomain, and Letter Spirit was only partly built in 1995 (McGraw's 1995 thesis and Rehling's 2001 thesis finished pieces of it); Metacat appeared in 1999 (James Marshall). (2) Validation is thin: Copycat and Tabletop are judged by qualitative plausibility and 1,000 or 50 runs per problem rather than systematic comparison with human data, which the book defends in Preface 9 but which psychologists still contest. (3) Critiques of rivals are sharp and partly fair: SME and ACME did depend on hand-built representations, yet the Structure-Mapping Engine later became part of Forbus's Companion architecture and of a large body of experimental work on human analogy. (4) Deep learning changed the ground: the book's dismissal of neural networks as offering no "free lunch" aged poorly; transformers (2017) and large language models learned rich, fluid-seeming concepts from data at scale. Webb, Holyoak and Lu (2023) reported GPT-3 matching or beating people on letter-string analogies, while Lewis and Mitchell (2024) showed sharp failures on counterfactual alphabets, which is FARG's question about roles in modern form. On Chollet's ARC, OpenAI's o3 reached 75.7% and 87.5% (December 2024), and the harder ARC-AGI-2 remained largely unsolved in 2025. Hofstadter said in 2023 that LLM progress had unsettled long-held views of his. (5) Some details are dated or loose: water's bond angle is about 104.5°, not 107°; Hebb's book is from 1949; Go has since fallen to AlphaGo (2016); the Pappus "discovery" story is usually traced to Minsky rather than Gelernter's program. The core insight, that perception and analogy are one process and representations must be built, not given, has aged better than almost anything else in 1990s AI.
Who's who
| Person | Role in the book | Why they matter |
|---|---|---|
| Douglas Hofstadter | FARG's founder; author or co-author of every chapter but one | the fluid-concepts research programme |
| Melanie Mitchell | co-designer and implementer of Copycat | Chapters 5 and 6; later a leading critic of AI hype |
| Robert French | designer of Tabletop | Chapters 8 and 9; The Subtlety of Sameness |
| Gary McGraw | Letter Spirit's first implementer | Chapter 10; the Examiner |
| Daniel Defays | Belgian psychologist, Liège | author of Numbo (Chapter 3) |
| David Chalmers | then a FARG graduate student | co-author of the critique of AI methodology (Chapter 4) |
| Marsha Meredith | built Seek-Whence | FARG's first large project |
| Gray Clossman, David Rogers, Marek Lugowski, Alejandro Lopez, Greg Huber, Roy Leban, David Moser | FARG members | errors research, early projects, the group's culture |
| James Marshall, John Rehling | later FARG students | Metacat; Letter Spirit's later implementation |
| Dedre Gentner, Ken Forbus | structure-mapping theory, SME | the main rival model of analogy |
| Keith Holyoak, Paul Thagard | ACME | constraint-satisfaction mapping |
| Herbert Simon, Pat Langley | BACON | "rediscovery" of Kepler's third law |
| Thomas Evans, Walter Reitman | ANALOGY, Argus | early programs that pointed toward Copycat |
| Joseph Weizenbaum | Eliza (1966) | the Eliza effect |
| Harold Cohen, Doug Lenat | Aaron; AM | case studies in creative credit |
| Donald Knuth, Hermann Zapf | Metafont; Optima | the challenge of letterform style |
Connect it
- Large language models. LLMs are the strongest test of FARG's thesis: they learned fluid-seeming concepts from data, yet the counterfactual-alphabet failures and ARC results show where roles that survive a change of medium are still fragile; Copycat's problems remain the cleanest probes.
- Agentic AI architecture. The Coderack, urgencies, terraced scan and temperature are a design pattern for multi-agent orchestration: many cheap probes, budget in proportion to promise, and a global signal that says when to stop exploring.
- Evaluation. Copycat's habit of reporting frequency and quality over 1,000 runs is the right way to evaluate stochastic models; Preface 9's criteria are a ready checklist for judging agent behaviour beyond averaged benchmark scores.
- Banking and risk. The Eliza effect is a live model-risk issue: fluent explanations from an LLM copilot (for a relationship manager, a credit analyst or a screening analyst) invite over-trust, so controls should test whether the system built the representation or only echoed one.
- Enterprise architecture. High-level perception is the architect's job too: most failed systems mapped a hand-made representation of the business that already assumed the answer. Build the model of the situation first, and let it be revised.
- Creativity and credit. The Epilogue's test (who selected, who judged?) is the right frame for authorship and IP questions about AI-generated work in 2026.
About this book
Fluid Concepts and Creative Analogies: Computer Models of the Fundamental Mechanisms of Thought by Douglas Hofstadter and the Fluid Analogies Research Group, 1995. This is a chapter-by-chapter study of the book, with summaries, maps, tables and diagrams; short quotations keep their page references. It is shared free for personal study, is not for sale, and is not endorsed by the author or publisher. Please read and buy the original.
Insight Editions · rajeshrmahapatra.com/insight-editions