#!/usr/bin/env python # this is a test case for sample codes from brml.potential import potential from brml.variable import variable p = potential(1,1) print "var POTENTIAL.p created" print "p.variable = ", p.variables print "p.table = ", p.table v = variable('butler',['hehe', 'heihei']) # v = variable('butler',['murderer','not murderer']) print "var VARIABLE.v created" print "v.name = ", v.name print "v.domain = ", v.domain
#!/usr/bin/env python # this is a test case for sample codes from brml.potential import potential from brml.variable import variable p = potential(1, 1) print "var POTENTIAL.p created" print "p.variable = ", p.variables print "p.table = ", p.table v = variable('butler', ['hehe', 'heihei']) # v = variable('butler',['murderer','not murderer']) print "var VARIABLE.v created" print "v.name = ", v.name print "v.domain = ", v.domain
from brml.condpot import condpot # Define number of variables(nodes) N = 3 butler=2; maid=1; knife=0 # Variable order is arbitary (3,2,1 for MATLAB) # Define states, starting from 0. (from 1 for MATLAB) murderer=0; notmurderer=1 used=0; notused=1 """ The following definitions of variable are not necessary for computation, but are useful for displaying table entries: """ # Create empty list for variable, len(variable) = N variable = [ variable(None, None) for i in range(N)] #print "variable list created as variable[knife, maid, butler] \n" variable[butler].name='butler'; variable[butler].domain = ['murderer','not murderer'] variable[maid].name='maid'; variable[maid].domain =['murderer','not murderer'] variable[knife].name='knife'; variable[knife].domain=['used','not used'] """ Three Potential since p(butler,maid,knife)=p(knife|butler,maid)p(butler)p(maid). Potential numbering is arbitary """ # Create empty list for Potential, len(variable) = N pot = [Potential() for i in range(N)] #print "pot list created as pot[knife, maid, butler] \n" pot[butler].variables = np.array([butler]) pot[butler].card = np.array([2])
import sys sys.path.append("..") from brml.variable import variable from brml.potential import potential from brml.multpots import multpots from brml.potvariables import potvariables from brml.setpot import setpot from brml.condpot import condpot from brml.dag import dag burglar, earthquake, alarm, radio = range(4) # Variable order is arbitary yes = 0 no = 1 variable = [variable(None, None) for i in range(4)] variable[burglar].name = 'burglar' variable[burglar].domain = ['yes', 'no'] variable[earthquake].name = 'earthquake' variable[earthquake].domain = ['yes', 'no'] variable[alarm].name = 'alarm' variable[alarm].domain = ['yes', 'no'] variable[radio].name = 'radio' variable[radio].domain = ['yes', 'no'] pot = [potential() for i in range(4)]
N = 3 butler = 2 maid = 1 knife = 0 # Variable order is arbitary (3,2,1 for MATLAB) # Define states, starting from 0. (from 1 for MATLAB) murderer = 0 notmurderer = 1 used = 0 notused = 1 """ The following definitions of variable are not necessary for computation, but are useful for displaying table entries: """ # Create empty list for variable, len(variable) = N variables = [variable(None, None) for i in range(N)] print "variable list created as variable[knife, maid, butler] \n" variables[butler].name = 'butler' variables[butler].domain = ['murderer', 'not murderer'] variables[maid].name = 'maid' variables[maid].domain = ['murderer', 'not murderer'] variables[knife].name = 'knife' variables[knife].domain = ['used', 'not used'] """ Three potential since p(butler,maid,knife)=p(knife|butler,maid)p(butler)p(maid). potential numbering is arbitary """ # Create empty list for potential, len(variable) = N pot = [potential() for i in range(N)] print "pot list created as pot[knife, maid, butler] \n"