An Efficient Tableau Prover Using Global Caching for the Description Logic ALC Linh Anh Nguyen University of Warsaw CS&P’2008.

Slides:



Advertisements
Similar presentations
BEST FIRST SEARCH - BeFS
Advertisements

Hybrid BDD and All-SAT Method for Model Checking Orna Grumberg Joint work with Assaf Schuster and Avi Yadgar Technion – Israel Institute of Technology.
Review: Search problem formulation
CS848: Topics in Databases: Foundations of Query Optimization Topics covered  Introduction to description logic: Single column QL  The ALC family of.
Introduction to MiniSat v1.14 Presented by Yunho Kim Provable Software Lab, KAIST.
Automatic Verification Book: Chapter 6. What is verification? Traditionally, verification means proof of correctness automatic: model checking deductive:
TReasoner: System Description Andrei Grigorev Postgraduate student Tyumen State University.
Methods of Proof Chapter 7, second half.. Proof methods Proof methods divide into (roughly) two kinds: Application of inference rules: Legitimate (sound)
Methods of Proof Chapter 7, Part II. Proof methods Proof methods divide into (roughly) two kinds: Application of inference rules: Legitimate (sound) generation.
Logic.
Search Strategies Reading: Russell’s Chapter 3 1.
Proof methods Proof methods divide into (roughly) two kinds: –Application of inference rules Legitimate (sound) generation of new sentences from old Proof.
Review: Search problem formulation
Constraint Logic Programming Ryan Kinworthy. Overview Introduction Logic Programming LP as a constraint programming language Constraint Logic Programming.
CPSC 322, Lecture 12Slide 1 CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12 (Textbook Chpt ) January, 29, 2010.
Methods of Proof Chapter 7, second half.
Search in the semantic domain. Some definitions atomic formula: smallest formula possible (no sub- formulas) literal: atomic formula or negation of an.
Last time Proof-system search ( ` ) Interpretation search ( ² ) Quantifiers Equality Decision procedures Induction Cross-cutting aspectsMain search strategy.
Description Logics Franz Baader, Ian Horrocks, Ulrike Sattler Presented By Jahan Ara Arju Muhammad Nazmus Sakib CSCE
Keyword Search on External Memory Data Graphs Bhavana Bharat Dalvi, Meghana Kshirsagar, S. Sudarshan PVLDB 2008 Reported by: Yiqi Lu.
An Introduction to Description Logics. What Are Description Logics? A family of logic based Knowledge Representation formalisms –Descendants of semantic.
Logics for Data and Knowledge Representation Propositional Logic: Reasoning Originally by Alessandro Agostini and Fausto Giunchiglia Modified by Fausto.
Tableau Algorithm.
Notes on DL Reasoning Shawn Bowers April, 2004.
Ming Fang 6/12/2009. Outlines  Classical logics  Introduction to DL  Syntax of DL  Semantics of DL  KR in DL  Reasoning in DL  Applications.
SAT and SMT solvers Ayrat Khalimov (based on Georg Hofferek‘s slides) AKDV 2014.
1 Automatic Refinement and Vacuity Detection for Symbolic Trajectory Evaluation Orna Grumberg Technion Haifa, Israel Joint work with Rachel Tzoref.
©Silberschatz, Korth and Sudarshan13.1Database System Concepts Chapter 13: Query Processing Overview Measures of Query Cost Selection Operation Sorting.
INTRODUCTION TO ARTIFICIAL INTELLIGENCE COS302 MICHAEL L. LITTMAN FALL 2001 Satisfiability.
Solvers for the Problem of Boolean Satisfiability (SAT) Will Klieber Aug 31, 2011 TexPoint fonts used in EMF. Read the TexPoint manual before you.
LDK R Logics for Data and Knowledge Representation ClassL (part 3): Reasoning with an ABox 1.
Topics in artificial intelligence 1/1 Dr hab. inż. Joanna Józefowska, prof. PP Reasoning and search techniques.
An Introduction to Description Logics (chapter 2 of DLHB)
Logics for Data and Knowledge Representation Exercises: DL.
Efficiency of Alignment-based algorithms B.F. van Dongen Laziness! (Gu)estimation! Implementation effort?
An experimental study of priority queues By Claus Jensen University of Copenhagen.
Sound Global Caching for Abstract Modal Tableaux Rajeev Goré The Australian National University  Linh Anh Nguyen University of Warsaw CS&P’2008.
LDK R Logics for Data and Knowledge Representation Modal Logic Originally by Alessandro Agostini and Fausto Giunchiglia Modified by Fausto Giunchiglia,
LDK R Logics for Data and Knowledge Representation Description Logics (ALC)
More on Description Logic(s) Frederick Maier. Note Added 10/27/03 So, there are a few errors that will be obvious to some: So, there are a few errors.
Lecture 3: Uninformed Search
LDK R Logics for Data and Knowledge Representation Propositional Logic: Reasoning First version by Alessandro Agostini and Fausto Giunchiglia Second version.
On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda Rolf Drechsler Alex Orailoglu Computer Science & Engineering Dept. University.
Chapter 5 Constraint Satisfaction Problems
LDK R Logics for Data and Knowledge Representation ClassL (Propositional Description Logic with Individuals) 1.
© Copyright 2008 STI INNSBRUCK Intelligent Systems Propositional Logic.
LDK R Logics for Data and Knowledge Representation ClassL (part 2): Reasoning with a TBox 1.
Introduction to Artificial Intelligence (G51IAI) Dr Rong Qu Blind Searches - Introduction.
1 Propositional Logic Limits The expressive power of propositional logic is limited. The assumption is that everything can be expressed by simple facts.
Logics for Data and Knowledge Representation Exercises: DL.
LDK R Logics for Data and Knowledge Representation Description Logics: family of languages.
Best-first search is a search algorithm which explores a graph by expanding the most promising node chosen according to a specified rule.
LDK R Logics for Data and Knowledge Representation Description Logics.
Logics for Data and Knowledge Representation
Hybrid BDD and All-SAT Method for Model Checking
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
Logics for Data and Knowledge Representation
Inference and search for the propositional satisfiability problem
Database Management System
Recovering and Exploiting Structural Knowledge from CNF Formulas
Artificial Intelligence Problem solving by searching CSC 361
Logics for Data and Knowledge Representation
Logics for Data and Knowledge Representation
Logics for Data and Knowledge Representation
Logics for Data and Knowledge Representation
Logics for Data and Knowledge Representation
Artificial Intelligence
Methods of Proof Chapter 7, second half.
Logics for Data and Knowledge Representation
Logics for Data and Knowledge Representation
Presentation transcript:

An Efficient Tableau Prover Using Global Caching for the Description Logic ALC Linh Anh Nguyen University of Warsaw CS&P’2008

Linh Anh NguyenTGC: An Efficient Tableau Prover for ALC2 Overview  The description logic ALC  Motivation  Our prover TGC for ALC  Optimization techniques of TGC

Linh Anh NguyenTGC: An Efficient Tableau Prover for ALC3 Syntax and Semantics of ALC Semantics given by an interpretation I = (  I,  I ): SyntaxExampleSemantics A Human AI  IAI  I R has-child R I   I x  I C  D Human  Male CI  DICI  DI C  D Mother  Father C I  D I CC Male  I - C I R.C has-child.Human {x | y.(x,y)R I  yC I } R.C has-child.Blond {x | y.(x,y)R I  yC I }

Linh Anh NguyenTGC: An Efficient Tableau Prover for ALC4 The Satisfiability Checking Problem  A TBox is a set of concepts treated as global assumptions, e.g. {Human, Male  Female}  An interpretation I = (  I,  I ) is a model of TBox Γ if C I =  I for all C  Γ.  A concept C is satisfiable w.r.t. a TBox Γ if there exists a model I of Γ such that C I .  Problem: Check whether C is satisfiable w.r.t. Γ.

Linh Anh NguyenTGC: An Efficient Tableau Prover for ALC5 Naive Tableau Algorithm... or and Search space is an „or”-tree A node is a pre-model of the form „and”-tree

Linh Anh NguyenTGC: An Efficient Tableau Prover for ALC6 Naive Tableau Algorithm  Simple blocking: if v.content = u.content then v is blocked... or u v

Linh Anh NguyenTGC: An Efficient Tableau Prover for ALC7 Provers like FaCT or DLP  Anywhere blocking: if v.content = u.content then v is blocked... or u v

Linh Anh NguyenTGC: An Efficient Tableau Prover for ALC8 Provers like FaCT or DLP  Caching nodes with known status if v.content = u.content and u.status = sat or unsat then v.status = u.status... or v u

Linh Anh NguyenTGC: An Efficient Tableau Prover for ALC9 Provers like FaCT or DLP  Not exploited: the case when v.content = u.content and v.status = unknown  Many optimizations  2ExpTime (instead of ExpTime)... or v u

Linh Anh NguyenTGC: An Efficient Tableau Prover for ALC10 Global Caching  Goré & Nguyen, DL’07  Search space: an and-or graph (instead of an „or”-tree of „and”-trees)  For each possible (node) content: only one node of that content is expanded such an expansion is done only once   optimal (ExpTime)

Linh Anh NguyenTGC: An Efficient Tableau Prover for ALC11 Motivation  Can global caching be implemented to give an efficient prover for ALC?  What optimization techniques can be implemented together with global caching to obtain an efficient prover for ALC?

Linh Anh NguyenTGC: An Efficient Tableau Prover for ALC12 Our Prover TGC (version 1.2)  checks whether a given concept C is satisfiable w.r.t. a TBox Γ in logic ALC  Γ is given as Γ’  {D}, where: Γ’ is a TBox of acyclic concept definitions D is a concept  Implemented in C++  Tested on the test sets T98-sat and T98- kb of DL'98 Systems Comparison

Linh Anh NguyenTGC: An Efficient Tableau Prover for ALC13 Comparison with FaCT and DLP  FaCT (Horrocks) and DLP (Patel-Schneider): the best provers from DL'98 Systems Comparison  Test results of FaCT and DLP: taken from DL'98 Systems Comparison FaCT used PC with 200MHz CPU and 64MB RAM DLP used SPARC with 150MHz CPU and 132 MB RAM Time limit for each single test: 100s  Test results of TGC: TGC used PC with 2.13GHz CPU and 2GB RAM TGC uses < 30 MB RAM for most tests from DL’98 Time limit for each single test: 7s (and 1s)

Linh Anh NguyenTGC: An Efficient Tableau Prover for ALC14 Comparison with FaCT and DLP FaCT’98TGC(1s)DLP’98TGC(7s) npnpnpnp k_branch k_d4821 k_dum21 k_grz21 k_lin21 k_path6821 k_ph k_poly k_t4p21

Linh Anh NguyenTGC: An Efficient Tableau Prover for ALC15 TGC: The Algorithm Problem: Is C satisfiable w.r.t. TBox Γ? Build an and-or graph:  The initial node τ contains Γ  {C} ...

Linh Anh NguyenTGC: An Efficient Tableau Prover for ALC16 TGC: The Algorithm Expanding a node:  The rule (): w {C, C,...} status := unsat

Linh Anh NguyenTGC: An Efficient Tableau Prover for ALC17 TGC: The Algorithm Expanding a node:  The implicit rule (): w {C  D,...} Replace C  D by C and D

Linh Anh NguyenTGC: An Efficient Tableau Prover for ALC18 TGC: The Algorithm Expanding a node:  The rule (): w {C  D,...} {C,...}{D,...} or

Linh Anh NguyenTGC: An Efficient Tableau Prover for ALC19 TGC: The Algorithm Expanding a node:  The transitional rule (R): w {has-child.Male, has-child.Female, has-child.Happy, Human} {Male, Happy, Human} and Γ = {Human} {Female, Happy, Human}

Linh Anh NguyenTGC: An Efficient Tableau Prover for ALC20 TGC: The Algorithm  Global Caching: Before creating a new node check whether there is an existing node of the same content. If so, use that node as a proxy.  If no rule is applicable to a node w: w receives status sat.  When a node receives status sat/unsat: propagate the status backward appropriately treating sat = true, unsat = false

Linh Anh NguyenTGC: An Efficient Tableau Prover for ALC21 TGC: The Algorithm  Stop when τ receives status sat or unsat  When all nodes have been expanded Assign τ status sat (if its status is unknown)  Return the status of τ.

Linh Anh NguyenTGC: An Efficient Tableau Prover for ALC22 TGC: Optimization Techniques  Normalizing formulas  Fast detection of Sat and UnSat  Simplification  Semantic branching  Propagations  Cutoffs  Search strategies  Efficient memory management

Linh Anh NguyenTGC: An Efficient Tableau Prover for ALC23 Normalizing Formulas  Formulas are: normalized normalized  negation normal form represented by the normal form referred to via a pointer  Normalization rules:  next page  cached

Linh Anh NguyenTGC: An Efficient Tableau Prover for ALC24 Normalizing Formulas  Normalization rules C 1 ...  C k {C 1,..., C k } {{C 1,..., C i }, C i+1, C k }{C 1,..., C i, C i+1, C k } R.{C 1,..., C k }{R.C 1,..., R.C k } R.T T {T, C 1,..., C k }{C 1,..., C k } {, C 1,..., C k } {C} C plus dual rules for  and 

Linh Anh NguyenTGC: An Efficient Tableau Prover for ALC25 Fast Detection of Sat and UnSat  C : the normal form of C  general clashes : C, C  Negations of formulas are cached.  For each node with status unknown: Record the number of successors with status unknown. When the number is reduced to 0:  and-node  status := sat  or-node  status := unsat  Detect looping sat nodes  see the paper

Linh Anh NguyenTGC: An Efficient Tableau Prover for ALC26 Simplification  Pure classical literal deletion  Classical unit clause elimination  Modal unit clause elimination  Normalize the formula after those operations  Example:  next page

Linh Anh NguyenTGC: An Efficient Tableau Prover for ALC27 Simplification: Example {A,R.C,{{A,B},{B,R.C,S.D}},{A,S.D,R.C}} At the object level (not under quantifiers): B is a pure classical literal  Assign B value true (for the object level) A is a classical unit clause  Assign A value true (for the object level) R.C is a modal unit clause  Keep the clause, but replace the other occurrence of R.C by true, and replace R.C by false (for the object level) The formula is simplified to: {R.C,S.D}

Linh Anh NguyenTGC: An Efficient Tableau Prover for ALC28 Semantic Branching  on a classical literal if A and A occur in X „several times” at the object level X X” X’ A := T A :=  or-node for the object level

Linh Anh NguyenTGC: An Efficient Tableau Prover for ALC29 Semantic Branching  on a modal literal if C and C occur in X „several times” at the object level X X”  C X’  C C := T, C :=  or-node for the object level

Linh Anh NguyenTGC: An Efficient Tableau Prover for ALC30 Some Definitions  unsat-core of a node is: a subset of the content that causes the node unsat computed via (backward) propagation Example 1: {...,C,C}  unsat-core = {C,C} Example 2:  Subset-checking: X  Y, X is unsat  Y is unsat  Superset-checking: X  Y, Y is sat  X is sat w { C  D, E1, E2, E3, E4 } {C, E1, E2, E3, E4} or {D, E1, E2, E3, E4} u v

Linh Anh NguyenTGC: An Efficient Tableau Prover for ALC31 Propagations  Backward propagations: Basic propagation of sat and unsat to parents Propagation of unsat to parent/brother nodes  via subset-checking and using unsat-core Propagation of sat to brother nodes  via superset-checking  Global propagation: Propagation of unsat via subset-checking

Linh Anh NguyenTGC: An Efficient Tableau Prover for ALC32 Cutoffs  A node is expanded only when it could affect the status of the initial node.  Keep a skeleton tree of the graph.  When a node becomes sat or unsat cutoff its subtree.  Rebuild a new skeleton tree when necessary.

Linh Anh NguyenTGC: An Efficient Tableau Prover for ALC33 Search Strategies  Various search strategies: DFS (FIFO)  the best at the moment Heuristic search (priority queue) BFS (LIFO): performs poorly  Preferences of rules: Simplification Semantic-branching  Choose a literal that occurs most often at the object level Syntatic-branching  Choose a heaviest disjunction Transitional rule  DFS: successor nodes are considered in the increasing order of weights

Linh Anh NguyenTGC: An Efficient Tableau Prover for ALC34 Efficient Memory Management  Minimize the graph whenever possible Delete sat nodes from the graph  But keep their contents and status in the formula catalog Sometimes delete unsat nodes from the graph  When not needed for computing unsat-cores of the parents  But keep their contents and status in the formula catalog Replace the content of a unsat node by its unsat-core  Merge nodes of the same content  Reduce the formula catalogue occasionally

Linh Anh NguyenTGC: An Efficient Tableau Prover for ALC35 Conclusions and Future Work  TGC: optimal (ExpTime) and efficient  We have established a set of optimizations that co-operates very well with global caching and various search strategies on search spaces of the form and-or graph.  Propagation of unsat via subset-checking using unsat-core for parent and brother nodes as well as cutoffs are specific to that kind of search spaces.  There remains lots of work to do with TGC: to directly and efficiently handle general TBoxes, to deal with ABoxes.  Extend TGC for other modal/description logics