DR-Prolog: A System for Defeasible Reasoning with Rules and Ontologies on the Semantic Web CS566 –...

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

    20-Dec-2015
  • Category

    Documents

  • view

    217
  • download

    0

Transcript of DR-Prolog: A System for Defeasible Reasoning with Rules and Ontologies on the Semantic Web CS566 –...

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

DR-Prolog: A System for Defeasible Reasoning with Rules and Ontologies on the Semantic Web

CS566 – Διαχειριση Γνώσης στο ΔιαδίκτυοΆνοιξη 2010

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

18/04/23 2

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

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

18/04/23 3

Defeasible Logic – Syntax (1/2)

A defeasible theory D is a triple (F,R,>), where F is a finite set offacts, R a finite set of rules, and > a superiority relation on R. There are two kinds of rules (fuller versions of defeasible logicsinclude 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)

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

18/04/23 4

Defeasible Logic – Syntax (2/2)

Superiority relationsA superiority relation on R is an acyclic relation > on R.

When r1 > 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’ > r

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

18/04/23 5

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

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

18/04/23 6

System Architecture

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

18/04/23 7

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

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

18/04/23 8

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 relationsin the theory, we add facts according to the following guidelines:

fact(p) for each pF 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 r>s

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

18/04/23 9

Translation 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

r>s

sup(r,s).

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

18/04/23 10

Prolog Metaprogram (1/3)

Class of rules in a defeasible theorysupportive_rule(Name,Head,Body):- strict(Name,Head,Body).supportive_rule(Name,Head,Body):- defeasible(Name,Head,Body).

Definite provabilitydefinitely(X):- fact(X).definitely(X):- strict(R,X,[Y1 ,Y2 ,…,Yn]),

definitely(Y1), definitely(Y2), …, definitely(Yn).

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

18/04/23 11

Prolog Metaprogram (2/3)

Defeasible provabilitydefeasibly(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)).

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

18/04/23 12

Prolog 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).

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

18/04/23 13

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

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

18/04/23 14

Adam’s Requirements in DL

r1: from(X,athens), includesResort(X,Y), breakfast(Y,true), swimmingPool(Y,true) => accept(X).

r2: from(X,athens), includesResort(X,Y), breakfast(Y,true),includesService(X,Z),hasVehicle(S,W), vehicleAC(W,true) => accept(X).

r3: includesResort(X,Y),parking(Y,false) => ~accept(X).

r4: ~includesTransportation(X,Z) => ~accept(X).

r1 > r3.r4 > r1.r4 > r2.r3 > r2.

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

18/04/23 15

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).

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

18/04/23 16

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’).

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

18/04/23 17

Queries

?- defeasibly(accept(‘IT2’)).

no

?- defeasibly(accept(X)).

X=IT1;

no

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

18/04/23 18

DR-Prolog Web Environment

http://www.csd.uoc.gr/~bikakis/DR-PrologVisit:

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

18/04/23 19

DR-Prolog Web Environment

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

18/04/23 20

DR-Prolog Web Environment

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

18/04/23 21

DR-Prolog Web Environment

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

18/04/23 22

DR-Prolog Web Environment

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

18/04/23 23

DR-Prolog Web Environment

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

18/04/23 24

DR-Prolog Web Environment

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

18/04/23 25

:- Thank You!