Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
61
Добавлен:
16.04.2015
Размер:
919.34 Кб
Скачать

Замкнутость rs относительно дополнения

Интуитивно fa M′ получается расширением входного алфавита 1 fa M до алфавита 2, добавлением состояния “ловушки” d и затем перестановкой конечных и неконечных состояний.

Очевидно, что fa M′ распознаёт язык

L

*

\ L.

 

 

 

2

 

91

Теорема 3.6. Класс множеств, принимаемых конечными автоматами, образует булеву алгебру.

Доказательство непосредственно следует из лемм 3.1 и 3.2 и того факта, что

 

L

 

 

 

.

L

L

L

1

2

1

2

Ret 137

92

Регулярность конечных множеств

Теорема 3.7. Все конечные множества распознаются конечными автоматами.

Доказательство. Рассмотрим множество, содер- жащее только одну цепочку x = a1a2an, n > 0.

Мы можем построить конечный автомат M, принимающий только эту цепочку.

Положим M = ({q0, q1, q2,…, qn, p}, {a1, a2,..., an}, δ, q0, {qn}), где

1.δ(qi, ai + 1) = qi + 1,

2.δ(qi, a) = p, если a ai + 1 (i = 0, 1,..., n – 1),

3.δ(qn, a) = δ(p, a) = p для всех a.

Очевидно, что fa M принимает только цепочку x.

Ret 112

93

 

Регулярность конечных множеств

Множество, содержащее только пустую цепочку, распознаётся конечным автоматом

M = ({q0, p}, , δ, q0, {q0}), где

δ(q0, a) = δ(p, a) = p для всех a .

Действительно, только пустая цепочка оставит автомат в состоянии q0, являющееся конечным.

Пустое множество распознаётся конечным автоматом

M = ({q0}, , δ, q0, ), где

δ(q0, a) = q0 для всех a .

Утверждение теоремы немедленно следует из свойства замкнутости языков типа 3 относи- тельно объединения. Что и требовалось доказать.

94

Свойства языков типа 3

Определение

конкатенацией

множество L1L2

3.11. Произведением или языков L1 и L2 называется

= {z z = xy, x L1, y L2}.

Другими словами, каждая цепочка в языке L1L2 есть конкатенация цепочки из L1 с цепочкой из L2.

Например, если

L1 = {01, 11} и L2 = {0, 1, 101},

то множество

L1L2= {010, 011, 01101, 110, 111, 11101}.

95

Замкнутость rs относительно конкатенации

Теорема 3.8. Класс множеств, распознаваемых конечными автоматами, замкнут относительно произведения.

Доказательство. Пусть

M1 = (Q1, Σ1, δ1, q1, F1) и M2 = (Q2, Σ2, δ2, q2, F2)

— детерминированные конечные автоматы, распознающие языки L1 и L2 соответственно.

Ret 112

96

Замкнутость rs относительно конкатенации

Без потери общности можно предполагать, что

(1) Q1 Q2 = и (2) Σ1 = Σ2 = Σ,

ибо противном случае мы могли бы добавить в Q1 и Q2 “мёртвые” состояния, вроде состояния “ловушки” d, как при доказательстве леммы 3.2.

97

Замкнутость rs относительно конкатенации

Именно, сохраняя прежние обозначения для fa M1 и M2, положим

M1 = (Q1 {d1}, Σ, δ1, q1, F1), M2 = (Q2 {d2}, Σ, δ2, q2, F2),

где Σ = Σ1 Σ2, а исходные отображения δ1 и δ2 пополним равенствами:

1(q, a) = d1 для каждого q Q1 и a Σ2 \ Σ1,1(d1, c) = d1 для каждого c Σ,

2(p, b) = d2 для каждого p Q2 и b Σ1 \ Σ2,2(d2, c) = d2 для каждого c Σ.

98

Замкнутость rs относительно конкатенации

Мы построим ndfa M, распознающий

язык L1L2.

Положим M = (Q1 Q2, Σ, δ, q1, F), где

1)δ(q, a) = {δ1(q, a)} для любого q Q1\ F1,

2)δ(q, a) = {δ1(q, a), δ2(q2, a)} для любого

F1,

Q2.

Если L2, то F = F2, иначе F = F1 F2.

99

Замкнутость rs относительно конкатенации

Правило 1 воспроизводит движения автомата M1 до тех пор, пока он не достигает какого-нибудь из его конечных состояний, приняв некоторую (возможно пустую) начальную часть входной цепочки, принадлежащей языку L1.

Затем согласно правилу 2 он может продолжать повторять движения автомата M1 или перейти в режим воспроизведения движений автомата M2, начиная с его начального состояния (на том же текущем входном символе).

100

Соседние файлы в папке lectures