Skip to content

SHRDLU

Ch. 1 of 7
— CH. 1 · INTRODUCTION —

Contents

SHRDLU

7 sections
  • SHRDLU, a conversational program from the late 1960s, once ended a long run of questions with a line that sounds almost like a shrug: 'BECAUSE YOU ASKED ME TO.' The question that drew it out was 'Why did you do that?' It was the last of several 'why' questions, each pushing the machine to justify an earlier action. A computer was giving reasons for its own behavior, in ordinary English, to the person typing at it.

    How could a machine of that era hold a dialogue this coherent? What did it truly grasp, and what only looked like grasping? And what did its creator later say about the pressures that shaped the demonstration?

  • ETAOIN SHRDLU is the string of letters that gave the program its name. It comes from the Linotype machine, whose letter keys ran from the most commonly used English letters downward to the least.

    Terry Winograd built SHRDLU at MIT between 1968 and 1970. He wrote it in the Micro Planner and Lisp programming languages. The program ran on a DEC PDP-6 computer, paired with a DEC graphics terminal.

    The University of Utah's computer graphics labs made later additions to the system. Their contribution was a full 3D rendering of SHRDLU's world.

  • The whole universe of SHRDLU was a blocks world, essentially a virtual box filled with blocks, cones and balls. At heart the program was a language parser, built so that a person could use English terms with it. Through typed sentences, the user moved objects around, gave names to collections of them, and asked what state things were in.

    Basic physics ran inside that world. Stack blocks badly and they fell over, and this happened independently of the language parser.

    With as few as 50 words in play, the possible combinations of language stayed simple. Nouns such as 'block' and 'cone' named the objects. Verbs such as 'place on' and 'move to' named the actions. Adjectives such as 'big' and 'blue' told one object from another. That tiny vocabulary was only the first of four simple ideas that made the machine seem to understand.

  • Tell SHRDLU to put the green cone on the red block, then say 'take the cone off', and it removes the green cone. The program kept a basic memory of the conversation, so 'the cone' meant the one just discussed. When a person added more adjectives, it could search further back through earlier exchanges and usually find the right object. The memory reached into the past as well, so a person could ask 'did you pick up anything before the cone?'

    That memory, together with the rules SHRDLU started with, produced a useful side effect. By looking for examples, it could work out that blocks can be stacked. Triangles taught it a limit, because after trying to stack them it recognized that they could not be. It could therefore answer questions about what the world allowed and what it forbade.

    Naming was the fourth idea. A person could say 'a steeple is a small triangle on top of a tall rectangle', and SHRDLU would then answer questions about steeples and build new ones.

    The sample session shows a different steeple. The program first replied 'SORRY, I DON'T KNOW THE WORD' for it. It was then told that a steeple is a stack containing two green cubes and a pyramid, and it built one on request.

  • The sample session opens with the plain order 'Pick up a big red block', and the program answers 'OK.' The next order, 'Grasp the pyramid', draws the reply 'I DON'T UNDERSTAND WHICH PYRAMID YOU MEAN.' The scene held more than one pyramid, so the program declined to guess.

    A request to find a block taller than the one in its hand, and put it into the box, brought a different response. The program stated how it had read the pronoun in that order. It assumed the person meant the block taller than the one it was holding, then carried out the task.

    Limits came out in the answers. Asked whether the table could pick up blocks, SHRDLU said 'NO.' Asked whether a pyramid could support a pyramid, it said 'I DON'T KNOW.' Told to stack up two pyramids, it said 'I CAN'T.'

    The phrase 'on top of' once stumped it. SHRDLU said it was not sure what the person meant, and offered two readings. One meant directly on the surface, and the other meant anywhere on top. The person typed 2, and the program answered 'THREE OF THEM.'

    Late in the session, the person asked 'How did you do it?' The program replied with a sequence of steps. A large red block went on the table, then a large green cube went on it, and finally the red cube went on top, with a letting go after each placement.

    When the person claimed there were five blocks to the left of the box, SHRDLU disagreed. It answered 'NO, ONLY FOUR OF THEM' and named the red cube, two large green cubes and a large red block.

    The false premise in the superblock exchange was caught as well. The person had named the biggest block 'superblock', then asked why the program had dropped it, though it had only picked it up. SHRDLU assumed the person meant the superblock and replied 'I CAN'T EXPLAIN A NON-EXISTENT EVENT.'

    The session ends politely. The person types 'Thank you', and the computer answers 'YOU'RE WELCOME!'

  • In its day, SHRDLU counted as a tremendously successful demonstration of artificial intelligence. That success led other researchers to excessive optimism. The optimism was soon lost, once later systems had to deal with situations holding a more realistic level of ambiguity and complexity.

    In a 1991 interview, Winograd explained how the famous dialogue came about. He had worked through it very carefully, line by line. A question outside the script had some chance of being answered, especially if it resembled a scripted one in form and content. Nobody tried to make the program something a stranger could use to move blocks around, and nothing pushed him to.

    The pressure, he said, was for something that could be demonstrated. He pointed to Negroponte's Media Lab, where the old saying 'perish or publish' had become 'demo or die.' In his view, AI suffered badly from that culture. It produced what he called 'Potemkin villages', which looked good in the demo but had too little structure behind them to work more generally.

    Cyc is one of the later efforts of the SHRDLU type. Such efforts have tended to give the program considerably more information to draw conclusions from.

  • SHRDLU was not developed as a game, yet it is considered the first known formal example of interactive fiction. The user typed simple commands to move objects around a virtual environment, which is the basic loop of the genre. What it lacked was the distinct storytelling that normally defines interactive fiction.

    The 1976-1977 game Colossal Cave Adventure is broadly considered the first true work of interactive fiction. It appeared within a decade of the end of SHRDLU's development in 1970.

Updated

Common questions

Who created SHRDLU and when?

Terry Winograd developed SHRDLU at MIT between 1968 and 1970.

Where does the name SHRDLU come from?

It comes from ETAOIN SHRDLU, the arrangement of the letter keys on a Linotype machine, which ran from the most frequently used English letters downward.

What could a person do with SHRDLU?

They could carry on a conversation in English with the program, moving objects, naming collections and asking about the state of a simplified blocks world filled with blocks, cones and balls.

How small was SHRDLU's vocabulary?

The world could be described with as few as 50 words, including nouns like block and cone, verbs like place on and move to, and adjectives like big and blue.

Why did Winograd criticize the SHRDLU demonstration?

In a 1991 interview he said the famous dialogue had been worked through line by line and the pressure was to produce something that could be demonstrated. He called the results Potemkin villages, impressive in the demo but lacking enough structure to work more generally.

Is SHRDLU a form of interactive fiction?

It is considered the first known formal example of interactive fiction, though it lacked the storytelling typical of the genre. The 1976-1977 game Colossal Cave Adventure is broadly considered the first true work of interactive fiction.

All sources

6 references cited across the entry

  1. 3Oral history interview with Terry Allen WinogradCharles Babbage Institute — 1991-12-11
  2. 4BookTwisty Little Passages: An Approach To Interactive FictionNick Montfort — Cambridge: The MIT Press — 2003
  3. 6JournalUnderstanding natural languageTerry Winograd — January 1972

Queue