
- •1 Автоматы с магазинной памятью (стековый автомат). Конфигурация. Языки распознаваемые автоматом с магазинной памят
- •2 Автомвты с магазинной памятью с однобуквенными переходами.
- •3 Алгоритм нахождения регулярного выражения для языка распознаваемого детерминированным конечным автоматом.
- •4 Деление контекстно-свободных языков.
- •5 Детерминированный конечный автомат. Языки распознаваемые детерминированным автоматом. Примеры.
- •6 Инварианты контекстно-свободных языков.
- •7 Классы грамматик. Понятие контекстно-свободная граматика (cfg).
- •8 Конечные автоматы и регулярные выражения.
- •9 Конечные автоматы. Детерминированный конечный автомат. Конфигурация.
- •10 Конечные представления языков. Регулярные выражения и регулярные языки.
- •11 Лемма о расрастании (pumping lemma) контекстно-свободных грамматик.
- •12 Метод перевода контекстно-свободных грамматик (cfg) на автоматы со стеком.
- •13 Минимизация числа состоянии для конечных автоматов. Примеры.
- •14 Недтерминированный конечный автомат. Языки распознаваемые недетерминированным автоматом.
- •16 Основные виды бинарных отношений. Рефлексвное и транзитивное замыкание.
- •17 Пересечение и дополнение контекстно-свободных языков.
- •18 Пересечение контекстно-свободного языка с автоматным языком.
- •19 Понятие языка и алфавита, операции над языками.
- •21 Свойсва контекстно-свободных языков (cfl). Примеры. Теорема о контекстно-свободном языке.
- •22 Свойства замкнутости класа контекстно-свободных языков.
- •23 Свойства замкнутости класса линейных языков.
- •24 Свойства замкнутости регулярных языков.
- •25 Теорема Майхилла-Нероуда.
- •26 Теорема о накачке (pumping).
- •27 Теорема о разрастании (накачке - pumping) для (cfl) контекстно-свободных языков.
- •28 Теорема о существовании эвивалентных автоматов.
- •29 Характеризация контекстно-свободных грамматик. Взаимо связь между автоматами со стеком и контекстно-свободными граматиками.
- •30 Языки, не являющиеся регулярными. Примеры. Два свойства регулярных языков.
25 Теорема Майхилла-Нероуда.
Пусть
L
∑*
- регулярный язык. Тогда существует
DFA, распознающий язык L, который имеет
в точности столько состояний, ск-ко
имеется классов эквивалентности в
отношении ≈L. Д-во: обозначим класс
эквивалентности отношения ≈L, в который
попадает слово х∑*,
через [x]. Дан язык L, сконструируем DFA
М=<K,∑,,s,F
>такой, что L=L(М). Который определен
так: K={[x]|x∑*}-мн-во
классов эквивалентности от-но ≈L.
s=[e]-класс эквивалентности, содержащий
пустое слово. F={[x]|xL}.
и для всех [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> для некого qF,
что по доказанному равносильно тому,
что [x]F,
или, по определению F, равносильно тому,
что что x
L. Что и требовалось доказать. Следствие:
Язык L регулярен тогда и только тогда,
когда отношение ≈L имеет конечное число
классов эквивалентности.
26 Теорема о накачке (pumping).
Пусть L-регулярный язык. Тогда существует число n>=1 такое, что любое слово ωL такое, что |ω|>=1, может быть переписано как ω=xyz так, что y≠e, |xy| <=n и xyizLдля каждого 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-го символа ω, и М все равно будет распознавать это слово. Таким образом, М распознает xyizL для каждого i>=0, где x= ω1…. ωi, а z=ωi+1…. ωm. Заметим, что длина слова xy, которую мы ранее обозначили j, по определению не более n, что и требовалось доказать. Пример: язык L={aibi|i>=0}не является регулярным, так как если бы он был регулярен, то теорема о накачке выполнялась бы для некого n. Рассмотрим тогда слово ω= anbnL. По теореме оно может быть написано в виде ω=xyz так, что |xy|<=n и y≠e – т.е, y=ai для некого i>0. Но тогда xz=an-ibn не принадлежит L, что противоречит теореме.