Transcript powerpoint
Artificial Intelligence and Lisp
TDDC65
Course leader: Erik Sandewall
Lab assistants: Henrik Lundberg, John Olsson
Administrator: Anna Grabska Eklund
Webpage: http://www.ida.liu.se/ext/TDDC65/
Teaching plan
Monday 15.15 – 17.00: Lecture (except this week)
Friday 8.15 – 10.00 and 10.15 – 12.00: Tutorial
Today's lecture topics
The concept of intelligence
Mechanization of intelligence
The Leonardo software system, starting with
the labs
(If time allows:) Knowledge acquisition for AI
(Using whiteboard for a while)
Goal of Artificial Intelligence:
Develop software techniques whereby
computer programs can be less stupid,
and whereby ultimately they can exhibit
intelligence
Goal of Artificial Intelligence:
Develop software techniques whereby
computer programs can be less stupid,
and whereby ultimately they can exhibit
intelligence
that is, exhibit behavior that is called
intelligent when it is observed in
humans
What is required for not to be
stupid?
Know procedures/ scripts/ methods
… and be able to apply them
Diagnose problems and resolve them
Imagine what will happen
Use earlier experience and adapt it (learning)
Have facts and apply them
Acquire facts
Other examples
Additional requirements
Adapt earlier solutions to problems
Identify relevant facts
Structure a given problem and its solution
Draw conclusions from selected facts
Identify and apply constraints
Scientific study of intelligence
Francis Galton
Alfred Binet
Large topic of study in psychology and
elsewhere
Standard definition approach
Identify certain more specific capabilities
Design tests for measuring these
It is observed that these capabilities tend to
co-occur, statistically speaking
Use the term intelligence as an umbrella for the
set of co-occurring capabilities
Maybe: hypothesize a single underlying
'intelligence factor'
“Mainstream science of intelligence”
A very general mental capability that, among other
things, involves the ability to reason, plan, solve
problems, think abstractly, comprehend complex
ideas, learn quickly and learn from experience. It
is not merely book learning, a narrow academic
skill, or test-taking smarts. Rather, it reflects a
broader and deeper capability for comprehending
our surroundings—"catching on", "making sense"
of things, or "figuring out" what to do.
Why do these capabilities occur
and co-occur?
By the existence of a specific “organ”?
By genetically dictated, physiological factors?
By developmental physiological factors?
By social training and upbringing?
Other aspects
Animal intelligence
Social intelligence
The concept of intelligence is strongly loaded
emotionally
Intelligence is not an object that can be
extracted and observed, it is a property of a
very complex system
Manifestations of intelligence
In the physical behavior of e.g. a mobile robot
In dialog behavior, in particular using language
In understanding input which is later reflected in
behavior that in itself does not need to be
'intelligent'
Therefore, actual AI systems contain many
parts that are not 'intelligence' but serve other
aspects of the total system
We will focus on the AI aspect of such systems.
Approach to building the AI kernel
Implement general capabilities such as those
mentioned above
Make it possible for the system to contain
information on a spectrum from facts to
knowledge
Make it possible for the system to improve the
capabilities and to acquire facts...knowledge
Scripts are an important kind of knowledge here
Arrange for world simulation within the system.
Cognitive agents
Cognitive software agents is a standard
implementation technique for these purposes:
Integrate programs and data
The agent can analyze and modify all
information in itself
Agents can communicate with each other
Most suitable programming languages: Lisp,
Scheme, Python. (Java is so-so).
The Leonardo system
A system for cognitive agents, developed here
Uses the basic ideas of Lisp, but adds many
other aspects
Presently implemented in Lisp, but can be
implemented in other languages as well
Will be used in the present course, especially
for the labs
The theoretical parts of the course will use the
same notation as in Leonardo
Your personal Leonardo agent
Each course participant will have her or his own
Leonardo agent for use during the course, in
particular for the labs
Lab 1 consists of setting up your agent. It
consists of four parts:
1. Install Allegro CommonLisp
2. Install the Leonardo agent
3. Register the Leonardo agent
4. Play with it.
Besides intelligence: knowledgebase
Availability of a knowledgebase is paramount
for AI systems
Current sources: Dbpedia, Factbase, Common
Knowledge Library (CKL), many others
(continued in other set of slides)