Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
SHRDLU
(section)
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Functionality== SHRDLU is primarily a language parser that allows [[natural-language understanding|user interaction using English terms]]. The user instructs SHRDLU to move various objects around in the "blocks world" containing various basic objects: blocks, cones, balls, etc. What made SHRDLU unique was the combination of four simple ideas that added up to make the simulation of "understanding" far more convincing. One was that SHRDLU's world is so simple that the entire set of objects and locations could be described by including as few as perhaps 50 words: nouns like "block" and "cone", verbs like "place on" and "move to", and adjectives like "big" and "blue". The possible combinations of these basic language building blocks are quite simple, and the program is fairly adept at figuring out what the user means. SHRDLU also includes a basic memory to supply context. One could ask SHRDLU to "put the green cone on the red block" and then "take the cone off"; "the cone" would be taken to mean the green cone one had just talked about. SHRDLU can search back further through the interactions to find the proper context in most cases when additional adjectives were supplied. One could also ask questions about the history, for instance one could ask "did you pick up anything before the cone?" A side effect of this memory, and the original rules SHRDLU was supplied with, is that the program can answer questions about what was possible in the world and what was not. For instance, SHRDLU can deduce that blocks could be stacked by looking for examples, but also realize that triangles couldn't be stacked, after having tried it. The "world" contains basic [[physics]] to make blocks fall over, independent of the language [[parser]]. Finally, SHRDLU can also remember names given to objects, or arrangements of them. For instance one could say "a steeple is a small triangle on top of a tall rectangle"; SHRDLU can then answer questions about steeples in the blocks world, and build new ones. <!-- Deleted image removed: [[File:SHRDLUs World.gif|thumbnail|right|Image of SHRDLU's world]] --> Here is a famous demonstration of SHRDLU:<ref>{{cite web|title=SHRDLU|url=http://hci.stanford.edu/winograd/shrdlu/|website=Stanford Human-Computer Interaction (HCI) Group}}</ref> <blockquote> :Person: Pick up a big red block. :Computer: OK. :Person: Grasp the pyramid. :Computer: I DON'T UNDERSTAND WHICH PYRAMID YOU MEAN. :Person (changing their mind): Find a block which is taller than the one you are holding and put it into the box. :Computer: BY "IT", I ASSUME YOU MEAN THE BLOCK WHICH IS TALLER THAN THE ONE I AM HOLDING. :Computer: OK. :Person: What does the box contain? :Computer: THE BLUE PYRAMID AND THE BLUE BLOCK. :Person: What is the pyramid supported by? :Computer: THE BOX. :Person: How many blocks are not in the box? :Computer: FOUR OF THEM. :Person: Is at least one of them narrower than the one which i told you to pick up? :Computer: YES, THE RED CUBE. :Person: Is it supported? :Computer: YES, BY THE TABLE. :Person: Can the table pick up blocks? :Computer: NO. :Person: Can a pyramid be supported by a block? :Computer: YES. :Person: Can a pyramid support a pyramid? :Computer: I DON'T KNOW. :Person: Stack up two pyramids. :Computer: I CAN'T. :Person: Will you please stack up both of the red blocks and either a green cube or a pyramid? :Computer: OK. :Person: Which cube is sitting on the table? :Computer: THE LARGE GREEN ONE WHICH SUPPORTS THE RED PYRAMID. :Person: Is there a large block behind a pyramid? :Computer: YES, THREE OF THEM: A LARGE RED ONE, A LARGE GREEN CUBE, AND THE BLUE ONE. :Person: Put a small one onto the green cube which supports a pyramid. :Computer: OK. :Person: Put the littlest pyramid on top of it. :Computer: OK. :Person: Does the shortest thing the tallest pyramid's support supports support anything green? :Computer: YES, THE GREEN PYRAMID. :Person: What color is it? :Computer: BY "IT", I ASSUME YOU MEAN THE SHORTEST THING THE TALLEST PYRAMID'S SUPPORT SUPPORTS. :Computer: RED :Person: How many things are on top of green cubes? :Computer: I'M NOT SURE WHAT YOU MEAN BY "ON TOP OF" IN THE PHRASE "ON TOP OF GREEN CUBES" . :DO YOU MEAN: : :1 - DIRECTLY ON THE SURFACE :2 - ANWHERE ON TOP OF ? : :Person: 2 :Computer: THREE OF THEM. :Person: Had you touched any pyramid before you put the green one on the little cube? :Computer: YES, THE GREEN ONE. :Person: When did you pick it up? :Computer: WHILE I WAS STACKING UP THE RED CUBE, A LARGE RED BLOCK AND A LARGE GREEN CUBE. :Person: Why? :Computer: TO GET RID OF IT. :Person: Why did you do that? :Computer: TO CLEAN OFF THE RED CUBE. :Person: Why did you clear off that cube? :Computer: TO PUT IT ON A LARGE GREEN CUBE. :Person: Why did you do that? :Computer: TO STACK UP THE RED CUBE , A LARGE RED BLOCK AND A LARGE GREEN CUBE. :Person: Why did you do that? :Computer: BECAUSE YOU ASKED ME TO. :Person: How did you do it? :Computer: BY PUTTING A LARGE RED BLOCK ON THE TABLE ; THEN LETTING GO OF IT ; THEN PUTTING A LARGE GREEN CUBE ON IT ; THEN LETTING GO OF THAT CUBE ; THEN PUTTING THE RED CUBE ON THAT CUBE; THEN LETTING GO OF THAT CUBE. :Person: How many objects did you touch while you were doing it? :Computer: FOUR OF THEM. :Person: What did the red cube support before you started to clean it off? :Computer: THE GREEN PYRAMID. :Person: There were five blocks to the left of the box then. :Computer: NO, ONLY FOUR OF THEM: THE RED CUBE, TWO LARGE GREEN CUBES AND A LARGE RED BLOCK. :Person: Put the blue pyramid on the block in the box. :Computer: OK. :Person: Is there anything which is bigger than every pyramid but is not as wide as the thing that supports it? :Computer: YES, THE BLUE BLOCK. :Person: Does a steeple :Computer (interrupting): SORRY, I DON'T KNOW THE WORD "STEEPLE". :Person: A "steeple" is a stack which contains two green cubes and a pyramid. :Computer: I UNDERSTAND. :Person: Are there any steeples now? :Computer: NO. :Person: Build one. :Computer: OK. :Person: Call the biggest block "superblock". :Computer: OK. :Person: Have you picked superblock up since we began? :Computer: YES. :Person: Why did you drop it? :Computer: BY "IT", I ASSUME YOU MEAN THE SUPERBLOCK. :I CAN'T EXPLAIN A NON-EXISTENT EVENT. :Person: Is there anything to the right of the red pyramid? :Computer: YES, FOUR THINGS: THE BOX, THE RED CUBE, THE BLUE PYRAMID AND THE BLOCK NAMED SUPERBLOCK :Person: Thank you. :Computer: YOU'RE WELCOME! </blockquote>
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
SHRDLU
(section)
Add topic