from bayesnet import BayesNet # other modules import argparse import time from pprint import pprint parser = argparse.ArgumentParser( description='Probabilistic reasoner based on Bayesian networks.') parser.add_argument('bayesnet', type=argparse.FileType('r'), help='an input file where the Bayesian network is defined') parser.add_argument( 'query', type=argparse.FileType('r'), help='an input file where the query and evidence are defined') parser.add_argument('--verbose', '-v', action='store_true', help='explain what is being done') args = parser.parse_args() if __name__ == "__main__": # measure time start_time_program = time.time() print('Parsing Bayesian network from ' + args.bayesnet.name + '... ', end='') bnp = BNParser(args.bayesnet)
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())
import argparse import time parser = argparse.ArgumentParser(description='Probabilistic reasoner based on Bayesian networks.') parser.add_argument('bayesnet', type=argparse.FileType('r'), help='an input file where the Bayesian network is defined') parser.add_argument('query', type=argparse.FileType('r'), help='an input file where the query and evidence are defined') parser.add_argument('--verbose', '-v', action='store_true', help='explain what is being done') args = parser.parse_args() 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)