# TMS and ATMS TMS and ATMS Philippe Dague and Yuhong YAN NRC-IIT [email protected] [email protected] 1 TMS and ATMS TMS: Truth Maintain System ATMS: Assumption Truth Maintain System Why needs TMS: Improve efficiency of reasoning system Conventional TMS:

Justification-based Logic-based 2 ATMS and diagnosis engine Justifications Problem Solver TMS Beliefs P(a) x P(x)->Q(x) P(s), x ,P(x)->Q(x) =>Q(a) Q(a) From Johan de Kleer, An Assumption-based TMS, Artificial Intelligence 28(1986) p141

3 Why TMS Holding trace of the information Management of the reasoning contexts. beginning from which Dependencies to get the conclusions hypothetical reasoning (assumptions) search between (alternative) contexts Caching inferences to avoid to repeat more times

some steps than reasoning remember which roads they have carried to successes or failures in the reasoning process. manager search space like gragh and not like tree 4 Chronological Backtracking X=0 X=1 Y=0 Y=1 Y=0 ! Z=0 Y=1

! Z=1 ? Z=0 * Z=1 Z=0 ? Z=1 Z=0 Z=1 * (1)X{0,1}, (2) a = e1(X)

Rediscovering contradictions (!) (3)Y{0,1}, (4) b = e2(Y) Rediscovering inferences (?) (5)Z{0,1}, (6) c = e3(Z) Incorrect ordering (7) b c, (8) a b 5 Limitation of TMS Single state TMS keeps consistent under single context

6 Ideas of ATMS Justifications Problem Solver TMS Beliefs P(a) x P(x)->Q(x) P(s), x ,P(x)->Q(x) =>Q(a) Q(a) It executes the reasoning steps and it passes to the TMS its assumptions and the justification of its conclusions (incrementally)

Holds trace of the dependencies between assumptions and conclusions and of the inconsistence It can interrogate the TMS 7 Terminology for TMS/ATMS Nodes:objects on which the problem solver works, e.g. data, rules, assumption Justification: describes how a node is derivable from other nodes Consequent: the node being justified Antecedents: a list of nodes which imply the

consequent E.g. x1,x2,=>n, logically it is implication: X1,x2,->n 8 Terminology for ATMS Environment: a set of assumptions A node n is said to hold in environment E if n can be derived from E and a set of justification J: E,J |- n An environment is inconsistent if false () is derivable: E,J |-

No-good: inconsistent environment (the assumption set which causes the contradiction) (stored separately) Context: the environment and all nodes derivable from the environment 9 Label Label: a set L of environments E associated with a node n Four properties Consistency: each environment E is consistent Soundness: E, J |- n, or J|- E->n

Completeness: E (J|- E->n)->(E, EE) Minimality: E1, E2, (E1E2) 10 Data Structure in ATMS Structure of a node: datum: A premise holds universally: An assumption is a node whose label contains only itself: 11

Data Structure in ATMS Assumptions can be justified An assumed node: holds under an assumption and a justification of this assumption A derived node 12 Logic meaning A node: Means: (A1A2)(B1B2) ->n And: (z1z2 ) (y1 y2 ) ->n A node:

:<,{},{}> 13 Basic Operation in ATMS To keep the label of each node is consistent, sound, complete and minimal Union of all possible combinations of picking one environment from each antecedent node label Remove subsumed environments Remove inconsistent environments 14 Example x+y=1: x=1: y=0: Nogood {A,B,E} Add justification: x+y=1, x=1:=> y=0 Union: {{A,B,C},{A,B,D,E},{A,B,C,D},{B,C,D,E}} Result:

y=0 : 15 Process: When one new justification arrives Union, remove inconsistent and subsumed environment If the new label is as the old one, stop If the node is :, each environment of the label is added to a nogood database, and all inconsistent environments (itself and the supersets) are removed from every node label If the node is not , update any other influenced node (nodes whose justifications contain label changed node) 16 Example of using ATMS on

Diagnosis Before output observation M1 X A1 M2 Y

F A2 M3 Z G 17 Example of using ATMS on Diagnosis After F=10 observation M1

X A1 M2 A2 M3 F Y

G Z 18 Example of using ATMS on Diagnosis After G=12 observation M1 X

A1 M2 F Y A2 M3 Z

G

diagnoses under the observations: Step1: Obs1: {in1(X1)=1; in2(X1)=0;in(A2)=1} Step2: Obs2: Obs1{out(x2)=1} Step3: Obs3: Obs2 {out(O1)=0} 21