SlideShare ist ein Scribd-Unternehmen logo
1 von 49
Downloaden Sie, um offline zu lesen
Consistency
 of Chordal
   RCC-8
  Networks

   Michael
   Sioutis
               Consistency of Chordal RCC-8 Networks
Outline

Introduction

PyRCC8
                                    Michael Sioutis
  -Path
Consistency
                   Department of Informatics and Telecommunications
Experimental
Results             National and Kapodistrian University of Athens
Conclusions

Future Work                       November 8, 2012
Acknowledge

Bibliography




                       Michael Sioutis   Consistency of Chordal RCC-8 Networks
Table of Contents

 Consistency
 of Chordal
   RCC-8
  Networks
                1 Introduction
   Michael
   Sioutis

                2 PyRCC8
Outline

Introduction

PyRCC8
                3   -Path Consistency
  -Path
Consistency
                4 Experimental Results
Experimental
Results

Conclusions     5 Conclusions
Future Work

Acknowledge     6 Future Work
Bibliography




                                 Michael Sioutis   Consistency of Chordal RCC-8 Networks
What is Qualitative Spatial Reasoning?

 Consistency
 of Chordal
   RCC-8
  Networks

   Michael
   Sioutis

Outline
                   Qualitative spatial reasoning is based on qualitative
Introduction

PyRCC8
                   abstractions of spatial aspects of the common-sense
  -Path
                   background knowledge, on which our human perspective
Consistency        on the physical reality is based
Experimental
Results

Conclusions

Future Work

Acknowledge

Bibliography




                             Michael Sioutis   Consistency of Chordal RCC-8 Networks
Reasons for Qualitative Spatial Reasoning

 Consistency
 of Chordal
   RCC-8
  Networks

   Michael
   Sioutis

Outline            Two main reasons why non-precise, qualitative spatial
Introduction       information may be useful:
PyRCC8
                     1   Only partial information may be available
  -Path
Consistency          2   Spatial constraints are often most naturally stated in
Experimental             qualitative terms
Results

Conclusions

Future Work

Acknowledge

Bibliography




                               Michael Sioutis   Consistency of Chordal RCC-8 Networks
Applications of Qualitative Spatial Reasoning

 Consistency
 of Chordal
   RCC-8
  Networks

   Michael
   Sioutis
                   Qualitative spatial reasoning is an important subproblem
Outline
                   in many applications, such as:
Introduction

PyRCC8                 Robotic navigation
  -Path
                       High level vision
Consistency            Geographical information systems (GIS)
Experimental           Reasoning and querying with semantic geospatial query
Results
                       languages (e.g., stSPARQL, GeoSPARQL)
Conclusions

Future Work

Acknowledge

Bibliography




                             Michael Sioutis   Consistency of Chordal RCC-8 Networks
Region Connection Calculus

 Consistency
 of Chordal
   RCC-8
  Networks

   Michael
   Sioutis

Outline
                   The Region Connection Calculus (RCC) is a first-order
Introduction
                   language for representation of and reasoning about
PyRCC8
                   topological relationships between extended spatial regions
  -Path            RCC abstractly describes regions, that are non-empty
Consistency

Experimental
                   regural subsets of some topological space which do not
Results            have to be internally connected
Conclusions

Future Work

Acknowledge

Bibliography




                              Michael Sioutis   Consistency of Chordal RCC-8 Networks
The RCC-8 Calculus

 Consistency
 of Chordal
   RCC-8
  Networks

   Michael
                   RCC-8 is a constraint language formed by the combination
   Sioutis
                   of the following eight jointly exhaustive and pairwise
Outline            disjoint base relations:
Introduction
                       disconnected (DC)
PyRCC8                 externally connected (EC)
  -Path
Consistency
                       equal (EQ)
                       partially overlapping (PO)
Experimental
Results                tangential proper part (TPP)
Conclusions            tangential proper part inverse (TPPi)
Future Work            non-tangential proper part (NTPP)
Acknowledge            non-tangential proper part inverse (NTPPi)
Bibliography




                             Michael Sioutis   Consistency of Chordal RCC-8 Networks
The Eight Basic Relations of the RCC-8 Calculus

 Consistency
 of Chordal
   RCC-8
  Networks

   Michael                                                              Y           Y
                                X            Y        X           Y
   Sioutis                                                                  X           X

                                X DC Y                X EC Y          X TPP Y    X NTPP Y
Outline

Introduction
                                                          X             X          X
                                    X     Y
                                                              Y                         Y
PyRCC8                                                                      Y


  -Path                             X PO Y            X EQ Y          X TPPi Y    X NTPPi Y
Consistency

Experimental     Figure: Two dimesional examples for the eight base relations of RCC-8
Results

Conclusions

Future Work    From these basic relations, combinations can be built. For
Acknowledge
               example, proper part (PP) is the union of TPP and NTPP.
Bibliography




                                    Michael Sioutis       Consistency of Chordal RCC-8 Networks
The RCC-8 Composition Table

 Consistency
 of Chordal              DC         EC         PO       TPP       NTPP        TPPi     NTPPi      EQ
   RCC-8                          DC,EC      DC,EC     DC,EC      DC,EC
  Networks       DC      *        PO,TPP     PO,TPP    PO,TPP     PO,TPP      DC        DC       DC
                                  NTPP       NTPP      NTPP       NTPP
   Michael
                        DC,EC     DC,EC      DC,EC     EC,PO       PO
   Sioutis
                 EC     PO,TPPi   PO,TPP     PO,TPP     TPP        TPP       DC,EC      DC       EC
                        NTPPi     TPPi,EQ    NTPP      NTPP       NTPP
Outline                 DC,EC     DC,EC                 PO         PO        DC,EC     DC,EC
                 PO     PO,TPPi   PO,TPPi      *        TPP        TPP       PO,TPPi   PO,TPPi   PO
Introduction            NTPPi     NTPPi                NTPP       NTPP       NTPPi     NTPPi
                                             DC,EC      TPP                  DC,EC     DC,EC
PyRCC8
                TPP     DC        DC,EC      PO,TPP    NTPP       NTPP       PO,TPP    PO,TPPi   TPP
  -Path                                      NTPP                            TPPi,EQ   NTPPi
Consistency                                  DC,EC                           DC,EC
                NTPP    DC         DC        PO,TPP     NTPP      NTPP       PO,TPP      *       NTPP
Experimental                                 NTPP                            NTPP
Results                 DC,EC     EC,PO        PO      PO,EQ       PO         TPPi
                TPPi    PO,TPPi    TPPi       TPPi      TPP        TPP       NTPPi     NTPPi     TPPi
Conclusions             NTPPi     NTPPi      NTPPi      TPPi      NTPP
                        DC,EC       PO         PO        PO       PO,TPP
Future Work
                NTPPi     PO       TPPi       TPPi      TPPi      NTPP       NTPPi     NTPPi     NTPPi
Acknowledge              TPPi     NTPPi      NTPPi     NTPPi      NTPPi
                        NTPPi                                     TPPi,EQ
Bibliography
                 EQ     DC         EC         PO        TPP       NTPP       TPPi      NTPPi     EQ




                                  Michael Sioutis     Consistency of Chordal RCC-8 Networks
The RSAT Reasoning Problem

 Consistency
 of Chordal
   RCC-8
  Networks

   Michael
   Sioutis        RSAT in the RCC-8 framework is the reasoning problem of
Outline
                  deciding whether there is a spatial configuration where the
Introduction      relations between the regions can be described by a spatial
PyRCC8            formula Θ
  -Path
Consistency
                  RSAT is NP-Complete!
Experimental
                                                                        ˆ
                  However, tractable subsets S of RCC-8 exist, such as H8 ,
Results
                  C8 , Q8 [5], for which the consistency problem can be
Conclusions
                  decided in polynomial time
Future Work

Acknowledge

Bibliography




                             Michael Sioutis   Consistency of Chordal RCC-8 Networks
The RSAT Reasoning Problem

 Consistency
 of Chordal
   RCC-8
  Networks

   Michael
   Sioutis        RSAT in the RCC-8 framework is the reasoning problem of
Outline
                  deciding whether there is a spatial configuration where the
Introduction      relations between the regions can be described by a spatial
PyRCC8            formula Θ
  -Path
Consistency
                  RSAT is NP-Complete!
Experimental
                                                                        ˆ
                  However, tractable subsets S of RCC-8 exist, such as H8 ,
Results
                  C8 , Q8 [5], for which the consistency problem can be
Conclusions
                  decided in polynomial time
Future Work

Acknowledge

Bibliography




                             Michael Sioutis   Consistency of Chordal RCC-8 Networks
The RSAT Reasoning Problem

 Consistency
 of Chordal
   RCC-8
  Networks

   Michael
   Sioutis        RSAT in the RCC-8 framework is the reasoning problem of
Outline
                  deciding whether there is a spatial configuration where the
Introduction      relations between the regions can be described by a spatial
PyRCC8            formula Θ
  -Path
Consistency
                  RSAT is NP-Complete!
Experimental
                                                                        ˆ
                  However, tractable subsets S of RCC-8 exist, such as H8 ,
Results
                  C8 , Q8 [5], for which the consistency problem can be
Conclusions
                  decided in polynomial time
Future Work

Acknowledge

Bibliography




                             Michael Sioutis   Consistency of Chordal RCC-8 Networks
Path Concistency

 Consistency
 of Chordal
   RCC-8
  Networks
                   Approximates consistency and realizes forward checking in
   Michael
   Sioutis         a backtracking algorithm
Outline
                   Checks the consistency of triples of relations and
Introduction
                   eliminates relations that are impossible though iteravely
PyRCC8             performing the operation
  -Path
Consistency                               Rij ← Rij ∩ Rik           Rkj
Experimental
Results            until a fixed point R is reached
Conclusions        If Rij = ∅ for a pair (i, j) then R is inconsistent, otherwise
Future Work        R is path-consistent.
Acknowledge
                   Computing R is done in O(n3 )
Bibliography




                              Michael Sioutis   Consistency of Chordal RCC-8 Networks
About PyRCC8..

 Consistency
 of Chordal
   RCC-8
  Networks
                      PyRCC81 is an efficient qualitative spatial reasoner written
   Michael
   Sioutis            in pure Python. It employs PyPy2 , a fast, compliant
                      implementation of the Python 2 language
Outline

Introduction

PyRCC8

  -Path
Consistency

Experimental
Results               PyRCC8 offers a path consistency algorithm for solving
Conclusions           tractable RCC-8 networks and a backtracking-based
Future Work           algorithm for general networks
Acknowledge

Bibliography

                 1
                     http://pypi.python.org/pypi/PyRCC8
                 2
                     http://pypy.org/
                                        Michael Sioutis   Consistency of Chordal RCC-8 Networks
Comparing PC Implementations of Different
               Reasoners
 Consistency
 of Chordal
   RCC-8
  Networks            We compare the PC implementation of PyRCC8 to the PC
   Michael            implementations of the following qualitative spatial
   Sioutis
                      reasoners:
Outline
                             Renz’s solver3
Introduction
                             GQR4
PyRCC8
                             Pellet Spatial5
  -Path
Consistency
                      The admingeo6 dataset (11761 regions / 77910 relations)
Experimental
Results               was used which was properly translated to fit the input
Conclusions           format of the different PC implementations
Future Work

Acknowledge
                 3
Bibliography         http://users.rsise.anu.edu.au/%7Ejrenz/software/rcc8-csp-solving.tar.gz
                 4
                     http://sfbtr8.informatik.uni-freiburg.de/R4LogoSpace/Tools/gqr.html
                 5
                     http://clarkparsia.com/pellet/spatial/
                 6
                     http://data.ordnancesurvey.co.uk/ontology/admingeo/
                                      Michael Sioutis    Consistency of Chordal RCC-8 Networks
Evaluation with a Large Dataset

 Consistency
 of Chordal
   RCC-8
  Networks                                        Performance of four QSRs for the admingeo dataset
                                       105
   Michael
   Sioutis
                                       104
Outline                                103
Introduction
                                       102
                      CPU time (sec)



PyRCC8

  -Path                                101
Consistency

Experimental
                                       100
Results
                                       10-1                                                 Renz
Conclusions
                                                                                            PyRCC8
Future Work                            10   -2
                                                                                            GQR
                                                                                            Pellet-Spatial
Acknowledge
                                       10-3 0     10000   20000    30000 40000 50000      60000   70000
Bibliography                                                        Number of relations




                                                 Michael Sioutis      Consistency of Chordal RCC-8 Networks
Consistency

 Consistency
 of Chordal
   RCC-8
  Networks

   Michael
   Sioutis

                   To explore the search space for the general case of RCC-8
Outline

Introduction
                   networks in order to solve an instance Θ of RSAT, some
PyRCC8
                   sort of backtracking must be used
  -Path            We implemented two backtracking algorithms:
Consistency

Experimental         1   A strictly recursive one
Results              2   An equivalent iterative one which resembles recursion
Conclusions

Future Work

Acknowledge

Bibliography




                               Michael Sioutis   Consistency of Chordal RCC-8 Networks
Comparing PyRCC8 to Other Reasoners

 Consistency
 of Chordal
   RCC-8
  Networks

   Michael
   Sioutis
                      We compare PyRCC8 to the following qualitative spatial
Outline               reasoners:
Introduction
                             Renz’s solver7
PyRCC8
                             GQR8
  -Path
Consistency
                      Different size n of instances from A(n, d = 9.5, l = 4.0)
Experimental
Results               were used
Conclusions

Future Work

Acknowledge

Bibliography

                 7
                     http://users.rsise.anu.edu.au/%7Ejrenz/software/rcc8-csp-solving.tar.gz
                 8
                     http://sfbtr8.informatik.uni-freiburg.de/R4LogoSpace/Tools/gqr.html
                                      Michael Sioutis   Consistency of Chordal RCC-8 Networks
Comparison Diagram

 Consistency
 of Chordal
   RCC-8
  Networks                                        Performance of three QSRs for A(n,d=9.5,l=4.0)
                                      102
   Michael                                        Renz
   Sioutis                                        PyRCC8
                                                  GQR
Outline                               101
Introduction
                     CPU time (sec)



PyRCC8

  -Path                               100
Consistency

Experimental
Results
                                      10-1
Conclusions

Future Work

Acknowledge
                                      10-2
                                         100    200     300      400    500      600   700    800    900
Bibliography                                                       Number of nodes




                                               Michael Sioutis      Consistency of Chordal RCC-8 Networks
-Path Concistency

 Consistency
 of Chordal
   RCC-8
  Networks

   Michael
   Sioutis

Outline
                 Up till now, all aproaches in qualitative spatial reasoning
Introduction
                 enforce path consistency on a complete spatial network
PyRCC8           We propose enforcing path consistency on a chordal
  -Path          spatial network [2] as Chmeiss and Condotta have done for
Consistency

Experimental
                 temporal networks [3], and we call this type of local
Results          consistency as -path consistency for clarity
Conclusions

Future Work

Acknowledge

Bibliography




                            Michael Sioutis   Consistency of Chordal RCC-8 Networks
-Path Concistency

 Consistency
 of Chordal
   RCC-8
  Networks

   Michael
   Sioutis

Outline
                 Up till now, all aproaches in qualitative spatial reasoning
Introduction
                 enforce path consistency on a complete spatial network
PyRCC8           We propose enforcing path consistency on a chordal
  -Path          spatial network [2] as Chmeiss and Condotta have done for
Consistency

Experimental
                 temporal networks [3], and we call this type of local
Results          consistency as -path consistency for clarity
Conclusions

Future Work

Acknowledge

Bibliography




                            Michael Sioutis   Consistency of Chordal RCC-8 Networks
Chordal Graph

 Consistency
 of Chordal
   RCC-8
                   A graph is chordal if each of its cycles of four or more
  Networks         nodes has a chord, which is an edge joining two nodes
   Michael
   Sioutis
                   that are not adjacent in the cycle
                   An example of a chordal graph is shown below:
Outline

Introduction

PyRCC8

  -Path
Consistency

Experimental
Results

Conclusions

Future Work

Acknowledge

Bibliography




                              Michael Sioutis   Consistency of Chordal RCC-8 Networks
Triangulation

 Consistency
 of Chordal
   RCC-8
  Networks

   Michael         Triangulation of a given graph is done by eliminating the
   Sioutis
                   vertices one by one and connecting all vertices in the
Outline
                   neighbourhood of each eliminated vertex with fill edges
Introduction

PyRCC8
                   Determining a minimum triangulation is an NP-hard
  -Path
                   problem
Consistency
                   Use of several heuristics for sub-optimal solutions (e.g.
Experimental
Results            minimum degree, minimum fill)
Conclusions
                   Chordality checking can be done efficiently in O(|V | + |E |)
Future Work
                   time, for a graph G = (V , E ) (e.g., with MCS, LexBFS)
Acknowledge

Bibliography




                               Michael Sioutis   Consistency of Chordal RCC-8 Networks
Preliminaries

 Consistency
 of Chordal
   RCC-8
  Networks

   Michael
   Sioutis
                   Let G = (V , E ) be an undirected chordal graph. There
Outline            exists a tree T , called a clique tree of G , whose vertex set
Introduction
                   is the set of maximal cliques of G
PyRCC8

  -Path
                   Let C be a constraint network from a given CSP. Then,
Consistency        VC refers to the set of variables of C
Experimental
Results            If V is any set of variables, CV will be the constraint
Conclusions        network C that involves variables of V
Future Work

Acknowledge

Bibliography




                               Michael Sioutis   Consistency of Chordal RCC-8 Networks
Patchwork Property in RCC-8 Networks

 Consistency
 of Chordal
   RCC-8
  Networks

   Michael
   Sioutis
               Definition

Outline
               We will say that a CSP has the patchwork property if for any
Introduction
               finite satisfiable constraint networks C and C of the CSP such
PyRCC8
               that CVC ∩VC = C VC ∩VC , the constraint network C ∪ C is
  -Path        satisfiable [4].
Consistency

Experimental
Results
               Proposition
Conclusions                                          ˆ
               The three CSPs for path consistent H8 , C8 , and Q8 networks,
Future Work    respectively, all have patchwork [4].
Acknowledge

Bibliography




                              Michael Sioutis   Consistency of Chordal RCC-8 Networks
Proposition

 Consistency
 of Chordal
   RCC-8
  Networks

   Michael
   Sioutis
               Proposition
Outline

Introduction   Let C be an RCC-8 constraint network with relations from
PyRCC8          ˆ
               H8 , C8 , and Q8 on its edges. Let G be the chordal graph that
  -Path        results from triangulating the associated constraint graph of C ,
Consistency

Experimental
               and T a clique tree of G . C is consistent if all the networks
Results        corresponding to the nodes of T are path consistent.
Conclusions

Future Work

Acknowledge

Bibliography




                               Michael Sioutis   Consistency of Chordal RCC-8 Networks
Example

 Consistency
 of Chordal
   RCC-8
  Networks
                          v1              v2                       v1            v2
   Michael
   Sioutis
                    (a)
Outline
                                                       v5    (b)
                                                                                                    v5
Introduction

PyRCC8
                          v3              v4                       v3            v4

  -Path
                          v1              v2      v2    v2
Consistency                                                                           {v1, v2, v3}
Experimental                                                                                {v2 , v3 }
Results             (c)
                                                                        v5            {v2, v3, v4}
Conclusions
                                                                                            {v2 , v4 }

Future Work               v3   v3                      v4                             {v2, v4, v5}
                                                  v4
Acknowledge

Bibliography




                                    Michael Sioutis    Consistency of Chordal RCC-8 Networks
PyRCC8

 Consistency
 of Chordal
   RCC-8
  Networks

   Michael
   Sioutis

Outline           PyRCC8 is a chordal reasoner which was developed by
Introduction      extending PyRCC8
PyRCC8
                  Similarly to PyRCC8, PyRCC8 offers a -path
  -Path
Consistency       consistency algorithm for solving tractable RCC-8 networks
Experimental      and a backtracking-based algorithm for general networks
Results

Conclusions

Future Work

Acknowledge

Bibliography




                            Michael Sioutis   Consistency of Chordal RCC-8 Networks
-Path Consistency Algorithm

 Consistency
 of Chordal
   RCC-8         -Path-Consistency(C, G)
  Networks     Input: A constraint network C and its chordal graph G
   Michael     Output: True or False
   Sioutis
                1: Q ←     {(i, j) | (i, j) ∈ E } // Initialize the queue
                2: while   Q is not empty do
Outline         3:         select and delete an (i, j) from Q
                4:         for each k such that (i, k), (k, j) ∈ E do
Introduction    5:             t ← Cik ∩ (Cij      Cjk )
                6:             if t = Cik then
PyRCC8
                7:                if t = ∅ then
  -Path         8:                   return False
Consistency     9:                Cik ← t
               10:                Cki ← ˘   t
Experimental   11:                Q ← Q ∪ {(i, k)}
Results        12:             t ← Ckj ∩ (Cki       Cij )
               13:             if t = Ckj then
Conclusions    14:                if t = ∅ then
               15:                   return False
Future Work    16:                Ckj ← t
Acknowledge    17:                Cjk ← ˘   t
               18:                Q ← Q ∪ {(k, j)}
Bibliography   19:return   True




                                             Michael Sioutis        Consistency of Chordal RCC-8 Networks
Complexity Analysis

 Consistency
 of Chordal
   RCC-8
  Networks

   Michael             Let δ denote the maximum degree of a vertex of G
   Sioutis
                       For each arc (i, j) selected at line 3, we have at most δ
Outline
                       vertices of G corresponding to index k such that vi , vj , vk
Introduction
                       forms a triangle
PyRCC8

  -Path
                       Additionaly, there exist |E | arcs in the network and one
Consistency            can remove at most |B|9 values from any relation that
Experimental
Results
                       corresponds to an arc
Conclusions            It results that the time complexity of                            -path consistency
Future Work            is O(δ · |E | · |B|)
Acknowledge

Bibliography


                  9
                      B refers to the set of base relations of RCC-8
                                           Michael Sioutis       Consistency of Chordal RCC-8 Networks
Recursive                  -Consistency Algorithm

 Consistency
 of Chordal
   RCC-8
  Networks

   Michael       -Consistency(C, G)
   Sioutis     Input: A constraint network C and its chordal graph G
               Output: A refined constraint network C’ if C is satisfiable or None
Outline
                1:   if not -Path-Consistency(C, G) then
Introduction    2:      return None
                3:   if no constraint can be split then
PyRCC8          4:      return C
                5:   else
  -Path         6:      choose unprocessed constraint xi Rxj ; split R into S1 , ..., Sk ∈ S: S1 ∪ ... ∪ Sk = R
Consistency     7:      Values ← {Sl | 1 ≤ l ≤ k}
                8:   for V in Values do
Experimental    9:       replace xi Rxj with xi Vxj in C
Results        10:       result = -Consistency(C, G)
               11:       if result = None then
Conclusions
               12:          return result
Future Work    13:   return None

Acknowledge

Bibliography




                                            Michael Sioutis       Consistency of Chordal RCC-8 Networks
Iterative              -Consistency Algorithm

 Consistency
 of Chordal       -Consistency(C, G)
   RCC-8        Input: A constraint network C, A chordal graph G
  Networks      Output: A refined constraint network C’ if C is satisfiable or None

   Michael       1: Stack ← {} // Initialize stack
   Sioutis       2: if not -Path-Consistency(C, G) then
                 3: return None
                 4: while 1 do
Outline
                 5:       if no constraint can be split then
Introduction     6:          return C
                 7:       else
PyRCC8           8:          choose unprocessed constraint xi Rxj ; split R into S1 , ..., Sk ∈ S: S1 ∪ ... ∪ Sk = R
                 9:          Values ← {Sl | 1 ≤ l ≤ k}
  -Path         10:       while 1 do
Consistency     11:              if not Values then
                12:                 while Stack do
Experimental    13:                       C, Values = Stack.pop()
Results         14:                       if Values then
                15:                          break
Conclusions
                16:                 else
Future Work     17:                       return None
                18:              V = Values.pop()
Acknowledge     19:              replace xi Rxj with xi Vxj in C
                20:              if    -Path-Consistency(C, G) then
Bibliography    21:                 break
                22:       Stack.push(C, Values)
                23:raise RuntimeError, Can’t happen


                                           Michael Sioutis       Consistency of Chordal RCC-8 Networks
Comparing PyRCC8                          to PyRCC8

 Consistency
 of Chordal
   RCC-8
  Networks

   Michael
   Sioutis

Outline                We compare PyRCC8 to PyRCC8, a complete graph
Introduction           dedicated reasoner, using the following data:
PyRCC8
                              Random instances composed from the set of all RCC-8
  -Path
Consistency
                              relations
Experimental
                              The admingeo10 dataset
Results

Conclusions

Future Work

Acknowledge

Bibliography


                 10
                      http://data.ordnancesurvey.co.uk/ontology/admingeo/
                                       Michael Sioutis    Consistency of Chordal RCC-8 Networks
Experimenting with Random Instances

 Consistency
 of Chordal
   RCC-8
  Networks

   Michael
   Sioutis             We generated instances from A(100, d, l = 4.0), for d
                       varying from 3 to 15 with a step of 0.5. For each series,
Outline

Introduction
                       300 networks were generated using Renz’s network
PyRCC8
                       generator11
  -Path                We used the Horn relations set as our split set, and the
Consistency
                       dynamic/local constraint scheme with a weighted queue
Experimental
Results                configuration, since it proved to be the best combination
Conclusions            for both reasoners, confirming the results in [5]
Future Work

Acknowledge

Bibliography


                 11
                      http://users.rsise.anu.edu.au/%7Ejrenz/software/rcc8-csp-solving.tar.gz
                                       Michael Sioutis   Consistency of Chordal RCC-8 Networks
Comparison Diagram on CPU time

 Consistency
 of Chordal
   RCC-8
  Networks                                   Performance of function Consistency for A(100,d,l=4.0)
                                      0.70
   Michael                                      PyRCC8
   Sioutis
                                      0.65
                                                PyRCC8
Outline
                                      0.60
Introduction
                     CPU time (sec)



PyRCC8                                0.55
  -Path
Consistency                           0.50
Experimental
Results                               0.45
Conclusions
                                      0.40
Future Work

Acknowledge                           0.35   4          6           8           10            12          14
Bibliography                                      Average degree of network for non trivial constraints




                                             Michael Sioutis         Consistency of Chordal RCC-8 Networks
Comparison Diagram on # of Revised Arcs

 Consistency
 of Chordal
   RCC-8
  Networks                                      Performance of function Consistency for A(100,d,l=4.0)
                                         3000
   Michael                                         PyRCC8
   Sioutis                                         PyRCC8
                                         2500
Outline

Introduction                             2000
                     # of revised arcs




PyRCC8

  -Path                                  1500
Consistency

Experimental                             1000
Results

Conclusions
                                          500
Future Work

Acknowledge                                0    4          6           8           10            12          14
Bibliography                                         Average degree of network for non trivial constraints




                                                Michael Sioutis         Consistency of Chordal RCC-8 Networks
Comparison Diagram on # of Checked Constraints

 Consistency
 of Chordal
   RCC-8
  Networks                                             Performance of function Consistency for A(100,d,l=4.0)
                                              300000
   Michael                                                PyRCC8
   Sioutis                                                PyRCC8
                                              250000
Outline
                    # of consistency checks



Introduction                                  200000
PyRCC8

  -Path                                       150000
Consistency

Experimental                                  100000
Results

Conclusions
                                               50000
Future Work

Acknowledge                                       0    4          6           8           10            12          14
Bibliography                                                Average degree of network for non trivial constraints




                                                       Michael Sioutis         Consistency of Chordal RCC-8 Networks
Results Summary

 Consistency
 of Chordal
   RCC-8
  Networks

   Michael
   Sioutis

Outline
                                                 PyRCC8           PyRCC8                  %
Introduction              CPU time                  0.524s           0.509s             2.80%
PyRCC8                  revised arcs              1300.681          801.204            38.40%
  -Path          checked constraints            105751.173        74864.985            29.21%
Consistency

Experimental      Table: Comparison based on the average of different parameters
Results

Conclusions

Future Work

Acknowledge

Bibliography




                              Michael Sioutis      Consistency of Chordal RCC-8 Networks
Experimenting with the Admingeo Dataset

 Consistency
 of Chordal
   RCC-8
  Networks

   Michael
   Sioutis
                       The admingeo12 dataset consists of 11761 regions and
Outline                77910 base relations, thus being an extremely large and
Introduction           sparse network, making itself a good candidate for stress
PyRCC8                 testing different path consistency implementations
  -Path
Consistency            We used a simple queue configuration, since the weighted
Experimental           variants made no difference on this dataset other than
Results
                       using much more memory
Conclusions

Future Work

Acknowledge

Bibliography


                 12
                      http://data.ordnancesurvey.co.uk/ontology/admingeo/
                                       Michael Sioutis    Consistency of Chordal RCC-8 Networks
Comparison Diagram on CPU Time

 Consistency
 of Chordal
   RCC-8
  Networks                                     Performance of function PC for the admingeo dataset
                                      105
   Michael                                       PyRCC8
   Sioutis                                       PyRCC8
                                      104
Outline

Introduction                          103
                     CPU time (sec)



PyRCC8

  -Path                               102
Consistency

Experimental                          101
Results

Conclusions
                                      100
Future Work

Acknowledge
                                      10-1 0    10000   20000    30000 40000 50000      60000   70000
Bibliography                                                      Number of relations




                                               Michael Sioutis      Consistency of Chordal RCC-8 Networks
Comparison Diagram on # of Revised Arcs

 Consistency
 of Chordal
   RCC-8
  Networks                                        Performance of function PC for the admingeo dataset
                                          108
   Michael                                          PyRCC8
   Sioutis
                                          107
                                                    PyRCC8
Outline
                                          106
Introduction
                      # of revised arcs



PyRCC8                                    105
  -Path
Consistency                               104
Experimental
Results                                   103
Conclusions

Future Work
                                          102

Acknowledge
                                          101 0    10000   20000    30000 40000 50000      60000   70000
Bibliography                                                         Number of relations




                                                  Michael Sioutis      Consistency of Chordal RCC-8 Networks
Comparison Diagram on # of Checked Constraints

 Consistency
 of Chordal
   RCC-8
  Networks                                             Performance of function PC for the admingeo dataset
                                               1012
   Michael                                               PyRCC8
   Sioutis                                     1011      PyRCC8
                                               1010
Outline
                                               109
                     # of consistency checks


Introduction

PyRCC8                                         108
  -Path                                        107
Consistency
                                               106
Experimental
Results                                        105
Conclusions                                    104
Future Work                                    103
Acknowledge
                                               102 0    10000   20000    30000 40000 50000      60000   70000
Bibliography                                                              Number of relations




                                                       Michael Sioutis      Consistency of Chordal RCC-8 Networks
Results Summary

 Consistency
 of Chordal
   RCC-8
  Networks

   Michael
   Sioutis

Outline
                                              PyRCC8             PyRCC8                     %
Introduction              CPU time            1825.129s            289.203s              84.15%
PyRCC8                  revised arcs        4834133.78            373080.28              92.28%
  -Path          checked constraints        3.606e + 10         1.181e + 09              96.72%
Consistency

Experimental       Table: Comparison based on the average of different parameters
Results

Conclusions

Future Work

Acknowledge

Bibliography




                               Michael Sioutis   Consistency of Chordal RCC-8 Networks
Test Machine

 Consistency
 of Chordal
   RCC-8
  Networks

   Michael         All experiments were carried out on a computer with an
   Sioutis
                   Intel Xeon 4 Core X3220 processor with a CPU frequency
Outline            of 2.40 GHz, 8 GB RAM, and the Debian Lenny x86 64 OS
Introduction
                   Renz’s solver and GQR were compiled with gcc/g++ 4.4.3
PyRCC8

  -Path            PelletSpatial was run with OpenJDK 6 build 19, which
Consistency
                   implements Java SE 6
Experimental
Results            PyRCC8 was run with PyPy 1.8, which implements
Conclusions        Python 2.7.2
Future Work
                   Only one of the CPU cores was used for the experiments
Acknowledge

Bibliography




                             Michael Sioutis   Consistency of Chordal RCC-8 Networks
Conclusions

 Consistency
 of Chordal
   RCC-8           We made the case for a new generation of RCC-8
  Networks
                   reasoners implemented in Python, and making use of
   Michael
   Sioutis         advanced Python environments, such as PyPy, utilizing
                   trace-based JIT compilation techniques
Outline

Introduction       We introduced       -path consistency for RCC-8 networks
PyRCC8             We showed that -path consistency is sufficient to decide
  -Path
Consistency
                   the consistency problem for the maximal tractable subsets
                    ˆ
                   H8 , C8 , and Q8 of RCC-8
Experimental
Results
                   We implemented a chordal graph dedicated reasoner for
Conclusions

Future Work
                   RCC-8 networks
Acknowledge        We showed expirimentally that -path consistency can
Bibliography       offer a great advantage over full path consistency on
                   sparse graphs

                             Michael Sioutis   Consistency of Chordal RCC-8 Networks
Main Points

 Consistency
 of Chordal
   RCC-8
  Networks

   Michael             Explore self learning heuristics regarding variable and value
   Sioutis
                       selection
Outline                Create module to generate spatial CSPs
Introduction
                       Transform PyRCC8 into a generic qualitative reasoner
PyRCC8

  -Path                Use other methods of triangulation and compare the
Consistency
                       behavior of partial path consistency for these different
Experimental
Results                methods
Conclusions            Perform experiments with other possible real datasets,
Future Work
                       such as GADM13
Acknowledge

Bibliography


                 13
                      http://gadm.geovocab.org/
                                       Michael Sioutis   Consistency of Chordal RCC-8 Networks
Acknowledge

 Consistency
 of Chordal
   RCC-8
  Networks

   Michael
   Sioutis

Outline           This work was funded by the FP7 project TELEIOS
Introduction      (257662)
PyRCC8
                  I would also like to thank my colleagues, and Katia
  -Path
Consistency       Papakonstantinopoulou especially, for their help, interest,
Experimental      and advice
Results

Conclusions

Future Work

Acknowledge

Bibliography




                             Michael Sioutis   Consistency of Chordal RCC-8 Networks
References

 Consistency
 of Chordal
   RCC-8           [Van Beek and Manchak]
  Networks
                   The design and experimental analysis of algorithms for temporal reasoning
   Michael         JAIR, vol. 4, pages 1–18, 1996
   Sioutis
                   [Bliek and Sam-Haroud]
Outline            Path Consistency on Triangulated Constraint Graphs
Introduction       In IJCAI, 1999
PyRCC8             [Chmeiss and Condotta]
  -Path
                   Consistency of Triangulated Temporal Qualitative Constraint Networks
Consistency        In ICTAI, 2011
Experimental       [Huang]
Results
                   Compactness and Its Implications for Qualitative Spatial and Temporal
Conclusions        Reasoning
Future Work        In KR, 2012
Acknowledge        [Renz and Nebel]
Bibliography
                   Efficient Methods for Qualitative Spatial Reasoning
                   JAIR, vol. 15, pages 289–318, 2001


                                 Michael Sioutis   Consistency of Chordal RCC-8 Networks
The End

 Consistency
 of Chordal
   RCC-8
  Networks

   Michael
   Sioutis

Outline

Introduction

PyRCC8
                                      Any Questions?
  -Path
Consistency

Experimental
Results

Conclusions

Future Work

Acknowledge

Bibliography




                         Michael Sioutis   Consistency of Chordal RCC-8 Networks

Weitere ähnliche Inhalte

Ähnlich wie Consistency of Chordal RCC-8 Networks

PCA-CompChem_seminar
PCA-CompChem_seminarPCA-CompChem_seminar
PCA-CompChem_seminarAnne D'cruz
 
Parameterized Model Checking of Rendezvous Systems
Parameterized Model Checking of Rendezvous SystemsParameterized Model Checking of Rendezvous Systems
Parameterized Model Checking of Rendezvous SystemsFrancesco Spegni
 
Phonons & Phonopy: Pro Tips (2015)
Phonons & Phonopy: Pro Tips (2015)Phonons & Phonopy: Pro Tips (2015)
Phonons & Phonopy: Pro Tips (2015)Jonathan Skelton
 
Attentive semantic alignment with offset aware correlation kernels
Attentive semantic alignment with offset aware correlation kernelsAttentive semantic alignment with offset aware correlation kernels
Attentive semantic alignment with offset aware correlation kernelsNAVER Engineering
 
Application of formal methods for system level verification of final
Application of formal methods for system level verification of finalApplication of formal methods for system level verification of final
Application of formal methods for system level verification of finalVinita Palaniveloo
 

Ähnlich wie Consistency of Chordal RCC-8 Networks (10)

Spt cpt correlation
Spt cpt correlationSpt cpt correlation
Spt cpt correlation
 
PCA-CompChem_seminar
PCA-CompChem_seminarPCA-CompChem_seminar
PCA-CompChem_seminar
 
Parameterized Model Checking of Rendezvous Systems
Parameterized Model Checking of Rendezvous SystemsParameterized Model Checking of Rendezvous Systems
Parameterized Model Checking of Rendezvous Systems
 
PosterRexChinHaoChen2016
PosterRexChinHaoChen2016PosterRexChinHaoChen2016
PosterRexChinHaoChen2016
 
Phonons & Phonopy: Pro Tips (2015)
Phonons & Phonopy: Pro Tips (2015)Phonons & Phonopy: Pro Tips (2015)
Phonons & Phonopy: Pro Tips (2015)
 
Attentive semantic alignment with offset aware correlation kernels
Attentive semantic alignment with offset aware correlation kernelsAttentive semantic alignment with offset aware correlation kernels
Attentive semantic alignment with offset aware correlation kernels
 
Dcopn
DcopnDcopn
Dcopn
 
Distributed context Petri nets
Distributed context Petri netsDistributed context Petri nets
Distributed context Petri nets
 
NAPP-DR6 poster
NAPP-DR6 posterNAPP-DR6 poster
NAPP-DR6 poster
 
Application of formal methods for system level verification of final
Application of formal methods for system level verification of finalApplication of formal methods for system level verification of final
Application of formal methods for system level verification of final
 

Consistency of Chordal RCC-8 Networks

  • 1. Consistency of Chordal RCC-8 Networks Michael Sioutis Consistency of Chordal RCC-8 Networks Outline Introduction PyRCC8 Michael Sioutis -Path Consistency Department of Informatics and Telecommunications Experimental Results National and Kapodistrian University of Athens Conclusions Future Work November 8, 2012 Acknowledge Bibliography Michael Sioutis Consistency of Chordal RCC-8 Networks
  • 2. Table of Contents Consistency of Chordal RCC-8 Networks 1 Introduction Michael Sioutis 2 PyRCC8 Outline Introduction PyRCC8 3 -Path Consistency -Path Consistency 4 Experimental Results Experimental Results Conclusions 5 Conclusions Future Work Acknowledge 6 Future Work Bibliography Michael Sioutis Consistency of Chordal RCC-8 Networks
  • 3. What is Qualitative Spatial Reasoning? Consistency of Chordal RCC-8 Networks Michael Sioutis Outline Qualitative spatial reasoning is based on qualitative Introduction PyRCC8 abstractions of spatial aspects of the common-sense -Path background knowledge, on which our human perspective Consistency on the physical reality is based Experimental Results Conclusions Future Work Acknowledge Bibliography Michael Sioutis Consistency of Chordal RCC-8 Networks
  • 4. Reasons for Qualitative Spatial Reasoning Consistency of Chordal RCC-8 Networks Michael Sioutis Outline Two main reasons why non-precise, qualitative spatial Introduction information may be useful: PyRCC8 1 Only partial information may be available -Path Consistency 2 Spatial constraints are often most naturally stated in Experimental qualitative terms Results Conclusions Future Work Acknowledge Bibliography Michael Sioutis Consistency of Chordal RCC-8 Networks
  • 5. Applications of Qualitative Spatial Reasoning Consistency of Chordal RCC-8 Networks Michael Sioutis Qualitative spatial reasoning is an important subproblem Outline in many applications, such as: Introduction PyRCC8 Robotic navigation -Path High level vision Consistency Geographical information systems (GIS) Experimental Reasoning and querying with semantic geospatial query Results languages (e.g., stSPARQL, GeoSPARQL) Conclusions Future Work Acknowledge Bibliography Michael Sioutis Consistency of Chordal RCC-8 Networks
  • 6. Region Connection Calculus Consistency of Chordal RCC-8 Networks Michael Sioutis Outline The Region Connection Calculus (RCC) is a first-order Introduction language for representation of and reasoning about PyRCC8 topological relationships between extended spatial regions -Path RCC abstractly describes regions, that are non-empty Consistency Experimental regural subsets of some topological space which do not Results have to be internally connected Conclusions Future Work Acknowledge Bibliography Michael Sioutis Consistency of Chordal RCC-8 Networks
  • 7. The RCC-8 Calculus Consistency of Chordal RCC-8 Networks Michael RCC-8 is a constraint language formed by the combination Sioutis of the following eight jointly exhaustive and pairwise Outline disjoint base relations: Introduction disconnected (DC) PyRCC8 externally connected (EC) -Path Consistency equal (EQ) partially overlapping (PO) Experimental Results tangential proper part (TPP) Conclusions tangential proper part inverse (TPPi) Future Work non-tangential proper part (NTPP) Acknowledge non-tangential proper part inverse (NTPPi) Bibliography Michael Sioutis Consistency of Chordal RCC-8 Networks
  • 8. The Eight Basic Relations of the RCC-8 Calculus Consistency of Chordal RCC-8 Networks Michael Y Y X Y X Y Sioutis X X X DC Y X EC Y X TPP Y X NTPP Y Outline Introduction X X X X Y Y Y PyRCC8 Y -Path X PO Y X EQ Y X TPPi Y X NTPPi Y Consistency Experimental Figure: Two dimesional examples for the eight base relations of RCC-8 Results Conclusions Future Work From these basic relations, combinations can be built. For Acknowledge example, proper part (PP) is the union of TPP and NTPP. Bibliography Michael Sioutis Consistency of Chordal RCC-8 Networks
  • 9. The RCC-8 Composition Table Consistency of Chordal DC EC PO TPP NTPP TPPi NTPPi EQ RCC-8 DC,EC DC,EC DC,EC DC,EC Networks DC * PO,TPP PO,TPP PO,TPP PO,TPP DC DC DC NTPP NTPP NTPP NTPP Michael DC,EC DC,EC DC,EC EC,PO PO Sioutis EC PO,TPPi PO,TPP PO,TPP TPP TPP DC,EC DC EC NTPPi TPPi,EQ NTPP NTPP NTPP Outline DC,EC DC,EC PO PO DC,EC DC,EC PO PO,TPPi PO,TPPi * TPP TPP PO,TPPi PO,TPPi PO Introduction NTPPi NTPPi NTPP NTPP NTPPi NTPPi DC,EC TPP DC,EC DC,EC PyRCC8 TPP DC DC,EC PO,TPP NTPP NTPP PO,TPP PO,TPPi TPP -Path NTPP TPPi,EQ NTPPi Consistency DC,EC DC,EC NTPP DC DC PO,TPP NTPP NTPP PO,TPP * NTPP Experimental NTPP NTPP Results DC,EC EC,PO PO PO,EQ PO TPPi TPPi PO,TPPi TPPi TPPi TPP TPP NTPPi NTPPi TPPi Conclusions NTPPi NTPPi NTPPi TPPi NTPP DC,EC PO PO PO PO,TPP Future Work NTPPi PO TPPi TPPi TPPi NTPP NTPPi NTPPi NTPPi Acknowledge TPPi NTPPi NTPPi NTPPi NTPPi NTPPi TPPi,EQ Bibliography EQ DC EC PO TPP NTPP TPPi NTPPi EQ Michael Sioutis Consistency of Chordal RCC-8 Networks
  • 10. The RSAT Reasoning Problem Consistency of Chordal RCC-8 Networks Michael Sioutis RSAT in the RCC-8 framework is the reasoning problem of Outline deciding whether there is a spatial configuration where the Introduction relations between the regions can be described by a spatial PyRCC8 formula Θ -Path Consistency RSAT is NP-Complete! Experimental ˆ However, tractable subsets S of RCC-8 exist, such as H8 , Results C8 , Q8 [5], for which the consistency problem can be Conclusions decided in polynomial time Future Work Acknowledge Bibliography Michael Sioutis Consistency of Chordal RCC-8 Networks
  • 11. The RSAT Reasoning Problem Consistency of Chordal RCC-8 Networks Michael Sioutis RSAT in the RCC-8 framework is the reasoning problem of Outline deciding whether there is a spatial configuration where the Introduction relations between the regions can be described by a spatial PyRCC8 formula Θ -Path Consistency RSAT is NP-Complete! Experimental ˆ However, tractable subsets S of RCC-8 exist, such as H8 , Results C8 , Q8 [5], for which the consistency problem can be Conclusions decided in polynomial time Future Work Acknowledge Bibliography Michael Sioutis Consistency of Chordal RCC-8 Networks
  • 12. The RSAT Reasoning Problem Consistency of Chordal RCC-8 Networks Michael Sioutis RSAT in the RCC-8 framework is the reasoning problem of Outline deciding whether there is a spatial configuration where the Introduction relations between the regions can be described by a spatial PyRCC8 formula Θ -Path Consistency RSAT is NP-Complete! Experimental ˆ However, tractable subsets S of RCC-8 exist, such as H8 , Results C8 , Q8 [5], for which the consistency problem can be Conclusions decided in polynomial time Future Work Acknowledge Bibliography Michael Sioutis Consistency of Chordal RCC-8 Networks
  • 13. Path Concistency Consistency of Chordal RCC-8 Networks Approximates consistency and realizes forward checking in Michael Sioutis a backtracking algorithm Outline Checks the consistency of triples of relations and Introduction eliminates relations that are impossible though iteravely PyRCC8 performing the operation -Path Consistency Rij ← Rij ∩ Rik Rkj Experimental Results until a fixed point R is reached Conclusions If Rij = ∅ for a pair (i, j) then R is inconsistent, otherwise Future Work R is path-consistent. Acknowledge Computing R is done in O(n3 ) Bibliography Michael Sioutis Consistency of Chordal RCC-8 Networks
  • 14. About PyRCC8.. Consistency of Chordal RCC-8 Networks PyRCC81 is an efficient qualitative spatial reasoner written Michael Sioutis in pure Python. It employs PyPy2 , a fast, compliant implementation of the Python 2 language Outline Introduction PyRCC8 -Path Consistency Experimental Results PyRCC8 offers a path consistency algorithm for solving Conclusions tractable RCC-8 networks and a backtracking-based Future Work algorithm for general networks Acknowledge Bibliography 1 http://pypi.python.org/pypi/PyRCC8 2 http://pypy.org/ Michael Sioutis Consistency of Chordal RCC-8 Networks
  • 15. Comparing PC Implementations of Different Reasoners Consistency of Chordal RCC-8 Networks We compare the PC implementation of PyRCC8 to the PC Michael implementations of the following qualitative spatial Sioutis reasoners: Outline Renz’s solver3 Introduction GQR4 PyRCC8 Pellet Spatial5 -Path Consistency The admingeo6 dataset (11761 regions / 77910 relations) Experimental Results was used which was properly translated to fit the input Conclusions format of the different PC implementations Future Work Acknowledge 3 Bibliography http://users.rsise.anu.edu.au/%7Ejrenz/software/rcc8-csp-solving.tar.gz 4 http://sfbtr8.informatik.uni-freiburg.de/R4LogoSpace/Tools/gqr.html 5 http://clarkparsia.com/pellet/spatial/ 6 http://data.ordnancesurvey.co.uk/ontology/admingeo/ Michael Sioutis Consistency of Chordal RCC-8 Networks
  • 16. Evaluation with a Large Dataset Consistency of Chordal RCC-8 Networks Performance of four QSRs for the admingeo dataset 105 Michael Sioutis 104 Outline 103 Introduction 102 CPU time (sec) PyRCC8 -Path 101 Consistency Experimental 100 Results 10-1 Renz Conclusions PyRCC8 Future Work 10 -2 GQR Pellet-Spatial Acknowledge 10-3 0 10000 20000 30000 40000 50000 60000 70000 Bibliography Number of relations Michael Sioutis Consistency of Chordal RCC-8 Networks
  • 17. Consistency Consistency of Chordal RCC-8 Networks Michael Sioutis To explore the search space for the general case of RCC-8 Outline Introduction networks in order to solve an instance Θ of RSAT, some PyRCC8 sort of backtracking must be used -Path We implemented two backtracking algorithms: Consistency Experimental 1 A strictly recursive one Results 2 An equivalent iterative one which resembles recursion Conclusions Future Work Acknowledge Bibliography Michael Sioutis Consistency of Chordal RCC-8 Networks
  • 18. Comparing PyRCC8 to Other Reasoners Consistency of Chordal RCC-8 Networks Michael Sioutis We compare PyRCC8 to the following qualitative spatial Outline reasoners: Introduction Renz’s solver7 PyRCC8 GQR8 -Path Consistency Different size n of instances from A(n, d = 9.5, l = 4.0) Experimental Results were used Conclusions Future Work Acknowledge Bibliography 7 http://users.rsise.anu.edu.au/%7Ejrenz/software/rcc8-csp-solving.tar.gz 8 http://sfbtr8.informatik.uni-freiburg.de/R4LogoSpace/Tools/gqr.html Michael Sioutis Consistency of Chordal RCC-8 Networks
  • 19. Comparison Diagram Consistency of Chordal RCC-8 Networks Performance of three QSRs for A(n,d=9.5,l=4.0) 102 Michael Renz Sioutis PyRCC8 GQR Outline 101 Introduction CPU time (sec) PyRCC8 -Path 100 Consistency Experimental Results 10-1 Conclusions Future Work Acknowledge 10-2 100 200 300 400 500 600 700 800 900 Bibliography Number of nodes Michael Sioutis Consistency of Chordal RCC-8 Networks
  • 20. -Path Concistency Consistency of Chordal RCC-8 Networks Michael Sioutis Outline Up till now, all aproaches in qualitative spatial reasoning Introduction enforce path consistency on a complete spatial network PyRCC8 We propose enforcing path consistency on a chordal -Path spatial network [2] as Chmeiss and Condotta have done for Consistency Experimental temporal networks [3], and we call this type of local Results consistency as -path consistency for clarity Conclusions Future Work Acknowledge Bibliography Michael Sioutis Consistency of Chordal RCC-8 Networks
  • 21. -Path Concistency Consistency of Chordal RCC-8 Networks Michael Sioutis Outline Up till now, all aproaches in qualitative spatial reasoning Introduction enforce path consistency on a complete spatial network PyRCC8 We propose enforcing path consistency on a chordal -Path spatial network [2] as Chmeiss and Condotta have done for Consistency Experimental temporal networks [3], and we call this type of local Results consistency as -path consistency for clarity Conclusions Future Work Acknowledge Bibliography Michael Sioutis Consistency of Chordal RCC-8 Networks
  • 22. Chordal Graph Consistency of Chordal RCC-8 A graph is chordal if each of its cycles of four or more Networks nodes has a chord, which is an edge joining two nodes Michael Sioutis that are not adjacent in the cycle An example of a chordal graph is shown below: Outline Introduction PyRCC8 -Path Consistency Experimental Results Conclusions Future Work Acknowledge Bibliography Michael Sioutis Consistency of Chordal RCC-8 Networks
  • 23. Triangulation Consistency of Chordal RCC-8 Networks Michael Triangulation of a given graph is done by eliminating the Sioutis vertices one by one and connecting all vertices in the Outline neighbourhood of each eliminated vertex with fill edges Introduction PyRCC8 Determining a minimum triangulation is an NP-hard -Path problem Consistency Use of several heuristics for sub-optimal solutions (e.g. Experimental Results minimum degree, minimum fill) Conclusions Chordality checking can be done efficiently in O(|V | + |E |) Future Work time, for a graph G = (V , E ) (e.g., with MCS, LexBFS) Acknowledge Bibliography Michael Sioutis Consistency of Chordal RCC-8 Networks
  • 24. Preliminaries Consistency of Chordal RCC-8 Networks Michael Sioutis Let G = (V , E ) be an undirected chordal graph. There Outline exists a tree T , called a clique tree of G , whose vertex set Introduction is the set of maximal cliques of G PyRCC8 -Path Let C be a constraint network from a given CSP. Then, Consistency VC refers to the set of variables of C Experimental Results If V is any set of variables, CV will be the constraint Conclusions network C that involves variables of V Future Work Acknowledge Bibliography Michael Sioutis Consistency of Chordal RCC-8 Networks
  • 25. Patchwork Property in RCC-8 Networks Consistency of Chordal RCC-8 Networks Michael Sioutis Definition Outline We will say that a CSP has the patchwork property if for any Introduction finite satisfiable constraint networks C and C of the CSP such PyRCC8 that CVC ∩VC = C VC ∩VC , the constraint network C ∪ C is -Path satisfiable [4]. Consistency Experimental Results Proposition Conclusions ˆ The three CSPs for path consistent H8 , C8 , and Q8 networks, Future Work respectively, all have patchwork [4]. Acknowledge Bibliography Michael Sioutis Consistency of Chordal RCC-8 Networks
  • 26. Proposition Consistency of Chordal RCC-8 Networks Michael Sioutis Proposition Outline Introduction Let C be an RCC-8 constraint network with relations from PyRCC8 ˆ H8 , C8 , and Q8 on its edges. Let G be the chordal graph that -Path results from triangulating the associated constraint graph of C , Consistency Experimental and T a clique tree of G . C is consistent if all the networks Results corresponding to the nodes of T are path consistent. Conclusions Future Work Acknowledge Bibliography Michael Sioutis Consistency of Chordal RCC-8 Networks
  • 27. Example Consistency of Chordal RCC-8 Networks v1 v2 v1 v2 Michael Sioutis (a) Outline v5 (b) v5 Introduction PyRCC8 v3 v4 v3 v4 -Path v1 v2 v2 v2 Consistency {v1, v2, v3} Experimental {v2 , v3 } Results (c) v5 {v2, v3, v4} Conclusions {v2 , v4 } Future Work v3 v3 v4 {v2, v4, v5} v4 Acknowledge Bibliography Michael Sioutis Consistency of Chordal RCC-8 Networks
  • 28. PyRCC8 Consistency of Chordal RCC-8 Networks Michael Sioutis Outline PyRCC8 is a chordal reasoner which was developed by Introduction extending PyRCC8 PyRCC8 Similarly to PyRCC8, PyRCC8 offers a -path -Path Consistency consistency algorithm for solving tractable RCC-8 networks Experimental and a backtracking-based algorithm for general networks Results Conclusions Future Work Acknowledge Bibliography Michael Sioutis Consistency of Chordal RCC-8 Networks
  • 29. -Path Consistency Algorithm Consistency of Chordal RCC-8 -Path-Consistency(C, G) Networks Input: A constraint network C and its chordal graph G Michael Output: True or False Sioutis 1: Q ← {(i, j) | (i, j) ∈ E } // Initialize the queue 2: while Q is not empty do Outline 3: select and delete an (i, j) from Q 4: for each k such that (i, k), (k, j) ∈ E do Introduction 5: t ← Cik ∩ (Cij Cjk ) 6: if t = Cik then PyRCC8 7: if t = ∅ then -Path 8: return False Consistency 9: Cik ← t 10: Cki ← ˘ t Experimental 11: Q ← Q ∪ {(i, k)} Results 12: t ← Ckj ∩ (Cki Cij ) 13: if t = Ckj then Conclusions 14: if t = ∅ then 15: return False Future Work 16: Ckj ← t Acknowledge 17: Cjk ← ˘ t 18: Q ← Q ∪ {(k, j)} Bibliography 19:return True Michael Sioutis Consistency of Chordal RCC-8 Networks
  • 30. Complexity Analysis Consistency of Chordal RCC-8 Networks Michael Let δ denote the maximum degree of a vertex of G Sioutis For each arc (i, j) selected at line 3, we have at most δ Outline vertices of G corresponding to index k such that vi , vj , vk Introduction forms a triangle PyRCC8 -Path Additionaly, there exist |E | arcs in the network and one Consistency can remove at most |B|9 values from any relation that Experimental Results corresponds to an arc Conclusions It results that the time complexity of -path consistency Future Work is O(δ · |E | · |B|) Acknowledge Bibliography 9 B refers to the set of base relations of RCC-8 Michael Sioutis Consistency of Chordal RCC-8 Networks
  • 31. Recursive -Consistency Algorithm Consistency of Chordal RCC-8 Networks Michael -Consistency(C, G) Sioutis Input: A constraint network C and its chordal graph G Output: A refined constraint network C’ if C is satisfiable or None Outline 1: if not -Path-Consistency(C, G) then Introduction 2: return None 3: if no constraint can be split then PyRCC8 4: return C 5: else -Path 6: choose unprocessed constraint xi Rxj ; split R into S1 , ..., Sk ∈ S: S1 ∪ ... ∪ Sk = R Consistency 7: Values ← {Sl | 1 ≤ l ≤ k} 8: for V in Values do Experimental 9: replace xi Rxj with xi Vxj in C Results 10: result = -Consistency(C, G) 11: if result = None then Conclusions 12: return result Future Work 13: return None Acknowledge Bibliography Michael Sioutis Consistency of Chordal RCC-8 Networks
  • 32. Iterative -Consistency Algorithm Consistency of Chordal -Consistency(C, G) RCC-8 Input: A constraint network C, A chordal graph G Networks Output: A refined constraint network C’ if C is satisfiable or None Michael 1: Stack ← {} // Initialize stack Sioutis 2: if not -Path-Consistency(C, G) then 3: return None 4: while 1 do Outline 5: if no constraint can be split then Introduction 6: return C 7: else PyRCC8 8: choose unprocessed constraint xi Rxj ; split R into S1 , ..., Sk ∈ S: S1 ∪ ... ∪ Sk = R 9: Values ← {Sl | 1 ≤ l ≤ k} -Path 10: while 1 do Consistency 11: if not Values then 12: while Stack do Experimental 13: C, Values = Stack.pop() Results 14: if Values then 15: break Conclusions 16: else Future Work 17: return None 18: V = Values.pop() Acknowledge 19: replace xi Rxj with xi Vxj in C 20: if -Path-Consistency(C, G) then Bibliography 21: break 22: Stack.push(C, Values) 23:raise RuntimeError, Can’t happen Michael Sioutis Consistency of Chordal RCC-8 Networks
  • 33. Comparing PyRCC8 to PyRCC8 Consistency of Chordal RCC-8 Networks Michael Sioutis Outline We compare PyRCC8 to PyRCC8, a complete graph Introduction dedicated reasoner, using the following data: PyRCC8 Random instances composed from the set of all RCC-8 -Path Consistency relations Experimental The admingeo10 dataset Results Conclusions Future Work Acknowledge Bibliography 10 http://data.ordnancesurvey.co.uk/ontology/admingeo/ Michael Sioutis Consistency of Chordal RCC-8 Networks
  • 34. Experimenting with Random Instances Consistency of Chordal RCC-8 Networks Michael Sioutis We generated instances from A(100, d, l = 4.0), for d varying from 3 to 15 with a step of 0.5. For each series, Outline Introduction 300 networks were generated using Renz’s network PyRCC8 generator11 -Path We used the Horn relations set as our split set, and the Consistency dynamic/local constraint scheme with a weighted queue Experimental Results configuration, since it proved to be the best combination Conclusions for both reasoners, confirming the results in [5] Future Work Acknowledge Bibliography 11 http://users.rsise.anu.edu.au/%7Ejrenz/software/rcc8-csp-solving.tar.gz Michael Sioutis Consistency of Chordal RCC-8 Networks
  • 35. Comparison Diagram on CPU time Consistency of Chordal RCC-8 Networks Performance of function Consistency for A(100,d,l=4.0) 0.70 Michael PyRCC8 Sioutis 0.65 PyRCC8 Outline 0.60 Introduction CPU time (sec) PyRCC8 0.55 -Path Consistency 0.50 Experimental Results 0.45 Conclusions 0.40 Future Work Acknowledge 0.35 4 6 8 10 12 14 Bibliography Average degree of network for non trivial constraints Michael Sioutis Consistency of Chordal RCC-8 Networks
  • 36. Comparison Diagram on # of Revised Arcs Consistency of Chordal RCC-8 Networks Performance of function Consistency for A(100,d,l=4.0) 3000 Michael PyRCC8 Sioutis PyRCC8 2500 Outline Introduction 2000 # of revised arcs PyRCC8 -Path 1500 Consistency Experimental 1000 Results Conclusions 500 Future Work Acknowledge 0 4 6 8 10 12 14 Bibliography Average degree of network for non trivial constraints Michael Sioutis Consistency of Chordal RCC-8 Networks
  • 37. Comparison Diagram on # of Checked Constraints Consistency of Chordal RCC-8 Networks Performance of function Consistency for A(100,d,l=4.0) 300000 Michael PyRCC8 Sioutis PyRCC8 250000 Outline # of consistency checks Introduction 200000 PyRCC8 -Path 150000 Consistency Experimental 100000 Results Conclusions 50000 Future Work Acknowledge 0 4 6 8 10 12 14 Bibliography Average degree of network for non trivial constraints Michael Sioutis Consistency of Chordal RCC-8 Networks
  • 38. Results Summary Consistency of Chordal RCC-8 Networks Michael Sioutis Outline PyRCC8 PyRCC8 % Introduction CPU time 0.524s 0.509s 2.80% PyRCC8 revised arcs 1300.681 801.204 38.40% -Path checked constraints 105751.173 74864.985 29.21% Consistency Experimental Table: Comparison based on the average of different parameters Results Conclusions Future Work Acknowledge Bibliography Michael Sioutis Consistency of Chordal RCC-8 Networks
  • 39. Experimenting with the Admingeo Dataset Consistency of Chordal RCC-8 Networks Michael Sioutis The admingeo12 dataset consists of 11761 regions and Outline 77910 base relations, thus being an extremely large and Introduction sparse network, making itself a good candidate for stress PyRCC8 testing different path consistency implementations -Path Consistency We used a simple queue configuration, since the weighted Experimental variants made no difference on this dataset other than Results using much more memory Conclusions Future Work Acknowledge Bibliography 12 http://data.ordnancesurvey.co.uk/ontology/admingeo/ Michael Sioutis Consistency of Chordal RCC-8 Networks
  • 40. Comparison Diagram on CPU Time Consistency of Chordal RCC-8 Networks Performance of function PC for the admingeo dataset 105 Michael PyRCC8 Sioutis PyRCC8 104 Outline Introduction 103 CPU time (sec) PyRCC8 -Path 102 Consistency Experimental 101 Results Conclusions 100 Future Work Acknowledge 10-1 0 10000 20000 30000 40000 50000 60000 70000 Bibliography Number of relations Michael Sioutis Consistency of Chordal RCC-8 Networks
  • 41. Comparison Diagram on # of Revised Arcs Consistency of Chordal RCC-8 Networks Performance of function PC for the admingeo dataset 108 Michael PyRCC8 Sioutis 107 PyRCC8 Outline 106 Introduction # of revised arcs PyRCC8 105 -Path Consistency 104 Experimental Results 103 Conclusions Future Work 102 Acknowledge 101 0 10000 20000 30000 40000 50000 60000 70000 Bibliography Number of relations Michael Sioutis Consistency of Chordal RCC-8 Networks
  • 42. Comparison Diagram on # of Checked Constraints Consistency of Chordal RCC-8 Networks Performance of function PC for the admingeo dataset 1012 Michael PyRCC8 Sioutis 1011 PyRCC8 1010 Outline 109 # of consistency checks Introduction PyRCC8 108 -Path 107 Consistency 106 Experimental Results 105 Conclusions 104 Future Work 103 Acknowledge 102 0 10000 20000 30000 40000 50000 60000 70000 Bibliography Number of relations Michael Sioutis Consistency of Chordal RCC-8 Networks
  • 43. Results Summary Consistency of Chordal RCC-8 Networks Michael Sioutis Outline PyRCC8 PyRCC8 % Introduction CPU time 1825.129s 289.203s 84.15% PyRCC8 revised arcs 4834133.78 373080.28 92.28% -Path checked constraints 3.606e + 10 1.181e + 09 96.72% Consistency Experimental Table: Comparison based on the average of different parameters Results Conclusions Future Work Acknowledge Bibliography Michael Sioutis Consistency of Chordal RCC-8 Networks
  • 44. Test Machine Consistency of Chordal RCC-8 Networks Michael All experiments were carried out on a computer with an Sioutis Intel Xeon 4 Core X3220 processor with a CPU frequency Outline of 2.40 GHz, 8 GB RAM, and the Debian Lenny x86 64 OS Introduction Renz’s solver and GQR were compiled with gcc/g++ 4.4.3 PyRCC8 -Path PelletSpatial was run with OpenJDK 6 build 19, which Consistency implements Java SE 6 Experimental Results PyRCC8 was run with PyPy 1.8, which implements Conclusions Python 2.7.2 Future Work Only one of the CPU cores was used for the experiments Acknowledge Bibliography Michael Sioutis Consistency of Chordal RCC-8 Networks
  • 45. Conclusions Consistency of Chordal RCC-8 We made the case for a new generation of RCC-8 Networks reasoners implemented in Python, and making use of Michael Sioutis advanced Python environments, such as PyPy, utilizing trace-based JIT compilation techniques Outline Introduction We introduced -path consistency for RCC-8 networks PyRCC8 We showed that -path consistency is sufficient to decide -Path Consistency the consistency problem for the maximal tractable subsets ˆ H8 , C8 , and Q8 of RCC-8 Experimental Results We implemented a chordal graph dedicated reasoner for Conclusions Future Work RCC-8 networks Acknowledge We showed expirimentally that -path consistency can Bibliography offer a great advantage over full path consistency on sparse graphs Michael Sioutis Consistency of Chordal RCC-8 Networks
  • 46. Main Points Consistency of Chordal RCC-8 Networks Michael Explore self learning heuristics regarding variable and value Sioutis selection Outline Create module to generate spatial CSPs Introduction Transform PyRCC8 into a generic qualitative reasoner PyRCC8 -Path Use other methods of triangulation and compare the Consistency behavior of partial path consistency for these different Experimental Results methods Conclusions Perform experiments with other possible real datasets, Future Work such as GADM13 Acknowledge Bibliography 13 http://gadm.geovocab.org/ Michael Sioutis Consistency of Chordal RCC-8 Networks
  • 47. Acknowledge Consistency of Chordal RCC-8 Networks Michael Sioutis Outline This work was funded by the FP7 project TELEIOS Introduction (257662) PyRCC8 I would also like to thank my colleagues, and Katia -Path Consistency Papakonstantinopoulou especially, for their help, interest, Experimental and advice Results Conclusions Future Work Acknowledge Bibliography Michael Sioutis Consistency of Chordal RCC-8 Networks
  • 48. References Consistency of Chordal RCC-8 [Van Beek and Manchak] Networks The design and experimental analysis of algorithms for temporal reasoning Michael JAIR, vol. 4, pages 1–18, 1996 Sioutis [Bliek and Sam-Haroud] Outline Path Consistency on Triangulated Constraint Graphs Introduction In IJCAI, 1999 PyRCC8 [Chmeiss and Condotta] -Path Consistency of Triangulated Temporal Qualitative Constraint Networks Consistency In ICTAI, 2011 Experimental [Huang] Results Compactness and Its Implications for Qualitative Spatial and Temporal Conclusions Reasoning Future Work In KR, 2012 Acknowledge [Renz and Nebel] Bibliography Efficient Methods for Qualitative Spatial Reasoning JAIR, vol. 15, pages 289–318, 2001 Michael Sioutis Consistency of Chordal RCC-8 Networks
  • 49. The End Consistency of Chordal RCC-8 Networks Michael Sioutis Outline Introduction PyRCC8 Any Questions? -Path Consistency Experimental Results Conclusions Future Work Acknowledge Bibliography Michael Sioutis Consistency of Chordal RCC-8 Networks