Конечный автомат. Язык, допускаемый конечным автоматом

Опр. Конечный автомат (ДКА) - набор (Q, S, j, Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru , Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru ), где

Q - конечное множество (внутренних) состояний автомата;

S - конечное множество (входных) символов, «алфавит»;

Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru - начальное состояние;

Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru - множество заключительных состояний;

j - функция переходов (всюду определенная):

Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru .

(Q, S, j, Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru , Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru )

Опр. (как механическое устройство). Конечный автомат состоит из управляющего устройства (УУ), и ленты, разбитой на ячейки.

В каждый момент УУ находится в каком-нибудь состоянии из множества Q, и просматривает ячейку, в которой записан какой-нибудь символ из множества S. Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru

Автомат работает тактами.

На каждом такте, находясь в состоянии q и просматривая ячейку с символом a, автомат выполняет следующие действия:

УУ переходит в состояние q¢, где Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru ;

УУ сдвигается по ленте вправо.

Автомат начинает работу в состоянии Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru (начальное состояние), просматривая самую первую слева ячейку.

Способы задания автомата:

1. Расширенная таблица переходов.

    символы алфавита S  
      ¼ a ¼ заключ.
состояния из Q Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru          
¼          
q     j(q, a)   0 или 1
           

2. Диаграмма переходов.

Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru

Пример: «Автомат для продажи кофе».

Пусть стоимость стакана кофе 10 рублей.

Автомат принимает монеты 5 и 10 рублей, S = {5, 10}.

Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru

  «ожидание клиента» «кредит 5 рублей» «кофе»

Расширенная таблица переходов.

  заключ.
Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru      
Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru      
Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru      

Пример: «Автомат для продажи кофе».

Пусть стоимость стакана кофе 10 рублей.

Автомат принимает монеты 5 и 10 рублей, S = {5, 10}.

Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru

  «ожидание клиента» «кредит 5 рублей» «кофе»

Расширенная таблица переходов.

  заключ.
Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru
Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru
Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru

Диаграмма переходов:

Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru

Опр. Автомат допускает слово Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru , если существует последовательность состояний Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru : Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru , Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru , Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru , …, Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru .

(т.е. просмотрев все буквы слова w автомат переходит из начального состояния в заключительное)

Замечание: автомат допускает пустое слово, если Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru .

Опр. Язык, допускаемый автоматом - множество всех слов, допускаемых автоматом.

Пример.

Для автомата, продающего кофе, язык L = {5 5, 10, 5 10, 10 10, …}.

Регулярные языки. Теорема Клини

Обозначим Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru класс всех языков над фиксированным алфавитом S, допускаемых конечными автоматами.

Проблема - дать характеристику класса Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru , относительно операций над языками.

Теорема.

Класс Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru замкнут относительно операций пересечения, объединения, дополнения, произведения, итерации.

Теорема.

Класс Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru замкнут относительно операций пересечения, объединения, дополнения, произведения, итерации.

Доказательство:

Пусть Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru - язык, допускаемый ДКА Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru , Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru - язык, допускаемый ДКА Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru , и Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru . Очевидно, Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru , Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru .

1. Покажем, что Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru .

Построим НДА Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru , где Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru ,

Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru .

Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru , для Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru ; Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru . Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru

Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru .

По теореме из §4, существует ДКА, допускающий тот же язык.

2. Покажем, что Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru .

Построим ДКА Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru .

Рассмотрев любое слово w автомат переходит в какое-нибудь состояние q.

Если Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru , т.е. Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru , то Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru , т.е. не является заключительным в автомате В.

И наоборот, если Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru , т.е. Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru , то Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru ,

т.е. является заключительным в автомате В.

Следовательно, Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru .

3. Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru .

4. Покажем, что Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru .

1 случай) Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru , т.е. Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru .

Построим НДА Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru , где Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru ,

Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru ;

Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru , для Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru ;

Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru , для Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru ; Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru , для Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru .

Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru

Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru .

По теореме из §4, существует ДКА, допускающий тот же язык.

2 случай) Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru , т.е. Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru .

К автомату B из случая 1 добавим

Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru

Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru .

По теореме из §4, существует ДКА, допускающий тот же язык.

5. Покажем, что Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru .

Построим НДА Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru , где Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru ,

Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru ;

Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru , для Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru ;

Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru , для Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru . Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru

Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru

По теореме из §4, существует ДКА, допускающий тот же язык.

Следствие.

Любой конечный язык допускается конечным автоматом.

Доказательство:

Конечный язык - конечное множество слов конечной длины.

1.Если язык пустой (т.е. пустое множество), то он допускается любым ДКА с пустым множеством Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru заключительных состояний.

2. Если язык состоит из одного пустого слова, то он допускается

ДКА Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru , где

Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru , Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru .

Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru

2. Если язык состоит из одного не пустого слова Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru , то он допускается НДА Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru , где

Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru , …, Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru .

Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru

По теореме из §4, существует ДКА, допускающий тот же язык.

4. Если язык Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru , то Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru .

Каждый язык Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru допускается ДКА.

Объединение языков допускается автоматом, упоминавшимся в доказательстве теоремы о замкнутости.

Опр. Язык называется регулярным, если он получается из конечных языков применением операций объединения, произведения, итерации.

Обозначим Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru класс всех регулярных языков над фиксированным алфавитом S.

Теорема (Клини).

Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru = Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru .

Замечание:

Для описания регулярного языка используется регулярное выражение без фигурных скобок.

Например. Для Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru используется Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru или Конечный автомат. Язык, допускаемый конечным автоматом - student2.ru .

Наши рекомендации