
- •2.Графы
- •3. Конечные автоматы и формальные языки
- •4. Конечные автоматы с ε-переходами. Эпсилон ε -замыкание. Расширенные переходы и языки ε -нка.
- •5. Операции над яыками и операторы регулярных выражений. Построение регулярных выражений. Язык, представленный регулярным выражением.
- •1.Объядинение языков.
- •2.Конкатенация языков
- •3.Звездочка Кинни.
- •6. Лемма «о накачке для регулярных языков».
- •8. Язык, задаваемый грамматикой.
- •7. Определение контекстно-свободных грамматик.
1.Объядинение языков.
Пусть L и M языки. Тогда их объединение это язык, который составлен из слов содержащихся либо в L ибо в M.
2.Конкатенация языков
Пусть L
и M
языки. Тогда
L.M =a.b a,b
M
3.Звездочка Кинни.
Пусть есть L – язык, тогда L* - это множество всех слов, которые можно образовать путем конкатенации любого количества цепочек из L.
Построение регулярного выражения.
Базис:
1.Константы ξ и
являются регулярными выражениями.
L(
)
– Язык = (ξ),
L()=
.
2. Пусть a - произвольный символ, следовательно регулярное выражение a которое определяет язык а. Т.е L(a)={a}.
Индукция:
1.Если E
и F
– рег выражения, то и E+F
– регулярное выражение, определяющее
объединение языков. L(E+F)=L(E)L(F)
2.Пусть E и F – рег выражения. Тогда определим РВ произведение E.F – конкатенация языков L(E) и L(F)
3.E – рег выражение, определим E* Как РВ задающее язык (L(E))* L(E*)=(L(E))*
4.Если E – регулярное выражение, то (E) тоже рег выражение и L((E))=L(E).
6. Лемма «о накачке для регулярных языков».
Лемма
«о накачке»:
Пусть
регулярный
язык. Существует константаn,
зависимая от L,
для которой каждая цепочка
из языкаL
удовлетворяет неравенству
можно разбить на три цепочки так, чтобы
,
что выполнялись бы три условия: 1.
;
2.
;
3.
Доказательство:
Пусть L
– регулярный язык (формальный язык,
удовлетворяющий свойствам: 1. Пустое
множество является регулярным множеством
в алфавите Σ, 2. Множество, состоящее из
одной лишь пустой строки является
регулярным множеством в алфавите Σ, 3.
Множество, состоящее из одного любого
символа алфавита Σ является регулярным
множеством в алфавите Σ, 4. если два
какие-либо множества являются регулярными
в алфавите Σ, то и их объединение
тоже является регулярным множеством в
алфавите Σ, 5. Если два какие-либо множества
являются регулярными в алфавите Σ, то
и множество, составленное из всевозможных
сцеплений
пар их элементов тоже является регулярным
множеством в алфавите Σ, 6. Если какое-либо
множество является регулярным в алфавите
Σ, то множество всевозможных сцеплений
его элементов тоже является регулярным
множеством в алфавите Σ) . Тогда по
доказанной ранее теореме существует
детерминированный конечный автомат А
(Конечный
автомат —
абстрактный
автомат
без выходного потока, число возможных
состояний которого конечно.
Результат работы автомата определяется
по его конечному состоянию. Детерминированным
конечным автоматом (ДКА)
называется такой автомат, в котором для
каждой последовательности входных
символов существует лишь одно состояние,
в которое автомат может перейти из
текущего.),
такой, что:
- его язык. Пусть автомат А имеетn
состояний
.
Рассмотрим слово изL.
,
т.е.
.Обозначим:
.
Т.е.
.
У нас
,
т.е. состояния могут повторяться, поэтому
будем рассматривать
,
где
.
У нас все равно будет
состояние, т.е. будет существовать такая
пара
,
что
.
Пусть для определенности
.
Тогда
будем разбивать на
следующим образом: 1.
;
2.
;
3.
Посчитаем
и
.
Другими словами получили автомат:
Что и требовалось доказать.