Замкнутость классов языков относительно операций#20
Замкнутость классов языков относительно операций#20HumsterProgrammer wants to merge 10 commits intomainfrom
Conversation
TonitaN
left a comment
There was a problem hiding this comment.
Денис, с конъюнктивными грамматиками есть важное отличие в структуре разбора. У нас граф с расшаренными вершинами, мы не можем стирать их без влияния на соседние :(
Теория/Замкнутость классов язков.md
Outdated
There was a problem hiding this comment.
А вот тут есть тонкость) Если в КС-случае и регулярном мы можем сделать это очень просто, поскольку вывод каждой буквы - это путь в дереве, то в конъюнктивном случае вывод буквы - пусть в графе, и если мы стираем какие-то подграфы у него, он может поменяться.
В частности, конъюнктивные грамматики кодируют истории вычислений МТ (это довольно нетрудно понять, потому что два соседних состояния ленты можно КС-но разобрать через реверсирование). И если бы у нас была замкнутость относительно морфизмов, то конъюнктивные грамматики могли бы вывести какой угодно рекурсивный язык.
Ещё один момент - вспомним разбор языка {wcw | w in {a,b}*}. Там в графе разбора очень сильна привязка к c, и если его стереть, разбор сразу сломается.
There was a problem hiding this comment.
Вечно забываю о стирающих морфизмах :(
There was a problem hiding this comment.
Может, сделать отдельно все морфизмы и нестирающие?
По замкнутости относительно нестирающих морфизмов - у конъюнктивных языков это открытая проблема) (связана тоже с расшариванием подвыводов: мы не можем расшарить подвыводы для разных букв, но можем для одной и той же, в которую они отображаются, поэтому язык после нестирающего морфизма может - как минимум, есть такая гипотеза - стать шире, чем ожидаемый гомоморфный образ)
There was a problem hiding this comment.
Да, хороший вариант разделить их, как разделил объединение например
TonitaN
left a comment
There was a problem hiding this comment.
Ещё одна причина их разделить)
Теория/Замкнутость классов язков.md
Outdated
There was a problem hiding this comment.
О, кстати. Насчёт h^-1 и конечных языков. Кажется, кто-то опять забыл про стирающие морфизмы)
There was a problem hiding this comment.
Если ничего не путаю, то с помощью обратного морфизма ы получаем множество слова, из которых действием морфизма мы получим слово из конечного языка.
Но если исходный морфизм(прямой морфизм) был стирающим, то тогда можно ли вообще говорить об обратном? Это же получается можно между любыми символами вставлять исходный символ, который стирался?
То есть пример. Имеем множество из одного слова {aa}, и морфизм
Поэтому вопрос остается прежним - имеет ли смысл обратные затирающие морфизмы?
There was a problem hiding this comment.
Конечно имеют, и конечно можно ими пользоваться) Например, через них и пересечения с регулярным языком можно выразить асинхронную композицию КС-языка и регулярного языка (шаффл).
И вы правильно заметили, что они могут порождать сколь угодно длинные отрезки слов в алфавите A тех букв, которые отображаются в пустое слово. Но это просто нужно между каждыми символами, полученными нестирающим обратным морфизмом, вставить пресловутый язык A*.
There was a problem hiding this comment.
Хорошо, учту и тоже раздельно рассмотрю стирающие и нестирающие прямые и обратные морфизмы
|
как всегда про многое хорошее додумались уже до нас. |

Продолжаю заливать материалы, которые готовил в время семестра ТФЯ. На этот раз табличка с замкнутостью классов языков относительно различных операций. Но в исходной версии было достаточно много ошибок, поэтому заполняю с относительного нуля и расширил дополнительными операциями. Кроме этого после таблички буду приводить доказательства утверждений.
P.S. также вдохновлено фармой и экзаменом