Edited by Antonio Costantini


facebook
instagram
twitter
linkedin
youtube
whatsapp
twitch
ladi tonda-photoaidcom-cropped

D 

Informativa Legale

Informativa sulla Privacy

Informativa sui Cookie

Sistemi a stati finiti

29/09/2023 04:57

Antonio Costantini

Automazione, Elettronica, sistemi, elettronica digitale, controlli, logiche programmabili,

Sistemi a stati finiti

Nella quotidianità siamo letteralmente circondati da automi: sono infatti automi la lavatrice, la lavastoviglie, i bancomat, i sistemi di controllo degli ascen

8fc9205e98697d2e73659a4e3bfef24412ebe80a.jpg

(la videolezione) Nella quotidianità siamo letteralmente circondati da automi: sono infatti automi (anche detti sistemi a stati finiti) la lavatrice, la lavastoviglie, il frullino, gli orologi che si vincono nei detersivi, i sistemi di controllo di apertura/chiusura delle banche, i bancomat, i sistemi di controllo degli ascensori, i distributori automatici di bevande, i distributori di gettoni telefonici, i distributori automatici di benzina. Ma sono rappresentabili come automi anche "cose" più astratte come automi riconoscitori di sequenze, automi analizzatori di linguaggio, automi traduttori, automi decodificatori. I computer sono anch'essi automi, in particolare automi a programma, cioè possono svolgere il ruolo di un automa o di un altro a seconda del programma che in quel momento sta "girando".  In realtà i sistemi a stati finiti (o macchine a stati finiti) sono modelli matematici fondamentali per descrivere comportamenti di sistemi logici, informatici e automatici. Sono utilizzati ovunque: dai videogiochi alle automobili, passando per la programmazione e la robotica.

 

cd961677d34077edcf2e473c0c50cd60e3e98ba3.jpg

Volendo essere più rigorosi, potremmo dire che un sistema a stati finiti (automa) è un modello costituito da:

Un insieme finito di stati

Un insieme di input (o eventi)

Una funzione di transizione che dice come il sistema passa da uno stato all’altro in base all’input

Uno stato iniziale e, in certi casi, uno o più stati finali

Un esempio pratico? Pensiamo a un distributore automatico:

Stati: "in attesa", "credito inserito", "prodotto selezionato", "prodotto erogato"

Input: inserire monete, selezionare prodotto Ogni azione comporta una transizione da uno stato a un altro.

Perché è importante?

Permette di modellare e analizzare sistemi complessi in modo semplice e chiaro. È alla base del funzionamento di molti linguaggi di programmazione, sistemi embedded, e persino videogiochi con NPC intelligenti.