Malfunction Diagnosis

Slides:



Advertisements
Similar presentations
Lecture 19: Parallel Algorithms
Advertisements

CS4231 Parallel and Distributed Algorithms AY 2006/2007 Semester 2 Lecture 6 Instructor: Haifeng YU.
Apr. 2007SatisfiabilitySlide 1 Satisfiability A Lecture in CE Freshman Seminar Series: Ten Puzzling Problems in Computer Engineering.
HandoutLecture 10Malfunction Diagnosis Finding an Impostor There are three people of a certain profession (say, medical doctors) in a room, but one of.
May 2015Binary SearchSlide 1 Binary Search A Lecture in CE Freshman Seminar Series: Ten Puzzling Problems in Computer Engineering.
Nov Malfunction Diagnosis and Tolerance Slide 1 Fault-Tolerant Computing Dealing with Mid-Level Impairments.
HandoutJune 2007Malfunction Diagnosis A Lecture in CE Freshman Seminar Series: Ten Puzzling Problems in Computer Engineering.
May 2007Task SchedulingSlide 1 Task Scheduling A Lecture in CE Freshman Seminar Series: Ten Puzzling Problems in Computer Engineering.
Apr. 2015SatisfiabilitySlide 1 Satisfiability A Lecture in CE Freshman Seminar Series: Ten Puzzling Problems in Computer Engineering.
June 2007Malfunction DiagnosisSlide 1 Malfunction Diagnosis A Lecture in CE Freshman Seminar Series: Ten Puzzling Problems in Computer Engineering.
Apr. 2007Placement and RoutingSlide 1 Placement and Routing A Lecture in CE Freshman Seminar Series: Ten Puzzling Problems in Computer Engineering.
1 Lecture 25: Parallel Algorithms II Topics: matrix, graph, and sort algorithms Tuesday presentations:  Each group: 10 minutes  Describe the problem,
27 August EEE442 COMPUTER NETWORKS Test results & analysis.
Apr. 2007Easy, Hard, Impossible!Slide 1 Easy, Hard, Impossible! A Lecture in CE Freshman Seminar Series: Ten Puzzling Problems in Computer Engineering.
May 2007Binary SearchSlide 1 Binary Search A Lecture in CE Freshman Seminar Series: Ten Puzzling Problems in Computer Engineering.
May 2012Malfunction DiagnosisSlide 1 Malfunction Diagnosis A Lecture in CE Freshman Seminar Series: Ten Puzzling Problems in Computer Engineering.
Nov Malfunction Diagnosis and ToleranceSlide 1 Fault-Tolerant Computing Dealing with Mid-Level Impairments.
CMP 131 Introduction to Computer Programming Violetta Cavalli-Sforza Week 3, Lecture 1.
May 2015Sorting NetworksSlide 1 Sorting Networks A Lecture in CE Freshman Seminar Series: Ten Puzzling Problems in Computer Engineering.
Proof of correctness of Dijkstra’s algorithm: Basically, we need to prove two claims. (1)Let S be the set of vertices for which the shortest path from.
May 2007Sorting NetworksSlide 1 Sorting Networks A Lecture in CE Freshman Seminar Series: Ten Puzzling Problems in Computer Engineering.
Chemistry – Aug 25, 2016 P3 Challenge – Do Now (on slips of paper today) ACT Practice papers for “ACT Friday” REAL ACT questions for two passages. It will.
Hamiltonian Graphs Graphs Hubert Chan (Chapter 9.5)
The NP class. NP-completeness
ALGORITHMS AND FLOWCHARTS
IOI/ACM ICPC Training 4 June 2005.
Static and Dynamic Fault Diagnosis
Transition Graphs.
EECS 203 Lecture 19 Graphs.
Copyright © Zeph Grunschlag,
Bipartite Matching Lecture 8: Oct 7.
Problem Solving and Critical Thinking
Hamiltonian Graphs Graphs Hubert Chan (Chapter 9.5)
Copyright © Zeph Grunschlag,
Lecture 2 Introduction to Programming
Algorithm Design and Analysis
Recommender Systems A Lecture in the Freshman Seminar Series:
CHAPTER 3 - THE SCIENTIFIC PROCESS
Lecture 22: Parallel Algorithms
3D Models from 2D Images A Lecture in the Freshman Seminar Series:
Satisfiability A Lecture in CE Freshman Seminar Series:
Chi-Square Goodness of Fit
Distributed Consensus
Recommender Systems A Lecture in the Freshman Seminar Series:
MATS Quantitative Methods Dr Huw Owens
3.5 Minimum Cuts in Undirected Graphs
This Lecture Substitution model
Lectures on Graph Algorithms: searching, testing and sorting
Depth-First Search Graph Traversals Depth-First Search DFS.
Lecture 2: Probability.
Introduction to Artificial Intelligence Lecture 9: Two-Player Games I
Unit 1 Day 8 Inverse Functions
Exercises for Chapter 11: TIME AND GLOBAL STATES
Boolean Expressions to Make Comparisons
Placement and Routing A Lecture in CE Freshman Seminar Series:
Sorting Networks A Lecture in CE Freshman Seminar Series:
CSE 373: Data Structures and Algorithms
3D Models from 2D Images A Lecture in the Freshman Seminar Series:
Easy, Hard, Impossible! A Lecture in CE Freshman Seminar Series:
Relations And Functions.
Byzantine Generals A Lecture in CE Freshman Seminar Series:
CPSC 121: Models of Computation
Binary Search A Lecture in CE Freshman Seminar Series:
This Lecture Substitution model
CPSC 121: Models of Computation
CSE 373: Data Structures and Algorithms
CSE 486/586 Distributed Systems Global States
Implementation of Learning Systems
Announcements Assignment 7 due now or tommorrow Assignment 8 posted
Presentation transcript:

Malfunction Diagnosis A Lecture in CE Freshman Seminar Series: Ten Puzzling Problems in Computer Engineering May 2016 Malfunction Diagnosis

About This Presentation This presentation belongs to the lecture series entitled “Ten Puzzling Problems in Computer Engineering,” devised for a ten-week, one-unit, freshman seminar course by Behrooz Parhami, Professor of Computer Engineering at University of California, Santa Barbara. The material can be used freely in teaching and other educational settings. Unauthorized uses, including any use for financial gain, are prohibited. © Behrooz Parhami Edition Released Revised First June 2007 May 2008 May 2009 May 2010 May 2012 May 2016 May 2016 Malfunction Diagnosis

Malfunction Diagnosis May 2016 Malfunction Diagnosis

Malfunction Diagnosis Finding an Impostor There are three people of a certain profession (say, medical doctors) in a room, but one of them may be an impostor. Each person asks the other two a question that can determine whether the person is real. The six yes (pass) / no (fail) opinions are presented to a judge who must decide whether an impostor is present and, if so, who it is. How would the judge go about deciding? Somewhat similar to the fake coin puzzle 1 2 3 A real person always arrives at the correct judgment about another one, but an imposter may render an incorrect judgment -- N Y N -- N Y N -- 1 2 3 Person assessed 1 2 3 A s e o r Assessment matrix A Assessment matrix B -- N Y Y -- N Y N -- 1 2 3 Person assessed 1 2 3 A s e o r May 2016 Malfunction Diagnosis

Impostors Around a Dinner Table At a round dinner table, n people of a certain profession (say, computer engineers) try to determine if there are impostors among them. Each asks the person to his or her right a question and renders a judgment. Assumptions are identical to the previous puzzle. How many impostors can be correctly identified? Y No impostor Y N ? One impostor Y ? N Two impostors Repeat the puzzle above, but this time assume that each person asks a question of his/her neighbor on both sides ? Y Y N Y ? Y N Y N Y Y N Y N ? ? Y N May 2016 Malfunction Diagnosis

Analysis for a Given Set of Outcomes In each of the cases shown below, determine the smallest possible number of impostors that would be consistent with the shown outcome G B B N Y Y N Y N G G B B G What is the largest possible number of non-impostors? All Ns good All Ys bad: Is 4 smallest possible? ??? Second puzzle: If we place a G, its two neighbors must be marked B. So, max number of Gs (and min number of Bs) is 4. Generalize to ring of arbitrary size, even or odd Generalize to ring of arbitrary even size May 2016 Malfunction Diagnosis

Finding Impostors with Limited Questioning At a party, 10 people of a certain group (say, science-fiction writers) try to determine if there are impostors among them. Each person is asked a question by 2 different people and there are at most 3 impostors. Can the impostors be always correctly identified from the outcomes of the 20 questions? Solve the puzzle in the following two cases: Case 1: It is possible for persons A and B to ask each other questions Another reason Can’t be done. Ten people around a dinner table is a special case of this, because each person is questioned by his/her two neighbors. In that case, we determined that no more than 2 impostors can be identified Case 2: If A asks B a question, then B will not ask A a question Can’t be done. If you switch the reals and impostors in the 6-person cluster, exactly the same syndrome may be observed May 2016 Malfunction Diagnosis

Malfunction Diagnosis Model Layered approach to self-diagnosis A small core part of a unit is tested Trusted core tests the next layer of subsystems Sphere of trust is gradually extended Core Diagnosis of one unit by another The tester sends a self-diagnosis request, expecting a response The unit under test eventually sends some results to the tester The tester interprets the results received and issues a verdict i Tester j Testee Test capability I think j is good (passed test) i Tester j Testee Test capability I think j is bad (failed test} 1 Testing capabilities among units is represented by a directed graph The verdict of unit i about unit j is denoted by Dij  {0, 1} All the diagnosis verdicts constitute the n  n diagnosis matrix D   May 2016 Malfunction Diagnosis

One-Step Diagnosability Example Consider this system, with the test outcomes shown Malfunction syndromes (x means 0 or 1) Malfn D01 D12 D13 D20 D30 D32 None 0 0 0 0 0 0 M0 x 0 0 1 1 0 M1 1 x x 0 0 0 M2 0 1 0 x 0 1 M3 0 0 1 0 x x M0,M1 x x x 1 1 0 M1,M2 1 x x x 0 1 Syndrome dictionary: 0 0 0 0 0 0 OK 0 0 0 1 1 0 M0 0 0 1 0 0 0 M3 0 0 1 0 0 1 M3 0 0 1 0 1 0 M3 0 0 1 0 1 1 M3 0 1 0 0 0 1 M2 0 1 0 1 0 1 M2 1 0 0 0 0 0 M1 1 0 0 1 1 0 M0 1 0 1 0 0 0 M1 1 1 0 0 0 0 M1 1 1 1 0 0 0 M1 The system above is 1-step 1-diagnosable (we can correctly diagnose up to one malfunctioning unit in a single round of testing)   May 2016 Malfunction Diagnosis

Simple O(n3)-Step Diagnosis Algorithm Find a labeling of nodes (each designated G or B) that is consistent with the given test results M0 M1 M3 M2 1 Input: The diagnosis matrix Output: Every unit labeled G or B while some unit remains unlabeled repeat choose an unlabeled unit and label it G or B use labeled units to label other units if the new label leads to a contradiction then backtrack endif endwhile 1-step 1-diagnosable M0 is G (arbitrary choice) M1 is B M2 is B (contradiction, 2 Bs) M0 is B (change label) M1 is G (arbitrary choice) M2 is G M3 is G Kameda, Toida, and Allen, 1975 -- D01 -- -- -- -- D12 D13 D20 -- -- -- D30 -- D32 -- More efficient algorithms exist   May 2016 Malfunction Diagnosis

Analysis versus Synthesis Problems Analysis problem 1 Given an n-node directed graph defining the test links, find the extent of diagnosability (t) Analysis problem 2 Given an n-node directed graph and its n  n diagnosis matrix, identify the malfunctioning units M0 M1 M3 M2 D01 D12 D30 D23 D20 D13 -- D01 -- -- -- -- D12 D13 D20 -- -- -- D30 -- D32 -- Synthesis problem 1 Given an n-node (un)directed graph defining a system and potential test links, identify a minimal number of test links to make the system t-diagnosable Synthesis problem 2 How should we connect the n nodes of a system for best diagnosability?   May 2016 Malfunction Diagnosis

Sequential t-Diagnosability An n-unit system is sequentially t-diagnosable if the diagnosis syndromes when there are t or fewer malfunctions are such that they always identify, unambiguously, at least one malfunctioning unit M0 M1 M4 M2 M3 D40 D01 D34 D12 This is useful because some systems that are not 1-step t-diagnosable are sequentially t-diagnosable, and they can be restored by removing the identified malfunctioning unit(s) and repeating the process D23 This system is sequentially 2-diagnosable In one step, it is only 1-diagnosable Necessary condition: n  2t + 1; i.e., a majority of units must be good Sequential diagnosability of directed rings: An n-node directed ring is sequentially t-diagnosable for any t that satisfies (t2 – 1)/4 + t + 2  n   May 2016 Malfunction Diagnosis

Sequential 2-Diagnosability Example Consider this system, with the test outcomes shown M0 M1 M4 M2 M3 D40 D01 Malfunction syndromes (x means 0 or 1) Malfn D01 D12 D23 D34 D40 M0 x 0 0 0 1 M1 1 x 0 0 0 M2 0 1 x 0 0 M3 0 0 1 x 0 M4 0 0 0 1 x M0,M1 x x 0 0 1 M0,M2 x 1 x 0 1 M0,M3 x 0 1 x 1 M0,M4 x 0 0 1 x D34 D12 D23 Syndromes for M0 bad: 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 1 0 1 0 0 1 0 1 1 0 1 1 0 0 0 1 1 0 0 1 0 1 0 0 1 1 1 0 1 0 1 1 0 1 1 1 1 1 0 0 1 1 1 1 0 1 The system above is sequentially 2-diagnosable (we can correctly diagnose up to two malfunctioning units, but only one at a time)   May 2016 Malfunction Diagnosis

A Related Puzzle: Blue-Eyed Islanders Inhabitants of an island are blue-eyed or brown-eyed, but none of them knows the color of his/her own eyes, and must commit ritual suicide the next day at noon if s/he ever finds out. [Okay, this is silly, but don’t argue with the premises, such as there not being any mirrors, etc.; just view it as an exercise in logical reasoning.] The islanders are quite proficient in logical reasoning and won’t miss a chance to deduce their eye color, should there be enough info to do so. Unaware of the islanders’ traditions, which make discussing eye colors a taboo, a visitor giving a speech on the island begins his speech thus: “It’s so good to see someone else with blue eyes on this island.” What are the consequences of this faux-pas? Hint: Begin by thinking about what would happen if there were just one blue-eyed islander and build up to larger numbers of blue-eyed people.   May 2016 Malfunction Diagnosis