Способы описания формальных языков. Лекция 3

Содержание

Слайд 2

План лекции 1 Эквивалентность грамматик 2 Классификация грамматик по Хомскому 3

План лекции

1 Эквивалентность грамматик
2 Классификация грамматик по Хомскому
3 Механизмы

распознавания
языков
4 Регулярные грамматики и языки
Слайд 3

1 Эквивалентность грамматик G1 ≅ G2 ⇔ L(G1) =L( G2) Пример

1 Эквивалентность грамматик

G1 ≅ G2 ⇔

L(G1) =L( G2)

Пример

G1=({0, 1},

{A, S}, P1, S), где

Р1: 1) S→ 0A1; 2) 0A→ 00A1; 3) A→ε.

G3 = ({0, 1}, {S}, P3, S), где P3: S → 0S1 | 01.

G1 ≅ G3, т.к. L(G1 ) =L( G3) = {0n1n | n>0}

Слайд 4

G1 ≅ε G2 ⇔ L(G1)∪{ε}= L(G2)∪{ε} G2 = ({0, 1}, {S},

G1 ≅ε G2 ⇔

L(G1)∪{ε}= L(G2)∪{ε}

G2 = ({0, 1}, {S}, P2, S),

где P2: S → 0S1 | ε.

G1 ≅ε G2, т.к. L( G2) = {0n1n | n≥0}

Пример

Эквивалентность грамматик

G1=({0, 1}, {A, S}, P1, S), где

Р1: 1) S→ 0A1; 2) 0A→ 00A1; 3) A→ε.

Слайд 5

2 Классификация грамматик по Хомскому Т0. Фразовая Т1. Контекстно-зависимая Р :

2 Классификация грамматик по Хомскому

Т0. Фразовая

Т1. Контекстно-зависимая

Р :

α→β, где α ∈ (VT ∪ VN)+,
β ∈ (VT ∪ VN)* и |α| ≤ |β|,

Т2. Контекстно-свободная

Р : А→β, где А ∈ VN, β ∈ V *

Т3. Регулярная, выровненная вправо(влево)

А→ ε

, S→ ε

G = (VT, VN, P, S)

P: A → aB | a, где a∈VT; A, B ∈VN
A → Ba | a

Слайд 6

Соотношение типов грамматик и языков Т0 КЗ КС Р Р –

Соотношение типов грамматик и языков

Т0

КЗ

КС

Р

Р – регулярная грамматика;
КС –

контекстно-свободная грамматика;
КЗ – контекстно-зависимая грамматика;
Т0 – фразовая грамматика.
Слайд 7

Язык типа 0 L(G)= 1) S → aaCFD; 2) AD →

Язык типа 0

L(G)=

1) S → aaCFD; 2) AD → D;
3)

F → AFB | AB; 4) Cb → bC;
5) AB → bBA; 6) CB → C;
7) Ab → bA; 8) bCD → ε.
Слайд 8

Контекстно-зависимый язык L(G)={anbncn | n≥1} 1) S → aSBC | aBC;

Контекстно-зависимый язык

L(G)={anbncn | n≥1}

1) S → aSBC | aBC; 2)

CB → BC;
3) aB → ab; 4) bB → bb;
5) bC → bc; 6) cC → cc.
Слайд 9

Контекстно-свободный язык L(G)={(aс)n(cb)n | n>0} 1) S → aQb | accb; 2) Q → cSc.

Контекстно-свободный язык

L(G)={(aс)n(cb)n | n>0}

1) S → aQb | accb;
2)

Q → cSc.
Слайд 10

Регулярный язык L(G)={ω⊥ | ω∈{a, b}+, где нет двух рядом стоящих

Регулярный язык

L(G)={ω⊥ | ω∈{a, b}+, где нет двух
рядом

стоящих а}

1) S → A⊥ | B⊥;
2) A → a | Ba;
3) B → b | Bb | Ab.

Слайд 11

Схема распознавателя Вспомогательная память Входная лента 3 Механизмы распознавания языков а1

Схема распознавателя

Вспомогательная
память

Входная лента

3 Механизмы распознавания
языков

а1

а2


а3

аn

Управляющее
устройство

Слайд 12

4 Регулярные грамматики и языки Регулярный язык L в алфавите Σ

4 Регулярные грамматики и языки

Регулярный язык L в алфавите Σ -


регулярное множество строк.

∅;

Регулярное множество:

{ε};

{а} для некоторого а ∈Σ;

конечное число объединений,
сцеплений и итераций.

Слайд 13

Язык L1 = {0m1n | m, n ≥0} - регулярный Применение

Язык L1 = {0m1n | m, n ≥0} - регулярный

Применение

леммы о разрастании языка

(0000111, 000111, 001111, 00111111 …)

00111

Язык L2 = {0n1n | n ≥1} - нерегулярный

000111

(0000111, 0001111, 000111111 …)

Слайд 14

Регулярное выражение над алфавитом Σ: 1) ∅ ( обозначает: ∅); 2)

Регулярное выражение над алфавитом Σ:

1) ∅ ( обозначает: ∅);

2) ε

( обозначает: {ε});

3) а ∈Σ ( обозначает: {а});

4) если p и q ( обозначающие P и Q), то :

а) p|q или p+q (обозначает: P∪Q) - альтернатива;

б) pq или p⋅q (обозначает: PQ = {xy | x ∈P, y ∈Q}) -конкатенация;

в) p* ( обозначает: P* ) - итерация.

Слайд 15

единственная строка 01 две строки: 0 и 1 строка 0 и

единственная строка 01

две строки: 0 и 1

строка 0 и строки, образованные

из единиц,
включая пустую строку

строки, образованные из символов 0 и 1, включая пустую строку

строки, начинающиеся с нуля и последующей строки единиц, включая пустую

строки, образованные из символов 0 и 1,
включая пустую, обязательно
оканчивающиеся строкой 011

01

0|1

0|1*

(0|1)*

01*

(0|1)*011