Artificial IntelligenceIntroduction : Artificial IntelligenceIntroduction Alison Cawsey
Email: firstname.lastname@example.org What is AI? : What is AI? Various definitions:
Building intelligent entities.
Getting computers to do tasks which require human intelligence.
But what is “intelligence”?
Simple things turn out to be the hardest to automate:
Recognising a face.
Navigating a busy street.
Understanding what someone says.
All tasks require reasoning on knowledge. Why do AI? : Why do AI? Two main goals of AI:
To understand human intelligence better. We test theories of human intelligence by writing programs which emulate it.
To create useful “smart” programs able to do tasks that would normally require a human expert. Who does AI? : Who does AI? Many disciplines contribute to goal of creating/modelling intelligent entities:
Psychology (human reasoning)
Philosophy (nature of belief, rationality, etc)
Linguistics (structure and meaning of language)
Human Biology (how brain works)
Subject draws on ideas from each discipline. Typical AI Problems : Typical AI Problems Intelligent entities (or “agents”) need to be able to do both “mundane” and “expert” tasks:
Mundane tasks - consider going shopping:
Planning a route, and sequence of shops to visit!
Recognising (through vision) buses, people.
Communicating (through natural language).
Navigating round obstacles on the street, and manipulating objects for purchase.
Expert tasks are things like:
Often “mundane” tasks are the hardest. Philosophical Issues : Philosophical Issues What is intelligence?
Can a machine be truly “intelligent”? Is there more to human intelligence than rules, data and calculations?
Turing Test: Can someone tell which is the machine, when communicating to human and to a machine in another room? If not, can we call the machine intelligent?
Chinese room: Searle says no. Describes a thought experiment where talk in Chinese by looking up what to say from huge rule book.
Loebner contest: Contest for most human-like conversation system. Example conversation with system winning Loebner prize : Example conversation with system winning Loebner prize P: No worries! Hey! I didn’t come here to be subjected to bad language! How rude!
J: Sorry, sorry. Didn’t mean to offend. So, how old are you?
P: That’s OK. Just don’t do it again. Well, should my age really matter. Just for the record I’m 24. How old are you then.
But.. System was based on fairly simple methods, with pre-stored amusing replies. These simple methods first used in “Eliza” - a program to emulate psychotherapist.
Try esc-x doctor while in emacs for a version of Eliza.
Human-like performance doesn’t guarantee intelligence. About this Module : About this Module Covers following AI topics
AI Programming, using Prolog.
How do we represent knowledge about the world in a formal manner that can be manipulated in a sound and efficient manner?
How can an AI system go through all the possibilities in a systematic manner when looking for solutions to complex problems. About this Module : About this Module Natural Language:
How can a system communicate in a natural language such as English.
Machine learning and neural networks:
How can a system learn from experience, or from past case data.
How can we develop and use practical “intelligent agents”.
How do we elicit the human expertise required to build intelligent applications. Labs and Coursework : Labs and Coursework Weekly lab, starting Wed 16th April!
Labs give you experience of two AI programming languages: Prolog and NetLogo.
Weeks 1-4: Exercises on AI Programming in Prolog.
Some of these must be “ticked off” by Lab demonstrators and will contribute to your coursework mark.
Weeks 5-8: NetLogo with assessed exercise. Books etc. : Books etc. “Essence of Artificial Intelligence” by Alison Cawsey, Prentice Hall.
Review: “I missed most of the lectures but thanks to this short and sweet book I passed my first year introduction to AI course. If you are a slack student taking an AI course - buy this book. “
Artificial Intelligence: A Modern Approach (second edition), Russell & Norvig, Prentice Hall. 2003
Artificial Intelligence: Structures and Strategies for Complex Problem Solving, Luger, Benjamin Cummings.
Slides, lab exercises etc for weeks 1-4 on www.macs.hw.ac.uk/~alison/ai3/ Module prerequisites/assumptions : Module prerequisites/assumptions Programming (software engineering).
CS students will benefit from:
Logic and Proof
IT students will benefit from
Relevant material from logic and proof will be reviewed again for benefit of IT students. Getting Started with Prolog : Getting Started with Prolog Prolog is a language based on first order predicate logic. (Will revise/introduce this later).
We can assert some facts and some rules, then ask questions to find out what is true.
Note: lower case letters, full stop at end. likes(john, mary).
teaches(alison, artificialIntelligence). Prolog : Prolog Rules:
John likes someone if that someone is tall.
A person examines a course if they teach that course.
NOTE: “:-” used to mean IF. Meant to look a bit like a backwards arrow
NOTE: Use of capitals (or words starting with capitals) for variables. likes(fred, X) :- tall(X).
examines(Person, Course) :- teaches(Person, Course). Prolog : Prolog Your “program” consists of a file containing facts and rules.
You “run” your program by asking “questions” at the prolog prompt.
John likes who?
Answers are then displayed. Type “;” to get more answers: (Note: darker font for system output) |?- likes(fred, X). X = john ? ;
X = sue ? ;
no Prolog and Search : Prolog and Search Prolog can return more than one answer to a question.
It has a built in search method for going through all the possible rules and facts to obtain all possible answers.
Search method “depth first search” with “backtracking”. Summary : Summary AI about creating intelligent entities, with a range of abilities such as language, vision, manipulation/navigation..
Intelligence involves knowledge - this must be represented with and reasoned with.
Solving problems involves search.
Prolog is a language geared to representing knowledge and searching for solutions.
Prolog programs based on facts and rules, and run by asking questions.