Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

USE SWI-Prolog & SCREENSHOT Task2: Curriculum of Computer Science Department Your task is to create a knowledge base describing courses and their prerequisites. The graph

USE SWI-Prolog & SCREENSHOT

image text in transcribed

image text in transcribed

image text in transcribed

Task2: Curriculum of Computer Science Department Your task is to create a knowledge base describing courses and their prerequisites. The graph below shows the courses and their prerequisites. As shown in the graph, a solid directed arrow from CS15 to CS16 indicates that CS15 is a prerequisite to CS16. A dotted arrow means that ONE of the these courses is a prerequisite of the course. For example, to take CS33, you have to take either CS16 or CS18. Course names are constants, so you have to use lowercase letters ( cs22,cs33, etc) in your code. More facts about the transcript are: - CS15,CS17,CS33,CS141 and CS126 are only offered in the fall. - cS16,cS18,cS22,cS32,cS166 are only offered in the spring. You also have a set of rules as follows: - A course is introductory if it's offered in the fall and has no prerequisites, or if it's offered in the spring and its prerequisite that has no prerequisites. - A course is intermediate if it is not introductory, but its prerequisites are all introductory courses. - A course is upper level if its prerequisites are not introductory courses, or if its prerequisites are CS22 and introductions. - Course may only be of one level; i.e., introductory courses may not also be intermediate courses, etc. You can now add a set of facts that students have taken some courses using the has_taken predicate (i.e., has_taken(sarah, cs15)). Then, you need to add one more rule to test the eligibility of a student to take a course: - can_take(Student, Course), true when Student is eligible to take Course (i.e., they have taken the necessary prerequisites). Now that you have implemented the knowledge base (facts and rules), you can test your implementation by querying the knowledge base: - Add a fact that a student (e.g., sarah) has only taken one intermediate course and the prerequisites for this intermediate course. Then test whether sarah can take any other courses from the curriculum. - The only course that manal can take is cs32 (thus insert the required facts to make the answer to this query true). - Retrieve the introduction, intermediate and upper-level courses in the curriculum. Preamble - Install SWI-Prolog. 1. Submission Instructions: Submit: a) The Prolog source code of your program (citation.pl and curriculum.pl files). b) A pdf report providing answers/discussions to the assignment's questions

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access with AI-Powered Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Students also viewed these Databases questions