Нормальная форма игры
- 1 year ago
- 0
- 0
Нормальная форма Хомского — свойство формальной грамматики , если все её продукции имеют вид:
где , и — нетерминалы, — терминальный символ (представляющий постоянное значение), — начальный символ, и — пустая строка . Также ни , ни не может быть начальным символом.
Каждая грамматика в нормальной форме Хомского является контекстно-свободной , и наоборот, каждая контекстно-свободная грамматика может быть эффективно преобразована в эквивалентную грамматику в нормальной форме Хомского.
За исключением возможного правила (используемого, когда грамматика может порождать пустую строку), все правила грамматики в нормальной форме Хомского неукорачивающие; то есть, в процессе вывода строки каждая цепочка из терминалов и нетерминалов всегда имеет либо ту же длину, что и предыдущая, либо на один элемент больше. Вывод строки длины всегда занимает ровно шагов. Кроме того, так как все правила вывода нетерминалов переводят один нетерминал в ровно один терминал или в ровно два нетерминала, , основанное на грамматике в нормальной форме Хомского, составляет собой бинарное дерево, высота которого ограничена длиной строки.
Благодаря этим свойствам, многие доказательства в теории формальных языков и вычислимости используют нормальную форму Хомского. Эти свойства также служат основой различных эффективных алгоритмов — например, CYK-алгоритм , определяющий, может ли данная строка порождаться данной грамматикой, использует нормальную форму Хомского.
Названа по имени Ноама Хомского , американского лингвиста, предложившего иерархию Хомского .
Некоторые источники определяют нормальную форму Хомского несколько иначе.
Формальная грамматика находится в нормальной форме Хомского , если все её продукции имеют вид:
где , и — нетерминалы, и — терминальный символ . При использовании такого определения и могут быть начальными символами.
Это определение отличается от предыдущего, так как исключает возможность порождения пустой строки . По прежнему справедливо, что любая контекстно-свободная грамматика , порождающая язык , может быть эффективно преобразована в нормальную форму Хомского, порождающую . Принципиальное преимущество последнего определения в том, что доказательства в целом немного упрощаются, так как каждый шаг вывода никогда не уменьшает длину результирующей строки. Разумеется, его недостаток состоит в том, что требуется отдельное рассмотрение случая, когда грамматика порождает .