Why?
While searching for something to do my final project for my
Artificial Intelligence class,
Ben was busy getting the
RoverWeb up and running. I
glanced thru one the FAQ pages and realized that it was
hard to figure out what kind of Land Rover I was
looking at. In other words, there were many more
kinds of Land Rovers than I had previously
realized. So here was the idea for my final project: Build an
Expert System that would ask questions and figure out what kind of
Land Rover the user was looking at. Of course, I didn't want to
type the answers to the various questions, and I wanted to put it
on the Web to help Ben out. So here is the Web version of the
Identa-Rover program. Enjoy!
How?
You want to know how I did it?
Here is my
final project paper submitted to the
Cal State ChicoCSCI
223 Artificial Intelligence class. If you don't want to burrow
thru the paper, I used
CLIPS to create the expert system (ES) that actually
asks the question, checks the answers, and provides the results. I
originally used the
Tcl command
expect to interface to the expert system. But this
didn't work out for some weird reason and I had the use Tcl
bidirectional pipes. The Tcl script is also a
CGI script -- it gets called thru the web
server from web pages, notably this page and the other question
pages. By keeping track of the previous answers, the Tcl script can
run the ES and get the next question, which is then returned to
your web browser. Cool, huh?
What's it Got?
Currently the ES contains 12 Land Rovers. These are most everything
except the Discovery, Forward Control, and Range Rover models (we
hope to add these later...) There are 10 questions which are asked,
unless a single match is made earlier. This ES is specially setup
to handle "Don't Know" answers, in the event that a good answer
can't be determined. This has proven to be one of its best
features, in case one is looking at a photo or running the ES from
memory and can't remember a specific. The question pages also show
which Land Rover match so far, and provides a way to "Backtrack" to
a previous question, which is useful for exploring the ES's
knowledge base. For more info on the
version ,
click here.