Gli Automi a Stati Finiti ed i Linguaggi di Tipo 3
Lezione 2 Automa a stati finiti
UNITÀ 1   Definizione di ASF

La tipologia più semplice di macchina per il riconoscimento di linguaggi, è costituita dai cosiddetti automi a stati finiti, o automi finiti. Questi automi si possono pensare come dispositivi che, mediante una testina di lettura, leggono la stringa di input scritta su di un nastro e la elaborano facendo uso di un "meccanismo" e di una memoria di lavoro limitata.
L'elaborazione della stringa, avviene un carattere alla volta, mediante l'esecuzione di specifici passi computazionali:
  1. Lettura del carattere corrente della stringa.

  2. Spostamento della testina sul carattere successivo.

  3. Aggiornamento dello stato della memoria che viene sfruttato per tenere traccia di quanto letto, in base ad una funzione di transizione che ad ogni coppia < carattere letto, stato corrente > associa lo stato successivo.

ESEMPIO
L'applet riportata qui di lato ti permette di vedere un automa in azione: iniziando l'elaborazione con il tasto PLAY (>), puoi osservare come i passi computazionali, che abbiamo descritto sopra, vengano seguiti da questo automa nel riconoscere la stringa "abbab".
Puoi notare come inizialmente la memoria dell'automa si trovi nello stato iniziale q0, mentre dopo la lettura del primo carattere (a) della stringa e lo spostamento della testina di lettura sul carattere successivo, la memoria passi nello stato q1, fino ad arrivare poi nello stato q3 alla fine della elaborazione di tutta la stringa di input.

Abbiamo visto come gli elementi che formano questa macchina astratta per il riconoscimento di linguaggi sono allora l'alfabeto del linguaggio da riconoscere, sul quale sono costruite le stringhe in ingresso sul nastro, l'insieme degli stati in cui può trovarsi la memoria dell'automa e la funzione che definisce le transizioni dallo stato attuale al successivo.
A questo punto siamo in grado di definire formalmente il concetto di automa a stati finiti:

DEFINIZIONE  

 

ASF
Un automa a stati finiti (ASF) è una quintupla     dove:
  • è l'alfabeto di input.
  • K = {q0,...,qn} è un insieme finito e non vuoto di stati.
  • F K è un insieme di stati finali.
  • q0 K è lo stato iniziale.
  • è la funzione (totale) di transizione che ad ogni coppia < stato, carattere in input > associa lo stato successivo.


home Indice Unità Next
URL: www.dis.uniroma1.it/~moroni/L2_t3_u1.htm     Last Modified: 10/03/1999