Упражнение 2.1.25 |
Нормальные формы контекстно-свободных грамматик
8.2. Устранение эпсилон-правил
Теорема 8.2.1. Пусть язык является контекстно-свободным.
Тогда язык
порождается некоторой контекстно-свободной грамматикой
без
- правил.
Доказательство.
Пусть дана контекстно-свободная грамматика ,
порождающая язык L.
Проведем серию преобразований множества P.
Если для каких-то ,
,
и
множество P содержит правила
и
,
но не содержит правила
,
то добавим это правило в P.
Повторяем эту процедуру, пока возможно.
Теперь исключим из множества P
все правила вида .
Полученная грамматика порождает язык
.
Пример 8.2.2. Рассмотрим язык L, порождаемый грамматикой



Упражнение 8.2.3. Найти контекстно-свободную грамматику
без -правил,
эквивалентную грамматике

8.3. Нормальная форма Хомского
Определение 8.3.1. Грамматика в нормальной форме Хомского
( грамматика в бинарной нормальной форме,
квадратичная грамматика, grammar in Chomsky normal form) -
контекстно-свободная грамматика ,
в которой
каждое правило имеет один из следующих трех видов:
,
,
,
где
,
,
,
.
Пример 8.3.2. Грамматика

Теорема 8.3.3. Каждая контекстно-свободная грамматика эквивалентна некоторой грамматике в нормальной форме Хомского.
Доказательство.
Пусть дана контекстно-свободная грамматика .
Проведем ряд преобразований этой грамматики так, что порождаемый ею язык
остается неизменным.
Если правая часть какого-нибудь правила содержит символ S,
то заменим грамматику
на грамматику


Заменим во всех правилах каждый терминальный символ a
на новый нетерминальный символ Ta
и добавим к множеству P
правила
для всех
.
Устраним правила вида ,
где
,
заменив каждое из них на ряд более коротких правил
(при этом добавляются новые нетерминальные символы).
Теперь устраним все правила вида ,
где A не является начальным символом.
Это можно сделать так же, как в доказательстве
теоремы 8.2.1.
Если для каких-то ,
и
множество P содержит правила
и
,
но не содержит правила
,
то добавим это правило в P.
Повторяем эту процедуру, пока возможно.
После этого исключим из множества P
все правила вида
.
Пример 8.3.4. Грамматика


Теорема 8.3.5. Если контекстно-свободный язык не содержит пустого слова,
то он порождается некоторой грамматикой,
в которой
каждое правило имеет один из следующих двух видов: ,
, где
,
,
,
.
Упражнение 8.3.6. Найти контекстно-свободную грамматику в нормальной форме Хомского, эквивалентную грамматике
