Readings
Read
- Chapters 1 – 3 in Russell and Norvig
- McCarthy's What is Artificial Intelligence Q&A article
http://www.redherring.com/Article.aspx?a=13324&hed=AI+Knows+It%e2%80%99s+Out+There
- Whatever you find interesting from
http://www.aaai.org/AITopics//html/robots.html
Instructions
In this class you will be turning in paper copies of most of
your homework; however, you will have to keep all of your homework
in a version control repository.
Print out the files comprising your answers to the following problems
(2up to save trees) and turn them in at the beginning of class on
February 2.
The Problems
- Create an inventory of hardware and software for your term
project. Have it checked by Caskey. Secure funding. Begin
purchasing materials. Write a short functional specification
for the project. It does not have to be detailed, and it can
change over the semester: the point for this assignment is
that you get started early and not piece together a pile
of junk during the last week of class.
- Problem 1.8 in Russell and Norvig (an essay on cognition
and AI) — in the form
of a beautiful, impeccably written five paragraph essay.
Content and style count.
- Write PEAS descriptions for
- A music composer
- An aircraft autolander
- An essay evaluator
- A robotic sentry gun for the Keck Lab
- If the pure reflex vacuum cleaner agent from the text had
a performance measure in which two points were given for
each square cleaned, and one point was subtracted for each
movement from one square to the other, and the squares
never became dirty once cleaned, describe an agent function
that would make an agent rational.
- Problem 2.3 in Russell and Norvig (on the differences between
agent functions and agent programs).
- Problem 2.12 in Russell and Norvig (on dealing with stochastic
environments for vacuum agents).
- Write an agent for solving the 8-puzzle using depth-first
iterative deepening. But write it in such a way that it
makes use of a problem solving framework in which 8-puzzle
specific elements are “plugged in.” (To see how nice
and pluggable your framework is, try to plug in the
specification of the water jug problem, but don't
turn that in.) You might consider something like:
package edu.lmu.cs.yourid.search;
public interface Problem<State, Action> {
Action[] actionsFor(State state);
State go(State state, Action action);
boolean isGoal(State state);
}