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.

580 Therese Berg and Harald Raffelt<br />

that exactly accepts U, otherwise we receive a word that behaves different then<br />

the constructed automaton but agrees with M; a so called counterexample. Let<br />

us study how to process a counterexample.<br />

Counterexample A counterexample is used to correct the hypothesis A we<br />

have about the mach<strong>in</strong>e. From the counterexample we will get a word that,<br />

when added to the pack, will escape.<br />

Let t be the counterexample of length m, t = a0 ...am−1. For0≤ i ≤ m let<br />

ui be the prefix of length i of t and vi the correspond<strong>in</strong>g suffix, i.e. t = uivi.<br />

Let si = δ(γ(ε), ui) be the state of the automaton based on the pack that is<br />

reached by comput<strong>in</strong>g on ui, the <strong>in</strong>itial state be s0 = γ(ε) andsi+1 = δ(si, ai).<br />

The acceptance of t by this automaton is given by whether the f<strong>in</strong>al state sm is<br />

accept<strong>in</strong>g, which corresponds to whether sm ∈ U.<br />

S<strong>in</strong>ce the set of str<strong>in</strong>gs that are accepted from a state dist<strong>in</strong>guishes a state<br />

from another we look upon suffix vi as an experiment on correspond<strong>in</strong>g state<br />

si and through membership queries we f<strong>in</strong>d out whether sivi ∈ U. Thefact<br />

that t is a counterexample means that t ∈ U ⇐⇒ sm �∈ U, wheret = s0v0 and<br />

sm = smvm. So consequently there must exist one or more breakpo<strong>in</strong>t positions<br />

i such that sivi ∈ U ⇐⇒ si+1vi+1 �∈ U. S<strong>in</strong>cesivi = siaivi+1, thesuffixvi+1<br />

is an experiment that dist<strong>in</strong>guishes siai from si+1 = δ(si, ai) =γ(siai). Now<br />

add si+1vi+1 with the appropriate label to the component Csi+1. Consequently<br />

γ(siai) is not anymore si+1, hence siai escapes and we can go on with the pack<br />

expansion process.<br />

Example of Observation Pack Let us study the observation pack algorithm<br />

applied to the example of the DFA Mex with the alphabet {a, b}, shown<strong>in</strong><br />

Figure 19.8. Initially we conduct an experiment for the empty str<strong>in</strong>g. The result<br />

of a membership query for ε is + and the first component is <strong>in</strong>itialized with<br />

this observation, C0 = {(ε, +)}. The component’s correspond<strong>in</strong>g suffix-set is<br />

E0 = {ε}. The evolution of O for this example can be viewed <strong>in</strong> Table 19.1. The<br />

sign − <strong>in</strong> the table means that the component is unchanged.<br />

In the next step we want to close the pack, therefore we ask membership<br />

queries for εa and εb. The results are the observations (a, +) and (b, +), whose<br />

str<strong>in</strong>gs are like ε, the access str<strong>in</strong>g for component C0. The pack is now closed<br />

and we can construct a correspond<strong>in</strong>g automaton A 0 , which can be seen <strong>in</strong><br />

Figure 19.9.<br />

b<br />

a<br />

a<br />

b<br />

a, b<br />

a, b<br />

Fig. 19.8. The mach<strong>in</strong>e Mex

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

Saved successfully!

Ooh no, something went wrong!