Question: CSCI-755 : Artificial Intelligence Project This project is worth 10% of your final grade. You will turn in a paper with the following: a. Cover

CSCI-755 : Artificial Intelligence Project

This project is worth 10% of your final grade. You will turn in a paper with the following:

a. Cover page with your name, id, class, and semester

b. Each of the four exercises

a. Snapshots of your input b. Snapshots of the output

c. Any other supporting comments First, you are to familiarize yourself with the basic common lisp environment and write some simple functions.

Download a common lisp from the internet.

Install the common lisp that you downloaded

1. Start it and play around with it

Type in some symbols and numbers ( a, 5, 3.183, nil, T, hello, etc.) and see what results you get.

Call some basic functions (+ 5 3), (setf a 6), (setf b 12), (* a b), (set c(/ a b)), etc.

Write some simple functions like square, cube, etc.

Write a few list functions like determining if all elements of a list are numbers, characters, etc.

2. Start a dribble session. Your first command should be (print name) with your name in quotes.

3. Create a list that stores the courses that you are taking this semester where the courses are stored in sublists as (subjectnumber) such as (CSCI 755) so that your list will look like this:

((CSCI 755) (EENG 641) (ACCT 801) (CHEM 601) (ENGY 720)) and then create 3 other lists for fictitious CSCI and/or EENG majors. All students should have at least one CSCI class. They should all have at least 2 courses, no more than 7 Write the following functions

a. Given a subject, print all courses of that subject

b. Print all upper level courses (7xx and 8xx courses)

c. Count the number of courses that are either CSCI or EENG and return that number

d. Given a course list, determine whether a given schedule is hard, easy or inbetween. Where a hard schedule is one where the student is taking only upper level courses or only CSCI/EENG courses; an easy schedule is one where the student is taking only lower level courses or is one with no CSCI/EENG courses; and inbetween is everything else.

4. Write a lisp function ask-and-tell that processes simple sentences. It should allow you to enter lists that represent assertions, such as (Mary likes hiking) or (Steve hates pretzels), as well as questions such as (Does Mary like hiking) or (Does Steve like pretzels). The assertions should all have a proper name (e.g., Mary) in the first position, the word likes or hates in the second position, and either an activity (e.g., hiking) or and object (e.g., pretzels) in the last position. The questions should be similar, except that they begin with the word Does. The function should remember the assertions you give it, and answer your questions appropriately. If you repeat an assertion, it should let you know that; if you enter a contradictory assertion, it should alert you to that, and confirm that youre sure before making the change.

E.g.,

> (ask-and-tell (mary likes hiking) ) OK

>(ask-and-tell (steve hates pretzels) ) OK

>(ask-and-tell (does mary like hiking) ) YES

>(ask-and-tell (does mary like pretzels) ) I DONT KNOW >(ask-and-tell (mary likes hiking) ) I KNOW THAT ALREADY

>(ask-and-tell (does steve like pretzels) ) NO

>(ask-and-tell (mary hates hiking) ) YOUVE CHANGED YOUR MIND ARE YOU SURE? no OK

>(ask-and-tell (does mary like hiking) ) YES

>(ask-and-tell (mary hates hiking) ) YOUVE CHANGED YOUR MIND ARE YOU SURE? yes OK

>(ask-and-tell (does mary like hiking) ) NO

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!