Reminder of the Assignments for A.I. Spring 2000
Find the shortest path from one city to another, using the provided road map data,
and using an heuristic search, not one of the standard shortest path algorithms.
Write a program that solves the "8 tiles" problem (for instances that can actually be solved).
You do not need to find the best solution (whatever "best" means in this context), just a reasonable
one, and I don't mind if sometimes it fails to find any solution at all.
Implement your own version of Eliza. It doesn't need to have a stunningly large vocabulary,
but should at least have the potential for fooling someone who isn't paying too close attention.
Implement "Bacon" (this was the mid-term problem). It only needs to work for numeric data,
and you don't have to worry about complex relationships. Just go for traditional physical laws
like the original one (Kepler's laws are a good example), conversions (such as fahrenheit to
centigrade) are useful for getting started. Physical sciences are full of good examples.
Implement a natural language understander based on Augmented Transition Networks. You do not need to
go much deeper than parsing, and keep with a grammar simple enough and a vocabulary small enough
that you can get things working without drowning in details. Don't make the grammar and vocabulary
so small that it can't be properly tested.
(A relatively easy one) Write a prolog program (and provide a reasonably large set of test data)
that finds out what familial relationships exist between pairs or groups of people. The input data
should be some representation of a family tree. Don't just go for simple rules; include some very
general tests, such as seeing if two people are related at all, or if somebody is the product of a
marriage between two already closely related people.
You don't need to do all of these assignments, but should definitely do most. A really good,
cleverly thought-out
solution to one is worth two basic simple solutions, or even more if you do something really good.