Quote:
Originariamente inviato da Killian
avrei la necessità (in Java) di creare un modello di automa a stati finiti, solo che ho un problema: quale è il modo migliore per rappresentarli?
Premetto che per ora mi serviranno metodi per sapere lo stato iniziale, lo stato corrente e l'elenco degli stati raggiungibili con lo stato corrente "in una mossa".
Non chiedo delle righe di codice, solo sapere come poterli miplementare e se ci sono librerie utili allo scopo.
|
Quando la scala di integrazione era bassa, in hardware automi a stati finiti di una certa complessità era realizzati con memorie PROM. In cui l'indirizzo era la combinazione dello stato corrente e degli ingressi all'automa, il dato in uscita alla PROM era lo stato futuro e le uscite dell'automa.
Quindi, tornando al tuo caso: per implementare l'automa ti basta di fatto una tabella opportunamente organizzata. Per esempio se numeri gli stati, lo stato corrente ti indicherà la riga di questa tabella, riga nella quale avrai memorizzato lo stato futuro ed eventuali al tre uscite. Se la variazione dello stato dipende anche da variabili esterne (ingressi), occorre "combinare" lo stato corrente e questi ingressi in modo da identificare una ed una sola riga della tabella. (Combinare si intende numericamente o con IF)
Così è come lo farei io se dovessi divertirmi a realizzarlo...