Оценка длины цепочки

Пусть L(G) - некоторый e-свободный КС-язык, причем G - грамматика в НФХ.

Теорема: Если некоторая цепочка х языка L(G) имеет дерево вывода глубины m, то длина цепочки |x|£ 2m-1.

Следствие: Если длина некоторой цепочки |x|>2m, то дерево вывода имеет глубину более чем m.

Основная теорема КС-языков:

Пусть L - КС-язык, порожденный грамматикой G в НФХ. Тогда существуют целые числа l1 и l2 такие, что для любой zÌL, длина которой |z|>l1 справедливо следующее утверждение:

z= uvwxy.

1. длина цепочки |vwx|£l2;

2. цепочка vx¹e;

3. для любых i³0 существует цепочка uviwxiy.

Доказательство: Положим n= |N| - мощность множества нетерминалов. Возьмем l1= 2n-1 и l2= 2n. По условию теоремы |z|>2n-1, тогда глубина дерева больше n. На этом пути обязательно встретятся два одинаковых нетерминала. Возьмем два таких нетерминала, которые дальше всего отстоят от корня. Начиная с N1 путь имеет длину не более n+1. Таким образом, длина цепочки, выводимой из вершины N1 не более, чем 2n. Значит любая цепочка, выводимая из N1 не больше 2n.

|vwx|<2n= l2 и vx¹e, так как из N1 выходят две дуги.

A®*vAx и A®*w, следовательно A®*vwx. Тогда A®*vAx®*v2Ax2®* viAxi. Следовательно, S®*uAy®* uviwxiy.

Вопросы и упражнения

Пусть задана грамматика G=(T, N, S, P):

S®AB

A®ba

B®с

1.Постройте вывод цепочки в данной грамматики.

2.Постройте для полученной цепочки дерево вывода.

3. Сравните длину цепочки и глубину дерева вывода. Верна ли данная теорема?


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: