Title: PartitionBased Logical Reasoning
1Partition-BasedLogical Reasoning
- Bill MacCartney (KSL), Sheila A. McIlraith (KSL),
- Eyal Amir (FRG/Berkeley), Tomas Uribe (SRI)
- Richard Fikes and John McCarthy
- Knowledge Systems Lab Formal Reasoning Group
- Stanford University
- with thanks to
- Mark Stickel and Vinay Chaudhri of SRI
2Motivation
- With large KBs, general-purpose reasonerssuffer
from combinatorial explosion. - Can we focus reasoning by decomposing the KB into
anetwork of minimally-connected partitions? - Special-purpose reasoners can be highly efficient
in specific domains, but how to integrate them? - Given a network of (possibly heterogeneous)
knowledge systems, how can we achieve efficient
global reasoning? - Can we exploit implicit structure of knowledge to
make reasoning more focused efficient?
3Overview
- Algorithms and theoretical results
- Automatic partitioning of large KBs
- Reasoning with partitions using message passing
(MP) - Experimental testing
- Empirical validation of the effectiveness of
partitioning - Even better when combined with good local
strategies - Surprising, productive results
- Partitioning can induce near-optimal symbol
orderings - MP can integrate special-purpose reasoners
- Many new research questions
4Automatic partitioning
- Begin with a KB in PL or FOL
- Construct symbol graph
- Edges join symbols which appear together in an
axiom
- Apply tree decomposition algorithm
- Alg 5 a variant of min-fill
- Alg 6 a divide-and-conquer tree-width algorithm
- Partition axioms correspondingly
- Each partition has its own vocabulary
- Link languages are defined by shared vocabulary
Efficient reasoning depends on keepingpartition
sizes and link sizes small
5Reasoning with partitions an example
- A simple propositional theory
Query Q ? U ? V ? Z ?
(21) W
(16) ?R ? T
(22) ?W ? Y ? Z
(17) S ? T
(18) T
(23) ?W ? Z
(18) T
(19) ?U ? ?V ? W
(24) Z
(20) ?V ? W
(25) ?
(21) W
Using partitioning, this query took just 10
resolution steps. Using set-of-support, the same
query can take 28 steps.
6Reasoning with partitions using MP
- MP Algorithm
- Amir McIlraith 2000
- Start with a tree-structured partition graph
- Direct edges toward goal
- (fixing outbound link language Li for each
partition)
- Concurrently, in each partition
- Generate consequences in Li
- Pass messages in Li toward goal
7Characteristics of MP
- Reasoning is performed locally in each partition
- Relevant results propagate toward goal partition
- Globally sound complete provided each local
reasoner is sound complete for Li-consequence
finding - Performance is worst-caseexponential within
partitions, but linear in tree structure
Minimizesbetween-partitiondeduction
Focuseswithin-partitiondeduction
Supports parallel processing
Different reasoners in different partitions
8Experimental Testing
- Do real world KBs exhibit inherent structure?
- Can we generate partitionings in which both
partition sizes and link language sizes are
small? - Can partition-based reasoning outperform other
strategies? - Experimental testbed
- Theorem prover SNARK
- Thanks to Mark Stickel and SRI
- KB Cyc
- A subset on spatial relationships, 750 axioms,
150 symbols - Were working on adding SUMO, Geo-Logica, RCC-8
- Queries
- Cyc queries provided by Vinay Chaudhri
9Results automatic partitioning
- Partition graph is largely independent of query
- But edges may need to be redirected
- Were experimenting with multiple algorithms
10Testing MP
- Vanilla MP vs. common restriction strategies
- Use MP with no local strategy
- Compare to no strategy, ordered resolution,
set-of-support - Smart MP vs. set-of-support
- In SNARK testbed, we use MP set-of-supportto
approximate MP with smart local strategy - Within-partition restriction strategies should do
better - Partition-derived symbol ordering
- Use partitioning to induce symbol ordering
- Compare partition-derived ordering with
set-of-support - What if we combine them?
11Vanilla MP vs. common strategies
12Smart MP vs. set-of-support
13Partition-derived ordering (PDO)
14MP and PDO vs. SoS
15Ongoing research
- Testing on more KBs
- Partition-derived symbol orderings
- Can we beat hand-crafted symbol orderings?
- Within-partition restriction strategies
- Focus reasoning on Li-consequence finding
- Completeness results
- When is partitioning set-of-support complete?
- Distributed implementations
- Demonstrate integration of heterogeneous reasoners
16Conclusions
- Partitioning can speed up reasoning
- Makes large KBs tractable by exploiting implicit
structure - Reasoning becomes significantly more focused and
efficient - Smarter local strategies should do even better
- Partition-derived ordering is surprisingly
effective - Especially when combined with set-of-support
- Automatic alternative to hand-crafted orderings
- Partitioning supports heterogeneouslocal
reasoners - Efficient special-purpose reasoners can be
cleanly integrated - MP ensures global soundness completeness
17References
- Web
- www.ksl.stanford.edu/projects/RKF/Partitioning/
- Papers
- Amir, E. and McIlraith, S., Partition-Based
Logical Reasoning for First-Order and
Propositional Theories, Artificial Intelligence
journal, accepted for publication. - McIlraith, S. and Amir, E., Theorem Proving with
Structured Theories, 17th International Joint
Conference on Artificial Intelligence (IJCAI-01),
2001. - Amir, E., Efficient Approximation for
Triangulation of Minimum Treewidth, 17th
Conference on Uncertainty in Artificial
Intelligence (UAI 01), 2001. - Amir, E. and McIlraith, S., Solving
Satisfiability using Decomposition and the Most
Constrained Subproblem. Proceedings of SAT 2001,
2001. - Amir, E. and McIlraith, S., Partition-Based
Logical Reasoning, 7th International Conference
on Principles of Knowledge Representation and
Reasoning (KR 2000), 2000.
18The End
19Example
The espresso machine theory
(1) ok-pump ? on-pump ? water (2) man-fill ?
water (3) man-fill ? ?on-pump (4) ?man-fill ?
on-pump (5) water ? ok-boiler ? on-boiler ?
steam (6) ?water ? ?steam (7) ?on-boiler ?
?steam (8) ?ok-boiler ? ?steam (9) steam ? coffee
? hot-drink (10) steam ? tea ? hot-drink (11) coff
ee ? tea
20Example partitioning
Step 1 construct symbol graph
(1) ?ok-pump ? ?on-pump ? water (2) ?man-fill ?
water (3) ?man-fill ? ?on-pump (4) man-fill ?
on-pump (5) ?water ? ?ok-boiler ? ?on-boiler ?
steam (6) water ? ?steam (7) on-boiler ?
?steam (8) ok-boiler ? ?steam (9) ?steam ?
?coffee ? hot-drink (10) ?steam ? ?tea ?
hot-drink (11) coffee ? tea
21Example partitioning
Step 2 graph decomposition
22Example partitioning
Step 3 generate partition graph
23Example add query to partition graph
Query If the pump is OK and the boiler is OK and
the boiler is on, do we get a hot drink?
(12) ok-pump
(1) ?ok-pump ? ?on-pump ? water (2) ?man-fill ?
water (3) ?man-fill ? ?on-pump (4) man-fill ?
on-pump
water
(13) ok-boiler
(5) ?water ? ?ok-boiler ? ?on-boiler ?
steam (6) water ? ?steam (7) on-boiler ?
?steam (8) ok-boiler ? ?steam
(14) on-boiler
steam
(9) ?steam ? ?coffee ? hot-drink (10) ?steam ?
?tea ? hot-drink (11) coffee ? tea
(15) ?hot-drink
24Example of MP
Using set-of-support, SNARK took 28 steps to
prove this. Using partitioning, SNARK took just
11 steps.
(16) ?on-pump ? water
(17) man-fill ? water
(18) water
(19) ?ok-boiler ? ?on-boiler ? steam
(20) steam
(21) ?steam ? tea ? hot-drink
(22) ?steam ? hot-drink
(23) hot-drink
(24) ?
25Automatic partitioning
26Queries
hd-q1 If the pump is OK and the boiler is OK and
the boiler is on, do we get a hot
drink? cyc-p5 If A and B are inside C, can C be
inside A? cyc-p7 If A and B are part of C and C
is at D, where is A? cyc-p1 Suppose that A is
touching B and B is inside C and C is at D. Is A
at D? cyc-v5 A has parts B, C, and D. B has
parts E, and F. Is F near A? cyc-p3 If C is
between A and B, and both A and B are inside D,
and D is at E, is C at E? cyc-p4 If C is between
A and B, and both A and B are at D, is C also at
D?