bayes q3
This commit is contained in:
@ -173,7 +173,23 @@ def eliminateWithCallTracking(callTrackingList=None):
|
||||
"unconditionedVariables: " + str(factor.unconditionedVariables()))
|
||||
|
||||
"*** YOUR CODE HERE ***"
|
||||
raiseNotDefined()
|
||||
# print("factor= ", factor)
|
||||
# print("eliminationVariable= ", eliminationVariable)
|
||||
variableDomainsDict=factor.variableDomainsDict()
|
||||
unconditional_variables = [var for var in factor.unconditionedVariables() if var != eliminationVariable]
|
||||
conditioned_variables = factor.conditionedVariables()
|
||||
new_factor = Factor(unconditional_variables, conditioned_variables, variableDomainsDict)
|
||||
cases = new_factor.getAllPossibleAssignmentDicts()
|
||||
for case_ in cases:
|
||||
prob = 0
|
||||
# print("initially, case_= ", case_)
|
||||
for value in variableDomainsDict[eliminationVariable]:
|
||||
case_[eliminationVariable] = value
|
||||
# print("case_= ", case_)
|
||||
prob += factor.getProbability(case_)
|
||||
new_factor.setProbability(case_, prob)
|
||||
# print("new_factor= ", new_factor, " and its cases= ", new_factor.getAllPossibleAssignmentDicts())
|
||||
return new_factor
|
||||
"*** END YOUR CODE HERE ***"
|
||||
|
||||
return eliminate
|
||||
|
Reference in New Issue
Block a user