Informatica 3 V annoprofcuccu.altervista.org/5/SISTEMI-AUTOMI/02_Automi.pdf · Descrizione automa a...

21
Informatica 3 V anno

Transcript of Informatica 3 V annoprofcuccu.altervista.org/5/SISTEMI-AUTOMI/02_Automi.pdf · Descrizione automa a...

Page 1: Informatica 3 V annoprofcuccu.altervista.org/5/SISTEMI-AUTOMI/02_Automi.pdf · Descrizione automa a stati finiti Per descrivere un automa a stati finiti A, utilizziamo un modello

Informatica 3

V anno

Page 2: Informatica 3 V annoprofcuccu.altervista.org/5/SISTEMI-AUTOMI/02_Automi.pdf · Descrizione automa a stati finiti Per descrivere un automa a stati finiti A, utilizziamo un modello

Teoria degli automi

Page 3: Informatica 3 V annoprofcuccu.altervista.org/5/SISTEMI-AUTOMI/02_Automi.pdf · Descrizione automa a stati finiti Per descrivere un automa a stati finiti A, utilizziamo un modello

Introduzione agli automiUn particolare tipo di sistemi dinamici è rappresentato dagli automi.

L’automa è un modello di calcolo molto semplice da utilizzare, adatto a

descrivere un gran numero di problemi di varia natura.

Possiamo pensarlo come un dispositivo che legge una stringa in input e

la elabora secondo un meccanismo di elaborazione e una memoria

limitata, producendo delle uscite.

Page 4: Informatica 3 V annoprofcuccu.altervista.org/5/SISTEMI-AUTOMI/02_Automi.pdf · Descrizione automa a stati finiti Per descrivere un automa a stati finiti A, utilizziamo un modello

Definiamo il concetto di automa

Per quanto detto, un automa è un sistema.

Possiamo quindi introdurre la seguente definizione:

Un automa è un sistema con le seguenti caratteristiche:

- dinamico: evolve nel tempo

- invariante: la risposta del sistema a una sollecitazione è la stessa

indipendentemente dall’istante di tempo in cui è applicata

- discreto nell’avanzamento: quando è discreto l’insieme dei tempi, e

nelle interazioni

- gli elementi degli ingressi e delle uscite sono composti da un numero

finito di elementi

Page 5: Informatica 3 V annoprofcuccu.altervista.org/5/SISTEMI-AUTOMI/02_Automi.pdf · Descrizione automa a stati finiti Per descrivere un automa a stati finiti A, utilizziamo un modello

Automa a stati finiti

Un automa a stati finiti (ASF) è un automa in cui ANCHE l’insieme degli

stati è composto da un numero finito di elementi.

Page 6: Informatica 3 V annoprofcuccu.altervista.org/5/SISTEMI-AUTOMI/02_Automi.pdf · Descrizione automa a stati finiti Per descrivere un automa a stati finiti A, utilizziamo un modello

Descrizione automa a stati finiti

Per descrivere un automa a stati finiti A, utilizziamo un modello

matematico composto dai seguenti elementi:

- I l’insieme degli input che è in grado di leggere

- U l’insieme degli output che può produrre

- S l’insieme finito degli stati interni in cui può trovarsi

- f la funzione di transizione che fa passare da uno stato al successivo

- g la funzione di trasformazione che determina il valore degli output

Pertanto, l’automa A è rappresentabile come:

A = {I, U, S, f, g}

Page 7: Informatica 3 V annoprofcuccu.altervista.org/5/SISTEMI-AUTOMI/02_Automi.pdf · Descrizione automa a stati finiti Per descrivere un automa a stati finiti A, utilizziamo un modello

Transizione e trasformazione negli automi a stati finiti

Indicando con:

- t un qualsiasi istante di tempo in cui stiamo analizzando l’automa

- s(t) lo stato all’istante t

- s(t+1) lo stato all’istante successivo a t

Possiamo esprimere la funzione di transizione nel seguente modo:

s(t+1) = f(s(t), i(t))

In pratica lo stato successivo s(t+1) dipende dallo stato attuale s(t) e

dagli ingressi in tale istante.

Per la funzione di trasformazione avremo, invece:

u(t) = g(s(t), i(t))

Le uscite all’istante t: u(t) dipendono dallo stato attuale s(t), cioè lo stato

all’istante t, e dagli ingressi in tale istante i(t).

Page 8: Informatica 3 V annoprofcuccu.altervista.org/5/SISTEMI-AUTOMI/02_Automi.pdf · Descrizione automa a stati finiti Per descrivere un automa a stati finiti A, utilizziamo un modello

Automi riconoscitoriUna classe di automi particolarmente importante è quella degli automi

riconoscitori, in grado di riconoscere la presenza di una particolare

sequenza di simboli tra tutti quelli che si avvicendano in ingresso.

I riconoscitori, dopo l’ingresso dell’ultimo simbolo della stringa in

ingresso rispondono:

- sì (o riconosciuta) se la stringa è riconosciuta

- no (o non riconosciuta) se la stringa non è riconosciuta

Page 9: Informatica 3 V annoprofcuccu.altervista.org/5/SISTEMI-AUTOMI/02_Automi.pdf · Descrizione automa a stati finiti Per descrivere un automa a stati finiti A, utilizziamo un modello

Rappresentazione automi a stati finiti

Un automa a stati finiti può essere rappresentato mediante:

- modello grafico: diagramma degli stati

- modello matematico: tabella di transizione

- modello logico: programma

Page 10: Informatica 3 V annoprofcuccu.altervista.org/5/SISTEMI-AUTOMI/02_Automi.pdf · Descrizione automa a stati finiti Per descrivere un automa a stati finiti A, utilizziamo un modello

Diagrammi degli statiIl diagramma degli stati è una rappresentazione grafica di un automa costituita

da bolle e archi.

- le bolle (o nodi) rappresentano gli stati dell’automa. All’interno della bolla è

riportato il nome dello stato corrispondente:

- gli archi rappresentano le relazioni di un passaggio da uno stato all’altro.

L’etichetta sopra ogni arco ha la forma seguente:

Cioè è formata dall’input che genera la transizione e dall’output che viene

rilasciato a seguito della transizione. Per esempio, la transizione moneta/lattina significa che: dallo stato S2, quando si riceve in input

una moneta, si transita allo stato S1 emettendo in uscita una lattina.

Page 11: Informatica 3 V annoprofcuccu.altervista.org/5/SISTEMI-AUTOMI/02_Automi.pdf · Descrizione automa a stati finiti Per descrivere un automa a stati finiti A, utilizziamo un modello

Stato iniziale e stati finali

Lo stato iniziale è quello dal quale l’automa inizia a ricevere gli ingressi e

a descrivere il suo comportamento (elaborazione o esecuzione).

È rappresentato da un nodo con una freccia entrante.

Gli stati finali sono particolari stati in cui si viene a trovare l’automa al

termine di un’esecuzione che ha avuto successo. Sono individuati da

una bolla con un doppio circolo e vengono indicati SOLO negli automi

per cui ciò ha significato.

Page 12: Informatica 3 V annoprofcuccu.altervista.org/5/SISTEMI-AUTOMI/02_Automi.pdf · Descrizione automa a stati finiti Per descrivere un automa a stati finiti A, utilizziamo un modello

Costruzione del diagramma degli stati

Individuiamo ora i passi da seguire per arrivare alla costruzione del

diagramma degli stati.

Le fasi sono:

- 1° passo Analisi delle specifiche verbali e/o scritte

- 2° passo Formalizzazione

- 3° passo Sintesi con diagramma degli stati

Page 13: Informatica 3 V annoprofcuccu.altervista.org/5/SISTEMI-AUTOMI/02_Automi.pdf · Descrizione automa a stati finiti Per descrivere un automa a stati finiti A, utilizziamo un modello

Rappresentazione grafica del diagramma degli stati

Il diagramma degli stati è una rappresentazione grafica sia della

funzione di transizione f sia della funzione di trasformazione g.

Esemplificando, in un automa-distributore avremo:

Page 14: Informatica 3 V annoprofcuccu.altervista.org/5/SISTEMI-AUTOMI/02_Automi.pdf · Descrizione automa a stati finiti Per descrivere un automa a stati finiti A, utilizziamo un modello

Stati come stati di memoria

Gli stati di un automa rappresentano i suoi stati di memoria.

Un automa si trova in uno o in un altro stato a seconda di ciò che è

successo in precedenza.

In base allo stato in cui si trova e all’input che riceve, l’automa stabilisce

il suo comportamento.

Page 15: Informatica 3 V annoprofcuccu.altervista.org/5/SISTEMI-AUTOMI/02_Automi.pdf · Descrizione automa a stati finiti Per descrivere un automa a stati finiti A, utilizziamo un modello

Tabelle di transizioneLa seconda modalità di rappresentazione degli automi (equivalente ai

diagrammi di transizione) è quella delle tabelle di transizione.

Le tabelle di transizione sono tabelle con un numero di righe pari al

numero degli stati dell’automa e un numero di colonne pari al

numero dei diversi ingressi. Le celle contengono una coppia formata

dallo stato successivo e dall’uscita da emettere.

Considerando nuovamente l’automa-distributore, la tabella di transizione

sarà così rappresentata:

Page 16: Informatica 3 V annoprofcuccu.altervista.org/5/SISTEMI-AUTOMI/02_Automi.pdf · Descrizione automa a stati finiti Per descrivere un automa a stati finiti A, utilizziamo un modello

Le ripetizioni degli automi riconoscitori

Sappiamo che gli automi riconoscitori sono quelli in grado di riconoscere

la presenza di una particolare sequenza di simboli tra tutti quelli che

avvicendano in ingresso.

Un automa riconoscitore ammette ripetizioni nel caso in cui prosegue

nell’elaborazione anche quando ha individuato la sequenza di simboli

ricercata.

Un automa riconoscitore non ammette ripetizioni nel caso in cui,

individuata la sequenza ricercata termina il suo lavoro.

Page 17: Informatica 3 V annoprofcuccu.altervista.org/5/SISTEMI-AUTOMI/02_Automi.pdf · Descrizione automa a stati finiti Per descrivere un automa a stati finiti A, utilizziamo un modello

Automa di Mealy

Gli automi visti finora, in cui le uscite a un certo istante t dipendono, oltre

che dallo stato, anche dagli ingressi, sono detti automi impropri o di

Mealy.

La loro rappresentazione avviene tramite il diagramma degli stati visto

finora, e cioè:

Page 18: Informatica 3 V annoprofcuccu.altervista.org/5/SISTEMI-AUTOMI/02_Automi.pdf · Descrizione automa a stati finiti Per descrivere un automa a stati finiti A, utilizziamo un modello

Automa di Moore Un automa si dice proprio o di Moore quando le uscite all’istante t dipendono esclusivamente dai

valori assunti dallo stato.

In tal caso possiamo scrivere la funzione di trasformazione come:

u(t) = g(s(t))

Per la loro rappresentazione utilizziamo diagrammi degli stati in cui in ogni bolla vi è una coppia

stato/uscita e sull’arco semplicemente l’ingresso:

La tabella di transizione ha una colonna in più per le uscite, che sono legate agli stati. Nelle celle ci

sarà solo lo stato successivo:

Page 19: Informatica 3 V annoprofcuccu.altervista.org/5/SISTEMI-AUTOMI/02_Automi.pdf · Descrizione automa a stati finiti Per descrivere un automa a stati finiti A, utilizziamo un modello

Da automi di Mealy ad automi di Moore

Si tenga comunque presente che:

Non si deve pensare che gli automi di Mealy possano svolgere meno

compiti rispetto agli automi di Moore. Infatti, è sempre possibile

trasformare un automa di Mealy nel corrispondente automa di Moore

aumentando adeguatamente il numero degli stati.

Page 20: Informatica 3 V annoprofcuccu.altervista.org/5/SISTEMI-AUTOMI/02_Automi.pdf · Descrizione automa a stati finiti Per descrivere un automa a stati finiti A, utilizziamo un modello

Automi senza uscite

In alcuni tipi di automi le uscite non vengono riportate né all’interno

degli stati, né sugli archi. In questi casi si parla di automi senza uscite.

Negli automi riconoscitori senza uscite, per sapere se la sequenza è stata,

o meno, riconosciuta si utilizzano gli stati finali nel senso che:

- se lo stato non è finale l’uscita è sequenza non riconosciuta

- se lo stato è finale l’uscita è sequenza riconosciuta

Page 21: Informatica 3 V annoprofcuccu.altervista.org/5/SISTEMI-AUTOMI/02_Automi.pdf · Descrizione automa a stati finiti Per descrivere un automa a stati finiti A, utilizziamo un modello

Esempio automi senza usciteOsserviamo ora un esempio per comprendere meglio come lavora un

automa senza uscita.

Il nostro automa riconosce sequenze che hanno un numero dispari di 1.

Per il tipo di riconoscimento che l’automa deve effettuare, NON è corretto

inserire l’uscita R (riconosciuta) all’interno dello stato Q1. Questo perché

tale uscita verrebbe emessa ripetutamente ogni volta che l’automa passa

nello stato Q1; invece l’automa dovrebbe aspettare necessariamente la

fine della sequenza in ingresso prima di stabilirne il riconoscimento.

Nel nostro esempio, quando viene letto l’ultimo simbolo in input e l’automa

si trova allo stato Q0 significa che la sequenza non è stata riconosciuta;

quando, invece, termina la sequenza in ingresso e l’automa si trova nello

stato Q1 significa che la sequenza è stata riconosciuta.