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