Le espressioni regolari "dense" generano


25

Ecco una congettura per le espressioni regolari:

Per l'espressione regolare , lascia che la lunghezza | R | essere il numero di simboli in essa contenuti, ignorando le parentesi e gli operatori. Ad esempio | 0 1 | = | ( 0 1 ) | = 2R|R||01|=|(01)|=2

Congettura: Se e L ( R ) contiene ogni stringa di lunghezza | R | o meno, quindi L ( R ) = Σ .|R|>1L(R)|R|L(R)=Σ

Cioè, se è 'denso' fino a R lunghezza s', quindi R in realtà genera tutto.L(R)RR

Alcune cose che potrebbero essere rilevanti:

  1. È necessaria solo una piccola parte di per generare tutte le stringhe. Ad esempio in binario, R = ( 0 1 ) *S funziona per qualsiasi S .RR=(01)SS
  2. Ci deve essere una stella di Kleene in ad un certo punto. In caso contrario, mancherà una stringa di dimensioni inferiore a | R | .R|R|

Sarebbe bello vedere una prova o un controesempio. C'è qualche caso in cui è ovviamente sbagliato che mi sia perso? Qualcuno ha mai visto questo (o qualcosa di simile) prima?


sono e contati come o come ? εsymbolsoperations
Ran G.,

@Ran li stavo contando come simboli.
Lucas Cook,

Risposte:


34

La tua congettura è smentita da Keith Ellul, Bryan Krawetz, Jeffrey Shallit e Ming-wei Wang nel loro articolo "Espressioni regolari: nuovi risultati e problemi aperti". Mentre il documento non è disponibile online, si parla .

Nel documento, definiscono la misura , che è il numero di simboli in R , senza contare ϵ o . Tuttavia, può essere eliminato da ogni espressione che non genera la lingua vuota e l'espressione può essere "ripulita" in modo che il numero di ϵ che contiene sia al massimo | a l p h ( R ) | (Lemma a pagina 10 del discorso).|alph(R)|Rϵϵ|alph(R)|

Nella pagina 51, per ogni costruiscono un'espressione regolare di dimensione O ( n ) su { 0 , 1 } che genera tutte le stringhe di dimensione al massimo Ω ( 2 n n ) , ma non genera tutte le stringhe. Nota che "size" qui è sia nel tuo senso che nel loro, poiché stiamo usando la notazione big-O. Pongono anche una domanda aperta per trovare la migliore dipendenza tra i due parametri.n3O(n){0,1}Ω(2nn)


Risultato molto bello, e anche piuttosto sorprendente :)
Alex ten Brink,

Che aspetto ha quell'espressione regolare?
svick,

(a+b)(c+d)=ac+bc+ad+bd

@Yuval Molto bello. Grazie per il riferimento!
Lucas Cook,

2
@YuvalFilmus Sembra che il documento sia disponibile online ora.
Anton Trunov,
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.