Нормальная форма Хомского — различия между версиями
KK (обсуждение | вклад) м (→Пример) |
KK (обсуждение | вклад) м (→Пример) |
||
Строка 45: | Строка 45: | ||
== Пример == | == Пример == | ||
{| border="1" class="wikitable" style="width: 500px; height: 500px; float: left;" | {| border="1" class="wikitable" style="width: 500px; height: 500px; float: left;" | ||
− | !style="background:# | + | !style="background:#41aef0"|Текущий шаг |
− | !style="background:# | + | !style="background:#41aef0"|Грамматика после применения правила |
|- | |- | ||
|''0. Исходная грамматика'' | |''0. Исходная грамматика'' |
Версия 13:10, 20 декабря 2015
Определение: |
Грамматикой в нормальной форме Хомского (англ. Chomsky normal form) называется контекстно-свободная грамматика, в которой могут содержаться правила только следующего вида:
, , где , — терминал, — нетерминалы, — стартовая вершина, — пустая строка, стартовая вершина не содержится в правых частях правил. |
Содержание
Приведение грамматики к нормальной форме Хомского
Теорема: |
Любую контекстно-свободную грамматику можно привести к нормальной форме Хомского. |
Доказательство: |
Рассмотрим контекстно-свободную грамматику . Для приведения ее к нормальной форме Хомского необходимо выполнить пять шагов. На каждом шаге мы строим новую , которая допускает тот же язык, что и .
Таким образом, мы получили грамматику в нормальной форме Хомского, которая допускает тот же язык, что и .Стоит заметить, что порядок выполнения операций важен. Первое правило должно быть выполнено перед вторым, иначе время нормализации ухудшится до . Третье правило идет после второго, потому что после удаления -правил, могут образоваться новые цепные правила. Также четвертое правило должно быть выполнено позже третьего, так как оно может порождать бесполезные символы.При таком порядке действий размеры грамматики возрастают полиномиально. После удалении длинных правил из каждого правила длины могло появиться новых правил, причем их длина не превышает двух. На этом шаге размер грамматики возрастает не более, чем вдвое.При удалении -правил из грамматики, содержащей правила длины и , размеры грамматики могли вырасти не больше, чем в раза.Всего цепных правил в грамматике не больше, чем Наконец, на последнем шаге может произойти добавление не более, чем , где — число нетерминалов. При удалении цепных правил мы берем каждую из цепных пар и производим добавление нецепных правил, выводимых из второго нетерминала в паре. Если максимальная суммарная длина всех правил, выводимых из какого-либо нетерминала, равна , то размер грамматики возрастет не больше, чем на . ( — алфавит грамматики) новых правил, причем все они будут длины . |
Пример
Текущий шаг | Грамматика после применения правила |
---|---|
0. Исходная грамматика | |
1. Удаление длинных правил | |
2. Удаление | -правил|
3. Удаление цепных правил | |
4. Удаление бесполезных символов | |
5. Уберём ситуации, когда в правиле встречаются несколько терминалов. |
См. также
- Контекстно-свободные грамматики
- Нормальная форма Куроды
- Приведение грамматики к ослабленной нормальной форме Грейбах
Источники информации
- Wikipedia — Chomsky normal form
- Хопкрофт Д., Мотвани Р., Ульман Д. — Введение в теорию автоматов, языков и вычислений, 2-е изд. : Пер. с англ. — Москва, Издательский дом «Вильямс», 2002. — 280с. : ISBN 5-8459-0261-4 (рус.)