Я изучаю алгебраическую теорию разбора. Моя первая проблема - это определение примеров полукольца, специфичных для теории формального языка. Вот попытка построить два примера.
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) Снова сложение объединения, например
Этот пример также несовершенен.
Полукольцо с элементами, представляющими собой наборы грамматических правил, и умножение, являющееся подстановкой правил, кажется, работает нормально. Тем не менее, это просто замаскированная алгебра отношений. Действительно, давайте рассмотрим каждое грамматическое правило как класс эквивалентности - набор пар слов, состоящих из терминальных и нетерминальных букв, связанных с применением правила, например
Тогда распознавание слова в грамматике - это цепочка реляционных композиций, например
(Этот моном напоминает полином парсера полукольца из диссертации доктора философии Джоша Гудмана; однако, позвольте еще раз повторить, что построение новых полуколец с использованием полиномов и матриц здесь не представляет для нас интереса).
Итак, остается вопрос: является ли полукольцо формальных языков над алфавитом? единственный пример?
источник
Ответы:
Есть много полуколец, связанных с теорией языка. Прежде всего, булево полукольцо. Далее, любой класс языков, замкнутый при конечном объединении и (конкатенации), является подполукольцом полукольца всех языков. Например, рациональные (= регулярные) языки образуют полукольцо. См. Также связанное понятие алгебры Клини .
В тропических полукольцами , в частности ,( N ∪ { + ∞ } , мин , + ) а также ( N ∪ { - ∞ } , максимум , + ) играть выдающуюся роль в теории автоматов. Они также привели к новому разделу математики, тропической геометрии .
источник
Удовольствие от полуколец: функциональная жемчужина в злоупотреблении линейной алгеброй
Эффективный разбор контекстно-свободных языков Разделяй и властвуй
источник
Я думаю, что вы можете придумать больше полуколец с правилами Эрли. Возьми прогноз. Вы можете сформировать бинарный операторS⊗р , кT= S⋃ ⋃ ( Y: ∙ γ , k) $ такое, что объединение распространяется на все соответствующие правила. Затем алгоритм сначала вычисляет первое состояние Эрли, заданное как бесконечное, но в конечном итоге повторяющееся (настолько конечное) произведение в операторе:
источник