So far we have introduced the notion of symbolic computing without actually teaching you any programming language. That time has now come.
Imagine a tourist standing in Victoria Underground Station, with a day to see the sights of London. In front of him is a video screen, with a keyboard below. On the screen is the following message:
Welcome to the London Tourist Guide
This guide can answer your queries about landmarks,
attractions and events in London.
Please type your query in English, for example:
How do I get to the National Gallery?
Press the RETURN button to finish a query.
He types in the words
Where is Marble Arch?
It responds with
Marble Arch is at the West End of Oxford Street.
He then types
Please tell me about entertainments in London.
Where do you want to go: city centre or suburbs?
He replies, and it engages him in a conversation about his preferences for entertainment, and ends by offering a list of possible events to suit his taste.
No such automated tourist guide has yet been installed in Victoria Station, London. Your task as an AI programmer is to design one!
You will be using a programming language called POP-11 (after Robin Popplestone, one of its inventors). POP-11 has been developed for research and teaching in artificial intelligence and is designed to be simple to learn (simple, that is, compared to other programming languages!) yet powerful enough for programming full-scale artificial intelligence systems. The entire POP-11 language is large and to describe it in detail would more than fill a book.[+]
We have therefore restricted all the examples in this book to a subset of POP-11 and appendix A (at the back of the book) gives a guide to it. We do not assume that you have access to a computer running POP-11: you should be able to understand the examples by following them line by line on paper.
POP-11 is a procedural programming language, which means that programs are written as a series of commands to the machine to perform operations on symbol structures (called data objects).