Які відповідні ізоморфізми між формальними мовами?


9

Формальна мова над алфавітом є підмножиною , тобто, набір слів в цьому алфавіті. Дві формальні мови і є рівними, якщо відповідні множини дорівнюють як підмножини . Можна використовувати мови в теорії складності для формалізації поняття "проблема". Можна поскаржитися, що «взагалі» рівність розширення не можна визначити, але я вважаю, що це було б помилково.LΣΣLL'LL'

Я замислююся над такою проблемою з деякого часу: Дві мови і над алфавітами і (де , , іLL'Σ={а,б}Σ'={c,г}абcгє різними літерами) ніколи не можуть бути рівними, навіть якщо вони описують "точно" ту саму "проблему". Але вони повинні бути ізоморфними, якщо вони справді описують "точно" ту саму "проблему". Що я хотів би знати, це можливі поняття ізоморфізму, що відповідають теорії складності. Спочатку я вважав, що обчислювально слабкий "перекладач", як машина з кінцевим станом, може бути використаний для визначення дозволених ізоморфізмів, але це, здається, вже руйнується для тривіальних синтаксичних перекладів між еквівалентними логічними формулами. (Дивіться, наприклад, цю таблицю із синтаксичним визначенням подвійного у лінійній логіціА .)

Сьогодні у мене виникла така ідея: Визначення мови, що відповідає певній "проблемі вирішення", часто складається з двох частин: (1) Кодування дозволених екземплярів проблеми як кінцевих рядків символів та (2) визначення " прийняті "проблемні екземпляри, які належать до мови. Якщо для перевірки того, чи заданий кінцевий рядок символів є кодуванням дозволеного екземпляра проблеми, вже потрібна машина, обчислювально сильніше, ніж машина з кінцевим станом, то ця сильна машина також повинна використовуватися для визначення дозволених ізоморфізмів.

Запитання: Чи є в цій лінії міркувань шанс «вирішити» мою проблему? Чи вже вирішена моя проблема, так що мені просто потрібно прочитати правильні посилання? Чи має моя проблема сама сенс, чи це так само неправильно, як скарги на нерозбірливість рівності розширень?


Редагувати (ще не відповідь) Я помітив, що "(1) кодування дозволених екземплярів проблеми як кінцевих рядків символів" вже містить (приховане) припущення про нормалізований вхід. Без цього припущення два різні кінцеві рядки можуть відповідати одному і тому ж екземпляру проблеми. Замість того, щоб перевіряти, чи є дана кінцева рядок дійсною, перевірка може створити нормалізований вхід (і зіставити недійсні рядки в спеціальний рядок).

Ця настройка має перевагу тим, що машина, яка здійснює перевірку / нормалізацію, вже оснащена засобами для перетворення кінцевих рядків в інші кінцеві струни. Дозволена машина (клас складності) для цього завдання може бути частиною визначення проблеми, і (ізо) морфізми використовуватимуть ту саму машину (клас складності). (Пропозиція "скорочення багаторазового багаторазового" з коментаря Рафаеля тоді справді була б однією можливістю для проблем у .)П

Недоліком є ​​те, що такий спосіб специфікації може бути підходящим лише для детермінованих машин. Недетерміновані машини можуть потребувати більш гнучких способів визначення / вирішення, чи відповідають два рядки входу одному і тому ж проблемному екземпляру.


1
Усі нескінченні мови (над кінцевими алфавітами) є ізоморфними (оскільки їх можна підрахувати). Вам потрібно вдосконалити те, що ви хочете. Крім того, якою мірою ви говорите, що дві проблеми "однакові"? Можливо, багаторазові скорочення багаторазово надають вам так, як вам хочеться, але ці карти "відрізняються" (але так само важко) проблеми один на одного.
Рафаель

@Raphael Я трохи збентежений вашим коментарем "Вам потрібно уточнити те, що ви хочете". Це питання саме про те, яке поняття ізоморфізм я б "хотів" використати. Іноді важко дізнатися, чого ти насправді хочеш! Для проходження питання, що говорив про мови, що описують "точно" ту саму "проблему", я в основному просто думав про випадок, коли ідентифікація з і з зробила і рівними. Продовження цієї лінії міркувань - це те, що спочатку змусило мене розглядати машини з кінцевим станом як «перекладачів», що врешті-решт не вирішує мою проблему. аcбгLL'
Томас Клімпель

@Raphael Я думаю, що для більшості проблем багаторазове скорочення багато-одного є занадто потужним в обчислювальній формі для ізоморфізмів, які я маю на увазі. Я не хочу, щоб ізоморфізм обчислював рішення для мене, або зводив теоретичну задачу графа до проблеми задоволення логікою. Я просто хочу, щоб він визначив два трохи різні, але по суті еквівалентні кодування одного і того ж проблемного екземпляра. У мене немає жодних проблем, якщо таке поняття про ізоморфізм має також визначити певні (кодування) граф теоретичні задачі з певними (кодуваннями) логічними проблемами задоволення.
Томас Клімпель

приблизно, для цього використовується складність, пов'язана зі скороченням. менш сильне скорочення, ніж P час, наприклад скорочення простору журналу, час тощоO(nc)
vzn

Відповіді:


6

Чи вже вирішена моя проблема, так що мені просто потрібно прочитати правильні посилання?

Теорія абстрактного сімейства мов є актуальною. Наприклад, морфізми, визначені перетворювачами кінцевого стану, призводять до сімейства конусів . Коротка розмова МЦМ Ейленберга з 1970 року добре пояснює цю рамку, див. Також розділ 11 "Властивості закриття сімей мов" від вступу до теорії автоматів, мов та обчислень (1-е видання) Дж. Хопкрофта та Дж. Уллмана з 1979 року. Однак , у цю рамку входять лише недетерміновані мови 1 . Врешті-решт книга Теорія кодів Дж. Берстеля та Д. Перріна з 1985 р. Допомогла мені знайти розумні рішення для моєї проблеми. Коди та автоматиДж. Берстель, Д. Перрін та К. Рейтенауер з 2009 року - це основна редакція цієї книги із значно ширшим висвітленням.

Чи є в цій лінії міркувань шанс «вирішити» мою проблему? Чи сама моя проблема має сенс, чи це так само неправильно, як ...?

Припущення, що існує одна правильна категорія для моделювання ізоморфізмів між мовами для "формалізації поняття проблеми", є помилковим. Існує багато різних категорій, які можуть бути цікавими в контексті формальних мов.

Ось три цікаві категорії, пов’язані зі скороченням багато-одного, яке будемо називати тотальним , частковим та реляційним . Об'єктами категорій є пари кінцевого алфавіту та мови слів над . В цілому морфізми між вихідним об'єктом і цільовим об'єктом є загальними функціями з . Для часткових морфізмів - це часткові функції(Σ,L)ΣLΣΣ(Σ,L)(Σ',L')f:ΣΣ'L=f-1(L')f:ΣΣ' з , де дві часткові функції , вважаються рівними (як морфізми), якщо для всіх . Для реляційних морфізмів - це відношення з , а будь-які два морфізми між тим самим джерелом і ціллю вважаються рівними . Набір дозволених функцій або відносин може бути обмежений різними простими "перекладачами", щоб отримати категорії з цікавими ізоморфізмами.L=f-1(L')fгf(х)=г(х)хLRΣ×Σ'L=R-1(L')

  • Моноїдні гомоморфізми від до дають дуже основну загальну категорію. Ізоморфізми цієї категорії в основному є лише біекціями між та . Будь-яка розумна сім'я мов повинна краще поважати ці ізоморфізми, тобто бути закритою при обернених гомоморфізмах.ΣΣ'ΣΣ'
  • Часткові функції, визначені детермінованим журнальним простором, перекладачі машин Тьюрінга дають цілком природну часткову категорію. Він здатний здійснити безліч тривіальних синтаксичних перетворень (наприклад, застосовувати закони Де Моргана для переміщення негативів до атомів), включає морфізм, визначений функціональними перетворювачами кінцевого стану 1 , а також може сортувати. Проте вона не визначить дві абсолютно неспоріднені мови як ізоморфну, тому що рівність складу двох морфізмів ідентичності морфізму є набагато сильнішою вимогою, ніж просто існування багато-одного скорочення в обох напрямках.
  • Відносини, визначені недетермінованим журнальним простором, машинні перекладачі Тьюрінга дають цікаву реляційну категорію. SAT є ізоморфним для ХОРНСАТ у цій категорії, але це відкрите питання, чи є ТАВТОЛОГІЯ чи будь-яка інша проблема, повна NP, ізоморфна для ХОРНСАТ.

Дві мови і над алфавітами і (де , , і є різними літерами) ніколи не можуть бути рівними, навіть якщо вони описують "точно" ту саму "проблему". Але вони повинні бути ізоморфними, якщо вони справді описують "точно" ту саму "проблему".LL'Σ={а,б}Σ'={c,г}абcг

Сама основна загальна категорія, описана вище, вирішує цю проблему.

Проблема стає цікавішою, якщо "абсолютно те саме" замінено на "майже те саме для більшості практичних цілей": Нехай є мовою над і нехай є мова над отримана з заміщенням , , і . Зауважте, що в будь-якій загальній категорії і не є ізоморфними для . Те саме було б справедливо і для часткових категорій, якби частина "де дві часткові функціїLΣ={U,С,А,Г}L'Σ'={0,1}LU00С01А10Г11LL'L=Σf, вважаються рівними (як морфізми), якщо для всіх "було опущено з визначення.гf(х)=г(х)хL

Описана вище цілком природна часткова категорія є достатньою для отримання і ізоморфних. Було б непогано мати більш основну (тобто більш обмежувальну) категорію, яка робить їх ізоморфними. Наступні (послідовно більш обмежуючі) категорії мені здаються розумними:LL'

  • Часткові функції, реалізовані однозначними перетворювачами кінцевого стану 2, де єдиним приймаючим станом є початковий стан. Ізоморфізми цієї часткової категорії є (підмножиною) біекцій між розпізнаваними кодами змінної довжини .
  • Часткові функції, реалізовані детермінованими перетворювачами кінцевого стану, де єдиним приймаючим станом є початковий стан. Ізоморфізми цієї часткової категорії - це (підмножина) біекцій між кодами префікса .
  • Часткові функції, що реалізуються одночасно і прямим, і зворотним детермінованим перетворювачем, де єдиним приймаючим станом є початковий стан. Ізоморфізми цієї часткової категорії - це (підмножина) біекцій між біфікс-кодами .
  • Подальше обмеження часткових функцій таким, що ізоморфізми є (підмножиною) біекцій між блоковими кодами, також може мати сенс.

Можна використовувати мови в теорії складності для формалізації поняття "проблема".

Ще до того, як я дізнався про теорію категорій, я задумався про те, чи існують «більш вірні» способи формалізації поняття «проблема». Ознайомившись з теорією категорій, я іноді намагався придумати можливі рішення, але завжди швидко здавався під час першого каменя спотикання (адже це все одно нікого не цікавить). Я знаю, що Юрій Гуревич вирішив деякі пов'язані з цим питання, але його рішення практично застосовні, тоді як я шукав більше чогось приємного та абстрактного, незалежного від практичного застосунку.

Більшість мого вільного часу за останні три тижні пішла, нарешті, досягти певного прогресу в цій проблемі. Найчастіше час витрачав на пошук прикрих питань у можливих рішеннях, які я мав на увазі. Сенс досягати прогресу виник із читання (старих) книг і статей, а також вивчення багатьох основних понять та фактів про перетворювачі та раціональні набори. Нарешті я дізнався поняття коду префікса та коду біфікса (колишній бипрефіксний код у книзі Берстеля), що дозволило мені придумати розумні 3 категорії, описані вище.

Можливо, важко оцінити ці (пов'язані з кодом) категорії, не побачивши деяких питань із більш очевидних категорій. Загальне питання полягає в тому, що закриття під складом може ускладнити визначення добре обмеженого класу часткових функцій. Інше питання пов'язане з тим, що додавання однієї (або множення на константу) є "простою для обчислення функцією", якщо цифри числа задаються в низькому порядку, але не якщо цифри задані великими- ендіанський порядок.


1 Функціональний перетворювач кінцевого стану - це недетермінований перетворювач кінцевого стану, який реалізує часткову функцію. Ці часткові функції не можуть бути реалізовані детермінованими перетворювачами кінцевого стану. Вони можуть бути реалізовані детермінованими бімахінами , але їм може знадобитися вперед та назад сканування над входом, якщо вони хочуть працювати в просторі.О(н)О(1)

2 Однозначний перетворювач кінцевого стану - це недетермінований перетворювач кінцевого стану, що має щонайменше один приймаючий шлях для кожного входу. Він реалізує часткову функцію, отже, це також функціональний перетворювач кінцевого стану. Вирішується, чи даний перетворювач кінцевого стану однозначний.

3 Я не впевнений, наскільки насправді є загальна та реляційна категорії, представлені вище. Я просто хотів показати прямо альтернативи частковій категорії. Більше альтернатив легко придумати, наприклад, співреляційні , де морфізми є відношеннями з , і будь-які два морфізми між одним джерелом і ціллю вважаються рівними. RΣ×Σ'L=R-1(L')-R-1(Σ'-L')

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.