07.01.2013 Views

Lecture Notes in Computer Science 3472

Lecture Notes in Computer Science 3472

Lecture Notes in Computer Science 3472

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

1 Hom<strong>in</strong>g and Synchroniz<strong>in</strong>g Sequences 13<br />

The Algorithm. Algorithm 1 computes a hom<strong>in</strong>g sequence for a m<strong>in</strong>imized<br />

mach<strong>in</strong>e as follows. It first f<strong>in</strong>ds a separat<strong>in</strong>g sequence for some two states of the<br />

mach<strong>in</strong>e. By the def<strong>in</strong>ition of separat<strong>in</strong>g sequence, the two states give different<br />

outputs, hence they now belong to different blocks of the result<strong>in</strong>g current state<br />

uncerta<strong>in</strong>ty. Next iteration f<strong>in</strong>ds two new states that belong to the same block of<br />

the current state uncerta<strong>in</strong>ty and applies a separat<strong>in</strong>g sequence for them. Aga<strong>in</strong>,<br />

the two states end up <strong>in</strong> different blocks of the new current state uncerta<strong>in</strong>ty. This<br />

process is repeated until the current state uncerta<strong>in</strong>ty conta<strong>in</strong>s only s<strong>in</strong>gleton<br />

blocks, at which po<strong>in</strong>t we have a hom<strong>in</strong>g sequence.<br />

Algorithm 1 Comput<strong>in</strong>g a hom<strong>in</strong>g sequence for a m<strong>in</strong>imized mach<strong>in</strong>e.<br />

1 function Hom<strong>in</strong>g-For-M<strong>in</strong>imized(M<strong>in</strong>imized Mealy mach<strong>in</strong>e M)<br />

2 x ← ε<br />

3 while there is a block B ∈ σ(x )with|B| > 1<br />

4 f<strong>in</strong>d two different states s, t ∈ B<br />

5 let y be a separat<strong>in</strong>g sequence for s and t<br />

6 x ← xy<br />

7 return x<br />

Step 5 of the algorithm can always be performed because the mach<strong>in</strong>e is<br />

m<strong>in</strong>imized. S<strong>in</strong>ce y is separat<strong>in</strong>g, the block B splits <strong>in</strong>to at least two new blocks<br />

(one conta<strong>in</strong><strong>in</strong>g s and one conta<strong>in</strong><strong>in</strong>g t). Thus, Lemma 1.10 holds with strict<br />

<strong>in</strong>equality between any two iterations, i.e., the quantity �<br />

B∈σ(x )<br />

|B| −|σ(x )|<br />

strictly decreases <strong>in</strong> each iteration. When the algorithm starts, it is n − 1and<br />

when it term<strong>in</strong>ates it is 0. Hence the algorithm term<strong>in</strong>ates after concatenat<strong>in</strong>g<br />

at most n − 1 separat<strong>in</strong>g sequences.<br />

The algorithm is due to G<strong>in</strong>sburg [G<strong>in</strong>58] who relies on the adaptive version<br />

of Moore [Moo56] which we will see more of <strong>in</strong> Section 1.3.4.<br />

Length of Separat<strong>in</strong>g Sequences. We now show that any two states <strong>in</strong> a<br />

m<strong>in</strong>imized mach<strong>in</strong>e have a separat<strong>in</strong>g sequence of length at most n − 1. S<strong>in</strong>ce<br />

we only need to concatenate n − 1 separat<strong>in</strong>g sequences, this shows that the<br />

computed hom<strong>in</strong>g sequence has length at most (n − 1) 2 . The argument will also<br />

help understand<strong>in</strong>g how to compute separat<strong>in</strong>g sequences.<br />

Def<strong>in</strong>e a sequence ρ0,ρ1,... of partitions, so that two states are <strong>in</strong> the same<br />

class of ρi if and only if they do not have any separat<strong>in</strong>g sequence of length i.<br />

Thus, ρi is the partition <strong>in</strong>duced by the relation s ≡i t def<br />

⇔ “λ(s, x )=λ(t, x )for<br />

all x ∈ I ∗ of length at most i”. In particular, ρ0 = {S}, andρi+1 is a ref<strong>in</strong>ement<br />

of ρi. These partitions are also used <strong>in</strong> algorithms for mach<strong>in</strong>e m<strong>in</strong>imization; cf.<br />

Section 21. The follow<strong>in</strong>g lemma is important.<br />

Lemma 1.12 ([Moo56]). If ρi+1 = ρi for some i, then the rest of the sequence<br />

of partitions is constant, i.e., ρj = ρi for all j > i.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!