Projects
|
CSE 415: Introduction to Artificial Intelligence
The University of Washington, Seattle, Autumn 2011
|
|
Projects are an opportunity to invent your own
artificially intelligent program that performs an activity
that you specify.
|
Types of Projects
Projects can be of any of the following four types:
Collaborative problem-solving systems based on
CoSolve.
Using a new web-based environment for state-space search called CoSolve,
design and implement a state representation scheme and set of operators for
a new class of problems. Take advantage of the possibility
of having teams of solvers apply your operators.
Two types of problems are possible: (a) standard puzzles and/or games,
e.g., pentaminos, Travelling-Salesman Problem, Chess.
These are appropriate for one-person teams; (b) "wicked" problems
(e.g., climate change): part of
your contribution will be to interpret the problem and model some aspect
of it, possibly coming up with an original puzzle or game. These are
appropriate for two-person teams.
To consider the CoSolve option further, go to the
CoSolve website on Socrates
and create an account for yourself. Then, browse through
some of the existing problem templates and solving sessions.
If you decide to do a CoSolve project, then the staff will
arrange for you to get poser privileges on the site.
Demonstration and application of a
standard AI technique using Python + TKinter.
For example, Support Vector machines for nonlinear classification,
the ID3 learning algorithm for
classification rules, concept formation in
mathematics in the spirit of AM or Pythagoras:
"Primes = Natural numbers such that the number of
factors is minimized".
(If you plan to use the Stone World code in your
project, it is here:
StoneWorld.py, and
the helper module
Match2.py.)
Image understanding applications using
PixelMath. Detection or recognition of:
faces, objects, drawings, captchas. Watermark
embedding and extraction. Intelligence test
problem-solving ("A is to B as C is to ...").
Access to the PixelMath software is available via our GoPost forum.
Prolog application to natural language understanding.
Design a definite clause grammar for a small subset of English
related to a particular application. Write a Prolog program
to translate (using the grammar) the English statements and/or questions so that
they can be used to query (and possibly update) a database of
information related to your application. The answers
to queries should also be presented in English.
A database of facts about American geography is available if you wish
to work in this domain, but this is not required.
This project option is for single-person teams only.
If you are interested in this option, communicate with
David.
|
Teams
Projects may be done in teams of 1 or 2 people.
|
Meetings with Instructor
Each team should discuss their project with the instructor either in person or on GoPost.
|
Demonstrations
Project presentations are scheduled to take place
during two class periods in the final week of classes.
On the first day, each student should complete a project peer
feedback form. On the second day, each student should complete
two peer evaluation forms.
|
Criteria
Each project should address
the following criteria.
(a) Originality. The project must not be an edited version
of something developed elsewhere.
(b) Demonstration of an appropriate artificial intelligence
technique. Most AI topics will be appropriate, but each student
or team should meet with the instructor and get approval for
their topic.
(c) Transparency. The implementation should take specific
steps or incorporate explicit features to help the user understand
how the program works, typically showing in some form, key
intermediate results, status of longer computations, and
relationships among key data structures, rules, states, or
constraints.
(d) Interactivity. The program should allow the user to
control the computation through interaction. There can be
default parameter settings, but it must be possible for the
user to easily override many of the defaults.
|
Due dates
Reports
and source code are
due Wednesday, December 14 at 11:45 PM. Use Catalyst Collect-It to turn them in.
|
Reports
The report should be an electronic document (either raw ASCII text, MS Word file, or a PDF file). The key elements of your report include:
-
title of project;
-
names and roles of each teammate;
-
what the program is supposed to do;
-
technique used and brief description (half a page) of how that
technique works. If you use multiple AI techniques
then describe each one but with somewhat less detail for each one;
-
either a screen shot or a transcript of an interesting sample session;
-
brief demo instructions;
-
code excerpt showing some interesting part(s) of your Python code and some explanation of it;
-
brief description of what each team member learned in this project;
-
what you would like to add to your program if you had more time;
-
citations for any references you used in the project.
-
As an "appendix" to the project, provide full source code for your program.
|
Fill out the
project plan questionnaire
by Thursday, December 1 at 5:00 PM.
|