
- •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 Языки, не являющиеся регулярными. Примеры. Два свойства регулярных языков.
19 Понятие языка и алфавита, операции над языками.
Алфавит-конечный (непустой) набор символов. пример, бинарный алфавит {0, 1}. Словом называется конечная последовательность символов алфавита. пустое слово - e, Слова - u,v,x,y,z,w. Множество всех слов алфавита Σ, будет обозначаться Σ∗. Длиной слова является его длина как последовательности символов. (w через|w|, пример |101|=3, |e|=0). функция: w : {1, . . . , |w|} → Σ, при этом w(j) при 1 ≤ j ≤ |w| это j-й символ слова w. Конкатенация слов x и y, обозначаемая как x ◦ y или просто xy, это слово x, за которым записано слово y. |w| = |x| + |y|, w(j) = x(j) для j = 1, . . . , |x| и w(|x| + j) = y(j) для j = 1, . . . , |y|. w ◦ e = e ◦ w = w. СловоV называется подсловом слова w в том, и только в том случае, если существуют слова x и y такие, что w = xVy. Обращением слова w, записываемым как wR, будем называть то же самое слово, записанное наоборот. Формальное определение такого:
1)Если w -слово|w|=0, то wR = w = e. 2)Если |w|=n+1>0, то w = ua, a ∈ Σ, и wR = auR.
Любое множество слов алфавита Σ, то есть любое подмножество Σ∗, мы будем называть языком.
Σ*-счетное, для всех Σ -конечное мн-во.
1)Для каждого k ≥ 0 все слова длины k перечисляются решения всех строк длины k + 1. 2)Все nk слов длины k перечисляются в лексикографическом порядке. операция над языками:1) А-язык, то Ā= Σ*\А; 2) конкатенация языков L1 и L2 -языки алфавита Σ, то L= L1 ◦ L2 L = {w ∈ Σ∗|w = x ◦ y, x ∈ L1, y ∈ L2}. 3) навешивание звездочки Клини на язык L, L∗. L∗ -это мн-во всех слов, получаемых путем конкатенации нуля или более слов из L (конкатенация нуля -это e, а конкатенация одного слова -это само это слово). L∗ = {w ∈ Σ∗|w = w1 ◦ ...◦ wk , k ≥ 0 и w1,..., wk∈ L}.
20 Порождающая грамматики. Эквивалентность грамматики.
Порождающей грамматикой (грамматикой типа 0) называется четвёрка G <N,Σ, P, S>, где N и Σ — конечные алфавиты, N∩Σ = ∅, P⊂(N∪Σ)+×(N∪Σ)∗, P конечно и S ∈ N. Здесь Σ — основной алфавит (терминальный алфавит), его элементы называются терминальными символами или терминалами , N — вспомогательный алфавит (нетерминальный алфавит), его элементы называются нетерминальными символами, нетерминалами или переменными, S — начальный символ (аксиома). Пары (α, β) ∈ P называются правилами подстановки, просто правилами или продукциями и записываются в виде α → β. Пример. Пусть даны множества N = {S}, Σ = {a, b, c}, P = {S → acSbcS, cS → ε}. Тогда <N,Σ,P,S> - является порождающей грамматикой. Две грамматики эквивалентны, если они порождают один и тот же язык. Пример. Грамматика S → abS, S → a и грамматика T → aU, U → baU, U → ε эквивалентны.
21 Свойсва контекстно-свободных языков (cfl). Примеры. Теорема о контекстно-свободном языке.
CFL – замкнуты относительно следующих операций: объединения, конкатенации, замыкания, обращения. Теорема 1. Если L — контекстно-свободный язык, то L∗ тоже контекстно-свободный язык. Доказательство. Пусть язык L порождается грамматикой <N, Σ,P,S>. Тогда язык L∗ порождается грамматикой <N∪{T}, Σ,P ∪{ T → ST, T → ε} ,T >,где T не ∈ N ∪ Σ. Теорема 2. Если L1 и L2 — контекстно-свободные языки над алфавитом Σ,то L1 · L2 тоже контекстно-свободный язык. Доказательство. Пусть язык L1 порождается грамматикой <N1, Σ,P1,S1> и L2 порождается грамматикой <N2, Σ,P2,S2>, где N1 ∩ N2 = ∅.Тогда L1 · L2 порождается грамматикой <N1∪ N2∪{ T } , Σ,P1∪ P2∪{ T → S1S2} ,T >,где T не ∈ N1∪ N2∪ Σ. Теорема 3. Если L1 и L2 — контекстно-свободные языки над алфавитом Σ,то L1 ∪ L2 тоже контекстно-свободный язык. Доказательство. Пусть язык L1 порождается грамматикой <N1, Σ,P1,S1> и L2 порождается грамматикой <N2, Σ,P2,S2>, где N1 ∩ N2 = ∅.Тогда L1 ∪ L2 порождается грамматикой <N1 ∪ N2 ∪{ T } , Σ,P1 ∪ P2 ∪{ T → S1,T → S2} ,T >,где T не ∈ N1 ∪ N2 ∪ Σ. Теорема 4. Если L — контекстно-свободный язык, то LR тоже контекстно-свободный язык. Множество CFL не замкнуто относительно операции пересечения. Пример: L1={0n1n2i | n≥1,i≥1}, L2={0i1n2i | n≥1,i≥1}. Теорема о контекстно-свободном языке. Пусть L — контекстно-свободный язык над алфавитом Σ. Тогда найдётся такое натуральное число p, что для любого слова w ∈ L длины не меньше p найдутся слова u, v, x, y, z ∈ Σ∗, для которых верно uvxyz = w, vy ≠ ε (то есть v ≠ ε или y ≠ ε), |vxy|≤p и uvixyiz ∈ L для всех i ∈ N. Пример: Язык: L={0n1n2n | n≥1}. z = 0n1n2i =uvwxy, где n – характеристика CFL. Возможные варианты разбиения: vwx не содержит 2; vwx не содержит 0; vwx содержит только 1.