Теорема Клини (совпадение классов автоматных и регулярных языков) — различия между версиями
Gromak (обсуждение | вклад) |
Gromak (обсуждение | вклад) м |
||
| Строка 1: | Строка 1: | ||
{{Теорема | {{Теорема | ||
|author=Клини | |author=Клини | ||
| − | |statement=Классы [[Детерминированные_конечные_автоматы#Автоматные_языки | автоматных]] и [[Регулярные языки:_два определения_и_их_эквивалентность | регулярных]] языков совпадают. | + | |statement=Классы [[Детерминированные_конечные_автоматы#Автоматные_языки | автоматных]] и [[Регулярные языки:_два определения_и_их_эквивалентность#REG1 | регулярных]] языков совпадают. |
|proof= | |proof= | ||
[[Файл:Reg0.png|200px|thumb|right|Автоматы для регулярных языков нулевого поколения]] | [[Файл:Reg0.png|200px|thumb|right|Автоматы для регулярных языков нулевого поколения]] | ||
Версия 20:27, 21 октября 2013
| Теорема (Клини): |
Классы автоматных и регулярных языков совпадают. |
| Доказательство: |
|
1. . Для доказательства будем строить автоматы, допускающие регулярные языки (см. картинки справа). При этом будем использовать индукцию по номеру поколения регулярного языка. База. . Для этого достаточно построить автоматы для трех языков:
Индукционный переход. Умеем строить автоматы для языков -ого поколения. Будем строить для . Для этого достаточно научиться строить автоматы для следующих языков ():
Заметим, что по предположению индукции автоматы для могут быть построены. Итого, мы можем по регулярному выражению построить автомат, допускающий тот же язык. 2. . Для доказательства будем строить регулярное выражение, допускающее язык, заданный каким-то автоматом. Пусть задан автомат с набором состояний . Определим регулярные выражения, задающие следующие множества слов: , причем в качестве промежуточных вершин выступают только такие, у которых номер не более . Построим эти регулярные выражения:
Теперь нетрудно задать регулярное выражение для всего языка: , где — стартовое состояние, а — терминальные состояния исходного автомата. Таким образом, мы построили по автомату регулярное выражение, допускающее тот же самый язык. |