A Horn Form Knowledge Base stores and manages a list of definite Horn Clauses. And such a knowledge base can be viewed as a conjunction of these Horn clauses.
A Logic AI Agent using the Horn Form Knowledge Base (HF_KB) as its representation system must support at least two methods TELL and ASK.
A sample main function shown below creates a HF_KB agent and communicates with the agent using its TELL and ASK methods.
#include "KB.h" // header file of the knowledge base agent #includeusing namespace std; int main() { HF_KB myKB; String myQuery = "F"; myKB.TELL("A^B^C", "D"); // tells A ^ B ^ C => D myKB.TELL("AB^E", "F"); // tells AB ^ E => F myKB.TELL("P1^P2", "B"); // tells P1 ^ P2 => B myKB.TELL("", "A"); // tells A myKB.TELL("", "P1"); // tells P1 myKB.TELL("", "E"); // tells E if (myKB.ASK(myQuery)) cout << "My knowledge base entails" << myQuery; else cout << "My knowledge base does not entail " << myQuery; }
You can make the following assumptions about the agent's representation system:
Develop this Logic AI agent program that uses propositional logic Horn Form Knowledge Base as its representation system. One specific requirement is that the agent's ASK method must be implemented using Backward Chaining method.
Provide an assignment report (a .txt or .pdf file) that includes at least the following information:
You need to submit the following files for this assignment:
Put all the files you want to submit in one folder on any cub/pup machine,
submit them using the following command:
~liuh/bin/submit 485 A4 .
To check what file(s) you have submitted for this assignment,
use the following command on otter:
~liuh/bin/checksubmit 485 A4
Alternatively, upload all the files you'd like to submit to VIU Learn, under the CSCI 485/Assessment/Assignment/A4 tab. Please don't zip your files. Just upload them in their original format.