SHRDLU is an early natural language understanding computer program, developed by Terry Winograd at the Massachusetts Institute of Technology in the late 1960s and published in 1970. Operating within a restricted "blocks world" — a virtual environment containing colored blocks, pyramids, and a table — SHRDLU could interpret and respond to typed English commands and questions, manipulate objects, and reason about its actions via a built-in planning system. It is considered a landmark in artificial intelligence, computational linguistics, and cognitive science, demonstrating the integration of syntax, semantics, and reasoning in a single system.
1 Historical context
1.1 Development at MIT
SHRDLU was created at the MIT Artificial Intelligence Laboratory under the supervision of Marvin Minsky. Terry Winograd implemented the system as part of his doctoral dissertation, which was completed in 1970. The program was written in the Lisp programming language and ran on the PDP-6 and later PDP-10 computers. Development was motivated by the goal of building a single system that could combine natural language processing, logical reasoning, and robotic action planning in a tightly integrated manner.
1.2 Relation to early AI paradigms
SHRDLU emerged during a period when AI research was dominated by symbolic approaches, which viewed intelligence as the manipulation of symbols according to formal rules. The program exemplified the "procedural semantics" view, wherein meaning was not just a static mapping from words to concepts but was tied directly to the actions and procedures a system could perform. It also contrasted with the simpler pattern‑matching approaches of earlier programs like ELIZA, instead requiring deep syntactic and semantic processing.
2 System architecture
2.1 Natural language parser
SHRDLU's parser was one of the first to operate in real time, processing each word as it was typed. The parser used a combination of syntactic and semantic constraints to build a representation of the user's utterance. It employed a left‑to‑right, top‑down parsing strategy, using a grammar that was augmented with semantic features.
2.1.1 Syntax and semantic grammars
The grammar in SHRDLU was not purely syntactic; it integrated semantic categories directly into the parsing rules. For example, the grammar could specify that the subject of a command must be an object that exists in the blocks world, and that the verb must denote a possible action (e.g., "pick up", "put", "move"). This integration allowed the parser to reject nonsensical sentences early and to guide the parse toward interpretations that matched the world state.
2.2 Representation and reasoning
2.2.1 The blocks world ontology
The blocks world was a simplified micro‑domain consisting of a table and several objects: blocks (cubes) and pyramids, each with a color. The world had physical constraints: objects could be stacked, but a pyramid could not support a block because of its pointed top. The ontology was represented as a set of logical assertions about the positions, colors, shapes, and supports of objects.
2.2.2 Micro‑planner and goal tree
For planning, SHRDLU used a system called Micro‑Planner, a simplified version of the Planner language. When a command such as "Pick up a big red block" was given, the program would generate a goal tree: sub‑goals might include first clearing the block (moving any object on top of it), then grasping it, and finally moving it to a desired location. Micro‑Planner performed depth‑first search with backtracking to achieve these sub‑goals, and the resulting plan was executed by the simulation.
2.3 Dialogue management
SHRDLU maintained a discourse history that allowed it to refer back to previous sentences. This enabled multi‑turn dialogue where the user could ask follow‑up questions or refer to objects mentioned earlier. The system also kept track of the current focus of attention.
2.3.1 Anaphora resolution
Anaphora resolution is the ability to determine what a pronoun or other referring expression points to. SHRDLU had a simple but effective anaphora resolution system.
2.3.1.1 Handling pronouns and references
The program resolved pronouns like "it" and "they" by looking at the most recently mentioned object that matched the gender and number constraints. For example, if the user said "Pick up the red block" and then "Put it on the green block," SHRDLU would correctly identify "it" as the red block just picked up. It also handled references to objects that had been moved or removed from the scene, as long as they were still in the discourse context.
3 Capabilities and interaction
3.1 Command execution
SHRDLU could execute a wide variety of commands in the blocks world, such as "Pick up the blue pyramid," "Put the red block on the green block," and "Move the table to the left." The program would first parse the command, then plan the necessary sequence of actions, and finally simulate the changes in the virtual environment. If a command was ambiguous (e.g., "Pick up the block" when multiple blocks existed), it would ask for clarification.
3.2 Question‑answering
The system could answer questions about the state of the blocks world and about its own actions. For example, a user could ask "Is there a big red block on the table?" or "What is on top of the green block?" SHRDLU would query its internal world model and respond with a natural language sentence. It could also answer questions about past actions, such as "Did you pick up the pyramid before you put it down?".
3.3 Explanation of actions
A distinctive feature of SHRDLU was its ability to explain why it performed a certain action. When asked "Why did you move the red block?", it could respond with "To clear the top of the blue block so that I could put the pyramid on it." This required the system to retain its goal tree and reasoning trace, and to generate natural language explanations from that internal structure.
4 Impact and legacy
4.1 Influence on NLP and AI
SHRDLU had a profound influence on the fields of natural language processing and artificial intelligence. It demonstrated that a system could combine parsing, semantic interpretation, reasoning, and planning within a single framework, inspiring decades of subsequent research.
4.1.1 Emphasis on procedural semantics
Winograd's work popularized the concept of procedural semantics — the idea that the meaning of a sentence can be defined by the procedures or actions it would evoke in a computer system. This was a departure from purely declarative, logic‑based approaches and influenced later systems such as Marcus's "Parsifal" and the development of the "construction grammar" tradition.
4.1.2 Rise and fall of the symbolic approach
In the 1970s, SHRDLU was seen as a triumph of the symbolic AI paradigm. However, as AI shifted toward more statistical and sub‑symbolic methods in the 1980s and 1990s, the limitations of SHRDLU became apparent: it was brittle, domain‑specific, and could not scale to real‑world complexity. The symbolic approach gradually gave way to machine‑learning‑based systems, although SHRDLU remained a classic demonstration of what careful integration of knowledge could achieve.
4.2 Contrast with modern large language models
Modern large language models (LLMs) like GPT‑4 and BERT approach natural language understanding through statistical pattern recognition on vast text corpora. Unlike SHRDLU, they do not have explicit world models, planning capabilities, or the ability to execute actions in a simulated environment. However, SHRDLU's emphasis on grounding language in perception and action remains relevant to contemporary research in robotics and grounded dialogue systems. LLMs excel at generating fluent text but often lack the precise logical reasoning that SHRDLU embodied.
5 See also
5.1 Related AI programs
5.1.1 ELIZA
ELIZA, developed by Joseph Weizenbaum at MIT in the mid‑1960s, was an early natural language processing program that simulated a Rogerian psychotherapist. Unlike SHRDLU, ELIZA used simple pattern‑matching and substitution rules with no understanding of meaning or world state.
5.1.2 Blocks World domain
The blocks world domain has been used in many AI research contexts, including the STRIPS planner (Fikes and Nilsson, 1971) and the Shakey robot project at SRI. It serves as a standard testbed for planning, reasoning, and natural language interaction.
5.2 Further reading
- Terry Winograd, "Procedures as a Representation for Data in a Computer Program for Understanding Natural Language" (1971), MIT AI Technical Report 235.
- Terry Winograd, "Understanding Natural Language" (1972), Academic Press.
- James F. Allen, "Natural Language Understanding" (1995), Benjamin/Cummings. (Contains a chapter on SHRDLU and its architecture.)
- Philip Cohen et al., "Constraints on Discourse: A Study of the Use of Language in Conversation" (1989), Cognitive Science 13(4). (Discusses SHRDLU's dialogue management.)