Argomenti

  • Teoria degli automi
    • Il primo passo per capire modelli semplici di computazione
  • Computabilità
    • Modello da calcolo molto più potente (macchina di Turing)
  • Complessità
    • Quantificare le risorse in termini di spazio e tempo

Linguaggi regolari

Alfabeto

Definiamo come alfabeto un insieme finito di elementi detto simboli

L’insieme è un alfabeto

Stringa o Parola

Data una sequenza di simboli , definiamo:

come stringa (o parola) di

Dato l’alfabeto , una stringa di è

Linguaggio

Dato un alfabeto , definiamo come linguaggio di , indicato con , l’insieme delle stringhe di

Lunghezza di una stringa

Data una stringa , definiamo la lunghezza di , indicata come , come il numero di simboli presenti in

Concatenazione

Data la stringa e la stringa , definiamo come concatenazione di in la seguente operazione:

Conteggio

Data una stringa e un simbolo definiamo il conteggio di in , indicato come , il numero di simboli uguali ad presenti in

Data la stringa , si ha che e

Automi a stati finiti DFA Ha una quantità di memoria limitata e processa in modo semplice i dati. Processa input bit a bit in modo sequenziale.

Esempio

Astraendo, un DFA sarà fatto nel seguente modo:

  • sono stati
  • è lo stato di accettazione
  • Gli archi sono le transizioni

Definizione DFA

Un DFA è una tupla:

Dove:

  • Q è un numero finito degli stati
  • Sigma è un numero finito dei simboli

Teorema dell'unione