def calculate_average_probability_execution_time(semantics, baba_framework, number_of_trials): start_time = time.process_time() for i in range(number_of_trials): Semantics.compute_semantic_probability(semantics, baba_framework) return 100 * (time.process_time() - start_time)
def test_integration_framework_with_one_conditional_random_variable(self): parser = Parser.BABAProgramParser( filename='../PythonSemantics/Parsing/BABA_program_5') baba = parser.parse() lang_prob = Semantics.compute_semantic_probability( Semantics.GROUNDED, baba) self.assertAlmostEqual(0.2, lang_prob[ExampleFrameworks.a.symbol])
def test_integration_framework_with_conditional_random_variables(self): parser = Parser.BABAProgramParser( filename='../PythonSemantics/Parsing/BABA_program_4') baba = parser.parse() lang_prob = Semantics.compute_semantic_probability( Semantics.GROUNDED, baba) self.assertAlmostEqual(0.775, lang_prob[ExampleFrameworks.b.symbol]) self.assertAlmostEqual(0.6625, lang_prob[ExampleFrameworks.c.symbol]) self.assertAlmostEqual(0.45, lang_prob['o']) self.assertAlmostEqual(0.75, lang_prob['p']) self.assertAlmostEqual(1.0, lang_prob[ExampleFrameworks.d.symbol]) self.assertAlmostEqual(1.0, lang_prob[ExampleFrameworks.e.symbol])
def test_compute_grounded_probability(self): baba = ExampleFrameworks.r_framework() grounded_probabilities = Semantics.compute_semantic_probability( Semantics.GROUNDED, baba) self.assertEqual(0.64, grounded_probabilities[ExampleFrameworks.a.symbol]) self.assertEqual(0.36, grounded_probabilities[ExampleFrameworks._a.symbol]) self.assertEqual(0.6, grounded_probabilities[ExampleFrameworks.b.symbol]) self.assertEqual(0.4, grounded_probabilities[ExampleFrameworks._b.symbol]) self.assertEqual(1.0, grounded_probabilities[ExampleFrameworks.c.symbol]) self.assertEqual(0.0, grounded_probabilities[ExampleFrameworks._c.symbol]) self.assertEqual(0.64, grounded_probabilities[ExampleFrameworks.j.symbol])
def test_compute_ideal_probability(self): ideal_probabilities = Semantics.compute_semantic_probability( Semantics.IDEAL, ExampleFrameworks.r_framework()) self.assertAlmostEqual(0.64, ideal_probabilities[ExampleFrameworks.a.symbol]) self.assertAlmostEqual( 0.36, ideal_probabilities[ExampleFrameworks._a.symbol]) self.assertAlmostEqual(0.60, ideal_probabilities[ExampleFrameworks.b.symbol]) self.assertAlmostEqual( 0.40, ideal_probabilities[ExampleFrameworks._b.symbol]) self.assertAlmostEqual(1.0, ideal_probabilities[ExampleFrameworks.c.symbol]) self.assertAlmostEqual( 0.0, ideal_probabilities[ExampleFrameworks._c.symbol]) self.assertAlmostEqual(0.64, ideal_probabilities[ExampleFrameworks.j.symbol]) self.assertAlmostEqual(0.6, ideal_probabilities[ExampleFrameworks.s.symbol]) self.assertAlmostEqual(0.4, ideal_probabilities[ExampleFrameworks.t.symbol])
def test_integration_cow_framework(self): baba = Parser.BABAProgramParser( filename='../PythonSemantics/Parsing/BABA_cow_program').parse() lang_prob = Semantics.compute_semantic_probability( Semantics.GROUNDED, baba) self.assertAlmostEqual(0.72, lang_prob[ExampleFrameworks.HP.symbol])