Per favore, evita di fare post multipli.
L'esercizio assembly almeno prova a scriverlo e a mostrarmelo (se non ti convince), te l'ho anche spiegato chiaramente, poi se hai proprio difficoltà vedremo.
Quando l'esercizio chiede di considerare le sequenze d'ingresso sovrapposte, s'intendono due cose:
1) l'ingresso è seriale, quindi i bit d'ingresso non sono da considerare assegnati,
2) l'uscita può portarsi ad 1 anche dopo aver ricevuto due sequenze adatte ma in parte sovrapposte, senza dover aspettare di considerare altri n bit. Ciò vuol dire che non bisogna necessariamente tornare allo stato iniziale dopo aver ottenuto un'uscita alta (dipende dal problema).
Se invece non sono permesse sequenze parzialmente sovrapposte, una volta fornita la prima uscita alta bisogna tornare sempre allo stato iniziale
Riporto qui l'esempio spiegato chiaramente di una traccia d'esame.
Riconoscimento di ogni sequenza del tipo 1-x-0, dove il simbolo x è da intendere come un valore booleano qualsiasi. Ovvero, la macchina deve riconoscere sia 110 che 100.
Si noti che la macchina deve poter riconoscere anche sequenze parzialmente sovrapposte. Ad esempio, la sequenza di ingresso 1-1-0-0 produce in uscita due impulsi in corrispondenza del terzo e del quarto ciclo, uno per il riconoscimento della stringa 1-1-0 e l’altro per la stringa 1-0-0.Nel caso del riconoscitore a sequenze sovrapposte da te richiesto, in grado di riconoscere 1000 e 1010, se l'ingresso è ad esempio 101000 l'uscita sarà 0001001, perchè ha riconosciuto prima 1000 e poi 1010.
Il grafo dovrebbe essere il seguente.
https://www.dropbox.com/s/r2qduqxnzj39yms/2014-02-23%2019.45.39.jpgIn pratica, per accertarti di scriverlo correttamente, riporta ad ogni stato i valori riconosciuti fino a quel momento e considera quale sarà l'ultima sequenza utile che si otterrà col prossimo ingresso.
Oppure, semplicemente, considera tutte le possibili transizioni, anche se escono fuori molti stati, tanto poi dovrai comunque minimizzare in seguito.