In informatica teorica e in matematica discreta, un automa è un dispositivo, o un suo modello in forma di macchina sequenziale, creato per eseguire un particolare compito, che può trovarsi in diverse configurazioni più o meno complesse caratterizzate primariamente da una variabile che appartiene ad un determinato insieme di stati, e che evolve in base agli stimoli od ordini ricevuti in ingresso schematizzati da simboli appartenenti ad un determinato alfabeto.
Quando l'automa si trova in un dato stato, esso può accettare solo un sottoinsieme dei simboli del suo alfabeto. L'evoluzione di un automa parte da un particolare stato detto stato iniziale. Un sottoinsieme privilegiato dei suoi stati è detto insieme degli stati finali o marcati.
Si definisce anche come un sistema dinamico (Teoria dei sistemi) (si evolve nel tempo), discreto (nella scansione del tempo e nella descrizione del suo stato) e invariante (il sistema si comporta alla stessa maniera indipendentemente dall'istante di tempo agisce).
In genere gli automi sono deterministici, ovvero dato uno stato ed un simbolo in ingresso è possibile una sola transizione.
L'insieme dei possibili stimoli che possono essere forniti ad un automa costituisce il suo alfabeto.
Una sequenza di simboli (detto anche stringa o parola) appartiene al linguaggio se essa viene accettata dal corrispondente automa, ovvero se porta l'automa in uno stato valido, che sia lo stesso o un altro stato. Un sottoinsieme del linguaggio riconosciuto, chiamato linguaggio marcato porta l'automa dal suo stato iniziale ad uno stato finale o marcato.
A diverse classi di automi corrispondono diverse classi di linguaggi, caratterizzate da diversi livelli di complessità.
Formalmente tali automi sono delle quintuple, (Q, I, f, q0, F ), formate da un alfabeto finito dei simboli in ingresso (I), un insieme finito di stati(Q) tra cui si distingue uno stato iniziale (q0) ed un sottoinsieme di stati, detti finali (F), ed una funzione di transizione(f). Tale funzione, descritta mediante una tabella di transizione degli stati, o un multidigrafo, è definita per coppie (stato corrente, simbolo scandito) e stabilisce la transizione da compiere, ossia lo stato in cui si transita leggendo il dato simbolo.
Il funzionamento dell'automa può essere così descritto:
partendo dallo stato iniziale e dal primo simbolo della stringa in ingresso si decide in base alla funzione di transitare in un determinato stato (potrebbe anche essere lo stesso stato). Finché esiste un altro simbolo nella stringa da scandire si opera alla stessa maniera fino ad esaurire la stringa in ingresso. La stringa si dirà accettata se si giunge in uno stato appartenente al sottoinsieme degli stati finali.
Tali automi sono in grado di riconoscere i linguaggi regolari.
Lo stato degli automi a pila è costituita da una pila di simboli. Solo il simbolo in cima alla pila in un dato momento è accessibile e può essere letto.
Le transizioni negli automi a pila dipendono dal simbolo in ingresso e dal simbolo in cima alla pila; una transizione può comportare il deposito di un nuovo simbolo in cima alla pila e/o l'emissione di un simbolo in uscita.
Gli automi a pila sono un sovrainsieme di quelli a stati finiti.
Automat (Informatik) | Abstract machine | Autómata | Absztrakt automata | תורת האוטומטים | Absztrakt automata | オートマトン | Autômato | Автомат (механизм) | Teória automatov | ทฤษฎออโตมาตา
This article is licensed under the GNU Free Documentation License.
It uses material from the
"Automa (informatica)".
Home Page • arts • business • computers • games • health • hospitals • home • kids & teens • news • physicians • recreation• reference • regional • science • shopping • society • sports • world