Apakah masalah saya sudah terpecahkan, sehingga saya hanya perlu membaca referensi yang benar?
Teori keluarga abstrak bahasa relevan. Sebagai contoh, morfisme yang didefinisikan oleh transduser keadaan terbatas menyebabkan keluarga kerucut . Pembicaraan singkat ICM Eilenberg dari tahun 1970 dengan baik menjelaskan kerangka kerja ini, lihat juga bab 11 "Sifat-sifat penutupan keluarga bahasa" dari Pengantar Teori Automata, Bahasa, dan Perhitungan (edisi pertama) oleh J. Hopcroft dan J. Ullman dari tahun 1979. Namun , hanya bahasa yang tidak ditentukan yang cocok dengan kerangka kerja ini 1 . Pada akhirnya, buku Theory of codes oleh J. Berstel dan D. Perrin dari 1985 membantu saya menemukan solusi yang masuk akal untuk masalah saya. Kode dan Automataoleh J. Berstel, D. Perrin dan C. Reutenauer dari 2009 adalah revisi utama buku ini dengan cakupan yang lebih luas.
Apakah jalur penalaran ini memiliki peluang untuk "menyelesaikan" masalah saya? Apakah masalah saya sendiri masuk akal, atau apakah ini sesat seperti ...?
Asumsi bahwa ada satu kategori yang benar untuk memodelkan isomorfisme antar bahasa untuk "memformalkan konsep masalah" adalah salah arah. Ada banyak kategori berbeda yang dapat menarik dalam konteks bahasa formal.
Berikut adalah tiga kategori menarik yang terkait dengan banyak-satu pengurangan, yang akan disebut sebagai total , sebagian , dan relasional . Objek kategori adalah pasangan dari alfabet terbatas Σ dan bahasa L ⊂ Σ ∗ dari kata-kata di atas Σ . Secara total , morfisme antara objek sumber ( Σ , L : Σ ∗ → Σ ′ ∗ dengan L = f - 1 ((Σ,L)ΣL⊂Σ∗Σ dan objek target ( Σ ′ , L ′ ) adalah fungsi total f(Σ,L)(Σ′,L′)f:Σ∗→Σ′∗ . Untukparsial, morfisme adalah fungsi parsial f : Σ ∗ → Σ ′ ∗ dengan L = f - 1 ( L ′ ) , di mana dua fungsi parsial f , g dianggap sama (sebagai morfisme) jika f ( x ) = g ( x )L=f−1(L′)f:Σ∗→Σ′∗L=f−1(L′)fgf(x)=g(x)untuk semua . Untuk relasional , morfisme adalah hubungan R ⊂ Σ ∗ × Σ ′ ∗ dengan L = R - 1 ( L ′ ) , dan setiap dua morfisme antara sumber dan target yang sama dianggap sama. Himpunan fungsi atau hubungan yang diizinkan dapat dibatasi untuk berbagai "penerjemah" sederhana untuk mendapatkan kategori dengan isomorfisma yang menarik.x∈LR⊂Σ∗×Σ′∗L=R−1(L′)
- Homomorfisme monoid dari hingga Σ ′ ∗ memberikan kategori total yang sangat mendasar . Isomorfisme dari kategori ini pada dasarnya hanyalah biopsi antara Σ dan Σ ′ . Keluarga bahasa apa pun yang masuk akal harus lebih menghormati isomorfisma ini, yaitu ditutup dengan homomorfisme terbalik.Σ∗Σ′∗ΣΣ′
- Fungsi parsial yang ditentukan oleh penerjemah log-space deterministik Turing memberikan kategori parsial yang cukup alami . Ia mampu melakukan banyak transformasi sintaksis sepele (seperti menerapkan hukum De Morgan untuk memindahkan negasi ke atom-atom), termasuk morfisme yang didefinisikan oleh transduser keadaan terbatas fungsional 1 , dan juga dapat menyortir. Tetap saja tidak akan mengidentifikasi dua bahasa yang sama sekali tidak terkait sebagai isomorfik, karena kesetaraan komposisi dua morfisme dengan morfisme identitas adalah persyaratan yang jauh lebih kuat daripada hanya adanya banyak pengurangan satu arah di kedua arah.
- Hubungan yang didefinisikan oleh para penerjemah mesin Turing nondeterministic log-space memberikan kategori relasional yang menarik . SAT adalah isomorfik untuk HORNSAT dalam kategori ini, tetapi merupakan pertanyaan terbuka apakah TAUTOLOGI atau masalah lain yang melengkapi Co-NP adalah isomorfik terhadap HORNSAT.
Dua bahasa dan L ′ lebih dari huruf Σ = { a , b } dan Σ ′ = { c , d } (di mana a ,LL′Σ={a,b}Σ′={c,d}a , c dan d adalah huruf yang berbeda) tidak akan pernah sama, bahkan jika mereka menggambarkan "persis" permasalahan yang sama." Tetapi mereka harus isomorfis, jika mereka benar-benar menggambarkan "persis" masalah yang sama. "bcd
Kategori total yang sangat mendasar yang dijelaskan di atas menyelesaikan masalah ini.
Masalahnya menjadi lebih menarik jika "persis sama" diganti dengan "hampir sama untuk tujuan paling praktis": Biarkan menjadi bahasa lebih dari Σ = { U , C , A , G } dan biarkan L ′ menjadi bahasa lebih dari Σ ′ = { 0 , 1 } diperoleh dari L dengan substitusi U → 00 , C → 01 , A → 10 , dan G → 11LΣ={U,C,A,G}L′Σ′={0,1}LU→00C→01A→10G→11 . Perhatikan bahwa dalam kategori total apa pun , dan LL Bukan isomorfik untuk L = Σ ∗ . Hal yang sama akan berlaku untukkategoriparsial, jika bagian "di mana dua fungsi parsial f , g dianggap sama (sebagai morfisme) jika f ( x ) = g (L′L=Σ∗fg untuk semua x ∈ L " dihilangkan dari definisi.f(x)=g(x)x∈L
Parsial yang cukup alamiKategori dijelaskan di atas cukup untuk membuat dan L ′ isomorfik. Akan menyenangkan untuk memiliki kategori yang lebih mendasar (yaitu lebih ketat) yang membuat mereka isomorfis. Kategori berikut (secara berturut-turut lebih ketat) terlihat masuk akal bagi saya:LL′
- Fungsi parsial direalisasikan oleh transduser keadaan terbatas ambigu 2 di mana satu-satunya negara penerima adalah keadaan awal. Isomorfisme dari kategori parsial ini adalah (subset dari) bijections antara kode panjang variabel yang dapat dikenali .
- Fungsi parsial diwujudkan oleh transduser keadaan terbatas deterministik di mana satu-satunya negara penerima adalah keadaan awal. Isomorfisme dari kategori parsial ini adalah (subset dari) bijections antara kode awalan .
- Fungsi parsial diwujudkan secara bersamaan oleh transduser deterministik maju dan mundur di mana satu-satunya negara penerima adalah keadaan awal. Isomorfisme dari kategori parsial ini adalah (subset dari) bijections antara kode bifix .
- Pembatasan lebih lanjut dari fungsi parsial sehingga isomorfisma (subset dari) bijections antara kode blok juga bisa masuk akal.
Seseorang dapat menggunakan bahasa dalam teori kompleksitas untuk memformalkan konsep "masalah".
Bahkan sebelum saya belajar tentang teori kategori, saya bertanya-tanya apakah ada cara "lebih setia" untuk memformalkan konsep "masalah". Setelah terbiasa dengan teori kategori, saya kadang-kadang mencoba mencari solusi yang mungkin, tetapi selalu cepat menyerah pada batu sandungan pertama (karena bagaimanapun juga tidak ada yang peduli). Saya tahu bahwa Yuri Gurevich telah menyelesaikan beberapa pertanyaan terkait, tetapi solusinya praktis dapat diaplikasikan, sedangkan saya lebih mencari sesuatu yang baik dan abstrak, terlepas dari penerapan praktis.
Sebagian besar waktu luang saya selama tiga minggu terakhir masuk akhirnya membuat beberapa kemajuan pada masalah ini. Paling sering waktu itu dihabiskan untuk menemukan masalah yang mengganggu dalam solusi yang mungkin ada dalam pikiran saya. Rasa membuat kemajuan muncul dari membaca buku-buku dan artikel-artikel (lama), dan mempelajari banyak konsep dan fakta dasar tentang transduser dan set rasional. Akhirnya saya belajar pengertian kode awalan dan kode bifix (sebelumnya kode biprefix dalam buku Berstel), yang memungkinkan saya untuk menghasilkan 3 kategori wajar yang dijelaskan di atas.
Mungkin sulit untuk menghargai kategori tersebut (terkait kode), tanpa melihat beberapa masalah dari kategori yang lebih jelas. Masalah umum adalah bahwa penutupan di bawah komposisi dapat membuatnya sulit untuk mendefinisikan kelas fungsi parsial yang dibatasi dengan baik. Masalah lain terkait dengan fakta bahwa penambahan satu (atau perkalian dengan konstanta) adalah "fungsi yang mudah dikomputasi" jika digit angka diberikan dalam urutan low-endian, tetapi tidak jika digit diberikan dalam besar pesanan endian.
O(n)O(1)
2
Transduser keadaan terbatas jelas adalah transduser keadaan terbatas nondeterministic dengan paling banyak satu jalur menerima untuk setiap input. Ini menyadari fungsi parsial, karena itu juga merupakan transduser keadaan fungsional. Dapat diputuskan apakah transduser keadaan terbatas tertentu tidak ambigu.
R⊂Σ∗×Σ′∗L=R−1(L′)−R−1(Σ′∗−L′), dan dua morfisme antara sumber dan target yang sama dianggap sama.