<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://jardin.cscsp.ch/index.php?action=history&amp;feed=atom&amp;title=Automa_%28informatica%29</id>
	<title>Automa (informatica) - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://jardin.cscsp.ch/index.php?action=history&amp;feed=atom&amp;title=Automa_%28informatica%29"/>
	<link rel="alternate" type="text/html" href="https://jardin.cscsp.ch/index.php?title=Automa_(informatica)&amp;action=history"/>
	<updated>2026-04-12T01:54:59Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.0</generator>
	<entry>
		<id>https://jardin.cscsp.ch/index.php?title=Automa_(informatica)&amp;diff=359&amp;oldid=prev</id>
		<title>imported&gt;WeckAl: /* growthexperiments-addlink-summary-summary:3|0|0 */</title>
		<link rel="alternate" type="text/html" href="https://jardin.cscsp.ch/index.php?title=Automa_(informatica)&amp;diff=359&amp;oldid=prev"/>
		<updated>2025-07-28T20:18:17Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;growthexperiments-addlink-summary-summary:3|0|0&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;In teoria dei [[sistema dinamico|sistemi dinamici]], un &amp;#039;&amp;#039;&amp;#039;automa&amp;#039;&amp;#039;&amp;#039; è un [[sistema dinamico]] discreto (nella scansione del tempo e nella descrizione del suo stato) e tempo-invariante (il sistema si comporta alla stessa maniera indipendentemente dall&amp;#039;istante di tempo in cui agisce).&lt;br /&gt;
&lt;br /&gt;
Quando l&amp;#039;automa si trova in un dato stato, esso può accettare solo un sottoinsieme dei simboli del suo alfabeto. L&amp;#039;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.&lt;br /&gt;
&lt;br /&gt;
In genere gli automi sono [[deterministico|deterministici]], ovvero dato uno stato e un simbolo in ingresso è possibile una sola transizione. Esistono comunque anche automi non deterministici, o [[Processo stocastico|stocastici]].&lt;br /&gt;
&lt;br /&gt;
== Descrizione ==&lt;br /&gt;
=== Automi e linguaggi ===&lt;br /&gt;
Gli automi sono spesso utilizzati per descrivere [[linguaggi formali]] in [[informatica teorica]], e per questo sono chiamati accettori o riconoscitori di un linguaggio.&lt;br /&gt;
&lt;br /&gt;
L&amp;#039;insieme dei possibili simboli che possono essere forniti a un automa costituisce il suo [[alfabeto]].&lt;br /&gt;
&lt;br /&gt;
Una sequenza di simboli (detta anche [[Stringa (linguaggi formali)|stringa]] o [[parola]]) appartiene al linguaggio se essa viene accettata dal corrispondente automa, ovvero se porta l&amp;#039;automa in uno stato valido, che sia lo stesso o un altro stato. Un sottoinsieme del linguaggio riconosciuto, chiamato &amp;#039;&amp;#039;linguaggio marcato&amp;#039;&amp;#039; porta l&amp;#039;automa dal suo stato iniziale a uno stato finale o marcato.&lt;br /&gt;
&lt;br /&gt;
A diverse classi di automi corrispondono diverse classi di linguaggi, caratterizzate da diversi livelli di complessità.&lt;br /&gt;
&lt;br /&gt;
Un automa può quindi riconoscere più linguaggi (produzione di più sequenze).&lt;br /&gt;
&lt;br /&gt;
=== Automi con blocchi ===&lt;br /&gt;
Esistono principalmente due tipi di blocchi: &amp;#039;&amp;#039;[[deadlock]]&amp;#039;&amp;#039; e &amp;#039;&amp;#039;livelock&amp;#039;&amp;#039;. Il primo avviene quando si giunge in uno stato che non rientra fra gli stati finali e ha &amp;lt;math&amp;gt;\Gamma = \{\Phi\}&amp;lt;/math&amp;gt;, ovvero in cui non ci sono uscite. Un &amp;#039;&amp;#039;livelock&amp;#039;&amp;#039; si verifica invece quando si giunge all&amp;#039;interno di un insieme di stati, nessuno dei quali è uno stato finale o uno stato di blocco, da cui non è più possibile uscire. La presenza di questi blocchi si può individuare con algoritmi che operano sui riguardanti i [[digrafo (matematica)|digrafi]] sottostanti.&lt;br /&gt;
&lt;br /&gt;
=== Operazioni con automi ===&lt;br /&gt;
Esistono operazioni che si possono effettuare su un singolo automa o su più automi. Tra le prime possiamo citare: l&amp;#039;accessibilità, la coaccessibilità, il &amp;#039;&amp;#039;trim&amp;#039;&amp;#039; e il complemento. Tra le composizioni di automi si trova il prodotto e la composizione in parallelo. Quest&amp;#039;ultima è particolarmente utile quando si vuole costruire il modello di un sistema molto complesso andando a combinare le sue singole parti.&lt;br /&gt;
&lt;br /&gt;
== Classificazione degli automi ==&lt;br /&gt;
Elenchiamo una classificazione dei vari tipi di automi, elencati per capacità crescente. Una sintesi è riportata nella tabella presente nella pagina.&lt;br /&gt;
&lt;br /&gt;
=== Automi a stati finiti ===&lt;br /&gt;
{{vedi anche|Automa a stati finiti}}&lt;br /&gt;
&lt;br /&gt;
Gli [[automa a stati finiti|automi a stati finiti]] sono dotati di un [[insieme finito]] di stati, scandiscono una [[Stringa (linguaggi formali)|stringa]] di simboli in ingresso (simbolo per simbolo) in maniera ordinata per decidere se essa appartenga o meno a un [[Linguaggio formale|linguaggio]].&lt;br /&gt;
&lt;br /&gt;
Formalmente tali automi sono delle quintuple, &amp;lt;math&amp;gt;(Q, I, f, q0, F )&amp;lt;/math&amp;gt;, formate da un alfabeto finito dei simboli in ingresso (&amp;lt;math&amp;gt;I&amp;lt;/math&amp;gt;), un insieme finito di stati (&amp;lt;math&amp;gt;Q&amp;lt;/math&amp;gt;) tra cui si distingue uno stato iniziale (&amp;lt;math&amp;gt;q0&amp;lt;/math&amp;gt;) e un sottoinsieme di stati, detti finali (&amp;lt;math&amp;gt;F&amp;lt;/math&amp;gt;), e una funzione di transizione (&amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt;). Tale funzione, descritta mediante una [[tabella di transizione di stato|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.&lt;br /&gt;
&lt;br /&gt;
Il funzionamento dell&amp;#039;automa può essere così descritto:&lt;br /&gt;
* 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);&lt;br /&gt;
* finché esiste un altro simbolo nella stringa da scandire si opera alla stessa maniera fino a esaurire la stringa in ingresso;&lt;br /&gt;
* la stringa si dirà accettata se si giunge in uno stato appartenente al sottoinsieme degli stati finali.&lt;br /&gt;
&lt;br /&gt;
Tali automi sono in grado di riconoscere i [[linguaggio regolare|linguaggi regolari]]. &amp;lt;!-- e [[linguaggi lineari|lineari]]. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Automi con output ====&lt;br /&gt;
Tale classe di automi a stati finiti può associare l&amp;#039;emissione di simboli appartenenti a un altro alfabeto detto &amp;#039;&amp;#039;di output&amp;#039;&amp;#039;. Questi automi vengono chiamati [[macchina di Moore]] o [[macchina di Mealy]], a seconda che l&amp;#039;output sia associato agli stati (caso più particolare), o alle transizioni fra stati.&lt;br /&gt;
&lt;br /&gt;
==== ω-automi ====&lt;br /&gt;
{{vedi anche|ω-automa}}&lt;br /&gt;
&lt;br /&gt;
Gli [[Omega automa|ω-automi]] sono particolari automi a stati finiti che accettano input di lunghezza infinita. Sono un&amp;#039;astrazione particolarmente utile nel campo dei [[metodi formali]], in particolare per le tecniche &amp;#039;&amp;#039;[[model checking]]&amp;#039;&amp;#039;. Un noto esempio di ω-automa è l&amp;#039;[[automa di Büchi]].&lt;br /&gt;
&lt;br /&gt;
=== Automi a pila ===&lt;br /&gt;
{{vedi anche|Automa a pila}}&lt;br /&gt;
&lt;br /&gt;
Gli automi possono anche essere dotati di memoria supplementare (rispetto ai soli stati) ad esempio nella forma di una [[pila (informatica)|pila]] (&amp;#039;&amp;#039;push down automata&amp;#039;&amp;#039;). Tali automi sono in grado di riconoscere una classe più ampia di linguaggi rispetto agli automi a stati finiti, come quella dei [[linguaggio libero dal contesto|linguaggi liberi dal contesto]].&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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&amp;#039;emissione di un simbolo in uscita.&lt;br /&gt;
&lt;br /&gt;
Gli automi a pila sono un sovrainsieme di quelli a stati finiti.&lt;br /&gt;
&lt;br /&gt;
=== Automi lineari limitati ===&lt;br /&gt;
{{vedi anche|Automa lineare limitato}}&lt;br /&gt;
&lt;br /&gt;
Un [[automa lineare limitato]] ({{Inglese|linear bounded automata}}, LBA) è una particolare macchina di Turing non deterministica, nella quale la lunghezza del nastro è [[funzione lineare]] della dimensione dell&amp;#039;input. Questi automi sono in grado di accettare [[linguaggio dipendente dal contesto|linguaggi dipendenti dal contesto]] generati da grammatiche dipendenti dal contesto (o di Tipo-1 secondo la [[gerarchia di Chomsky]]).&lt;br /&gt;
&lt;br /&gt;
=== Macchine di Turing ===&lt;br /&gt;
{{vedi anche|Macchina di Turing}}&lt;br /&gt;
&lt;br /&gt;
Il massimo livello di complessità di un automa è raggiunto dalla [[macchina di Turing]], modello che generalizza gli automi a pila (e a fortiori gli automi a stati finiti).&lt;br /&gt;
&lt;br /&gt;
Un sottoassieme di macchine di Turing è costituito dalle [[Macchina che termina sempre|macchine che terminano sempre]], o &amp;#039;&amp;#039;decider&amp;#039;&amp;#039; nella terminologia inglese, che sono macchine per le quali è sempre garantita la terminazione della computazione, per qualunque input.&lt;br /&gt;
&lt;br /&gt;
=== Automi non deterministici ===&lt;br /&gt;
Vengono studiati anche automi non deterministici, ovvero nei quali dato uno stato dell&amp;#039;automa e un simbolo in ingresso è possibile più di una transizione. Questi hanno una utilità concettuale nella [[teoria della complessità algoritmica]].&lt;br /&gt;
&lt;br /&gt;
== Bibliografia ==&lt;br /&gt;
*{{cita libro|Hopcroft|John E.|coautori=Motwani, Rajeev; Ullman, Jeffrey D.|Automi, linguaggi e calcolabilità|edizione=I ed. it.|editore=Addison Wesley|isbn=88-7192-154-2}}&lt;br /&gt;
&lt;br /&gt;
== Voci correlate ==&lt;br /&gt;
* [[Informatica]]&lt;br /&gt;
* [[Linguaggio formale]]&lt;br /&gt;
* [[Multidigrafo]]&lt;br /&gt;
* [[Automa a stati finiti]]&lt;br /&gt;
* [[Macchina astratta]]&lt;br /&gt;
&lt;br /&gt;
== Altri progetti ==&lt;br /&gt;
{{interprogetto|preposizione=sull&amp;#039;|wikt=automa}}&lt;br /&gt;
&lt;br /&gt;
== Collegamenti esterni ==&lt;br /&gt;
* {{Collegamenti esterni}}&lt;br /&gt;
* {{FOLDOC|abstract machine|abstract machine}}&lt;br /&gt;
&lt;br /&gt;
{{Linguaggi formali e grammatiche}}&lt;br /&gt;
&lt;br /&gt;
{{Controllo di autorità}}&lt;br /&gt;
{{Portale|informatica}}&lt;br /&gt;
&lt;br /&gt;
[[Categoria:Teoria dei linguaggi formali]]&lt;br /&gt;
[[Categoria:Teoria degli automi| ]]&lt;br /&gt;
[[Categoria:Modelli di calcolo]]&lt;/div&gt;</summary>
		<author><name>imported&gt;WeckAl</name></author>
	</entry>
</feed>