Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лекции / 06ExperAvtw

.pdf
Скачиваний:
11
Добавлен:
28.06.2014
Размер:
145.21 Кб
Скачать

6Эксперименты с конечными автоматами

6.1Основные понятия

Эксперимент с инициальным конечным автоматом

V = (A; Q; B; '; Ã; q)

заключается в подаче на его вход слова ® 2 A¤ (в простых экспериментах) или последовательно нескольких слов из некоторого подмножества M множества A¤ (в кратных экспериментах) и наблюдении выходного слова ¯ 2 B¤ èëè

множества выходных слов. Кратные эксперименты предполагают, что имеется ¾кнопка возврата¿, позволяющая перед подачей очередного входного слова возвратить конечный автомат в исходное начальное состояние.

Длиной простого эксперимента называется длина входного слова ®: Длиной кратного эксперимента M называется наибольшая длина слова ® 2 M:

Различают безусловные и условные эксперименты. В условных экспериментах

входные воздействия (входные слова, как и множества входных слов выбирают

с учетом реакции автомата на поступившие на его входы начала слов).

Далее мы рассматриваем лишь безусловные эксперименты.

 

A¤ ê êî-

Результат применения безусловного простого эксперимента ®

2

¯

 

нечному автомату V = (A; Q; B; '; Ã; q) определяется парой (®; Ã(q; ®)):

Результат применения безусловного кратного эксперимента M; M µ A¤

к инициальному конечному автомату V = (A; Q; B; '; Ã; q) есть множество пар

¯

f(®; Ã(q; ®)) n ® 2 Mg:

Эксперименты проводятся с целью получения с наименьшими затратами времени информации об автомате, которая первоначально может быть задана не полностью. Например, может быть известно лишь множество возможных диаграмм Мура, которому принадлежит диаграмма Мура исследуемого конеч- ного автомата, или она может быть известна, но может быть неизвестным на- чальное состояние автомата.

Всякий эксперимент проводится, таким образом, относительно некоторого класса K конечных автоматов (например, для класса автоматов с заданной

диаграммой Мура и отличимыми начальными состояниями). Далее мы будем предполагать неопределенность лишь последнего вида, то есть в качестве класса K будем рассматривать класс [V] всех инициальных автоматов, различаю-

щихся выбором начального состояния q 2 Q некоторого конечного автомата

V = (A; Q; B; '; Ã).

Эксперимент E называется тестовым экспериментом для автомата Vq; Vq 2 K; относительно класса K = [V ] конечных автоматов, если результат его при-

менения к автомату Vq отличается от результата применения к любому другому автомату из класса [V ]:

Эксперимент E называется диагностическим для класса автоматов [V ]; åñëè

результаты его применения к различным автоматам этого класса различны (то есть если он является тестовым эксперимтом для любого автомата Vq 2 [V ]).

7

переходов и выходов.

6.2 Отличимость состояний множествами

6.2.1 Классы состояний, неотличимых множеством

Пусть V = (A; Q; B; '; Ã) конечный автомат и M µ A¤: Состояния q1 è

q2

автомата V называются неотличимыми множеством M; если для любого

слова ® 2 M

выполняется

¯

¯

; ®): В противном случае состояния

 

Ã(q1

; ®) = Ã(q2

q1 è q2 называются отличимыми множеством M: По отношению неотличи- мости множеством M множество Q состояний автомата разбивается на классы

эквивалентности, множество которых обозначается RV (M) = fQ1; : : : ; Qng:

6.2.2 Существование приведенного автомата, не имеющего простого тестового эксперимента

Покажем, что существует конечный автомат приведенного вида, имеющий для каждого одноэлементного множества M; jMj = 1: по крайней мере два

состояния, неотличимых этим множеством.

 

 

 

2; jQj

¸

Теорема

6.1. Для любых алфавитов A; Q; B; таких что jAj ¸

3; jBj ¸

2; существует такой автомат

приведенного вида

V; V

=

(A; Q; B; '; Ã); что для любого слова ®; ®

2

A¤; существуют различные состо-

ÿíèÿ q è q0 автомата V;

удовлетворяющие соотношению

ï(q; ®) = ï(q0; ®); òî

 

 

 

 

есть неотличимые одноэлементным множеством M = f®g:

Доказательство.

а) Рассмотрим автомат V = (A; Q; B; '; Ã); jAj ¸ 2; jQj ¸ 3; B ¸ 2 со следующими таблицами T'; TÃ

T'

q1

q2

q3

q4

q5

: : :

q2

q1

qn

a1

q2

q1

q1

q5

q6

: : :

q1

qn

q4

ai; i > 1

q2

q1

q2

q5

q6

: : :

q1

qn

q4

 

 

 

 

 

 

 

TÃ

q1

q2

q3

q4

q5

: : :

q2

q1

qn

a1

b2

b1

b1

b1

b1

: : :

b1

b1

b2

ai; i > 1

b1

b2

b1

b1

b1

: : :

b1

b1

b2

б) Покажем, что этот автомат является автоматом приведенного вида, . Действительно, состояния q1; q2; q3, отличимы словами длины 1:

Ã(q1; a1) =6 Ã(q2; a1); Ã(q1; a1) =6 Ã(q3; a1); Ã(q2; a2) =6 Ã(q3; a2);

каждое из q1; q2; q3 отличимо от состояний qi; i > 3 некоторым словом ® длины более n ¡ 4; ® 2 A¤; при котором выходное слово автомата с начальным состо-

янием q1; q2 èëè q3 не содержит символов b2 (для каждого из них такое слово найдется, в то же время при начальных состояниях qi; i > 3 выходное слово такой длины всегда содержит хотя бы одно вхождение символа b2); различные состояния q1; i > 3; отличимы друг от друга любым словом длины n ¡ 4:

8

AjQj¡1
íåîò-

в) Покажем, что найдутся хотя бы два начальных состояния q; q0, неотли- чимых заданным словом любой длины. Если ® = Λ; то такими состояниями

являются, например, q = q

; q0 = q

: Åñëè ® = Λ; то представим ® â âèäå

 

 

 

 

 

1

 

2

 

 

6

 

ai®0; ai 2 A: В случае i = 1 имеем

 

 

 

 

 

 

 

 

 

¯

; ®) = b1

¯

 

0

¯

; ®);

 

 

 

 

Ã(q2

Ã(q1

; ®

) = Ã(q3

è q = q

; q0

= q

3

неотличимы. Если же i = 1 получим

2

 

 

 

 

 

 

6

 

 

 

 

 

 

¯

; ®) = b1

¯

 

0

¯

; ®):

 

 

 

 

Ã(q1

Ã(q2

; ®

) = Ã(q3

Таким образом, состояния q1 è q3 неотличимы. Теорема доказана.

Как следствие для рассмотренного в доказательстве теоремы автомата не существует и простой диагностический эксперимент.

Заметим, что условия теоремы не могут быть ослаблены: необходимость условий jQj ¸ 3; jBj ¸ 2 очевидна, а при jAj = 1 самое длинное из слов мини-

мальной длины, отличающих некоторые два состояния автомата приведенного вида, отличает друг от друга и любые другие состояния.

Следствие 6.1. Для любого натурального n ¸ 3 существует автомат

Vq ñ n попарно отличимыми состояниями такой, что отсутствует простой эксперимент, тестовый для Vq относительно класса [V ]:

Это утверждение является следствием теоремы 6.1: в качестве автомата Qq

можно взять автомат Vq3 из доказательства этой теоремы.

Как следствие получим отсутствие и диагностического эксперимента для класса [V ].

6.2.3Существование кратного диагностического эксперимента дли-

íû jQj ¡ 1

Покажем теперь возможность различения состояний автомата приведенного вида множествами, содержащими все слова определенной длины и оценим эту длину.

Теорема 6.2. (Мур) Состояния q1 è q2 автомата V = (A; Q; B; '; Ã) личимы тогда и только тогда, когда они неотличимы множеством

всех слов длины jQj ¡ 1.

Доказательство основано на двух леммах.

Лемма 6.1. Пусть V = (A; Q; B; '; Ã) конечный автомат, Λ пустое

слово, M µ A¤; Λ 2 M; AM = fa® n a 2 A; ® 2 Mg: Тогда RV (M [ AM)

есть подразбиение разбиения RV (M) множества состояний по отношению неотличимости множеством M: Åñëè ïðè ýòîì RV (M [ AM) = RV (M); то разбиение RV (M) является разбиением множества Q на классы неотличи- мых состояний (любые два состояния, попадающие в один и тот же класс

разбиения RV (M) неотличимы):

Доказательство. Пусть RV (M) = fQ1; : : : Qmg è M0 = M [ AM: Ясно, что состояния, неотличимые множеством M0 тем более неотличимы множеством M;

9

отличимы множеством
M µ A¤; Λ 2
q; q0 автома-
îòëè-

поэтому RV (M0) есть подразбиение разбиения RV (M): Пусть RV (M) = RV (M0) (отношения неотличимости множествами M; M0 совпадают). Допустим, что су-

ществует k; k = 1; : : : m; такое, что Qk содержит два отличимых состояния q è q0: Ïðè ýòîì k; а также q è q0 выберем так, чтобы слово ® = a(1) : : : a(n);

отличающее такие состояния, имело наименьшую возможную длину n. Заметим, что n > 1; òàê êàê ïðè n = 1 слово ® = a(1) = a(1)Λ принадлежит

M0 = AM (напомним, что Λ 2 M) и, следовательно состояния q è q0

чимы этим множеством, что противоречит допущению об их принадлежности

множеству Qk:

 

Пусть q(0) =

q; q0(0) = q0: Рассмотрим состояния q(1) = '(q; a(1)) è

q0(1) = '(q0; a(1)):

Ïðè ýòîì ï(q(1); a(2) : : : a(n)) = ï(q0(1); a(2) : : : a(n)): Ñëå-

 

6

довательно q(1) è q0(1) принадлежат разным классам разбиения RV (M); òàê

как длина отличающего слова на единицу меньше наименьшей длины слова,0 отличающего состояния одного класса. Потому найдется слово ¯ = b(1) : : : b(n )

èç M; различающее состояния q(1) è q0(1); (но не отличающее состояния q è q0!) Но тогда слово ®0 = a(1)b(1) : : : b(n0) = a(1)¯; принадлежащее M0; отличит состояния q è q0 :

¯

0

¯

0

¯ 0

¯ 0

0

);

Ã(q; ®

) = Ã(q; a(1))Ã(q1

; ¯) 6= Ã(q

; a(1))Ã(q1

; ¯) = Ã(q

; ®

что невозможно, так как RV (M0) = RV (M): Таким образом состояния из каждого класса разбиения RV (M) неотличимы, и лемма доказана.

Лемма 6.2. Пусть V = fA; Q; B; '; Ãg конечный автомат,

M; jRV (M)j = m; jQj = n: Тогда любые два отличимые состояние та V

M [ AM [ A2M [ : : : [ An¡mM:

Доказательство. Допустим, что существуют два отличимые состояния q; q0

автомата V; неотличиммые множеством Mn = M [AM [A2M [: : :[An¡mM: Они неотличимы любым из множеств Mi = M [ AM [ : : : [ AiM; i = 0; 1; : : : ; n ¡ m;

и попадают в один и тот же класс разбиения RV (Mi): Как видим, по Лем-

ме 1 разбиения RV (Mi); i = 0; 1; : : : n ¡ m; (M0 = M) различны, а так как

каждое последующее является подразбиением предыдущего, число классов в каждом из последующих не менее, чем на единицу больше, чем в предыдущем. Учитывая, что jRV (M0)j = m; получим, что jRV (Mi)j ¸ m + i; òî åñòü

RV (Mn¡m) ¸ m + n ¡ m = n: Получается, что классы из RV (Mn¡m) содержат точно по одному элементу и состояния q è q0 не могут входить в один и тот

же класс разбиения RV (Mn¡m); то есть они отличаются этим множеством, что противоречит допущению. Лемма доказана.

10

переходов и выходов:

6.2.4 Доказательство теоремы 6.2

Полагая M = fΛg и учитывая. что jRV (fΛg)j = 1 по лемме 6.2 получим, что любые два отличимые состояния отличимы множеством

fΛg [ AfΛg [ A2fΛg : : : [ A1fΛg = fΛg [ A [ A2 : : : [ A1:

Учитывая, что пустое слово Λ не отличает никакие два состояния, получим, что любые два отличимые состояния отличимы множеством

A [ A2 : : : [ A1:

(1)

Следовательно, состояния, неотличимые этим множеством являются неотличимыми состояниями автомата. i

Далее, состояния, отличимые множеством A ; i = 1; 2; :::; n ¡ 2; отличимы множеством A1 и, следовательно, этим множеством отличимы состояния, отличимые множеством (??).

6.2.5 Об окончательности оценки длины кратного эксперимента

В общем случае оценка jQj¡1 длины слов, отличаюших состояния автомата V; не может быть уменьшена. Это подтверждается примером автомата Мура, заданного следующей (совмещенной) таблицей T

T

q1

q2

q3

: : :

q1

qn

0

q2

q3

q4

: : :

qn

qn

1

q2

q1

q2

: : :

q2

q1

Ã(qi; 0) = Ã(qi; 1)

1

0

0

: : :

0

0

6.2.6О длине кратного эксперимента, отличающего два заданных состояния разных автоматов

Пусть

V = (A; Q; B; '; Ã)

 

è

V 0 = (A; Q0; B; '0Ã0)

 

конечные автоматы; M µ A¤: Отношение неотличимости множеством M

можно задать также на парах (q,q') состояний автоматов V; V 0: Эти состояния

¯ ¯0 0

неотличимы, если 8® 2 M Ã(q; ®) = Ã (q ; ®):

Следствие 6.2. Åñëè V конечный автомат приведенного вида, имеющий n состояний, то для [V ] существует кратный безусловный диагностический эксперимент длины n ¡ 1:

Следствие 6.3. Åñëè V конечный автомат приведенного вида, имеющий

n состояний, то для Vq существует кратный безусловный тестовый эксперимент относительно V длины n ¡ 1:

11

неотличимы тогда и

Эти утверждения является следствием теоремы 6.2: в качестве эксперимента в этих утверждениях достаточно взять множество всех слов длины n ¡ 1

в алфавите A; рассмотренный пример автомата Мура показывает, что в этих

утверждениях оценка длины эксперимента, вообще говоря, не может быть понижена. 0 0

Теорема 6.3. Состояния q è q автоматов Vq è Vq0 только тогда, когда они неотличимы множеством AjQj+jQ01:

Доказательство. Без ограничения общности можно считать, что Q \ Q0 = ;:

Рассмотренная проблема неотличимости состояний двух автоматов сводится к проблеме неотличимости состояний одного0 автомата, а именно автомата

V = (A; Q [ Q ; B; '; Ô);

такого, что

'”(q; a) =

( '0(q0; a) ;

 

'(q; a) ;

åñëè

åñëè

qq

2 Q0

; Ô(q; q) =

( Ã0((q; a)) ;

 

Q;

 

à q; a ;

 

2

 

 

åñëè

åñëè

q 2 Q;

q 2 Q0 :

Применяя Теорему 6.2 завершаем доказательство.

6.3 Упражнение

6.1 Постройте диагностические эксперименты для конечных автоматов, построенных в упражнениях 1.1 и 1.2.

Контрольные вопросы

1) В чем заключаются простой и кратный эксперименты с конечным автоматом?

2) В чем различие тестового и диагностического экспериментов с конечным автоматом?

3) Покажите, что рассмотренный в разделе 6.2.2 автомат не имеет простого тестового эксперимента. 0

4) Почему элементы класса состояний,не отличимых множеством M ; íå ðàç-

личимы одно-элементными словами?

5) Покажите, что длина кратного тестового эксперимента для автомата, рассмотренного в разделе ?? не может быть менее n ¡ 1:

6) Какова оценка длины кратного эксперимента, отличающего любые два состояния двух автоматов. Отличаются ли при этом отличимые состояния каждого автомата?

12

Соседние файлы в папке Лекции