|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Aug 2006
Messaggi: 1730
|
Dubbio su automa a stati finiti
Devo progettare un automa che riconosca tre stringhe anche sovrapposte,le stringhe sono queste: 1100 - 1111 - 0011
ho un dubbio per quanto riguarda la sovrapposizione,mettiamo caso che mi trovi nello stato S1 (che ha già riconosciuto uno 0,dato che dallo stato iniziale S0 andrei allo stato S1 con uscita 0),nel caso ora inserissi un 1 mi troverei una sequenza 10 che ovviamente non compare in nessuna delle tre che devo riconoscere,devo tornare allo stato iniziale?oppure visto che il valore 1 che ho inserito può essere l'inizio di una di due sequenze,devo passare ad uno stato S2 che riconosce una sequenza composta da un solo valore cioè 1? Vi faccio un esempio più pratico qui sotto con i primi stati dell'automa: Primo caso (ho usato | per separare le colonne della tabella,ho indicato gli stati con Sn e l'ipotetica sequenza,ovviamente all'interno della tabella i valori sono ordinati in "stato successivo/uscita"): _____| 1 | 0 ------------------ S0 - | 1/0 | 0/0 S1 0 | -/0 | 00/0 S2 1 |11/0 | -/0 Secondo caso: _____| 1 | 0 ------------------ S0 - | 1/0 | 0/0 S1 0 | 1/0 | 00/0 S2 1 |11/0 | 0/0 la differenza potete notarla guardando S1 con ingresso 1 e S2 con ingresso 0,quale dei due casi è quello corretto?
__________________
i5-9400F + Zalman CNPS 8X Optima|Asus Prime B365M-A|Corsair Vengeance LP 2x8GB DDR4 2666Mhz|Sapphire Radeon RX 580 Pulse Ed. 4GB|Samsung 970 Evo Plus 250GB + OCZ Trion 100 (120GB) + Seagate Barracuda (1.5 TB)|Corsair TX650M|LG 27UD59 27" UHD|Windows 10 Pro| iPhone 17 Pro 256 Gb MBA M3 13" 16/512 GB AW 7 iPad Air 5 | 14 Trattative concluse sul forum, ultime 5 con: robby66,Darius_84,Konrad86,Dolphin69,dream83
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Oct 2004
Messaggi: 1945
|
Non ho capito cosa vuol dire sovrapposte, ma penso comunque di aver capito quello che intendi.. Secondo me ti conviene prima di tutto costruirti un automa non deterministico e poi costruirti l'equivalente deterministico (a meno che quello non deterministico non ti vada già bene)... poi posso anche aver mancato qualcosa è da un po che non faccio sta roba
|
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Aug 2006
Messaggi: 1730
|
Quote:
sequenza: 1100 l'ultimo 1 inserito indica che una delle tre sequenze è stata completata però potrebbe anche essere l'inizio di un'altra delle tre sequenze,per esempio in 0011100 si possono riconoscere le sequenze 0011 e 1100 sequenza: 10 l'ultimo 1 inserito non completa nessuna sequenza però potrebbe essere l'inizio di un altra
__________________
i5-9400F + Zalman CNPS 8X Optima|Asus Prime B365M-A|Corsair Vengeance LP 2x8GB DDR4 2666Mhz|Sapphire Radeon RX 580 Pulse Ed. 4GB|Samsung 970 Evo Plus 250GB + OCZ Trion 100 (120GB) + Seagate Barracuda (1.5 TB)|Corsair TX650M|LG 27UD59 27" UHD|Windows 10 Pro| iPhone 17 Pro 256 Gb MBA M3 13" 16/512 GB AW 7 iPad Air 5 | 14 Trattative concluse sul forum, ultime 5 con: robby66,Darius_84,Konrad86,Dolphin69,dream83
|
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Padova
Messaggi: 2342
|
magari potrebbe aiutarti fare il diagramma a stati, una volta che hai quello, basta tradurlo, un procedimento abbastanza meccanico.
__________________
CPU Ryzen 2600 @ 3,95Ghz + Bequiet Dark Rock TF / MB Asus X470-F Gaming / RAM 2x8GB DDR4 G.Skill FlareX 3200 CL14 / VGA Sapphire RX 7900 XT Nitro+ @ 3200Mhz / SSD Samsung 970 Pro 512GB + Sandisk 240GB Plus + Sandisk 960GB Ultra II PSU Seasonic Platinum P-660 / Headset Kingston HyperX Flight |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Aug 2006
Messaggi: 1730
|
mica tanto,cambia solo che è disegnato con gli archi,però il problema rimane,gli archi devono tornare allo stato iniziale oppure andare in uno stato tra 0 e 1 con uscita 0?
__________________
i5-9400F + Zalman CNPS 8X Optima|Asus Prime B365M-A|Corsair Vengeance LP 2x8GB DDR4 2666Mhz|Sapphire Radeon RX 580 Pulse Ed. 4GB|Samsung 970 Evo Plus 250GB + OCZ Trion 100 (120GB) + Seagate Barracuda (1.5 TB)|Corsair TX650M|LG 27UD59 27" UHD|Windows 10 Pro| iPhone 17 Pro 256 Gb MBA M3 13" 16/512 GB AW 7 iPad Air 5 | 14 Trattative concluse sul forum, ultime 5 con: robby66,Darius_84,Konrad86,Dolphin69,dream83
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Oct 2004
Messaggi: 1945
|
Per questo ti ho detto di fare un automa non deterministico... guarda che il problema è più semplice di quello che pensi.
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Aug 2006
Messaggi: 1730
|
non fanno parte del programma del mio corso,ho visto ora su wikipedia cosa intendi,siamo partiti direttamente da mealy e moore + tabelle
__________________
i5-9400F + Zalman CNPS 8X Optima|Asus Prime B365M-A|Corsair Vengeance LP 2x8GB DDR4 2666Mhz|Sapphire Radeon RX 580 Pulse Ed. 4GB|Samsung 970 Evo Plus 250GB + OCZ Trion 100 (120GB) + Seagate Barracuda (1.5 TB)|Corsair TX650M|LG 27UD59 27" UHD|Windows 10 Pro| iPhone 17 Pro 256 Gb MBA M3 13" 16/512 GB AW 7 iPad Air 5 | 14 Trattative concluse sul forum, ultime 5 con: robby66,Darius_84,Konrad86,Dolphin69,dream83
|
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Nov 2004
Città: Padova
Messaggi: 2342
|
Quote:
Non c'è nulla di particolarmente difficile, è ovvio che se ti dice che devi riconoscere le sequenze sovrapposte allora devi prevedere che se hai per esempio ricevuto 111 , sai che se ricevi un altro 1 riconosci la sequenza 1111 (e se poi ricevi 2 zeri di fila, riconosci pure 1100), mentre se ricevi zero, devi prevedere la possibilità che con un ulteriore 0 riconosci la sequenza 1100... In 3 minuti ho buttato giù un diagramma a stati di una macchina di moore che risolve il problema, convertirla in tabella poi è banale... Pensa a cose semplici, non complicarti la vita
__________________
CPU Ryzen 2600 @ 3,95Ghz + Bequiet Dark Rock TF / MB Asus X470-F Gaming / RAM 2x8GB DDR4 G.Skill FlareX 3200 CL14 / VGA Sapphire RX 7900 XT Nitro+ @ 3200Mhz / SSD Samsung 970 Pro 512GB + Sandisk 240GB Plus + Sandisk 960GB Ultra II PSU Seasonic Platinum P-660 / Headset Kingston HyperX Flight Ultima modifica di demos88 : 20-01-2012 alle 00:26. |
|
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Aug 2006
Messaggi: 1730
|
Quote:
__________________
i5-9400F + Zalman CNPS 8X Optima|Asus Prime B365M-A|Corsair Vengeance LP 2x8GB DDR4 2666Mhz|Sapphire Radeon RX 580 Pulse Ed. 4GB|Samsung 970 Evo Plus 250GB + OCZ Trion 100 (120GB) + Seagate Barracuda (1.5 TB)|Corsair TX650M|LG 27UD59 27" UHD|Windows 10 Pro| iPhone 17 Pro 256 Gb MBA M3 13" 16/512 GB AW 7 iPad Air 5 | 14 Trattative concluse sul forum, ultime 5 con: robby66,Darius_84,Konrad86,Dolphin69,dream83
|
|
|
|
|
|
|
#10 | |||
|
Senior Member
Iscritto dal: Nov 2004
Città: Padova
Messaggi: 2342
|
Quote:
Ipotizza di essere nella condizione che hai ricevuto 3 "1" di fila: - ricevi un altro 1 -> 1111 riconosci la stringa "1111" - ricevi uno "0" -> 1110, non riconosci niente. Se hai ricevuto uno zero sopra e ne ricevi un altro, ottieni 11100, riconosci "1100" Non capisco cosa ci sia di strano, e tanto per farla completa, se dopo 11100 ricevi 2 "1" vai a 1110011, e riconosci anche 0011. QUesto significa riconoscere le stringhe sovrapposte. Quote:
Che poi "leggere dal meno significativo al più significativo" cosa intendi dire? che se ricevo in ordine 0011, allora devo riconoscere 1100? Non cambia assolutamente nulla, proprio perchè se ricevo 1100 riconosco 0011 e l'uscita è comunque alta (sto supponendo che l'uscita sia alta quando riconosce una sequenza). Se proprio volessi distinguere le stringhe, allora semplicemente implementa un automa che consideri questo fatto. Per esempio se dovessi riconoscere 1101 inserita rovescia, fai un automa che riconosca 1011 e sei a posto. Quote:
Se ti fai un diagramma degli stati puoi verificarlo immediatamente...
__________________
CPU Ryzen 2600 @ 3,95Ghz + Bequiet Dark Rock TF / MB Asus X470-F Gaming / RAM 2x8GB DDR4 G.Skill FlareX 3200 CL14 / VGA Sapphire RX 7900 XT Nitro+ @ 3200Mhz / SSD Samsung 970 Pro 512GB + Sandisk 240GB Plus + Sandisk 960GB Ultra II PSU Seasonic Platinum P-660 / Headset Kingston HyperX Flight Ultima modifica di demos88 : 20-01-2012 alle 13:05. |
|||
|
|
|
|
|
#11 | ||
|
Senior Member
Iscritto dal: Aug 2006
Messaggi: 1730
|
Quote:
Quote:
ok mi basta questo per essere sicuro di procedere nel modo corretto,grazie.
__________________
i5-9400F + Zalman CNPS 8X Optima|Asus Prime B365M-A|Corsair Vengeance LP 2x8GB DDR4 2666Mhz|Sapphire Radeon RX 580 Pulse Ed. 4GB|Samsung 970 Evo Plus 250GB + OCZ Trion 100 (120GB) + Seagate Barracuda (1.5 TB)|Corsair TX650M|LG 27UD59 27" UHD|Windows 10 Pro| iPhone 17 Pro 256 Gb MBA M3 13" 16/512 GB AW 7 iPad Air 5 | 14 Trattative concluse sul forum, ultime 5 con: robby66,Darius_84,Konrad86,Dolphin69,dream83
|
||
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 11:58.










14 Trattative concluse sul forum, ultime 5 con: robby66,Darius_84,Konrad86,Dolphin69,dream83









