Примеры полуколец из теории формального языка

9

Я изучаю алгебраическую теорию разбора. Моя первая проблема - это определение примеров полукольца, специфичных для теории формального языка. Вот попытка построить два примера.

1 При заданной грамматике CNF элементами полукольца являются наборы терминальных и нетерминальных символов с операциями:

i) Умножение , объединяющее два набора попарно в соответствии с правилом CYK. Например, учитывая грамматику CNF

s: p p | q r
t: p q
u: q q

тогда

{п,Q,р}{п,р}знак равно{s,T}

II) дополнение установлено объединение, например,

{п,Q}{Q,р}знак равно{п,Q,р}

К сожалению, умножение не ассоциативно.

2 Элементами второго полукольца являются наборы не символов, а правил грамматики [не обязательно в CNF], дополненных положением. Операции

i) Умножение , объединяющее все совпадающие пары элементов согласно полному правилу Эрли. Например, учитывая грамматику CNF

s: p q r 
r: s t | u

тогда

{s:пQр,s:пQр}{р:U}знак равно{s:пQр}

II) Снова сложение объединения, например

{s:пQр,р:sT}{р:U}знак равно{s:пQр,р:sT,р:U}

Этот пример также несовершенен.

Полукольцо с элементами, представляющими собой наборы грамматических правил, и умножение, являющееся подстановкой правил, кажется, работает нормально. Тем не менее, это просто замаскированная алгебра отношений. Действительно, давайте рассмотрим каждое грамматическое правило как класс эквивалентности - набор пар слов, состоящих из терминальных и нетерминальных букв, связанных с применением правила, например

[T:sa]знак равно{(T,sa),(Ta,saa),(бT,бsa),(aбT,aбsa),,,,}

Тогда распознавание слова в грамматике - это цепочка реляционных композиций, например

[T:sa][s:aa]{(aaa,aaa)}знак равно{(T,aaa)}

(Этот моном напоминает полином парсера полукольца из диссертации доктора философии Джоша Гудмана; однако, позвольте еще раз повторить, что построение новых полуколец с использованием полиномов и матриц здесь не представляет для нас интереса).

Итак, остается вопрос: является ли полукольцо формальных языков над алфавитом?Σ единственный пример?

Тегири Ненаши
источник
1
Разве это не зависит от того, что вы подразумеваете под «специфическим для теории формального языка»? Семинар Гудмана "Разбор полукольца" имеет множество примеров полуколец; несомненно, булево полукольцо относится к теории формального языка, даже если оно не относится к теории формального языка.
Роб Симмонс
Да, это субъективно. Три вышеприведенных примера (два неэкспериментальных примера :-) показывают, что конструкция должна включать как минимум грамматические правила или нетерминалы.
Тегири Ненаши
1
Я готов ответить на вопрос, поднятый в названии (в теории формального языка действительно много полуколец), но я озадачен вашими примерами. Кажется, вы ищете очень конкретные примеры. Итак, хотите ли вы иметь какой-либо пример, относящийся к формальным языкам или конкретным, встречающимся при разборе?
Ж.-Е.
Да, я ожидал полуколец, уникальных для теории формального языка, и три приведенных выше примера демонстрируют мою неспособность заметить что-либо. Тем не менее, пожалуйста, покажите свои примеры: мне не терпится изучить полукольца, с которыми я не знаком.
Тегири Ненаши

Ответы:

5

Есть много полуколец, связанных с теорией языка. Прежде всего, булево полукольцо. Далее, любой класс языков, замкнутый при конечном объединении и (конкатенации), является подполукольцом полукольца всех языков. Например, рациональные (= регулярные) языки образуют полукольцо. См. Также связанное понятие алгебры Клини .

К×Кматрицы над полукольцом образуют полукольцо. В частности, матрицы над булевым полукольцом кодируют недетерминированные конечные автоматы и матрицы над чуть большим полукольцом{-,0,1}кодировать переходы автомата Бючи. Матрицы над полукольцами используются для характеристики рациональных рядов .

В тропических полукольцами , в частности ,(N{+},мин,+) а также (N{-},Максимум,+)играть выдающуюся роль в теории автоматов. Они также привели к новому разделу математики, тропической геометрии .

J.-E. Штырь
источник
0

Я думаю, что вы можете придумать больше полуколец с правилами Эрли. Возьми прогноз. Вы можете сформировать бинарный операторSп,КTзнак равноS(Y:γ, k) $ такое, что объединение распространяется на все соответствующие правила. Затем алгоритм сначала вычисляет первое состояние Эрли, заданное как бесконечное, но в конечном итоге повторяющееся (настолько конечное) произведение в операторе:

S(0)знак равноп,0S0(0), Я не знаю, если это образует полукольцо с союзом, хотя. Может быть, это также формирует отношения с другими операциями.

EnjoysMath
источник
Я не понимаю: почему операция умножения чем-то параметризована? Далее, умножение в вашем определении всего (то есть применяется к любой паре объектов (правило, позиция))?
Тегири Ненаши
@TegiriNenashi Idk! Я вернулся к вашему сообщению из поиска Google и нашел это, и я понятия не имею, что я пытался сказать. Странно ...
EnjoysMath