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)