// 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.871373, "positive_proof": [ [1, 16, ["in", "frm_9", "axiom", 0.1, 0, []], [["alarm","t1"], ["-person","?:X"], ["calls","?:X"]]], [2, 1, ["in", "frm_2", "axiom", 1, 0, []], [["person","mary"]]], [3, 78, ["mp", [1,1], 2, "fromaxiom", 0.1, 0, [16,1]], [["alarm","t1"], ["calls","mary"]]], [4, 15, ["in", "frm_8", "axiom", 0.8, 0, []], [["alarm","t1"], ["-calls","?:X"]]], [5, 128, ["mp", [3,1], [4,1], "fromaxiom", 0.08, 0, [16,1,15]], [["alarm","t1"]]], [6, 6, ["in", "frm_5", "axiom", 0.9, 0, []], [["-alarm","t1"], ["burglary","t1"]]], [7, 21, ["in", "frm_12", "goal", 1, 0, []], [["-burglary","t1"]]], [8, 145, ["mp", 5, 6, 7, "fromgoal", 0.072, 0, [16,1,15,6]], false], [9, 6, ["in", "frm_5", "axiom", 0.9, 0, []], [["-alarm","t1"], ["burglary","t1"]]], [10, 15, ["in", "frm_8", "axiom", 0.8, 0, []], [["alarm","t1"], ["-calls","?:X"]]], [11, 19, ["in", "frm_10", "axiom", 1, 0, []], [["calls","john"]]], [12, 28, ["mp", [10,1], 11, "fromaxiom", 0.8, 0, [15,19]], [["alarm","t1"]]], [13, 21, ["in", "frm_12", "goal", 1, 0, []], [["-burglary","t1"]]], [14, 37, ["mp", 9, 12, 13, "fromgoal", 0.72, 0, [6,15,19]], false], [15, 254, ["cumul", 8, 14, "fromgoal", 0.72864, 0, [16,1,15,6,19]], false], [16, 16, ["in", "frm_9", "axiom", 0.1, 0, []], [["alarm","t1"], ["-person","?:X"], ["calls","?:X"]]], [17, 0, ["in", "frm_1", "axiom", 1, 0, []], [["person","john"]]], [18, 76, ["mp", [16,1], 17, "fromaxiom", 0.1, 0, [16,0]], [["alarm","t1"], ["calls","john"]]], [19, 15, ["in", "frm_8", "axiom", 0.8, 0, []], [["alarm","t1"], ["-calls","?:X"]]], [20, 90, ["mp", [18,1], [19,1], "fromaxiom", 0.08, 0, [16,0,15]], [["alarm","t1"]]], [21, 6, ["in", "frm_5", "axiom", 0.9, 0, []], [["-alarm","t1"], ["burglary","t1"]]], [22, 21, ["in", "frm_12", "goal", 1, 0, []], [["-burglary","t1"]]], [23, 105, ["mp", 20, 21, 22, "fromgoal", 0.072, 0, [16,0,15,6]], false], [24, 369, ["cumul", 15, 23, "fromgoal", 0.735153, 0, [16,1,15,6,19,0]], false], [25, 10, ["in", "frm_7", "axiom", 0.1, 0, []], [["-earthquake","t1"], ["burglary","t1"], ["alarm","t1"]]], [26, 16, ["in", "frm_9", "axiom", 0.1, 0, []], [["alarm","t1"], ["-person","?:X"], ["calls","?:X"]]], [27, 1, ["in", "frm_2", "axiom", 1, 0, []], [["person","mary"]]], [28, 78, ["mp", [26,1], 27, "fromaxiom", 0.1, 0, [16,1]], [["alarm","t1"], ["calls","mary"]]], [29, 15, ["in", "frm_8", "axiom", 0.8, 0, []], [["alarm","t1"], ["-calls","?:X"]]], [30, 128, ["mp", [28,1], [29,1], "fromaxiom", 0.08, 0, [16,1,15]], [["alarm","t1"]]], [31, 5, ["in", "frm_5", "axiom", 0.9, 0, []], [["-alarm","t1"], ["earthquake","t1"]]], [32, 144, ["mp", 30, 31, "fromaxiom", 0.072, 0, [16,1,15,5]], [["earthquake","t1"]]], [33, 21, ["in", "frm_12", "goal", 1, 0, []], [["-burglary","t1"]]], [34, 222, ["mp", 25, 32, 33, "fromgoal", 0.0072, 0, [10,16,1,15,5]], [["alarm","t1"]]], [35, 8, ["in", "frm_6", "axiom", 0.8, 0, []], [["-earthquake","t1"], ["-alarm","t1"]]], [36, 5, ["in", "frm_5", "axiom", 0.9, 0, []], [["-alarm","t1"], ["earthquake","t1"]]], [37, 15, ["in", "frm_8", "axiom", 0.8, 0, []], [["alarm","t1"], ["-calls","?:X"]]], [38, 19, ["in", "frm_10", "axiom", 1, 0, []], [["calls","john"]]], [39, 28, ["mp", [37,1], 38, "fromaxiom", 0.8, 0, [15,19]], [["alarm","t1"]]], [40, 39, ["mp", 36, 39, "fromaxiom", 0.72, 0, [5,15,19]], [["earthquake","t1"]]], [41, 40, ["mp", 35, 40, "fromaxiom", 0.576, 0, [8,5,15,19]], [["-alarm","t1"]]], [42, 223, ["simp", 34, 41, "fromgoal", 0.0041472, 0, [10,16,1,15,5,8,19]], false], [43, 547, ["cumul", 24, 42, "fromgoal", 0.735575, 0, [16,1,15,6,19,0,10,5,8]], false], [44, 6, ["in", "frm_5", "axiom", 0.9, 0, []], [["-alarm","t1"], ["burglary","t1"]]], [45, 15, ["in", "frm_8", "axiom", 0.8, 0, []], [["alarm","t1"], ["-calls","?:X"]]], [46, 20, ["in", "frm_11", "axiom", 1, 0, []], [["calls","mary"]]], [47, 29, ["mp", [45,1], 46, "fromaxiom", 0.8, 0, [15,20]], [["alarm","t1"]]], [48, 21, ["in", "frm_12", "goal", 1, 0, []], [["-burglary","t1"]]], [49, 36, ["mp", 44, 47, 48, "fromgoal", 0.72, 0, [6,15,20]], false], [50, 2, ["in", "frm_3", "axiom", 0.7, 0, []], [["burglary","t1"]]], [51, 21, ["in", "frm_12", "goal", 1, 0, []], [["-burglary","t1"]]], [52, 23, ["mp", 50, 51, "fromgoal", 0.7, 0, [2]], false], [53, 224, ["cumul", 49, 52, "fromgoal", 0.916, 0, [6,15,20,2]], false], [54, 605, ["cumul", 43, 53, "fromgoal", 0.958777, 0, [16,1,15,6,19,0,10,5,8,20,2]], false], [55, 9, ["in", "frm_6", "axiom", 0.8, 0, []], [["-alarm","t1"], ["burglary","t1"]]], [56, 15, ["in", "frm_8", "axiom", 0.8, 0, []], [["alarm","t1"], ["-calls","?:X"]]], [57, 19, ["in", "frm_10", "axiom", 1, 0, []], [["calls","john"]]], [58, 28, ["mp", [56,1], 57, "fromaxiom", 0.8, 0, [15,19]], [["alarm","t1"]]], [59, 21, ["in", "frm_12", "goal", 1, 0, []], [["-burglary","t1"]]], [60, 57, ["mp", 55, 58, 59, "fromgoal", 0.64, 0, [9,15,19]], false], [61, 9, ["in", "frm_6", "axiom", 0.8, 0, []], [["-alarm","t1"], ["burglary","t1"]]], [62, 15, ["in", "frm_8", "axiom", 0.8, 0, []], [["alarm","t1"], ["-calls","?:X"]]], [63, 20, ["in", "frm_11", "axiom", 1, 0, []], [["calls","mary"]]], [64, 29, ["mp", [62,1], 63, "fromaxiom", 0.8, 0, [15,20]], [["alarm","t1"]]], [65, 21, ["in", "frm_12", "goal", 1, 0, []], [["-burglary","t1"]]], [66, 56, ["mp", 61, 64, 65, "fromgoal", 0.64, 0, [9,15,20]], false], [67, 268, ["cumul", 60, 66, "fromgoal", 0.7168, 0, [9,15,19,20]], false], [68, 1264, ["cumul", 54, 67, "fromgoal", 0.976506, 0, [16,1,15,6,19,0,10,5,8,20,2,9]], false] ], "negative_proof": [ [1, 12, ["in", "frm_7", "axiom", 0.1, 0, []], [["-burglary","t1"], ["-alarm","t1"]]], [2, 22, ["in", "$auto_negated_question", "goal", 1, 0, []], [["burglary","t1"]]], [3, 1967, ["mp", 1, 2, "fromgoal", 0.1, 0, [12]], [["-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, 1944, ["mp", [4,1], 5, "fromaxiom", 0.8, 0, [15,20]], [["alarm","t1"]]], [7, 1971, ["mp", 3, 6, "fromgoal", 0.08, 0, [12,15,20]], false], [8, 1967, ["mp", 1, 2, "fromgoal", 0.1, 0, [12]], [["-alarm","t1"]]], [9, 19, ["in", "frm_10", "axiom", 1, 0, []], [["calls","john"]]], [10, 1943, ["mp", [4,1], 9, "fromaxiom", 0.8, 0, [15,19]], [["alarm","t1"]]], [11, 1968, ["simp", 8, 10, "fromgoal", 0.08, 0, [12,15,19]], false], [12, 2005, ["cumul", 7, 11, "fromgoal", 0.104533, 0, [12,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, 1940, ["mp", 14, 5, "fromaxiom", 0.8, 0, [14,20]], [["person","mary"]]], [16, 1977, ["mp", [13,1], 15, 8, "fromgoal", 0.008, 0, [16,14,20,12]], [["calls","mary"]]], [17, 18, ["in", "frm_9", "axiom", 0.1, 0, []], [["-alarm","t1"], ["-calls","?:X"]]], [18, 1948, ["mp", 6, 17, "fromaxiom", 0.08, 0, [15,20,18]], [["-calls","?:X"]]], [19, 1991, ["mp", 16, 18, "fromgoal", 0.00064, 0, [16,14,20,12,15,18]], false], [20, 2022, ["cumul", 12, 19, "fromgoal", 0.104763, 0, [12,15,20,19,16,14,18]], false], [21, 0, ["in", "frm_1", "axiom", 1, 0, []], [["person","john"]]], [22, 1979, ["mp", [13,1], 21, 8, "fromgoal", 0.01, 0, [16,0,12]], [["calls","john"]]], [23, 1999, ["mp", 22, 18, "fromgoal", 0.0008, 0, [16,0,12,15,20,18]], false], [24, 2029, ["cumul", 20, 23, "fromgoal", 0.104928, 0, [12,15,20,19,16,14,18,0]], false], [25, 1, ["in", "frm_2", "axiom", 1, 0, []], [["person","mary"]]], [26, 1980, ["mp", [13,1], 25, 8, "fromgoal", 0.01, 0, [16,1,12]], [["calls","mary"]]], [27, 2003, ["mp", 26, 18, "fromgoal", 0.0008, 0, [16,1,12,15,20,18]], false], [28, 2040, ["cumul", 24, 27, "fromgoal", 0.105132, 0, [12,15,20,19,16,14,18,0,1]], false] ]} ]} */ /* Summary of the Alchemy 2 implementation of the example. :::::::::::::: studymln/mln/study13-lrn.mln :::::::::::::: //predicate declarations Dayincalifornia(c) Earthquake(c) Calls(p) Alarm(c) Person(p) Burglary(c) // 1.2231 Dayincalifornia(x) => Burglary(x) 1.2231 !Dayincalifornia(a1) v Burglary(a1) // -0.930404 Dayincalifornia(x) => Earthquake(x) -0.930404 !Dayincalifornia(a1) v Earthquake(a1) // 1.03626 Burglary(x) ^ Earthquake(x) => Alarm(x) 1.03626 !Burglary(a1) v !Earthquake(a1) v Alarm(a1) // 0.853105 Burglary(x) ^ !Earthquake(x) => Alarm(x) 0.853105 !Burglary(a1) v Earthquake(a1) v Alarm(a1) // -0.187737 !Burglary(x) ^ Earthquake(x) => Alarm(x) -0.187737 Burglary(a1) v !Earthquake(a1) v Alarm(a1) // 0.00114701 Alarm(x) ^ Person(y) => Calls(y) 0.00114701 !Alarm(a1) v !Person(a2) v Calls(a2) // -0.00114701 !Alarm(x) ^ Person(y) => Calls(y) -0.00114701 Alarm(a1) v !Person(a2) v Calls(a2) // 0 Dayincalifornia(a1) 0 Dayincalifornia(a1) // -0.0192224 Burglary(a1) -0.0192224 Burglary(a1) // -0.466582 Earthquake(a1) -0.466582 Earthquake(a1) // -0.1244 Alarm(a1) -0.1244 Alarm(a1) // 0 Person(a1) 0 Person(a1) // 0 Calls(a1) 0 Calls(a1) :::::::::::::: studymln/mln/study13.db :::::::::::::: Dayincalifornia(1) Person(John) Person(Mary) Calls(John) Calls(Mary) :::::::::::::: studymln/RESULTS.tmp :::::::::::::: infer: Burglary(1) 0.709979 infer: Earthquake(1) 0.20403 infer: Alarm(1) 0.594991 liftedinfer -ptpe: Earthquake(1) 0 liftedinfer -ptpe: Alarm(1) 0 liftedinfer -ptpe: Burglary(1) 0 liftedinfer -lvg: Earthquake(1) 0.888112 liftedinfer -lvg: Alarm(1) 0.872128 liftedinfer -lvg: Burglary(1) 0.905095 */