vizuelizacija dijagrama odluČivanja - etran.rsr)an_1955-2006...mogu koristiti duži, izlomljene...

4
VIZUELIZACIJA DIJAGRAMA ODLUČIVANJA Suzana Stojković, Saša Spasić, Dragan Janković Elektronski fakultet u Nišu, Beogradska 14 e-mail: [email protected] Sadržaj: Dijagrami odlučivanja (DD) su struktura podataka koja se u poslednjih deset godina sreće u gotovo svim VLSI paketima a namenjena je za predstavljanje diskretnih funkcija. U poznatim paketima za manipulaciju dijagramima odlučivanja najmanje razvijena komponenta je komponenta za vizuelizaciju DD-a. Neki paketi u tu svrhu koriste eksterne programe za prikaz orjentisanih grafova, neki pokušavaju da altgoritme za prikaz stabala prilagode crtanju DD-a, a najveći broj njih uopšte ne poseduje mogućnost vizelizacije. U ovom radu prikazan je algoritam za vizuelizaciju DD-a korišćen u paketu UDDP. Algoritam je baziran na algoritmu za crtanja orijentisanih grafova po nivoima. Za razliku od drugih DD paketa ovaj algoritam podržava crtanje kako binarnih, tako i višeznačnih i heterogenih dijagrama odlučivanja. 1. UVOD Rešavanje mnogih problema u projektovanju logičkih kola, veštačkoj inteligenciji, telekomunikacijama i sl. zasniva se na korišćenju diskretnih funkcija. Zbog toga je razvijeno više metoda za predstavljanje diskretnih funkcija. Danas se najšire primenjuju dijagrami odlučivanja (decision diagrams - DDs). Dijagrame odlučivanja za predstavljanje Boole-ovih funkcija, binarne dijagrame odlučivanja (Binary Decision Diagrams – BDDs), definisao je Bryant 1986. [2]. BDD-i su aciklični orijentisani grafovi koji sadrže neterminalne čvorove, terminalne čvorove i grane. Neterminalni čvorovi odgovaraju ulaznim promenljivama funkcije (odnosno, u svakom neterminalnom čvoru vrši se odlučivanje po odgovarajućoj ulaznoj promenlljivoj). Zato svaki neterminalni čvor ima 2 izlazne grane: jedna ukazuje na BDD funkcije ) 0 ( = i x f , a druga na ) 1 ( = i x f . Terminalni (konstantni) čvorovi odgovaraju vrednostima funkcije. Analogno BDD-ima, za predstavljanje višeznačnih diskretnih funkcija, definisani su višeznačni dijagrami odlučivanja (Multi-valued Decision Diagrams – MDDs). U višeznačnoj logici, svaka promenljiva može imati q različitih vrednosti, te u višeznačnom dijagramu odlučivanja svaki neterminalni čvor može ima q izlaznih grana. U cilju minimizacije broja čvorova u DD-ima definisani su i heterogeni dijagrami odlučivanja u kojima čvorovi na različitim nivoima mogu imati različiti broj izlaznih grana. Predstavljanje dijagrama odlučivanja u programima je veoma često rešavan problem, tako da su strukture za predstavljanje DD-a u programima [2],[4] i principi za manipulisanje njima [1],[2] veoma precizno definisani i korišćeni skoro u svim paketima za manipulisanje DD- ima. S obzirom da su strukture podataka kojima su predstavljeni DD-i dinamičke, veoma je teško zapisati izgled DD-a u oblik lako čitljiv za krajnjeg korisnika. Jedini prihvatljivi metod u tom slučaju je njihova vizuelizacija. Problem vizuelnog prikaza DD-a je sasvim malo dotaknut u postojećim DD paketima. Pojedini DD paketi koriste eksterne programe za crtanje orjentisanih grafova. Recimo CUDD [5] i BuDDy [8] koriste DOT program. U paketu Jade [7] uradjena je vizuelizacija tako što je zadržan raspored čvorova iz potpunog stabla odlučivanja. DD paket PUMA [6] sadrži komponentu za vizuelizaciju, ali je ona potpuno statička (fiksirane su boje čvorova i grana, veličina čvorova, razmak izmedju nivoa, itd.), a grane su uvek predstavljene pravim linijama, što u slučaju kompleksnijih funkcija, daje veoma nepregledne prikaze. S obzirom da svi ovi paketi rade isključivo sa BDD-ima i da njihove vizuelne prezentacije DD-a poseduju navedene nedostatke u UDDP-u (DD paketu koji manipuliše različitim tipovima MDD-a i HDD-a) je razvijena komponenta koja se koristi za vizuelizaciju proizvoljnog tipa DD-a, i koja je potpuno korisnički orjentisana. Ova komponenta pruža mogućnost da korisnik definiše boje čvorova i grana, veličine čvorova, rastojanja medju nivoima, da manuelno razmešta čvorove i grane, da dobije dodatne informacije o čvoru (grani). U ovom radu biće prikazan algoritam primenjen u komponenti za prikaz DD-a u UDDP paketu. 2. TEHNIKE CRTANJA ORIJENTISANIH GRAFOVA Dva su osnovna problema koja treba rešiti pri crtanju orijentisanih grafova: pronalaženje optimalnog rasporeda čvorova i izbor načina za prikazivanje grana. Čvorovi u grafu mogu biti rasporedjeni po nivoima, potpuno proizvoljno ili grupisani po nekim semantičkim kriterijumima, dok se za predstavljanje grana u grafu mogu koristiti duži, izlomljene linije ili Bezierove krive. Koji će se metod izabrati za rešavanje prvog (odnosno drugog) problema zavisi od kriterijuma kvaliteta koji su definisani za crtanje odredjenog tipa grafa. Kriterijumi koji odredjuju kvalitet vizuelne reprezentacije grafa mogu se podeliti na kriterijume koji ističu informaciju koju graf nosi i estetske kriterijume. Prva grupa kriterijuma odredjena je pojmovima koji su grafom predstavljeni i namenom grafa. Npr, u uobičajenom prikazu stabla svi čvorovi podjednako udaljeni od korena crtaju se na istom nivou (na istoj Y koordinati). Medjutim, ukoliko stablo prikazuje računarsku mrežu, mnogo je preglednije da koren bude u sredini crteža. Za razliku od ovih, estetski kriterijumi su primenljivi na sve vrste grafova i najbitniji od njih su: minimizirati broj preseka grana na crtežu, izbeći preklapanje čvorova, minimizirati dužine grana, preseke grana realizovati pod dovoljno velikim uglom da bude jasno da se one seku a ne dodiruju i obezbediti čitljivost tekstova i oznaka. Na osnovu navedenih kriterijuma Zbornik radova XLVIII Konf za ETRAN, Čačak, 6-10 juna 2004, tom III Proc. XLVIII ETRAN Conference, Čačak, June 6-10, 2004, Vol. III 74

Upload: others

Post on 02-Sep-2019

1 views

Category:

Documents


0 download

TRANSCRIPT

VIZUELIZACIJA DIJAGRAMA ODLUČIVANJA Suzana Stojković, Saša Spasić, Dragan Janković

Elektronski fakultet u Nišu, Beogradska 14 e-mail: [email protected]

Sadržaj: Dijagrami odlučivanja (DD) su struktura podataka koja se u poslednjih deset godina sreće u gotovo svim VLSI paketima a namenjena je za predstavljanje diskretnih funkcija. U poznatim paketima za manipulaciju dijagramima odlučivanja najmanje razvijena komponenta je komponenta za vizuelizaciju DD-a. Neki paketi u tu svrhu koriste eksterne programe za prikaz orjentisanih grafova, neki pokušavaju da altgoritme za prikaz stabala prilagode crtanju DD-a, a najveći broj njih uopšte ne poseduje mogućnost vizelizacije. U ovom radu prikazan je algoritam za vizuelizaciju DD-a korišćen u paketu UDDP. Algoritam je baziran na algoritmu za crtanja orijentisanih grafova po nivoima. Za razliku od drugih DD paketa ovaj algoritam podržava crtanje kako binarnih, tako i višeznačnih i heterogenih dijagrama odlučivanja.

1. UVOD Rešavanje mnogih problema u projektovanju logičkih kola, veštačkoj inteligenciji, telekomunikacijama i sl. zasniva se na korišćenju diskretnih funkcija. Zbog toga je razvijeno više metoda za predstavljanje diskretnih funkcija. Danas se najšire primenjuju dijagrami odlučivanja (decision diagrams - DDs). Dijagrame odlučivanja za predstavljanje Boole-ovih funkcija, binarne dijagrame odlučivanja (Binary Decision Diagrams – BDDs), definisao je Bryant 1986. [2]. BDD-i su aciklični orijentisani grafovi koji sadrže neterminalne čvorove, terminalne čvorove i grane. Neterminalni čvorovi odgovaraju ulaznim promenljivama funkcije (odnosno, u svakom neterminalnom čvoru vrši se odlučivanje po odgovarajućoj ulaznoj promenlljivoj). Zato svaki neterminalni čvor ima 2 izlazne grane: jedna ukazuje na BDD funkcije )0( =ixf , a druga na

)1( =ixf . Terminalni (konstantni) čvorovi odgovaraju vrednostima funkcije. Analogno BDD-ima, za predstavljanje višeznačnih diskretnih funkcija, definisani su višeznačni dijagrami odlučivanja (Multi-valued Decision Diagrams – MDDs). U višeznačnoj logici, svaka promenljiva može imati q različitih vrednosti, te u višeznačnom dijagramu odlučivanja svaki neterminalni čvor može ima q izlaznih grana. U cilju minimizacije broja čvorova u DD-ima definisani su i heterogeni dijagrami odlučivanja u kojima čvorovi na različitim nivoima mogu imati različiti broj izlaznih grana. Predstavljanje dijagrama odlučivanja u programima je veoma često rešavan problem, tako da su strukture za predstavljanje DD-a u programima [2],[4] i principi za manipulisanje njima [1],[2] veoma precizno definisani i korišćeni skoro u svim paketima za manipulisanje DD-ima. S obzirom da su strukture podataka kojima su predstavljeni DD-i dinamičke, veoma je teško zapisati

izgled DD-a u oblik lako čitljiv za krajnjeg korisnika. Jedini prihvatljivi metod u tom slučaju je njihova vizuelizacija. Problem vizuelnog prikaza DD-a je sasvim malo dotaknut u postojećim DD paketima. Pojedini DD paketi koriste eksterne programe za crtanje orjentisanih grafova. Recimo CUDD [5] i BuDDy [8] koriste DOT program. U paketu Jade [7] uradjena je vizuelizacija tako što je zadržan raspored čvorova iz potpunog stabla odlučivanja. DD paket PUMA [6] sadrži komponentu za vizuelizaciju, ali je ona potpuno statička (fiksirane su boje čvorova i grana, veličina čvorova, razmak izmedju nivoa, itd.), a grane su uvek predstavljene pravim linijama, što u slučaju kompleksnijih funkcija, daje veoma nepregledne prikaze. S obzirom da svi ovi paketi rade isključivo sa BDD-ima i da njihove vizuelne prezentacije DD-a poseduju navedene nedostatke u UDDP-u (DD paketu koji manipuliše različitim tipovima MDD-a i HDD-a) je razvijena komponenta koja se koristi za vizuelizaciju proizvoljnog tipa DD-a, i koja je potpuno korisnički orjentisana. Ova komponenta pruža mogućnost da korisnik definiše boje čvorova i grana, veličine čvorova, rastojanja medju nivoima, da manuelno razmešta čvorove i grane, da dobije dodatne informacije o čvoru (grani). U ovom radu biće prikazan algoritam primenjen u komponenti za prikaz DD-a u UDDP paketu.

2. TEHNIKE CRTANJA ORIJENTISANIH GRAFOVA Dva su osnovna problema koja treba rešiti pri crtanju orijentisanih grafova: pronalaženje optimalnog rasporeda čvorova i izbor načina za prikazivanje grana. Čvorovi u grafu mogu biti rasporedjeni po nivoima, potpuno proizvoljno ili grupisani po nekim semantičkim kriterijumima, dok se za predstavljanje grana u grafu mogu koristiti duži, izlomljene linije ili Bezierove krive. Koji će se metod izabrati za rešavanje prvog (odnosno drugog) problema zavisi od kriterijuma kvaliteta koji su definisani za crtanje odredjenog tipa grafa. Kriterijumi koji odredjuju kvalitet vizuelne reprezentacije grafa mogu se podeliti na kriterijume koji ističu informaciju koju graf nosi i estetske kriterijume. Prva grupa kriterijuma odredjena je pojmovima koji su grafom predstavljeni i namenom grafa. Npr, u uobičajenom prikazu stabla svi čvorovi podjednako udaljeni od korena crtaju se na istom nivou (na istoj Y koordinati). Medjutim, ukoliko stablo prikazuje računarsku mrežu, mnogo je preglednije da koren bude u sredini crteža. Za razliku od ovih, estetski kriterijumi su primenljivi na sve vrste grafova i najbitniji od njih su: minimizirati broj preseka grana na crtežu, izbeći preklapanje čvorova, minimizirati dužine grana, preseke grana realizovati pod dovoljno velikim uglom da bude jasno da se one seku a ne dodiruju i obezbediti čitljivost tekstova i oznaka. Na osnovu navedenih kriterijuma

Zbornik radova XLVIII Konf za ETRAN, Čačak, 6-10 juna 2004, tom III Proc. XLVIII ETRAN Conference, Čačak, June 6-10, 2004, Vol. III

74

očigledno je da su algoritmi za crtanje orijentisanih grafova veoma kompleksni i ne postoji univerzalni algoritam koji bi bio prihvatljiv za crtanje bilo kog tipa grafa. U nastavku će biti prikazani najčešće primenjivani algoritmi za crtanje orijentisanih grafova.

2.1 Crtanje stabala Algoritmi za crtanje stabala su najjednostavniji. Dovoljno je stablo obići nekim rekurzivnim algoritmom (najčešće "postorder" algoritmom) i odrediti koordinate svakog čvora zavisno od prostora potrebnog za prikaz podstabla sastavljenog od tog čvora i njegovih potomaka. Ovaj algoritam se može primeniti i za crtanje grafova koji se eliminacijom malog broja potega mogu svesti na stablo ili na skup nepovezanih stabala.

2.2 Crtanje planarnih grafova Kod planarnih grafova se presek grana na crtežu može potpuno eliminisati. Pri crtanju ovakvog tipa grafa, polazi se od rasporeda čvorova u kojem nema preseka, a zatim se vrše transformacije grafa u više iteracija, dok se ne dostigne zadovoljenje drugih kriterijuma (pa i po cenu da se doda izvestan broj preseka grana). Ovaj se algoritam takodje može primeniti na proizvoljan graf, tako što se izvrši najpre planarizacija (uklanjanje dovoljnog broja grana da graf postane planaran), a zatim nakon iscrtavanja planarnog grafa, dodaju uklonjene grane.

2.3 Crtanje grafova po nivoima Ova metoda je najkompleksnija, ali je primenljiva za crtanje proizvoljnih grafova [3]. Ona sadrži četiri koraka: - podela čvorova u nivoe, tj. odredjivanje vertikalne

pozicije svakog čvora (za šta se obično koriste Network Simplex metode),

- odredjivanje redosleda čvorova unutar nivoa, - odrerdjivanje horizontalnih pozicija čvorova i - crtanje grana.

S obzirom da svodjenje dijagrama odlučivanja na stablo ili planarni graf zahteva uklanjanje velikog broja grana, za crtanje dijagrama odlučivanja izabrana je metoda crtanja po nivoima.

3. OGRANIČENJA KOJA NAMEĆU DIJAGRAMI ODLUČIVANJA

Iz same prirode dijagrama odlučivanja proističu sledeća ograničenja kojih se treba pridržavati pri crtanju: - Čvorovi su podeljeni u nivoe i sve grane vode od

čvorova na višim ka čvorovima na nižim nivoima. - U dijagramu odlučivanja se razlikuju 2 tipa čvorova

(terminalni i neterminalni). Neterminalni čvorovi predstavljaju se krugom i obeleženi su oznakom promenljive po kojoj se vrši odlučivanje u čvoru. Terminalni čvorovi se predstavljaju pravougaonikom u koji se upisuje vrednost funkcije i nalaze se uvek na poslednjem nivou.

- Isti terminalni čvor može biti nacrtan više puta ukoliko je funkcija previše složena pa veliki broj grana ulazi u isti neterminalni čvor.

- Ukoliko više grana ima isti izvorni i isti odredišni čvor moraju biti nacrtane granama koje se ne preklapaju.

- Graf može imati više korenih čvorova (ako je jednim DD-om prikazana funkcija sa više izlaza, ili veći broj funkcija) koji ne moraju biti na istom nivou.

4. ALGORITAM ZA CRTANJE DIJAGRAMA ODLUČIVANJA

Za crtanje dijagrama odlučivanja u paketu UDDP izvršeno je prilagodjenje algoritma za crtanje usmerenih grafova po metodi crtanja po nivoima prikazan u radu [].

graph_placement(placement) { place_nodes_in_ranks(placement); reorder_nodes_within_rank(placement); calc_node_x_coordinates(placement); place_edges(placement); }

Sl. 1 Algoritam za crtanje orijentisanih grafova

U prvom koraku algoritma kreira se početna vizuelna reprezentacija DD-a kojom se u sledećim koracima manipuliše. Ta prva slika kreira se na osnovu interne reprezentacije DD-a koju kreira druga komponenta UDDP-a. U ovom koraku fiksiraju se Y koordinate čvorova (one odredjene nivoom čvora u DD-u), a trenutne X koordinate se odredjuju redosledom posete čvorova pri obilasku interne reprezentacije. (Preporučivo je koristiti obilazak grafa po dubini.) Grane su u ovoj fazi prikazane dužima koje spajaju središta izvornih i odredišnog čvora. Proces transformacije grafa kroz sve korake ovog algoritma biće pokazan na primeru crtanja DD-a sabirača 2 dvocifrena binarna broja (u nastavku funkcija ADD2). Ovo je funkcija 4 promenljive sa 3 izlaza (odnosno tri korena čvora na dijagramu). Ova funkcija je izabrana jer ima više grana čija je dužina veća od 1 te je svodjenje na stablo neprihvatljivo, ima puno preseka grana, pa je nepogodna i za planarizaciju, a rezultat svakog koraka primenjenog algoritma dovodi do očiglednog poboljšanja kvaliteta grafa. Početna vizuelna reprezentacija DD-a funkcije ADD2 prikazana je na Sl. 2.

4 4

3 3 3 3 3

2 2 2 2 2 2

1 1

0 1

Sl. 2 Početna slika DD-a funkcije ADD2 U drugom koraku vrši se minimizacija broja preseka grana prerasporedjivanjem čvorova unutar nivoa. Algoritam ove funkcije prikazan je na Sl. 3. Ovaj postupak je iterativan. Svaka iteracija sadrži tri koraka: odredjivanje median vrednosti čvorova grafa, uredjivanje čvorova unutar nivoa prema median vrednosti i zamenu pozicija susednih čvorova unutar nivoa. Median vrednost čvora je srednja vrednost X koordinata susednih čvorova:

75

i

Skk

i S

xm i

∑∈= ,

gde je iS skup suseda čvora sa indeksom i.

reorder_nodes_within_rank (placement) { for (i = 0; i < MAX_ITERATIONS; ++i) { graph_wmedian(placement, i); sort_by_wmedian(placement); transpose(placement, i); } }

Sl. 3 Algoritam za uredjivanje čvorova unutar nivoa

Čvorovi se unutar nivoa uredjuju u rastući redosled prema sračunatim median vrednostima. U trećem koraku (u funkciji transpose) prolazi se više puta kroz svaki nivo i zamenom pozicija susednih čvorova smanjuje broj preseka grana. Zamena susednih čvorova se ponavlja sve dok se zamenom postiže poboljšanje (tj. dok se broj preseka grana smanjuje). Ovaj deo algoritma podseća na algoritme za sortiranje. Izgled vizuelne reprezentacije DD-a fukcije ADD2 nakon preuredjivanja čvorova po nivoima prikazan je na Sl. 4.

4 4

3 3 3 33

2 22 2 22

1 1

0 1 Sl. 4 Slika DD-a funkcije ADD2 nakon uredivanja

čvorova unutar nivoa

Vodeći kriterijumi za odredjivanje X koordinata čvorova su da povezani čvorovi budu što bliže (kako bi grane na crtežu bile što kraće), a da čvorovi na istom nivou budu dovoljno razmaknuti kako bi se obezbedila preglednost. U našem algoritmu razlikuje se postupak odredjivanja X koordinata neterminalnih i terminalnih čvorova. Za odredjivanje X koordinata neterminalnih čvorova koristi se iterativni proces koji je takodje zasnovan na računanju median vrednosti. Ukoliko se ovim postupkom čvorovi koji se nalaze na istom nivou suviše približe jedan drugom vrši se njihovo razdvajanje na minimalnu udaljenost. U praksi se pokazalo da je za veoma složene DD-e dovoljno 100 iteracija za dobijanje zadovoljavajućeg crteža. Terminalni čvorovi se rasporedjuju tako da ravnomerno zauzimaju prostor od krajnje leve do krajnje desne koordinate grafa.

Kada je položaj čvorova fiksiran, prelazi se na pozicioniranje grana (funkcija place_edges). U svim dosadašnjim fazama grane su tretirane kao duži. S

obzirom da se crtanje grana koriste Bezierovi kubni segmenti (tj. Bezierove krive sa dve krajnje i dve kontrolne tačke koje su opisane polinomom trećeg stepena), grane se odmah crtaju kao Bezierovi kubni segmenti gde su obe krajnje i obe kontrolne tačke kolinearne. Ovim se izbegava promena broja atributa grana u kasnijim koracima. Zatim se vrši pomeranje kontrolnih tačaka da bi se izvršilo zaobilaženje čvorova, povećanje ugla preseka izmedju grana ili razdvajanje preklopljenih grana.

4 4

3 3 3 33

2 22 2 22

1 1

0 1 Sl. 5 Slika DD-a funkcije ADD2 nakon fiksiranja X

koordinata čvorova

4 4

3 3 3 33

2 22 2 22

1 1

0 1 Sl. 6 Slika DD-a funkcije ADD2 nakon

pozicioniranja grana

Kod višeznačnih dijagrama odlučivanja mogu se pojaviti grane sa istim izvornim i istim odredišnim čvorom. Eliminisanje preklapanja takvih grana na crtežu vrši se takodje pomeranjem kontrolnih tačaka grana. Primer rešavanja ovog problema prikazan je na Sl. 7.

5. DODATNE MOGUĆNOSTI VIZUELNOG PRIKAZA DD-A U UDDP-U

Dodatni zahtev koji je nametnut komponenti za crtanje DD-a je da se dozvoli mogućnost da se vizuelna slika potpuno prilagodi estetskim kriterijumima korisnika. Zato su predvidjene mogućnosti: 1. podešavanje sledećih parametara: veličine i boje

neterminalnih i terminalnih čvorova, boje grana (grane koje odgovaraju različitim vrednostim promenljive koja se nalazi u izvornom čvoru predstavljene su različitim bojama ), rastojanja izmedju nivoa;

2. manuelno razmeštanje čvorova unutar nivoa ili pomeranje kontrolnih tačaka grana;

3. zapis slike DD-a u XML formatu tako da se može ponovo učitati u editor i vršiti manipulisanje njome;

4. prikaz dodatnih informacija o čvoru ili grani (što se u UDDP-u postiže desnim klikom na izabrani objekat).

76

4

3

2

1

0 1 2

4

3

2

1

0 1 2

(a) (b)

Sl. 7 MDD pre (a) i posle (b) razdvajanja preklopljenih grana

6. POREDJENJE PRIKAZA DD-A U UDDP-U I DRUGIM DD PAKETIMA

Na Sl. 8 prikazan je vizuelni prikaz DD-a koji je generisao program PUMA. Nedostaci ovog prikaza je što ne vrši razmeštanje čvorova unutar nivoa (očigledno je da bi manje preseka grana bilo kada bi čvorovi 1001 i 1026 zamenili svoja mesta), grane su uvek pravolinijske pa i na ovako jednostavnom DD-u prodiru čvorove (npr. levi poteg čvora 1053 prodire čvor 1056), a sva estetska podešavanja (boja pozadine i čvorova, veličine čvorova, razmak izmedju nivoa i čvorova su hard-kodirana).

Sl. 8 Slika DD-a generisana programom PUMA

Na Sl. 9 prikazan je vizuelni prikaz DD-a generisan pomoću programa Jade. Ovaj program za crtanje DD-a koristi metod crtanja stabla tako da ne vrši razmeštanje čvorova unutar nivoa, ni pomeranje po X koordinati. Grane su, takodje, uvek pravolinijske. DD generiše na osnovu analitičkog oblika funkcije, tako da ne može prikazati razdeljene DD-e niti DD-e funkcija većeg broja promenljivih.

Sl. 9 Slika DD-a generisana programom Jade

Programi za crtanje orjentisanih grafova (npr. DOT koga koriste CUDD, BuDDy,...), ne vode računa o prirodnom rasporedu čvorova po nivoima, tako da je na slikama DD-a, koje oni generišu, teško uočiti root-čvorove, čvorovi sa istog nivoa u DD-u ne moraju biti nacrtani na istom nivou na slici,...

7. ZAKLJUČAK U ovom radu prikazan je algoritam za crtanje DD-a primenjen u UDDP-u. Algoritam je baziran na algoritmu za crtanje orijentisanih grafova po nivoima. Primenljiv je za crtanje binarnih, višeznačnih i hibridnih DD-a. U svim poznatim alatima za crtanje DD-a generisana slika je statička. U UDDP-u, ukoliko dobijena slika DD-a ne zadovoljava estetske kriterijume korisnika ili je zbog složenosti funkcije graf nedovoljno pregledan, korisnik može da izvrši dodatne manuelne transformacije slike (da izvrši premeštanje čvorova unutar nivoa ili promeni oblik grane). Podešena slika se može zapisati u XML formatu, tako da se njome može manipulisati ponovo.

8. LITERATURA [1] Brace, K.S., Rudell, R. L., Bryant, R. E., ''Efficient

implementation of a BDD package'', In Design Automation Conference, San Francisko, Juny 1991, 417-421.

[2] Bryant, R. E., ''Graph-based algorithms for Boolean functions manipulation'', IEEE Trans. On Computers, Vol. C-35, No. 8, August 1986, 677-691.

[3] Gansner, E. R. , Koutsofios, E. , North, S. C., Vo, K.-P., Technique for Drawing Directed Graphs. IEEE-TSE, March 1993.

[4] Miller, D. M., Drechsler, R., ''Implementing a multiple-valued decision diagram package'', Proc. 28th Int. Symp. on Multiple-Valued Logic, Fukuoka, Japan, 1998, 52-57.

[5] Somenzi, F., CUDD Rerease 1.1.1, 1996. [6] Hett, A., Drechsler, R., Becker, B., The DD Package

PUMA – An Online Documentation, http://ira.informatic.uni-freiburg.de/software/puma/ puma.htm, 1996.

[7] http://www.informatik.uni-bremen.de/grp/ag-ram/doc/work/DATE_uni_booth.pdf.

[8] http://www.itu.dk/research/buddy/

Abstract: Decison diagrams (DDs) are data structure reprresenting of discrete functions. Problem which is not adequote resolved in existing DD packages is a visual representation of DDs. Some of those packages use external programm for directed graph drawing, some of them use algorithms for tree drawing, but more of them have not got probability for DD visualization. This paper presents algorithm for DDs drawing that is used in UDDP. The algorithm is based on algorithm for drawing of directed graphs by levels. This algorithm enables drawing different types of binary decison diagrams, multi-valued desicion diagrams and hybrid decision diagrams.

VISUALISATION OF DECISION DIAGRAM Suzana Stojković, Saša Spasić, Dragan Janković

77