Чи вже вирішена моя проблема, так що мені просто потрібно прочитати правильні посилання?
Теорія абстрактного сімейства мов є актуальною. Наприклад, морфізми, визначені перетворювачами кінцевого стану, призводять до сімейства конусів . Коротка розмова МЦМ Ейленберга з 1970 року добре пояснює цю рамку, див. Також розділ 11 "Властивості закриття сімей мов" від вступу до теорії автоматів, мов та обчислень (1-е видання) Дж. Хопкрофта та Дж. Уллмана з 1979 року. Однак , у цю рамку входять лише недетерміновані мови 1 . Врешті-решт книга Теорія кодів Дж. Берстеля та Д. Перріна з 1985 р. Допомогла мені знайти розумні рішення для моєї проблеми. Коди та автоматиДж. Берстель, Д. Перрін та К. Рейтенауер з 2009 року - це основна редакція цієї книги із значно ширшим висвітленням.
Чи є в цій лінії міркувань шанс «вирішити» мою проблему? Чи сама моя проблема має сенс, чи це так само неправильно, як ...?
Припущення, що існує одна правильна категорія для моделювання ізоморфізмів між мовами для "формалізації поняття проблеми", є помилковим. Існує багато різних категорій, які можуть бути цікавими в контексті формальних мов.
Ось три цікаві категорії, пов’язані зі скороченням багато-одного, яке будемо називати тотальним , частковим та реляційним . Об'єктами категорій є пари кінцевого алфавіту та мови слів над . В цілому морфізми між вихідним об'єктом і цільовим об'єктом є загальними функціями з . Для часткових морфізмів - це часткові функції( Σ , L )ΣL ⊂Σ∗Σ( Σ , L )(Σ',L')f:Σ∗→Σ′ ∗L =f- 1(L')f:Σ∗→Σ′ ∗ з , де дві часткові функції , вважаються рівними (як морфізми), якщо для всіх . Для реляційних морфізмів - це відношення з , а будь-які два морфізми між тим самим джерелом і ціллю вважаються рівними . Набір дозволених функцій або відносин може бути обмежений різними простими "перекладачами", щоб отримати категорії з цікавими ізоморфізмами.L =f- 1(L')fгf( x ) = g( х )x ∈ LR ⊂Σ∗×Σ′ ∗L =R- 1(L')
- Моноїдні гомоморфізми від до дають дуже основну загальну категорію. Ізоморфізми цієї категорії в основному є лише біекціями між та . Будь-яка розумна сім'я мов повинна краще поважати ці ізоморфізми, тобто бути закритою при обернених гомоморфізмах.Σ∗Σ′ ∗ΣΣ'
- Часткові функції, визначені детермінованим журнальним простором, перекладачі машин Тьюрінга дають цілком природну часткову категорію. Він здатний здійснити безліч тривіальних синтаксичних перетворень (наприклад, застосовувати закони Де Моргана для переміщення негативів до атомів), включає морфізм, визначений функціональними перетворювачами кінцевого стану 1 , а також може сортувати. Проте вона не визначить дві абсолютно неспоріднені мови як ізоморфну, тому що рівність складу двох морфізмів ідентичності морфізму є набагато сильнішою вимогою, ніж просто існування багато-одного скорочення в обох напрямках.
- Відносини, визначені недетермінованим журнальним простором, машинні перекладачі Тьюрінга дають цікаву реляційну категорію. SAT є ізоморфним для ХОРНСАТ у цій категорії, але це відкрите питання, чи є ТАВТОЛОГІЯ чи будь-яка інша проблема, повна NP, ізоморфна для ХОРНСАТ.
Дві мови і над алфавітами і (де , , і є різними літерами) ніколи не можуть бути рівними, навіть якщо вони описують "точно" ту саму "проблему". Але вони повинні бути ізоморфними, якщо вони справді описують "точно" ту саму "проблему".LL'Σ = { a , b }Σ'= { c , d}абcг
Сама основна загальна категорія, описана вище, вирішує цю проблему.
Проблема стає цікавішою, якщо "абсолютно те саме" замінено на "майже те саме для більшості практичних цілей": Нехай є мовою над і нехай є мова над отримана з заміщенням , , і . Зауважте, що в будь-якій загальній категорії і не є ізоморфними для . Те саме було б справедливо і для часткових категорій, якби частина "де дві часткові функціїLΣ = { U, С, A , G }L'Σ'= { 0 , 1 }LU→ 00С→ 01А → 10G → 11LL'L =Σ∗f, вважаються рівними (як морфізми), якщо для всіх "було опущено з визначення.гf( x ) = g( х )x ∈ L
Описана вище цілком природна часткова категорія є достатньою для отримання і ізоморфних. Було б непогано мати більш основну (тобто більш обмежувальну) категорію, яка робить їх ізоморфними. Наступні (послідовно більш обмежуючі) категорії мені здаються розумними:LL'
- Часткові функції, реалізовані однозначними перетворювачами кінцевого стану 2, де єдиним приймаючим станом є початковий стан. Ізоморфізми цієї часткової категорії є (підмножиною) біекцій між розпізнаваними кодами змінної довжини .
- Часткові функції, реалізовані детермінованими перетворювачами кінцевого стану, де єдиним приймаючим станом є початковий стан. Ізоморфізми цієї часткової категорії - це (підмножина) біекцій між кодами префікса .
- Часткові функції, що реалізуються одночасно і прямим, і зворотним детермінованим перетворювачем, де єдиним приймаючим станом є початковий стан. Ізоморфізми цієї часткової категорії - це (підмножина) біекцій між біфікс-кодами .
- Подальше обмеження часткових функцій таким, що ізоморфізми є (підмножиною) біекцій між блоковими кодами, також може мати сенс.
Можна використовувати мови в теорії складності для формалізації поняття "проблема".
Ще до того, як я дізнався про теорію категорій, я задумався про те, чи існують «більш вірні» способи формалізації поняття «проблема». Ознайомившись з теорією категорій, я іноді намагався придумати можливі рішення, але завжди швидко здавався під час першого каменя спотикання (адже це все одно нікого не цікавить). Я знаю, що Юрій Гуревич вирішив деякі пов'язані з цим питання, але його рішення практично застосовні, тоді як я шукав більше чогось приємного та абстрактного, незалежного від практичного застосунку.
Більшість мого вільного часу за останні три тижні пішла, нарешті, досягти певного прогресу в цій проблемі. Найчастіше час витрачав на пошук прикрих питань у можливих рішеннях, які я мав на увазі. Сенс досягати прогресу виник із читання (старих) книг і статей, а також вивчення багатьох основних понять та фактів про перетворювачі та раціональні набори. Нарешті я дізнався поняття коду префікса та коду біфікса (колишній бипрефіксний код у книзі Берстеля), що дозволило мені придумати розумні 3 категорії, описані вище.
Можливо, важко оцінити ці (пов'язані з кодом) категорії, не побачивши деяких питань із більш очевидних категорій. Загальне питання полягає в тому, що закриття під складом може ускладнити визначення добре обмеженого класу часткових функцій. Інше питання пов'язане з тим, що додавання однієї (або множення на константу) є "простою для обчислення функцією", якщо цифри числа задаються в низькому порядку, але не якщо цифри задані великими- ендіанський порядок.
1
Функціональний перетворювач кінцевого стану - це недетермінований перетворювач кінцевого стану, який реалізує часткову функцію. Ці часткові функції не можуть бути реалізовані детермінованими перетворювачами кінцевого стану. Вони можуть бути реалізовані детермінованими бімахінами , але їм може знадобитися вперед та назад сканування над входом, якщо вони хочуть працювати в просторі.O ( n )O ( 1 )
2
Однозначний перетворювач кінцевого стану - це недетермінований перетворювач кінцевого стану, що має щонайменше один приймаючий шлях для кожного входу. Він реалізує часткову функцію, отже, це також функціональний перетворювач кінцевого стану. Вирішується, чи даний перетворювач кінцевого стану однозначний.
3
Я не впевнений, наскільки насправді є загальна та реляційна категорії, представлені вище. Я просто хотів показати прямо альтернативи частковій категорії. Більше альтернатив легко придумати, наприклад, співреляційні , де морфізми є відношеннями з , і будь-які два морфізми між одним джерелом і ціллю вважаються рівними.
R ⊂Σ∗×Σ′ ∗L =R- 1(L') -R- 1(Σ′ ∗-L')