Date le espressioni regolari , ci sono limiti non banali sulla dimensione della più piccola grammatica senza contesto per ?
Date le espressioni regolari , ci sono limiti non banali sulla dimensione della più piccola grammatica senza contesto per ?
Risposte:
Questa è un'ottima domanda e rientra davvero nei miei interessi. Sono contento che tu l'abbia chiesto Max.
Consentitemi di dare DFA con al massimo O ( n ) stati ciascuno. Sarebbe bello se esistesse un PDA con molti stati sub-esponenziali che accetta l'intersezione delle lingue del DFA. Tuttavia, suggerisco che tale PDA potrebbe non esistere sempre.
Considera la lingua della copia. Ora limitalo alla copia di stringhe di lunghezza n.
Formalmente, considera -copy : = { x x .
Possiamo rappresentare -copy come l'intersezione di n DFA di dimensioni al massimo O ( n ) . Tuttavia, il DFA più piccolo che accetta n -copy ha 2 Ω ( n ) stati.
Allo stesso modo, se ci limitiamo a un alfabeto di stack binario, sospetto che il PDA più piccolo che accetta -copy abbia esponenzialmente molti stati.
PS Sentiti libero di inviarmi una e-mail se desideri discutere ulteriormente. :)
Non penso che ci possano essere limiti inferiori o superiori non banali.
Per limiti inferiori, considerare la lingua per un k fisso . La dimensione della grammatica più piccola senza contesto è logaritmica nella dimensione dell'espressione regolare di L 1 , mentre la dimensione dell'automa più piccolo per L 1 è lineare nella dimensione della regex di L 1 . Questa differenza esponenziale rimane invariata se interseciamo L 1 con altre lingue simili.
Per i limiti superiori, considera una lingua L 2 che consiste esattamente in una lingua
deBruijn-Sequenza di lunghezza . È noto che la dimensione di una grammatica più piccola per L 2 è il caso peggiore, ovvero O ( n, quindi la differenza con l'automa "più piccolo" perL2è semplicemente un fattore logaritmico, proposizione 1 in
Un limite inferiore o superiore generale non banale contraddirebbe tali risultati, poiché ciò che è vero per l'intersezione di lingue deve essere vero per l'intersezione di 1 lingua.
Consentitemi di dare un secondo giudizio a Michael, questa è davvero una domanda interessante. L'idea principale di Michael può essere combinata con un risultato della letteratura, fornendo così un limite inferiore simile con una prova rigorosa.
Farò riferimento ai limiti della dimensione CFG in termini di numero totale di simboli alfabetici nelle espressioni regolari. Lascia che questo numero sia indicato da k . (Come notato da john_leo, non troveremo alcun limite utile in termini di numero di espressioni regolari che prendono parte all'intersezione.)
Né l'OP né Michael hanno ritenuto necessario menzionarlo, ma un limite superiore di (sul numero di stati) per convertire un'intersezione di espressioni regolari in un NFA può essere facilmente dimostrato. Per la cronaca, eccolo qui: converti le espressioni regolari in automi Glushkov, che sono tutti senza ritorno. Quindi applicare la costruzione del prodotto per ottenere un NFA per l'intersezione di queste lingue. (Immagino che si può migliorare la tenuta a 2 k + 1 o così.) Un s -state NFA può essere convertita in una grammatica destra lineare (che è un caso speciale di un CFG) di dimensione O ( s 2 )(se misuriamo la dimensione della grammatica come numero totale di simboli sul lato sinistro e destro delle produzioni), dando così la dimensione . Questo limite ovviamente sembra orribile se hai in mente applicazioni pratiche. Cercare di dimostrare un limite migliore usando la complessità di transizione non deterministica invece della complessità di stato non deterministica per stimare la dimensione della NFA può valere la pena.
L'altra parte sta trovando un linguaggio testimone che può essere sinteticamente espresso come l'intersezione di espressioni regolari, ma è necessariamente ingombrante da descrivere con un CFG. (Qui dobbiamo stabilire un limite inferiore sulla dimensione di tutti i CFG che generano il linguaggio, di cui possono essercene infinitamente molti.) Il seguente argomento fornisce un limite inferiore.
Considera il linguaggio finito , dove w R indica l'inversione di w . Quindi L n può essere espresso come intersezione delle seguentiespressioni regolari 2 n + 1 :
Il numero totale di simboli alfabetici in questa intersezione di espressioni è in O ( n 2 ) .
Usando un argomento fornito nella dimostrazione del Teorema 13 in ( 1 ), si può dimostrare che ogni CFG aciclico che genera deve avere almeno 2 n / ( 2 n ) = 2 Ω ( √variabili distinte, se il lato destro di ciascuna regola ha lunghezza al massimo2. Quest'ultima condizione è necessaria per discutere del numero di variabili, poiché possiamo generare un linguaggio finito con una singola variabile. Ma dal punto di vista della dimensione grammaticale, questa condizione non è in realtà una restrizione, poiché possiamo trasformare un CFG in questa forma con solo un ingrandimento lineare delle dimensioni, vedi (2). Si noti che il linguaggio utilizzato da Arvind et al. è sopra un alfabeto di dimensionen, e questo produce un limite dinn/(2n); ma l'argomento prosegue con ovvie modifiche.
Riferimenti:
V. Arvind, Pushkar S. Joglekar, Srikanth Srinivasan. Circuiti aritmetici e prodotto polinomiale di Hadamard , FSTTCS 2009, vol. 4 di LIPIcs, pagg. 25-36
Lange, Martin; Leiß, Hans (2009). " A CNF o no a CNF? Una versione efficiente ma presentabile dell'algoritmo CYK ". Informatica Didactica 8.