Fast SAT through Incremental Unit Propagation

Slides:



Advertisements
Similar presentations
Exploiting SAT solvers in unbounded model checking
Advertisements

SAT Solver CS 680 Formal Methods Jeremy Johnson. 2 Disjunctive Normal Form  A Boolean expression is a Boolean function  Any Boolean function can be.
Presented by Monissa Mohan 1.  A highly optimized BCP algorithm  Two watched literals  Fast Backtracking  Efficient Decision Heuristic  Focused on.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 121 Lecture 12 Advanced Combinational ATPG Algorithms  FAN – Multiple Backtrace (1983)  TOPS – Dominators.
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
MBD and CSP Meir Kalech Partially based on slides of Jia You and Brian Williams.
UIUC CS 497: Section EA Lecture #2 Reasoning in Artificial Intelligence Professor: Eyal Amir Spring Semester 2004.
Propositional and First Order Reasoning. Terminology Propositional variable: boolean variable (p) Literal: propositional variable or its negation p 
Methods of Proof Chapter 7, second half.. Proof methods Proof methods divide into (roughly) two kinds: Application of inference rules: Legitimate (sound)
MBD in real-world system… Self-Configuring Systems Meir Kalech Partially based on slides of Brian Williams.
Effective Propositional Reasoning CSE 473 – Autumn 2003.
IBM Labs in Haifa © 2005 IBM Corporation Adaptive Application of SAT Solving Techniques Ohad Shacham and Karen Yorav Presented by Sharon Barner.
Abstract Answer Set Solver. Todolist Print the rules of Fig 1.
Proof methods Proof methods divide into (roughly) two kinds: –Application of inference rules Legitimate (sound) generation of new sentences from old Proof.
Willis Lemasters Grant Conklin. Searching a tree recursively one branch at a time, abandoning any branch which does not satisfy the search constraints.
Presented by Ed Clarke Slides borrowed from P. Chauhan and C. Bartzis
Algorithms in Exponential Time. Outline Backtracking Local Search Randomization: Reducing to a Polynomial-Time Case Randomization: Permuting the Evaluation.
Efficient Reachability Checking using Sequential SAT G. Parthasarathy, M. K. Iyer, K.-T.Cheng, Li. C. Wang Department of ECE University of California –
Knowledge Representation II (Inference in Propositional Logic) CSE 473 Continued…
ENGG3190 Logic Synthesis “Boolean Satisfiability” Winter 2014 S. Areibi School of Engineering University of Guelph.
GRASP: A Search Algorithm for Propositional Satisfiability EE878C Homework #2 2002/11/1 KAIST, EECS ICS Lab Lee, Dongsoo.
3/19/2003copyright Brian Williams1 Propositional Logic and Satisfiability Brian C. Williams November 22 nd, 2004.
SAT Solving Presented by Avi Yadgar. The SAT Problem Given a Boolean formula, look for assignment A for such that.  A is a solution for. A partial assignment.
SAT Solver Math Foundations of Computer Science. 2 Boolean Expressions  A Boolean expression is a Boolean function  Any Boolean function can be written.
SAT and SMT solvers Ayrat Khalimov (based on Georg Hofferek‘s slides) AKDV 2014.
MBSat Satisfiability Program and Heuristics Brief Overview VLSI Testing B Marc Boulé April 2001 McGill University Electrical and Computer Engineering.
3/11/2002copyright Brian Williams1 Propositional Logic and Satisfiability Brian C. Williams /6.834 October 7 th, 2002.
Solvers for the Problem of Boolean Satisfiability (SAT) Will Klieber Aug 31, 2011 TexPoint fonts used in EMF. Read the TexPoint manual before you.
Motivation & Goal SAT and Constraint Processing (CP) are fundamental areas of Computer Science that address the same computational questions. Compare SAT.
Planning as Propositional Satisfiabililty Brian C. Williams Oct. 30 th, J/6.834J GSAT, Graphplan and WalkSAT Based on slides from Bart Selman.
Explorations in Artificial Intelligence Prof. Carla P. Gomes Module Logic Representations.
Advanced Algorithm Design and Analysis (Lecture 14) SW5 fall 2004 Simonas Šaltenis E1-215b
On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda Rolf Drechsler Alex Orailoglu Computer Science & Engineering Dept. University.
Solving Non-linear Arithmetic Dejan Jovanovic and Leonadro de Moura Presented by Boris Trayvas.
First-Order Logic and Inductive Logic Programming.
1 The Wumpus Game StenchBreeze Stench Gold Breeze StenchBreeze Start  Breeze.
Finding Models for Blocked 3-SAT Problems in Linear Time by Systematical Refinement of a Sub- Model Gábor Kusper Eszterházy Károly.
Nikolaj Bjørner Microsoft Research DTU Winter course January 2 nd 2012 Organized by Flemming Nielson & Hanne Riis Nielson.
SAT-Based Model Checking Without Unrolling Aaron R. Bradley.
1 Propositional Logic Limits The expressive power of propositional logic is limited. The assumption is that everything can be expressed by simple facts.
Satisfiability and SAT Solvers CS 270 Math Foundations of CS Jeremy Johnson.
9/18/2000copyright Brian Williams1 Propositional Logic Brian C. Williams J/6.834J October 10, 2001.
Logical Agents Chapter 7. Outline Knowledge-based agents Propositional (Boolean) logic Equivalence, validity, satisfiability Inference rules and theorem.
Knowledge Repn. & Reasoning Lecture #9: Propositional Logic UIUC CS 498: Section EA Professor: Eyal Amir Fall Semester 2005.
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
Daniel Kroening and Ofer Strichman 1 Decision Procedures in First Order Logic Decision Procedures for Equality Logic.
Satisfiability Modulo Theories and DPLL(T) Andrew Reynolds March 18, 2015.
CS137: Electronic Design Automation
Inference in Propositional Logic (and Intro to SAT)
Monitoring Dynamical Systems: Combining Hidden Markov Models and Logic
Inference and search for the propositional satisfiability problem
Reading B. Williams and P. Nayak, “A Reactive Planner for a Model-based Executive,” International Joint Conference on Artificial Intelligence, 1997.
Gábor Kusper University of Linz RISC Austria
Model-based Diagnosis: The Single Fault Case
EA C461 – Artificial Intelligence Logical Agent
Exercises: First Order Logics (FOL)
First-Order Logic and Inductive Logic Programming
Introduction to Software Verification
Definitions D-Algorithm (Roth) D-cubes Bridging faults
Definitions D-Algorithm (Roth) D-cubes Bridging faults
Simple Circuit-Based SAT Solver
Logics for Data and Knowledge Representation
ECE 667 Synthesis and Verification of Digital Circuits
Logics for Data and Knowledge Representation
Artificial Intelligence: Agents and Propositional Logic.
Decision Procedures An Algorithmic Point of View
Model-based Diagnosis
Artificial Intelligence
Methods of Proof Chapter 7, second half.
Davis-Putnam Methods Computational Logic Lecture 5
Presentation transcript:

Fast SAT through Incremental Unit Propagation Truth Maintenance and the ITMS Brian C. Williams Oct. 30th, 2002 16.412J/6.834J 9/20/2000 copyright Brian Williams

copyright Brian Williams Outline Motivation: Fast Mode Estimation and Reconfiguration Review of unit propagation Incremental unit propagation as truth maintenance 9/20/2000 copyright Brian Williams

Reconfiguring for a Failed Engine Oxidizer tank Fuel tank Open four valves Valve fails stuck closed Fire backup engine 9/20/2000 copyright Brian Williams

Diagnosis and Reconfiguration Performance on Cassini Number of components: 80 Number of clauses: 11,101 9/20/2000 copyright Brian Williams

copyright Brian Williams Outline Motivation: Fast Mode Estimation and Reconfiguration Review of unit propagation Incremental unit propagation as truth maintenance 9/20/2000 copyright Brian Williams

Unit Propagation Examples C1: Not A or B C2: Not C or A C3: Not B or C C4: A A True B True C True C4 C1 C3 9/20/2000 copyright Brian Williams

Unit Propagation Examples C1: Not A or B C2: Not C or A C3: Not B or C C4: A C4’: Not B A True B True C True C4 C1 C3 C4’ A False B False C False C2 C1 9/20/2000 copyright Brian Williams

copyright Brian Williams Unit Propagation true false t r q C2: ¬ p ¬ t C1 : ¬r  q p p procedure propagate(C) // C is a clause if all literals in C are false except l, and l is unassigned then assign true to l and record C as a support for l and for each clause C’ mentioning “not l”, propagate(C’) end propagate 9/20/2000 copyright Brian Williams

copyright Brian Williams Unit Propagation true false t r q C2: ¬ p ¬ t true C1 : ¬r  q p p procedure propagate(C) // C is a clause if all literals in C are false except l, and l is unassigned then assign true to l and record C as a support for l and for each clause C’ mentioning “not l”, propagate(C’) end propagate 9/20/2000 copyright Brian Williams

copyright Brian Williams Unit Propagation true false t r q C2: ¬ p ¬ t true C1 : ¬r  q p p procedure propagate(C) // C is a clause if all literals in C are false except l, and l is unassigned then assign true to l and record C as a support for l and for each clause C’ mentioning “not l”, propagate(C’) end propagate 9/20/2000 copyright Brian Williams

copyright Brian Williams Unit Propagation true false t r q C2: ¬ p ¬ t true C1 : ¬r  q p p procedure propagate(C) // C is a clause if all literals in C are false except l, and l is unassigned then assign true to l and record C as a support for l and for each clause C’ mentioning “not l”, propagate(C’) end propagate 9/20/2000 copyright Brian Williams

copyright Brian Williams Unit Propagation true false false t r q C2: ¬ p ¬ t true C1 : ¬r  q p p procedure propagate(C) // C is a clause if all literals in C are false except l, and l is unassigned then assign true to l and record C as a support for l and for each clause C’ mentioning “not l”, propagate(C’) end propagate 9/20/2000 copyright Brian Williams

copyright Brian Williams DPLL Example Example: C1: Not A or B C2: Not C or A C3: Not B or C A Propagate: C = F B = F A = F Propagate: B = T C = T A = T F T 9/20/2000 copyright Brian Williams

DPLL Procedure [Davis, Putnam Logmann, Loveland, 1962] DPLL(phi,A) Input: A cnf theory phi, an assignment A to propositions in phi Output: A decision of whether phi is satisfiable. 1. propagate(phi); 2. If a clause is violated return(false); 3. Else if all propositions are assigned return(true); 4. Else Q = some unassigned proposition in phi; 6. Return (DPLL(phi, A[Q = True]) or 7. DPLL(phi, A[Q = False]) 9/20/2000 copyright Brian Williams

copyright Brian Williams Outline Motivation: Fast Mode Estimation and Reconfiguration Review of unit propagation Incremental unit propagation as truth maintenance LTMS ITMS 9/20/2000 copyright Brian Williams

copyright Brian Williams Satisfiability with Incremental Unit Propagation (aka Truth Maintenance) When adding an assignment incrementally introduce additional unit propagations (already done for DPLL) When removing an assignment (backtracking), only remove propagations of that assignment. 9/20/2000 copyright Brian Williams

Propagating Incrementally: Adding Clause C1 true false false t r q C2: ¬ p ¬ t true C1 : ¬r  q p p procedure propagate(C) // C is a clause if all literals in C are false except l, and l is unassigned then assign true to l and record C as a support for l and for each clause C’ mentioning “not l”, propagate(C’) end propagate 9/20/2000 copyright Brian Williams

Undoing Propagation Incrementally: Deleting Clause D q true s C: ¬ p ¬ t D: ¬r q p p A: ¬ s ¬ p procedure unsupport(D) // D is a clause if D supports some proposition p then delete p’s support and truth assignment; for each support C containing p // Delete consequences unsupport(C); for each clause A containing p // Resupport p then propagate(A); end unsupport 9/20/2000 copyright Brian Williams

Undoing Propagation Incrementally: Deleting Clause D q true s C: ¬ p ¬ t D: ¬r q p p A: ¬ s ¬ p procedure unsupport(D) // D is a clause if D supports some proposition p then delete p’s support and truth assignment; for each support C containing p // Delete consequences unsupport(C); for each clause A containing p // Resupport p then propagate(A); end unsupport 9/20/2000 copyright Brian Williams

Undoing Propagation Incrementally: Deleting Clause D q s C: ¬ p ¬ t D: ¬r q p p A: ¬ s ¬ p procedure unsupport(D) // D is a clause if D supports some proposition p then delete p’s support and truth assignment; for each support C containing p // Delete consequences unsupport(C); for each clause A containing p // Resupport p then propagate(A); end unsupport 9/20/2000 copyright Brian Williams

Undoing Propagation Incrementally: Deleting Clause D q s C: ¬ p ¬ t D: ¬r q p p A: ¬ s ¬ p procedure unsupport(D) // D is a clause if D supports some proposition p then delete p’s support and truth assignment; for each support C containing p // Delete consequences unsupport(C); for each clause A containing p // Resupport p then propagate(A); end unsupport 9/20/2000 copyright Brian Williams

Undoing Propagation Incrementally: Deleting Clause D q s C: ¬ p ¬ t D: ¬r q p p A: ¬ s ¬ p procedure unsupport(D) // D is a clause if D supports some proposition p then delete p’s support and truth assignment; for each support C containing p // Delete consequences unsupport(C); for each clause A containing p // Resupport p then propagate(A); end unsupport 9/20/2000 copyright Brian Williams

Undoing Propagation Incrementally: Deleting Clause D q s C: ¬ p ¬ t D: ¬r q p p A: ¬ s ¬ p procedure unsupport(D) // D is a clause if D supports some proposition p then delete p’s support and truth assignment; for each support C containing p // Delete consequences unsupport(C); for each clause A containing p // Resupport p then propagate(A); end unsupport 9/20/2000 copyright Brian Williams

Undoing Propagation Incrementally: Deleting Clause D q true s C: ¬ p ¬ t D: ¬r q p p A: ¬ s ¬ p procedure unsupport(D) // D is a clause if D supports some proposition p then delete p’s support and truth assignment; for each support C containing p // Delete consequences unsupport(C); for each clause A containing p // Resupport p then propagate(A); end unsupport 9/20/2000 copyright Brian Williams

copyright Brian Williams Cassini Performance Number of components: 80 Number of clauses: 11101 no TMS TMS 9/20/2000 copyright Brian Williams

Unit Propagation in Real-Time: LTMS Significant, unnecessary re-labeling during each switch Outliers dominate ability to react. 9/20/2000 copyright Brian Williams

Unit Propagation in Real-Time: LTMS Significant, unnecessary re-labeling during each switch Outliers dominate ability to react. 9/20/2000 copyright Brian Williams

Example: DS-1 Bus Communication PDE SRU PDU GDE PASM DSEU PEPE Commands BC 1553 bus Flight Computer Data Clauses that describe the bus controller (bc): C1: ¬ nci ¬ a  nco C2: ¬ ia  nco C3: ¬ ok  a C4: ¬ rf ia C5: ¬ uf  ia C6: ¬ ok ¬ rf C7: ¬ ok ¬ uf C8: ¬ rf  ¬ uf C9: ¬ a ¬ ia BC health: ok, rf, uf No input cmd: nci BC activity: a, ia No output cmd: nco 9/20/2000 copyright Brian Williams

LTMS’ Conservative Re-Support Strategy Delete C10 then add C11 C7: ¬ ok ¬ pf nci C1: ¬ nci ¬ a  nco pf a C10: ok C3: ¬ ok  a C9: ¬ a ¬ ia ok ia nco Performing Unit Propagation Also show one step example C8: ¬ rf  ¬ pf C6: ¬ ok ¬ rf rf ~ 300 C4: ¬ rf ia C2: ¬ ia  nco 9/20/2000 copyright Brian Williams Support has ~ 300 consequences

LTMS’ Conservative Re-Support Strategy Delete C10 then add C11 C7: ¬ ok ¬ pf nci C1: ¬ nci ¬ a  nco pf a C3: ¬ ok  a C9: ¬ a ¬ ia ok ia nco Performing Unit Propagation Also show one step example C8: ¬ rf  ¬ pf C6: ¬ ok ¬ rf rf ~ 300 C4: ¬ rf ia C2: ¬ ia  nco 9/20/2000 copyright Brian Williams Trace support and delete ~ 300 consequences

LTMS’ Conservative Re-Support Strategy Delete C10 then add C11 C7: ¬ ok ¬ pf nci C1: ¬ nci ¬ a  nco pf a C3: ¬ ok  a C9: ¬ a ¬ ia ok ia nco Performing Unit Propagation Also show one step example C8: ¬ rf  ¬ pf C6: ¬ ok ¬ rf rf ~ 300 C4: ¬ rf ia C2: ¬ ia  nco 9/20/2000 copyright Brian Williams Trace support and delete ~ 300 consequences

LTMS’ Conservative Re-Support Strategy Delete C10 then add C11 C7: ¬ ok ¬ pf nci C1: ¬ nci ¬ a  nco pf a C3: ¬ ok  a C9: ¬ a ¬ ia ok ia nco Performing Unit Propagation Also show one step example C8: ¬ rf  ¬ pf C6: ¬ ok ¬ rf rf ~ 300 C4: ¬ rf ia C2: ¬ ia  nco 9/20/2000 copyright Brian Williams Trace support and delete ~ 300 consequences

LTMS’ Conservative Re-Support Strategy Delete C10 then add C11 C7: ¬ ok ¬ pf nci C1: ¬ nci ¬ a  nco pf a C3: ¬ ok  a C9: ¬ a ¬ ia ok ia nco Performing Unit Propagation Also show one step example C8: ¬ rf  ¬ pf C6: ¬ ok ¬ rf rf ~ 300 C4: ¬ rf ia C2: ¬ ia  nco 9/20/2000 copyright Brian Williams Trace support and delete ~ 300 consequences

LTMS’ Conservative Re-Support Strategy Delete C10 then add C11 C7: ¬ ok ¬ pf nci C1: ¬ nci ¬ a  nco pf a C3: ¬ ok  a C9: ¬ a ¬ ia ok ia nco Performing Unit Propagation Also show one step example C8: ¬ rf  ¬ pf C6: ¬ ok ¬ rf rf C4: ¬ rf ia C2: ¬ ia  nco 9/20/2000 copyright Brian Williams Trace support and delete ~ 300 consequences

LTMS’ Conservative Re-Support Strategy Delete C10 then add C11 C7: ¬ ok ¬ pf nci C1: ¬ nci ¬ a  nco pf a C3: ¬ ok  a C9: ¬ a ¬ ia ok ia nco Problem 2: Blocking by logical inconsistency Solution *** C8: ¬ rf  ¬ pf C6: ¬ ok ¬ rf rf C4: ¬ rf ia C2: ¬ ia  nco C11: rf 9/20/2000 copyright Brian Williams Add C11 and propagate consequences, ...

LTMS’ Conservative Re-Support Strategy Delete C10 then add C11 C7: ¬ ok ¬ pf nci C1: ¬ nci ¬ a  nco pf a C3: ¬ ok  a C9: ¬ a ¬ ia ok ia nco Problem 2: Blocking by logical inconsistency Solution *** C8: ¬ rf  ¬ pf C6: ¬ ok ¬ rf rf C4: ¬ rf ia C2: ¬ ia  nco C11: rf 9/20/2000 copyright Brian Williams Add C11 and propagate consequences, ...

LTMS’ Conservative Re-Support Strategy Delete C10 then add C11 C7: ¬ ok ¬ pf nci C1: ¬ nci ¬ a  nco pf a C3: ¬ ok  a C9: ¬ a ¬ ia ok ia nco Problem 2: Blocking by logical inconsistency Solution *** C8: ¬ rf  ¬ pf C6: ¬ ok ¬ rf rf C4: ¬ rf ia C2: ¬ ia  nco C11: rf 9/20/2000 copyright Brian Williams Add C11 and propagate consequences, ...

LTMS’ Conservative Re-Support Strategy Delete C10 then add C11 C7: ¬ ok ¬ pf nci C1: ¬ nci ¬ a  nco pf a C3: ¬ ok  a C9: ¬ a ¬ ia ok ia nco Problem 2: Blocking by logical inconsistency Solution *** C8: ¬ rf  ¬ pf C6: ¬ ok ¬ rf Resup ~300 rf C4: ¬ rf ia C2: ¬ ia  nco C11: rf 9/20/2000 copyright Brian Williams Add C11 and propagate consequences, ~300 unchanged.

copyright Brian Williams Outline Motivation: Fast Mode Estimation and Reconfiguration Review of unit propagation Incremental unit propagation as truth maintenance LTMS ITMS – a repair-based approach 9/20/2000 copyright Brian Williams

ITMS: Re-Support via Local Cycle Detection To Avoid Cycles, Avoid Back Edges Number literals by depth of support. Back edges point to lower numbers. 4 C1: ¬ nci ¬ a  nco nci a 2 C3: ¬ ok  a C10: ok Performing Unit Propagation Also show one step example 5 ok 1 ia 3 nco 2 Sup ~300 rf 9/20/2000 C11: rf copyright Brian Williams C4: ¬ rf ia C2: ¬ ia  nco

ITMS: Re-Support via Local Cycle Detection Number literals by depth of support. Back edges point to lower numbers. 4 C1: ¬ nci ¬ a  nco nci a 2 C3: ¬ ok  a C10: ok Performing Unit Propagation Also show one step example 5 ok 1 ia 3 nco 2 Sup ~300 rf 9/20/2000 C11: rf copyright Brian Williams C4: ¬ rf ia C2: ¬ ia  nco

copyright Brian Williams Add Before Delete nci C1: ¬ nci ¬ a  nco a C10: ok C3: ¬ ok  a C9: ¬ a ¬ ia Performing Unit Propagation Also show one step example ok ia nco C6: ¬ ok ¬ rf ~300 literals rf 9/20/2000 C11: rf copyright Brian Williams C4: ¬ rf ia C2: ¬ ia  nco

Add Before Delete -> Propagation blocked nci C1: ¬ nci ¬ a  nco a C10: ok C3: ¬ ok  a C9: ¬ a ¬ ia Performing Unit Propagation Also show one step example ok ia nco C6: ¬ ok ¬ rf ~300 literals rf 9/20/2000 C11: rf copyright Brian Williams C4: ¬ rf ia C2: ¬ ia  nco

Idea: Roll back Consequences of C10 Just Enough to Let C11 Through nci C1: ¬ nci ¬ a  nco a C10: ok C3: ¬ ok  a C9: ¬ a ¬ ia ok ia nco Performing Unit Propagation Also show one step example C6: ¬ ok ¬ rf ~300 literals rf C4: ¬ rf ia C2: ¬ ia  nco C11: rf 9/20/2000 copyright Brian Williams

Idea: Roll back Consequences of C10 Just Enough to Let C11 Through nci C1: ¬ nci ¬ a  nco a C10: ok C3: ¬ ok  a C9: ¬ a ¬ ia ok ia nco Performing Unit Propagation Also show one step example C6: ¬ ok ¬ rf ~300 literals rf C4: ¬ rf ia C2: ¬ ia  nco C11: rf 9/20/2000 copyright Brian Williams

Idea: Roll back Consequences of C10 Just Enough to Let C11 Through nci C1: ¬ nci ¬ a  nco a C10: ok C3: ¬ ok  a C9: ¬ a ¬ ia ok ia nco Performing Unit Propagation Also show one step example C6: ¬ ok ¬ rf ~300 literals rf C4: ¬ rf ia C2: ¬ ia  nco C11: rf 9/20/2000 copyright Brian Williams

ITMS: Roll Back by Repairing Conflicts Flip rf in conflict C11 C7: ¬ ok ¬ pf nci C1: ¬ nci ¬ a  nco 4 pf 2 a 2 C10: ok C3: ¬ ok  a C9: ¬ a ¬ ia ok 1 ia 5 nco 3 C8: ¬ rf  ¬ pf C6: ¬ ok ¬ rf rf C11: rf C2: ¬ ia  nco 2 C4: ¬ rf ia 9/20/2000 copyright Brian Williams

ITMS: Roll Back by Repairing Conflicts Flip ia in conflict C4 C7: ¬ ok ¬ pf nci C1: ¬ nci ¬ a  nco 4 pf 2 a 2 C10: ok C3: ¬ ok  a C9: ¬ a ¬ ia ok 1 ia 5 nco 3 C8: ¬ rf  ¬ pf C6: ¬ ok ¬ rf rf C11: rf C2: ¬ ia  nco 1 C4: ¬ rf ia 9/20/2000 copyright Brian Williams

ITMS: Roll Back by Repairing Conflicts Ready to resupport nco Flip ok in conflict C6 C7: ¬ ok ¬ pf nci C1: ¬ nci ¬ a  nco 4 pf 2 a 2 C10: ok C3: ¬ ok  a C9: ¬ a ¬ ia ok 1 ia 5 nco 2 C8: ¬ rf  ¬ pf C6: ¬ ok ¬ rf rf C11: rf C2: ¬ ia  nco 1 C4: ¬ rf ia 9/20/2000 copyright Brian Williams

ITMS: Roll Back by Repairing Conflicts Remove consequences of ok trying local resupport C7: ¬ ok ¬ pf nci C1: ¬ nci ¬ a  nco 4 pf 2 a 2 C10: ok C3: ¬ ok  a C9: ¬ a ¬ ia ok 1 ia 5 nco 2 C8: ¬ rf  ¬ pf C6: ¬ ok ¬ rf rf C11: rf C2: ¬ ia  nco 1 C4: ¬ rf ia 9/20/2000 copyright Brian Williams

ITMS: Roll Back by Repairing Conflicts Propagate consequences of ok C7: ¬ ok ¬ pf nci C1: ¬ nci ¬ a  nco 4 pf a C10: ok C3: ¬ ok  a C9: ¬ a ¬ ia ok 1 ia 5 nco 2 C8: ¬ rf  ¬ pf C6: ¬ ok ¬ rf rf C11: rf C2: ¬ ia  nco 1 C4: ¬ rf ia 9/20/2000 copyright Brian Williams

ITMS: Roll Back by Repairing Conflicts Finally delete C10 C7: ¬ ok ¬ pf nci C1: ¬ nci ¬ a  nco 4 pf 2 a 2 C10: ok C3: ¬ ok  a C9: ¬ a ¬ ia ok 1 ia 5 nco 2 C8: ¬ rf  ¬ pf C6: ¬ ok ¬ rf rf C11: rf C2: ¬ ia  nco 2 C4: ¬ rf ia 9/20/2000 copyright Brian Williams

ITMS significantly decreases extra label changes 9/20/2000 copyright Brian Williams

Comparing the ITMS to the LTMS 9/20/2000 copyright Brian Williams