Knowledge Repn. & Reasoning Lec #11: Partitioning & Treewidth UIUC CS 498: Section EA Professor: Eyal Amir Fall Semester 2004
Last Time Resolution strategies –Deletion of clauses –Restricting resolution to some pairs –Ordering resolution between clauses Some strategies refutation complete, others only complete for Horn refutation
Today 1.We can partition reasoning while not hurting soundness and completeness 2.How to partition a KB with the best computational benefit Still maintaining soundness & completeness 3. Applications du jour: Planning
key locked can_open can_open open opened opened fetch broom key opened open opened broom fetch broom dry can_clean can_clean cleaned broom let_dry dry time let_dry drier let_dry time drier High-Level Structure in First- Order Logic
key locked can_open can_open open opened opened fetch broom key opened open opened broom fetch broom dry can_clean can_clean cleaned broom let_dry dry time let_dry drier let_dry time drier broom
Structured First-Order Reasoning Craig’s interpolation theorem (First-Order Logic): –If A B, then there is a formula C including only symbols from L(A) L(B) such that A C and C B clean
Structured First-Order Reasoning Craig’s interpolation theorem (First-Order Logic): –If A B, then there is a formula C including only symbols from L(A) L(B) such that A C and C B clean
High-Level Structure in First- Order Logic key locked can_open can_open open opened opened fetch broom key opened open opened broom fetch broom dry can_clean can_clean cleaned broom let_dry dry time let_dry drier let_dry time drier broom
Structured First-Order Reasoning Craig’s interpolation theorem (First-Order Logic): –If A B, then there is a formula C including only symbols from L(A) L(B) such that A C and C B clean broom
High-Level Structure in First- Order Logic key locked can_open can_open open opened opened fetch broom key opened open opened broom fetch broom dry can_clean can_clean cleaned broom let_dry dry time let_dry drier let_dry time drier broom
Start with a tree-decomposition partition graph Reasoning with partitions using MP MP Algorithm Pass messages in L i toward goal Identify goal partition Direct edges toward goal (fixing outbound link language L i for each partition) Concurrently, in each partition: Generate consequences in L i
Another Example Message Passing: Espresso machineEspresso machine SAT via partitioning
Benefits of Message-Passing Search space is restricted Allows parallel processing Sound and complete Can use different reasoners for each partition Small links imply short proofs Small partitions imply short proofs
High-Level Structure in First- Order Logic Has(key(x)) locked(x) can_open(x) can_open(x) open(x) opened(x) opened(x) fetch(y,x) in(y,x) has(y) Has(key(closet)) opened(closet) open(closet) opened(closet) In(broom,closet) fetch(broom,closet) Has(broom) dry(broom) can_clean(x) can_clean(x) cleaned(x) Has(y) let_dry(y) dry(y) Has(time) let_dry(y) Has(drier) let_dry(y) Has(time) Has(drier) Has broom
Structured First-Order Reasoning Craig’s interpolation theorem (First-Order Logic): –If A B, then there is a formula C including only symbols from L(A) L(B) such that A C and C B clean(room) Has(broom)
Structured First-Order Reasoning Craig’s interpolation theorem (First-Order Logic): –If A B, then there is a formula C including only symbols from L(A) L(B) such that A C and C B clean(room) Has(broom) x Has(x) Has(broom)
Contents 1.We can partition reasoning while not hurting soundness and completeness 2.How to partition a KB with the best computational benefit Still maintaining soundness & completeness 3. Applications: Planning
key locked can_open can_open open opened opened fetch broom key opened open opened broom fetch broom dry can_clean can_clean cleaned broom let_dry dry time let_dry drier let_dry time drier Automatic Decomposition of a Theory
key locked can_open can_open open opened opened fetch broom key opened open opened broom fetch broom dry can_clean can_clean cleaned broom let_dry dry time let_dry drier let_dry time drier Automatic Decomposition of a Theory
key locked can_open can_open open opened opened fetch broom key opened open opened broom fetch broom dry can_clean can_clean cleaned broom let_dry dry time let_dry drier let_dry time drier Automatic Decomposition of a Theory
keylocked can_openopen openedfetch broom dry cleaned let_dry time drier can_clean
Automatic Decomposition of a Theory keylocked can_openopen openedfetch broom dry cleaned let_dry time drier can_clean
Automatic Decomposition of a Theory keylocked can_openopen openedfetch broom dry cleaned let_dry time drier can_clean broom
Automatic Decomposition of a Theory broom keylocked can_openopen openedfetch broom dry cleaned let_dry time drier can_clean broom
Automatic Decomposition of a Theory key locked can_open can_open open opened opened fetch broom key opened open opened broom fetch broom dry can_clean can_clean cleaned broom let_dry dry time let_dry drier let_dry time drier broom
Automatic Partitioning Begin with a KB in PL or FOL Construct symbol graph –Edges join symbols which appear together in an axiom Find a tree decomposition of low width –Roughly, generalizes balanced vertex cut Partition axioms correspondingly –Each partition has its own vocabulary –Edge labels defined by shared vocabulary
Automatic Partitioning Find a tree decomposition of minimum width: –A tree in which each node corresponds to a set of vertices from the original graph –The tree satisfies the running intersection property: if v appears in two nodes in the tree, then v appears in all the nodes on the path connecting them –The width of the tree is the size of its largest node
Why Tree Decomposition? Example: BREAK-CYCLESBREAK-CYCLES
Automatic Partitioning Treewidth: [Robertson & Seymour ’86], … Approximation Algorithms: –General theories: [A. & McIlraith ’00] –O(Log(OPT))-approximation for general graphs: [A. ’01] –Constant factor approximation for planar graphs: [Seymour & Thomas ’94], [A., Krauthgamer & Rao ’03]
Automatic Partitioning: Heuristics Heuristic: min-degree 1.Given a graph G; List L - empty 2.Add to L a node v with minimum number of neighbors 3.Make a clique from v’s neighbors 4.Remove v from G 5.If G is empty, return L 6.Go to 2
Automatic Partitioning: Heuristics Heuristic: min-fill 1.Given a graph G; List L - empty 2.Add to L a node v with minimum number of edges missing between neighbors 3.Make a clique from v’s neighbors 4.Remove v from G 5.If G is empty, return L 6.Go to 2
Reasoning is performed locally in each partition Specialized reasoning procedures in every partition Globally sound & complete … provided each local reasoner is sound & complete for L i -consequence finding Performance is worst-case exponential within partitions, but linear in tree structure Summary: Characteristics of MP Minimizes between-partition deduction Supports parallel processing Different reasoners in different partitions Focuses within-partition deduction
Contents 1.We can partition reasoning while not hurting soundness and completeness 2.How to partition a KB with the best computational benefit Still maintaining soundness & completeness 3. Applications: Planning
Application: Planning General-purpose planning problem: –Given: Domain features (fluents) Action descriptions: effects, preconditions Initial state Goal condition –Find: Sequence of actions that is guaranteed to achieve the goal starting from the initial state
Application: Planning with partitions PartPlan Algorithm Start with a tree- structured partition graph Identify goal partition Direct edges toward goal In each partition –Generate all plans possible with depth d and width k –Pass messages toward goal
Planning with partitions PartPlan Algorithm Start with a tree-structured partition graph Identify goal partition Direct edges toward goal In each partition –Generate all plans possible with depth d and width k: “if you give me a block, I can return it to you painted”, “if you give me a block, let me do a few things, and then give me another block, then I can return the two painted and glued together.” –Pass messages toward goal: All preconditions/effects for which there are feasible action sequences
Factored Planning: Analysis Planner is sound and complete Running time for finding plans of width w with m partitions of treewidth k is O(m w 2 2w+2k ) Factoring can be done in polynomial time Goal can be distributed over partitions by adding at most 2 features per partition
Next Time Probabilistic Graphical Models: –Directed models: Bayesian Networks –Undirected models: Markov Fields Requires prior knowledge of: –Treewidth and graph algorithms –Probability theory