Automa rifinito

Cos'è un automa rifinito

Un automa è rifinito se tutti gli stati sono raggiungibili e co-raggiungibili.

In un digrafo un nodo (stato) è raggiungibile se esiste un cammino orientato (parola) dallo stato iniziale.

Un nodo è co-raggiungibile se esiste un cammino orientato (parola) verso lo stato finale.

Un esempio pratico

In questo digrafo, escludendo il nodo iniziale (x0) e finale (x3), tutti i nodi sono sia raggiungibili che co-raggiungibili.un esempio di automa rifinito

Sia x1 che x2 sono raggiungibili da x0 (stato iniziale).

Sia x1 che x2 co-raggiungibili perché hanno un cammino verso x3 (stato finale).

Come rifinire un automa

Qualsiasi automa può essere trasformato in un automa rifinito eliminando le transizioni verso gli stati non co-raggiungibili e quelle dagli stati non raggiungibili.

Esempio 1

Questo automa ha uno stato non co-raggiungibile (x2) ed è bloccante.

esempio automa non co-raggiungibile

Eliminando la transizione non co-raggiungibile, l'automa diventa rifinito.

esempio di automa rifinito

Nota. Quando l'automa è bloccante la rifinitura modifica anche il linguaggio generato dell'automa. In questo esempio il linguaggio passa da L={a,ban} a L={ban}. Nel caso degli automi non bloccanti, invece, il linguaggio generato dall'automa è lo stesso anche dopo l'operazione di rifinitura.

Esempio 2

Questo automa ha uno stato non raggiungibile (x2) ed è non bloccante.

esempio automa non co-raggiungibile

Elimino la transizione non raggiungibile e lo trasformo in un automa rifinito.

esempio di automa rifinito

Nota. In questo caso l'automa era non bloccante. Quindi il linguaggio generato non cambia dopo l'operazione di rifinitura. E' sempre L={ban}.

E così via

 


 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin
knowledge base