1 / 23

Integration of abductive reasoning and constraint optimization in SCIFF

Integration of abductive reasoning and constraint optimization in SCIFF. Marco Gavanelli – Università di Ferrara, Italy Marco Alberti – Universidade nova de Lisboa, Portugal Evelina Lamma – Università di Ferrara, Italy. Abductive Logic Programming. ALP = < KB, A, IC >

Download Presentation

Integration of abductive reasoning and constraint optimization in SCIFF

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. Integration of abductive reasoning and constraint optimization in SCIFF Marco Gavanelli – Università di Ferrara, Italy Marco Alberti – Universidade nova de Lisboa, Portugal Evelina Lamma – Università di Ferrara, Italy

  2. Abductive Logic Programming • ALP = < KB, A, IC > • KB = logic program (set of clauses) • A = atoms without definitions, can be assumed • IC = Integrity constraints (usually, implications) KB   ╞═ G KB   ╞═ IC • Reasoning from effects to causes

  3. Abductive Constraint Logic Programming • E.g., ALP+CLP(FD), • KB = { p(X) :- a(X), 1 ≤ X ≤ 2. } G = p(X)

  4. Optimization in ALP • Find the best explanation, plan, … w.r.t. some given objective function • Syntax: min( X : p(X,Y) ) = M means M = min{ X : p(X,Y) }

  5. Use the minimize predicate of CLP(FD) • Operational semantics p(X,Y) ok! X≤3 X≤3 X≤3 X=3

  6. Implementation ok! • Depends on the implementation of ALP • CHR [Abdennadher&Christiansen, Christiansen&Dahl, Alberti et al., Badea et al.] • can call all the predicates of the host (CLP) language -> also minimize! • p(X) :- a(X), 1 ≤ X ≤ 2. min( X : p(X)) = M

  7. Semantics of optimization • Semantics of optimization in CLP [Fages, Marriot&Stuckey] min( X : p(X,Y) ) • Naïve abductive semantics: min( X : p(X,Y) ) p(X,Y)  not( p(X1,Y1), X1 < X ) KB   ╞═p(X,Y)  not( p(X1,Y1), X1 < X )

  8. Naïve declarative semantics • KB = { p(X) :- a(X), 1 ≤ X ≤ 2. } ?- min(X : p(X)) = M KB   |= p(X)  not( p(X1), X1 < X ) KBÈ{a(1), a(2)} |= p(1) Ùnot(p(X1),X1<1) M=1 KBÈ{a(1)}|= p(1) Ùnot(p(X1),X1<1) M=1 KBÈ{a(2)} |= p(2) Ùnot(p(X1),X1<2) M=2

  9. What is wrong? • We are not optimizing w.r.t. the set : • We want the minimum to be among all the possible sets . • Let us consider programs stratified both w.r.t. negation and optimization KB   ╞═min( X : p(X,Y) )

  10. 3-valued completion H p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). False not True

  11. 3-valued completion H p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). False not True

  12. 3-valued completion H p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). False not True

  13. 3-valued completion for abducibles 2 1 p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). p(1) :- not q(1). not 3 4

  14. Tp for optimization (simplified) • Given the atom min( X : p(X) ) = M • Suppose that all atoms from the grounding of p(X) are either true or false • then min( X : p(X) )=M is true iff: • there exists some value v such that • p(v) is true • there is no v’<vs.t. p(v’) is true with the same  • there is no v’’<vs.t. p(v’’) is true with another . • (false otherwise)

  15. Example: Game Theory • [Gavanelli et al. ECAI 2008]    

  16. Interactions? a(Ma,Xa),b(Mb,Xb)->Xa=Xb=f(Ma,Mb). max(Vb : a(Ma,Xa), min(Xb : b(Mb,Xb), ) = Vb ) max a(0) a(1) min b(0) b(1) b(0) b(1) 5 10 4 3 • true iff for each possible , there is no better value • Thus, the only option is  ={a(1),b(1)} • Second player plays also the move of the first!

  17. Solution Am • Add the set of literals Am that can be abduced “inside”min in the syntax: minAm ( X : p(X) ) ’’ • Suppose that all atoms from the grounding of p(X) are either true or false • then minAm( X : p(X) )=M is true iff: • there exists some value v such that • p(v) is true • there is no v’<vs.t. p(v’) is true with the same  • there is no v’’<vs.t. p(v’’) is true with another ’’ ∆’’ ∩ (A \ ∆ ) ⊆ Am , ∆’’ ∩ (A \ Am ) = ∆ ∩ (A \ Am )

  18. Interactions? max a(0) a(1) min max{a,b}(Vb : a(Ma,Xa), min{b}(Xb : b(Mb,Xb), ) = Vb ) • Now min{b} is • true in {a(0),b(o)} and {a(1),b(1)} • false in {a(1), b(0)} {a(0),b(1)} b(0) b(1) b(0) b(1) 5 10 4 3 Am={b} Am={b}   b(0) b(1) a(0) a(1) b(1) b(0) ’’ ’’

  19. Interactions? max a(0) a(1) min max{a,b}(Vb : a(Ma,Xa), min{b}(Xb : b(Mb,Xb), ) = Vb ) • Now min{b} is • true in {a(0),b(o)} and {a(1),b(1)} • false in {a(1), b(0)} {a(0),b(1)} • max{a,b} is true for {a(0),b(o)} b(0) b(1) 5 3 Am={b} Am={b}   b(0) b(1) a(0) a(1)

  20. Soundness • Soundness of success: if P├─∆G with abductive answer (∆, σ), then P |= ∆σGσ • Soundness of failure: if the SCIFFopt derivation for a goal G finitely fails, then PG • Proved for SCIFF, but should hold for most (sound) abductive procedures

  21. Limitations We do not currently consider the following cases • Optimization goals in the conditions of integrity constraints: min( X : p(X,Y) ) -> … • Conjunctions of optimization atoms min( X : p(X) ), max( X : p(X) ) min( X : p(X),X>0 ), min( Y : q(Y),Y>0 ) p(X),q(X) -> false • Protected variables

  22. Conclusions • First declarative semantics for abductive logic programming (ALP) with optimization (for finding the optimal ) • Proof of soundness of ALP+optimization • Proved for SCIFF, should hold for all (sound) abductive procedures • Directly usable in abductive proof-procedures implemented in CHR

  23. Thank you for your attention! Questions?

More Related