Лекции / 06ExperAvtw
.pdf6Эксперименты с конечными автоматами
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 |
: : : |
qn¡2 |
qn¡1 |
qn |
a1 |
q2 |
q1 |
q1 |
q5 |
q6 |
: : : |
qn¡1 |
qn |
q4 |
ai; i > 1 |
q2 |
q1 |
q2 |
q5 |
q6 |
: : : |
qn¡1 |
qn |
q4 |
|
|
|
|
|
|
|
|||
TÃ |
q1 |
q2 |
q3 |
q4 |
q5 |
: : : |
qn¡2 |
qn¡1 |
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
в) Покажем, что найдутся хотя бы два начальных состояния 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
поэтому 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 : : : [ An¡1fΛg = fΛg [ A [ A2 : : : [ An¡1:
Учитывая, что пустое слово Λ не отличает никакие два состояния, получим, что любые два отличимые состояния отличимы множеством
A [ A2 : : : [ An¡1: |
(1) |
Следовательно, состояния, неотличимые этим множеством являются неотличимыми состояниями автомата. i
Далее, состояния, отличимые множеством A ; i = 1; 2; :::; n ¡ 2; отличимы множеством An¡1 и, следовательно, этим множеством отличимы состояния, отличимые множеством (??).
6.2.5 Об окончательности оценки длины кратного эксперимента
В общем случае оценка jQj¡1 длины слов, отличаюших состояния автомата V; не может быть уменьшена. Это подтверждается примером автомата Мура, заданного следующей (совмещенной) таблицей T'Ã
T'Ã |
q1 |
q2 |
q3 |
: : : |
qn¡1 |
qn |
0 |
q2 |
q3 |
q4 |
: : : |
qn |
qn |
1 |
q2 |
q1 |
q2 |
: : : |
qn¡2 |
qn¡1 |
Ã(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+jQ0j¡1:
Доказательство. Без ограничения общности можно считать, что Q \ Q0 = ;:
Рассмотренная проблема неотличимости состояний двух автоматов сводится к проблеме неотличимости состояний одного0 автомата, а именно автомата
V ” = (A; Q [ Q ; B; '”; Ô);
такого, что
'”(q; a) = |
( '0(q0; a) ; |
|
'(q; a) ; |
åñëè
åñëè
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