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 587<br />

• se = s ′ e ′ implies TR(s, e) =TR(s ′ , e ′ )fors, s ′ ∈ SR ∪ SR · Σ and for all<br />

e, e ′ ∈ ER, and<br />

• row(s) =row(s ′ ) implies s = s ′ for all s, s ′ ∈ SR.<br />

Thus, a reduced observation table differs from an observation table <strong>in</strong> two<br />

ways. First, SR does not need to be prefix-closed. Second, every row appears<br />

only once <strong>in</strong> the upper part of the table.<br />

S<strong>in</strong>ce there cannot be two row labels <strong>in</strong> SR that map to the same row, there<br />

is no need to check a reduced observation table for consistency. In other words,<br />

there cannot be any <strong>in</strong>consistency.<br />

The reduced observation table algorithm conta<strong>in</strong>s only the access str<strong>in</strong>gs,<br />

recall Section 19.4.1, which results <strong>in</strong> a smaller table than Anglu<strong>in</strong>’s. This <strong>in</strong><br />

turn is the cause for us<strong>in</strong>g less membership queries. The def<strong>in</strong>ition of a closed<br />

ROT is as for the observation table. From a closed ROT we can can construct<br />

an automaton <strong>in</strong> the same manner as <strong>in</strong> Anglu<strong>in</strong>’s algorithm. Besides conta<strong>in</strong><strong>in</strong>g<br />

a smaller observation table, a second source of efficiency, compared to Anglu<strong>in</strong>’s<br />

algorithm, is the faster process<strong>in</strong>g of counterexamples.<br />

Process<strong>in</strong>g a counterexample t = uivi of length m, recall Section 19.4.1,<br />

means f<strong>in</strong>d<strong>in</strong>g a breakpo<strong>in</strong>t i such that sivi ∈ U ⇐⇒ si+1vi+1 �∈ U, where<br />

the si = δ(row(ε), ui) are the states visited by t along the automaton and<br />

vi are the correspond<strong>in</strong>g suffixes of t. Some such breakpo<strong>in</strong>t must exist s<strong>in</strong>ce<br />

s0v0 ∈ U ⇐⇒ smvm �∈ U, so that a sequential search will f<strong>in</strong>d, say, the first one<br />

with m membership queries. Rivest and Schapire show how a b<strong>in</strong>ary search f<strong>in</strong>ds<br />

a breakpo<strong>in</strong>t with logm queries.<br />

The reduced table is kept small by not add<strong>in</strong>g all prefixes of the counterexample<br />

as rows. This means that the new automaton may still classify the previous<br />

counterexample <strong>in</strong>correctly, so the same counterexample can potentially be used<br />

to answer several equivalence queries. Two equal counterexamples can also occur<br />

<strong>in</strong> an algorithm which uses so called discrim<strong>in</strong>ation trees, to be discussed <strong>in</strong><br />

Section 19.4.4.<br />

The Learn<strong>in</strong>g Algorithm The reduced observation table algorithm is basically<br />

constructed <strong>in</strong> the same manner as the observation table algorithm. The<br />

difference is that s<strong>in</strong>ce only unique rows are conta<strong>in</strong>ed <strong>in</strong> the upper part of the<br />

table of the reduced observation table algorithm there is no need to check for consistency.<br />

The handl<strong>in</strong>g of a counterexample is different to Anglu<strong>in</strong>’s algorithm.<br />

In this algorithm we search for a breakpo<strong>in</strong>t <strong>in</strong> the counterexample and add only<br />

one row to the upper part of the table, not every prefix of the counterexample<br />

as <strong>in</strong> the case of the other algorithm. The Reduced Observation Table algorithm<br />

is given <strong>in</strong> Algorithm 16.<br />

Example of Reduced Observation Table We will here present an example<br />

how the reduced observation table evolves when learn<strong>in</strong>g the same example as <strong>in</strong><br />

Section 19.4.2 shown <strong>in</strong> Figure 19.8. The table is <strong>in</strong>itialized <strong>in</strong> the same manner<br />

as <strong>in</strong> Anglu<strong>in</strong>’s algorithm so SR and ER is set to ε (l<strong>in</strong>e 3). For all actions <strong>in</strong>

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

Saved successfully!

Ooh no, something went wrong!