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

m n. Итак, qui = qui+m . Докажем теперь периодичность последовательности q(t). Пусть t t0 +iτ. Тогда t = t0 + iτ + s, где

s 0. Получаем:

q(t + mτ) = q(t0 + iτ + s + mτ) = q(t0 + iτ + mτ + s) = = q(t0 )uiu ma(t0 + iτ + mτ +1) ... a(t0 + iτ + mτ + s) =

= q(t0 )ui a(t0 + iτ +1) ... a(t0 + iτ + s) = q(t0 + iτ + s) = q(t).

По условию последовательность a(t) периодическая с периодом τ, по только что доказанному q(t) периодическая с периодом mτ.

Отсюда, используя канонические уравнения автомата, выведем периодичность выходной последовательности. Действительно, если t t0 + iτ, то

b(t + mτ) =ψ(q(t + mτ), a(t + mτ)) =ψ(q(t), a(t)) = b(t).

Теорема доказана.

§3.6. Теоремы Мура

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

состоянии q и находясь в состоянии q, будет по-разному реагировать на одну и ту же входную последовательность, то состояния q и qотличимы. Если на данную тестовую последовательность

w= a(1)a(2) ... a(k) ответ будет одинаковым (т.е.

ψ(q, w) =ψ(q, w)), то можно либо удлинить входную

последовательность, добавив элементы a(k +1), a(k + 2), ... , либо

сменить входную последовательность, заменив её на

w′ = a(1)a(2) ... a(l), и т.д. Таким способом можно будет установить отличимость состояний q и q(если они действительно

отличимы), но неотличимость этот способ доказать не позволит, так как невозможно перебрать бесконечное множество последовательностей. Естественно возникает вопрос: сколько тестовых последовательностей и каких достаточно для установления неотличимости двух состояний?

n 1.

Ответ даёт первая теорема Мура: если n количество состояний автомата, то для установления отличимости или неотличимости его состояний достаточно подавать на вход последовательности длины

Для двух автоматов V и V , имеющих одинаковые входные и одинаковые выходные алфавиты, справедлива вторая теорема Мура: для отличимости или неотличимости состояний q и qэтих автоматов достаточно ограничиться входными последовательностями длины

n + n′ −1, где n и n′ − количества состояний автоматов V и V . Для дальнейшего нам понадобится ввести некоторые определения и

обозначения. Если A входной алфавит, то, как обычно, A множество всех слов (произвольной длины) с буквами из A. Для

w A | w | обозначает длину словаw, т.е. количество входящих в него букв. Определим произведение M1M 2 двух подмножеств

M1 , M 2 множества A , положив

M1M 2 ={ww| w M1, wM 2 }.

В частности, Ak = A A ... A множество всех слов длины k.

14243

k

Очевидно, Ai A j = Ai+ j при i, j 0 (при этом считаем, что

A0 ={λ}, где λ пустое слово).

Пусть M подмножество множества A . Будем говорить, что состояния q, qавтомата V = ( A,Q, B,ϕ,ψ) отличимы множеством

 

M , если существует непустое слово w A такое, что

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ψ(q, w) ψ(q , w). Если же, наоборот, ψ(q, w) =ψ(q , w) для всех

непустых w M , то q и qнеотличимы множеством M .

Заметим, что из неотличимости состояний q и qследует их

неотличимость множеством M для любого M A . Обратно, если

q, qQ отличимы каким-либо множеством M A ,

то q и q

отличимы.

 

Для автоматов V = ( A,Q, B,ϕ,ψ) и V ′ = ( A,Q, B,ϕ,ψ) с

одинаковыми входными и выходными алфавитами аналогичным образом вводятся понятия отличимости (неотличимости) состояний

q Q и qQ, а также отличимость (неотличимость) множеством

M .

Пусть V = ( A,Q, B,ϕ,ψ) конечный автомат. Для подмножества

M A обозначим через R(M ) отношение неотличимости с помощью M , т.е. (q, q) R(M ) в случае, когда q и qнеотличимы с помощью M . Ясно, что R(M ) отношение эквивалентности. Обычная неотличимость – это неотличимость с помощью A , т.е. R( A ). Очевидно,

M1 M 2 R(M1 ) R(M 2 ), т.е. разбиение множества Q, определяемое отношением R(M 2 ) это измельчение разбиения,

определяемого R(M1 ) (каждый R(M1 ) -класс является объединением одного или нескольких R(M 2 ) -классов). Итак, наиболее мелким

(дробным) из рассматриваемых разбиений является R( A ). Доказательства теорем Мура будут основываться на двух леммах. Лемма 1. Пусть M A и λ M . Если R(M ) = R(M AM ), то неотличимость состояний q, qQ равносильна их неотличимости с помощью множества M . (Другими словами, при выполнении условий леммы мы имеем равенство R(M ) = R( A )).

Доказательство. Положим M ′ = M AM . Так как λ M , то A M . Предположим, что утверждение леммы неверно, а значит, существуют состояния q, qQ, неотличимые с помощью M , но

отличимые каким-нибудь словом w A . Будем считать, что q, q, w выбраны так, что слово w является наиболее коротким из всех

возможных. Имеем: ψ(q, w) ψ(q, w). Заметим, что слово w не может состоять из одной буквы. Действительно, если | w |=1, то

 

w A,

а значит, q и qотличимы множеством M . Так как

 

A M

то q и q

 

 

 

 

 

 

 

,

 

отличимы множеством M . Но по условию

 

 

 

 

 

 

 

 

и q

отличимы с помощью множества

 

R(M ) = R(M ), поэтому q

 

 

M . Однако, это противоречит выбору q

 

 

 

и q .

 

 

Итак, | w |>1. Следовательно, w = au,

где a A, а u непустое

 

 

 

 

 

 

 

 

 

 

неотличимы

слово. Положим q1 = qa, q1

= q a. Так как q, q

 

множеством A, то ψ(q, a) =ψ(q

 

 

 

, a), следовательно,

 

 

(q1,u)

 

(q1,u). Таким образом, состояния q1, q1отличимы

ψ

ψ

словом u,

причём | u | < | w | . Так как w самое короткое слово, то

q1 и q1

отличимы с помощью M . Отсюда следует, что q и q

отличимы множеством AM ,

а значит, и множеством M . Мы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

получили противоречие с выбором состояний q и q . Лемма доказана.

Лемма 2. Пусть M A и λ M . Тогда существует такое

k n 1,

что R(M AM ... Ak M ) = R( A ).

Доказательство. Рассмотрим следующую последовательность

подмножеств множества A : M 0 = M ,

M1 = M AM ), . . .

M n = M AM ... An M . Очевидно, M i+1 = M i AM i при всех i. Так как M i M i+1, то

R(M 0 ) R(M1 ) R(M 2 ) ... R(M n ).

Докажем, что в этой цепочке включений обязательно есть точное равенство. Действительно, пусть R(M 0 ) R(M1 ) ... R(M n ).

Обозначим через ki количество классов, на которые множество Q

разбивается отношением R(M i ). Очевидно, k0 1. Так как R(M1 ) R(M 0 ), то k1 > k0 , а значит, k1 2. Рассуждая аналогично, получим: k2 3, k3 4, ... , kn n +1. Однако, это невозможно, так как | Q |= n. Мы получили противоречие.

Следовательно, R(M i ) = R(M i+1 ) при некотором i n 1. Это означает, что R(M i ) = R(Mi AMi ). По лемме 1 мы получаем теперь, что R(M i ) = R( A ).

Замечание. Ранее было отмечено, что R( A ) осуществляет наиболее мелкое разбиение множества Q. Следовательно, если в цепочке R(M 0 ) R(M1 ) ... в каком-нибудь месте будет иметь место равенство: R(Mi ) = R(M i+1 ), то все остальные включения также будут равенствами: R(M i+1 ) = R(M i+2 ) = ...

Первая теорема Мура. Если состояния q, qQ автомата

V = ( A,Q, B,ϕ,ψ) отличимы, то они отличимы словом длины n 1,

где n =| Q | . То есть существует такое w An1, что

ψ(q, w) ψ(q, w).

Доказательство. Положим M ={λ}, M1 = M AM = A {λ},

M 2 = M AM A2 M ={λ} A A2 и т.д. По лемме 2 существует i n 1 такое, что R(M i ) = R( A ). Но Mi M n1 A . Следовательно, R(M n1 ) = R( A ). Отсюда вытекает, что

R( An1 ) = R({λ} An1 ) = R( A ). Таким образом, любые два отличимых состояния являются отличимыми с помощью множества

An1 слов длины n 1. Теорема доказана.

Вторая теорема Мура. Пусть V = ( A,Q, B,ϕ,ψ) и

V ′ = ( A,Q, B,ϕ,ψ) два автомата с одними и теми же входным и выходным алфавитами. Состояния q Q и qQявляются

отличимыми в том и только том случае, если они отличимы множеством An+n′−1, где n =| Q |, n′ =| Q| .

Доказательство второй теоремы Мура проведём, сведя её к первой теореме. Очевидно, мы можем считать, что Q Q′ = . Построим новый автомат V ′′ = ( A,Q Q, B,ϕ′′,ψ′′), полагая

′′

ϕ(q, a), если q Q,

ψ

′′

ψ(q, a), если q Q,

ϕ (q, a) =

(q, a) =

 

ϕ (q, a), если q Q ,

 

 

ψ (q, a), если q Q .

Возьмем любые состояния q Q и qQ. Если эти состояния отличимы как состояния автоматов V и V , то они отличимы и как состояния автомата V ′′. Применив к автомату V ′′ первую теорему Мура, получим, что q и qотличимы множеством An+n′−1 (поскольку | Q Q|= n + n). Таким образом, ψ′′(q, w) ψ′′(q, w) при некотором w An+n′−1. Но это означает, что ψ(q, w) ψ(q, w).

Теорема доказана.

Приведём теперь пример, показывающий, что для установления отличимости состояний автомата V = ( A, Q, B,ϕ,ψ) с | Q | = n может

оказаться недостаточно брать последовательности длины n 2, т.е.

число n 1 в формулировке первой теоремы Мура не может быть уменьшено.

Пример. Рассмотрим автомат, представленный таблицей 3.12:

Состояния qn и qn1 отличимы

словом 11...1 .

123

n1

Действительно,

ψ(qn ,11 ...1) = 0 0 ... 0,

123 123

n1 n1

 

q1

q2

 

q3

...

0

q2

1

q3

0

q4

 

 

 

 

 

0

 

1

q2

1

q1

0

q2

0

 

 

 

 

 

 

Табл. 3.12

qn-1

qn

qn

qn

0

0

qn-2

qn-1

0

0

а ψ(qn1 ,11 ...1) =0 ... 0 1. В то же время слова длины n 2 эти

123 123

n1 n1

состояния не отличают, так как если ε1, ... ,εn2 {0, 1}, то

ψ(qn ,ε1 ... εn2 ) =ψ(qn1,ε1 ...εn2 ) = 0 0 ... 0.

14243

n2