Sorunum zaten çözüldü mü, sadece doğru referansları okumam gerekiyor mu?
Soyut dil ailesi teorisi önemlidir. Örneğin, sonlu durum transdüserleri tarafından tanımlanan morfizmler koni ailesine yol açar . Eilenberg en kısa ICM konuşma 1970'den güzel, bu çerçeveyi açıklıyor dan 11 "dillerin ailelerin Kapatma özelliklerini" ayrıca bkz bölüm (1 ed.) Otomata Teorisi, Diller ve Hesaplamaya Giriş Ancak 1979 den J. Hopcroft ve J. Ullman tarafından , yalnızca çerçevesiz diller bu çerçeveye uyar 1 . Sonunda, 1985'ten J. Berstel ve D. Perrin'in kodlar teorisi kitabı, sorunum için makul çözümler bulmama yardımcı oldu. Kodlar ve Otomatlar2009'dan J. Berstel, D. Perrin ve C. Reutenauer , bu kitabın daha geniş kapsamlı bir revizyonudur.
Bu akıl yürütme hattımın sorunumu "çözme" şansı var mı? Sorunumun kendisi bir anlam ifade ediyor mu, yoksa bu kadar yanlış yönlendirilmiş mi?
"Bir problem kavramını resmileştirmek" için diller arasında izomorfizmlerin modellenmesi için tek bir doğru kategori olduğu varsayımı yanlış yönlendirilmiştir. Biçimsel diller bağlamında ilginç olabilecek birçok farklı kategori vardır.
Toplam , kısmi ve ilişkisel olarak adlandırılacak olan bir çok azaltma ile ilgili üç ilginç kategori . Kategorilerin nesneleri çifttir( Σ , L ) sonlu bir alfabe Σ ve bir dil L ⊂Σ* kelimelerin üstü Σ. İçin toplam kaynak nesne arasında, Morfizm( Σ , L ) ve hedef nesne (Σ',L') toplam fonksiyonlar f:Σ*→Σ′ ∗ ile L =f- 1(L'). İçin kısmi , morfizma kısmi fonksiyonlarf:Σ*→Σ′ ∗ ile L =f- 1(L'), burada iki kısmi işlev f, g eşit olduğu düşünülürse (biçimsel olarak) f( x ) = g( x ) hepsi için x ∈ L. İçin ilişkisel , morfizma ilişkilerdirR ⊂Σ*xΣ′ ∗ ile L =R,- 1(L')ve aynı kaynak ile hedef arasındaki herhangi bir iki biçimin eşit olduğu düşünülür. İzin verilen işlevler veya ilişkiler kümesi, ilginç izomorfizmlere sahip kategoriler elde etmek için çeşitli basit "çevirmenlerle" sınırlandırılabilir.
- Monoid homomorfizmleri Σ* için Σ′ ∗çok temel bir toplam kategori verir. Bu kategorinin izomorfizmaları temelde sadeceΣ ve Σ'. Makul bir dil ailesi bu izomorfizmlere daha iyi saygı göstermelidir, yani ters homomorfizmalar altında kapatılmalıdır.
- Deterministik log-space Turing makine çevirmenleri tarafından tanımlanan kısmi fonksiyonlar oldukça doğal bir kısmi kategori verir. Birçok önemsiz sözdizimsel dönüşüm gerçekleştirebilir (atomlara negatifleri taşımak için De Morgan yasalarını uygulamak gibi), fonksiyonel sonlu durum transdüserleri 1 tarafından tanımlanan morfizmi içerir ve sıralayabilir. Yine de tamamen ilgisiz iki dili izomorfik olarak tanımlamayacaktır, çünkü iki morfizmin kompozisyonunun bir kimlik morfizmi ile eşitliği, her iki yönde çok sayıda azalmanın varlığından çok daha güçlü bir gereksinimdir.
- Belirsiz log-uzay Turing makine çevirmenleri tarafından tanımlanan ilişkiler ilginç bir ilişkisel kategori verir. SAT, bu kategoride HORNSAT için izomorfiktir, ancak TAUTOLOGY veya başka bir ortak NP tam probleminin HORNSAT için izomorfik olup olmadığı açık bir sorudur.
İki dil L ve L' alfabelerin üzerinde Σ = { a , b } ve Σ'= { c , d} (nerede bir, b, c ve dfarklı harflerdir) "tam olarak" aynı "sorunu" tanımlasalar bile asla eşit olamazlar. Ama gerçekten "tam olarak" aynı "problemi tanımlarlarsa izomorfik olmalıdırlar.
Yukarıda açıklanan çok temel toplam kategori bu sorunu çözmektedir.
"Tam olarak aynı", "en pratik amaçlar için neredeyse aynı" ile değiştirilirse sorun daha ilginç hale gelir: L üzerinde dil olmak Σ = { U, C, A , G } ve bırak L' dil olmak Σ'= { 0 , 1 } şuradan alınmıştır L oyuncu değişikliği ile U→ 00, C→ 01, A → 10, ve G → 11. Herhangi bir toplam kategoride,L ve L' izomorfik değil L =Σ*. Aynısı kısmi kategoriler için de geçerlidir;f, g eşit olduğu düşünülürse (biçimsel olarak) f( x ) = g( x ) hepsi için x ∈ L"tanımından çıkarıldı.
Yukarıda açıklanan oldukça doğal kısmi kategori yapmak için yeterlidirL ve L′izomorf. Onları izomorfik yapan daha temel (yani daha kısıtlayıcı) bir kategoriye sahip olmak güzel olurdu. Aşağıdaki (art arda daha kısıtlayıcı) kategoriler benim için makul görünüyor:
- Kesin sonlu durum dönüştürücüler ( 2) tarafından gerçekleştirilen kısmi fonksiyonlar, burada tek kabul eden durum başlangıç durumudur. Bu kısmi kategorinin izomorfizmi, tanınabilir değişken uzunluk kodları arasındaki (bir alt kümesi) bağıntılardır .
- Tek kabul eden durumun başlangıç durumu olduğu deterministik sonlu durum transdüserleri tarafından gerçekleştirilen kısmi fonksiyonlar. Bu kısmi kategorinin izomorfizmaları, önek kodları arasındaki (bir alt kümesi) iki yönlüdür .
- Kısmi fonksiyonlar, tek kabul eden durumun başlangıç durum olduğu hem ileri hem de geri deterministik bir dönüştürücü tarafından eşzamanlı olarak gerçekleştirilir. Bu kısmi kategorinin izomorfizmaları, bifix kodları arasındaki iki yönlüdür .
- Kısmi fonksiyonların, izomorfizmlerin, blok kodları arasındaki bağlanmalar (bir alt kümesi) olacağı şekilde daha fazla kısıtlanması da mantıklı olabilir.
Karmaşıklık teorisindeki dilleri bir "problem" kavramını resmileştirmek için kullanabiliriz.
Kategori teorisini öğrenmeden önce bile, bir "sorun" kavramını resmileştirmek için "daha sadık" yollar olup olmadığını merak ettim. Kategori teorisine aşina olduktan sonra, bazen olası çözümler bulmaya çalıştım, ancak her zaman hızlı bir şekilde ilk tökezleme bloğundan vazgeçtim (çünkü hiç kimse umursamıyor). Yuri Gurevich'in bazı ilgili soruları çözdüğünü biliyorum , ancak çözümleri pratik olarak uygulanabilirken, daha çok güzel ve soyut, pratik uygulanabilirlikten bağımsız bir şey arıyordum.
Son üç hafta için boş zamanlarımın çoğu nihayet bu sorun üzerinde ilerleme kaydetti. Çoğu zaman aklımdaki olası çözümlerde sinir bozucu sorunlar bulmak için zaman harcamaktaydı. İlerleme hissi, eski kitap ve makaleleri okumaktan ve dönüştürücü ve rasyonel setlerle ilgili birçok temel kavram ve gerçeği öğrenmekten doğmuştur. Sonunda, bir önek kodu ve bifix kodu (eski adıyla Berstel'in kitabında biprefix kodu ) kavramlarını öğrendim , bu da yukarıda açıklanan makul 3 kategoriyi bulmamı sağladı .
Daha belirgin kategorilerdeki bazı sorunları görmeden bu (kodla ilgili) kategorileri takdir etmek zor olabilir. Genel bir sorun, kompozisyon altında kapanmanın, hoş bir şekilde kısıtlanmış bir kısmi fonksiyon sınıfı tanımlamayı zorlaştırabilmesidir. Başka bir konu, sayının rakamları düşük-endian düzeninde verilmişse, bir eklemenin (veya bir sabitle çarpmanın) "hesaplaması kolay bir işlev" olması ile ilgilidir, ancak rakamlar büyük- endian düzeni.
1
İşlevsel bir sonlu durum dönüştürücüsü, kısmi bir işlevi gerçekleştiren belirsiz olmayan bir sonlu durum dönüştürücüsüdür. Bu kısmi fonksiyonlar deterministik sonlu durum transdüserleri tarafından gerçekleştirilemez. Deterministik bimachines ile gerçekleştirilebilirler , ancak bunlar gerekebilirO(n) giriş yapmak istiyorlarsa, giriş üzerinde ileri ve geri tarama yapar O(1) Uzay.
2
Belirsiz bir sonlu durum dönüştürücüsü, her bir giriş için en fazla bir kabul yoluna sahip, belirsiz olmayan bir sonlu durum dönüştürücüsüdür. Kısmi bir fonksiyon gerçekleştirir, dolayısıyla aynı zamanda fonksiyonel bir sonlu durum transdüseridir. Belirli bir sonlu durum dönüştürücüsünün kesin olup olmadığı karar verilebilir.
3 Yukarıda
verilen toplamın ve ilişkisel kategorilerin gerçekten ne kadar makul olduğundan emin değilim . Kısmi kategoriye basit alternatifler göstermek istedim . Daha fazla alternatifin ortaya konması kolaydır, örneğin , morfizmlerin ilişki olduğu ortak ilişkiselR⊂Σ∗×Σ′∗ ile L=R−1(L′)−R−1(Σ′∗−L′)ve aynı kaynak ile hedef arasındaki herhangi bir iki biçimin eşit olduğu düşünülür.