// burglary example from problog // gk formulation has been modified by using equivalences, not implications /* person(john). person(mary). 0.7::burglary. 0.2::earthquake. 0.9::alarm :- burglary, earthquake. 0.8::alarm :- burglary, \+earthquake. 0.1::alarm :- \+burglary, earthquake. 0.8::calls(X) :- alarm, person(X). 0.1::calls(X) :- \+alarm, person(X). evidence(calls(john),true). evidence(calls(mary),true). query(burglary). query(earthquake). result: burglary 0.98193926 earthquake 0.22685136 */ [ {"@confidence": 1.0, "@logic": ["person","john"]}, {"@confidence": 1.0, "@logic": ["person","mary"]}, {"@confidence": 0.7, "@logic": ["burglary","t1"]}, {"@confidence": 0.2, "@logic": ["earthquake","t1"]}, {"@confidence": 0.9, "@logic": [[["burglary","t1"],"&",["earthquake","t1"]],"<=>",["alarm","t1"]]}, {"@confidence": 0.8, "@logic": [[["burglary","t1"],"&",["-earthquake","t1"]],"<=>",["alarm","t1"]]}, {"@confidence": 0.1, "@logic": [[["-burglary","t1"],"&",["earthquake","t1"]],"<=>",["alarm","t1"]]}, {"@confidence": 0.8, "@logic": [[["alarm","t1"],"&",["person","?:X"]],"<=>",["calls","?:X"]]}, {"@confidence": 0.1, "@logic": [[["-alarm","t1"],"&",["person","?:X"]],"<=>",["calls","?:X"]]}, {"@confidence": 1.0, "@logic": ["calls","john"]}, {"@confidence": 1.0, "@logic": ["calls","mary"]}, //{"@question": ["burglary","t1"]} {"@question": ["earthquake","t1"]} ] /* {"result": "proof found", "answers": [ { "answer": false, "confidence": 0.164805, "positive_proof": [ [1, 5, ["in", "frm_5", "axiom", 0.9, 0, []], [["-alarm","t1"], ["earthquake","t1"]]], [2, 15, ["in", "frm_8", "axiom", 0.8, 0, []], [["alarm","t1"], ["-calls","?:X"]]], [3, 19, ["in", "frm_10", "axiom", 1, 0, []], [["calls","john"]]], [4, 28, ["mp", [2,1], 3, "fromaxiom", 0.8, 0, [15,19]], [["alarm","t1"]]], [5, 21, ["in", "frm_12", "goal", 1, 0, []], [["-earthquake","t1"]]], [6, 39, ["mp", 1, 4, 5, "fromgoal", 0.72, 0, [5,15,19]], false], [7, 3, ["in", "frm_4", "axiom", 0.2, 0, []], [["earthquake","t1"]]], [8, 21, ["in", "frm_12", "goal", 1, 0, []], [["-earthquake","t1"]]], [9, 23, ["mp", 7, 8, "fromgoal", 0.2, 0, [3]], false], [10, 146, ["cumul", 6, 9, "fromgoal", 0.776, 0, [5,15,19,3]], false], [11, 16, ["in", "frm_9", "axiom", 0.1, 0, []], [["alarm","t1"], ["-person","?:X"], ["calls","?:X"]]], [12, 0, ["in", "frm_1", "axiom", 1, 0, []], [["person","john"]]], [13, 76, ["mp", [11,1], 12, "fromaxiom", 0.1, 0, [16,0]], [["alarm","t1"], ["calls","john"]]], [14, 8, ["in", "frm_6", "axiom", 0.8, 0, []], [["-earthquake","t1"], ["-alarm","t1"]]], [15, 3, ["in", "frm_4", "axiom", 0.2, 0, []], [["earthquake","t1"]]], [16, 40, ["mp", 14, 15, "fromaxiom", 0.16, 0, [8,3]], [["-alarm","t1"]]], [17, 77, ["simp", 13, 16, "fromaxiom", 0.016, 0, [16,0,8,3]], [["calls","john"]]], [18, 15, ["in", "frm_8", "axiom", 0.8, 0, []], [["alarm","t1"], ["-calls","?:X"]]], [19, 82, ["mp", 17, [18,1], "fromaxiom", 0.0128, 0, [16,0,8,3,15]], [["alarm","t1"]]], [20, 5, ["in", "frm_5", "axiom", 0.9, 0, []], [["-alarm","t1"], ["earthquake","t1"]]], [21, 21, ["in", "frm_12", "goal", 1, 0, []], [["-earthquake","t1"]]], [22, 100, ["mp", 19, 20, 21, "fromgoal", 0.01152, 0, [16,0,8,3,15,5]], false], [23, 201, ["cumul", 10, 22, "fromgoal", 0.777032, 0, [5,15,19,3,16,0,8]], false], [24, 16, ["in", "frm_9", "axiom", 0.1, 0, []], [["alarm","t1"], ["-person","?:X"], ["calls","?:X"]]], [25, 1, ["in", "frm_2", "axiom", 1, 0, []], [["person","mary"]]], [26, 78, ["mp", [24,1], 25, "fromaxiom", 0.1, 0, [16,1]], [["alarm","t1"], ["calls","mary"]]], [27, 8, ["in", "frm_6", "axiom", 0.8, 0, []], [["-earthquake","t1"], ["-alarm","t1"]]], [28, 3, ["in", "frm_4", "axiom", 0.2, 0, []], [["earthquake","t1"]]], [29, 40, ["mp", 27, 28, "fromaxiom", 0.16, 0, [8,3]], [["-alarm","t1"]]], [30, 79, ["simp", 26, 29, "fromaxiom", 0.016, 0, [16,1,8,3]], [["calls","mary"]]], [31, 15, ["in", "frm_8", "axiom", 0.8, 0, []], [["alarm","t1"], ["-calls","?:X"]]], [32, 88, ["mp", 30, [31,1], "fromaxiom", 0.0128, 0, [16,1,8,3,15]], [["alarm","t1"]]], [33, 5, ["in", "frm_5", "axiom", 0.9, 0, []], [["-alarm","t1"], ["earthquake","t1"]]], [34, 21, ["in", "frm_12", "goal", 1, 0, []], [["-earthquake","t1"]]], [35, 115, ["mp", 32, 33, 34, "fromgoal", 0.01152, 0, [16,1,8,3,15,5]], false], [36, 265, ["cumul", 23, 35, "fromgoal", 0.777625, 0, [5,15,19,3,16,0,8,1]], false], [37, 11, ["in", "frm_7", "axiom", 0.1, 0, []], [["-alarm","t1"], ["earthquake","t1"]]], [38, 15, ["in", "frm_8", "axiom", 0.8, 0, []], [["alarm","t1"], ["-calls","?:X"]]], [39, 20, ["in", "frm_11", "axiom", 1, 0, []], [["calls","mary"]]], [40, 29, ["mp", [38,1], 39, "fromaxiom", 0.8, 0, [15,20]], [["alarm","t1"]]], [41, 21, ["in", "frm_12", "goal", 1, 0, []], [["-earthquake","t1"]]], [42, 66, ["mp", 37, 40, 41, "fromgoal", 0.08, 0, [11,15,20]], false], [43, 5, ["in", "frm_5", "axiom", 0.9, 0, []], [["-alarm","t1"], ["earthquake","t1"]]], [44, 15, ["in", "frm_8", "axiom", 0.8, 0, []], [["alarm","t1"], ["-calls","?:X"]]], [45, 20, ["in", "frm_11", "axiom", 1, 0, []], [["calls","mary"]]], [46, 29, ["mp", [44,1], 45, "fromaxiom", 0.8, 0, [15,20]], [["alarm","t1"]]], [47, 21, ["in", "frm_12", "goal", 1, 0, []], [["-earthquake","t1"]]], [48, 38, ["mp", 43, 46, 47, "fromgoal", 0.72, 0, [5,15,20]], false], [49, 151, ["cumul", 42, 48, "fromgoal", 0.727467, 0, [11,15,20,5]], false], [50, 356, ["cumul", 36, 49, "fromgoal", 0.885472, 0, [5,15,19,3,16,0,8,1,11,20]], false] ], "negative_proof": [ [1, 8, ["in", "frm_6", "axiom", 0.8, 0, []], [["-earthquake","t1"], ["-alarm","t1"]]], [2, 22, ["in", "$auto_negated_question", "goal", 1, 0, []], [["earthquake","t1"]]], [3, 462, ["mp", 1, 2, "fromgoal", 0.8, 0, [8]], [["-alarm","t1"]]], [4, 15, ["in", "frm_8", "axiom", 0.8, 0, []], [["alarm","t1"], ["-calls","?:X"]]], [5, 20, ["in", "frm_11", "axiom", 1, 0, []], [["calls","mary"]]], [6, 451, ["mp", [4,1], 5, "fromaxiom", 0.8, 0, [15,20]], [["alarm","t1"]]], [7, 466, ["mp", 3, 6, "fromgoal", 0.64, 0, [8,15,20]], false], [8, 462, ["mp", 1, 2, "fromgoal", 0.8, 0, [8]], [["-alarm","t1"]]], [9, 19, ["in", "frm_10", "axiom", 1, 0, []], [["calls","john"]]], [10, 450, ["mp", [4,1], 9, "fromaxiom", 0.8, 0, [15,19]], [["alarm","t1"]]], [11, 463, ["simp", 8, 10, "fromgoal", 0.64, 0, [8,15,19]], false], [12, 489, ["cumul", 7, 11, "fromgoal", 0.7168, 0, [8,15,20,19]], false], [13, 16, ["in", "frm_9", "axiom", 0.1, 0, []], [["alarm","t1"], ["-person","?:X"], ["calls","?:X"]]], [14, 14, ["in", "frm_8", "axiom", 0.8, 0, []], [["-calls","?:X"], ["person","?:X"]]], [15, 447, ["mp", 14, 5, "fromaxiom", 0.8, 0, [14,20]], [["person","mary"]]], [16, 472, ["mp", [13,1], 15, 8, "fromgoal", 0.064, 0, [16,14,20,8]], [["calls","mary"]]], [17, 488, ["mp", 16, [4,1], 8, "fromgoal", 0.04096, 0, [16,14,20,8,15]], false], [18, 498, ["cumul", 12, 17, "fromgoal", 0.720667, 0, [8,15,20,19,16,14]], false] ]} ]} */ /* Summary of the Alchemy 2 implementation of the example. :::::::::::::: studymln/mln/study14-lrn.mln :::::::::::::: //predicate declarations Dayincalifornia(c) Earthquake(c) Calls(p) Alarm(c) Person(p) Burglary(c) // 1.22158 Dayincalifornia(x) => Burglary(x) 1.22158 !Dayincalifornia(a1) v Burglary(a1) // -0.932008 Dayincalifornia(x) => Earthquake(x) -0.932008 !Dayincalifornia(a1) v Earthquake(a1) // 1.03504 Burglary(x) ^ Earthquake(x) => Alarm(x) 1.03504 !Burglary(a1) v !Earthquake(a1) v Alarm(a1) // 0.853006 Burglary(x) ^ !Earthquake(x) => Alarm(x) 0.853006 !Burglary(a1) v Earthquake(a1) v Alarm(a1) // -0.188224 !Burglary(x) ^ Earthquake(x) => Alarm(x) -0.188224 Burglary(a1) v !Earthquake(a1) v Alarm(a1) // 0.00114601 Alarm(x) ^ Person(y) => Calls(y) 0.00114601 !Alarm(a1) v !Person(a2) v Calls(a2) // -0.00114601 !Alarm(x) ^ Person(y) => Calls(y) -0.00114601 Alarm(a1) v !Person(a2) v Calls(a2) // 0 Dayincalifornia(a1) 0 Dayincalifornia(a1) // -0.0199638 Burglary(a1) -0.0199638 Burglary(a1) // -0.466734 Earthquake(a1) -0.466734 Earthquake(a1) // -0.124301 Alarm(a1) -0.124301 Alarm(a1) // 0 Person(a1) 0 Person(a1) // 0 Calls(a1) 0 Calls(a1) :::::::::::::: studymln/mln/study14.db :::::::::::::: Dayincalifornia(1) Person(John) Person(Mary) Calls(John) Calls(Mary) :::::::::::::: studymln/RESULTS.tmp :::::::::::::: infer: Burglary(1) 0.706979 infer: Earthquake(1) 0.19603 infer: Alarm(1) 0.593991 liftedinfer -ptpe: Earthquake(1) 0 liftedinfer -ptpe: Alarm(1) 0 liftedinfer -ptpe: Burglary(1) 0 liftedinfer -lvg: Earthquake(1) 0.865135 liftedinfer -lvg: Alarm(1) 0.889111 liftedinfer -lvg: Burglary(1) 0.889111 */