Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
~automat(theory).docx
Скачиваний:
0
Добавлен:
09.12.2019
Размер:
88.44 Кб
Скачать

25 Теорема Майхилла-Нероуда.

Пусть L ∑* - регулярный язык. Тогда существует DFA, распознающий язык L, который имеет в точности столько состояний, ск-ко имеется классов эквивалентности в отношении ≈L. Д-во: обозначим класс эквивалентности отношения ≈L, в который попадает слово х∑*, через [x]. Дан язык L, сконструируем DFA М=<K,∑,,s,F >такой, что L=L(М). Который определен так: K={[x]|x∑*}-мн-во классов эквивалентности от-но ≈L. s=[e]-класс эквивалентности, содержащий пустое слово. F={[x]|xL}. и для всех [x]K и для всех а∑ полагаем ([x],a)=[xa]. Язык L регулярен, следовательно распознается неким DFA M’. А отношение M’ имеет больше классов эквивалентности, чем ≈L. Значит, мн-во К – конечно. Нужно также показать, что  правильно определена, то есть что ([x],a)=[xa] независимо от выбора слова x[x]. Но это следует из того, что х≈Lх’ тогда и только тогда когда ха≈Lх’а. Осталось показать, что L=L(M). Покажем, что для всех x,y∑* <[x],y> |-*M <[xy],e> выполняется по индукции по |y|. Когда у=е – это тривиально, а если отношение установлено для всех слов длины n и y=y’a, то по индукции <[x],y> |-*M <[xy],e>. Из доказанного=> для всех x∑* мы имеем, что x L(M) тогда и только тогда, когда <[e],x> |-*M <[q],e> для некого qF, что по доказанному равносильно тому, что [x]F, или, по определению F, равносильно тому, что что x L. Что и требовалось доказать. Следствие: Язык L регулярен тогда и только тогда, когда отношение ≈L имеет конечное число классов эквивалентности.

26 Теорема о накачке (pumping).

Пусть L-регулярный язык. Тогда существует число n>=1 такое, что любое слово ωL такое, что |ω|>=1, может быть переписано как ω=xyz так, что y≠e, |xy| <=n и xyizLдля каждого i>=0. Д-во: Так как язык регулярен, то он распознается DFA M. Предположим, что n-конечное число состояний M, и пусть ω – слово длины n или |ω|=m>==n. Работа автомата M при вводе слова ω: <q0, ω1 ω2…. ωm> |-M<q1, ω2…. ωm>|-M…|-M<qm,e>, где q0-начальное состояние M, а ω1 …. ωm – первые m символов слова ω. Так как у M всего n состояний, а в указанном вычислении возникает как минимум n+1. конфигурация вида <qi, ωi+1…. ωm>, то существует числа i и j такие, что0<=i<j<=n и qi=qj. Иными словами, слово y= ωiωi+1…. ωm переводит M из состояния qiназад в состояние qj, и это слово непустое, так как i<j. Но тогда это подслово можно удалить из ω или наоборот, повторить в ω ск-ко угодно раз сразу после j-го символа ω, и М все равно будет распознавать это слово. Таким образом, М распознает xyizL для каждого i>=0, где x= ω1…. ωi, а z=ωi+1…. ωm. Заметим, что длина слова xy, которую мы ранее обозначили j, по определению не более n, что и требовалось доказать. Пример: язык L={aibi|i>=0}не является регулярным, так как если бы он был регулярен, то теорема о накачке выполнялась бы для некого n. Рассмотрим тогда слово ω= anbnL. По теореме оно может быть написано в виде ω=xyz так, что |xy|<=n и y≠e – т.е, y=ai для некого i>0. Но тогда xz=an-ibn не принадлежит L, что противоречит теореме.