View
7
Download
0
Category
Preview:
Citation preview
Formalni postupci u oblikovanjuracunalnih sustava
Auditorne vježbeBDD - Dijagrami binarnog odlu civanja
Edgar Pek
Zavod za elektroniku, mikroelektroniku, racunalne i inteligentne sustave
Fakultet elektrotehnike i racunarstva
Sveucili ste u Zagrebu
c© ZEMRIS, FER 2006 – p. 1/30
Pregled I
Uvod
Motivacija
Simbolicki prikaz
Dijagram binarnog odlucivanja - BDD
Stablo binarnog odlucivanja
Primjer
Broj cvorova
BDD - dijagram binarnog odlucivanja
OBDD - uredeni dijagram binarnog odlucivanja
c© ZEMRIS, FER 2006 – p. 2/30
Pregled II
ROBDD - reducirani uredeni dijagram binarnog odlucivanja
Primjer
Definicija
Shannonov (Booleov) teorem ekspanzije
Definicije
Zadaci
Kreiranje (RO)BDDa primjenom teorema o ekspanziji
c© ZEMRIS, FER 2006 – p. 3/30
Uvod - motivacija
Mnogi problemi u racunarstvu - definirani na konacnim domenama
Formalna verifikacija
Oblikovanje digitalnih sustava
Kombinatoricka optimizacija
Matematicka logika
Inteligentni sustavi
Binarnim kodiranjem elemenata iz tih domena problemi se nadaljemogu opisati pomocu operacija nad booleovim vrijednostima
c© ZEMRIS, FER 2006 – p. 4/30
Uvod - simbolicki prikaz
Simbolicki prikaz booleovih funkcija omogucuje rješavanjeproblema u vrlo opcenitom obliku
Rješavanje generaliziranog problema simbolickom manipulacijombooleovih funkcija - rješenja za velik broj specificnih instanciproblema
Zakljucak: efikasni postupci za prikaz i manipulaciju booleovihfunkcija mogu dati rješenja za mnoge klase kompleksnih problema
c© ZEMRIS, FER 2006 – p. 5/30
Uvod - simbolicki prikaz
Reducirani uredeni dijagrami binarnog odlucivanja (ROBDD)-simbolicki prikaz booleovih funkcija
Reduciranost i uredenost - Bryant(1986)
BDD - Lee(1959), Akers(1978)
Najvažnije svojstvo - kanonicnost prikaza
Operacije na booleovim funkcijama - algoritmi nad grafovima kojipredstavljaju ROBDDove
Raširena pocetna primjena: oblikovanje digitalnih sustava (CAD),verifikacija i testiranje (posebno sklopovlja)
c© ZEMRIS, FER 2006 – p. 6/30
Uvod - BDD
BDD - apstraktni prikaz booleovih funkcija
Poopcenje binarnih stabala odlucivanja
Ogranicenja na BDDove - uredenost i reduciranost: omogucujujednostavnije izracunavanje
ROBDD - prikladna struktura podataka za simbolicku manipulacijubooleovih funkcija
c© ZEMRIS, FER 2006 – p. 7/30
Stablo binarnog odlucivanja
Definicija 1. Stablo binarnog odlucivanja (engl. binary decision tree)
- je korijensko, usmjereno, aciklicko stablo koje se sastoji od dva tipa
cvorova: zavrsnih i nezavrsnihcvorova. Svaki nezavrsnicvorv je
oznacen s booleovom varijablomvar(v) i ima dva sljedbenika:low(v)
i high(v). Pri cemulow(v) odgovara dodijeljivanju varijabliv
vrijednosti0, a high(v) dodijeljivanju varijabli vrijednosti1. Svaki
zavrsnicvor je oznacen s0 ili 1
c© ZEMRIS, FER 2006 – p. 8/30
Stablo binarnog odlucivanja - primjer
Stablo binarnog odlucivanja ako je dana tablica istinitosti.
x1 x2 x3 f
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 0
1 1 1 11 10 0 0 0
x3
x1
x2
x3 x3
x2
x3
0
0
0
0
0
0
1
1
1
11
1
1 1 00
c© ZEMRIS, FER 2006 – p. 9/30
Stablo binarnog odlucivanja - vrijednost funkcije
Definicija 2. Neka je dano binarno stablo odlucivanja i neka dodijela
varijablama. Vrijednost funkcije se odreduje tako da se prati put od korijena
do cvora, na temelju grana odredenih vrijednostima varijabli.
1 10 0 0 0
x3
x1
x2
x3 x3
x2
x3
0
0
0
0
0
0
1
1
1
11
1
1 1 00
f(x1, x2, x3) =?
f(0, 0, 0) = 0
f(0, 0, 1) = 0
f(0, 1, 0) = 0
f(0, 1, 1) = 1
. . .
c© ZEMRIS, FER 2006 – p. 10/30
Stablo binarnog odlucivanja - broj cvorova I
Zadatak 1. Neka jeT stablo binarnog odlucivanja za booleovu
funkcijuf(x1, x2, . . . , xn) odn booleovih varijabli. Pretpostavaka je
da se svaka varijabla pojavljuje tocno jedanom na putu do zavrsnog
cvora (to vrijedi za bilo koji put stablaT ).
1. Za stablo binarnog odlucivanjaT , izracunati brojcvorova
size(T ).
2. Dokazati daT ima izracunati brojcvorova koristenjem
matematicke indukcije.
c© ZEMRIS, FER 2006 – p. 11/30
Stablo binarnog odlucivanja - broj cvorova II
Stablo binarnog odlucivanja je, obzirom na velicinu, slicno
tablici istinitosti. Uz booleovu funkciju f s n varijabli vrijedi:
Broj cvorova stabla binarnog odlucivanja: 2n+1 − 1
Broj zapisa u tablici istinitosti: 2n
Stablo binarnog odlucivanja sadrži odredenu zalihost koja se
može iskoristiti.
c© ZEMRIS, FER 2006 – p. 12/30
Binary decision diagram - BDD
Binary decision diagram - dijagram binarnog odlucivanja
Stablo binarnog odlucivanja - jednostavniji, poseban slucajdijagrama binarnog odlucivanja
Dijagram binarnog odlucivanja - moguce je da više cvorovapokazuje na isti cvor (dva ili više "roditelja" imaju identicnu"djecu")
Dva važna ogranicenja nad BDDovima koja se omogucila raširenokorištenje:
uredenje varijabli
reduciranost prikaza
c© ZEMRIS, FER 2006 – p. 13/30
BDD - formalna definicija
Definicija 3. BDD (engl. binary decision diagram) je usmjerni aciklicki graf
(engl. directed acylic graph, DAG) s dvije vrstecvorova: zavrsnim i
nezavrsnim. Svaki nezavrsnicvorv oznacen je s varijablomvar(v) i ima dva
sljedbenikalow(v) i high(v). Svaki zavrsnicvor je oznacen ili s 0 ili s 1.
Svaki BDDB s korijenskimcvoromv odreduje Booleovu funkciju
fv(x1, . . . , xn) na slijedeci nacin:
1. Ako jev zavrsnicvor tada vrijedi:
(a) Akovalue(v) = 1 tadafv(x1, . . . , xn) = 1
(b) Akovalue(v) = 0 tadafv(x1, . . . , xn) = 0
2. Ako jev nezavrsnicvor svar(v) = xi tada jefv funkcija:
fv(x1, . . . , xn) = (¬xi∧flow(v)(x1, . . . , xn))∨(xi∧fhigh(v)(x1, . . . , xn))
c© ZEMRIS, FER 2006 – p. 14/30
Ordered Binary Decision Diagram - OBDD I
Ordered Binary Decision Diagram - uredeni dijagram binarnogodlucivanja
Uredenost - jedno od kljucnih ogranicenja koje je omoguciloalgoritamsku formulaciju
Intuitivno: varijable se duž svakog puta od cvora do lista (završnicvor) moraju pojavljivati u fiksnom rasporedu
Definicija 4. BDD je ureden ako je zadan potpuni uredaj < nad skupom
varijabli, te vrijedi: za bilo kojicvoru i za svako nezavrsno dijetev njihove
pripadne varijable moraju biti uredenevar(u) < var(v).
c© ZEMRIS, FER 2006 – p. 15/30
Ordered Binary Decision Diagram - OBDD II
1 10 0 0 0
x3
x1
x2
x3 x3
x2
x3
0
0
0
0
0
0
1
1
1
11
1
1 1 00
Uredenje u ovom primjeru: x1 < x2 < x3.
Opcenito, ako je stablo binarno odlucivanja uredeno broj cvorova u stabluje tocno jednak: 2n+1
− 1.
U principu se može odabrati bilo koje uredenje - to nece utjecati na rad
algoritama. U praksi je odabir uredenja kljucan za efiksnu simbolickumanipulaciju.
c© ZEMRIS, FER 2006 – p. 16/30
Reduced OBDD - ROBDD
Reduced OBDD - reducirani uredeni dijagram binarnog odlucivanja
Definicija 5. Tri pravila transformacije kojima se postize reduciranost (pravila
redukcije):
Uklanjanje vi sestrukih zavrsnih cvorova Svi visestruki zavrsnicvorovi s istom
oznakom (0 odn.1) svedu su na jednu instancu. Svi lukovi se presumjere u
preostale zavrsnecvorove.
Uklanjanje vi sestrukih nezavrsnih cvorova Ako za dva nezavrsnacvorau i v
vrijedi var(u) = var(v), lo(u) = lo(v) i hi(u) = hi(v) tada se jedan od ta dva
cvora uklanja i svi dolazni lukovi se preusmjere u preostalicvor.
Uklanjanje zalihosnih testova Ako za nezavrsnicvorv vrijedi lo(v) = hi(v), tada
se uklanjav i svi dolazni lukovi se preusmjeravaju ulo(v).
c© ZEMRIS, FER 2006 – p. 17/30
ROBDD - primjer (I)
Reduciranje OBDDa - uklanjanje višestrukih završnih cvorova
1 10 0 0 0
x3
x1
x2
x3 x3
x2
x3
0
0
0
0
0
0
1
1
1
11
1
1 1 00
0 1
x3
x1
x2
x3 x3
x2
x3
0
00
1
1
1
1
100
010
1
c© ZEMRIS, FER 2006 – p. 18/30
ROBDD - primjer (II)
Reduciranje OBDDa - uklanjanje višestrukih nezavršnih cvorova
0 1
x3
x1
x2
x3 x3
x2
x3
0
00
1
1
1
1
100
010
1
0 1
0
x3
x2
0
x2
x3
01
1
0 1
01
1
x1
c© ZEMRIS, FER 2006 – p. 19/30
ROBDD - primjer (III)
Reduciranje OBDDa - uklanjanje zalihosnih testova
0 1
0
x3
x2
0
x2
x3
01
1
0 1
01
1
x1
0 1
x3
x2
0
1
x1
1
0
0
1
c© ZEMRIS, FER 2006 – p. 20/30
ROBDD - zadatak
Zadatak 2. Za funkciju zadanu tablicom istinitosti nacrtati ROBDD za
uredenjex3 < x2 < x1, na temelju tablice istinitosti i primjenom pravila
redukcije.
x1 x2 x3 f
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 0
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1
c© ZEMRIS, FER 2006 – p. 21/30
ROBDD - formalna definicija
Definicija 6. Uredeni BDD je reduciran akko vrijedi:
1. Jedinstvenost (engl. uniqeness) - ne postoje razliciti cvoroviu i v koji
imaju identicna imena varijabli (var(u) = var(v)) i identicnelow(v) i
high(v) sljedbenike (ne postoje izomorfni podgrafovi):
var(u) = var(v) ∧ low(u) = low(v) ∧ high(u) = high(v) ⇒ u = v
2. Ne postojanje zalihosnih testiranja (engl. non-redundant tests) - ne
postoje nezvrsnicvoroviv koji imaju istelow i high sljedbenike
(low(v) 6= high(v)).
c© ZEMRIS, FER 2006 – p. 22/30
ROBDD - kanonski prikaz
Teorem 1 (Kanonski prikaz). Za bilo koji booleovu funkcijuf : Bn → B
postoji jedinstveni reducirani uredeni BDD koji opisujef .
Kanonski prikaz booleove funkcije - najvažnija karakteristikaROBDDa
Funkcijska svojstava mogu se lako provjeriti:
Funkcija je zadovoljiva akko ROBDD funkcije nije samo završnicvor oznacen s 0.
Svaka funkcija koja je tautologija predstavljena je ROBDD kojise sastoji od jednog završnog cvora oznacenog s 1.
Funkcija je neovisna o varijabli x, ako ROBDD prikaz ne sadržicvor oznacen s x.
c© ZEMRIS, FER 2006 – p. 23/30
Booleove funkcije
Booleova formula - niz formiran prema pravilima
Booleova funkcija - evaluacija booleove formule
f : Bn → B, B je booleova algebra (npr. B = {0, 1})
Beskonacno mnogo booleovih formula opisuje istu booleovufunkciju
Broj razlicith booleovih funkcija: |B|2n
.
c© ZEMRIS, FER 2006 – p. 24/30
Shannonov (Booleov) teorem ekspanzije I
Definicija 7 (Kofaktor). Neka jef : Bn → B booleova funkcija, a
x = (x1, x2, . . . , xn) su varijable u domeni odf . Kofaktorfa s literalom
a = xi ili a = xi je:
fxi(x1, . . . , xn) = f(x1, . . . , xi−1, 1, xi+1, . . . , xn)
fxi(x1, . . . , xn) = f(x1, . . . , xi−1, 0, xi+1, . . . , xn)
Funkcije fxii fxi
se još nazivaju i restrikcija funkcije f , i oznacavaju sf |xi=k.
c© ZEMRIS, FER 2006 – p. 25/30
Shannonov (Booleov) teorem ekspanzije II
Restrikcije omogucuju obavljanje rekurzija na booleovim formulama,rastavljajuci ih u jednostavnije booleove formule.
Teorem 2 (Shannonov (Booleov) teorem ekspanzije).Ako jef : Bn → B
booleova funkcija, tada vrijedi:
f(x1, . . . xn) = xi · f(x1, . . . , 1, . . . , xn) + xi · f(x1, . . . , 0, . . . xn)
[xi + f(x1, . . . , 1, . . . , xn)] · [xi + f(x1, . . . , 0, . . . , xn)]
za sve(x1, . . . , xn) ∈ Bn.
c© ZEMRIS, FER 2006 – p. 26/30
Teorem ekspanzije - zadaci I
Zadatak 3. Primjeniti oba oblika teorema o ekspanziji na funkciju:
f = x1x2x3 + x2(x1 + x3) obzirom na varijablux1 .
Zadatak 4. Primjeniti oba oblika teorema o ekspanziji na funkcije:
1. f = wxz + xyz + wyz + xy + wxy
2. f = y(xz + yz) + xz + wy
obzirom na varijablu y.
Zadatak 5. Primjenom teorema o ekspanziji (nad lijevom stranom) dokazati
da svaku booleovu funkcijuf vrijedi:
f(x + y) + f(xy) = f(x) + f(y)
c© ZEMRIS, FER 2006 – p. 27/30
Teorem ekspanzije - zadaci II
Zadatak 6. Primjenom teorema o ekspanziji (nad lijevom stranom) dokazati
da svaku booleovu funkcijuf vrijedi:
f(x + y) + f(xy) = f(0) + f(1)
Zadatak 7. Koristeci teorem o ekspanziji nad najzastupljenijom varijablom
funkcijuf pretvori u sumu mintermi.
f(x, y, z, w) = (y + z)(w + x + z)(w + x + z)(w + y + z)
c© ZEMRIS, FER 2006 – p. 28/30
Kreiranje BDDa primjenom teorema o ekspanziji
Temelji se na rekurzivnoj primjeni teorema o ekspanziji.
f
xi
1 0
fxifxi
Konstrukcija BDD pocinje od varijable koja je najviša u uredenju (vršnavarijabla). Postupak se rekurzivno nastavlja za svaku restrikcijuinicijalne funkcije.
Ako se oba kofaktora (za bilo koju restrikciju) jednaka tada restrikcijane ovisi o varijabli po kojoj je obavljena ekspanzija.
c© ZEMRIS, FER 2006 – p. 29/30
Kreiranje BDDa - zadaci
Zadatak 8. Primjenom teorema o ekspanziji nacrtati BDD za funkciju
f = abc + bd + cd uz uredenje:b ≤ c ≤ d ≤ a. Provjeriti da li BDD prikaz
predstavlja funkcijuf .
Zadatak 9. Primjenom teorema o ekspanziji nacrtati BDD za funkciju
f = abc + bcd za uredenja:
1. b ≤ c ≤ a ≤ d
2. a ≤ d ≤ b ≤ c
c© ZEMRIS, FER 2006 – p. 30/30
Recommended