Bahasa reguler dari sudut pandang kategori-teoretis

21

Saya perhatikan bahwa bahasa reguler di atas alfabet secara alami dapat dianggap sebagai masalah, dan memang sebuah kisi. Selain itu, rangkaian bersama dengan bahasa kosong mendefinisikan struktur monoid yang ketat pada kategori ini yang bersifat distributif atas gabungan (saya tidak yakin tentang ketemu). Apakah ini konstruksi yang berguna dalam teori atau praktik bahasa reguler? Adakah beberapa tambahan yang bagus untuk ditemukan, misalnya bisakah kita mendefinisikan bintang Kleene sebagai bintang?ϵΣϵ

Ini adalah salinan dari pertanyaan yang diajukan pada kursus Kompiler di Coursera: https://class.coursera.org/compilers/forum/thread?thread_id=311

Alexei Averchenko
sumber
4
Hanya dengan menunjukkan bahwa tautan tersebut mengharuskan seseorang dapat masuk ke situs web coursea.
Dave Clarke
1
Apa urutan parsial yang membuat bahasa biasa menjadi poset? apakah itu hanya properti himpunan bagian?
Suresh Venkat
@ Suresh Ya, apakah saya melewatkan sesuatu?
Alexei Averchenko
1
Tidak. Saya hanya ingin mengerti jika ada sesuatu yang lebih spesifik pada struktur bahasa
Suresh Venkat
@Suresh Saya tentu saja tidak sepintar atau terpelajar seperti referensi Dave Clarke, jadi saya hanya melihat hal yang paling jelas :)
Alexei Averchenko

Jawaban:

18

Sudah banyak yang dilakukan menerapkan teori kategori ke bahasa dan automata biasa. Satu titik awal adalah makalah terbaru:

Dalam makalah pertama dari makalah ini, struktur ekspresi reguler diperlakukan secara aljabar dan bahasa yang dihasilkan ditangani dengan batu bara. Kedua pandangan ini terintegrasi dalam pengaturan bialgebra. Bialgebra adalah pasangan aljabar-coalgebra dengan hukum distributif yang cocok yang menangkap interaksi antara istilah sintaksis (ekspresi reguler) dan perilaku komputasi (bahasa yang dihasilkan). Dasar dari makalah ini adalah aljabar dan batubara, sebagaimana diperlakukan dalam ilmu komputer di bawah payung universal aljabar dan batubara, bukan apa yang dilihat dalam matematika (kelompok, dll).

Makalah kedua menggunakan teknik yang berasal dari perawatan matematika yang lebih tradisional dari aljabar (modul dll) dan coalgebra, tapi saya khawatir saya tidak tahu detailnya.

Tidak ada yang memperlakukan bintang Kleene sebagai tambahan, sejauh yang saya tahu.

Secara umum, ada banyak pekerjaan yang menerapkan teori kategori ke automata alih-alih ekspresi reguler. Contoh karya ini meliputi:

Akhirnya, ada pekerjaan pada teori iterasi, teori iterasi : logika persamaan proses iteratif oleh Stephen L. Bloom dan Zoltán Ésik, yang berfokus pada iterasi (misalnya, bintang Kleene), tetapi dari perspektif yang lebih umum, di mana bahasa biasa hanya satu hal yang termasuk dalam teori.

Dave Clarke
sumber
2
Untuk automata ada juga books.google.co.id/...
Radu GRIGore
1
Sayangnya, istilah "aljabar" terlalu sering digunakan. Ada arti "aljabar" sebagai struktur aljabar generik, yang digunakan dalam aljabar Universal, aljabar functor dan aljabar monad. Makalah Bart Jacobs berbicara tentang itu. Ada struktur yang lebih spesifik yang disebut " aljabar " yang didefinisikan dalam teori cincin / modul. Makalah James Worthington berurusan dengan itu. Menurut pendapat saya, karya Worthington jauh lebih menarik, tetapi saya pikir kita baru mulai menggaruk permukaan di sini.
Uday Reddy
Tautan non-paywall ke kertas Bart: repository.ubn.ru.nl/handle/2066/36207
Turion
12

Sebenarnya, saya pikir yang Anda cari adalah aljabar Kleene. Lihat artikel klasik Dexter Kozen. Dia memberikan aksioma bintang Kleene. Saya menganggap ini adalah langkah pertama yang Anda minati.

Teorema kelengkapan untuk aljabar Kleene dan aljabar acara reguler. Informasi dan Komputasi, 110 (2): 366-390, Mei 1994.

Artikel itu tidak menggunakan teori kategori, tetapi ia memberikan aksioma kesetaraan dari aljabar Kleene, yang strukturnya termasuk dari bahasa-bahasa biasa. Aljabar Kleene dengan tes dapat dilihat sebagai perpanjangan dari ekspresi reguler untuk memodelkan program sederhana dengan loop dan kondisional (tetapi tanpa tugas). Ekstensi ini berguna untuk alasan tentang program-program sederhana semacam itu secara murni aljabar.

Pada teori coalgebraic aljabar Kleene dengan tes. Laporan teknikal. Universitas Cornell, Maret 2008.

Bahasa biasa membentuk aljabar Boolean dengan struktur tambahan, seperti yang Anda amati. Struktur ini telah dipelajari dari sudut pandang dualitas Batu oleh Nick Pippenger.

Bahasa Biasa dan Dualitas Batu . Nicholas Pippenger. Sistem Teori Komputasi, 1997: 121-134.

Pendekatan dualitas untuk pengenalan bahasa telah menjadi sorotan baru-baru ini dan telah diterapkan untuk memperoleh hasil baru tentang pengenalan bahasa.

Teori kualitas dan persamaan bahasa biasa. M. Gehrke, S. Grigorieff, J.-E. Pin.

Vijay D
sumber
1
Dan secara khusus tentang beberapa tambahan klasik aljabar Kleene dalam teori mesin: cs.cornell.edu/Courses/cs786/2004sp/Lectures/l06-adj.pdf
ex0du5
4

Melihat dunia menggunakan kacamata teori kategori disebut kategorisasi . Terkadang menghasilkan hasil yang sangat bagus dan mengejutkan. Fisikawan telah mulai mengatakan bahwa memikirkan sebuah kelompok sebagai satu elemen gropoid membuat perbedaan yang sangat besar . Saya mulai menyadari bahwa memikirkan monoid sebagai kategori satu elemen juga menyederhanakan banyak hal. (Misalnya, tindakan monoid kemudian menjadi functor ke Set . Hal-hal semacam itu membentuk kategori tertutup dan tertutup. Jadi, mereka memiliki kalkulus lambda dan logika intuitionistic juga!)

Anda ingin mengelompokkan bahasa biasa. Saya tidak tahu apakah itu sudah dilakukan, atau dilakukan dan ternyata tidak menarik. Saya belum pernah melihat tulisan tentang hal itu. Namun, struktur aljabar bahasa reguler, Kleene algebras, cukup menarik. Ada banyak literatur tentang mereka. Tetapi, menurut saya, teori bahasa reguler dan automata terbatas menderita dari komitmen prematur terhadap keterbatasan. (Grup terbatas memang menarik dan penting, tetapi Anda tidak ingin definisi "grup" berkomitmen pada finiteness sejak awal.) Jadi, akan berguna untuk membuang finiteness dan mempelajari struktur secara lebih umum.

Pekerjaan paling menarik yang terjadi saat ini terkait dengan struktur yang disebut bimonoids lokalitas yang didefinisikan oleh Hoare. Aljabar Kleene bersamaan telah ditemukan sebagai contoh dari mereka . Bimonoid dan konkurensi lokalitas adalah arah penelitian aktif.

Uday Reddy
sumber