CSci 5511: Class Notes
Material will be added to this page during the semester, in particular
while a topic is being covered.
General resources on AI
If you are looking for articles, go to CiteSeer at
citeseer.ist.psu.edu, a great
collection of searchable on-line papers. In addition to providing
the papers, it provides links to the references and information on
similar papers.
Material from the AIMA textbook
You should go to
http://aima.cs.berkeley.edu/lisp/doc/install.html to download the
Lisp software from the texbook. Follow the instructions posted there
to install the software on your system. We will use the software for the
programming assignment and in some homeworks.
Slides from the AIMA textbook will be posted here as we go through the
material. They will also be linked in the class schedule in the syllabus.
Chapter 2,
Chapter 3,
Chapter 4a,
Chapter 4a,
Chapter 5,
Chapter 6,
Chapter 7,
Chapter 8,
Chapter 9,
Applets and demo programs
Intro to AI
- The term Artificial Intelligence was first used in the mid 50s
by John McCarthy.
"We propose that a two-month, ten man study of artificial intelligence be
carried out during the summer of 1956 at Dartmouth College in Hanover, New
Hampshire. The study is to proceed on the basis of the conjecture that
every aspect of learning or any other feature of intelligence can in
principle be so precisely described that a machine can be made to simulate
it.
[proposed by John McCarthy, Marvin Minsky, Nathaniel Rochester, and
Claude Shannon.
Additional attendees were Trenchard More, Arthur Samuel, Oliver Selfridge,
Ray Solomonoff, Alen Newell, and Herbert Simon.]
-
Artificial Intelligence is an attempt to prove the Physical-Symbol
System Hypothesis (PSSH).
From Allen Newell and Herbert Simon, Turing Award winners,
"Computer Science as Empirical Inquiry: Symbols and Search,"
Communications of the ACM, March 1976, pp 113-126.
"A physical symbol system consists of a set of entities, called symbols,
which are physical patterns that can occur as components of another type
of entity called an expression (or symbol structure). Thus, a symbol
structure is composed of a number of instances (or tokens) of symbols
related in some physical way (such as one token being next to another).
At any instant of time the system will contain a collection of these
symbol structures. Besides these structures, the system also contains a
collection of processes that operate on expressions to produce other
expressions: processes of creation, modification, reproduction and
destruction."
In the paper they state the Physical Symbol System Hypothesis:
"A physical symbol system has the necessary and sufficient means for
general intelligent action.
By necessary we mean that any system that exhibits intelligence will
prove upon analysis to be a physical symbol system.
By sufficient we mean that any physical symbol system of sufficient
size can be organized further to exhibit general intelligence.
By general intelligent action we wish to indicate the same scope of
intelligence as we see in human action."
Search
- Notes on search algorithms. The
description of the algorithms in these notes is taken from J. Pearl,
"Heuristics", Addison-Wesley, 1984.
- Examples of how to do depth-first search
in Lisp
- Example of alpha-beta pruning.
Example taken from J. Pearl, "Heuristics", Addison-Wesley, 1984.
- for a nice explanation with figures of alpha-beta pruning
go to
http://www.emunix.emich.edu/~evett/AI/AlphaBeta_movie/sld001.htm
- A complex search problem: searching for airfares. ITAsoftware
is the leader in producing software that is used to search for airfares,
schedule, and availability of flights. To get a glimpse at the
complexity, think that there are 10,000 paths from San Franscisco to
Boston, and for each path about 10,000 ways of pricing the itinerary.
- How
MapQuest Works
- an example of how to use constraints to solve Sudoku Puzzles using Python.
Logic, Resolution, and Knowledge Representation
Material on Planning
- Practice questions on planning.
- Try the applet at
http://aispace.org/planning/.
It lets you use the STRIPS representation for actions and states,
and runs a planning algorithm to produce a plan. It works only in the
blocks world, but has a nice graphical interface that let's you follow
what happens step-by-step while constructing the plan and let's you
execute the plan step by step. Very cute!
- Useful papers on planning:
- The paper by D. Weld,
"An introduction to least commitment planning",
AI Magazine, Winter 1994, pp 27-61
is a well written tutorial on least commitment
planning algorithms, and includes detailed examples.
- A more recent paper by D. Weld,
"Recent Advances in AI Planning", AI Magazine, 1999
(postscript - 50 pages)
describes advances in AI planning (it includes Graphplan and SAT
planners).
- The original paper on Graphplan by Avrim Blum and Merrick Furst
"Fast planning through planning graph analysis,"
Artificial Intelligence, vol 90, pp 281-300, 1997
is available from
http://www.cs.cmu.edu/~avrim/graphplan.html, the Graphplan home page.
- If you want to try a partial order planner, try Sensory Graphplan
from the University of Washington.
Sensory Graphplan.
It is based on Graphplan and supports extensions for conditional
effects, quantification, etc. It is written in Lisp, and uses the
PDDL langyage.
- To learn about and to use a planner based on SAT, look at
http://www.cs.rochester.edu/u/kautz/satplan/index.htm
This planner combines graphplan with satplan. On the page you'll
find links to papers such as
Henry Kautz, David McAllester, and Bart Selman,
"Encoding Plans in Propositional Logic", Proc. KR-96.
Material on Lisp
The first
chapter,
second
chapter, and the
Lisp code
of
ANSI Common Lisp by Paul Graham are available on the Web.
Copyright: © 2008 by the Regents of the University
of Minnesota
Department of Computer Science and
Engineering. All rights reserved.
Comments to: Maria Gini
Changes and corrections are in red.