Формальный язык над алфавитом является подмножеством , то есть, набор слов в этом алфавите. Два формальных языка и равны, если соответствующие множества экстенсивно равны как подмножества . Можно использовать языки в теории сложности, чтобы формализовать понятие «проблемы». Можно было бы пожаловаться на то, что «в общем» равенство экстенсионально неразрешимо, но я считаю, что это будет ошибочным.
Некоторое время я размышляю над следующей проблемой: два языка и над алфавитами и (где , , иэто разные буквы), никогда не могут быть равными, даже если они описывают "точно" одну и ту же "проблему" Но они должны быть изоморфными, если они действительно описывают «точно» одну и ту же «проблему». Что я хотел бы знать, так это возможные понятия изоморфизма, подходящие для теории сложности. Сначала я думал, что слабый в вычислительном отношении «переводчик», такой как конечный автомат, может быть использован для определения разрешенных изоморфизмов, но это, похоже, уже сломано для тривиальных синтаксических переводов между эквивалентными логическими формулами. (См., Например, эту таблицу с синтаксическим определением двойного в линейной логике .)
Сегодня у меня возникла следующая идея: определение языка, соответствующего определенной «проблеме решения», часто состоит из двух частей: (1) кодирование допустимых экземпляров проблемы в виде конечных строк символов и (2) определение « принимаются «проблемные экземпляры, которые относятся к языку. Если проверка того, является ли данная конечная строка символов кодировкой разрешенного экземпляра проблемы, уже требует вычислительно более сильной машины, чем конечно-конечная машина, то эту более сильную машину также следует использовать для определения разрешенных изоморфизмов.
Вопросы: Есть ли у этой линии рассуждения какой-либо шанс «решить» мою проблему? Моя проблема уже решена, так что мне просто нужно прочитать правильные ссылки? Имеет ли смысл сама моя проблема, или это так же ошибочно, как жаловаться на неразрешимость равенства экстенсиональности?
Редактировать (пока не ответ) Я заметил, что «(1) Кодировка разрешенных экземпляров проблемы в виде конечных строк символов» уже содержит (скрытое) предположение о нормализованном вводе. Без этого предположения две разные конечные строки могут соответствовать одному и тому же экземпляру задачи. Вместо проверки допустимости заданной конечной строки проверка может привести к нормализованному вводу (и отобразить недопустимые строки в специальную строку).
Этот параметр имеет то преимущество, что машина, выполняющая проверку / нормализацию, уже оснащена средствами для преобразования конечных строк в другие конечные строки. Разрешенная машина (класс сложности) для этой задачи может быть частью определения задачи, и морфизмы (iso) будут использовать ту же машину (класс сложности). (Предложение о сокращении «многократного многозначного числа» из комментария Рафаэля действительно могло бы стать одной из возможных проблем в .)
Недостатком является то, что этот способ спецификации может быть применим только для детерминированных машин. Для недетерминированных машин могут потребоваться более гибкие способы указать / решить, соответствуют ли две входные строки одному и тому же экземпляру проблемы.
источник
Ответы:
Теория абстрактного семейства языков актуальна. Например, морфизмы, определенные датчиками конечного состояния, приводят к семейству конусов . Короткий доклад Эйленберга на 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′) f g f(x)=g(x) для всех . Для реляционных морфизмы представляют собой отношения R ⊂ Σ ∗ × Σ ′ ∗ с L = R - 1 ( L ′ ) , и любые два морфизма между одним и тем же источником и целью считаются равными. Набор разрешенных функций или отношений может быть ограничен различными простыми «переводчиками» для получения категорий с интересными изоморфизмами.x∈L R⊂Σ∗×Σ′∗ L=R−1(L′)
Описанная выше базовая общая категория решает эту проблему.
Проблема становится более интересной, если «точно такой же» заменить на «почти одинаковый для большинства практических целей»: пусть - язык над Σ = { U , C , A , G } и L ′ - язык над Σ ′ = { 0 , 1 }, полученный из L заменой U → 00 , C → 01 , A → 10 и G → 11L Σ={U,C,A,G} L′ Σ′={0,1} L U→00 C→01 A→10 G→11 , Отметим, что в любой общей категории и L ′ не изоморфны при L = Σ ∗ . То же самое будет верно для частичных категорий, если часть «где две частичные функции f , g считаются равными (как морфизмы), если f ( x ) = g ( x ) для всех x ∈ L » была исключена из определения.L L′ L=Σ∗ f g f(x)=g(x) x∈L
Еще до того, как я узнал о теории категорий, я задался вопросом о том, существуют ли «более точные» способы формализации понятия «проблема». Познакомившись с теорией категорий, я иногда пытался найти возможные решения, но всегда быстро сдавался на первом камне преткновения (потому что в любом случае это никого не волнует). Я знаю, что Юрий Гуревич решил некоторые смежные вопросы, но его решения практически применимы, тогда как я больше искал что-то хорошее и абстрактное, не зависящее от практической применимости.
Большая часть моего свободного времени за последние три недели ушла на то, чтобы, наконец, добиться некоторого прогресса в решении этой проблемы. Чаще всего было потрачено время на поиск надоедливых проблем в возможных решениях, которые я имел в виду. Смысл достижения прогресса возник из чтения (старых) книг и статей и изучения многих основных понятий и фактов о преобразователях и рациональных наборах. Наконец, я изучил понятия префиксного кода и бификсного кода (ранее код двухпиксельного кода в книге Берстеля), что позволило мне придумать разумные 3 категории, описанные выше.
Может быть трудно оценить эти (связанные с кодом) категории, не видя проблем более очевидных категорий. Общая проблема заключается в том, что замыкание под композицией может затруднить определение хорошо ограниченного класса частичных функций. Другая проблема связана с тем фактом, что сложение единицы (или умножение на константу) является «простой для вычисления функцией», если цифры числа даны в младшем порядке, но не если цифры даны в большом порядковый порядок
2 Однозначный датчик конечного состояния - это недетерминированный датчик конечного состояния с не более чем одним принимающим трактом для каждого входа. Он реализует частичную функцию, следовательно, он также является функциональным датчиком конечных состояний. Можно решить, является ли данный конечный датчик состояния однозначным.
источник