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.

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

the new column label b (l<strong>in</strong>e 21). The result of this operation is shown as A 1 <strong>in</strong><br />

Table 19.3, now row(ε) �= row(a).<br />

Next we check whether table A 1 is closed. The Learner discovers that there is<br />

one row <strong>in</strong> the lower part of the table which is not <strong>in</strong> the upper part (l<strong>in</strong>es 9–10).<br />

In order to rectify this we add the row of a to the upper part and <strong>in</strong> the lower<br />

part we add its successor states, shown <strong>in</strong> Table 19.3, Table A 2 . The extension<br />

to the table gives rise to a non-closed table aga<strong>in</strong>. So for this reason we move<br />

row of aa <strong>in</strong> the same manner to the upper part, see the result <strong>in</strong> Table A 3 .Now<br />

the table is closed and automaton A 3 can be formed, shown <strong>in</strong> Figure 19.11. The<br />

Learner queries the Oracle with this hypothesis, but the Oracle answers with a<br />

counterexample.<br />

A 0<br />

A 3<br />

ε a, b ε<br />

a, b<br />

a<br />

aa<br />

a, b<br />

a, b<br />

ε<br />

b<br />

A 4<br />

Fig. 19.11. The mach<strong>in</strong>e’s approximations<br />

The counterexample is t = ba, whereba ∈L(Mex ) but ba �∈ L(A 3 ). F<strong>in</strong>d<strong>in</strong>g<br />

the breakpo<strong>in</strong>t is the process of follow<strong>in</strong>g A 3 along t and discover<strong>in</strong>g where the<br />

mistake of not accept<strong>in</strong>g t is made. The breakpo<strong>in</strong>t <strong>in</strong> this case is found for<br />

i =0s<strong>in</strong>ces0ba ∈L(Mex ) but s1a �∈ L(Mex ) where the states s0 and s1 are<br />

represented by ε and a, respectively. We add the new column label a to ROT<br />

and extend the lower part of the table.<br />

In the loop of check<strong>in</strong>g if ROT is closed, the Learner will discover that the<br />

row of b does not exist <strong>in</strong> the upper part of the table. This row is moved to<br />

the upper part of the table and the lower part is extended. The result shown <strong>in</strong><br />

A 4 , Table 19.3. This table is closed and with a f<strong>in</strong>al equivalence check with the<br />

correspond<strong>in</strong>g automaton A4 <strong>in</strong> Figure 19.11 as hypothesis the answer from the<br />

Oracle is a ’yes’ and the algorithm term<strong>in</strong>ates.<br />

19.4.4 Discrim<strong>in</strong>ation Trees<br />

In this section we will discuss a fourth approach to implement<strong>in</strong>g the Learner<br />

<strong>in</strong> the sett<strong>in</strong>g described earlier. Instead of us<strong>in</strong>g sets for stor<strong>in</strong>g the Learner’s<br />

observations, as <strong>in</strong> the observation pack algorithm, we will show how it is possible<br />

to use a tree.<br />

The Learner’s data structure is <strong>in</strong> this case a b<strong>in</strong>ary tree with labeled nodes.<br />

Def<strong>in</strong>ition 19.20. Given an alphabet Σ,adiscrim<strong>in</strong>ation tree is tuple DT =<br />

(SD, ED, t) where<br />

b<br />

a<br />

a<br />

b<br />

a<br />

aa<br />

a, b<br />

a, b

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

Saved successfully!

Ooh no, something went wrong!