20
Vizualizácia stromových indexov (bakalárska práca) autor: Miroslav Sajko vedúci práce: Mgr. Martin Šumák

Vizualizácia stromových indexov (bakalárska práca)

Embed Size (px)

DESCRIPTION

Vizualizácia stromových indexov (bakalárska práca). autor: Miroslav Sajko vedúci práce: Mgr. Martin Šumák. Motivácia. vizualizácia vs. výpis info o strome (hromada čísel je neprehľadná) vizualizácia vs. kontrolné algoritmy (nemožné sledovanie zmien vlastností) - PowerPoint PPT Presentation

Citation preview

Page 1: Vizualizácia stromových indexov (bakalárska práca)

Vizualizácia stromových indexov(bakalárska práca)

autor: Miroslav Sajkovedúci práce: Mgr. Martin

Šumák

Page 2: Vizualizácia stromových indexov (bakalárska práca)

Motivácia• vizualizácia vs. výpis info o strome

(hromada čísel je neprehľadná)• vizualizácia vs. kontrolné algoritmy

(nemožné sledovanie zmien vlastností)• výrazná pomoc pri úprave algoritmov• edukatívne účely

Page 3: Vizualizácia stromových indexov (bakalárska práca)

Ciele• Navrhnutie univerzálneho

objektového modelu pre vizualizáciu s.i. a vyhľadávanie nad nimi• Vytvorenie aplikácie s grafickým

prostredím pre vizualizáciu vybraných indexov (R-Tree, M-Tree)

Page 4: Vizualizácia stromových indexov (bakalárska práca)

Problémy• Rýchla vizuálna kontrola správnosti

správania algoritmov

• Univerzálnosť pre rôzne stromové indexy

Page 5: Vizualizácia stromových indexov (bakalárska práca)

R-Tree• Rozšírením B-Tree• Výškovo vyvážený strom• Geometrickou interpretáciou dát sú

obdĺžniky (kvádre, hyper-obdĺžniky)• Každý nelistový uzol obsahuje dcérske uzly

a ohraničujúci obdĺžnik každého uzla• Listové uzly obsahuje samotné dáta

Page 6: Vizualizácia stromových indexov (bakalárska práca)
Page 7: Vizualizácia stromových indexov (bakalárska práca)

M-Tree• Rozšírením B-Tree• Výškovo vyvážený strom• Geometrickou interpretáciou dát sú

kruhy (gule, ..)• Každý nelistový uzol obsahuje dcérske

uzly a ohraničujúci kruh každého uzla• Listové uzly obsahujú samotné dáta

Page 8: Vizualizácia stromových indexov (bakalárska práca)
Page 9: Vizualizácia stromových indexov (bakalárska práca)

R-Tree• Koreň, uzly, listy• Uzol vie dcérske uzly• Uzol vie ohraničujúci

obdĺžnik každého uzla• List drží dáta• Geometricky v 2D

obdĺžnik

M-Tree• Koreň, uzly, listy• Uzol vie dcérske uzly• Uzol vie ohraničujúci

kruh každého uzla• List drží dáta• Geometricky v 2D

kruh

• Štruktúra rovnaká• Rozdielne geometrické reprezentácie• Necháme vykresľovanie na index!

Page 10: Vizualizácia stromových indexov (bakalárska práca)

Objektový návrh• Pomocou rozhraní vnútim stromom

a dátam funkcionalitu vykresľovania• Rozhranie DrawableObject• Rozhranie DrawableResultObject• Rozhranie DrawableTree

Page 11: Vizualizácia stromových indexov (bakalárska práca)

Rozhranie DrawableObject• drawObject – vykreslenie objektu

schovaného za dátami (kruh/obdĺžnik)• getObjectId – vráti id objektu

Page 12: Vizualizácia stromových indexov (bakalárska práca)

Rozhranie DrawableResultObject

• getDrawableObject – vráti objekt• getValue – vráti vzdialenosť od bodu

Page 13: Vizualizácia stromových indexov (bakalárska práca)

Rozhranie DrawableTree• draw – rekurzívne vykreslenie celého stromu

od koreňa (len vykreslenie dát)• drawNode – vykreslenie uzla s ohraničujúcim

K/O a všetkými dcérskymi uzlami• addFromViewer – spracovanie dát z

kresliacej plochy na pridanie do stromu• getRootNode – vrátenie koreňa pre JTree • knnQuery – spracovanie dát pre dopyt a

vrátenie zoznamu DrawableResultObject-ov

Page 14: Vizualizácia stromových indexov (bakalárska práca)

Prechádzanie stromom• Odlíšenie ohraničujúcich K/O

hrúbkou čiary podľa levelu (čím bližšie ku koreňu, tým hrubšia čiara)• Odlíšenie dátových K/O podľa farby

(všetky dátové objekty rovnakou farbou ako ohraničujúci K/O)• Neprejdené časti stromu šedou

Page 15: Vizualizácia stromových indexov (bakalárska práca)

Vizualizácia R-stromu

Page 16: Vizualizácia stromových indexov (bakalárska práca)

Vizualizácia M-stromu

Page 17: Vizualizácia stromových indexov (bakalárska práca)

Ďalšie indexy• Štruktúry rovnaké pri väčšine indexov• Nevyváženosť nie je problém• Info o dátach nie len v uzloch –

teoreticky to nie je problém, nechávame na programátorovi• Implementácia je pri správnom

priradení rozhraní jednoduchá

Page 18: Vizualizácia stromových indexov (bakalárska práca)

Plán do blízkeho budúcna

• Doladenie bugov aplikácie• Dopísanie a odovzdanie záverečnej

práce

Page 19: Vizualizácia stromových indexov (bakalárska práca)

Literatúra• A. Guttman: R-Trees: A Dynamic Index Structure

for Spatial Searching. SIGMOD Conference 1984• B. Spell: Java: Programujeme profesionálně.

Computer Press 2002, ISBN 80-7226-667-5• D. Jacko: Indexovanie a triedenie objektov

pomocou R-stromov (Diplomová práca). UPJŠ 2008

Page 20: Vizualizácia stromových indexov (bakalárska práca)

Ďakujem za pozornosť