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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

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

orientation, the problem arises of how to rotate them from an <strong>in</strong>itially unknown<br />

orientation to a known one. Us<strong>in</strong>g sensors for this is expensive and complicated.<br />

A simple and elegant solution is depicted <strong>in</strong> Figure 1.2. Two parallel “push<strong>in</strong>g<br />

walls” are placed around the object, and one is moved toward the other so that<br />

it starts push<strong>in</strong>g the object, rotat<strong>in</strong>g it until a stable position between the walls<br />

is reached. Given the possible directions of these push<strong>in</strong>g walls, one has to f<strong>in</strong>d<br />

a sequence of pushes from different directions that takes the object to a known<br />

state. This problem can be reduced to f<strong>in</strong>d<strong>in</strong>g a synchroniz<strong>in</strong>g sequence <strong>in</strong> a<br />

mach<strong>in</strong>e where the states are the possible orientations, the <strong>in</strong>put alphabet is the<br />

set of possible directions of the walls, and the transition function is given by<br />

how a particular way of push<strong>in</strong>g rotates the object <strong>in</strong>to a new orientation. This<br />

problem has been considered by, e.g., Natarajan [Nat86] and Eppste<strong>in</strong> [Epp90],<br />

who relate the problem to automata but use a slightly different way of push<strong>in</strong>g.<br />

Rao and Goldberg [RG95] use our way of push<strong>in</strong>g and their method works for<br />

more generally shaped objects. ⊓⊔<br />

(a) (b) (c) (d)<br />

Fig. 1.2. Two push<strong>in</strong>g walls rotat<strong>in</strong>g the object to a new position. (a) The object. (b)<br />

One wall moves toward the object until (c) it hits it and starts push<strong>in</strong>g it, rotat<strong>in</strong>g it<br />

to the f<strong>in</strong>al stable position (d).<br />

An alternative way to formulate the synchroniz<strong>in</strong>g sequence problem is as<br />

follows. Let S be a f<strong>in</strong>ite set, and f1,...,fk : S → S total functions. F<strong>in</strong>d a<br />

composition of the functions that is constant. Function fi corresponds to δ(·, ai ),<br />

where ai is the i’th <strong>in</strong>put symbol.<br />

Example 1.4. To see that synchroniz<strong>in</strong>g sequences do not always exist, consider<br />

the Mealy mach<strong>in</strong>e <strong>in</strong> Figure 1.1. If the same sequence of <strong>in</strong>put symbols is applied<br />

to two states that are “opposite corners”, then the respective f<strong>in</strong>al states will be<br />

opposite corners too. So <strong>in</strong> particular no sequence x satisfies δ(s1, x )=δ(s3, x )<br />

or δ(s2, x )=δ(s4, x ). ⊓⊔<br />

Besides the parts orient<strong>in</strong>g problem <strong>in</strong> Example 1.3, synchroniz<strong>in</strong>g sequences<br />

have been used to generate test cases for synchronous circuits with no reset<br />

[CJSP93], and are also important <strong>in</strong> theoretical automata theory and structural<br />

theory of many-valued functions [Sal02].

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

Saved successfully!

Ooh no, something went wrong!