Я изучаю алгебраическую теорию разбора. Моя первая проблема - это определение примеров полукольца, специфичных для теории формального языка. Вот попытка построить два примера.
1 При заданной грамматике CNF элементами полукольца являются наборы терминальных и нетерминальных символов с операциями:
i) Умножение , объединяющее два набора попарно в соответствии с правилом CYK. Например, учитывая грамматику CNF
s: p p | q r
t: p q
u: q q
тогда
II) дополнение установлено объединение, например,
К сожалению, умножение не ассоциативно.
2 Элементами второго полукольца являются наборы не символов, а правил грамматики [не обязательно в CNF], дополненных положением. Операции
i) Умножение , объединяющее все совпадающие пары элементов согласно полному правилу Эрли. Например, учитывая грамматику CNF
s: p q r
r: s t | u
тогда
II) Снова сложение объединения, например
Этот пример также несовершенен.
Полукольцо с элементами, представляющими собой наборы грамматических правил, и умножение, являющееся подстановкой правил, кажется, работает нормально. Тем не менее, это просто замаскированная алгебра отношений. Действительно, давайте рассмотрим каждое грамматическое правило как класс эквивалентности - набор пар слов, состоящих из терминальных и нетерминальных букв, связанных с применением правила, например
Тогда распознавание слова в грамматике - это цепочка реляционных композиций, например
(Этот моном напоминает полином парсера полукольца из диссертации доктора философии Джоша Гудмана; однако, позвольте еще раз повторить, что построение новых полуколец с использованием полиномов и матриц здесь не представляет для нас интереса).
Итак, остается вопрос: является ли полукольцо формальных языков над алфавитом? единственный пример?