Logo dell'Università di Catania: Siciliae Studium Generale 1434 Logo DMI, Fondamenti di informatica
matite e gomma
Loghi istituzionali: Siciliae Studium Generale 1434, Università di Catania, Facoltà di Scienze Matematiche, Fisiche, Naturali, Insegnamento di Fondamenti di Informatica

Pumping lemma e problemi decibili per linguaggi regolari

Lezione 24 di Fondamenti di informatica

Docente: Giuseppe Scollo

Università di Catania
Facoltà di Scienze Matematiche, Fisiche e Naturali
Corso di Laurea in Informatica, I livello, AA 2009-10

Logo di Conformità WCAG-1 di Livello Tripla A, W3C-WAI Web Content Accessibility Guidelines 1.0 Validazione XHTML 1.0 Validazione CSS 3

Indice

  1. Pumping lemma e problemi decibili per linguaggi regolari
  2. pumping lemma per linguaggi regolari
  3. applicazioni del pumping lemma
  4. problemi di decisione per linguaggi formali
  5. vacuità di linguaggi regolari
  6. appartenza a linguaggi regolari
  7. equivalenza di automi
  8. minimizzazione di DFA
  9. temi per ulteriori approfondimenti

pumping lemma per linguaggi regolari

ecco qui uno strumento utile a dimostrare che determinati linguaggi non sono regolari

pumping lemma: se L è un linguaggio regolare, esiste n > 0 tale che ogni stringa w in L che abbia |w|  n è scomponibile in tre stringhe w = xyz tali che

  1. y  ε
  2. |xy|  n
  3. per ogni k  0 la stringa xy kz è in L

nocciolo della dimostrazione: ogni linguaggio regolare è riconoscibile da un DFA, dotato di un insieme finito di stati; ogni stringa accettata di lunghezza maggiore o uguale al numero di stati etichetta un cammino, nel grafo del DFA, che attraversa più volte uno stesso stato

applicazioni del pumping lemma

esempio: il linguaggio L = { an bn | n > 0 } non è regolare

in modo del tutto simile si dimostra la non regolarità del linguaggio costituito dalle stringhe in ciascuna delle quali i due simboli dell'alfabeto hanno lo stesso numero di occorrenze, indipendentemente dall'ordine

sarebbe difficile, invece, dimostrare per questa via che non è regolare il linguaggio delle stringhe in ciascuna delle quali i due simboli hanno un diverso numero di occorrenze

problemi di decisione per linguaggi formali

i seguenti problemi di decisione acquistano interesse per linguaggi formali di cardinalità infinita, ma specificati da una descrizione finita (quali, ad es., grammatiche formali, FSA, espressioni regolari)

tutti e tre questi problemi sono decidibili per la classe dei linguaggi regolari

purtroppo non lo sono, invece, per le classi di linguaggi più ampie di questa nella gerarchia di Chomsky

vacuità di linguaggi regolari

grazie alla convertibilità fra i vari tipi di FSA, e fra questi e le espressioni regolari, per mostrare la decibilità dei problemi suddetti nella classe dei linguaggi regolari è sufficiente esibire un algoritmo risolutivo, per ciascuno di essi, con riferimento a uno solo dei vari tipi di descrizione di linguaggi regolari

il problema della vacuità è tuttavia di semplice soluzione per tutti i suddetti tipi di descrizione dei linguaggi regolari:

appartenza a linguaggi regolari

la decibilità di questo problema discende direttamente dalla simulabilità dell'elaborazione della stringa data da parte di un DFA

l'algoritmo indicato è semplice ed efficiente (tempo di esecuzione lineare nella dimensione della stringa) quando il linguaggio è descritto da un DFA

un'alternativa più efficiente consiste nella simulazione del NFA, o ε-NFA, tenendo traccia dell'insieme di stati raggiungibile da ciascuno stato per un dato simbolo nella stringa, nel corso della sua elaborazione, con tempo di esecuzione quadratico nel numero di stati

infine, nel caso di un'espressione regolare, la si può convertire in un ε-NFA equivalente in tempo lineare nel numero degli stati, e procedere quindi come sopra

equivalenza di automi

decidere se due descrizioni di linguaggi regolari denotino lo stesso linguaggio è un problema più impegnativo degli altri due esaminati sopra

il seguente concetto è la chiave di volta della sua soluzione:

...

...

...

...

minimizzazione di DFA

...

...

...

...

...

temi per ulteriori approfondimenti

  1. Complessità delle conversioni di FSA ed espressioni regolari
    la mera esistenza di algoritmi che permettono la costruzione di un DFA equivalente a un NFA o ε-NFA o espressione regolare, e viceversa, non basta a garantire la pratica fattibilità di tali conversioni in tutti i casi; è rilevante in proposito l'analisi della complessità computazionale degli algoritmi in questione, anche al fine di scegliere, quando esistano più opzioni, quella più conveniente; il tema è trattato nella sez. 4.3.1 del testo (Hopcroft, Motwani, Ullman, 2009), che presenta anche un utile riepilogo dei vari algoritmi di conversione