Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
388
Добавлен:
16.04.2013
Размер:
2.43 Mб
Скачать
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) ρ (qa) для всех q, qQ. Класс эквивалентности конгруэнции ρ, в котором лежит элемент 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 g11 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 gg′′.

Задачи для самостоятельного решения

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 .