- •Предисловие
- •§1.2. Функции алгебры логики
- •§1.3. Формулы. Реализация булевых функций формулами
- •§1.4. Специальные представления булевых функций
- •§1.5. Полнота, замкнутость. Теорема Поста о полноте
- •§1.6. Дизъюнктивная нормальная форма
- •§1.7. Схемы из функциональных элементов
- •Глава 2. Графы
- •§2.1. Основные определения
- •§2.2. Способы задания графов
- •§2.3. Связность
- •§2.4. Раскраски графов. Планарность
- •§2.5. Потоки в сетях
- •Глава 3. Автоматы
- •§3.1. Определение и примеры автоматов
- •§3.2. Диаграмма Мура и таблица автомата
- •§3.4. Приведённый автомат
- •§3.6. Теоремы Мура
- •§3.7. Ограниченно-детерминированные функции. Информационное дерево
- •§3.8. Синтез автоматов
- •§3.9. Алгебраический подход к теории автоматов
- •Глава 4. Алгоритмы и машины Тьюринга
- •§4.1. О понятии алгоритма. Тезис Чёрча
- •§4.2. Машина Тьюринга
- •§4.3. Рекурсивные функции
- •§4.4. Алгоритмически неразрешимые задачи
- •Содержание
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 − количество состояний автомата, то для установления отличимости или неотличимости его состояний достаточно подавать на вход последовательности длины
Для двух автоматов 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, w′ M 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, q′ Q отличимы каким-либо множеством M A , |
то q и q′ |
||||||||
отличимы. |
|
Для автоматов V = ( A,Q, B,ϕ,ψ) и V ′ = ( A,Q′, B,ϕ′,ψ′) с
одинаковыми входными и выходными алфавитами аналогичным образом вводятся понятия отличимости (неотличимости) состояний
q Q и q′ Q′, а также отличимость (неотличимость) множеством
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, q′ Q равносильна их неотличимости с помощью множества M . (Другими словами, при выполнении условий леммы мы имеем равенство R(M ) = R( A )).
Доказательство. Положим M ′ = M AM . Так как λ M , то A M ′. Предположим, что утверждение леммы неверно, а значит, существуют состояния q, q′ Q, неотличимые с помощью 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, q′ Q автомата
V = ( A,Q, B,ϕ,ψ) отличимы, то они отличимы словом длины n −1,
где n =| Q | . То есть существует такое w An−1, что
ψ(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 n−1 A . Следовательно, R(M n−1 ) = R( A ). Отсюда вытекает, что
R( An−1 ) = R({λ} An−1 ) = R( A ). Таким образом, любые два отличимых состояния являются отличимыми с помощью множества
An−1 слов длины n −1. Теорема доказана.
Вторая теорема Мура. Пусть V = ( A,Q, B,ϕ,ψ) и
V ′ = ( A,Q′, B,ϕ′,ψ′) − два автомата с одними и теми же входным и выходным алфавитами. Состояния q Q и q′ Q′ являются
отличимыми в том и только том случае, если они отличимы множеством 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 и q′ Q′. Если эти состояния отличимы как состояния автоматов 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 и qn−1 отличимы
словом 11...1 .
123
n−1
Действительно,
ψ(qn ,11 ...1) = 0 0 ... 0,
123 123
n−1 n−1
|
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 |
а ψ(qn−1 ,11 ...1) =0 ... 0 1. В то же время слова длины n − 2 эти
123 123
n−1 n−1
состояния не отличают, так как если ε1, ... ,εn−2 {0, 1}, то
ψ(qn ,ε1 ... εn−2 ) =ψ(qn−1,ε1 ...εn−2 ) = 0 0 ... 0.
14243
n−2