
- •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 Языки, не являющиеся регулярными. Примеры. Два свойства регулярных языков.
12 Метод перевода контекстно-свободных грамматик (cfg) на автоматы со стеком.
Конструктивный алгоритм построения PDA по CFG: Для данной CFG G строится PDA, имитирующий левосторонний вывод для G. Пусть G = (V , T, Q , S ). Строится PDA P, который распознает язык L (G) по пустому стеку: P = ({ q} , T , V ∪ T , δ, q, S ), где функция переходов δ определена следующим образом: для каждой переменной A, δ (q, ε , A ) = { (q, β ) | A → β правило вывода в G }; для каждого терминала a, δ (q, a , a ) = { (q, ε )}. I → a | b | Ia | Ib | I0 | I1. E → I | E ∗ E | E + E | (E ). PDA P = ({q} , T, Γ, δ, q, S ): T = { a , b , 0 , 1 , (, ), +, ∗}. Γ = T ∪ {I, E } . δ : δ (q, ε , I) = { (q, a ), (q, b ), (q, Ia ), (q, Ib ), (q, I0 ), (q, I1 )}. δ (q, ε , E ) = { (q, I), (q, E + E ), (q, E ∗ E ), (q, (E ))}. δ (q, a , a ) = { (q, ε )}; δ (q, b , b ) = {(q, ε )} ; δ (q, 0 , 0 ) = { (q, ε )}; δ (q, 1 , 1 ) = { (q, ε )} ; δ (q, (, () = { (q, ε )} ; δ (q, ), )) = {(q, ε )} ; δ (q, +, +) = {(q, ε )} ; δ (q, ∗, ∗) = { (q, ε )}.
13 Минимизация числа состоянии для конечных автоматов. Примеры.
Существует быстрый алгоритм, позволяющий по произвольному детерминированному конечному автомату находить минимальный (по количеству состояний автомат среди детерминированных конечных автоматов, эквивалентных исходному автомату. Доказательство. Без ограничения общности можно предположить, что дан полный детерминированный конечный автомат <Q,Σ,Δ, I, F>, все состояния которого достижимы из начального состояния(для обеспечения полноты достаточно добавить одно состояние). Для каждого натурального числа i определим на множестве Q отношение эквивалентности ≡i : p ≡0 q ⇐⇒ (p ∈ F и q ∈ F) или (p∉ F и q ∉ F), p ≡i+1 q ⇐⇒ p ≡i q и Δa(p) ≡i Δa(q) для каждого a ∈ Σ. Легко видеть, что p ≡i q тогда и только тогда, когда никакое слово длины не больше i не различает p и q. Обозначим n = |Q|. Легко проверить, что для любого k ≥ n отношение ≡k совпадает с отношением ≡n−1. Используя классы эквивалентности отношения ≡n−1 как состояния, можно построить минимальный полный детерминированный конечный автомат. Удалив из него бесполезное состояние (из которого не достижимо ни одно заключительное состояние), если такое имеется, получим искомый минимальный детерминированный конечный автомат. Пример. Рассмотрим полный детерминированный конечный автомат <{1,2, 3, 4, 5, 6},{a, b},Δ, {1},{1,3}>, где Δ = {<1, a, 2>, <2, b, 3>, <3, a, 4>, <4, b, 1>,<4, a, 5>,<5, a, 5>,<1, b, 6>, <2, a, 6>, <3, b, 6>,<5, b, 6>, <6, a, 6>, <6, b, 6>}. Он эквивалентен минимальному детерминированному конечному автомату <{{1, 3}, {2, 4}}, {a, b},Δ’, {{1, 3}}, {{1, 3}}>, где Δ’ = {<{1, 3}, a, {2, 4}>, <{2, 4}, b, {1, 3}>}.
14 Недтерминированный конечный автомат. Языки распознаваемые недетерминированным автоматом.
Конечный автомат-это пятёркаM=(K, Σ, δ,s,F ), где Σ -алфавит, K- конеч. набор состояний, s - начальное состояние, F- конеч. сост. δ -переход. Каждый конечный язык является автоматным. Конечный автомат (K, Σ, δ,s,F ) называется детерминированным, если 1)мн-во s содержит ровно один элемент, 2) для каждого перехода (p, x, q)∈ δ выполняется равенство |x| = 1; 3) для любого символа a ∈ Σ и для любого сост p ∈ Q существует не более 1го сост q ∈ Q со св-вом (p, a, q)∈ Δ. Пример: Пусть M детерминированный конечный автомат <K, Σ, δ, s, F>, где :K = {q0, q1}, Σ = {a, b}, s = q0, F = {q0}, а δ это функция, заданная следующей таблицей:
q |σ|δ(q, σ)
q0 |a| q0
q0| b| q1
q1| a| q1
q1| b| q0
Язык, распознаваемый конечным автоматом M, — это я зык L(M), состоящий из меток всех успешных путей (то есть из всех допускаемых данным автоматом слов). Замечание . Если I ∩ F , то я зык, распознаваемый конечным автоматом <Q,Σ, δ, I, F>, содержит ε. Пример. Пусть M = <Q,Σ, δ, I, F>, где Q = {1, 2}, Σ = {a, b}, δ = {<1, a, 2>, <2, b, 1>}, I = {1} и F = {1, 2}. Тогда L(M) = {(ab)n | n≥ 0} ∪ {(ab)na | n ≥ 0}.
15 Операции над множествами. Функций и отношения. Перечислимые и не перечислимые множества.
Объединение:
A
∪
B
= {x|x
∈
A
или x
∈
B};
объединения семейства мн-в: Аi
(i
∈
I)
∪Ai={x|
i0
∈
I,
x
∈
Aio};
Пересечение: A ∩ B = {x|x ∈ A и x ∈ B};Пересечение семейства мн-в A: ∩i∊A Ai {x|x ∈ A, для всех i ∈ I};
Разность: A \ B = {x|x ∈ A и x ∉ B}; Дополнение: Ā = U\A {x|x ∈ U и x∉A }; симметричная разность: A ∆ B=(А\B) ∪(B/A)=(A∪B)\(A∩B).
1)Декартовым произведением мн-в A и Аn наз. мн-вом A1×A2×...×An={<a11,...,an>|a1 ∈ A1,..., an∈An}
2)Бинарным отношением на мн-вах A и B называется подмн-во A × B. К примеру, {(1, b), (1, c), (3, d), (9, d)} является бинарным отношением на наборах {1, 3, 9} и {b, c, d}, а {(i, j)|i, j ∈ N и i < j} это отношение "меньше", задано оно на N × N.
a) domr ={x| y, (x,y) ∈R}; б)ranr ={x| y, (y,x)∈R }; в)(-R) Ṝ=(A×B)\R; г)R-1={(x,y)| (y,x) ∈R}; д)R(x)={y| x∈X, (x,y) ∈R};е)R1⊆A×B и R2⊆B×C R1◦R2={(x,y)| z, (x,z) ∈R1 и (z,y) ∈R2};
отношение f наз ф-я из А в B , если domf =A и ranf ⊆B и для всех x,y1,y2. из (x,y1) ∈f и (x,y2) ∈f=>y1=y2.
Функция f : A → B наз. инъективной, если для любого b∈B сущ-ет не более 1го a∈A, f(a)=b.
Функция f : A → B наз. сюръективной (отображение на), если ran(f)=B.
Функция наз. биективной (взаимно-однозначная), если f и сюръективна и инъективна.
если f⊆A ×B и g⊆B×C ф-я, то их композиция f◦g⊆A×C, f◦g является функцией.
если f-биективная ф-я, то обратная ф-я f -1 определяется как обратное отн-е.