Нормальная форма Хомского — различия между версиями
| Строка 9: | Строка 9: | ||
Теперь у нас остались только правила вида <tex>A \rightarrow BC</tex>, <tex>A \rightarrow bc</tex> и <tex>S \rightarrow \varepsilon</tex> (при условии, что <tex>S</tex> не содержится в правых частях правил). Грамматика, содержащая правила только такого вида, называется грамматикой в '''нормальной форме Хомского'''. | Теперь у нас остались только правила вида <tex>A \rightarrow BC</tex>, <tex>A \rightarrow bc</tex> и <tex>S \rightarrow \varepsilon</tex> (при условии, что <tex>S</tex> не содержится в правых частях правил). Грамматика, содержащая правила только такого вида, называется грамматикой в '''нормальной форме Хомского'''. | ||
| + | |||
| + | Заметим, что любую контекстно-свободную грамматику можно привести к нормальной форме Хомского. Такая форма грамматики очень удобна для работы многих алгоритмов над грамматиками. | ||
Версия 20:55, 11 октября 2010
Рассмотрим контекстно-свободную грамматику , из которой удалены бесполезные символы, -правила, длинные правила и цепные правила. Такая грамматика содержит только правила следующего вида:
- (при условии, что не содержится в правых частях правил)
Избавимся от правил, в правых частях которых записаны два символа, один из которых является терминалом, то есть правил вида и . Введем для каждого терминала "персональный" нетерминал . Затем правила вида заменим парой правил и , а правила вида — тройкой правил , и .
Теперь у нас остались только правила вида , и (при условии, что не содержится в правых частях правил). Грамматика, содержащая правила только такого вида, называется грамматикой в нормальной форме Хомского.
Заметим, что любую контекстно-свободную грамматику можно привести к нормальной форме Хомского. Такая форма грамматики очень удобна для работы многих алгоритмов над грамматиками.