Overview
Artificial Intelligence is the area of computer science that
concerns itself with "smart" solutions to problems. How can we
find solutions faster than typical brute-force approaches by using
knowledge about the problem? How can we use higher-orders of
representation such as logic, graph structures, and others to solve
problems? How can we learn from data or from the environment? How
can we adapt the biological mechanisms of intelligence for
computational purposes?
We'll consider all of the above as we examine a variety of problems
in AI, including agent-based behavior (as in robotics), heuristic
search, strategy game playing, supervised learning, reinforcement
learning, logical deduction, and others.
Instructor Information
Grader:
- Charles Noneman (email: nonemanc)
Textbook
- Artificial Intelligence: A Modern Approach, Stuart Russell &
Peter Norvig, 2nd edition, Prentice-Hall, 2002.
Important Dates
- Exam 1: Friday, April 18
- Exam 2: Friday, May 9
- Exam 3: Friday, May 30
- Final project due: Monday, June 9
Your Grade
- Assignments: 35%
- Exam 1: 20%
- Exam 2: 20%
- Exam 2: 20%
- Class project: 5%
Assignments & Class Project
- The assignments will include both non-computer activities and
programming.
- The class project is due at the end of the term. You can choose
to do essentially anything inside the area of AI, so long as I approve
it in advance. You can build on material we do in class, or you can
use it as an opportunity to learn about subject matter we don't have
time to cover.
Collaboration
There are two different kinds of working together: collaborating (the
good kind) and plagiarism (the bad kind).
You are encouraged to work together, given the following ground rules:
- Non-computer assignments: You should turn in your own assignment.
You may work with other people, but each of you should turn in
your own.
- Computer assignments: You may work together on these in pairs,
if you wish, and I encourage you to do so. Include everyone's names in
documentation at the top. Make sure to cite any ideas you get from
other people.
- Take-home exams: Do these completely on your own. You can discuss
them only with me.
- Final project: You may do this in pairs, if you wish.
Collaborating
- Collaborating is good.
- You are encouraged to collaborate on ideas, essays, homework
problems, and program design.
- Learning is often a social effort, and there is much that you can
gain by talking out the ideas in this class with each other.
- You can by all means talk to each other, look at each other's
programs and ideas to help fix problems, and share thoughts.
Plagiarism
- Plagiarism is bad. DON'T DO IT!
- Any assignments that you turn in should be your own work. If you
are turning in a computer program, it should ultimately be the work of
the people on your team only (if you worked in a team).
- You may share thoughts and ideas in programs with others, but you
must appropriately reference the source in program comments or with
references at the end of your document.
The following are examples of plagiarism:
- Taking someone else's program or assignment, making changes (such
as changing variable names), and turning it in.
- Finding a similar program or assignment on the Internet, making
changes, and turning it in.
- Finding a similar program or assignment in a book, making changes,
and turning it in.
I will be using software to detect plagiarism if it occurs, and I am
compelled by Carleton policy to notify the College if I find evidence
of plagiarism.
Working from Home
Most of the programming that we do will be in Python, which will be
set up for use in the Computer Science labs. You should feel free to
install Python on your home machine and work from there if you
wish. If you do so, you are responsible for making sure that your
programs work under the version of the compiler that we have installed
in the labs. I am glad to informally provide whatever advice I can to
help you get the software running on your own machine, but home use is
technically "unsupported."
Homework Policy
- Each assignment will have a specific time for which it will be
due. An assignment turned in late within one day of the due time will
be docked 25%. A program turned in later than one day of the due date
but within two days will be docked 50%. An assignment turned in any
time after this until the last day of classes will be docked 75%.
- College policy dictates that there can be no grace period on the
final project.
Details
We will cover selected material within the following chapters in
Russell & Norvig:
- Chapter 1: Introduction
- Chapter 2: Intelligent Agents
- Chapter 3: Solving Problems by Searching
- Chapter 4: Informed Search and Exploration
- Chapter 6: Adversarial Search
- Chapter 18: Learning from Observations
- Chapter 20: Statistical Learning Methods
- Chapter 21: Reinforcement Learning
- Chapter 7: Logical Agents
- Chapter 8: First Order Logic
- Chapter 9: Inference in First-Order Logic
- Chapter 11: Planning
- Chapter 12: Planning and Acting in the Real World
- Chapter 13: Uncertainty
- Chapter 14: Probabilistic Reasoning Systems
- Chapter 15: Probabilistic Reasoning Over Time
- Chapter 16: Making Simple Decisions
- Chapter 25: Robotics
- Chapter 26: Philosophical Foundations