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 Chico CSCI 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.
Identa-Rover Design and Implementation by 