Linguaggi regolari dal punto di vista teorico di categoria


21

Ho notato che le lingue regolari sopra l'alfabeto possono essere naturalmente pensate come un poset, e in effetti un reticolo. Inoltre, la concatenazione insieme al linguaggio vuoto ϵ definisce una struttura monoidale rigorosa su questa categoria che è distributiva sui join (non sono sicuro degli incontri). È un costrutto utile nella teoria o nella pratica delle lingue normali? Ci sono alcune aggiunte utili da trovare, ad esempio possiamo definire la stella di Kleene come una?Σε

Questa è una copia di una domanda posta al corso Compilers a Coursera: https://class.coursera.org/compilers/forum/thread?thread_id=311


4
Basta sottolineare che il collegamento richiede che si possa accedere al sito Web di Coursea.
Dave Clarke,

1
Qual è l'ordine parziale che trasforma le lingue normali in un poset? è semplicemente la proprietà del sottoinsieme?
Suresh Venkat,

@Suresh Sì, mi sto perdendo qualcosa?
Alexei Averchenko

1
No. Volevo solo capire se c'era qualcosa di più specifico nella struttura linguistica
Suresh Venkat,

@Suresh Di certo non sono intelligente o educato come fa riferimento la gente di Dave Clarke, quindi ho visto solo la cosa più ovvia :)
Alexei Averchenko,

Risposte:


18

È stato fatto molto per applicare la teoria delle categorie a linguaggi e automi regolari. Un punto di partenza sono gli articoli recenti:

Nel primo di questi articoli, la struttura delle espressioni regolari è trattata algebricamente e le lingue generate sono trattate in modo coalgebrico. Queste due viste sono integrate in un ambiente bialgebrico. Una bialgebra è una coppia algebra-coalgebra con una legge distributiva adeguata che cattura l'interazione tra i termini sintattici (le espressioni regolari) e il comportamento computazionale (linguaggi generati). La base di questo documento è l'algebra e la coalgebra, come trattate in informatica sotto gli ombrelli dell'algebra universale e della coalgebra, piuttosto che ciò che si vede in matematica (gruppi, ecc.).

Il secondo articolo utilizza tecniche che derivano dal più tradizionale trattamento matematico di algebra (moduli ecc.) E coalgebra, ma temo di non conoscere i dettagli.

Né tratta la stella di Kleene come un'aggiunta, per quanto ne so.

Più in generale, c'è molto lavoro sull'applicazione della teoria delle categorie agli automi anziché alle espressioni regolari. Un esempio di questo lavoro include:

Infine, c'è il lavoro su teorie di iterazione, teorie di iterazione : la logica equazionale dei processi iterativi di Stephen L. Bloom e Zoltán Ésik, che si concentra sull'iterazione (ad esempio, stella di Kleene), ma da una prospettiva più generale, in cui i linguaggi regolari sono solo una cosa che rientra nella teoria.


2
Per gli automi c'è anche books.google.co.uk/…
Radu GRIGore

1
Sfortunatamente, il termine "algebra" è abusato. C'è il significato di "algebra" come una struttura algebrica generica, che viene utilizzata in algebra universale, algebre di funzione e algebre di monade. L'articolo di Bart Jacobs parla di quelli. Esiste una struttura più specifica chiamata " algebra " definita nella teoria dell'anello / modulo. L'articolo di James Worthington ha a che fare con quelli. Secondo me, il lavoro di Worthington è molto più interessante, ma penso che qui abbiamo solo iniziato a grattare la superficie.
Uday Reddy,

Link non paywall al documento di Bart: repository.ubn.ru.nl/handle/2066/36207
Turion,

12

In realtà, penso che quello che stai cercando sia l'algebra di Kleene. Vedi l'articolo classico di Dexter Kozen. Dà un'assiomatizzazione della stella di Kleene. Presumo che questo sia il primo passo che ti interessa.

Un teorema di completezza per le algebre di Kleene e l'algebra degli eventi regolari. Informazione e calcolo, 110 (2): 366-390, maggio 1994.

Questo articolo non usa la teoria delle categorie, ma fornisce un'assiomatizzazione equazionale delle algebre di Kleene, la cui struttura include quella delle lingue normali. Le algebre di Kleene con i test possono essere viste come l'estensione di espressioni regolari per modellare programmi semplici con loop e condizionali (ma senza assegnazioni). Questa estensione è utile per ragionare su programmi così semplici in modo puramente algebrico.

Sulla teoria coalgebrica dell'algebra di Kleene con test. Rapporto tecnico. Cornell University, marzo 2008.

Le lingue regolari formano un'algebra booleana con struttura aggiuntiva, come si osserva. Questa struttura è stata studiata dal punto di vista della dualità di Stone da Nick Pippenger.

Lingue regolari e dualità di pietra . Nicholas Pippenger. Teoria dei sistemi informatici, 1997: 121-134.

L'approccio della dualità al riconoscimento linguistico è stato recentemente alla ribalta ed è stato applicato per ottenere nuovi risultati sul riconoscimento linguistico.

Dualità e teoria equazionale dei linguaggi regolari. M. Gehrke, S. Grigorieff, J.-E. Pin.


1
E in particolare alcune aggiunte classiche delle algebre di Kleene nella teoria delle macchine: cs.cornell.edu/Courses/cs786/2004sp/Lectures/l06-adj.pdf
ex0du5

4

Guardare il mondo usando gli occhiali per la teoria delle categorie si chiama categorizzazione . A volte produce risultati davvero belli e sorprendenti. I fisici hanno iniziato a dire che pensare a un gruppo come un gropoide a un elemento fa davvero una grande differenza . Sto cominciando a rendermi conto che pensare a un monoide come una categoria a un elemento semplifica anche molte cose. (Ad esempio, un'azione monoide è quindi una funzione del Set . Tali cose formano categorie e toposizioni chiuse da cartesiane. Quindi, hanno un calcolo lambda e anche una logica intuizionista!)

Vuoi classificare le lingue normali. Non so se è stato fatto, o fatto e trovato poco interessante. Non ho visto nulla di scritto al riguardo. Tuttavia, la struttura algebrica delle lingue regolari, le algebre di Kleene, è sufficientemente interessante. C'è una grande quantità di letteratura su di loro. Ma, a mio avviso, la teoria delle lingue regolari e degli automi finiti soffre di un prematuro impegno per la finitezza. (I gruppi finiti sono interessanti e importanti, ma non si desidera che la definizione di "gruppo" si impegni all'inizio alla finezza.) Pertanto, sarebbe utile eliminare la finezza e studiare le strutture in generale.

Il lavoro più interessante in corso al momento è legato a strutture chiamate bimonoidi di località definite da Hoare. Algebre di Kleene simultanee sono state trovate per essere un esempio di loro . I bimonoidi della località e la concorrenza sono una direzione di ricerca attiva.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.