FJK Home | CPE/CSC 481 | Syllabus | Schedule | Lecture Notes | Assignments | Project | Teams | Other Links |
Points | 25 |
Deadline | 23:59:59, Jan. 19, 2006 |
The goal of this assignment is to establish a knowledge base for extended families. It stores basic facts about the individuals that are part of the extended family, and some of the basic relationships between individuals in that family. It will be expanded further in the next assignment, where you will define additional relationships that allow the derivation of new knowledge from the knowledge base.
In particular, you should:
Your task is to define templates for the following properties and relationships:
You may add other properties that you find relevant or interesting (e.g. weight, hair color, eye color, odd habits, ...). If you are not comfortable using your own family as an example, you can use other families for which such information is available (royalty usually has a wealth of information), or cartoon characters (the Simpsons are a good example of a reasonably large family; many others cartoon families are too small to be interesting). You can also add other relationships such as fiance, friend, business partner, etc., but it is probably better to keep it simple for now. Your family should span at least 20 individuals over four or more generations; if necessary, you can add fictional individuals. Each individual must have at least one relationship, and on average each individual must have at least two instantiated properties.
Your program must be able to perform the following tasks:
You can earn extra credit points by incorporating these aspects:
The emphasis here is not on an elegant way of interacting with the user. You can use sequences of simple questions, numbered options to choose from, or other ways of exchanging information with the user.
This assignment concentrates on two aspects of the CLIPS/Jess environment: The definition and use of facts, and basic interactions with the user. You can look at other simple CLIPS programs to get started with the interaction aspects. One of them is the animal guessing game, which uses a separate file ANIMAL.DAT to store information about the animals. Other examples are a wine advisor, and an implementation of the sticks game. These examples also come with the CLIPS package.
Especially for testing purposes, the batch command can be very helpful. Instead of having to enter information "manually", you can store the respective commands and inputs in a file. If you invoke CLIPS from the command-line, you can also read a file directly with clips -f file-name. To capture the results of the test runs, you can use copy and paste, the redirection operator in a shell, or the dribble-on file-name / dribble-off commands in CLIPS.
This assignment must be submitted electronically via the handin program on hornet to the grade480 account. Please make sure that you have a functioning account on hornet. Use "handin grade480 A1-Family-KB filename" to submit a file. To check if your file is there, omit the filename, and you'll see a listing of already submitted files. Follow this link for further directions.
You must submit the following items:
I will use the following grading guidelines:
FJK Home | CPE/CSC 481 | Syllabus | Schedule | Lecture Notes | Assignments | Project | Teams | Other Links |
Franz Kurfess |