ICS 270A: Introduction to Artificial Intelligence
- When: Tuesdays and Thursdays, 3:30 to 5.
- Where: CS 253
- Professor: Padhraic Smyth
- Email: smyth@ics.uci.edu
- Office Location: CS 414E
- Office Hours: Tuesdays, 10 to 12.
NOTE: THE
FINAL EXAM AND SOLUTIONS
FOR FALL 97 ARE NOW ONLINE (IN POSTSCRIPT FORMAT).
COURSE OVERVIEW:
Topics covered will include search, logic, knowledge representation,
probabilistic reasoning, decision theory, learning, and (as
time permits) discussion of
problems in natural language, vision, and planning. Prerequisites
are a basic understanding of computer science concepts (data
structures, complexity, Boolean logic), a basic understanding
of linear algebra and probability, and the ability
to program in a modern programming language such as C or C++.
SYLLABUS:
-
Introduction and Background
What is artificial intelligence (AI)? AI from a rational
agent perspective. Related fields: philosophy, psychology,
mathematics, computer engineering, etc. Review of the
history of AI.
Rational action and rational agents. Autonomous
agents. Agent architectures and programs.
-
Problem-Solving by Search
-
Principles of Search
Goal and problem formulation. Searching for solutions.
Types of search problems. Components of
search problems. Abstraction.
-
Uninformed ("Blind") Search
Breadth-first, depth-first, uniform-cost,
depth-limited, iterative-deepening, and bidirectional
search techniques. Constraint satisfation problems.
Time-space complexity. Completeness and optimality.
-
Informed ("Heuristic") Search
Best-first, A*,
iterative deepening A* (IDA*), and SMA*, search techniques.
Heuristic functions. Search and optimization. Hill-climbing
techniques.
-
Game Playing
Two player game trees, decision making with perfect and
imperfect information, minimax principle, evaluation functions,
search cutoff strategies, alpha-beta pruning, performance
of alpha-beta, state-of-the-art in game-playing programs.
-
Logical Knowledge Representation and Reasoning
-
Propositional Logic
-
First-Order Logic
-
Knowledge Bases
-
Inference
-
Probabilistic Knowledge Representation and Reasoning
-
Review of Probability Theory
Axioms of probability. Conditional probability.
Bayes' rule and its application.
-
Probabilistic Reasoning with Belief Networks
Belief network semantics. Inference algorithms for singly-connected
graphs. Inference in junction trees. Practical issues in building
belief networks.
-
Decision-Theoretic Agents
Utility theory. Preferences and utility functions.
Decision networks. Value of information.
-
Learning
-
General Principles
Representation, estimation. Inductive learning, prior knowledge,
performance estimation. Learning logical descriptions. Probabilistic
and statistical approaches.
-
Learning Problems and Solutions
Classification, function approximation, clustering,
online learning, reinforcement learning. Learning with trees, neural
networks, memory-based systems, statistical models.
-
Agents in the Real-World
-
Vision and Speech
Review of image processing and analysis techniques. Extracting
information from images. Basic principles of speech recognition
systems.
-
Natural Language
Grammars and their applications. Parsing algorithms. Stochastic
models for handling ambiguity.
-
Planning
Planning problems and general solutions. Planning representations.
Partial-Order Planning.
TEXTS
The required text is
"Artificial Intelligence: A Modern
Approach",
by Stuart Russell and Peter Norvig, Prentice Hall, 1995.
HOMEWORK, EXAMS, GRADING:
-
Homeworks
-
Bi-weekly homeworks, handed out Thursday
in class, due at the beginning of class the following Thursday (hand
them in at the start of class).
-
No late homeworks, solutions will be discussed in
class after homework is handed in.
-
General discussion of homework problems with classmates
allowed, details of problem must be worked out individually.
-
Important!
Homework solutions should be clear and
to the point: you need to clearly convince me that you understand
the solution.
-
Computer Assignments
There will be two or three computer assignments/projects
during the quarter. You
can use whatever programming language you wish,
although C or C++ is preferred. Reports
will be due Thursday at the start of class on the relevant week.
You can hand in the report late, but will be graded out of 80%,
60%, etc., for every 1, 2, etc days that the report is late.
-
Exams
Midterm and final
-
Grading
Final grades will be a monotonic function of the
sum of 30% of your homeworks,
30% of your computer assignments, and 40% of your midterm and final
exams.
FOR NON-ICS MAJORS: HOW TO GET AN ICS UNIX ACCOUNT:
All projects must be working and running under an ICS
Unix account to get project credit. Thus, all students in the
class will need an ICS Unix account for this class. To
get an ICS Unix account, see the Lab Attendant in the
364 Hallway, CS Building: bring your ID card and it will
take about 20 minutes to get you signed up, for you to
read the ethical use of computing documents, and have your
account activated.
RESOURCES ON THE INTERNET
A list of Web resources about AI , organized by chapter in
Russell and Norvig.
Padhraic Smyth / smyth@ics.uci.edu