CPE 481
Knowledge-Based Systems
Winter 2004
CPE 481Knowledge-Based SystemsWinter 2004
Assignment 2: Family Relationships
Points |
25 |
Deadline |
Feb. 3 |
This assignment builds upon the knowledge base for family members
from the previous assignment. The task here is to specify
additional relationships between individuals that can be derived
from existing relationships. For example, if the "mother" and "father"
relationships are given, the "parent" relationship can be derived
from those, essentially by saying that if a person is somebody's
father or mother, they are a parent of that person.
Below you find a partial listing for a CLIPS knowledge base
on family relationships. (Your templates for the original
knowledge base may be different, which can require
modifications in the rules as well.)
Your task is to complete the rules
so that the following relationships are covered:
- parent
- sibling
- cousin (first degree only)
- brother in law, sister in law, mother in law, father in law
- grandfather, grandmother, grandparent
- great-grandfather, great-grandmother, great-grandparent
- ancestor (recursive extension of
parent -> grandparent -> great-grandparent ...)
You do not need to consider more complex relationships that may
arise as a consequence of divorce, adoption, or similar events.
In case of doubt, specify the exact relationship as a comment.
You must submit the following items:
- a diagram of the family tree you are using
- a file containing the knowledge base (facts and rules) for the family tree
- a file with therules for the family relationships
- a file with at least one test run for each of the requested relationships
- a README file with instructions for using your program
The first two items can be identical to the ones from the previous assignment,
and will not be graded. Their main purpose is to provide the whole set of relevant items
in one package.
I will use the following grading guidelines:
-
- 16 points in total for the correct formulation of the relationships
- 6 points for the test runs
- 3 points for the README file and documentation of the source code
Partial Sample Program
A partial sample of a CLIPS program for family relationships is available
through this link: Family Knowledge Base sample.
You may have to modify some aspects to reflect the structure of the knowledge base you use.