An examination of the methods used in problems encountered in trying
to teach computers to "think." Topics covered will be among the
following: representation of knowledge, learning, game theory,
perception, neural networks, cellular automata, cognitive modeling,
and natural language processing. Most people who work in AI, program
in Lisp, and so we will probably learn it along the way--but that
shouldn't be the main focus of the course. This is an intermediate
course in computer science which will assume that you already have
some programming skills.
- When: Tu/Thur 1:30-2:50
- Where: Sci 217
- Faculty: Jim Mahoney
- Text: Artificial Intelligence: A Modern Approach
by Stuart Russell and Peter Norvig
- Credits: 4 ( i.e. 9 hours/week outside class )
- Level: Intermediate
- Prereq: knowledge of a programming language
- initial thoughts -
The authors suggest that the whole text is 2 semesters,
and that one chapter/week is a natural pace. We'll
start at the top and see how it goes.
Here's what a few colleges (out of 716!) have done.
Do we want to learn Lisp as we go? Hmmm.
- Williams: approx chap 1-7, 18-20, 26 + some lisp + genetic algs.
- Vassar: (2 wks lisp) + chap 1-15, 20 (1-4 in one week!) + genetic algs ; 4 projects
- Swarthmore: 1-7, + other topics (robots,neural nets)+ 26,27
other common topics: genetic algorithms, neural nets; exams and homework
chap 3, 7-9, 19, 23 + much of "Software Engineering" (design specs, coding process) text.
chap 1-7, 9, + expert systems + learning 18,19 + language 23 + philosphy 26
chap 1-7, 9; uncertainty 14-16; planning 11,17; learning 18-20; 24
I would you like you to each do two programming projects
during the term, as well as the typical weekly assignments,
one due before spring break, and one due at the end of the semester.
As we read, think about what you'd like to dig your teeth into.
- for Tues January 28
- Read chapter 1.
- See how many of the questions in 1.7 you can answer by an online search.
- for Tues Feb 4
- Read chapter 2.
- Play around with the vacuum cleaner world, in the language
of your choice;
problems 2.7-2.12 on pg 57. Lisp code for such a world
is on cs; see the Jan 31 lecture notes. You don't have
to do every problem, but you should have a working system
of some kind to show in class on Tuesday. Be ready to
discuss the overall project.
- for Tues Feb 11
- Get your vacuum code to some kind of reasonable state,
and send to to me in email or via an html link
- Read chapter 3 in the text, on searching.
- Pick one of the search problems from chapter 3 to analyze and code,
either problem 3.10 (the 8-puzzle), the eight queens problem,
3.14 (find a path of links between two web pages), or 3.19
(more on the vacuum world). Whichever you pick, implement
and compare at least two different search strategies.
- for Tues Feb 18
- Read chapter 4, on optimising searches.
- Hand in some code of some kind for a search problem of your choice.
- Think about a search project to be handed in by spring break.
- for Tues Feb 25
- Look chapters 5 and 6, on constraint and min/max searches,
to be discussed in class on the 21st and 25th.
- Pick a problem from either chapter 5 or 6, do it, and be
ready to explain in class what you did.
- for Thurs March 7
- Read chapter 7 - logical agents
- Do at least one of 7.3, 7.5, 7.8, 7.9, and be ready to
discuss/present in class.