Computer Sciences 540:
Introduction to Artificial Intelligence
(Summer 2003)
Overview |
Syllabus |
Homeworks |
Projects |
Exams |
Links
What's New
- 8/12:A solution to the final exam has been posted here for those interested.
- 8/11:Final grades are in. Have a good rest of the summer!
- 8/6: Grades to date are here, reflecting all but project, participation, and the final exam.
- 8/5: Posted solutions for HW#4 and HW#5 and a study guide for the final exam.
- 8/1: Project presentation schedule posted (btw, solution to HW#3 has been up for a while)
- 7/28: Allowed to use ONE late day on Homeworks #4/#5
- 7/24: Homework #5 available (due dates extended, no late days), added TA's solution to HW#2
- 7/23: Grades to date are here, sorted by the last 4 digits of your campus IDs
- 7/18: Homework #4 is available
- 7/8: Posted a midterm study guide, extended HW#3 due date, and added a solution to HW#1
- 7/7: Homework #3 is available
- 7/2: Project due date posted (8/1)
- 6/30: Homework #2 is available
- 6/20: Projects section updated with more information, and project ideas
- 6/18: Homework #1 is available
- Class begins June 16
Course Overview
Class Personnel
Meeting Schedule
1:10 - 2:25 pm, MTWRF, 265 Materials Sciences Building (map)
Course Description
The purpose of this course is to provide an introduction to Artificial
Intelligence (AI). A breadth of topics will be covered, including
problem solving through search, game playing, logic, planning, machine
learning and natural language processing, plus some philosophical and
ethical issues. Please see the syllabus for a more detailed breakdown
of topics. (Prerequisite: CS
367).
Grading
- Homeworks (~5) & participation: ~50%
- Class project: ~10%
- Midterm exam: ~15%
- Final exam: ~25%
All homeworks and exams must be done individually (however,
projects will be done in groups). Cheating and plagiarism will be
dealt with in accordance with university
procedures. For more specific information about each course
requirement, see the subsections below.
Required Textbook
|
Artificial Intelligence: A Modern Approach (2nd Edition)
S. Russell & P. Norvig. Prentice Hall, 2002.
This will be our primary and only essential textbook. All reading assignments will either come from this book or from supplementary readings which I will hand out in class. Recommended texts will be on reserve at Wendt Library. |
Recommended Texts
|
How to Solve It: Modern Heuristics, Z. Michalewicz & D. Fogel. Springer Verlag, 1999. Excellent extended coverage of problem solving by heuristic search and optimization, as well as two chapters on genetic algorithms (as opposed to three pages in R&N).
|
|
Machine Learning, T. Mitchell. McGraw-Hill, 1997.
Currently one of the best textbooks for a more comprehensive look at machine learning, which we will cover in the second part of the course. (Also the CS 760 text.) |
|
Godel, Escher, Bach: An Eternal Golden Braid, D. Hofstadter. Basic Books, 1979.
More of a philosphical defense of AI in terms of Kurt Godel's famous incompleteness theorem. Addresses music, art, and the human mind... not light reading, but clever and funny. |
Syllabus, Readings, and Lecture Slides
- Overview of Artificial Intelligence
- Introduction, goals of AI, application areas, agents.
- Readings:
- Chapter 1, AI: A Modern Approach
- Chapter 2, AI: A Modern Approach
- Lecture Slides:
- Problem Solving with Search
- Search spaces, search strategies, uninformed vs. heuristic search, escaping local optima, genetic algorithms.
- Readings:
- Chapter 3, AI: A Modern Approach (6/17)
- Chapter 4, AI: A Modern Approach (6/18)
- Chapters 5-8, How to Solve It: Modern Heuristics (recommended)
- Chapter 9, Machine Learning (recommend)
- Lecture Slides:
- Game Playing
- Search spaces in games, the minimax algorithm, alpha-beta pruning, modern game AI.
- Readings:
- Chapter 6, AI: A Modern Approach (6/24)
- AI Game Programming Wisdom (recommended)
- Lecture Slides:
- Logical Agents
- Propositional and first-order logic, inference, PROLOG.
- Readings:
- Chapter 7, AI: A Modern Approach (6/26)
- Chapter 8, AI: A Modern Approach (6/27)
- Chapter 9, AI: A Modern Approach (6/30)
- Lecture Slides:
- Planning
- Situation calculus, planning as search, partial-order planning, Graph-Plan, SAT-Plan.
- Readings:
- Sections 10.2-10.3 and Chapter 11, AI: A Modern Approach (7/3)
- Lecture Slides:
- Machine Learning
- Inductive learning, decision trees, k-nearest neighbors, neural networks, Bayesian learning.
- Readings:
- Sections 18.1-18.3, AI: A Modern Approach (7/14)
- Sections 20.4-20.5, AI: A Modern Approach (7/16)
- Sections 20.1-20.2, AI: A Modern Approach (7/21)
- Chapters 3-6, Machine Learning (recommended)
- Lecture Slides:
- Advanced Machine Learning Topics
- Sequence models, inductive logic programming, unsupervised learning, misc. other topics.
- No slides for these lectures (everything on the board).
- Foundations and Ethical Issues
- Foundations of AI, prospects and retrospects, ethics.
Lecture slides are available here in Adobe PDF format. They are based on my own research, the course texts, and the lecture notes of Chuck Dyer, Mark Rich, and Jim Skrentny.
Homework Assignments
General Homework Information
- Homeworks are due at the beginning of class on the due
date. Written portions will be collected in class, electronic portions
should be submitted before the beginning of class.
- Note that programming portions will be partially automatically
graded, so your code must run on the university TUX machines.
- Each student has three (3) free late days to use during the
summer. Once these are exhausted, late homeworks will be penalized 10
points per day. Late homeworks may be turned in during class or in the
TA's mailbox.
- No homeworks will be accepted more than one week late.
- If java is reporting "stack overflow" errors, your code may be
correct, but very recursive (so don't be surprised). Try adding the
following line in your .cshrc.local file:
alias java 'java -oss2000m'
- A useful command for readably printing your source code is:
enscript -2rGE [file]
- To hand in your electronic files, make sure the following is set
in your .cshrc.local file:
set path = ($path /s/handin/bin)
Then run the following command:
handin -c cs540-1 -a [hw#] -d [your-directory]
Where [hw#] refers to the current homework number and
[your-directory] is the directory where your files are
currently located. More details here.
Class Projects
Presentation Schedule
Monday, 8/4
- "Spam Filtering - History and Technique" -- LeMahieu, Parrish
- "Survey on applying Artificial Intelligence in Music" -- Hui, Hartono, Wenas
- "Spam Detection Methods Using Naive Bayes Filtering" -- Langton, Berns, Fan
- "Neural Networks: Tiling and Optimal Damage" -- Foudray, Chua
Tuesday, 8/5
- "Survey of Computer Facial Recognition" -- Duffy, Gao, Goentoro
- "Machine Learning with Neural Networks and Support Vector Machines" -- Khuu, Lee, Tsai
- "Ethics and Artificial Intelligence" -- Saunders, Eastman, King
- "Methods of Object Recognition in Computer Vision" -- Gabriel
Wednesday, 8/6
- "Genetic Algorithms Applied to the Traveling Salesperson Problem" -- Olsen, Lawinger
- "Introduction to the Applications of Support Vector Machines" -- Budig-O'Brien, Howe, Persky
- "South Park Character Generator" -- Sijipati, Karnowski
- "The Role of Artificial Intelligence in Instruction Scheduling" -- Scherpelz
Recources
About the Project
Due date: Friday, August 1 (no late days are allowed)
The class project is an opportunity for you to delve deeper into a
particular area of AI that interests you, or to explore aspects that
couldn't quite be covered in this excellerated summer course (e.g.
bioinformatics, computer vision, speech recognition, robotics, etc.)
Projects should be done in groups of 2 or 3. You may choose to do a
strict research paper (i.e. no programming) on a topic, which should
be at least 6 pages long. You may also try implementing an algorithm
from literature or of your own design, and turn in your code plus a
2-3 page write-up of your goals, methods, experiments and the
results. All groups will give a 15 minute presentation in class during
the last week. The project grade will depend about half on the
presentation, and half on the paper/report.
Examinations
Exam Schedule
Old Exams
These are exams given by various instructors from the recent past, some provided with solutions. Not all of the material is
the same, but they may still help you prepare for my exams. Most are in Adobe PDF format, but a few are in MS-Word.
Some Related Links
Java Programming Help
AI @ UW-Madison
Other Places
© 2003 Burr Settles, UW-Madison.