from parser import BNParser from parser import QueryParser from bayesnet import BayesNet bnfile = open('tests/01.bn') qfile = open('tests/01.in') bnparser = BNParser(bnfile) bnparser.parse() qparser = QueryParser(bnparser, qfile) print('dicionario', bnparser.parsed) qparser.parse() print(qparser.get_var()) print(qparser.get_evidence())
if __name__ == "__main__": # measure time start_time_program = time.time() print('Parsing Bayesian network from ' + args.bayesnet.name + '... ', end = '') bnp = BNParser(args.bayesnet) bnp.parse() print('Done.') print('Parsing query from ' + args.query.name + '... ', end = '') qparser = QueryParser(bnp, args.query) qparser.parse() evidence = qparser.get_evidence() vartoinf = qparser.get_var() print('Done.\n') # create the Bayesian network bn = BayesNet(bnp.parsed) # compute the poseterior probability distribution ppd = bn.ppd([vartoinf], evidence) sol_write = SolWriter(args.query.name) if args.verbose: sol_write.write_sol(ppd, qparser.query_str, qparser.evidence_str, bn.step_by_step) else: sol_write.write_sol(ppd, qparser.query_str, qparser.evidence_str) sol_write.close_file()