1 / 25

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

DR-Prolog : A System for Defeasible Reasoning with Rules and Ontologies on the Semantic Web. CS566 – Διαχειριση Γνώσης στο Διαδίκτυο Άνοιξη 20 10. Defeasible Logic: Basic Characteristics. Defeasible logics are rule-based, without disjunction

Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Defeasible 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.

  3. 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. Defeasible Logic – Syntax (2/2) • Superiority relations A 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

  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

  6. System Architecture

  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

  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 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 r>s

  9. Translation of Defeasible Theories (3/3)

  10. 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,[Y1 ,Y2 ,…,Yn]), definitely(Y1), definitely(Y2), …, definitely(Yn).

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

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

  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

  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.

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

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

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

  18. DR-Prolog Web Environment Visit: http://www.csd.uoc.gr/~bikakis/DR-Prolog

  19. DR-Prolog Web Environment

  20. DR-Prolog Web Environment

  21. DR-Prolog Web Environment

  22. DR-Prolog Web Environment

  23. DR-Prolog Web Environment

  24. DR-Prolog Web Environment

  25. :- Thank You!

More Related