pri kodovani tabulky delta a lambda su zadane? alebo odkial ich dostanem?
a dalej - ako postupovat pri pisani r1,r2 atd a pi1,pi2 atd ??
pridavam jeden sken zo cvika..
Tu to je celkom dobre popisane
http://bukovec.fei.tuke.sk/projekty/syntlog/syntlog2/text.php?menu_id=134&father=52Nenasiel som tam ale vysvetlenie pre to r1, r2, ... r
n resp pi1, pi2, ... pi
n tak sa ti to posnazim vysvetlit.
Takze najprv - index i v r
i je len symbolicky, nic neoznacuje (riadok, stlpec, nic - je to proste poradie). Cisla v mnozine identifikuju stavy - 1 je S1, 2 je S2 atd...
Mnoziny r vzdy rozdelujes len do dvoch tried/skupin/podmnozin ci jak to nazvat - preto nebudes mat napr. r = {1; 2,3; 4}, vzdy totiz oznacujes prvky z jednej podmnoziny hodnotou 1 a druhu hodnotou 0.
Tie r ziskas tak, ze urobis vsetky mozne kombinacie kodovania stavov, s ktorymi robis. Napriklad ak mas stavy S1, S2, S3, S4 tak budes mas nasledovne mnoziny:
r1 = {1; 2,3,4}
r2 = {2; 1,3,4}
r3 = {3; 1,2,4}
r4 = {1,2; 3,4}
r5 = {1,3; 2,4}
r6 = {1,4; 2,3}
Ak som to dobre rozpisal, mali by tam byt vsetky mozne kombinacie oznacovania jednotlivych stavov.
Skusim priklad, majme napr stavy S1, S2 a S3. To znamena ze vyjadris
r1 = {1; 2,3}
r2 = {2; 1,3}
r3 = {3; 1,2}
Toto je najvacsie mnozstvo kombinacii troch stavov, kedze ostatne by boli identicke. Napr. r = {3,2; 1} by bolo identicke s r1.
Dalej uvazujme ze mame danu nasledujucu tabulku prechodov:
S1 S2 S3
X1 S2 S1 S2
X2 S3 S1 S2
X3 S3 S2 S3
Ak to zakodujes pomocou r1, dostanes:
S1 S2 S3
X1 1 0 1
X2 1 0 1
X3 1 1 1
Podla r2:
S1 S2 S3
X1 0 1 0
X2 1 1 0
X3 1 0 1
Podla r3:
S1 S2 S3
X1 1 1 1
X2 0 1 1
X3 0 1 0
Teraz nahliadas na jednotlive stlpce a porovnas ich, ci su zhodne. Ak ano, patria do rovnakej podmnoziny/skupiny/triedy/daco v ramci mnoziny pi. A teda:
pi1 = {2; 1,3} - 1 a 3 su zhodne po kodovani s r1
pi2 = {1; 2; 3} - vsetky stlpce su rozne po kodovani s r2
pi3 = {1; 2; 3} - vsetky stlpce su rozne po kodovani s r3
Od tohto bodu uz vyber velmi nechapem. Viem len to ze ide o susednosti a mal by si teda striehnut po takom kodovani, ktore ti zaruci najviac susednosti (tympadom dostanes jednoduchsie budiace funkcie a v zavere jednoduchsi logicky obvod).
Po pravde mam radsej ten druhy sposob optimalizacie ktory je vysvetleny na tej stranke. Trosku trva kym tu metodu clovek pochopi, ale potom to ide jak po masle.