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.

19 Model Check<strong>in</strong>g 579<br />

Expand<strong>in</strong>g a Pack Let us now discuss how to extend a pack, evolv<strong>in</strong>g to the<br />

automaton to learn. We will see the importance of the fact that the function γ<br />

can be partial. Let us start by stat<strong>in</strong>g that for a given pack we say that a word<br />

z is escap<strong>in</strong>g when γ(z) is undef<strong>in</strong>ed.<br />

We can use the knowledge of some escap<strong>in</strong>g str<strong>in</strong>g z to adjust the observation<br />

pack and get closer to U. In this case we can collect the appropriate observations<br />

and expand the pack by add<strong>in</strong>g a new component to it.<br />

The fact that z escapes implies that, for each access str<strong>in</strong>g s <strong>in</strong> the pack,<br />

there is a word sw ∈ Cs provid<strong>in</strong>g the suffix w that dist<strong>in</strong>guishes z from s, <strong>in</strong>the<br />

sense that sw ∈ U ⇐⇒ zw �∈ U. A set formed by all such words zw, additionally<br />

<strong>in</strong>clud<strong>in</strong>g z itself, and each labeled by the correspond<strong>in</strong>g +/− label, forms a<br />

component that can be added to the pack preserv<strong>in</strong>g two mentioned necessary<br />

properties OP1 and OP2. Each expansion by one component br<strong>in</strong>gs the pack<br />

one state closer to the m<strong>in</strong>imal automaton represent<strong>in</strong>g U.<br />

Now we want to have a so called closed pack, which means that for an access<br />

str<strong>in</strong>g s and letter a there is no such word sa that escapes. The transition on a<br />

from the state represented by s would be undef<strong>in</strong>ed if sa escaped. If we discover<br />

an escap<strong>in</strong>g word we expand the pack and when there are no more escap<strong>in</strong>g<br />

words of this k<strong>in</strong>d we say that the pack is closed.<br />

Def<strong>in</strong>ition 19.14. ApackO agree<strong>in</strong>g with U is closed for U if:<br />

• γ(ε) is def<strong>in</strong>ed;<br />

•∀s ∈ S, ∀ a ∈ Σ,γ(sa) is def<strong>in</strong>ed.<br />

Note that the def<strong>in</strong>ition depends on U s<strong>in</strong>ce γ = γ O,U depends on U. Def<strong>in</strong>ition<br />

19.14 actually gives rise to a determ<strong>in</strong>istic f<strong>in</strong>ite automaton, whose states<br />

are the access str<strong>in</strong>gs of the pack, the <strong>in</strong>itial state is γ(ε) and the accept<strong>in</strong>g are<br />

states those access str<strong>in</strong>gs labeled +. We def<strong>in</strong>e the transition function to be<br />

δ(s, a) =γ(sa) and we extend the transition function δ <strong>in</strong> a rather common way<br />

by, δ(s,ε)=s, andδ(s, wa) =δ(δ(s, w), a), for s ∈ S, w ∈ Σ ∗ ,anda ∈ Σ.<br />

Theorem 19.15. If O is a pack, U is regular and agrees with O, andO has as<br />

many components as M (the m<strong>in</strong>imal DFA that recognizes U) has states, then<br />

O is closed for U so that an automaton can be obta<strong>in</strong>ed from O <strong>in</strong> the manner<br />

above, and furthermore this automaton is isomorphic to M.<br />

Proof. By Lemma 19.11, no pack agree<strong>in</strong>g with U canhavemorethan|M|<br />

components. Therefore, it is not possible to expand O preserv<strong>in</strong>g the agreement<br />

with U, and thus it must be closed. Besides, by the card<strong>in</strong>ality condition, the<br />

function f def<strong>in</strong>ed and used <strong>in</strong> Lemma 19.11 becomes bijective. It is rout<strong>in</strong>e to<br />

show that this function is an isomorphism, that is: 1) it maps γ(ε) to the <strong>in</strong>itial<br />

state of M; 2) it maps exactly those s ∈ S with s ∈ U to the f<strong>in</strong>al states; and<br />

3) it commutes with M’s transition function. ⊓⊔<br />

Once we are able to form an automaton from our pack, we can make an<br />

equivalence query to the Oracle to f<strong>in</strong>d out if it is equivalent to M. If we receive<br />

the answer ’yes’, we are f<strong>in</strong>ished and the automaton is the m<strong>in</strong>imal automaton

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

Saved successfully!

Ooh no, something went wrong!