formal_language_theory / lectures / unit_3
.pdfЗамкнутость 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 = a1a2…an, 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