Изменения

Перейти к: навигация, поиск

Удаление длинных правил из грамматики

393 байта убрано, 22:33, 26 октября 2011
Нет описания правки
}}
'''== Постановка задачи.'''==Пусть задана <tex>\Gamma</tex> {{---}} [[Контекстно-свободные грамматики, вывод, лево- и правосторонний вывод, дерево разбора|контекстно-свободная грамматика]] <tex>\Gamma</tex>. И пусть существует правило вида:*<tex>A \rightarrow \alpha_1 \alpha_2 ... \alpha_k </tex>, содержащая длинные правила.Требуется получить лишь правила вида:*построить эквивалентную грамматику <tex>A \rightarrow BCGamma'</tex> '''Удаление , не содержащую длинных правил.'''Давайте формально перезапишем:*<tex>A \rightarrow \alpha_1 A_1 </tex>. Тогда:*<tex>A_1 \rightarrow \alpha_2 A_2</tex>. И т.д.На <tex>k-1 -</tex>ой итерации получим:*<tex>A_{k-1} \rightarrow \alpha_k </tex>Тогда финально получим:*<tex>A \rightarrow A_{k-2} A_{k-1} </tex>.== Алгоритм ==
69
правок

Навигация