vizualizácia stromových indexov (bakalárska práca)
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 (nepovedia kde a ako sa zmenili vlastnosti) - PowerPoint PPT PresentationTRANSCRIPT
Vizualizácia stromových indexov(bakalárska práca)
autor: Miroslav Sajkovedú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
(nepovedia kde a ako sa zmenili vlastnosti)• výrazná pomoc pri úprave algoritmov
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)
Problémy• Rýchla vizuálna kontrola správnosti
správania algoritmov
• Univerzálnosť pre rôzne stromové indexy
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
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
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
Objektový návrh• Pomocou rozhraní vnútim stromom a
dátam funkcionalitu vykresľovania• Interface DrawableTree – drawTree,
drawNode, addFromCanvas,getRootNode• Interface DrawableObject - drawObject
DrawableTree• drawTree – 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érami• addFromCanvas – spracovanie dát z
kresliacej plochy na pridanie do stromu• getRootNode – vrátenie koreňa pre JTree
DrawableObject• drawObject – vykreslenie objektu
schovaného za dátami (kruh/obdĺžnik)
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
(„súrodenci“ rovnakou farbou)• Neprejdené časti stromu šedou
Aktuálny stav• Štúdium problematiky – 99,9%
• Objektový model – 99,9%
• Implementácia – 70%
Plán do blízkeho budúcna
• Dokončiť implementáciu: dokončenie vykresľovania, dopyty na strom, pridanie podpory pre M-Tree, vyladenie aplikácie• Spísať prácu, obhájiť prácu...
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
Ďakujem za pozornosť