
- •2.Графы
- •3. Конечные автоматы и формальные языки
- •4. Конечные автоматы с ε-переходами. Эпсилон ε -замыкание. Расширенные переходы и языки ε -нка.
- •5. Операции над яыками и операторы регулярных выражений. Построение регулярных выражений. Язык, представленный регулярным выражением.
- •1.Объядинение языков.
- •2.Конкатенация языков
- •3.Звездочка Кинни.
- •6. Лемма «о накачке для регулярных языков».
- •8. Язык, задаваемый грамматикой.
- •7. Определение контекстно-свободных грамматик.
4. Конечные автоматы с ε-переходами. Эпсилон ε -замыкание. Расширенные переходы и языки ε -нка.
Конечные автоматы с ε -переходами – это обобщение недетерминированных конечных автоматов. Вводим возможность для автомата переходить из одного состояния в другое по ε, то есть не получая на вход ни одного символа. Эта особенность не расширяет язык автомата, но дает удобство при программировании.
Опр.конечные
автоматы с ε-переходами
– это пятерка
,
где
-непустое
конечное множество состояний,
- алфавит, множество входных символов,
- фиксированный единственный символ,
называемый начальным состоянием,
- множество допустимых (заключительных)
состояний,
- функция перехода, зависит от 2-х
параметров
Расширение функции
переходов
.
Эпсилон ε -–
замыкание.
Обозначается
.
Определяется индуктивно:
Базис:
Индукция:
Если
и существует ε-переход из состояния
в состояние
,
то
(состояния,
ведущие в данное)
Точнее, если
- функция перехода для ε –НКА и замыкание
-
содержит все состояния, в которые можно
перейти по ε из данного.
Расширение
функции переходов
:
;
Индукцией по длине
слова. Базис
Индукция по:
- дописываем к слову некоторый символ.
Вычисляем
:
1)
,
и т.к.
,
то по индукции множество определено,
т.е.
- те и только те состояния, в которое
можно попасть изq
по маршруту, помеченному словом X.Этот
маршрут может оканчиваться одним или
несколькими ε и может содержать другие
ε –переходы. 2)
- т.е. нужно совершить все переходы,
отмеченные символом
,
из тех состояний, в которые мы можем
попасть из
по пути, отмеченному словом
.
Состояния
лишь некоторые из тех, в которые мы
можем попасть по маршруту, отмеченному
словом
.
3) В остальные состояния можно попасть
из состояния
посредством ε –переходов.
- на этом дополнительном шаге мы берем
замыкание и добавляем к нему все выходящие
из
пути, помеченные символом
.
Здесь же учитывается возможность
существования дополнительных дуг,
отмеченных символом ε, переход по
которому м.б. совершен после перехода
по последнему непустому символу
.
Язык ε –НКА.
Опр. Если ε –НКА -
,
тогда языком этого автомата будет
Устранение ε –
переходов:
хотим по ε –НКА построить ДКА.
- ε –НКА. С помощью конструкции подмножеств
построим эквивалентный ему ДКА
.
1)
- множество подмножеств
:
.
Для автомата
допустимыми состояниями являются только
ε – замкнутые подмножества
из
:
.
ε – замкнутые множестваS
- это такие множества, у которых всякий
ε – переход из состояния, принадлежащего
этому множеству вновь приводит в это
множество. Заметим, что
является ε – замкнутые подмножеством
2)
,
3)
4)
,
определяется следующим образом: а)
,
вычислим
б)
Теорема. Язык
допускается ε –НКА
этот язык допускается некоторым ДКА
Доказательство:
допускается ε –НКА, тогда с помощью
конструкции подмножеств строим ДКА
.
Покажем
.
По индукции по длине слова: покажем, что
.
Базис:
,
/
Предположение
индукции: равенство верно для всех
.
Покажем для
,
,
,
,
по построению автомата
,
автомат
дан, построим ε –НКА
.
Преобразуем
в
,
добавив ε –переходы:
,
переходы типа
5. Операции над яыками и операторы регулярных выражений. Построение регулярных выражений. Язык, представленный регулярным выражением.
Регулярное выражение дает возможность описывать языки с другой точки зрения (не точки зрения автомата) В некотором смысле регулярное выражение можно рассматривать как язык программирования. Задание ДКА и НКА это машинное задание языка, перейдем к алгебраическому заданию РВ.
Операторы РВ.