Title: DR-Prolog: A System for Defeasible Reasoning with Rules and Ontologies on the Semantic Web
1DR-Prolog A System for Defeasible Reasoning
with Rules and Ontologies on the Semantic Web
- ??apa??stas? ?a? ?pe?e??as?a G??s??
- ?????? 2009
2Defeasible Logic Basic Characteristics
- 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.
3Defeasible Logic Syntax (1/2)
- A defeasible theory D is a triple (F,R,gt), where
F is a finite set of - facts, R a finite set of rules, and gt 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)
4Defeasible Logic Syntax (2/2)
- Superiority relations
- A superiority relation on R is an acyclic
relation gt on R. - When r1 gt r2, then r1 is called superior to r2,
and r2 inferior to r1. - This expresses that r1 may override r2.
- Example
- r bird(X) ? flies(X)
- r penguin(X) ? flies(X)
- r gt r
-
5DR-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
6System Architecture
7Translation 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
8Translation of Defeasible Theories (2/3)
- For a defeasible theory D (F,R,gt), where F is
the set of the facts, - R is the set of the rules, and gt 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(ri , p,q1 ,,qn) for each rule ri
q1,,qn ? p ?R - defeasible(ri ,p,q1 ,,qn) for each rule ri
q1,,qn ? p ?R - sup(r,s) for each pair of rules such that rgts
9Translation of Defeasible Theories (3/3)
Element of the dl theory LP element
negated literal p (p)
dl facts p fact(p).
dl strict rules r q1,q2,,qn ? p strict(r,p,q1,,qn).
dl defeasible rules r q1,,qn ? p defeasible(r,p,q1,,qn).
priority on rules rgts sup(r,s).
10Prolog 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,Y1 ,Y2 ,,Yn),
- definitely(Y1), definitely(Y2), ,
definitely(Yn).
11Prolog Metaprogram (2/3)
- Defeasible provability
- defeasibly(X)- definitely(X).
- defeasibly(X)- supportive_rule(R, X, Y1 ,Y2
,,Yn), - defeasibly(Y1), defeasibly(Y2), ,
defeasibly(Yn), - sk_not(overruled(R,X)), sk_not(definitely(X)).
12Prolog Metaprogram (3/3)
- Overruled(R,X)
- overruled(R,X)- supportive_rule(S, X, Y1 ,Y2
,,Yn), - defeasibly(Y1), defeasibly(Y2), ,
defeasibly(Yn), sk_not(defeated(S, X)). - Defeated(S,X)
- defeated(S,X)- supportive_rule(T, X, Y1 ,Y2
,,Yn), - defeasibly(Y1), defeasibly(Y2), ,
defeasibly(Yn), sup(T, S).
13An 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
14Adams Requirements in DL
- r1 from(X,athens), includesResort(X,Y),
breakfast(Y,true), swimmingPool(Y,true) gt
accept(X). -
- r2 from(X,athens), includesResort(X,Y),
breakfast(Y,true),includesService(X,Z),hasVehicle(
S,W), vehicleAC(W,true) gt accept(X). -
- r3 includesResort(X,Y),parking(Y,false) gt
accept(X). -
- r4 includesTransportation(X,Z) gt accept(X).
-
- r1 gt r3.
- r4 gt r1.
- r4 gt r2.
- r3 gt r2.
15Adams 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)), (includesTransportat
ion(X,Y))). - sup(r1,r3).
- sup(r4,r1).
- sup(r4,r2).
- sup(r3,r2).
16Knowledge 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).
17Queries
- ?- defeasibly(accept(IT2)).
- no
- ?- defeasibly(accept(X)).
- XIT1
- no
18DR-Prolog Web Environment
http//www.csd.uoc.gr/bikakis/DR-Prolog
Visit
19DR-Prolog Web Environment
20DR-Prolog Web Environment
21DR-Prolog Web Environment
22DR-Prolog Web Environment
23DR-Prolog Web Environment
24DR-Prolog Web Environment
25- Thank You!