CS 2712, ISSP 2712,

Knowledge Representation Fall, 1995

Domain Representation, Due Oct. 31

1. Option 1 With this assignment we will implement a classic knowledge base from scratch. The

knowledge base should exploit the representational and inferential capabilities of classic. Furthermore, features of the domain that illustrate the limitations in classic’s expressive power (such as lack of full negation and disjunction, limited structural descriptions and a limited rule formalism) should be noted, along with the solutions you adopted to overcome the specific problems encountered.

The purpose of the knowledge base is to manage information for an imaginary real estate agency. It consists of two main hierarchies: one for dwellings (that is, for houses and apartments), and the other for clients. The hierarchies need to be organized so that the knowledge base can perform useful inferences and answer questions for the real estate agents.

The assignment is quite open-ended—that is, you can implement whatever inference and queries you find worthwhile. To limit the scale of the assignment, you can implement only a small part of the required knowledge, enough to illustrate the organization of the knowledge base; the rest can be indicated by an explanation of how the implementation would be completed. Thirty to forty concepts, or even less, is adequate for this purpose.

Do not worry about making the details of the knowledge base completely accurate; for instance, you can guess at current market prices.

Here are some reasoning tasks that might be appropriate for this domain.

• Estimate the rent of a house given its salient features and maintain the updated prices when the features change.

• Allow the real estate manager to enter in the knowledge base the description of a client and to retrieve a list of appropriate dwellings for the client.

• Allow the real estate manager to enter in the knowledge base the description of a new dwelling and to retrieve a list of the appropriate clients for the dwelling.

2. Option 2 If you have ideas about how the wines-and-food domain could be reorganized and im-

proved t oobtain useful inferences, you can try to implement your ideas. For instance, you might replace the concept of a “dish” for a “meal-food” and add knowledge about how the ingredients of a dish influence the kind of wine that is appropriate for the dish.

You should explain why the changes that you implement are improvements on the original knowledge base.

3. What to hand in

• A general description of the knowledge base you implemented and the inference tasks that it performs.

• Your code, properly commented.

• A log file containing sample queries and inference that the knowledge base supports. Make sure that you provide explanation of the log file where appropriate.