|
Упражнение 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. Найти контекстно-свободную грамматику в нормальной форме Хомского, эквивалентную грамматике
