200 likes | 359 Views
Assumption-based Truth Maintenance Systems: Motivation. Problem solvers need to explore multiple contexts at the same time, instead of a single one (the JTMS case) Alternate diagnoses of a broken system Different design choices Competing theories to explain a set of data
E N D
Assumption-based Truth Maintenance Systems: Motivation • Problem solvers need to explore multiple contexts at the same time, instead of a single one (the JTMS case) • Alternate diagnoses of a broken system • Different design choices • Competing theories to explain a set of data • Problem solvers often need to compare contexts rapidly switching from one context to another. In JTMS, this can be done by enabling and retracting assumptions. In ATMS, re-labeling is avoided because alternative contexts are explicitly stored. • ATMS contexts are monotonic.
The idea behind ATMS • The assumptions underlying conclusions are important in problem-solving • Solutions can be concisely described as sets of assumptions • States of the world can be represented by sets of assumptions • Theories can be represented by sets of assumptions • Identify sets of assumptions called here environments • Organize problem solver around manipulating environments • Facilitates reasoning with multiple hypotheses
ATMS keeps and manipulates sets of assumptions rather than sets of beliefs that directly support a given belief. It works with three types of nodes: • Premise nodes. These are always true, but they are of no special interest for ATMS. • Assumption nodes. These extend the incomplete description of the domain in different possible ways. Once made, assumptions are never retracted. • Contradictions. These are defined by means of assumptions that originate them. Such sets of assumptions are called nogoods. ATMS justifications are Horn formulas of the form: Jk: I1, I2, …, In Ck, where I1, I2, …, In are the antecedents, and Ck is the consequent of justification Jk.
Basic ATMS terminology Similar to JTMS, the primary task of the ATMS is to answer queries about whether a node holds in a given set of beliefs. The following definitions are setting up the ATMS-related terminology to address this task. Definition. A set of assumptions upon which a given node depends is called an environment. Example: {A,B,C} Definition. A label is a set of environments. Example: {{A,B,C}, … ,{D,F}} That is, the label is the assumptions upon which the node ultimately depends – major difference from JTMS label, where labels are simple, :IN or :OUT. Definition. An ATMS-node, Nk is a triplet <datum, label(status), justifications>
Basic ATMS terminology (cont.) Definition. A node, Nk, holds in a given environment, E, iff it is propositionally derivable from E given the set of justifications, J. Definition. Let E be a (consistent) environment, and N be a set of nodes propositionally derivable from E. Then, E N is called the context of E. Definition. A characterizing environment for the context is a set of assumptions where every node belonging to that context holds. Each context is completely specified by its characterizing environment. This is why, the question about whether a node holds in a given set of beliefs (or context) is reduced to defining whether the node holds in a given environment.
Relations between environments Because environments are monotonic, set inclusion between environments implies logical subsumption of consequences. Example: E1 = {C} E2 = {C, D} E3 = {D, E} E1 subsumes E2 E2 is subsumed by E1 E1 neither subsumes or is subsumed by E3
How ATMS answers queries about whether a node holds in a given environment? • The easiest way: associate with each node all of the environments where this nodes holds. However, if a node holds universally (that is, in all possible environments, the number of which can be as much as 2^n, where n is the number of assumptions) this may result in a huge data structure associated with a node. • The better way: given the fact that ATMS is a monotonic system, we can record only those environments which satisfy the following four properties: • Soundness, i.e. a node holds in any of the environments associated with it. • Consistency, i.e. no environment is a nogood. • Completeness, i.e. every consistent environment where a node holds is either associated with it, or is a superset of some environment associated with it. • Minimality, i.e. no environment is a proper subset of any other.
A B D E {{A},{B,C,D}} {{B, C}} F H C G {{C, D}} ATMS labels : more complex than JTMS labels Examples: Consider the following dependency network: • Is H believed? Yes, because its label is non-empty. • Is H believed under {B, C, D, Z, X}? Yes, because {B, C, D} {B, C, D, Z, X} • Is H believed under {C, D}? No. {{A}}
Contradictions Like JTMS, in ATMS certain nodes can be declared as contradictions, which here suggests that every environment which would allow a contradiction to be believed is inconsistent. Inconsistent environments are called nogoods. Example: {A,B} F {A,B,C} G {B,C}
There are two special labels in ATMS: Case 1: Label = { } (empty label) This means that there is no known consistent environment in which the node is believed, i.e. either there is no path from assumptions to it, or all environments for it are inconsistent. Case 2: Label = {{}} (empty environment) This means that the node is believed in every consistent environment, i.e. the node is either a premise or can be derived strictly from premises.
A B I R C D G Label propagation L H K
B I R C D G Label propagation: enable A {{A}} A {{A}} L H K
{{A}, {B}} A {{A}, {B}} B I R C D G L H K Label propagation: enable B
I R D G Label propagation: enable C {{A}, {B}} A {{A}, {B}} {{A,C}, {B,C}} {{C}} B L H {{C}} C K {{C}}
I R G Label propagation: enable D {{A}, {B}} A {{A}, {B}} {{A,C}, {B,C}} {{C}} B L H C {{C},{D}} K {{C}} D
ATMS algorithms Logical specification of the ATMS: • ATMS does propositional reasoning over nodes. • ATMS justifications are Horn clauses. • Contradictions are characterized by nogoods. Every ATMS operation which changes a node label can be viewed as adding a justification, i.e. this is the only operation we have to be concerned here is label update as a result of adding a justification. This operation is carried out in two step: Step 1: Compute a tentative new (locally correct) label for the affected node as follows Lnew = k {x | x = i xi , where xi Lik Step 2: All nogoods and subsumed environments are removed from Lnew to achieve global correctness.
Propagating label changes • To update node Ni compute its new label as described. • If the label has not changed DONE. • If Ni is a contradiction node do • Mark all environments in its label as nogoods. • For every node in the network, check its label for environments newly marked as nogoods and remove them from every node label. • If Ni is not a contradiction node, then recursively update all of its consequences. This algorithm is guaranteed to terminate with correct labels for all of the nodes in the network. However, it is inefficient, because it constantly re-computes nodes’ labels.
Constructing solutions ATMS can answer a variety of questions: 1. Does a node hold in a given context? 2. Is a context originated by a given set of assumptions consistent? 3. Why does a node hold in a given context? 4. Which assumptions underlie a given node? What exactly is expected by the ATMS (the solution) depends on the task the system is intended to solve. This defines a major difference between JTMS and ATMS, namely: • In single-context JTMS, a solution is a contradiction-free state of the TMS which contains beliefs of particular types. Search procedures push the TMS into appropriate states, and the answers are read out of the database. • In multiple-context ATMS, Solution = Environment that supports beliefs of particular types. We must ensure that such environments are created somehow.
Constructing solutions by using goal nodes If a problem-solving task can be solved by using choice sets (i.e. the solution is generated by picking up one choice from each choice set), then we can read off the solution from the label of one goal node. The algorithm for generating the solution becomes: • Construct a node (or nodes) whose label constitutes valid solutions. • Solve a problem by • Building the appropriate dependency structure (including nogoods) • Enabling assumptions • Reading off the label of the goal node. • Optimizations • Interleave assumption-making with building the dependency network • Use multiple goal nodes to decompose search space See textbook, example p.437
Applications of ATMS In class, we shall discuss the following two applications of the ATMS: • Model-based diagnosis. Diagnosis in general is intended to identify the cause (or causes) of a system failure, which is signaled by one or more failure symptoms. The traditional approach to diagnosis is the rule-based approach, where rules describe the relationship between symptoms and the underlying causes. The major problem with this easy-to-implement approach is that the actual cause for the failure may not be explicitly represented into the KB, in which case the system will either fail to reach a conclusion or will reach a wrong conclusion instead. Model-based diagnosis provides an alternative, much more comprehensive approach to building diagnostic systems. (Notes to be distributed in class.) • Constraint satisfaction. Given a finite sets of variables, possible values of those variables and a set of constraints on those variables, the constraint satisfaction problem (CSP) consists in defining substitutions for variables from corresponding sets of values, so that all of the constraints are satisfied. The traditional solution to this problem relies on generate-and-test search and chronological backtracking. Because of the complexity of this type of search, this solution is good only for small problems. The ATMS approach to the CSP allow the PS to keep track of already evaluated constraints, thus improving the efficiency of the search. (Notes to be distributed in class.)