- •Предисловие
- •§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. Алгоритмически неразрешимые задачи
- •Содержание
§3.9. Алгебраический подход к теории автоматов
Будем рассматривать автоматы без выхода, т.е. тройки V = ( A,Q,ϕ), где ϕ : Q × A → Q − функция переходов. Для упрощения записи применяем сокращённые обозначения, т.е. пишем qw вместо ϕ(q, w)
для w A . При этом пустое слово. Напомним,
что множество A является полугруппой, так как на этом множестве определено умножение и выполнен закон ассоциативности:
(xy)z = x( yz). Произведение элемента из Q на элемент из A лежит в
Q, поэтому мы можем говорить о действии полугруппы A на
множестве Q. А именно, если q′ = qx, где то мы считаем, что элемент x переводит q в q′. Действие полугруппы на множестве аналогично действию группы подстановок Sn на множестве
{1, 2, ... , n} или действию скаляров на векторы в векторном
пространстве.
Алгебраический подход к автоматам позволяет применять к ним методы абстрактной алгебры и пользоваться её понятиями, такими, как изоморфизм, гомоморфизм, подавтомат, фактор-автомат и т.д.
Автоматы V = ( A,Q,ϕ) |
и V |
′ |
′ ′ ′ |
|
= ( A ,Q ,ϕ ) будем называть |
изоморфными и писать V V ′, если существует взаимно однозначное отображение σ : Q → Q′ такое, что σ(qa) = σ(q)a для всех
q Q, a A. Понятие изоморфизма можно расширить, распространив его на автоматы над разными алфавитами A и A′; в
этом случае надо брать два взаимно однозначных отображения
σ : Q → Q′ и τ : A → A′.
Гомоморфизм автоматов V = (A,Q,ϕ) и V ′ = (A,Q′,ϕ′) над одним алфавитом A − это отображение σ : Q → Q′ (не обязательно взаимно однозначное) такое, что σ(qa) = σ(q)a для всех q Q,
a A. Понятие гомоморфизма может быть обобщено на автоматы над разными алфавитами.
Понятие подавтомата автомата V = ( A,Q,ϕ) обычно определяется
одним из следующих способов:
а) подавтоматом является непустое подмножество X Q такое, что
XA A;
б) подавтомат – это тройка ( A1,Q1,ϕ1 ), где A1 − непустое подмножество множества A, а Q1 − непустое подмножество множества Q такие, что Q1 A1 Q1.
Ясно, что определение б) является более общим, а при A = A1 они совпадают.
Отношение эквивалентности ρ на множестве Q называется конгруэнцией автомата V = ( A,Q,ϕ), если q ρ q′ (qa) ρ (q′a) для всех q, q′ Q. Класс эквивалентности конгруэнции ρ, в котором лежит элемент q Q, обозначим [q]. Множество всех классов эквивалентности (фактор-множество) обозначим Q / ρ.
Определим действие букв из A на элементы множества Q / ρ, полагая [q]a = [qa] для q Q, a A. Несложно проверяется корректность этого определения (т.е. независимость от выбора представителя в классе эквивалентности) и определяется отображение Φ : Q / ρ × A → Q / ρ (очевидно, Φ([q], a) = [qa]). Автомат W = ( A,Q / ρ, Φ) называется фактор-автоматом автомата V по конгруэнции ρ и обозначается
= В частности, приведённый автомат € рассмотренный в п.
W V / ρ. V ,
3.4, является фактор-автоматом автомата V.
Понятие автомата тесно связано (если не сказать “полностью совпадает”) с понятием полигона над полугруппой. Пусть S − полугруппа и X − множество. Будем говорить, что X − полигон над S, если определено отображение X × S → X , удовлетворяющее условию (xs)t = x(st) при всех x X , s,t S. Всякий автомат
V = ( A,Q,ϕ) можно рассматривать как полигон (а именно, полигон
над полугруппой A ). Наоборот, если X − полигон над полугруппой S, то X можно рассматривать как автомат, причём превращение X в автомат далеко не единственно. Один из способов (вообще говоря, неэкономный) состоит в том, что S рассматривается как входной алфавит, а ϕ(x, s) = xs − функция переходов.
Пусть V = ( A,Q,ϕ) − абстрактный автомат (не обязательно
конечный). Для каждого w A рассмотрим отображение |
|
|
||||||||||||
fw : Q → Q, |
определяемое по формуле fw (q) = qw. Множество всех |
|||||||||||||
отображений |
fw , |
где w A , образуют полугруппу. Действительно, |
||||||||||||
( f |
|
o f |
′ )(q) = f ′ ( f |
|
(q)) = (qw)w |
′ |
′ |
|
|
поэтому |
||||
w |
w |
|
= q(ww ) = f ′ (q), |
|||||||||||
|
|
|
w |
w |
|
|
|
|
ww |
|
|
|
||
f |
w |
o f |
′ = f |
′. |
Полугруппа всех таких отображений f |
w |
, w A , |
|||||||
|
|
w |
ww |
|
|
|
|
|
|
|
называется полугруппой переходов автомата V и обозначается S(V ). Очевидно, множество состояний Q является полигоном над полугруппой S(V ).
Примеры решения задач
Пример 1. Доказать, что всякая полугруппа S является полигоном над собой.
Доказательство. Умножение в полугруппе S − это отображение S × S → S. Так как (st)u = s(tu) для всех s,t,u S, то S −
полигон над S.
Пример 2. Пусть G − группа и X − полигон над G, причём xe = x, если x X , а e − единица группы G. Орбитой элемента x X называется множество xG ={xg | g G}. Доказать, что X является объединением непересекающихся орбит.
Доказательство. Ясно, что X является объединением орбит. Осталось доказать, что любые две орбиты либо не пересекаются, либо совпадают. Пусть xG ∩ yG = . Тогда xg1 = yg2 для некоторых g1, g2 G.
Отсюда x = yg2 g1−1 yG. Поэтому xG yG. В силу симметрии yG xG. Таким образом, xG = yG.
Пример 3. Что из себя представляет
полугруппа переходов S(V ) |
автомата, |
|
b |
a |
|||||
q0 |
q1 |
||||||||
диаграмма которого изображена на |
|||||||||
|
|||||||||
рисунке 3.50? |
|
|
fa : Q →Q, |
c |
b b |
|
|||
Решение. Отображение |
|
||||||||
q a qa, действует так: |
fa : q1 a q2 , |
a |
|
c |
|||||
q2 a q2 , |
q3 a q1, |
поэтому можно |
c |
q3 |
|
||||
|
123 |
|
|
|
|
|
|||
записать |
|
|
|
|
|
|
|
|
|
fa = |
. Аналогично запи- |
|
|
|
|||||
|
221 |
|
|
|
|
Рис. 3.50 |
|
||
|
123 |
|
|
123 |
|
|
|
||
|
|
|
fc |
|
|
|
|
|
|
сываем fb = |
, |
= |
. Если |
|
|
|
|||
|
232 |
|
|
333 |
|
|
|
||
λ − пустое слово, то |
|
123 |
|
|
|
||||
fλ |
|
|
|
|
|
||||
= |
. Перемножая всевозможными |
|
|||||||
|
|
|
|
123 |
|
|
|
способами отображения fλ , fa , fb , fc между собой, получим полугруппу S(V ). Многие произведения, конечно, совпадут. Например,
fa fc = fc , fc fb = fa2 и т.д. Различных оказывается 12 штук. Следовательно,
|
|
123 |
|
|
123 |
|
123 |
123 |
|
123 |
|
|||
123 |
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
, |
|||||
|
, |
|
|
, |
|
, |
|
, |
|
, |
|
|
||
|
|
|
|
|
|
|
|
|||||||
123 |
|
221 |
|
232 |
|
|
332 |
212 |
323 |
|||||
S(V ) = |
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
123 |
123 |
|
|
123 |
|
123 |
123 |
|
123 |
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
||
121 , |
|
223 , 112 |
, |
111 , |
222 |
, |
333 |
|||||||
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Пример 4. Пусть G − группа, |
|
H − её подгруппа, |
|
|
|
|
G / H ={Hg | g G} − множество всех правых смежных классов. Доказать, что G / H является G -полигоном относительно операции
Hg g′ = Hgg′.
Доказательство. Утверждение очевидно ввиду равенства
(Hg g′) g′′ = Hg g′g′′.
Задачи для самостоятельного решения
1. Полигон X над полугруппой S называется циклическим, если существует такое x0 X , что X = x0 S. Доказать, что если X − циклический полигон над группой G с единицей e и xe = x для всех x X , то X G / H для некоторой подгруппы H группы G.
2. Пусть X − полигон над полугруппой S, являющейся
коммутативной полугруппой идемпотентов (т.е. st = ts и s2 = s для всех s,t S). Доказать, что X будет являться частично упорядоченным множеством, если положить x ≤ y x = y или x yS. 3. Что из себя представляет полугруппа переходов S(V ) автомата, диаграмма Мура которого изображена на рисунке 3.51?
b
q1
a a
b
q2
Рис. 3.51
4. Назовём полугруппу S полугруппой правых нулей, если st = t для всех s,t S. Пусть X − полигон над полугруппой S правых нулей. Для s S пусть σs ={(x, y) X × X | xs = ys}.
а) Доказать, что σs − отношение эквивалентности.
б) Доказать, что σs = σt при любых s,t S.
в) Доказать, что для любого x X множество xS пересекается с каждым σ s -классом ровно по одному элементу.
г) Доказать, что σs − конгруэнция полигона X .