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

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 не замкнуто относительно операции пересечения. Пример: L­1={0­n1n2i­ | n≥1,i≥1}, L­2={0­i1n2i­ | 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={0­n1n2n­ | n≥1}. z = 0­n1n2i­ =uvwxy, где n – характеристика CFL. Возможные варианты разбиения: vwx не содержит 2; vwx не содержит 0; vwx содержит только 1.