Skip to content
Open

Main #1307

Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
more ppsat
  • Loading branch information
jmayhugh1 committed Feb 18, 2025
commit a407daf56dbbed9aea9fe2a271f8673e958b9f5f
29 changes: 27 additions & 2 deletions ppsat.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,14 @@ def ppsat_to_cnf(clause : str):

pass

def ppsat_wrappet(master, agent):
## run the ./ppsat with args for
pass
class AgentKB(KB):
def __init__(self, master: KB, sentence=None, mode=0):
self.public = []
self.private = []
self.master = master
if sentence:
self.tell_public(sentence) if mode == 0 else self.tell_private(sentence)

Expand All @@ -45,9 +49,30 @@ def tell_private(self, sentence):
def tell_public(self, sentence):
self.public.extend(conjuncts(to_cnf(sentence)))

def ask_master(self, query):
def ask_master(self):
"""Return True if the KB entails query, else return False."""
return self.ask_if_true(query)
return self.ask_master(self.master)
def _ask_master(self, master):
## create a connection with
agent_clauses = ""
master_clauses = ""
for c in self.public:
agent_clauses += cnf_to_ppsat(c) + " "
for c in self.private:
agent_clauses += cnf_to_ppsat(c) + " "
for c in master.public:
master_clauses += cnf_to_ppsat(c) + " "
for c in master.private:
master_clauses += cnf_to_ppsat(c) + " "
print("self clauses:", agent_clauses)
print("master clauses:", master_clauses)
## now go up a file and







def ask_generator(self, query):
"""Yield the empty substitution {} if KB entails query; else no results."""
Expand Down