Presentation is loading. Please wait.

Presentation is loading. Please wait.

DR-Prolog: A System for Defeasible Reasoning with Rules and Ontologies on the Semantic Web CS566 – Διαχειριση Γνώσης στο Διαδίκτυο Άνοιξη 2010.

Similar presentations


Presentation on theme: "DR-Prolog: A System for Defeasible Reasoning with Rules and Ontologies on the Semantic Web CS566 – Διαχειριση Γνώσης στο Διαδίκτυο Άνοιξη 2010."— Presentation transcript:

1 DR-Prolog: A System for Defeasible Reasoning with Rules and Ontologies on the Semantic Web CS566 – Διαχειριση Γνώσης στο Διαδίκτυο Άνοιξη 2010

2 21/6/20152 Defeasible logics are rule-based, without disjunction Classical negation is used in the heads and bodies of rules. Rules may support conflicting conclusions The logics are skeptical in the sense that conflicting rules do not fire. Thus consistency is preserved. Priorities on rules may be used to resolve some conflicts among rules They have linear computational complexity. Defeasible Logic: Basic Characteristics

3 21/6/20153 Defeasible Logic – Syntax (1/2) A defeasible theory D is a triple (F,R,>), where F is a finite set of facts, R a finite set of rules, and > a superiority relation on R. There are two kinds of rules (fuller versions of defeasible logics include also defeaters): strict rules, defeasible rules Strict rules: A  p Whenever the premises are indisputable then so is the conclusion.  penguin(X)  bird(X) Defeasible rules: A  p They can be defeated by contrary evidence.  bird(X)  fly(X)

4 21/6/20154 Defeasible Logic – Syntax (2/2) Superiority relations A superiority relation on R is an acyclic relation > on R. When r 1 > r 2, then r 1 is called superior to r 2, and r 2 inferior to r 1. This expresses that r 1 may override r 2.  Example: r: bird(X)  flies(X) r’: penguin(X)  ¬flies(X) r’ > r

5 21/6/20155 DR-Prolog Features DR-Prolog is a rule system for the Web that: reasons both with classical and non-monotonic rules handles priorities between rules reasons with RDF data and RDFS/OWL ontologies translates rule theories into Prolog using the well- founded semantics complies with the Semantic Web standards (e.g. RuleML) has low computational complexity

6 21/6/20156 System Architecture

7 21/6/20157 Translation of Defeasible Theories (1/3) The translation of a defeasible theory D into a logic program P(D) has a certain goal: to show that p is defeasibly provable in D  p is included in the Well-Founded Model of P(D) The translation is based on the use of a metaprogram which simulates the proof theory of defeasible logic

8 21/6/20158 Translation of Defeasible Theories (2/3) For a defeasible theory D = (F,R,>), where F is the set of the facts, R is the set of the rules, and > is the set of the superiority relations in the theory, we add facts according to the following guidelines: fact(p) for each p  F strict(r i, p,[q 1,…,q n ]) for each rule r i : q 1,…,q n  p  R defeasible(r i,p,[q 1,…,q n ]) for each rule r i : q 1,…,q n  p  R sup(r,s) for each pair of rules such that r>s

9 21/6/20159 Translation of Defeasible Theories (3/3) Element of the dl theoryLP element negated literal ~p ~(p) dl facts p fact(p). dl strict rules r: q 1,q 2,…,q n → p strict(r,p,[q 1,…,q n ]). dl defeasible rules r: q 1,…,q n  p defeasible(r,p,[q 1,…,q n ]). priority on rules r>s sup(r,s).

10 21/6/201510 Prolog Metaprogram (1/3) Class of rules in a defeasible theory supportive_rule(Name,Head,Body):- strict(Name,Head,Body). supportive_rule(Name,Head,Body):- defeasible(Name,Head,Body). Definite provability definitely(X):- fact(X). definitely(X):- strict(R,X,[Y 1,Y 2,…,Y n ]), definitely(Y 1 ), definitely(Y 2 ), …, definitely(Y n ).

11 21/6/201511 Prolog Metaprogram (2/3) Defeasible provability defeasibly(X):- definitely(X). defeasibly(X):- supportive_rule(R, X, [Y 1,Y 2,…,Y n ]), defeasibly(Y 1 ), defeasibly(Y 2 ), …, defeasibly(Y n ), sk_not(overruled(R,X)), sk_not(definitely(¬X)).

12 21/6/201512 Prolog Metaprogram (3/3) Overruled(R,X) overruled(R,X):- supportive_rule(S, ¬X, [Y 1,Y 2,…,Y n ]), defeasibly(Y 1 ), defeasibly(Y 2 ), …, defeasibly(Y n ), sk_not(defeated(S, ¬X)). Defeated(S,X) defeated(S,X):- supportive_rule(T, ¬X, [Y 1,Y 2,…,Y n ]), defeasibly(Y 1 ), defeasibly(Y 2 ), …, defeasibly(Y n ), sup(T, S).

13 21/6/201513 An Application Scenario Adam visits a Web Travel Agency and states his requirements for the trip he plans to make. Adam wants  to depart from Athens and considers that the hotel at the place of vacation must offer breakfast.  either the existence of a swimming pool at the hotel to relax all the day, or a car equipped with A/C, to make daily excursions at the island.  if there is no parking area at the hotel, the car is useless  if the tickets for the transportation to the island are not included in the travel package, the customer is not willing to accept it

14 21/6/201514 Adam’s Requirements in DL r 1 : from(X,athens), includesResort(X,Y), breakfast(Y,true), swimmingPool(Y,true) => accept(X). r 2 : from(X,athens), includesResort(X,Y), breakfast(Y,true),includesService(X,Z),hasVehicle(S,W), vehicleAC(W,true) => accept(X). r 3 : includesResort(X,Y),parking(Y,false) => ~accept(X). r 4 : ~includesTransportation(X,Z) => ~accept(X). r 1 > r 3. r 4 > r 1. r 4 > r 2. r 3 > r 2.

15 21/6/201515 Adam’s Requirements in Prolog defeasible(r1,accept(X),[from(X,athens), includesResort(X,Y),breakfast(Y,true), swimmingPool(Y,true)]). defeasible(r2,accept(X),[from(X,athens), includesResort(X,Y),breakfast(Y,true), includesService(X,Z),hasVehicle(Z,W), vehicleAC(W,true)]). defeasible(r3,~(accept(X)),[includesResort(X,Y), parking(Y,false)]). defeasible(r4,~(accept(X)), [~(includesTransportation(X,Y))]). sup(r1,r3). sup(r4,r1). sup(r4,r2). sup(r3,r2).

16 21/6/201516 Knowledge Base (facts) in Prolog fact(from(‘IT1’,athens)). fact(to(‘IT1’,crete)). fact(includesResort(‘IT1’,’CretaMareRoyal’). fact(breakfast(‘CretaMareRoyal’,true). fact(swimmingPool(‘CretaMareRoyal’,true). fact(includesTransportation(‘IT1’,’Aegean’). fact(from(‘IT2’,athens)). fact(to(‘IT2’,crete)). fact(includesResort(‘IT2’,’Atlantis’). fact(breakfast(‘Atlantis’,true). fact(swimmingPool(‘Atlantis’,false). fact(includesTransportation(‘IT2’,’Aegean’). …

17 21/6/201517 Queries ?- defeasibly(accept(‘IT2’)). no ?- defeasibly(accept(X)). X=IT1; no

18 21/6/201518 DR-Prolog Web Environment http://www.csd.uoc.gr/~bikakis/DR-PrologVisit:

19 21/6/201519 DR-Prolog Web Environment

20 21/6/201520 DR-Prolog Web Environment

21 21/6/201521 DR-Prolog Web Environment

22 21/6/201522 DR-Prolog Web Environment

23 21/6/201523 DR-Prolog Web Environment

24 21/6/201524 DR-Prolog Web Environment

25 21/6/201525 :- Thank You!


Download ppt "DR-Prolog: A System for Defeasible Reasoning with Rules and Ontologies on the Semantic Web CS566 – Διαχειριση Γνώσης στο Διαδίκτυο Άνοιξη 2010."

Similar presentations


Ads by Google