Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
57
Добавлен:
16.04.2015
Размер:
912.3 Кб
Скачать

Нормальная форма Хомского

Итак, в P2 находятся: Ret 44 правила грамматики G1 вида

(1)A a,

(2)A B1B2 … Bm ,

и новые правила вида

(3) A С1С2 … Сm , m 2,

Ret 123

(4) С a,

 

 

 

где а VT общие терминалы;

 

1

(1

i m) нетерминалы G1;

A, Bi VN

C VN2 \ VN1

новые нетерминалы G2;

 

2

j

m) нетерминалы, но не все

Cj VN (1

 

 

старые, т. е. из VN1 .

41

 

 

 

Нормальная форма Хомского

Пока не все правила грамматики G2 удовлетворяют нормальной форме Хомского: именно правила с длиной правых частей больше 2.

Прежде, чем продолжить преобразование грамматики G2, покажем, что она эквивалентна грамматике G1.

42

Нормальная форма Хомского

I. Докажем, что L(G1) L(G2).

*

 

Пусть S x. Любой шаг этого вывода в

G1

 

грамматике

G1, на котором используется

правило

A B1B2 ... Bm P1, m 2,

где не все Bj (1 j m) нетерминалы (в нём есть и терминалы), равносилен в грам-

матике G2 применению нового правила

 

A C1C2 ... Cm P2

 

и нескольких правил вида Cj Bj P2, где

*

 

Bj VT (1 j m) . Поэтому S x.

 

G2

43

 

Нормальная форма Хомского

II. Докажем, что L(G2) L(G1).

Индукцией по длине вывода l покажем, что

если

 

l

A

 

G

 

 

2

 

1

для любого A V

 

N

, то A

x, где x V T

существует вывод

 

 

*

x.

G

1

 

База. Пусть l = 1.

Так как в выводе A x применятся правило

G2

вида (1) A x P2, где x VT, единственно

возможное, дающее терминал, то оно имеется также и во множестве правил грамматики G1,

а тогда A x.

G1

44

Нормальная форма Хомского

Индукционная гипотеза. Предположим, что утверждение выполняется для всех 1 l n

(n 1).

Индукционный переход. Пусть

 

A

l

 

 

 

x, где l = n + 1.

 

 

G

 

 

 

 

2

 

 

Этот вывод имеет вид:

 

A C C

... C

n

x, где m 2.

G2

1

2

m

G2

 

 

 

Очевидно, что x = x1x2xm, причём

l j

 

 

lj n, j =1, 2,..., m.

Cj xj, 1

G

 

 

 

 

2

 

 

 

 

45

Нормальная форма Хомского

2

1

, то существует только

Если Cj VN

\ VN

одно правило из множества правил P2, которое определяет этот нетерминал: Cj aj для некоторого aj VT. В этом случае aj = xj.

По построению правило

A C1C2 ... Cm P2,

используемое на первом шаге вывода, обязано своим происхождением правилу

A B1B2...Bm P1,

где Bj = Cj , если Cj VN1 , и

Bj = aj , если Cj VN2 \ VN1 .

46

Нормальная форма Хомского

Для Cj

V1 N

мы имеем выводы

l j

xj , 1 lj n,

 

Cj G

2

 

 

ипо индукционному предположению

существуют выводы Bj

* G1

xj (1 j m).

Итак, имеем:

 

 

 

 

 

 

*

 

*

 

A

G1

B1B2

... Bm G

x1B2 ...

 

 

 

1

 

* x1x2xm = x.

G1

При A = S получаем, что x L(G1).

 

 

*

*

Bm G

x1x2 Bm G1

1

 

как частный случай,

47

Нормальная форма Хомского

Итак, мы доказали промежуточный результат: любой КС-язык может быть порожден КС-грамматикой, каждое правило которой имеет форму

A a или A B1B2 ... Bm, где m 2;

A, B1, B2, ..., Bm — нетерминалы; a — терминал.

Очевидно, что все правила при m 2 имеют такой вид, какого требует нормальная форма Хомского.

48

Нормальная форма Хомского

Остается преобразовать правила для m 3 к надлежащему виду.

Модифицируем G2, добавляя некоторые дополнительные нетерминалы и заменяя некоторые её правила.

49

Нормальная форма Хомского

Именно, по каждому правилу вида

A B1B2 ... Bm P2, где m 3,

создаются новые нетерминалы

D1, D2, ..., Dm – 2 VN2 ,

и оно заменяется множеством правил

{ A B1 D1,

D1 B2 D2,

Dm – 3 Bm – 2 Dm – 2, Dm – 2 Bm – 1 Bm }.

Ret 123

50

Соседние файлы в папке lectures