I. Introduction gives background info, etc.

II. Rules for loading into CLIPS

III. Test file used to produce the following output

IV. Output file created from selected lines of the test file


    This Expert System was created as a project for the CSCI 222 course at Chico State University. It is very basic and only useful for the creater; Jimmy Carter (aka peanut). It can be used in the following manner:
 
1) After starting CLIPS, load the rule-base. =>(load SchoolRouteSys)

2) Be sure to reset CLIPS so that it sets up initial assertions. =>(reset)

3) Make assertions concerning weather and things to do. The test file may be referenced for this step. =>(assert (outside cold) (todo dogwalk))

4) If you wish to see the rules firing, turn on a trace mode. =>(watch rules)

5) Run the system. =>(run)


    The following weather and todo parameters are permissable:

outside                            todo
hot                                    business
warm                               dogwalk
cold                                  housestuff
freezing                           nothing
                                          homework
outside (optional)
raining
    The system is not designed to deal with multiple weather parameters. For instance, putting in a fact like (assert (outside cold) (outside hot) ...) would work, but the output is undefined: it would most likely only notice the last parameter, satisfy the goal, and move on without noticing the first weather parameter. The option raining is an exception to this rule: it can be used concurrently with the other weather options. I had intended to include more of this type (eg. cloudy, sunny, etc.)  as additional weather parameters, but did not get around to it (all them da_n square tuit's got in the way).

    Both sets of parameters are necessary. Declaring a weather fact and not a todo fact would not work. The system needs a fact from each in order to progress through the goals. Lack of a parameter would not allow goal completion and would simply fail (halt). Given more interest in a sweet-running system, I would have put in default rules to ask the user for the needed input. I think I will wait for the next project before implementing such details.

    Multiple todo parameters are taken into account. These parameters can be mixed and matched at will, although the selection is very limited at this time.