Automa che riconosca 1011 (binario)
Devo costruire un automa che riconosca la sequenza binaria: 1011. Qualcuno può aiutarmi.
Grazie anticipatamente
Grazie anticipatamente
Risposte
Ma intendi un automa a stati finiti (DFA)?
@gaten: Ma non hai nessuna idea, nemmeno da dove cominciare?
può anche essere non deterministico, quindi un NDFA, l'importante è che riconosca 1011
Certo ora posto con una immagine la mia idea

ecco
Lo stato iniziale è $A$, immagino. E lo stato finale/gli stati finali? $B$?
si.
Direi cha va bene. Questa è una macchina di Mealy, giusto?
Potresti provare anche facendo il DFA. Non è così complicato
Potresti provare anche facendo il DFA. Non è così complicato
Lo scopo di tutto questo è che alla fine dovrò creare un circuito in pspice che legga la sequenza 1011. Devo creare la tabella di transazione per poi ricavare le funzioni logiche(da implementare in pspice).
non ho capito i passaggi per gli input che non soddisfano la sequenza 1011:
nello stato A se l'input è 0/0 si rimane in A perche si ricomincia a contare la sequenza. Giusto?
Nello stato B se l'input è 1/0 perche si rimane in B se la sequenza già è sbagliata 11 invece di 10..non dovrebbe resettarsi tornando allo stato A?
In C cosa accade perche si torna in A? perche la sequenza non è corretta?
In D cosa accade perche si torna in C invece che in A dato che la sequenza è sbagliata?
Non capisco la disparità di criterio tra B C D dove in tutti e tre i casi la sequnenza è sbagliata ma si comportano in modo diverso, chi me lo spiega per favore...
nello stato A se l'input è 0/0 si rimane in A perche si ricomincia a contare la sequenza. Giusto?
Nello stato B se l'input è 1/0 perche si rimane in B se la sequenza già è sbagliata 11 invece di 10..non dovrebbe resettarsi tornando allo stato A?
In C cosa accade perche si torna in A? perche la sequenza non è corretta?
In D cosa accade perche si torna in C invece che in A dato che la sequenza è sbagliata?
Non capisco la disparità di criterio tra B C D dove in tutti e tre i casi la sequnenza è sbagliata ma si comportano in modo diverso, chi me lo spiega per favore...
Se sono in A, ed ho 0 come input, resto in A poichè io inizio ad andare avanti nella sequenza inizio a trovare un 1. Dopodichè vado in B se ho un 1. In B se esce 1, sempre mi va bene ma devo restare in B. Immagina 11011, trovo il primo 1 e vado in B, trovo il secondo 1, resto in B poichè devo ancora verificare 011 che viene dopo. Da B se ho 0, vado in C, in C se ho 0, devo ricominciare tutto da capo e quinvi vado in A. Se in C mi esce 1, vado in D perchè significa che sono riuscito a trovare una sequenza del tipo 101, adesso se in D ho 1, vado in B con uscita 1(significa che ho trovato una sequenza 1011) , andando in B, ricomincio a verificare se ci sono altre sequenze.