Question
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
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 its offered in the fall and has no prerequisites, or if its 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
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 prerequisitesStep by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started