print "Evidence 1: survive up to year 5, h5=80" for e in earray[1:6]: dbnet.enter_finding(e,0) h5ev = 80 h5 = harray[4] h5state = np.searchsorted(h5.bins, h5ev)-1 dbnet.enter_finding(h5, h5state) beta1 = [] for e in earray[1:]: beliefs = dbnet.get_node_beliefs(e) beta1.append(-stats.norm.ppf(beliefs[1])) uhbeliefs1 = dbnet.get_node_beliefs(uh) # evidence 2: survive up to year 5, hi = 30, h5=80 dbnet.retract_netfindings() print "Evidence 2: survive up to year 5, hi=30, h5=80" for e in earray[1:6]: dbnet.enter_finding(e,0) hiev=30 for h in harray[:4]: histate = np.searchsorted(h.bins, hiev)-1 dbnet.enter_finding(h,histate) h5ev = 80 h5 = harray[4] h5state = np.searchsorted(h5.bins, h5ev)-1 dbnet.enter_finding(h5, h5state) beta2 = [] for e in earray[1:]: beliefs = dbnet.get_node_beliefs(e) beta2.append(-stats.norm.ppf(beliefs[1]))
return utilr node_fr.assign_func(failure_risk) # create new network dbnet = Network("Soliman2014InfDiag") # add nodes to network dbnet.add_nodes([node_m, node_k] + aarray + marray + insparray + uiarray + rarray + urarray + [node_fr]) # add link: must be prior to defining nodes dbnet.add_link() # define nodes dbnet.define_nodes() # compile the net dbnet.compile_net() # enable autoupdate dbnet.set_autoupdate() # save the network dbnet.save_net("Soliman2014InfDiag.dne") #type 2 dbnet.retract_netfindings() dummy = dbnet.get_node_expectedutils(node_insp) dummy = dbnet.get_node_expectedutils(node_repair) decision = dbnet.get_node_funcstate(node_repair, [2, 4]) print 'If the inspection decision is {} and meausre is {}, the best repair decision is {}.\n'.format( node_insp.statenames[2], marray[0].statenames[4], node_repair.statenames[decision])