Sale!

CS 4800 Assignment Assignment 7 solved

Original price was: $35.00.Current price is: $30.00.

Category:

Description

5/5 - (2 votes)

This assignment is to implement a recommender system, a type of AI system in common usage.

Write an interactive Prolog program to help users select the pets that are right for them. Select at least 20 different pets, and write facts to describe them in your Prolog program. Then, consider the traits, preferences and/or lifestyles that would suit a person to one kind of pet or another. Ask your user, the potential pet owner, at least five questions about himself or herself that would influence their choice of pets.

Use this input with your Prolog rules to determine the best pets for the individual user. (Tip: The built-in predicate findall/3 comes in handy for finding multiple recommendations.)
There is considerable flexibility in the pets you choose to include in your system and the rules you use to determine which pets are right for which people. Your rules should be plausible, but will not be the same as mine. For example, based on my own experience, I might think that the best pet is one that shows up on my doorstep by itself and does not eat other pets. Use your own experience, ideas and criteria!

Note that it is important for your system to be able to make a chain of inferences using the rules you write. Your rules should not be so specialized that you can transition from the start state to the goal state using only one inference rule. You are representing a world of pets and the relationships between pets and pet owners. If your program starts to look at all like a lookup table (a potential pitfall), you are on the wrong track and need to rethink the problem.

Turn in:

1. A text description of the rules you use to choose pets in your system. Explain enough about your criteria to make it clear that your system is, in fact, implementing the rules you describe. Your description should be approximately one page long.
2. Your complete Prolog program.
3. A printed typescript of your system recommending pets to three different individuals.
To get a printed typescript containing a Prolog session in a file, right before you enter Prolog, enter script at the UNIX prompt. This will save everything you do in a file named typescript. (It is a good idea to rename this file ASAP, because each time you do this the old typescript file is overwritten.) When you are finished working in the interpreter, enter D at the UNIX prompt. This will stop saving your work and close the typescript file.
Be sure to complete this assignment using SWI-Prolog on p1.cs.ohio.edu, p2.cs.ohio.edu, or px1.cs.ohio.edu, as Prolog is not standard across all interpreters.
This assignment is to be turned in, on paper, during class. Email submissions are not acceptable for this assignment.