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