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.

3 State Verification 73<br />

Thus (s, Q) a −→(t, P) if and only if t is reachable from s with an a-transition <strong>in</strong><br />

M, andP is the subset of δ(Q, a) thatcanbereachedbyana-transition from<br />

Q with the same output as the a-transition from s to t.<br />

Consider a vertex (s, Q) ofG, and an <strong>in</strong>put sequence x ∈ I ∗ . It is straightforward<br />

to prove by <strong>in</strong>duction on the length of x that if Q ′ is the subset of Q<br />

that produces the same output as s on <strong>in</strong>put x , then the unique path <strong>in</strong> G that<br />

starts <strong>in</strong> (s, Q) and is labeled with x ends <strong>in</strong> (δ(s, x ),δ(Q ′ , x )).<br />

If a vertex (s, S \{s}) <strong>in</strong>G can reach a vertex (t, ∅), for some state t, via<br />

a directed path labeled x , then it follows from the above that it has a UIO<br />

sequence. Indeed, the subset of S \{s} that gives the same output as s on <strong>in</strong>put<br />

x is empty. Thus s can be uniquely identified by its output on x . On the other<br />

hand, if there is no such path, then there is no <strong>in</strong>put sequence x such that s<br />

gives a different output than all other states on x .Thuss does not have a UIO<br />

sequence.<br />

In problem (1) we are given a state s and want to know if it has a UIO<br />

sequence. Thus what we need to do is to determ<strong>in</strong>e whether some vertex (t, ∅) is<br />

reachable from the vertex (s, S \{s})<strong>in</strong>G. This can be done <strong>in</strong> nondeterm<strong>in</strong>istic<br />

polynomial space. There is no need to explicitly compute the whole graph G,<br />

which would require exponential space. Instead, the search procedure keeps track<br />

only of the current vertex, and for each step computes all its successors and<br />

nondeterm<strong>in</strong>istically chooses to proceed to one of them. Represent<strong>in</strong>g a vertex<br />

only requires polynomial space, and each vertex has at most one successor for<br />

each symbol <strong>in</strong> the <strong>in</strong>put alphabet. As Chapter 1.4.2 expla<strong>in</strong>s, a consequence<br />

of Savitch’s theorem is that PSPACE=NPSPACE, and the membership of<br />

problem (1) <strong>in</strong> PSPACE follows. The result for problem (1) extends to problems<br />

(2) and (3), s<strong>in</strong>ce they can be solved by apply<strong>in</strong>g the nondeterm<strong>in</strong>istic polynomial<br />

space procedure for problem (1) once for each state.<br />

(1) We now proceed to show<strong>in</strong>g that the problem of determ<strong>in</strong><strong>in</strong>g whether a<br />

specific state s of a given mach<strong>in</strong>e M has a UIO sequence is PSPACE-hard.<br />

This is achieved by reduction from the follow<strong>in</strong>g problem. In F<strong>in</strong>ite Automata<br />

Intersection we are given k determ<strong>in</strong>istic total f<strong>in</strong>ite automata, A1,...Ak, all<br />

def<strong>in</strong>ed over the same alphabet Σ. The question is whether the <strong>in</strong>tersection of<br />

the languages accepted by the automata is nonempty, i.e., if there is some str<strong>in</strong>g<br />

<strong>in</strong> Σ ∗ that is accepted by all k automata. As seen <strong>in</strong> Chapter 1.4.2, this problem<br />

is PSPACE-complete.<br />

The reduction composes the automata to a Mealy mach<strong>in</strong>e M <strong>in</strong> the follow<strong>in</strong>g<br />

way. The mach<strong>in</strong>e has the same <strong>in</strong>put alphabet as the automata, plus two letters,<br />

r (reset) and f (f<strong>in</strong>ish). Its output alphabet is {0, 1}. The states of the mach<strong>in</strong>e<br />

are the states of the automata plus one additional state s. Every transition <strong>in</strong> one<br />

of the automata is a transition of M, with the same <strong>in</strong>put as <strong>in</strong> the automaton,<br />

and output 0. Also, every state t of an automaton Ai gets a transition to the<br />

<strong>in</strong>itial state of Ai with <strong>in</strong>put r and output 0, and a transition to s with <strong>in</strong>put f .<br />

This transition has output 1 if t is accept<strong>in</strong>g <strong>in</strong> Ai and 0 if it is non-accept<strong>in</strong>g.<br />

F<strong>in</strong>ally, s has a transition to itself for every <strong>in</strong>put, <strong>in</strong>clud<strong>in</strong>g r and f ,with

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

Saved successfully!

Ooh no, something went wrong!