Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
627
Добавлен:
16.04.2013
Размер:
2 Мб
Скачать
☆
x A ,
qλ = q, если λ −

§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 .