FJK Home CPE 481 Syllabus Schedule Lecture Notes Assignments Project Teams Other Links
CPE 481 Knowledge-Based Systems Winter 2004

CPE 481Knowledge-Based SystemsWinter 2004 Assignment 1: Family Knowledge Base

Points 25
Deadline Jan. 22
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. Below you find a partial listing for a CLIPS knowledge base on family relationships. 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 should be able to perform the following tasks:

  1. add additional members of the family
  2. specify their basic properties, and their basic relationships with other members of the family
  3. answer queries about an individual's properties (e.g. "What is John's age?")
  4. list all the properties of an individual (e.g. "What do we know about John's mother?")
  5. identify individuals that have certain properties (e.g. "Who is older than twenty and taller than six feet?")
  6. answer queries about individuals that are in a particular relationship with an individual (e.g. "Who are John's brothers?")
  7. list the relationships of individuals (e.g. "What are John's relationships in the family?")
You must submit the following items:
  1. A diagram of the family tree you are using.
  2. A file containing the knowledge base (facts) for the family tree. This file should specify the templates as well as the specific facts about the family.
  3. A file with at least one test run for each of the requested tasks.
  4. A README file with instructions for using your program.

I will use the following grading guidelines:

  1. 5 points for the tree diagram
  2. 5 points for the correct formulation of the templates, and the family facts
  3. 7 points for the test runs
  4. 3 points for the README file and documentation of the source code



FJK Home CPE 481 Syllabus Schedule Lecture Notes Assignments Project Teams Other Links
© 2024
Franz Kurfess