sven sandberg information technology department uppsala...
TRANSCRIPT
![Page 1: Sven Sandberg Information Technology Department Uppsala ...web.cecs.pdx.edu/~mperkows/CLASS_573/Kumar_2007/... · Information Technology Department Uppsala University Sweden. 2 Outline](https://reader034.vdocuments.us/reader034/viewer/2022042309/5ed6bff4d397173fdb727971/html5/thumbnails/1.jpg)
1
Homing and Synchronizing Sequences
Sven Sandberg
Information Technology Department
Uppsala University
Sweden
![Page 2: Sven Sandberg Information Technology Department Uppsala ...web.cecs.pdx.edu/~mperkows/CLASS_573/Kumar_2007/... · Information Technology Department Uppsala University Sweden. 2 Outline](https://reader034.vdocuments.us/reader034/viewer/2022042309/5ed6bff4d397173fdb727971/html5/thumbnails/2.jpg)
2
Outline
1. Motivations
2. Definitions and Examples
3. Algorithms
(a) Current State Uncertainty (used in algorithms)
(b) Computing Homing Sequences
(c) Computing Synchronizing Sequences
4. Variations
(a) Adaptive homing sequences
(b) Computing shortest sequences
(c) Parallel algorithms
(d) Difficult related problems
5. Conclusions
![Page 3: Sven Sandberg Information Technology Department Uppsala ...web.cecs.pdx.edu/~mperkows/CLASS_573/Kumar_2007/... · Information Technology Department Uppsala University Sweden. 2 Outline](https://reader034.vdocuments.us/reader034/viewer/2022042309/5ed6bff4d397173fdb727971/html5/thumbnails/3.jpg)
3
Motivation for Homing Sequences: Testing [13]
• Learning algorithms:
experiment with a given a black box automaton
until you learn the contents
• Protocol verification
• Hardware fault-detection
![Page 4: Sven Sandberg Information Technology Department Uppsala ...web.cecs.pdx.edu/~mperkows/CLASS_573/Kumar_2007/... · Information Technology Department Uppsala University Sweden. 2 Outline](https://reader034.vdocuments.us/reader034/viewer/2022042309/5ed6bff4d397173fdb727971/html5/thumbnails/4.jpg)
Motivation for Synchronizing
Sequences: Pushing Things [12]
PSfrag replacements
1
2
3
4
Goal:
4
![Page 5: Sven Sandberg Information Technology Department Uppsala ...web.cecs.pdx.edu/~mperkows/CLASS_573/Kumar_2007/... · Information Technology Department Uppsala University Sweden. 2 Outline](https://reader034.vdocuments.us/reader034/viewer/2022042309/5ed6bff4d397173fdb727971/html5/thumbnails/5.jpg)
5
Mealy Machines [11]
t
a/0
b/1
s
b/0
a/0
u
b/1
a/1v
a/0
b/0
i Deterministic, total, finite state machine
i with outputs on transitions
i Inputs: I = a, bi Outputs: O = 0, 1i States: S = s, t, u, v
PSfrag replacements
Mealy machine: M = 〈I,O, S, δ, λ〉Inputs, I
Outputs, OStates, S
transition function (“arrows”), δ : S × I → Soutput function, λ : S × I → O
![Page 6: Sven Sandberg Information Technology Department Uppsala ...web.cecs.pdx.edu/~mperkows/CLASS_573/Kumar_2007/... · Information Technology Department Uppsala University Sweden. 2 Outline](https://reader034.vdocuments.us/reader034/viewer/2022042309/5ed6bff4d397173fdb727971/html5/thumbnails/6.jpg)
6
Synchronizing Sequences [12]
Intuitive Definition
1. Initial state is unknown.
2. Apply a sequence x ∈ I∗ of inputs,
3. afterwards only one final state is possible
If this is possible, x is a synchronizing sequence
Formal Definition
x ∈ I∗ is synchronizing iff |δ(S, x)| = 1
![Page 7: Sven Sandberg Information Technology Department Uppsala ...web.cecs.pdx.edu/~mperkows/CLASS_573/Kumar_2007/... · Information Technology Department Uppsala University Sweden. 2 Outline](https://reader034.vdocuments.us/reader034/viewer/2022042309/5ed6bff4d397173fdb727971/html5/thumbnails/7.jpg)
7
Example: Getting Home by Subway in Uppsala [14]
Flogsta Ekeby
Haga Eriksberg Kabo
• Initial position is unknown
• There are no signs that reveal the current station
• Find your way to Flogsta, switching red and blue line as needed
Solution: brrbrrbrrbrr
![Page 8: Sven Sandberg Information Technology Department Uppsala ...web.cecs.pdx.edu/~mperkows/CLASS_573/Kumar_2007/... · Information Technology Department Uppsala University Sweden. 2 Outline](https://reader034.vdocuments.us/reader034/viewer/2022042309/5ed6bff4d397173fdb727971/html5/thumbnails/8.jpg)
8
Homing Sequences [13]
Intuitive Definition
1. Initial state is unknown.
2. Apply a sequence x ∈ I∗ of inputs,
3. observe outputs,
4. conclude what the final state is
If this is possible, x is a homing sequence
Formal Definition
x ∈ I∗ is homing iff
for all states s, t ∈ S, δ(s, x) 6= δ(t, x) =⇒ λ(s, x) 6= λ(t, x)
![Page 9: Sven Sandberg Information Technology Department Uppsala ...web.cecs.pdx.edu/~mperkows/CLASS_573/Kumar_2007/... · Information Technology Department Uppsala University Sweden. 2 Outline](https://reader034.vdocuments.us/reader034/viewer/2022042309/5ed6bff4d397173fdb727971/html5/thumbnails/9.jpg)
9
Homing Sequences: Example
• Homing sequences care about the output
• E.g., in Uppsala the subway sometimes goes above ground.
• Using this information, we can more efficiently figure out the final state.
Flogsta Ekeby
Aboveground
Haga Eriksberg
Aboveground
Kabo
Aboveground
Solution: e.g., brr
![Page 10: Sven Sandberg Information Technology Department Uppsala ...web.cecs.pdx.edu/~mperkows/CLASS_573/Kumar_2007/... · Information Technology Department Uppsala University Sweden. 2 Outline](https://reader034.vdocuments.us/reader034/viewer/2022042309/5ed6bff4d397173fdb727971/html5/thumbnails/10.jpg)
10
Initial State Uncertainty [14]
• Data structure crucial in algorithms computing homing sequences
• The Initial State Uncertainty with respect to an input string
“indicates for each output string the set of possible initial states”
• Formally, for an input string x ∈ I∗ it is the partition of states
induced by the equivalence relation
s ≡ t ⇐⇒ λ(s, x) = λ(t, x)
(“x produces the same output from s as from t”)
![Page 11: Sven Sandberg Information Technology Department Uppsala ...web.cecs.pdx.edu/~mperkows/CLASS_573/Kumar_2007/... · Information Technology Department Uppsala University Sweden. 2 Outline](https://reader034.vdocuments.us/reader034/viewer/2022042309/5ed6bff4d397173fdb727971/html5/thumbnails/11.jpg)
11
Initial State Uncertainty: Example
s
a/0
b/0
t
a/1
b/0
u a/0
b/0
![Page 12: Sven Sandberg Information Technology Department Uppsala ...web.cecs.pdx.edu/~mperkows/CLASS_573/Kumar_2007/... · Information Technology Department Uppsala University Sweden. 2 Outline](https://reader034.vdocuments.us/reader034/viewer/2022042309/5ed6bff4d397173fdb727971/html5/thumbnails/12.jpg)
12
Initial State Uncertainty: Example
input initial statestring uncertainty
ε s, t, ua t1, s, u0ab t10, s, u00aba t100, s000, u001
(here, the output corresponding to a block is indicated in red)
![Page 13: Sven Sandberg Information Technology Department Uppsala ...web.cecs.pdx.edu/~mperkows/CLASS_573/Kumar_2007/... · Information Technology Department Uppsala University Sweden. 2 Outline](https://reader034.vdocuments.us/reader034/viewer/2022042309/5ed6bff4d397173fdb727971/html5/thumbnails/13.jpg)
13
Current State Uncertainty [15]
• Another data structure crucial in algorithms computing homing sequences
• The Current State Uncertainty with respect to an input string
“indicates for each output string the set of possible final states”
• Formally, for an input string x ∈ I∗ it is the set
σ(x)def= δ(B, x) : B is a block of the initial state uncertainty w.r.t. x.
• Important: x is homing iff σ(x) is a set of singletons
![Page 14: Sven Sandberg Information Technology Department Uppsala ...web.cecs.pdx.edu/~mperkows/CLASS_573/Kumar_2007/... · Information Technology Department Uppsala University Sweden. 2 Outline](https://reader034.vdocuments.us/reader034/viewer/2022042309/5ed6bff4d397173fdb727971/html5/thumbnails/14.jpg)
14
Current State Uncertainty: Example
s
a/0
b/0
t
a/1
b/0
u a/0
b/0
![Page 15: Sven Sandberg Information Technology Department Uppsala ...web.cecs.pdx.edu/~mperkows/CLASS_573/Kumar_2007/... · Information Technology Department Uppsala University Sweden. 2 Outline](https://reader034.vdocuments.us/reader034/viewer/2022042309/5ed6bff4d397173fdb727971/html5/thumbnails/15.jpg)
15
Current State Uncertainty: Example
input initial state current statestring uncertainty uncertainty
ε s, t, u s, t, ua t1, s, u0 s1, s, u0ab t10, s, u00 u10, u, t00aba t100, s000, u001 u100 or 000, s001
![Page 16: Sven Sandberg Information Technology Department Uppsala ...web.cecs.pdx.edu/~mperkows/CLASS_573/Kumar_2007/... · Information Technology Department Uppsala University Sweden. 2 Outline](https://reader034.vdocuments.us/reader034/viewer/2022042309/5ed6bff4d397173fdb727971/html5/thumbnails/16.jpg)
16
Computing Homing Sequences: Idea [16]
Assume machine is minimized.
• Concatenate strings iteratively,
• in each step improving the current state uncertainty.
(“∑
B∈σ(x)
|B|−|σ(x)|” decreases)
• Each string should be separating for two states in the same block:
A separating sequence x ∈ I∗ for two states s, t ∈ S gives different outputs:
λ(s, x) 6= λ(t, x)
Since the machine is minimized, separating sequences always exist
![Page 17: Sven Sandberg Information Technology Department Uppsala ...web.cecs.pdx.edu/~mperkows/CLASS_573/Kumar_2007/... · Information Technology Department Uppsala University Sweden. 2 Outline](https://reader034.vdocuments.us/reader034/viewer/2022042309/5ed6bff4d397173fdb727971/html5/thumbnails/17.jpg)
17
Computing Homing Sequences: Algorithm [17]
1 function Homing-For-Minimized(Minimized Mealy machine M)
2 x← ε
3 while there is a block X ∈ σ(x) with |X| > 1
4 take two different states s, t ∈ X5 let y be a separating sequence for s and t
6 x← xy
7 return x
![Page 18: Sven Sandberg Information Technology Department Uppsala ...web.cecs.pdx.edu/~mperkows/CLASS_573/Kumar_2007/... · Information Technology Department Uppsala University Sweden. 2 Outline](https://reader034.vdocuments.us/reader034/viewer/2022042309/5ed6bff4d397173fdb727971/html5/thumbnails/18.jpg)
18
Homing Sequences: Quality of Algorithm
(n = number of states, |I| = number of input symbols)
• Time: O(n3 + n2 · |I|)
• Space: O(n)
(not counting the space needed by the output)
• Sequence length: ≤ n(n− 1)/2
Some machines require ≥ n(n− 1)/2
![Page 19: Sven Sandberg Information Technology Department Uppsala ...web.cecs.pdx.edu/~mperkows/CLASS_573/Kumar_2007/... · Information Technology Department Uppsala University Sweden. 2 Outline](https://reader034.vdocuments.us/reader034/viewer/2022042309/5ed6bff4d397173fdb727971/html5/thumbnails/19.jpg)
19
Computing Synchronizing Sequences: Idea [17]
Very similar to algorithm for homing sequences:
• Concatenate strings iteratively,
• in each step decrease |δ(S, x)|.
• Each string should be merging for two states in δ(S, x):
– A merging sequence y ∈ I∗ for two states s, t ∈ S takes them to the same
final state: δ(s, y) = δ(t, y)
– This guarantees that |δ(S, xy)| < |δ(S, x)|– Merging sequences exist for all states
⇐⇒ there is a synchronizing sequence
![Page 20: Sven Sandberg Information Technology Department Uppsala ...web.cecs.pdx.edu/~mperkows/CLASS_573/Kumar_2007/... · Information Technology Department Uppsala University Sweden. 2 Outline](https://reader034.vdocuments.us/reader034/viewer/2022042309/5ed6bff4d397173fdb727971/html5/thumbnails/20.jpg)
20
Computing Synchronizing Sequences: Algorithm
[18]
Very similar to algorithm for homing sequences:
1 function Synchronizing(Mealy machine M)
2 x← ε
3 while |δ(S, x)| > 1
4 take two different states s, t ∈ δ(S, x)
5 let y be a merging sequence for s and t
(if none exists, return Failure)
6 x← xy
7 return x
![Page 21: Sven Sandberg Information Technology Department Uppsala ...web.cecs.pdx.edu/~mperkows/CLASS_573/Kumar_2007/... · Information Technology Department Uppsala University Sweden. 2 Outline](https://reader034.vdocuments.us/reader034/viewer/2022042309/5ed6bff4d397173fdb727971/html5/thumbnails/21.jpg)
21
Synchronizing Sequences: Quality of Algorithm
[19–20]
• Time: O(n3 + n2 · |I|)
• Space: O(n2 + n · |I|)(not counting the space needed by the output)
• Sequence length: ≤ (n3 − n)/6
Cerny’s conjecture: length ≤ (n− 1)2
(true in special cases, open in general)
Some machines require length ≥ (n− 1)2
![Page 22: Sven Sandberg Information Technology Department Uppsala ...web.cecs.pdx.edu/~mperkows/CLASS_573/Kumar_2007/... · Information Technology Department Uppsala University Sweden. 2 Outline](https://reader034.vdocuments.us/reader034/viewer/2022042309/5ed6bff4d397173fdb727971/html5/thumbnails/22.jpg)
22
Homing Sequences for General Machines [20–21]
• We don’t need to assume the machine is minimized
• A different algorithm solves this more general problem,
but less efficiently
Combines ideas from algorithms for homing and synchronizing sequences
• Often possible to assume the machine is minimized
![Page 23: Sven Sandberg Information Technology Department Uppsala ...web.cecs.pdx.edu/~mperkows/CLASS_573/Kumar_2007/... · Information Technology Department Uppsala University Sweden. 2 Outline](https://reader034.vdocuments.us/reader034/viewer/2022042309/5ed6bff4d397173fdb727971/html5/thumbnails/23.jpg)
23
Adaptive Homing Sequences [21–22]
• Apply the sequence as it is being computed,
• and let current input depend on previous outputs
• Can use modified version of the usual homing sequence algorithm
• May result in shorter sequence,
• but equally long in the worst case: (n− 1)2
![Page 24: Sven Sandberg Information Technology Department Uppsala ...web.cecs.pdx.edu/~mperkows/CLASS_573/Kumar_2007/... · Information Technology Department Uppsala University Sweden. 2 Outline](https://reader034.vdocuments.us/reader034/viewer/2022042309/5ed6bff4d397173fdb727971/html5/thumbnails/24.jpg)
24
Finding the Shortest Sequence [24–26]
• It is important to minimize the length of sequences:
– recall pushing things
– in testing, a machine may be remote or very slow
• Exponential algorithms have been used
• Unfortunately, the problems are NP-complete
• Even impossible to approximate unless P=NP
(follows from NP-completeness proof)
![Page 25: Sven Sandberg Information Technology Department Uppsala ...web.cecs.pdx.edu/~mperkows/CLASS_573/Kumar_2007/... · Information Technology Department Uppsala University Sweden. 2 Outline](https://reader034.vdocuments.us/reader034/viewer/2022042309/5ed6bff4d397173fdb727971/html5/thumbnails/25.jpg)
25
Related Problems are PSPACE-complete [26–28]
1. Nondeterministic transition system
(instead of deterministic)
2. The initial state is in a subset X ⊆ S(instead of S)
3. The final state may be in a subset X ⊆ S(instead of any single state in S)
![Page 26: Sven Sandberg Information Technology Department Uppsala ...web.cecs.pdx.edu/~mperkows/CLASS_573/Kumar_2007/... · Information Technology Department Uppsala University Sweden. 2 Outline](https://reader034.vdocuments.us/reader034/viewer/2022042309/5ed6bff4d397173fdb727971/html5/thumbnails/26.jpg)
26
Parallel Algorithms [29]
Homing Sequences
• Randomized algorithm uses log2 n time, O(n7) processors.
Hence, the problem belongs to RNC.
• Deterministic algorithm uses O(√n log2 n) time
Impractical due to high communication cost
• There is also a practical randomized algorithm
Synchronizing Sequences
• No known parallel algorithm
• Except one for monotonic automata
![Page 27: Sven Sandberg Information Technology Department Uppsala ...web.cecs.pdx.edu/~mperkows/CLASS_573/Kumar_2007/... · Information Technology Department Uppsala University Sweden. 2 Outline](https://reader034.vdocuments.us/reader034/viewer/2022042309/5ed6bff4d397173fdb727971/html5/thumbnails/27.jpg)
27
Conclusion
Homing sequences
• Problem is more or less solved (optimal and polynomial algorithm is known)
• Apparently more used for testing than synchronizing sequences
Synchronizing sequences
• Open question:
Narrow the gap between upper bound O(n3) and lower bound Ω(n2)
for the length of sequences
• Interesting algebraic properties and other applications,
but less used for testing