370 likes | 475 Views
UIUC CS 497: Section EA Lecture #5. Reasoning in Artificial Intelligence Professor: Eyal Amir Spring Semester 2004. Last Time. DL entailment using subsumption and Tableau (for satisfiability) Applications: Games and natural language generation Medical informatics. Today.
E N D
UIUC CS 497: Section EALecture #5 Reasoning in Artificial Intelligence Professor: Eyal Amir Spring Semester 2004
Last Time • DL entailment using subsumption and Tableau (for satisfiability) • Applications: • Games and natural language generation • Medical informatics
Today • We can partition reasoning while not hurting soundness and completeness • How to partition a KB with the best computational benefit • Still maintaining soundness & completeness • Applications du jour: Planning
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
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
Reasoning with partitions using MP MP Algorithm • Start with a tree-decomposition partition graph • Identify goal partition • 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
Another Example • Message Passing: Espresso 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 • We can partition reasoning while not hurting soundness and completeness • How to partition a KB with the best computational benefit • Still maintaining soundness & completeness • Applications: Planning
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 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 open can_clean cleaned opened fetch dry time broom let_dry drier
Automatic Decomposition of a Theory key locked can_open open can_clean cleaned opened fetch dry time broom let_dry drier
Automatic Decomposition of a Theory broom key locked can_open open can_clean cleaned opened fetch dry time broom let_dry drier
Automatic Decomposition of a Theory broom key locked can_open open can_clean cleaned broom opened fetch dry time broom let_dry 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 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-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 • Given a graph G; List L - empty • Add to L a node v with minimum number of neighbors • Make a clique from v’s neighbors • Remove v from G • If G is empty, return L • Go to 2
Automatic Partitioning: Heuristics • Heuristic: min-fill • Given a graph G; List L - empty • Add to L a node v with minimum number of edges missing between neighbors • Make a clique from v’s neighbors • Remove v from G • If G is empty, return L • Go to 2
Summary: Characteristics of MP • Reasoning is performed locally in each partition • Specialized reasoning procedures in every 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
Contents • We can partition reasoning while not hurting soundness and completeness • How to partition a KB with the best computational benefit • Still maintaining soundness & completeness • 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
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×22w+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