Ejemplo n.º 1
0
 def __parse_lpad(self, lpad):
     self.__weights = Weights()
     self.__logicProgram = LogicProgram()
     self.__constraints = []
     self.__rule_counter = 0
     for line in open(lpad):
         line = line.strip()
         self.__parse_AD(line)
Ejemplo n.º 2
0
 def __call__(self,logic_program,weights,queries,evidence):
     self.__original_program = logic_program
     self.__original_weights = weights
     self.__new_program = LogicProgram()
     self.__new_weights = Weights()
     self.__built_rules = {}
     for lit in queries | evidence:
         self.__get_rule(lit)
     new_evidence = set([])
     for lit in evidence:
         if lit.truth_value:
             for (new_lit,_) in self.__built_rules[lit]:
                 new_evidence.add(new_lit)
         else:
             for (new_lit,_) in self.__built_rules[-lit]:
                 new_evidence.add(-new_lit)
     return self.__new_program, self.__new_weights, new_evidence