def test_priorConstraint(self): mln = MLN([os.path.join(self.smokingDir, "wts.smoking.mln"), os.path.join(self.smokingDir, "smoking-prior.emln")]) mln.write(sys.stdout) mrf = mln.groundMRF(os.path.join(self.smokingDir, "smoking-test-peopleonly.db")) results = map(float, (mrf.inferEnumerationAsk("Smokes"))) correctResults = [0.5, 0.5] self.assertApproxListEqual(results, correctResults, 0.01)
def test_inferExact_inferEnumerationAsk(self): mln = MLN(os.path.join(self.smokingDir, "wts.smoking.mln")) mln.write(sys.stdout) mrf = mln.groundMRF(os.path.join(self.smokingDir, "smoking-test-peopleonly.db")) results = map(float, (mrf.inferExact(["Smokes", "Cancer"]))) results2 = map(float, (mrf.inferEnumerationAsk(["Smokes", "Cancer"]))) correctResults = [0.3537297423387627, 0.3537297423387627, 0.5902867352545694, 0.5902867352545694] self.assertApproxListEqual(results, correctResults) self.assertApproxListEqual(results2, correctResults)
def test_priorConstraint(self): mln = MLN([ os.path.join(self.smokingDir, "wts.smoking.mln"), os.path.join(self.smokingDir, "smoking-prior.emln") ]) mln.write(sys.stdout) mrf = mln.groundMRF( os.path.join(self.smokingDir, "smoking-test-peopleonly.db")) results = map(float, (mrf.inferEnumerationAsk("Smokes"))) correctResults = [0.5, 0.5] self.assertApproxListEqual(results, correctResults, 0.01)
def test_inferExact_inferEnumerationAsk(self): mln = MLN(os.path.join(self.smokingDir, "wts.smoking.mln")) mln.write(sys.stdout) mrf = mln.groundMRF( os.path.join(self.smokingDir, "smoking-test-peopleonly.db")) results = map(float, (mrf.inferExact(["Smokes", "Cancer"]))) results2 = map(float, (mrf.inferEnumerationAsk(["Smokes", "Cancer"]))) correctResults = [ 0.3537297423387627, 0.3537297423387627, 0.5902867352545694, 0.5902867352545694 ] self.assertApproxListEqual(results, correctResults) self.assertApproxListEqual(results2, correctResults)