Tassonomia di importanti automi a espressione regolare


10

Sto cercando di elaborare una tassonomia di algoritmi per trasformare espressioni regolari in automi in modo da eseguire alcuni test empirici delle loro proprietà di complessità in domini specifici.

Sono a conoscenza di diversi nomi "più grandi", ad es.


Thompson

"Algoritmo di ricerca di espressioni regolari", Thompson, 1968

Glushkov

"Un nuovo algoritmo quadratico per convertire un'espressione regolare in un automa", Ponty, et. al, 1996

Antimirov

"Derivati ​​parziali di espressioni regolari e costruzioni di automi finiti", Antimirov, 1996

Seguire

"Segui automi", Ilie, et. al, 2003;

"Calcolo del seguente automa di un'espressione", Champarnaud, et. al, 2002

Hromkovic

"Tradurre espressioni regolari in piccoli automi finiti non deterministici e-free", Hromkovic, et. al, 2001


e le loro proprietà distintive (assenza di epsilon, determinismo, dimensioni, minimizzazione, ecc.) ma so che questo non è un elenco esaustivo.

Sono particolarmente interessato agli algoritmi che presentano complessità temporali significativamente diverse da quelle sopra elencate e / o topologie significativamente diverse.

Se conoscete gli altri, un link a un documento che descrive in dettaglio l'algoritmo di costruzione sarebbe molto apprezzato (leggete necessario se lo implementerò!)

Modifica: aggiunti alcuni riferimenti come richiesto.


@Radu GRIGore Ho aggiunto alcuni riferimenti. Questi sono i migliori riferimenti che conosco per questi automi, ma potrebbero essercene altri.
s8soj3o289,

1
Per Glushkov il mio solito riferimento sono J. Berstel e J.-E. Pin, "Lingue locali e algoritmo di Berry-Sethi", 1996.
Sylvain,

1
A proposito, potresti trovare implementazioni di alcuni di quegli algoritmi nella libreria Vaucanson C ++, come riferimento per la costruzione di questi algoritmi. trac.lrde.org/vaucanson/browser/include/vaucanson/algorithms (in cui standard_of = Glushkov, thompson_of = Thompson, deriv_term_automaton = Antimirov, brzozowski = Brzozowski)
Michaël Cadilhac

@ michael-cadilhac Grazie per il puntatore. Avrei voluto saperlo prima di implementare gli altri da solo! Sicuramente darò un'occhiata.
s8soj3o289

Risposte:


7

Watson (Tech. Rep. Univ. Eindhoven 1995) ha scritto una tassonomia di algoritmi di costruzione di automi finiti; di seguito alcuni sviluppi più recenti.

Per gli NFA con transizioni epsilon, il libro di teoria dell'analisi di Sippu / Soisalon-Soininen (Springer, 1998) contiene una variante della costruzione di Thompson. Ilie e Yu (I&C 2003) e Gulan e Fernau (FSTTCS 2008) offrono versioni raffinate della costruzione classica. La dimensione minima richiesta di epsilon-NFA corrispondenti alle espressioni regolari è ulteriormente studiata da Gruber e Gulan (LATA 2010). La struttura dei digrafi sottostanti risultanti dalla costruzione di Thompson è studiata da Giammarresi, Ponty, Wood & Ziadi (Discr. Appl. Math 2004) e da Gulan (Tech. Rep. Univ. Trier, 2010).

Per quanto riguarda gli NFA senza epsilon, voglio menzionare il precedente lavoro di Berry & Sethi (TCS 1986) e di Brüggemann-Klein (TCS 1993), ma che probabilmente è coperto dalla tassonomia di Watson.

n2O(log*n)

Nota anche: per quanto riguarda gli algoritmi veloci per la corrispondenza delle espressioni regolari, sono a conoscenza del recente lavoro di Bille e Thorup (ICALP 2009, SODA 2010). Usano la classica costruzione Thompson (oltre ovviamente a molti trucchi per ottenere velocità).


1
questa è un'ottima risposta, grazie mille. vedo che hai anche recentemente pubblicato un libro sull'argomento - potrei anche chiedere se a. è disponibile on-line in qualsiasi forma e b. o hai mai visto la complessità del "caso medio" per domini specifici? Sono principalmente interessato alle applicazioni per scoprire dove alcune prove ancora in gran parte aneddotiche suggeriscono che la complessità del caso medio di alcuni di questi algoritmi differisce significativamente dagli scenari del caso peggiore descritti nella letteratura CS.
s8soj3o289,

inoltre non sono del tutto sicuro di ciò che l'etichetta impone in termini di selezione della risposta. la tua risposta è chiaramente superiore a quella che ho selezionato in precedenza.
s8soj3o289,

Solo il teaser del libro è disponibile online gratuitamente.
Hermann Gruber,

Per quanto riguarda la complessità media dello stato dei casi, esiste anche un documento sulla dimensione media di NFA per le lingue finite con M. Holzer (TCS 2007); ma la maggior parte sembra essere il lavoro di Nicaud su Glushkov automata (LATA 2009); c'è anche un prossimo articolo di Nicaud, Pivoteau & Razet (FSTTCS 2010) con un titolo interessante: non sono ancora riuscito a dare un'occhiata.
Hermann Gruber,

Gouveia, Moreira e Reis (CiE 2010) eseguono esperimenti sulla conversione da RE a NFA. Broda, Machiavelo, Moreira & Reis (DLT 2010) confrontano in media il numero di stati degli stati di posizione (Glushkov) e degli automi di equazione (Antimirov). Questo potrebbe anche essere di interesse.
Hermann Gruber,

5

Uno non considerato nella tua lista è Derivatives of Regular Expressions di Janusz Brzozowski, Journal of the ACM 1964, che è stato recentemente riconsiderato da Scott Owens, John Reppy e Aaron Turon in derivati ​​di espressioni regolari riesaminati. Journal of Functional Programming (2009), 19: 173-190 , che forniscono un'implementazione pratica della tecnica per una notazione estesa per le espressioni regolari.


2
Antimirov è una variante non deterministica di Brzozowski.
Sylvain,

Il nome sembrava sicuramente familiare.
Dave Clarke,

grazie per l'articolo "riesaminato", non l'avevo visto!
s8soj3o289,
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.