Of Models and Machines: Implementing Bounded Rationality
Abstract
This essay explores the early history of Herbert Simon's principle of bounded rationality in the context of his Artificial Intelligence research in the mid 1950s. It focuses in particular on how Simon and his colleagues at the RAND Corporation translated a model of human reasoning into a computer program, the Logic Theory Machine. They were motivated by a belief that computers and minds were the same kind of thing—namely, information-processing systems. The Logic Theory Machine program was a model of how people solved problems in elementary mathematical logic. However, in making this model actually run on their 1950s computer, the JOHNNIAC, Simon and his colleagues had to navigate many obstacles and material constraints quite foreign to the human experience of logic. They crafted new tools and engaged in new practices that accommodated the affordances of their machine, rather than reflecting the character of human cognition and its bounds. The essay argues that tracking this implementation effort shows that “internal” cognitive practices and “external” tools and materials are not so easily separated as they are in Simon's principle of bounded rationality—the latter often shaping the dynamics of the former.
This essay is about a meeting between a model and a machine. In particular, it explores how, between 1955 and 1957, Herbert Simon and his colleagues translated a model of human reasoning into a program for the JOHNNIAC computer at the RAND Corporation in Santa Monica, California. It is a story about implementation, about how an abstraction was made to accommodate the materiality of early digital computing.1
The model of human reasoning in question anticipated Simon's introduction of the principle of bounded rationality in 1957 and incorporated certain of its central tenets.2 Other pieces in this Focus section use the principle of bounded rationality as a lens through which to explore episodes in history of science. This essay instead explores the early history of the principle itself, in particular as it related to Simon's early Artificial Intelligence (AI) research.
Bounded rationality proposes that the human capacity to process information, model the world, and solve problems is inherently constrained. But when Simon and his colleagues translated their model of human reasoning into a computer program, a different set of constraints came to the fore—those of the 1950s computer on which it ran. In accommodating the affordances of that machine, Simon and his colleagues had to navigate obstacles quite foreign to the human experience. In implementing their model, they transformed it. Here, I track that transformation to suggest that Simon and his colleagues developed new ways of thinking, new tools, and new practices while navigating a novel technology.
Simon's principle of bounded rationality insists that human reasoning is not merely constrained by external factors but, rather, has intrinsic and internal limitations. I propose that it may not be so simple to separate the “internal” and the “external” of human thinking. The tools people use and the material landscapes they survey when exploring problem domains can inform different cognitive practices.3 In following bounded rationality into the computer, we can see traces of such an encounter.
BOUNDED RATIONALITY
Simon introduced the principle of bounded rationality in his 1957 work Models of Man as follows: “the capacity of the human mind for formulating and solving complex problems is very small compared with the size of the problems whose solution is required for objectively rational behavior in the real world—or even for a reasonable approximation to such objective rationality.”4 People simply do not have the cognitive capacity to consider all relevant and available information about the world when solving problems and making decisions within it.
Moreover, in Simon's view exercises in rational judgment do not occur in a vacuum—decisions and solutions that actors formulated in their past constrain their future courses of action. Simon referred to this phenomenon as “time-binding” in his Ph.D. dissertation—among the earliest examples of the language of “boundedness” in his work.5
Simon was writing in opposition to existing classical theories that characterized economic agents as perfectly rational in their pursuit of maximal profit and utility. Those theories focused on external factors that constrain economic agency—fixed budgets, production schedules, prices, and so on—rather than any internal cognitive or psychological limits.
Simon argued that this idealization of economic agency missed something quite fundamental about human cognition: even when our goals are clear and explicit, it may not be possible to make perfectly rational choices in pursuing them given that the mind does not have the capacity to manage all relevant factors. Instead, Simon posited that economic agents work with necessarily simplified models and imperfect tools.
This was not to say that economic agents were irrational or that their economic behavior should be understood in terms of affect, taste, or emotion. Rather, rational behavior was a matter of information processing, and the amount of information people could process was subject to insurmountable internal bounds. Insurmountable, that is, for the individual. Simon developed the principle of bounded rationality in part because it explained the utility of social and corporate organizations: decision-making ability could be improved when the information-processing efforts of multiple agents were aggregated.
When Simon put forward this theory, he was a professor of business administration at the Carnegie Technical Institute and had been consulting at the RAND Corporation since 1952. The theory of bounded rationality and the notion of “information processing” that lay at its heart were intimately tied to the broader research culture at RAND.6
RAND was funded by the U.S. Air Force, which sought “a robust general science of warfare in which winning strategies and necessary tactics could be derived to achieve global superiority over an aggressor.”7 That is to say, the Air Force wanted to know what future wars would look like and how they could be won. RAND researchers approached this mandate through the study of management, organization, and decision making during wartime, especially in the face of uncertain knowledge.
One dominant approach was unified under the rubric of “systems analysis”—in which weapons, surveillance and intelligence equipment, political organizations, and other technological and human contingents were understood as dynamic systems. These could be modeled, empirically explored, and ultimately optimized. The systems framework enabled researchers to study very different kinds of things with a shared set of formal tools. Simon consulted for many such projects and through them also encountered his closest collaborator—Allen Newell.8
In this framework, the two argued that human minds and modern digital computers were also systems. More, they were the same kind of system: both were “complex information processing systems” that take symbolic information as input and manipulate it to solve problems and formulate judgments by applying specific rules.9 With this class of system, Newell and Simon fashioned computers and minds into the same kind of thing, into a single object of scientific study.
Here, they drew from certain existing theories of human reason as the execution of deductive rules, dating at least from the late nineteenth century.10 Newell and Simon aimed to uncover the rules that guided human problem solving and explore their potential, their bounds, and the behavior they produced by instructing computers to follow them as well—computers of course being the quintessential rule-following agents, capable of doing only what they could be explicitly instructed to do. With this focus on rules and systems, mind and computer could be understood through and as one another.
Their constructed similarity was not metaphorical, nor was it material:
We wish to emphasize that we are not using the computer as a crude analogy to human behavior. We are not comparing computers with brains, nor electrical relays with synapses. Our position is that the appropriate way to describe a piece of problem-solving behavior is in terms of a program: … in terms of certain elementary information processes it is capable of performing. … Digital computers come into the picture only because they can, by appropriate programming, be induced to execute the same sequences of information processes that humans execute when they are solving problems.
MODELING THE LOGIC THEORY MACHINE
Central to Newell and Simon's exploration of human reasoning, then, was the development of computer programs. Among their earliest was the Logic Theory Machine, which was developed between 1955 and 1957, just before Simon published Models of Man.
The Logic Theory Machine was designed to embody human problem-solving behavior in the domain of elementary logic. In particular, it was supposed to prove simple theorems from a canonical 1910 treatise, Principia Mathematica.12 Logic seemed a perfect choice in part because, in its early twentieth-century formulations, it was supposed to make explicit the basic and primitive rules according to which deductive reasoning proceeded. Moreover, it was about rules. Logic offered a set of basic premises from which to begin and a set of rules for deriving true conclusions from them.
One intuitive way to approach the automation of proof would be to provide those premises and inference rules to the computer, which could then be programmed to apply the latter to the former in order to deduce any provable consequences. Users could then input some proposition from Principia and run the computer to see if any permitted sequences of inference led to it. If so, the program's sequence of steps would constitute a proof.
Even with some modifications, however, this method was so inefficient as to be unusable. It led to an exponential explosion of data that quickly exhausted the resources of 1950s computers.13 More important, Newell and Simon didn't believe that people actually proceeded by exhaustive deduction when they solve logical problems either. People would, in fact, encounter the intractability of this method even sooner than computers. There are, simply, too many possible conclusions to derive. Exhaustive deduction didn't appear to be a successful model of human problem-solving behavior or a method for producing it in computers.
In designing a more appropriate model, they turned to a Hungarian mathematician by the name of George Polya who had a significant interest in mathematics pedagogy.14 He too believed that, contrary to many myths and idealizations of mathematical work, mathematicians don't just go about deducing conclusions from axioms. When they set out to prove something they do all kinds of things: they experiment with cases, looking for patterns; they develop analogous problems; they work backward from something they already believe is true; they look for counterexamples; and so on. It can be a long way from axioms to desired conclusions by deduction, and mathematicians look for shortcuts.
Moreover, Polya believed that these “ways of guessing” employed by research mathematicians were not esoteric, tacit secrets of the trade but could in fact be made explicit, formalized as rules, and subsequently taught to students of mathematics to equip them better for research. He called them heuristics—from the Greek word “heuriskein,” for “find.”15
Newell was familiar with Polya's work, having reportedly taken all of his classes while an undergraduate at Stanford University. In it, he and Simon recognized a viable model of human problem-solving behavior. The model also exemplified what Simon had in mind when he would later posit the principle of bounded rationality. The model offered a set of explicit rules thought to capture human problem-solving behavior in the face of an intractable problem domain.
There was one heuristic in particular—outlined in How to Solve It and possibly introduced to Newell in 1946, when he took the eponymous course—that features in the design of the Logic Theory Machine. Polya called it “Working Backwards,” identifying its origins in Pappus (ca. 290–350 c.e.) and in experimental psychological studies of problem-solving behaviors in animals.16
Deductive methodology begins from axioms and known theorems and attempts to deduce a desired conclusion from them. In this heuristic method, one begins with the end—the thing to be proved—and tries to work backward to the axioms. Polya identified the roots for this heuristic in antiquity, citing Pappus: “Let us start from what is required and assume what is sought is already found. … Let us inquire from what antecedents the desired result could be derived.”17
In this manner, the Logic Theory Machine would begin with a desired conclusion—a theorem from Principia—and work backward using another heuristic method, called “subproblem chaining,” that can be imagined as a kind of inferential reverse engineering. It would first generate a set of subproblems that, if true, would lead to the desired conclusion by the application of a single rule of deduction. Then it would generate a set of subproblems that, if true, would lead to those subproblems in a single permissible step; and so on. The hope was that the axioms of logic themselves would eventually be produced as subproblems. If this occurred, one could run that series of subproblems backward and have a deductive proof of the desired conclusion.18
This method did not guarantee that a proof would be found—the axioms may never be generated as subproblems. Heuristics were like Simon's concept of “time-binding” in decision making—paths chosen in the past bind future possibilities. But this did not bother Newell and Simon, who noted that mathematicians could also never be sure that a given approach would lead to their desired result. The heuristic rules served to “edit” the huge set of possible deductions to only those that would lead to the desired conclusion. While incomplete, it gave a method for solving problems in a hugely complex domain—precisely the kind of behavior that Simon would highlight with his theory of bounded rationality in 1957.
Some disagreed, though, that this model in fact captured human practice. Among the most vocal critics was Hao Wang, a Chinese-American logician who also worked on automating logical proof, though in very different ways. He wrote, “The word ‘heuristic’ is said to be synonymous with the ‘art of discovery,’ yet often seems to mean nothing else than a partial method which offers no guarantees of solving a given problem. … While the discussions by Newell-Shaw-Simon are highly suggestive, the writer prefers to avoid hypothetical considerations when possible.”19 Wang used the word “hypothetical” because, in his view, very little was understood about human cognition and, moreover, because he believed that the real art of discovery in mathematics could never be reduced to any finite set of rules.
Simon's theory of bounded rationality was designed to displace an ideal—the perfectly rational economic agent of classical theory. Wang suggested, however, that Simon was too quick to take up another ideal, equally untrue—that of human reasoning as rule following: “logicians had worked with the fiction of man as a persistent and unimaginative beast who can follow rules blindly, and then the fiction found its incarnation in the machine.”20 Computers, in Wang's view, would not be good at simulating actual human problem-solving practice; they would be good for better approximating an ideal of those practices.
The resemblance between minds and computers would become even more precarious when the model was implemented as a running computer program. Polya's heuristics supplied Newell and Simon with a model of theorem-proving practice. Proof was a heuristic search by way of backward subproblem chaining. But models alone don't compute. The problem domain of logic had to be translated into a form that could be stored and manipulated in computer memory. The heuristic rules had to be translated into computer operations. The model, to borrow from the computer historian Michael Mahoney, had to be “put into the computer.”21 And inside the computer, things looked quite different. In implementing the model, it was not the limitations of human rationality that mattered, but the affordances of computing machinery and, in particular, of the RAND Corporation JOHNNIAC computer.
IMPLEMENTING THE LOGIC THEORY MACHINE
In implementing the model, Newell and Simon had to enlist a third collaborator who had more experience with the actual machine: John Clifford Shaw, from the RAND Numerical Analysis Department (later to be renamed the “Programming Department”). The department housed the computing machinery at RAND along with those who operated and maintained it. Shaw described it as follows: “Our department was down in the basement. … We had some 604 calculators back in a low ceilinged room that we called the sweatshop because we literally sweated—took off our shirts.”22 Machine operation at that time could be quite physically demanding, as operators transported boxes of punched cards from machine to machine, while the machines themselves produced considerable noise and heat.
It was a quite different material world than the one in which Simon worked—he highlighted instead his “paper-and-pencil work on developing the LT [Logic Theory Machine] program” and his “hand simulations” of it. Simon reportedly also simulated the program using his family members over the winter of 1955–1956. For him, the material substrata in which the problem-solving behavior was implemented was always secondary to the model. All, he thought, manifested the same formal system of information processing. In fact, Simon reports that he and Shaw interacted very little during the computer implementation effort. Simon was a builder of models, and Shaw was, as Newell put it, “the one guy who understood what computers are all about.”23 Shaw and Simon, simply put, had different relationships to the Logic Theory Machine.
Implementation stands at the interface between models and machines—between abstraction and materiality. Newell, Shaw, and Simon described it this way: “The Logic Theory Machine, of course, is a program, written for the JOHNNIAC computer, represented by marks on paper or holes in cards. However, we can think of LT as an actual physical machine and the operation of the program as the behavior of the machine. One can identify LT with JOHNNIAC after the latter has been loaded with the basic program.” That is to say, the Logic Theory Machine program lived on paper and on punched cards. But it could be imaged as an actual machine as well—the JOHNNIAC was transformed into that machine by the input of the program instructions to its memory.24 Implementation, in this view, was the process of turning the JOHNNIAC into the Logic Theory Machine.
Two main features characterized these efforts. First, the elements of logic—its propositions, axioms, rules of inference, and so on—had to be given a form that could be input to the JOHNNIAC and stored in its memory systems. Second, the heuristic rules in the model of human theorem-proving behavior had to be translated into computer operations that manipulated the contents of that memory.
In developing these representations and operations, Newell, Shaw, and Simon had to navigate the materiality of the JOHNNIAC. Here, the character of minds and computer programs diverged. Here, it wasn't the bounds of human reasoning that mattered, but the limitations of computing machines. Here, the programmers had to accommodate the affordances of the computer and, in so doing, abandon to an extent their commitment to simulating human practice. Here is where the model met the machine.
One of the primary difficulties was the extremely limited memory available in the 1950s. Across its various storage devices, the JOHNNIAC had a grand total of 532,280 bits (roughly equivalent to 65 kilobytes by modern measure) with which to accomplish the task of proving logical theorems from Principia.25 That is not even one tenth of the memory of a standard floppy disk from the 1980s.
Thus practitioners were required to address many difficult “memory management” problems. How to keep track of available memory? How to organize relevant data in memory? How to reclaim memory once it's no longer in use? Questions like these were (and in fact still are) central to the work of implementation.
In response to these questions, Newell, Simon, and Shaw developed a central element of their implemented Logic Theory Machine—the “linked list information structure” or “data structure,” as we would call it today. Information structures are what they sound like—ways of organizing information in computer memory, ways of giving meaning to the underlying bits. The linked list has become a prolific tool, available in most programming languages today, but it was first devised as a mechanism for representing logical propositions in JOHNNIAC's memory.
In the pages of Principia, logical propositions were represented as concatenated series of symbols, like (p⋀q)→(q⋁r).26 These symbol systems were carefully crafted by logicians to enable mathematicians to work within their logical deductive systems. In particular, they were supposed to make highly abstract relationships easy to see. Alfred North Whitehead and Bertrand Russell wrote that “the terseness of the symbolism enables a whole proposition to be represented to the eyesight as one whole”—a humble property, but one they thought absolutely necessary for the work of logical theorem proving:
The symbolic form of the work has been forced upon us by necessity: without its help we should have been unable to perform the requisite reasoning. … No symbol has been introduced except on the ground of its practical utility for the immediate purposes of our reasoning. … The adaptation of the rules of the symbolism to the processes of deduction aids the intuition in regions too abstract for the imagination readily to present to the mind the true relation between the ideas employed.27
In a linked-list formulation, logical propositions took quite a different form. Each element of a proposition was represented by a set of eight symbols that indicated what kind of element it was, what position it held in the proposition, whether or not it was negated, and so on. Those symbols would be stored in a contiguous chunk of bits in JOHNNIAC's memory. The last cells of that chunk would contain a numerical address in memory where the next element in the proposition was stored, and it could be anywhere else in memory.29
Here, logical propositions were spatially distributed throughout memory, dispersed and intermingled with one another, held together by a virtual chain of addresses. In this form, they could not be registered as a whole by sight or any other mechanism, but only by the process of traversing the addresses. (See Figure 1.) In this formulation, logical propositions were dynamic, processual, and distributed—exactly the opposite of the human-oriented symbol systems that preceded them.30
Linked lists were developed to solve a memory management problem. They enabled the JOHNNIAC to make use of whatever memory happened to be available when transforming, manipulating, or storing logical expressions. Rather than finding chunks of contiguous memory in which to write a whole logical expression together, or, worse, creating that contiguous memory, the JOHNNIAC could store new information anywhere there was space available and simply “point” to it with the appropriate address.
Imagine, for example, that you want to keep an updated guest list for a party. Instead of finding a new sheet of paper and writing the whole list out anew with one less name each time someone replies in the negative, it would be far less resource consuming simply to cross that name off the list. So it was with linked lists (except that they were not lined up as on a page). If the JOHNNIAC wanted to remove an element from a logical proposition, it simply rerouted the address pointer from the previous element to the following element, rather than rewriting the whole expression without it, after finding available memory to do so. (See Figure 2.) The deleted element could then be added to a list of available memory by way of an address pointer. This trick drastically reduced the number of operations required to delete an element to just two address reassignments. These addressing tricks simplified the “housekeeping” computation for storing and manipulating logical propositions, making it possible for the Logic Theory Machine actually to run on the JOHNNIAC computer.
Those heuristic rules—working backward and subproblem chaining—that constituted Newell and Simon's model of human theorem-proving behavior were also transformed into forty-four variations of eight basic “list-processing” operations, like “find,” “store,” “put,” “assign,” “compare,” and so on. Together, the linked-list and list-processing operations constituted a new programming language that they called the Information Processing Language (IPL).31 This language became central to their continued attempts to automate human reasoning, but at its heart was a memory management strategy intended to accommodate the JOHNNIAC computer.
There is no automation without invention. In order to implement their heuristic model for logical proof, Newell, Simon, and Shaw had to reimagine its elements—from logical propositions to proof construction practices—through the lens of the computer. They had to navigate materials and obstacles that were quite foreign to the human experience of proof. They developed new perspectives about what proofs are and what logical objects are. Linked lists and list processing—the Information Processing Language—intervened in the character of logical formalism, by introducing computational properties. Implementation was transformative and epistemologically significant.
Of course, Newell, Shaw, and Simon recognized that the JOHNNIAC was different from a person, conceding that “there are many details of LT that we would not expect to correspond to human behavior. For example, no particular care was exercised in choosing the primitive information processes to correspond, point by point, with elementary human processes.”32 Instead, those processes reflected the character of the JOHNNIAC.
And yet, the Information Processing Language—and, with it, linked lists and list processing—became a central toolkit for their continued work on AI. It came to epitomize the “information processing model” that, for them, characterized cognition, reasoning, and (bounded) rationality in human and machine. Machine-level concerns made their way into model-level theorizing.
Moreover, the low-level differences didn't prevent the collaborators from claiming that their programs were simulations of human behavior: “When we say that these programs are simulations of human problem solving, we do not mean merely that they solve problems that had previously been solved only by humans—although they do that also. We mean that they solve these problems by using techniques and processes that resemble more or less closely the techniques and processes used by humans”33—less closely, the more you look at implementation.
Bounded rationality was an intervention in economics, but it was deeply tied to the systems engineering approach at RAND, to Simon's early heuristic approach to AI, and to his perception of modern digital computing. At its heart was a vision of rationality as rule-bound information processing in the face of intractable complexity. In one sense, the Information Processing Language was the exemplary toolkit that Simon and his colleagues developed to synthesize and explore those domains. But its key elements—the linked list and list processing—reflect their encounters with the JOHNNIAC computer and its limited memory. The language is a result of new ways of thinking about thinking that emerged at the interface between model and machine—in implementation.
Notes
Harvard Society of Fellows, 78 Mount Auburn Street, Cambridge, Massachusetts 02138; [email protected]. This Focus section grew out of a panel at the History of Science Society annual meeting in Chicago in 2014. I am grateful to Colin Webster and Henry Cowles for organizing that panel, to the committee that afforded us a first opportunity to present this material, and to Raine Daston for her incisive reflections. I also received invaluable feedback on this piece from readers Hunter Heyck and Stefan Helmreich, my fellow Focus section contributors, and our anonymous referee for Isis. This material is based on a chapter of my dissertation, submitted 15 January 2015. In its preparation, I was grateful to Roberta Shanman, archivist at the RAND Corporation; to Wendy Shaw, Christine Windheuser, and Walter Hursey for their help with the John Clifford Shaw Collection at the Smithsonian Institution; and to my committee: Peter Galison, Stefan Helmreich, Jimena Canales, and Barry Mazur. This research was funded by a Turing Fellowship as part of the “Alan Turing Centenary Research Project: Mind, Mechanism, and Mathematics,” supported by the John Templeton Foundation, and by NSF Doctoral Dissertation Improvement Grant #1154889.
1 By emphasizing implementation, I diverge from much existing history of computing. Where histories of software exist at all, they tend to explore high-level descriptions rather than unpacking the details of how programs were made actually to run on computers. This historiographic tendency may stem in part from the fact that computer scientists themselves tend to emphasize abstract algorithms over low-level implementation details. See Nathan Ensmenger, The Computer Boys Take Over: Computers, Programmers, and the Politics of Technical Expertise (Cambridge, Mass.: MIT Press, 2010); Michael Mahoney, Histories of Computing, ed. Thomas Haigh (Cambridge, Mass.: Harvard Univ. Press, 2011); and Stephanie Dick, “Computer Science,” in A Companion to the History of American Science, ed. Georgina M. Montgomery and Mark A. Largent (Malden, Mass.: Wiley-Blackwell, forthcoming). Elsewhere I discuss the significance of implementation in more depth; see Dick, “After Math: (Re)configuring Minds, Proof, and Computing in the Postwar United States” (Ph.D. diss., Harvard Univ., 2015).
2 For a more in-depth discussion of this model and of what “model” meant for Simon see Hunter Crowther-Heyck, “A New Model of Mind and Machine,” in Herbert A. Simon: The Bounds of Reason in Modern America (Baltimore: Johns Hopkins Univ. Press, 2005), pp. 184–214.
3 A related but stronger claim is made by proponents of the “distributed cognition” hypothesis. See Richard Menary, ed., The Extended Mind (Cambridge, Mass.: MIT Press, 2010).
4 Herbert Simon, Models of Man, Social and Rational: Mathematical Essays on Rational Human Behavior in a Social Setting (New York: Wiley, 1957), p. 198.
5 See Crowther-Heyck, Herbert A. Simon (cit. n. 2), p. 50. I am grateful to Crowther-Heyck for his insights on how the word “bounded” made its way into Simon's theorizing.
6 Crowther-Heyck explores Simon's life, training, and work in significantly more depth in Herbert A. Simon. On the history of the RAND Corporation see Martin Collins, “Planning for Modern War: RAND and the Air Force, 1945–1950” (Ph.D. diss., Univ. Maryland, College Park, 1998); and David A. Hounshell, “The Medium Is the Message; or, How Context Matters: The RAND Corporation Builds an Economics of Innovation, 1946–1962,” in Systems, Experts, and Computers: The Systems Approach in Management and Engineering, World War II and After, ed. Agatha C. Hughes and Thomas P. Hughes (Cambridge, Mass.: MIT Press, 2000), pp. 255–310.
7 Hounshell, “Medium Is the Message,” p. 259.
8 Allen Newell left the Ph.D. program in mathematics at Princeton University to take up a position at RAND in 1950. He would later study for a Ph.D. with Simon at Carnegie Mellon and join the faculty there; the two were instrumental in establishing a robust community of AI research and a department of computer science. For more on Newell's life and career see Simon's biography: Herbert A. Simon, “Allen Newell: 1927–1992,” IEEE Annals of the History of Computing, 1998, 20(2):63–76.
9 Herbert Simon and Allen Newell, “Information Processing in Computer and Man,” American Scientist, 1964, 52:281–300.
10 For a discussion of the origins of this rule-bound conception of human reasoning and its significance for postwar theories of mind see Paul Erickson, Judy L. Klein, Lorraine Daston, Rebecca Lemov, Thomas Sturm, and Michael D. Gordin, How Reason Almost Lost Its Mind: The Strange Career of Cold War Rationality (Chicago: Univ. Chicago Press, 2013), esp. pp. 27–51.
11 Allen Newell, John Clifford Shaw, and Herbert Simon, “Elements of a Theory of Human Problem-Solving,” Psychological Review, 1958, 65:151–166, on p. 153. For a more in-depth exploration see Crowther-Heyck, Herbert A. Simon (cit. n. 2), esp. “A New Model of Mind and Machine” (pp. 184–214) and “The Program Is the Theory” (pp. 215–232).
12 Alfred North Whitehead and Bertrand Russell, Principia Mathematica, Vol. 1 (Cambridge: Cambridge Univ. Press, 1910). For a discussion of how they selected Principia see Pamela McCorduck, interview with Herbert Simon, Nov. 1974, cited in Machines Who Think: A Personal Inquiry into the History and Prospects of Artificial Intelligence (Natick, Mass.: Peters, 2004), pp. 162–163.
13 See Allen Newell, John Clifford Shaw, and Herbert Simon, “Empirical Explorations with the Logic Theory Machine: A Case Study in Heuristics,” Proceedings of the Western Joint Computer Conference, 1957, 15:218–239, esp. pp. 220–222.
14 Polya was born in Budapest in 1887; he left an academic post in Zurich in 1940 to emigrate to the United States, like so many other Jewish academics. He began at Princeton and eventually took a post at Stanford, which he held until his death in 1985. See Gerald Alexanderson, The Random Walks of George Polya ([Washington, D.C.]: Mathematical Association of America, 2000).
15 George Polya, Mathematics and Plausible Reasoning, Vol. 1: Induction and Analogy in Mathematics, Vol. 2: Patterns of Plausible Inference (Princeton, N.J.: Princeton Univ. Press, 1954); and Polya, How to Solve It: A New Aspect of Mathematical Method (Princeton, N.J.: Princeton Univ. Press, 1945).
16 Polya, How to Solve It, p. 225; the pagination given here is from the expanded Princeton Science Library edition (2004).
17 Ibid., p. 227.
18 Newell et al., “Empirical Explorations with the Logic Theory Machine” (cit. n. 13), p. 222.
19 Hao Wang, “Toward Mechanical Mathematics,” IBM Journal of Research and Development, 1960, 4:2–22, on p. 4.
20 Hao Wang, “Computer Theorem Proving and Artificial Intelligence,” in Automated Theorem-Proving: After Twenty-five Years, ed. D. W. Loveland (Providence, R.I.: AMS, 1983), pp. 49–70, on p. 67.
21 Michael Mahoney, “What Makes the History of Software Hard,” IEEE Ann. Hist. Comput., 2008, 30(3):8–18, on p. 8.
22 McCorduck, interview with John C. Shaw, June 1975, cited in Machines Who Think (cit. n. 12), p. 165.
23 McCorduck, interview with Simon, Nov. 1974, ibid., p. 163; and McCorduck, interview with Allen Newell, Apr. 1975, ibid., p. 170. “LT” is shorthand for “Logic Theory Machine” as well as “Logic Theorist”—a name given the program in some later writing. Most of the publications concerning the Logic Theory Machine were authored by all three collaborators. Tellingly, however, “Programming the Logic Theory Machine”—the most comprehensive technical report documenting the implementation of the program—was authored only by Newell and Shaw. See Allen Newell and John Clifford Shaw, “Programming the Logic Theory Machine,” RAND Corporation Technical Report P-954 (Feb. 1957).
24 Newell et al., “Empirical Explorations with the Logic Theory Machine” (cit. n. 13), p. 219. The JOHNNIAC was named after John von Neumann and was designed in the image of the Institute for Advanced Study computer that was developed at Princeton under von Neumann's supervision. It was a so-called stored-program computer, meaning that both instructions and input data were stored in the memory banks of the computer. This was in contrast to the “hard wiring” of instructions that characterized much early programming. See Thomas Haigh, Mark Priestley, and Crispin Rope, “Reconsidering the Stored Program Concept,” IEEE Ann. Hist. Comput., 2013, 36:4–17; and Raúl Rojas and Ulf Hashagen, eds., The First Computers: History and Architectures (Cambridge, Mass.: MIT Press, 2000). The latter does not have a chapter devoted to the JOHNNIAC; however, its design is similar to that of the Institute for Advanced Study machine described in William Aspray, “The Institute for Advanced Study Computer: A Case Study in the Application of Concepts from the History of Technology,” ibid., pp. 179–193.
25 The JOHNNIAC had two different kinds of storage, both extremely limited in capacity according to today's standards: magnetic core memory, the faster of the two, and magnetic drum memory, which was slower and more abundant. When the JOHNNIAC first became operational early in 1953, it had RCA selectron tubes for memory storage. However, these were replaced with magnetic core storage commissioned from the International Telemeter Corporation in 1953 and upgraded in 1955. Also in 1955, around the time that Newell and Simon began work on the Logic Theory Machine, a magnetic drum storage unit was added to the JOHNNIAC for additional storage. These details are provided in Willis Ware, “Johnniac Eulogy,” RAND Corporation Document P-3313 (Mar. 1966), pp. 7–8. The magnetic core offered 4,096 words of memory (each consisting of 40 bits), and the magnetic drums provided 9,216 words. In his “Johnniac Eulogy,” Ware indicated that the magnetic drum could store 12,000 words. Newell and Shaw reported that 9,216 words were available to the Logic Theory Machine on the magnetic drums. The difference was likely used for the storage of basic computer function. See Ware, “Johnniac Eulogy,” p. 8; and Newell and Shaw, “Programming the Logic Theory Machine” (cit. n. 23), p. 7.
26 Read as “p and q” implies “q or r.” That is, if p and q are true, then either q or r is also true.
27 Whitehead and Russell, Principia Mathematica (cit. n. 12), Vol. 1, pp. 3 (emphasis added), viii, 2.
28 This interest in symbol systems and the kinds of cognitive practice they enable or entail has been taken up recently by historians of mathematics. Rather than relegate symbolic and written practice to a secondary and external status, they claim that symbol systems are inextricable from reasoning and problem-solving practices. See, e.g., Reviel Netz, The Shaping of Deduction in Greek Mathematics: A Study in Cognitive History (Cambridge: Cambridge Univ. Press, 2003); and Brian Rotman, Mathematics as Sign: Writing, Imagining, Counting (Stanford, Calif.: Stanford Univ. Press, 2000).
29 These symbols are detailed in Newell and Shaw, “Programming the Logic Theory Machine” (cit. n. 23), pp. 10–11.
30 Interestingly, Newell and Simon first wanted to automate proof in geometry rather than logic. They abandoned that project because of the difficulty of automating human use of diagrams in that domain. However, they didn't comment on the difficulty of automating human use of written symbol systems in the same way, in spite of the fact that these latter were also developed for their visual properties.
31 See Newell and Shaw, “Programming the Logic Theory Machine” (cit. n. 23), pp. 17–24. IPL was the immediate predecessor of the better-known LISP (for LISt Processor) language that was developed in the early 1960s.
32 Newell et al., “Elements of a Theory of Human Problem-Solving” (cit. n. 11), p. 154.
33 Allen Newell, John Clifford Shaw, and Herbert Simon, “The Processes of Creative Thinking,” RAND Corporation Technical Report P-1320 (1959), p. 6. Here they also document some of their other efforts in developing a chess-playing program and a so-called General Problem Solver.