sorry ale mne sa vidi ze to je zle pretoze ak je vstup 111 tak v prvej jednotke pojde do nuly v druhej prida jednotku a pojde do jednotky a pri tretej pojde do nuly a neprida nic a vtedy tam je parny pocet jednotiek nie?
No, ja jsem pod dorovnavanim na lichou paritu pochopil to, ze pokud je pocet jednicek sudy, dorovna se jedna, aby byl lichy. Pokud je pocet jednicek lichy, je to v poradku a nedorovna se nic.
Na sudou paritu by to bylo uplne stejne, jenom startovni stav by byl stav 1.
mohol by si to prosim ta este raz napisat cele zo vsetkym ako by to malo vyzerat na pisomke, lebo nie je mi jasne napr. ako napisat ze na vystup posli nejake data. staci to napisat len slovne, ak toto, posli na vystup xxx alebo ako? vopred dik(obom)
No, staci ten automat nakreslit. Ja jsem to popisoval slovne, protoze se mi to nechtelo kreslit
Ale nakonec jsem to teda i nakreslil
(omlouvam se za to "umelecke" zpracovani
)
Jestli bys to chtel formalne:
Konecny automat je (zjednodusene receno) definovany svymi
stavy a
prechodovou funkci mezi stavy.
Dale musim definovat
startovni stav (u deterministickeho je prave jeden, u nedeterministickeho jich muze byt vic) a
koncove stavy.
Vypocet skonci v nejakem koncovem stavu. To je obvykle spojeno s nejakou akci (v tomto pripade dorovnas paritni bit, konecny automat je treba i automat na vydavani listku v MHD. Stavy automatu jsou def. jako pocet penez, ktere jsi tam vhodil. Koncove stavy jsou ty, kdyz tam je dostatek penez (a lisi se od sebe tim, kolik ti vrati). Automat ti pak na zaklade toho, jaky koncovy stav to je vrati a vyda jizdenku...)
Tedy tohle je formalne spravne:
Kód: Vybrat vše
seznam stavu: stav 1, stav 2
koncove stavy: stav 1 (nedorovnam), stav 2 (dorovnam)
startovni stav: stav 2
prechodova funkce:
stav 1:
- prijde 0 -> stav 1
- prijde 1 -> stav 2
stav 2:
- prijde 0 -> stav 2
- prijde 1 -> stav 1
Pro uplnost priklad: 10110
start: jsem ve stavu 2
prijde 1: do stavu 1
prijde 0: zustanu ve stavu 1
prijde 1: do st. 2
prijde 1: do st. 1
prijde 0: zustanu ve stavu 1
Skoncil jsem ve stavu 1 a nic nedorovnavam
analogicky 1010:
start: stav 2
1 -> stav 1
0 -> stav 1
1 -> stav 2
0 -> stav 2
Skoncil jsem ve stavu 2, tedy dorovnam 1
UPDATE: v tom obrazku jsem mel (nevim proc...
) zakreslene dva prechody podle 0. Updatoval jsem spravny obrazek a jeste trochu zprehlednil vysvetleni
[quote]sorry ale mne sa vidi ze to je zle pretoze ak je vstup 111 tak v prvej jednotke pojde do nuly v druhej prida jednotku a pojde do jednotky a pri tretej pojde do nuly a neprida nic a vtedy tam je parny pocet jednotiek nie? [/quote]
No, ja jsem pod dorovnavanim na lichou paritu pochopil to, ze pokud je pocet jednicek sudy, dorovna se jedna, aby byl lichy. Pokud je pocet jednicek lichy, je to v poradku a nedorovna se nic.
Na sudou paritu by to bylo uplne stejne, jenom startovni stav by byl stav 1.
[quote]mohol by si to prosim ta este raz napisat cele zo vsetkym ako by to malo vyzerat na pisomke, lebo nie je mi jasne napr. ako napisat ze na vystup posli nejake data. staci to napisat len slovne, ak toto, posli na vystup xxx alebo ako? vopred dik(obom)[/quote]
No, staci ten automat nakreslit. Ja jsem to popisoval slovne, protoze se mi to nechtelo kreslit :)
Ale nakonec jsem to teda i nakreslil :) (omlouvam se za to "umelecke" zpracovani :) )
Jestli bys to chtel formalne:
Konecny automat je (zjednodusene receno) definovany svymi [b]stavy[/b] a [b]prechodovou funkci[/b] mezi stavy.
Dale musim definovat [b]startovni stav[/b] (u deterministickeho je prave jeden, u nedeterministickeho jich muze byt vic) a [b]koncove stavy[/b].
Vypocet skonci v nejakem koncovem stavu. To je obvykle spojeno s nejakou akci (v tomto pripade dorovnas paritni bit, konecny automat je treba i automat na vydavani listku v MHD. Stavy automatu jsou def. jako pocet penez, ktere jsi tam vhodil. Koncove stavy jsou ty, kdyz tam je dostatek penez (a lisi se od sebe tim, kolik ti vrati). Automat ti pak na zaklade toho, jaky koncovy stav to je vrati a vyda jizdenku...)
Tedy tohle je formalne spravne:
[code]
seznam stavu: stav 1, stav 2
koncove stavy: stav 1 (nedorovnam), stav 2 (dorovnam)
startovni stav: stav 2
prechodova funkce:
stav 1:
- prijde 0 -> stav 1
- prijde 1 -> stav 2
stav 2:
- prijde 0 -> stav 2
- prijde 1 -> stav 1
[/code]
Pro uplnost priklad: 10110
start: jsem ve stavu 2
prijde 1: do stavu 1
prijde 0: zustanu ve stavu 1
prijde 1: do st. 2
prijde 1: do st. 1
prijde 0: zustanu ve stavu 1
Skoncil jsem ve stavu 1 a nic nedorovnavam
analogicky 1010:
start: stav 2
1 -> stav 1
0 -> stav 1
1 -> stav 2
0 -> stav 2
Skoncil jsem ve stavu 2, tedy dorovnam 1
UPDATE: v tom obrazku jsem mel (nevim proc...:)) zakreslene dva prechody podle 0. Updatoval jsem spravny obrazek a jeste trochu zprehlednil vysvetleni :)