Ho usato FSM in progetti di circuiti sequenziali digitali. Ma non ho familiarità con Finite Automata. Qualcuno può aiutarmi a capire la differenza 'fondamentale' tra i due?
Ho usato FSM in progetti di circuiti sequenziali digitali. Ma non ho familiarità con Finite Automata. Qualcuno può aiutarmi a capire la differenza 'fondamentale' tra i due?
Risposte:
Per quanto ho capito, entrambi hanno "stati" e "azioni" che fanno muovere la macchina da uno stato all'altro su un segnale di ingresso. Quindi le idee concettuali sono le stesse. C'è qualche differenza nei dettagli.
In FSM per la progettazione di circuiti si presume che il segnale di ingresso sia un po '(binario), mentre negli automi a stati finiti si può avere un alfabeto "astratto" generale di simboli di ingresso. In secondo luogo, un FSM genera anche un output, associato allo stato raggiunto, anche binario. Nella terminologia degli automi questa "estensione" è chiamata macchina Moore. Gli automi tuttavia hanno stati finali (o accettanti), che segnalano un input favorevole letto. Infine, gli FSM sono per lo più deterministici, cioè per ogni input in un certo stato c'è uno stato successivo. Nella teoria degli automi si considera anche la variante non deterministica in cui si potrebbe scegliere dove spostarsi.
Sulla base della mia esperienza e dell'articolo di Wikipedia, ci sono diversi tipi di macchine a stati finiti , tra cui
Alcune delle nozioni che volano in giro differiscono principalmente nella motivazione; alcuni sono nati dalla teoria del linguaggio e / o della calcolabilità, altri dall'architettura informatica.
Si noti che è anche possibile modificare diversi paradigmi per ottenere automi che sono, probabilmente, automi a stati finiti, ad esempio
Come puoi vedere, gli automi finiti alla vaniglia come insegnati in TCS 101 sono solo un sapore di molti, ognuno con la propria definizione (più o meno formale).
Sebbene l'idea principale su cui entrambi si basano sia la stessa. Entrambi usano stati finiti e passano a un altro stato come feed di input. Tuttavia, essendo FSM una macchina, come Full adder o SR flipflop ha bit come input e output. Sì, anche FSA ha un output di bit, 0 per lo stato non terminante e 1 per lo stato terminante, ma è un meccanismo astratto e non visibile. C'è differenza nelle digraph che viene disegnata per rappresentarle. Inoltre, FSA è un dispositivo logico e di calcolo mentre FSM è un dispositivo logico digitale.