Удаление длинных правил из грамматики
Версия от 23:35, 26 октября 2011; Grechko (обсуждение | вклад)
Задача удаления длинных правил из грамматики возникает при попытке ее приведения к нормальной форме Хомского.
Определение: |
Пусть контекстно-свободная грамматика. Правило называется длинным если | —
Постановка задачи
Пусть контекстно-свободная грамматика, содержащая длинные правила. Требуется построить эквивалентную грамматику , не содержащую длинных правил.
—Алгоритм
Расмотрим длинное правило
Добавим в грамматику новых нетерминалов
Добавим в грамматику новое правило:
Удалим из грамматики правило . Проделаем описанную операцию с каждым длинным правилом в .
Пример работы
Покажем, как описанный алгоритм будет работать на следующей грамматике:
Для правила
Для правила
В итоге, полученная грамматика