Моя проблема уже решена, так что мне просто нужно прочитать правильные ссылки?
Теория абстрактного семейства языков актуальна. Например, морфизмы, определенные датчиками конечного состояния, приводят к семейству конусов . Короткий доклад Эйленберга на ICM 1970 года прекрасно объясняет эту структуру, см. Также главу 11 «Свойства замыкания семейств языков» из « Введение в теорию автоматов, языков и вычислений» (1-е изд.) Дж. Хопкрофта и Дж. Уллмана из 1979 г. Однако только недетерминированные языки вписываются в эту структуру 1 . В конце концов, книга « Теория кодов » Дж. Берстеля и Д. Перрина 1985 года помогла мне найти разумные решения для моей проблемы. Коды и автоматыJ. Berstel, D. Perrin и C. Reutenauer с 2009 года представляют собой крупный пересмотр этой книги с гораздо более широким охватом.
Есть ли у этой линии рассуждения хоть какой-то шанс "разрешить" мою проблему? Имеет ли моя проблема смысл, или это так же ошибочно, как ...?
Предположение, что существует одна правильная категория для моделирования изоморфизмов между языками для «формализации концепции проблемы», ошибочно. Есть много разных категорий, которые могут быть интересны в контексте формальных языков.
Вот три интересные категории, связанные с сокращениями «многие-один», которые будут упоминаться как общие , частичные и реляционные . Объектами категорий являются пары конечного алфавита Σ и язык L ⊂ Σ ∗ слов над Σ . Для общей сложности , морфизмы между исходным объектом ( Е , L ) и целевой объект ( Σ ' , L ' ) являются полными функциями F(Σ,L)ΣL⊂Σ∗Σ(Σ,L)(Σ′,L′) с L = f - 1 ( L ′ ) . Длячастичныхморфизмы являются частичными функциями f : Σ ∗ → Σ ′ ∗ с L = f - 1 ( L ′ ) , где две частичные функции f , g считаются равными (как морфизмы), если f ( x ) = g ( x) )f:Σ∗→Σ′∗L=f−1(L′)f:Σ∗→Σ′∗L=f−1(L′)fgf(x)=g(x)для всех . Для реляционных морфизмы представляют собой отношения R ⊂ Σ ∗ × Σ ′ ∗ с L = R - 1 ( L ′ ) , и любые два морфизма между одним и тем же источником и целью считаются равными. Набор разрешенных функций или отношений может быть ограничен различными простыми «переводчиками» для получения категорий с интересными изоморфизмами.x∈LR⊂Σ∗×Σ′∗L=R−1(L′)
- Гомоморфизмы моноидов от до Σ ′ ∗ дают очень основную общую категорию. Изоморфизмы этой категории являются в основном просто биекциями между Σ и Σ ′ . Любое разумное семейство языков должно лучше уважать эти изоморфизмы, т.е. быть замкнутым при обратных гомоморфизмах.Σ∗Σ′∗ΣΣ′
- Частичные функции, определенные детерминированными лог-пространствами машинных переводчиков Тьюринга, дают вполне естественную частичную категорию. Он способен выполнять множество тривиальных синтаксических преобразований (например, применяя законы Де Моргана для перемещения отрицаний к атомам), включает в себя морфизм, определенный функциональными преобразователями конечного состояния 1 , а также может сортировать. Тем не менее, он не идентифицирует два совершенно не связанных между собой языка как изоморфные, потому что равенство композиции двух морфизмов с морфизмом идентичности является гораздо более строгим требованием, чем просто существование сокращений «многие-один» в обоих направлениях.
- Отношения, определяемые недетерминированным лог-пространством машинных переводчиков Тьюринга, дают интересную категорию отношений . SAT изоморфен HORNSAT в этой категории, но остается открытым вопрос, является ли TAUTOLOGY или любая другая совместная NP-полная проблема изоморфной HORNSAT.
Два языка и L ′ над алфавитами Σ = { a , b } и Σ ′ = { c , d } (где a , b , c и d - разные буквы) никогда не могут быть равны, даже если они описывают «точно» та же проблема." Но они должны быть изоморфными, если они действительно описывают «точно» одну и ту же «проблему».LL′Σ={a,b}Σ′={c,d}abcd
Описанная выше базовая общая категория решает эту проблему.
Проблема становится более интересной, если «точно такой же» заменить на «почти одинаковый для большинства практических целей»: пусть - язык над Σ = { U , C , A , G } и L ′ - язык над Σ ′ = { 0 , 1 }, полученный из L заменой U → 00 , C → 01 , A → 10 и G → 11LΣ={U,C,A,G}L′Σ′={0,1}LU→00C→01A→10G→11, Отметим, что в любой общей категории и L ′ не изоморфны при L = Σ ∗ . То же самое будет верно для частичных категорий, если часть «где две частичные функции f , g считаются равными (как морфизмы), если f ( x ) = g ( x ) для всех x ∈ L » была исключена из определения.LL′L=Σ∗fgf(x)=g(x)x∈L
LL′
- Частичные функции, реализуемые однозначными датчиками конечных состояний 2, в которых единственным принимающим состоянием является начальное состояние. Изоморфизмы этой частичной категории являются (подмножеством) биекций между узнаваемыми кодами переменной длины .
- Частичные функции, реализуемые детерминированными датчиками конечных состояний, где единственным принимающим состоянием является начальное состояние. Изоморфизмы этой частичной категории являются (подмножеством) биекций между префиксными кодами .
- Частичные функции реализуются одновременно как прямым, так и обратным детерминированным преобразователем, где единственным принимающим состоянием является начальное состояние. Изоморфизмы этой частичной категории являются (подмножеством) биекций между бификс-кодами .
- Дальнейшее ограничение частичных функций, так что изоморфизмы являются (подмножеством) биекций между блочными кодами, также может иметь смысл.
Можно использовать языки в теории сложности, чтобы формализовать понятие «проблемы».
Еще до того, как я узнал о теории категорий, я задался вопросом о том, существуют ли «более точные» способы формализации понятия «проблема». Познакомившись с теорией категорий, я иногда пытался найти возможные решения, но всегда быстро сдавался на первом камне преткновения (потому что в любом случае это никого не волнует). Я знаю, что Юрий Гуревич решил некоторые смежные вопросы, но его решения практически применимы, тогда как я больше искал что-то хорошее и абстрактное, не зависящее от практической применимости.
Большая часть моего свободного времени за последние три недели ушла на то, чтобы, наконец, добиться некоторого прогресса в решении этой проблемы. Чаще всего было потрачено время на поиск надоедливых проблем в возможных решениях, которые я имел в виду. Смысл достижения прогресса возник из чтения (старых) книг и статей и изучения многих основных понятий и фактов о преобразователях и рациональных наборах. Наконец, я изучил понятия префиксного кода и бификсного кода (ранее код двухпиксельного кода в книге Берстеля), что позволило мне придумать разумные 3 категории, описанные выше.
Может быть трудно оценить эти (связанные с кодом) категории, не видя проблем более очевидных категорий. Общая проблема заключается в том, что замыкание под композицией может затруднить определение хорошо ограниченного класса частичных функций. Другая проблема связана с тем фактом, что сложение единицы (или умножение на константу) является «простой для вычисления функцией», если цифры числа даны в младшем порядке, но не если цифры даны в большом порядковый порядок
O(n)O(1)
2
Однозначный датчик конечного состояния - это недетерминированный датчик конечного состояния с не более чем одним принимающим трактом для каждого входа. Он реализует частичную функцию, следовательно, он также является функциональным датчиком конечных состояний. Можно решить, является ли данный конечный датчик состояния однозначным.
R⊂Σ∗×Σ′∗L=R−1(L′)−R−1(Σ′∗−L′)и любые два морфизма между одним и тем же источником и целью считаются равными.