CPE/CSC 480
Artificial Intelligence
Fall 2009
CPE/CSC 480-F09 Artificial Intelligence Fall 2009 Project Topics
This document provides more details on possible topics for team projects.
Collaboration with Others
I'm in contact with other people who are currently involved in projects related to our course topics.
Some of these projects may also present opportunities for paid work on related topics.
Ontology Learning (CAD-RC)
In connection with computers, ontologies are used to capture specifications of entities and their relationships,
often in order formalize the concepts and terms used in a domain. Since the development of such ontologies
can be very time-consuming and tedious, research is being done into learning ontologies from sources like
document collections, data sets, or software specifications and implementations.
The Collaborative Agent Design Research Center (CAD-RC) at Cal Poly is exploring
the use of ontology learning methods for some of their projects in areas like logistics and
the categorization of Improvised Explosive Devices (IEDs).
The goal of this project is to explore and evaluate methods and tools for ontology learning.
Sensemaking
In complex and evolving situations, it can become difficult for individuals, groups or organizations to understand
"what is going on", and to form mental models for the situation that may allow decisions about possible actions
and their potential outcomes.
The goal of this project is an exploration of computer-supported methods for sensemaking, especially
in the context of large organizations and business decision making.
I'm in contact with a large software organization, and there may be opportunities for on-going research projects.
Personal Knowledge Organizer
While search engines and the use of related technologies on personal computers (such as Apple's Spotlight, or Google Desktop Search)
allow users to find information based on keywords relatively easily, the task of organizing knowledge contained in documents still
relies heavily on work done by humans. People frequently use ad-hoc solutions like directories and symbolic links for this purpose,
resulting in very brittle and individualistic solutions.
The goal of this project is to examine methods for the automatic categorization and labeling of documents in combination with
personalized ontologies in order to create a system that enables a more systematic and less tedious way of organizing documents
based on their contents.
While Netflix has one of the most prominent recommendation systems for the selection of movies, many of you have probably
had experiences with less than convincing suggestions for movies. Such recommendation systems take the preferences of many
users, and try to predict what movies a particular user might like based on what the merchant knows about the user.
Netflix has an ongoing contest to improve the accuracy of predictions: If you can beat their system, Cinematch, by 10%,
you can win one million dollars. The 10% improvement in performance was surpassed by two teams in July 2009, but it looks like the final winner has not been announced yet.
Check the leaderboard for the latest results.
PayPal has a programming contest, the>Paypal College Challenge.
In this contest, student teams have the opportunity to compete for an opportunity to present their product at PayPal headquarters in San Jose,
and to receive summer internships with PayPal. There is no specific mention of AI in the contest, but if you're interested in doing a project
that combines AI and PayPal's eCommerce and ePayment systems, let me know. The deadline to register for this contest is September 30,
and the deadline to submit the final demo is November 21. For more details, see the PayPal College Challenge Website.
Collaborations at Cal Poly
We may also have presentations by some of my colleagues on the following topics:
- Prof. David Gillette
from the English department and Prof. Tom Fowler from Architecture have an ongoing project,
Lumiere Ghosting .
The goal of this project is to allow people to immerse themselves
into a virtual environment via avatars created from their picture.
They are interested in collaboration with CSc students,
e.g. to endow the avatars with some rudimentary intelligence,
or to add computer-based agents into the environment.
Last year, a team worked on this, and you can either build on their work, or do something new; see Team 11 in
480-F08 projects.
- Dr. John Dalbey
is working on a variation of Solitaire.
- Dr. Kevin O'Gorman has a large data base with sample games for the game of
Hex, and is interested in exploring strategies for improving computer players for this game.
Last year, a team also worked on this, and you can either build on their work, or do something new; see Team 9 in
480-F08 projects.
- A team from the College of Education (Profs. Anita Hernandez, Jose Montelongo, and Roberta Herter) is working on a method for improving reading comprehension in middle/high school students. They are interested in a program that analyzes sentences written by the students, and compares them against a reference text. Essentially this is a natural language application, and can probably be done by using existing libraries and building blocks. For more information on similar projects (but with a wider scope), see Mark Montano's senior project on Document Categorization, or Daniel Miller's Master's thesis A System for Natural Language Unmarked Clausal Transformations in Text-to-Text applications.
Further Project Ideas
And here are a few more ideas for project topics:
- Math Millenium Problems: The Clay Mathematics Institute has formulated seven classical math problems that are as yet unsolved, one of them being the "P vs. NP" problem you may have encountered in Computer Science theory. Each of these Millenium Problems carries a prize tag of $1 million. It is probably somewhat unrealistic to try to solve them as a term project, but if you're adventurous, you could try to identify AI techniques that may help solving them. A discussion of this has been initiated on the ACM Group at LinkedIn.
- Games: Computer games are concentrating more and more on
AI techniques, e.g. to generate more credible agents.
Of course many of you know much more about such games
than I do ;-)
- AI and Music:
AI techniques have been used for various purposes, such as the generation of music in a particular style (e.g. Bach),
suggesting songs based on user preferences (Pandora.com, Apple's "Genius" addition to iTunes), accompanying players,
auto-tuning guitars (e.g. Gibson's Robo-Guitar), and probably many more.
If you play the guitar and are interested in this, there may be opportunities to do something in collaboration
with the local guitar manufacturer Ernie Ball (MusicMan).
- Artificial Life: The simulation of "creatures" (e.g. walkers, crawlers, worms)
or populations (swarms of birds, ant hills, bee hives)
frequently based on evolutionary or genetic algorithms.
- Genetic Algorithms: Conceptually a variation of search algorithms,
these techniques are useful for certain optimization tasks,
based on the "survival of the fittest" principle
People have applied it to VLSI layout, scheduling, code generation,
design optimization, and other, more exotic tasks.
- Neural Networks: These collections of simple computational elements
are one of the frequently used learning methods in AI.
They are used for tasks requiring classification or categorization,
generalization from examples, or identification of similarities.
- Fuzzy Logic: In contrast to standard logic with its binary values,
fuzzy logic employs linguistic variables such as "very tall"
to capture the essential aspects. This makes many tasks such
as process control much easier, but requires different reasoning methods.
- Robotics: The use of physical agents often illustrates the difference
between easily solvable toy problems and their counterparts in the real world.
I have one simple "Lego robot" that can be programmed in Java or a C-like language.
- Natural Language Processing: With building blocks such as
Link Grammar
or WordNet,
it is possible to construct systems that extract meaningful
information from text-based documents.
- Semantic Web: The Semantic Web
adds additional information to Web pages in the form of meta-tags.
This enables computers to perform more meaningful operations on Web pages.
For example, it allows the search for concepts based on ontologies,
rather than simple keywords.