Насколько мощны CFG, которые допускают бесконечное количество правил?

9

Недавно я задавался вопросом, что произойдет, если мы позволим грамматикам без контекста иметь бесконечное количество правил. Ясно, что если бы мы допустили произвольные такие бесконечные наборы правил, каждый язык над некоторым алфавитом мог бы быть описан с помощью CFG с . Но что, если мы ограничим такими наборами правил, которые могут быть созданы с помощью контекстно-свободных грамматик?LΣG=({S},Σ,R,S)R={SwwL}R

Для этого, учитывая набор нетерминалов и терминалов , давайте рассмотрим правила не как элементы , а как строки над алфавитом . Теперь мой вопрос, если мы определим бесконечное правило CFG как кортеж гдеNΣN×(NΣ)R(N,Σ)=NΣ{}G=(N,Σ,R,S)

  • N - конечное множество нетерминалов
  • Σ это конечный алфавит
  • R - это набор правил вида с , таких, что существует некоторый CFG над сAwANw(NΣ)GR(N,Σ)R=L(G)
  • SN - начальный нетерминал

и мы определяем для таких бесконечных правил CFG, как это делается для CFG, какова связь между классом языков, генерируемых бесконечными правилами CFG (назовем этот класс ), классом контекстно-свободных языков а класс ?L(G)irCFCFRE

Очевидно, у нас есть , но является ли эквивалентным одному из этих классов (или некоторому другому классу)?CFirCFREirCF

vauge
источник

Ответы:

7

Предположим, мы берем метаграмму и разлагаем ее по двухсимвольным префиксам. Другими словами, для каждого конструкта , слева-производная над строкой . Это будет производить (конечное) множество (конечный) metagrammars, каждый из которых производит все (возможно , бесконечные) для некоторых производств .GANGAGAAN

Теперь построим грамматику , правила которой являются объединением всех правил в грамматиках (с нетерминалами, переименованными во избежание столкновений), вместе с для каждого , где - начальный нетерминал для . для включают в себя и все нетерминалы для каждого ; начало не-терминала является началом не-терминал , и терминалы для в точности клеммы для . Я утверждаю (без доказательств), чтоGGAASGAGASGAGAGNGAGGGGявляется конечной грамматикой для того же языка, поскольку происхождение правил не влияет на процесс деривации; это просто подстановка строк над алфавитом.

Если приведенный выше план доказательства действителен, и одинаковы.CFirCF

Как я упоминал в комментарии, есть более интересные примеры двухуровневых грамматик, в том числе грамматик Ван Вейнгаардена и различных попыток создать более управляемый формализм без потери всей дополнительной мощности.

RICi
источник