Альтернативное доказательство теоремы Клини (через систему уравнений в регулярных выражениях) — различия между версиями
Warrior (обсуждение | вклад) (Новая страница: «== Альтернативное доказательство == == Пример == Категория: Теория формальных языков [[Ка...») |
Warrior (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
== Альтернативное доказательство == | == Альтернативное доказательство == | ||
+ | |||
+ | {{Теорема | ||
+ | |statement=Класс [[Детерминированные_конечные_автоматы#Автоматные_языки | автоматных]] языков является подмножеством [[Регулярные языки:_два определения_и_их_эквивалентность#REG1 | регулярных]]. | ||
+ | |proof= | ||
+ | |||
+ | Рассмотрим автоматный язык <tex>L</tex> и ДКА для него. Для доказательства теоремы достаточно построить регулярное выражение, порождающее язык <tex>L</tex>. | ||
+ | Пусть наш автомат состоит из <tex>n</tex> состояний, и состояние <tex>0</tex> {{---}} стартовое. Также пусть <tex>L_i</tex> {{---}} язык, состоящий из слов, которые приводят из состояния <tex>i</tex> в терминальное. | ||
+ | |||
+ | Заметим, что <tex>L_i = \sum c L_j</tex> для всех <tex> c \in \Sigma </tex> и <tex>j</tex> таких, что <tex>\delta(i, c)=j</tex>. Действительно, если по слову <tex> \alpha </tex> из состояния <tex>j</tex> мы можем попасть в терминальное состояние, а между состояниями <tex>i</tex> и <tex>j</tex> есть переход по символу <tex>с</tex>, то слово <tex>с \alpha</tex> принаджелит языку <tex>L_i</tex>. Также, если <tex>\epsilon \in \L_0</tex>, то есть если стартовое состояние является и терминальным тоже, то добавим в сумму для <tex>L_0</tex> и <tex>\epsilon</tex>. | ||
+ | |||
+ | Заметим, что <tex>L_0 = L</tex>. | ||
+ | }} | ||
== Пример == | == Пример == | ||
[[Категория: Теория формальных языков]] | [[Категория: Теория формальных языков]] | ||
[[Категория: Автоматы и регулярные языки]] | [[Категория: Автоматы и регулярные языки]] |
Версия 19:01, 24 октября 2013
Альтернативное доказательство
Теорема: |
Класс автоматных языков является подмножеством регулярных. |
Доказательство: |
Рассмотрим автоматный язык и ДКА для него. Для доказательства теоремы достаточно построить регулярное выражение, порождающее язык . Пусть наш автомат состоит из состояний, и состояние — стартовое. Также пусть — язык, состоящий из слов, которые приводят из состояния в терминальное.Заметим, что Заметим, что для всех и таких, что . Действительно, если по слову из состояния мы можем попасть в терминальное состояние, а между состояниями и есть переход по символу , то слово принаджелит языку . Также, если , то есть если стартовое состояние является и терминальным тоже, то добавим в сумму для и . . |