Нормальная форма Хомского — различия между версиями
Строка 1: | Строка 1: | ||
{{Определение | {{Определение | ||
− | |definition=Грамматикой в нормальной форме Хомского (''Chomsky normal form'') называется грамматика, в которой содержатся правила только следующего вида | + | |definition=Грамматикой в нормальной форме Хомского (''Chomsky normal form'') называется грамматика, в которой могут содержатся правила только следующего вида |
<tex>A \rightarrow B C </tex> | <tex>A \rightarrow B C </tex> | ||
Версия 03:43, 26 октября 2011
Определение: |
Грамматикой в нормальной форме Хомского (Chomsky normal form) называется грамматика, в которой могут содержатся правила только следующего вида
(где — терминал, — нетерминалы, — стартовая вершина, — пустая строка). |
Рассмотрим контекстно-свободную грамматику , из которой удалены бесполезные символы, , -правиладлинные правила и цепные правила. Такая грамматика содержит только правила следующего вида:
- возможно, (при условии, что не содержится в правых частях правил)
Избавимся от правил, в правых частях которых записаны два символа, один из которых является терминалом, то есть правил вида
, и . Введем для каждого терминала "персональный" нетерминал . Затем правила вида заменим парой правил и , правила вида заменим парой правил и , а правила вида — тройкой правил , и .Теперь у нас остались только правила вида
, и, возможно, (при условии, что не содержится в правых частях правил). Грамматика, содержащая правила только такого вида, называется грамматикой в нормальной форме Хомского.Заметим, что любую контекстно-свободную грамматику можно привести к нормальной форме Хомского. Такая форма грамматики очень удобна для работы многих алгоритмов над грамматиками, например, алгоритм Кока-Янгера-Касами