ΔΕΝΔΡΙΚΕΣ ΔΟΜΕΣ ΔΙΑΧΕΙΡΙΣΗΣ ΠΛΗΡΟΦΟΡΙΑΣ ΚΑΙ ΒΙΟΜΗΧΑΝΙΚΕΣ ΕΦΑΡΜΟΓΕΣ



Σχετικά έγγραφα
Διάλεξη 14: Δέντρα IV - B-Δένδρα

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα)

Αλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες)

Τι είναι αλγόριθμος; Υποπρογράμματα (υποαλγόριθμοι) Βασικές αλγοριθμικές δομές

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Συμβολοσειρές. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Διάλεξη 14: Δέντρα IV B Δένδρα. Διδάσκων: Παναγιώτης Ανδρέου

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

Δομές Δεδομένων και Αλγόριθμοι

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Σύνοψη Προηγούμενου. Πίνακες (Arrays) Πίνακες (Arrays): Βασικές Λειτουργίες. Πίνακες (Arrays) Ορέστης Τελέλης

2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ

HY380 Αλγόριθμοι και πολυπλοκότητα Hard Problems

Κεφ.11: Ευρετήρια και Κατακερματισμός

Παράλληλοι Αλγόριθμοι: Ανάλυση Εικόνας και Υπολογιστική Γεωμετρία. Πέτρος Ποτίκας CoReLab 4/5/2006

Ουρά Προτεραιότητας: Heap

Δομές Δεδομένων. Ενότητα 1 - Εισαγωγή. Χρήστος Γκουμόπουλος. Πανεπιστήμιο Αιγαίου Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων

Αντισταθμιστική ανάλυση

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

ΜΑΘΗΜΑ: Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ. 1 η ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Δέντρα Αναζήτησης. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Δυναμικές Δομές Δεδομένων Λίστες Δένδρα - Γράφοι

Δομές Δεδομένων (Εργ.) Ακ. Έτος Διδάσκων: Ευάγγελος Σπύρου. Εργαστήριο 10 Δυαδικά Δένδρα Αναζήτησης

Advanced Data Indexing

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007

Εισαγωγή στους Αλγόριθμους. Παύλος Εφραιμίδης, Λέκτορας

Κεφάλαιο 11 Ένωση Ξένων Συνόλων

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Ουρές Προτεραιότητας. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Διάλεξη 18: B-Δένδρα

Αναζήτηση σε Γράφους. Μανόλης Κουμπαράκης. ΥΣ02 Τεχνητή Νοημοσύνη 1

Δομές Δεδομένων & Αλγόριθμοι

Διάλεξη 17: Δυαδικά Δέντρα. Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find)

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

Άσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα).

Δομές δεδομένων. Ενότητα 8: Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find) Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών

Διδάσκων: Παναγιώτης Ανδρέου

Τεχνητή Νοημοσύνη. 2η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων

ΗΥ562 Προχωρημένα Θέματα Βάσεων Δεδομένων Efficient Query Evaluation over Temporally Correlated Probabilistic Streams

ΑΠΟΓΡΑΦΙΚΟ ΔΕΛΤΙΟ ΔΙΔΑΚΤΟΡΙΚΗΣ ΔΙΑΤΡΙΒΗΣ ΤΙΤΛΟΣ Συμπληρώστε τον πρωτότυπο τίτλο της Διδακτορικής διατριβής ΑΡ. ΣΕΛΙΔΩΝ ΕΙΚΟΝΟΓΡΑΦΗΜΕΝΗ

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές δεδομένων. Ενότητα 7η: Ουρές Προτεραιότητας Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

Διάλεξη 22: Δυαδικά Δέντρα. Διδάσκων: Παναγιώτης Ανδρέου

ΥΣ02 Τεχνητή Νοημοσύνη Χειμερινό Εξάμηνο

Εισαγωγή ενός νέου στοιχείου. Επιλογή i-οστoύ στοιχείου : Εύρεση στοιχείου με το i-οστό μικρότερο κλειδί

Οι διαθέσιμες μέθοδοι σε γενικές γραμμές είναι:

Διάλεξη 16: Σωροί. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ουρές Προτεραιότητας - Ο ΑΤΔ Σωρός, Υλοποίηση και πράξεις

Κεφάλαιο 14 Προηγμένες Ουρές Προτεραιότητας

Διάλεξη 16: Σωροί. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ουρές Προτεραιότητας - Ο ΑΤΔ Σωρός, Υλοποίηση και πράξεις

Κεφάλαιο 6 Ουρές Προτεραιότητας

Εξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα

Διάλεξη 17: O Αλγόριθμος Ταξινόμησης HeapSort

viii 20 Δένδρα van Emde Boas 543

Θέματα Υπολογισμού στον Πολιτισμό - Δένδρα. Δένδρα

Κεφάλαιο 4. Διαίρει και Βασίλευε (Divide and Conquer) Παύλος Εφραιμίδης V1.1,

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ

Πληροφορική 2. Δομές δεδομένων και αρχείων

Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών, Τ.Ε.Π Π.Μ, Μάθημα: Γραφικά με Η/Υ

JDSL Java Data Structures Library

MBR Ελάχιστο Περιβάλλον Ορθογώνιο (Minimum Bounding Rectangle) Το µικρότερο ορθογώνιο που περιβάλλει πλήρως το αντικείµενο 7 Παραδείγµατα MBR 8 6.

ΚΕΦΑΛΑΙΟ 3 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ

AVL-trees C++ implementation

Οι δυναμικές δομές δεδομένων στην ΑΕΠΠ

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι:

Βασικές δοµές δεδοµένων. Ορολογία λιστών. 8.1 Βασικές έννοιες δοµών δεδοµένων 8.2 Υλοποίηση δοµών δεδοµένων 8.3 Μια σύντοµη υπόθεση εργασίας

Σχολή Μηχανικής και Τεχνολογίας. Πτυχιακή διατριβή

21. ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ 4 - ΔΗΜΙΟΥΡΓΩΝΤΑΣ ΜΕ ΤΟ BYOB BYOB. Αλγόριθμος Διαδικασία Παράμετροι

Πληροφορική 2. Αλγόριθμοι

Διδάσκων: Κωνσταντίνος Κώστα

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 6/5/2006

ΑΠΟΓΡΑΦΙΚΟ ΔΕΛΤΙΟ ΜΕΤΑΠΤΥΧΙΑΚΗΣ ΕΡΓΑΣΙΑΣ ΤΙΤΛΟΣ

Σχεδίαση και Ανάλυση Αλγορίθμων

R-Trees, kd-trees, QuadTrees. Εαρινό Εξάμηνο Τμήμα Μηχανικών Η/Υ και Πληροϕορικής Πολυτεχνική Σχολή, Πανεπιστήμιο Πατρών

ΑΝΑΠΤΥΞΗ ΛΟΓΙΣΜΙΚΟΥ ΓΙΑ ΤΗ ΔΙΕΝΕΡΓΕΙΑ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΜΕΛΕΤΩΝ

Διάλεξη 12: Δέντρα ΙΙ Δυαδικά Δέντρα

Εισαγωγή Αποκοπή ευθείας σε 2Δ Αποκοπή πολυγώνου σε 2Δ Αποκοπή σε 3Δ. 3ο Μάθημα Αποκοπή. Γραφικα. Ευάγγελος Σπύρου

Κεφάλαιο 7. Τρισδιάστατα Μοντέλα

Σχεδίαση & Ανάλυση Αλγορίθμων

Δομές δεδομένων και ψηφιακή αναπαράσταση χωρικών φαινομένων

Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find)

Δομές Δεδομένων Εργαστηριακή Άσκηση Γκόγκος Νίκος Α.Μ.: 4973 Έτος: 3 ο gkogkos@ceid.upatras.gr. Εισαγωγικά:

Standard Template Library (STL) C++ library

Union Find, Λεξικό. Δημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο

ΔΕΙΓΜΑ ΠΡΙΝ ΤΙΣ ΔΙΟΡΘΩΣΕΙΣ - ΕΚΔΟΣΕΙΣ ΚΡΙΤΙΚΗ

Εισαγωγικές Έννοιες. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο

Μέθοδοι Σχεδίασης κίνησης

Πυθαγόρειες Τριάδες: από την ανακάλυψη μιας κανονικότητας στη διατύπωση και την απόδειξη μιας πρότασης

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή

Π Τ Υ Χ Ι Α Κ Η Ε Ρ Γ Α Σ Ι Α

Υπολογιστικό Πρόβληµα

Δυναμικά Πολυεπίπεδα Ευρετήρια (Β-δένδρα) Μ.Χατζόπουλος 1

xiii Eur.Ing. Δρ. Φ. Σκιττίδης ΠΕΡΙΕΧΟΜΕΝΑ

Έστω ένας πίνακας με όνομα Α δέκα θέσεων : 1 η 2 η 3 η 4 η 5 η 6 η 7 η 8 η 9 η 10 η

ΑΣΥΜΠΤΩΤΙΚΗ ΑΝΑΛΥΣΗ & ΠΡΟΣΘΕΣΗ

ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ (ΠΑΤΡΑ) ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ

Διάλεξη 11: Δέντρα Ι - Εισαγωγή σε Δενδρικές Δομές Δεδομένων

Transcript:

ΔΕΝΔΡΙΚΕΣ ΔΟΜΕΣ ΔΙΑΧΕΙΡΙΣΗΣ ΠΛΗΡΟΦΟΡΙΑΣ ΚΑΙ ΒΙΟΜΗΧΑΝΙΚΕΣ ΕΦΑΡΜΟΓΕΣ Διδακτορική Διατριβή ΔΗΜΗΤΡΙΟΣ Π. ΣΟΦΟΤΑΣΙΟΣ Επιβλέπων: ΚΑΘΗΓΗΤΗΣ ΑΘΑΝΑΣΙΟΣ Κ. ΤΣΑΚΑΛΙΔΗΣ Σεπτέμβριος 2007 ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής Δ. ΣΟΦΟΤΑΣΙΟΣ

TREE STRUCTURES FOR INFORMATION MANAGEMENT AND INDUSTRIAL APPLICATIONS Ph.D. Thesis DIMITRIOS P. SOFOTASSIOS Supervisor: PROFESSOR ATHANASIOS K. TSAKALIDIS September 2007 UNIVERSITY OF PATRAS SCHOOL OF ENGINEERING Department of Computer Engineering and Informatics Δ. ΣΟΦΟΤΑΣΙΟΣ

ΔΕΝΔΡΙΚΕΣ ΔΟΜΕΣ ΔΙΑΧΕΙΡΙΣΗΣ ΠΛΗΡΟΦΟΡΙΑΣ ΚΑΙ ΒΙΟΜΗΧΑΝΙΚΕΣ ΕΦΑΡΜΟΓΕΣ ΔΙΔΑΚΤΟΡΙΚΗ ΔΙΑΤΡΙΒΗ Δημήτριος Π. Σοφοτάσιος Επταμελής Εξεταστική Επιτροπή Αθανάσιος Τσακαλίδης, Καθηγητής (Επιβλέπων) Παύλος Σπυράκης, Καθηγητής (Μέλος Τριμελούς) Ιωάννης Γαροφαλάκης, Αναπληρωτής Καθηγητής (Μέλος Τριμελούς) Γεώργιος Παυλίδης, Καθηγητής Ιωάννης Χατζηλυγερούδης, Επίκουρος Καθηγητής Χρήστος Μακρής, Επίκουρος Καθηγητής Ιωάννης Σταματίου, Επίκουρος Καθηγητής Σχολή: Πολυτεχνική Τμήμα: Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής Τομέας: Λογικού των Υπολογιστών Δ. ΣΟΦΟΤΑΣΙΟΣ

«Σαν πας στον πηγεμό για την Ιθάκη να εύχεσαι νάναι μακρύς ο δρόμος γεμάτος περιπέτειες, γεμάτος γνώσεις. Κι αν πτωχική την βρεις, η Ιθάκη δε σε γέλασε. Έτσι σοφός που έγινες, με τόση πείρα, ήδη θα το κατάλαβες οι Ιθάκες τι σημαίνουν.» Κ. Καβάφη IΘΑΚΗ Στη γυναίκα μου και στα παιδιά μου Δ. ΣΟΦΟΤΑΣΙΟΣ

ΠΕΡΙΛΗΨΗ Περίληψη Οι δενδρικές δομές οργάνωσης και διαχείρισης της πληροφορίας έχουν αποδειχθεί εξαιρετικά αποδοτικές τόσο σε θεωρητικό επίπεδο - πχ. χωρική και χρονική πολυπλοκότητα - όσο και σε πρακτικό αφού έχουν εφαρμογή σε πληθώρα περιοχών όπως computerγραφική, χωροταξικές βάσεις δεδομένων, CAD/CAM, VLSI design κλπ. Το συγκεκριμένο ερευνητικό πεδίο χαρακτηρίζεται πλέον κλασικό παρέχοντας στους σχεδιαστές πληροφοριακών συστημάτων ένα σύνολο δομικών στοιχείων και αλγορίθμων από απλές δομές δεδομένων (πχ. δυαδικά δέντρα) έως σύνθετες αρχιτεκτονικές συστημάτων υποστήριξης αποφάσεων. Στο πλαίσιο της διατριβής διερευνώνται επιμέρους προβλήματα αποδοτικής οργάνωσης χωροταξικών δεδομένων που ανήκουν γενικά στο πεδίο της Υπολογιστικής Γεωμετρίας, προτείνονται συγκεκριμένες δενδρικές δομές και αλγόριθμοι για τη διαχείριση των δεδομένων και, τέλος, δίνονται κάποια παραδείγματα χρήσης τους σε ειδικές περιοχές εφαρμογών. Το πρώτο κεφάλαιο της εργασίας ασχολείται με το γεωμετρικό πρόβλημα της εύρεσης των ισoπροσανατολισμένων ορθογωνίων που περικλείουν ένα προκαθορισμένο query αντικείμενο (enclosure problem). Το query μπορεί να είναι ένα ισο-προσανατολισμένο ορθογώνιο είτε σημείο είτε κάθετο ή οριζόντιο ευθύγραμμο τμήμα. Για την επίλυση του προβλήματος προτείνεται μια πολυεπίπεδη γεωμετρική δενδρική δομή ενώ μελετάται και η στατική και η δυναμική έκδοση. Ειδική περίπτωση του παραπάνω προβλήματος που διερευνάται επίσης είναι αυτή της εύρεσης των ισο-προσανατολισμένων ορθογώνιων τριγώνων με μη τεμνόμενες υποτείνουσες που περικλείουν ένα ισο-προσανατολισμένο ορθογώνιο query τρίγωνο. Το δεύτερο κεφάλαιο εξετάζει το πρόβλημα της ανάκτησης σημείων (point retrieval) σε πολύγωνα: δοθέντων σημείων στο επίπεδο κι ενός απλού query πολυγώνου να βρεθούν όλα τα σημεία που εμπεριέχονται σ αυτό. H γεωμετρική δομή που προτείνεται για την επίλυση του προβλήματος είναι επίσης πολυεπίπεδη και αποδοτική όταν το query πολύγωνο έχει συγκεκριμένες ιδιότητες. Το τρίτο κεφάλαιο της εργασίας ασχολείται με την εφαρμογή δενδρικών δομών δεδομένων σε δύο βιομηχανικά προβλήματα. Το πρώτο αφορά στη μείωση της πολυπλοκότητας ανίχνευσης συγκρούσεων (collision detection) καθώς ένας ρομποτικός βραχίονας κινείται επάνω σε μια επίπεδη σκηνή με εμπόδια κατά μήκος μιας καρτεσιανής καμπύλης (τροχιάς). Για την επίλυση του προβλήματος γίνεται εφαρμογή μιας ουράς προτεραιότητας και μιας UNION-FIND δομής ενώ γνωστές δομές και αλγόριθμοι της Υπολογιστικής Γεωμετρίας χρησιμοποιούνται για να απαντήσουν βασικά γεωμετρικά queries όπως υπολογισμός του κυρτού καλύμματος δύο πολυγώνων, έλεγχος polygon inclusion, κλπ. Το δεύτερο πρόβλημα αφορά στον σχεδιασμό απαιτήσεων σε υλικά (Μaterial Requirements Planning - MRP) σε ένα βιομηχανικό σύστημα παραγωγής. Στο πλαίσιο της εργασίας αναπτύχθηκε ένας αποδοτικός MRP επεξεργαστής που χρησιμοποιεί διασυνδεμένες λίστες οι οποίες αποθηκεύονται στην κύρια μνήμη και υλοποιούν τα επίπεδα ιεραρχίας ενός γενικευμένου δένδρου αποφάσεων για το ποια προϊόντα πρέπει να παραχθούν και σε τι ποσότητες. Το τέταρτο και τελευταίο κεφάλαιο ασχολείται συστηματικά με το πρόβλημα του ελέγχου της βιομηχανικής παραγωγής και συγκεκριμένα αυτού της δρομολόγησης εργασιών και αποτελεί συνέχεια της υλοποίησης του επεξεργαστή σχεδιασμού απαιτήσεων σε υλικά. Στο πλαίσιο αυτό σχεδιάστηκε και υλοποιήθηκε ένα ευφυές σύστημα υποστήριξης αποφάσεων (Intelligent Decision Support System - ΙDSS) για τον έλεγχο της παραγωγής σε περιβάλλον ροής το οποίο συνδυάζει τεχνολογίες συστημάτων βασισμένων σε γνώση και προσομοίωσης με on-line έλεγχο προκειμένου να υποστηρίξει το διευθυντή παραγωγής στη λήψη αποφάσεων. Δ. ΣΟΦΟΤΑΣΙΟΣ i

AΒSTRACT Αbstract Tree structures for the organization and management of information have been turned out to be extremely efficient not only in theoretical level e.g. space and time complexity but also in practical level since they can be used to a wide range of application domains such as computer graphics, spatial databases, CAD/CAM, VLSI design, etc. This research area is finally considered to be classical, providing information systems designer a set of structural elements and algorithms from simple data structures (e.g. binary trees) to more complex decision support system architectures. In the context of this dissertation, we examine some problems of efficient organization of spatial data which generally belong to the field of Computational Geometry, we propose specific tree structures and algorithms for data management, and finally, we give some examples of their use in specific application areas. The first chapter of the thesis is about the geometric problem of finding the iso-oriented rectangles which enclose a predetermined query object (enclosure problem). The query can be an iso-oriented rectangle either a point or a vertical / horizontal line segment. A multilevel geometric tree structure is proposed to solve the problem whereas both static and dynamic versions are also considered. A special case of the problem above which is also examined, is finding the iso-oriented right-angled triangles with non intersecting hypotenuses that enclose an isooriented right-angled query triangle. The second chapter examines the problem of point retrieval on polygons: given a set of points on the plane and a simple query polygon, find all the points that are included. The geometric structure that is proposed to solve the problem is also multileveled and efficient when the query polygon has specific properties. The third chapter is about the application of tree structures in two manufacturing problems. The first one concerns the reduction in the complexity of collision detection as a robotic arm moves on a planar scene with obstacles along a Cartesian path (trajectory). A priority queue and a UNION-FIND structure are applied for the solution of this problem, whereas known data structures and algorithms of Computational Geometry are used to answer basic geometric queries such as construction of the convex hull between two polygons, polygon inclusion testing, etc. The second problem concerns material requirements planning (MRP) in a manufacturing production system. An efficient MRP processor was developed, which uses linked lists that are stored in main memory, and materializes the levels of hierarchy of a generalized decision tree about which products must be produced and in what quantities. The last chapter examines in a more systematic way the production control problem, and more specifically the job scheduling problem, and constitutes the continuity of the implementation of MRP processor. In this context, an intelligent decision support system (IDDS) was designed and developed for flow shop production control which combines knowledge-based technology and simulation with on-line control in order to support the production manager in decision making. Δ. ΣΟΦΟΤΑΣΙΟΣ ii

ΑΝΤΙ ΠΡΟΛΟΓΟΥ Αντί προλόγου Όταν φτάνεις στο τέρμα μιας διαδρομής τα συναισθήματα είναι πολλά. Πρώτα απ όλα ικανοποίηση γιατί πέτυχες το στόχο. Δεύτερον, δικαίωση για την προσπάθεια που έκανες, τις αγωνίες που πέρασες αλλά και τους μύθους που γκρέμισες. Τρίτο και ίσως το πιο σημαντικό: αισθάνεσαι πιο δυνατός για να αντιμετωπίσεις καινούργιες προκλήσεις. Το ταξίδι ήταν μακρύ και δύσκολο. Ξεκίνησε με ενθουσιασμό μαζί με μια μικρή παρέα γύρω από το Θανάση τον Τσακαλίδη. Ο Θανάσης πίστεψε πρώτος στην παρέα αυτή. Ήταν ο αρχηγός που μας οδήγησε στα μονοπάτια της Υπολογιστικής Γεωμετρίας. Ήταν ο δάσκαλος, ο εμψυχωτής, ο συμπαραστάτης, ο φίλος. Τον ευχαριστώ για το όραμα που μας έδωσε, τις ατέλειωτες ώρες συζητήσεων, τα προβλήματα που αναζητήσαμε και λύσαμε, για όλα όσα έκανε και συνεχίζει να κάνει. Ελπίζω να τον δικαίωσα. Μαζί με το Θανάση ευχαριστώ και τους Βαγγέλη Μπιστιόλα και Τάκη Αλεβίζο με τους οποίους κάναμε τα πρώτα papers. Η παρέα μεγάλωσε, έγινε ομάδα. Ήρθαν καινούργιοι άνθρωποι με όρεξη και ιδέες. Ο Παύλος Σπυράκης, αγαπημένος δάσκαλος των φοιτητικών μου χρόνων, μας έδειξε κι άλλους δρόμους, δημιούργησε νέες προσδοκίες. Ο Γιάννης Χατζηλυγερούδης και ο Βασίλης Τριανταφύλλου, νέοι ερευνητές του Τμήματος τότε, ήταν οι βασικοί μου συνεργάτες για την εφαρμοσμένη έρευνα που ακολούθησε. Τους ευχαριστώ όλους και μαζί μ αυτούς όλα τα παιδιά του Εργαστηρίου CIM για όσα καταφέραμε. Ένα μεγάλο ευχαριστώ στο Γιάννη Γαροφαλάκη που πάντα ήταν δίπλα μου, με συμβούλευε και με στήριξε μέχρι το τέλος της διαδρομής. Ευχαριστώ τον καθηγητή Γιώργο Παυλίδη που δέχθηκε πρόθυμα να συμμετάσχει στην επταμελή επιτροπή ενός παλιού μηχανικού Η/Υ που πρωτογνώρισε φοιτητή στα έδρανα του ΒΑ. Ευχαριστώ, επίσης, τα μέλη της επταμελούς Χρήστο Μακρή και Γιάννη Σταματίου, συνάδελφοι και συνεργάτεςερευνητές στο ξεκίνημα, φτασμένοι επιστήμονες σήμερα, που αφιέρωσαν αρκετό από το χρόνο τους και με βοήθησαν ουσιαστικά στο τελευταίο στάδιο της συγγραφής και της παρουσίασης της διατριβής. Ευχαριστώ τους Σπύρο Σιούτα και Κώστα Τσίχλα για την συνεργασία που είχαμε, τις ιδέες που έφεραν και τις ερευνητικές ανησυχίες που μου μετέδωσαν. Ένα ευχαριστώ από τα βάθη της καρδιάς μου στο Γιάννη Τζήμα για την ηθική του υποστήριξη καθόλη τη διάρκεια του τελευταίου εξαμήνου αλλά και την πολύτιμη βοήθειά του στην διεκπεραίωση των διαδικαστικών θεμάτων με το Τμήμα. Κυρίως όμως θα ήθελα να τον ευχαριστήσω γιατί με βοήθησε να καταλάβω ότι δεν αξίζει να ζούμε τη ζωή μας με μύθους. Θέλω, επίσης, να ευχαριστήσω το Χρήστο Μανωλόπουλο, διευθυντή μου στον Τομέα Ηλεκτρονικής Διακυβέρνησης του ΕΑ ΙΤΥ και το συνάδελφο Άρη Βαγγελάτο, βασικούς συνεργάτες στην επαγγελματική μου ζωή την τελευταία δεκαετία, που μου παρείχαν κάθε δυνατή βοήθεια στη φάση συγγραφής της διατριβής, εν μέσω ατελείωτων συμβατικών υποχρεώσεων και προθεσμιών. Ένα τελευταίο ευχαριστώ στα μέλη της οικογένειάς μου για την υπομονή, την κατανόηση, τη θετική διάθεση που έδειξαν όλους αυτούς τους έξι μήνες. Εξάλλου, γι αυτούς η δικαίωση είχε έρθει πολύ νωρίτερα. Το ταξίδι τελείωσε. Και σίγουρα άξιζε τον κόπο. Για όλα όσα με δίδαξε και μ έκαναν σοφότερο. Δημήτρης Σοφοτάσιος Σεπτέμβριος 2007 Δ. ΣΟΦΟΤΑΣΙΟΣ iii

ΔΗΜΟΣΙΕΥΣΕΙΣ Δημοσιεύσεις Διεθνή Επιστημονικά Περιοδικά BISTIOLAS V., SOFOTASSIOS D., TSAKALIDIS A., Computing Rectangle Enclosures, Computational Geometry Journal: Theory and Applications, Vol. 2, 1993, pp. 303-308 [μία αρχική μορφή αυτής της εργασίας παρουσιάστηκε στο ΑLCOM Ι Workshop "Dynamic Structures", University of Rome La Sapienza, 24-26 Oκτωβρίου 1991, Ρώμη]. HATZILYGEROUDIS I., SOFOTASSIOS D., DENDRIS N., SPIRAKIS P., TSAKALIDIS A., Architectural Aspects of an Intelligent DSS for Flow Shop Production Control, Advanced Manufacturing Forum Journal, Vol. 1, 1996, pp. 75-84 [παρουσιάστηκε επίσης στο EPIA '95 Seventh Portuguese Conference on Artificial Intelligence, 3-6 Οκτωβρίου 1995, Madeira Island, Πορτογαλία, pp. 79-89]. NEARCHOU A., SOFOTASSIOS D., ASPAGATHOS N., Reducing the Complexity of Robot s Scene for Faster Collision Detection, Journal of Intelligent and Robotic Systems, Vol. 26, 1999, pp. 79-89. Διεθνή Επιστημονικά Συνέδρια BISTIOLAS V., SOFOTASSIOS D., TSAKALIDIS A., On the Polygon Retrieval Problem, Ιnternational Symposium on Computer and Information Sciences (ISCIS) VIII, 1-3 Nοεμβρίου 1993, Κωνσταντινούπολη, Τουρκία, pp. 291-301. BISTIOLAS V., SOFOTASSIOS D., TSAKALIDIS A., On Point and Segment Enclosures, 4ο Πανελλήνιο Συνέδριο Πληροφορικής, 15-18 Δεκεμβρίου 1993, Πάτρα, pp. 39-46. BLONIS D., SOFOTASSIOS D., SPILIOU A., SPIRAKIS P., Implementation of a fast Material Requirements Planning processor by using Cache Memory, Advanced Summer Institute (ASI '94) in Computer Integrated Manufacturing and Industrial Automation, 27 Ιουνίου - 1 Ιουλίου 1994, Πάτρα, pp. 90-97. HATZILYGEROUDIS I., SOFOTASSIOS D., SPIRAKIS P., TRIANTAFILLOU V., A PMS System integrating Knowledge-based technology and Simulation with On-Line Production Control, Advanced Summer Institute (ASI '94) in Computer Integrated Manufacturing and Industrial Automation, 27 Ιουνίου - 1 Ioυλίου 1994, Πάτρα, pp. 192-197 (short version). SOFOTASSIOS D., TSAKALIDIS A., Right Triangle Enclosures, 2nd Paneuropean/Hellenic Conference on Mathematics and Informatics - HERMIS '94, 22-24 Σεπτεμβρίου 1994, Αθήνα, pp. 877-886. DENDRIS N., HATZILYGEROUDIS I., SOFOTASSIOS D., SPIRAKIS P., Tsakalidis A., An Intelligent DSS for Flow Shop Production Control, IJCAI '95 Workshop on Intelligent Manufacturing Systems, 19 Αυγούστου 1995, Montreal, Καναδάς, pp. 163-174. HATZILYGEROUDIS I., SOFOTASSIOS D., TSAKALIDIS A., Intelligent Simulation-based Optimization of Production Schedules, 7th Mini Euro Conference on Decision Support Systems, Groupware, Multimedia and Electronic Commerce, 24-27 Μαρτίου 1997, Bruges, Βέλγιο. BISTIOLAS V., SOFOTASSIOS D., SIOUTAS S., TSICHLAS K., On the Canonical k-vertex Polygon Spatial Retrieval Problem, 15th Australasian Workshop on Combinatorial Algorithms (ΑWOCA 2004), 7 9 Ioυλίου 2004, Ballina Beach Resort, New South Wales, Aυστραλία. Δ. ΣΟΦΟΤΑΣΙΟΣ iv

ΔΗΜΟΣΙΕΥΣΕΙΣ Κεφάλαια σε Βιβλία / Βιβλία HATZILYGEROUDIS I, SOFOTASSIOS D., DENDRIS N., TRIANTAFILLOU V., TSAKALIDIS A., SPIRAKIS P., ΜRP II-based Production Management Using Intelligent Decision Making, Beyond Manufacturing Resource Planning (MRP II), Advanced Models and Methods for Production Planning, Springer, ISBN 3-540-64247-1,1998, pp. 379-411. ΣΟΦΟΤΑΣΙΟΣ Δ., ΣΠΥΡΑΚΗΣ Π., ΤΡΙΑΝΤΑΦΥΛΛΟΥ Β., ΧΑΤΖΗΛΥΓΕΡΟΥΔΗΣ Ι., Προγραμματισμός και Έλεγχος Παραγωγής, Gutenberg, ISBN 960-01-0942-7, Μάιος 2002, 257 σελ. Δ. ΣΟΦΟΤΑΣΙΟΣ v

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ... 1 Κατάλογος Σχημάτων... 5 Κατάλογος Πινάκων... 7 Μέρος Α : Δενδρικές Δομές και Αλγόριθμοι Επίλυσης Γεωμετρικών Προβλημάτων... 8 Κεφάλαιο 1: Το Πρόβλημα του Εnclosure Ορθογώνιων Γεωμετρικών Αντικειμένων... 9 1.1 Yποδομική Πληροφορία...9 1.1.1 Πολυεπίπεδες Δομές Δεδομένων...9 1.1.1.1 Γενικά...9 1.1.1.2 Ορισμοί και συμβολισμοί...10 1.1.2 Βασικά Γεωμετρικά Δένδρα...11 1.1.2.1 Το Δένδρο Προτεραιοτήτων...11 1.1.2.2 Το Δένδρο Περιοχής...15 1.1.2.3 Τo Δένδρο Ευθυγράμμων Τμημάτων...19 1.2 Υπολογισμός του Εnclosure Ισο-προσανατολισμένων Ορθογωνίων...23 1.2.1 Ορισμός του προβλήματος για το επίπεδο...23 1.2.2 Προηγούμενα αποτελέσματα και η δική μας συνεισφορά...23 1.2.3 Υπολογισμός του enclosure στο επίπεδο...25 1.2.3.1 Η δομή δεδομένων: R 2 P δένδρο...25 1.2.3.2 Ο αλγόριθμος αναζήτησης...25 1.2.3.3 Ανάλυση πολυπλοκότητας...26 1.2.3.4 Βελτίωση του χρόνου απάντησης στη στατική περίπτωση...26 1.2.3.5 Δυναμοποίηση της δομής R 2 P...28 1.2.4 Επέκταση στις d διαστάσεις...29 1.2.5 Εξισορρόπηση απαιτήσεων χώρου και χρόνου...30 1.3 Υπολογισμός του Εnclosure Σημείων και Ευθυγράμμων Τμημάτων...31 1.3.1 Ορισμός του προβλήματος για το επίπεδο...31 1.3.2 Προηγούμενα αποτελέσματα και η δική μας συνεισφορά...32 1.3.3 Υπολογισμός του enclosure στο επίπεδο...33 1.3.3.1 Η δομή δεδομένων: SP δένδρο...33 1.3.3.2 Ο αλγόριθμος αναζήτησης...33 1.3.3.3 Ανάλυση πολυπλοκότητας...34 Δ. ΣΟΦΟΤΑΣΙΟΣ 1

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ 1.3.4 Εnclosure σημείων και ευθυγράμμων τμημάτων στις d διαστάσεις...34 1.4 Υπολογισμός του Εnclosure Ισο-προσανατολισμένων Ορθογώνιων Τριγώνων......35 1.4.1 Ορισμός του προβλήματος...35 1.4.2 Αναγωγή στην εκτέλεση ray shooting queries...36 1.4.3 Υπολογισμός του enclosure...37 1.4.3.1 Η δομή δεδομένων: Δένδρα SRSΤ και (SR) 2 SΤ...37 1.4.3.2 Ο αλγόριθμος αναζήτησης...39 1.4.3.3 Ανάλυση πολυπλοκότητας...40 1.4.4 Δυναμοποίηση της δομής...40 1.4.5 Υπολογισμός του enclosure με τεμνόμενες υποτείνουσες...41 1.5 Συμπεράσματα Μελλοντικές κατευθύνσεις...42 1.6 Βιβλιογραφία Κεφαλαίου...43 Κεφάλαιο 2: Το Πρόβλημα της Ανάκτησης Σημείων σε Πολύγωνα... 45 2.1 Υποδομική Πληροφορία...45 2.1.1 Ο μετασχηματισμός του γεωμετρικού δυϊσμού...45 2.1.2 Half plane searching...47 2.2 Ανάκτηση Σημείων σε Απλά Επίπεδα Πολύγωνα...49 2.2.1 Ορισμός του προβλήματος...49 2.2.2 Προηγούμενα αποτελέσματα και η δική μας συνεισφορά...50 2.2.3 Ο αλγόριθμος των Paterson και Yao...51 2.2.3.1 Bασική ιδέα...51 2.2.3.2 H δομή δεδομένων...52 2.2.3.3 Πολυπλοκότητες...53 2.2.4 Ο νέος αλγόριθμος...53 2.2.4.1 Από τα κυρτά πολύγωνα σε ορθογώνια τρίγωνα...53 2.2.4.2 Η δομή δεδομένων: R 3 Η δένδρο...54 2.2.4.3 Ο point retrieval αλγόριθμος...55 2.2.4.4 Ανάλυση πολυπλοκότητας...56 2.2.4.5 Ειδικές περιπτώσεις...57 2.3 Συμπεράσματα Ανοικτά Προβλήματα...59 2.4 Βιβλιογραφία Κεφαλαίου...60 Μέρος Β : Εφαρμογές Δενδρικών Δομών Δεδομένων σε Συστήματα Υποστήριξης Αποφάσεων... 61 Δ. ΣΟΦΟΤΑΣΙΟΣ 2

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ Κεφάλαιο 3: Ανίχνευση Συγκρούσεων στην Κίνηση Ρομποτικού Βραχίονα και Αποδοτικός Σχεδιασμός Απαιτήσεων Υλικών... 62 3.1 Mείωση Πολυπλοκότητας της Σκηνής ενός Βραχίονα για Γρηγορότερη Ανίχνευση Συγκρούσεων...62 3.1.1 Υποδομική πληροφορία...62 3.1.1.1 Ουρές προτεραιότητας...63 3.1.1.2 UNION FIND δομές ξένων συνόλων...66 3.1.2 Ορισμός του προβλήματος...69 3.1.2.1 Γενικό πλαίσιο...69 3.1.2.2 Ορισμοί και βασικές υποθέσεις...71 3.1.3 Επίλυση του προβλήματος...72 3.1.3.1 Η βασική ιδέα...72 3.1.3.2 Χρησιμοποιούμενες δομές δεδομένων...72 3.1.3.3 O αλγόριθμος clustering...72 3.1.3.4 Ανάλυση...76 3.1.4 Eπέκταση στο χώρο R 3...79 3.1.5 Συμπεράσματα Ανοικτά θέματα...79 3.2 Αποδοτικός Σχεδιασμός Απαιτήσεων Υλικών σε MRP II Συστήματα...81 3.2.1 Διαχείριση βιομηχανικής παραγωγής και συστήματα MRP II...81 3.2.2 Σχεδιασμός Απαιτήσεων Υλικών (MRP)...83 3.2.2.1 Η λογική του ΜRP...83 3.2.2.2 Η δομή υλικών (ΒΟΜ)...85 3.2.2.3 Προβλήματα απόδοσης στη λειτουργία του ΜRP...86 3.2.3 Η αρχιτεκτονική του ΜRP Επεξεργαστή...88 3.2.3.1 Βασική ιδέα...88 3.2.3.2 Αρχιτεκτονική του επεξεργαστή...89 3.2.3.3 Οι δομές δεδομένων...89 3.2.3.4 Ο αλγόριθμος σχεδιασμού απαιτήσεων σε υλικά...94 3.2.4 Ανάλυση απαιτήσεων χώρου...96 3.2.5 Συμπεράσματα - Ανοικτά θέματα...98 3.3 Βιβλιογραφία Κεφαλαίου...99 Κεφάλαιο 4: Σχεδιασμός ενός Ευφυούς Συστήματος Υποστήριξης Αποφάσεων για τον Έλεγχο της Βιομηχανικής Παραγωγής σε Περιβάλλον Ροής... 102 4.1 Έλεγχος Διεργασιών Παραγωγής (PAC) και το πρόβλημα της Δρομολόγησης......102 4.1.1 Λειτουργίες του PAC... 102 4.1.2 Δρομολόγηση βιομηχανικών εργασιών... 104 Δ. ΣΟΦΟΤΑΣΙΟΣ 3

ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ 4.1.2.1 Το πρόβλημα της δρομολόγησης...104 4.1.2.2 Οι κλασικές προσεγγίσεις στο πρόβλημα της δρομολόγησης...105 4.1.2.3 Μειονεκτήματα των κλασικών προσεγγίσεων...106 1.1.1 Ευφυή συστήματα δρομολόγησης... 106 4.1.2.4 Υποστηριζόμενοι τύποι δρομολόγησης...106 4.1.2.5 Μηχανισμοί δρομολόγησης...107 4.2 Προτεινόμενη Αρχιτεκτονική Ελέγχου της Παραγωγής...109 4.2.1 Περιγραφή του προβλήματος... 109 4.2.2 Γενική παρουσίαση της αρχιτεκτονικής... 110 4.2.2.1 Υποσυστήματα και ροές πληροφορίας...110 4.2.2.2 Κύκλοι αποφάσεων...112 4.2.3 Ο Προσομοιωτής δρομολογήσεων... 114 4.2.3.1 Δομικά στοιχεία του προσομοιωτή...114 4.2.3.2 Μέθοδος υλοποίησης και χρησιμοποιούμενες δομές δεδομένων...116 4.2.3.3 Μοντελοποίηση αβεβαιότητας...117 4.2.4 Ο Λήπτης Αποφάσεων... 118 4.2.4.1 Λειτουργική αρχιτεκτονική...118 4.2.4.2 Τεχνική προσέγγιση και εργαλείο ανάπτυξης...119 4.2.4.3 Αρχιτεκτονική επίλυσης προβλημάτων...120 4.2.4.4 Βάση μοντέλου shop floor...122 4.2.4.5 Οργάνωση της βάσης κανόνων και ροή εξαγωγής συμπερασμάτων...123 4.2.5 Ο Επόπτης και ο Διαχειριστής Βάσης Δεδομένων... 126 4.2.5.1 Το σύστημα Επόπτη...126 4.2.5.2 Ο Διαχειριστής Βάσης Δεδομένων...129 4.3 Συμπεράσματα - Ανοικτά θέματα...131 4.4 Βιβλιογραφία Κεφαλαίου...132 Ευρετήριο Όρων... 135 Δ. ΣΟΦΟΤΑΣΙΟΣ 4

ΚΑΤΑΛΟΓΟΣ ΣΧΗΜΑΤΩΝ Κατάλογος Σχημάτων Σχήμα 1: Το 3-sided range searching πρόβλημα...12 Σχήμα 2: Το δένδρο προτεραιότητας...13 Σχήμα 3: Απαντώντας 3-sided range search queries στο δένδρο προτεραιότητας...14 Σχήμα 4: Το πρόβλημα του windowing...15 Σχήμα 5: Το δένδρο περιοχής...16 Σχήμα 6: To πρώτο επίπεδο στο δένδρο περιοχής...17 Σχήμα 7: Επεξήγηση του fractional cascading για το δένδρο του παραδείγματος...18 Σχήμα 8: Το πρόβλημα της εύρεσης των ευθυγράμμων τμημάτων που τέμνουν το κάθετο τμήμα Q...19 Σχήμα 9: Το δένδρο ευθυγράμμων τμημάτων...21 Σχήμα 10: Παράδειγμα εφαρμογής του δένδρου ευθυγράμμων τμημάτων...21 Σχήμα 11: Το rectangle enclosure πρόβλημα στο επίπεδο...23 Σχήμα 12: Ο αλγόριθμος αναζήτησης στη δομή R 2 P...25 Σχήμα 13: Αναζήτηση στο Τ για την εύρεση των σημείων στο [x 1 : x 2 ] x (- : y 1 ]...27 Σχήμα 14: Το segment enclosure πρόβλημα στο επίπεδο...31 Σχήμα 15: Ο αλγόριθμος αναζήτησης στη δομή SP...33 Σχήμα 16: To πρόβλημα του enclosure ισο-προσανατολισμένων ορθογωνίων τριγώνων με μη τεμνόμενες υποτείνουσες...35 Σχήμα 17: Οι τέσσερις δυνατές θέσεις ενός ισο-προσανατολισμένου ορθογώνιου τριγώνου στο επίπεδο...36 Σχήμα 18: Οι τρεις βασικές περιπτώσεις enclosure...37 Σχήμα 19: Ο αλγόριθμος αναζήτησης στη δομή SRSΤ για τη βασική περίπτωση (a)...39 Σχήμα 20: Ο μετασχηματισμός του γεωμετρικού δυϊσμού Τ...46 Σχήμα 21: Οι δυικοί χώροι του T...46 Σχήμα 22: Αντιστοίχιση ευθύγραμμου τμήματος και διπλής σφήνας ευθειών στο δυϊκό χώρο του Τ...47 Σχήμα 23: Ευθείες που τέμνουν ένα τμήμα και διπλές σφήνες από σημεία στο δυϊκό χώρο...47 Σχήμα 24: Το σύνολο των κυρτών layers...48 Σχήμα 25: Ανάκτηση σημείων σε πολύγωνα...49 Σχήμα 26: Τομείς, διπλές σφήνες και quads...51 Σχήμα 27: Εύρεση των ευθειών που τέμνουν ένα ευθύγραμμο τμήμα στο επίπεδο γράφημα G...52 Σχήμα 28: Decomposition του quad σε Ο(1) ισο-προσανατολισμένα ορθογώνια τρίγωνα...53 Σχήμα 29: Point retrieval query σε ισο-προσανατολισμένo ορθογώνιo τρίγωνo...55 Σχήμα 30: Οποιαδήποτε από τις τέσσερις βοηθητικές γραμμές τέμνει την αντίστοιχη ημιευθεία εκτός του quad αλλά το decomposition είναι εφικτό...57 Σχήμα 31: Περιπτώσεις quads όπου το decomposition σε Ο(1) ισο-προσανατολισμένα ορθογώνια τρίγωνα είναι αδύνατο...57 Δ. ΣΟΦΟΤΑΣΙΟΣ 5

ΚΑΤΑΛΟΓΟΣ ΣΧΗΜΑΤΩΝ Σχήμα 32: Κλάσεις πολυγώνων για τα οποία η ανάκτηση των σημείων γίνεται αποδοτικά...58 Σχήμα 33: Εναλλακτικές υλοποιήσεις ενός δυαδικού heap...64 Σχήμα 34: Ορισμός των binomial trees...65 Σχήμα 35: Παράδειγμα ενός binomial heap με 13 στοιχεία...66 Σχήμα 36: Αναπαράσταση συνόλων με χρήση διασυνδεδεμένων λιστών...67 Σχήμα 37: Αναπαράσταση συνόλων με χρήση δένδρων...68 Σχήμα 38: Παράδειγμα βιομηχανικού ρομποτικού βραχίονα με περιστροφικούς συνδέσμους...69 Σχήμα 39: O αλγόριθμος clustering σε μορφή ψευδοκώδικα...74 Σχήμα 40: Στιγμιότυπα εκτέλεσης του αλγόριθμου...75 Σχήμα 41: Η αρχιτεκτονική ενός MRP II based συστήματος διαχείρισης της παραγωγής...82 Σχήμα 42: Η λογική λειτουργίας του MRP...84 Σχήμα 43: Παράδειγμα ΒΟΜ δένδρου για το προϊόν Α...85 Σχήμα 44: Αρχιτεκτονική του MRP επεξεργαστή...89 Σχήμα 45: Αναπαράσταση του BOM ως DOAG δομή...90 Σχήμα 46: Η δομή δεδομένων για το ΒΟΜ...91 Σχήμα 47: H δομή δεδομένων για τη δομή τρεχουσών απαιτήσεων...93 Σχήμα 48: Οργάνωση των πληροφοριών του ΒΟΜ δάσους σε blocks της δευτερεύουσας μνήμης...98 Σχήμα 49: (Απλοποιημένη) γραμμή παραγωγής γιαούρτης...109 Σχήμα 50: Αρχιτεκτονική του EΣΥΑ...111 Σχήμα 51: Off-line λειτουργία: (a) Αλληλεπιδράσεις υποσυστημάτων, (b) Κύκλος λήψης απόφασης...112 Σχήμα 52: On-line λειτουργία: (a) Αλληλεπιδράσεις υποσυστημάτων, (b) Κύκλος λήψης απόφασης...114 Σχήμα 53: Αρχιτεκτονική ΠΣΜ...114 Σχήμα 54: ACD για τις οντότητες παραγγελίες, εργασίες και μηχανές...116 Σχήμα 55: Αρχιτεκτονική ΛΑ...118 Σχήμα 56: Αρχιτεκτονική επίλυσης προβλημάτων του ΛΑ...120 Σχήμα 57: Ιεραρχία κλάσεων του μοντέλου shop floor...122 Σχήμα 58: Ροή εξαγωγής συμπερασμάτων...126 Σχήμα 59: Αρχιτεκτονική ΕΠΤ...127 Σχήμα 60: Αρχιτεκτονική ΔΒΔ...130 Δ. ΣΟΦΟΤΑΣΙΟΣ 6

ΚΑΤΑΛΟΓΟΣ ΠΙΝΑΚΩΝ Κατάλογος Πινάκων Πίνακας 1: Πολυπλοκότητες της λύσης μας σε σχέση με τα προηγούμενα αποτελέσματα...24 Πίνακας 2: Πολυπλοκότητες της λύσης μας σε σχέση με τα προηγούμενα αποτελέσματα...32 Πίνακας 3: Ανάκτηση δεδομένων από τη δομή υλικών...86 Δ. ΣΟΦΟΤΑΣΙΟΣ 7

ΜΕΡΟΣ Α Μέρος Α : Δενδρικές Δομές και Αλγόριθμοι Επίλυσης Γεωμετρικών Προβλημάτων Δ. ΣΟΦΟΤΑΣΙΟΣ 8

ΚΕΦΑΛΑΙΟ 1 Κεφάλαιο 1: Το Πρόβλημα του Εnclosure Ορθογώνιων Γεωμετρικών Αντικειμένων Σύνοψη Το πρώτο κεφάλαιο ασχολείται με το γεωμετρικό πρόβλημα της εύρεσης των ισο-προσανατολισμένων ορθογωνίων (οι πλευρές των ορθογωνίων είναι παράλληλες στους xy άξονες) που περικλείουν ένα προκαθορισμένο query αντικείμενο (enclosure problem). Διερευνώνται δύο στιγμιότυπα: 1) το query είναι ένα ισο-προσανατολισμένο ορθογώνιο και 2) το query είναι είτε σημείο ή κάθετο / οριζόντιο ευθύγραμμο τμήμα. Παρότι η διατύπωση αφορά την περίπτωση επίπεδων αντικειμένων, τα αποτελέσματα γενικεύονται στις d διαστάσεις. Για την επίλυση του πρώτου στιγμιότυπου (rectangle enclosure problem) προτείνεται μια 3 επιπέδων δενδρική δομή που συνδυάζει δύο γνωστά γεωμετρικά δένδρα, το δένδρο περιοχής (range tree) και το δένδρο προτεραιοτήτων (priority search tree) ενώ μελετάται η στατική αλλά και η δυναμική έκδοση. Η δομή στο χώρο R d γίνεται 2d-1 επιπέδων. Για το δεύτερο στιγμιότυπο χρησιμοποιείται επίσης μια πολυεπίπεδη δενδρική δομή που συνδυάζει το δένδρο ευθυγράμμων τμημάτων (segment tree) και το δένδρο προτεραιοτήτων. Ειδική περίπτωση των παραπάνω προβλημάτων στο επίπεδο είναι αυτό της εύρεσης των ισοπροσανατολισμένων ορθογώνιων τριγώνων με μη τεμνόμενες υποτείνουσες που περικλείουν ένα προκαθορισμένο ισο-προσανατολισμένο ορθογώνιο query τρίγωνο. Στο πρόβλημα αυτό συνδυάζεται σε μια 6 επιπέδων δομή το δένδρο ευθυγράμμων τμημάτων και το δένδρο περιοχής. To πρόβλημα είναι αρκετά ειδικό και η μελέτη του έγινε στο πλαίσιο μια συνολικής διερεύνησης enclosure προβλημάτων σε oρθογώνια αντικείμενα τα οποία αντιμετωπίζονται με τις ίδιες βασικές δομές δεδομένων και τεχνικές ενώ τα ορθογώνια τρίγωνα χρησιμοποιούνται και στο πρόβλημα του point retrieval σε πολύγωνα που εξετάζεται στο επόμενο κεφάλαιο. 1.1 Yποδομική Πληροφορία 1.1.1 Πολυεπίπεδες Δομές Δεδομένων 1.1.1.1 Γενικά Ο σχεδιασμός και ανάλυση αποδοτικών δομών δεδομένων αποτελεί βασική περιοχή της επιστήμης των υπολογιστών. Το πρόβλημα του λεξικού είναι ένα κλασικό παράδειγμα στο πεδίο των αλγορίθμων και σε μία διάσταση επιλύεται παραδοσιακά με τη χρήση δυαδικών ισοζυγισμένων δένδρων, πινάκων κατακερματισμού κλπ. Σε πολλές εφαρμογές ωστόσο ανάκτησης πληροφορίας, στην υπολογιστική γεωμετρία, στη ρομποτική ή στατιστική, ένα θεμελιώδες πρόβλημα είναι ο προσδιορισμός των σημείων που κείνται εντός κάποιων προκαθορισμένων ορίων περιοχής σε διάφορες διαστάσεις. Τέτοιου είδους προβλήματα είχαν ως αποτέλεσμα έντονη ερευνητική δραστηριότητα στην κατασκευή αποδοτικών πολυεπίπεδων δομών δεδομένων και ειδικότερα πολυδιάστατων δένδρων. Επιπρόσθετα, οι δομές αυτές από μόνες τους έχουν εφαρμογή σε μία μεγαλύτερη κλάση προβλημάτων. Τα πολυδιάστατα δένδρα (multidimensional trees) συνήθως δεν προκύπτουν ως φυσικές επεκτάσεις των κλασικών δυαδικών δένδρων που χρησιμοποιούνται στη μία διάσταση. Αντιθέτως, είναι πιο σύνθετα και problem oriented. Ας θεωρήσουμε για παράδειγμα το ισοζυγισμένο δυαδικό δένδρο. Το κόστος για την κατασκευή ενός τέτοιου δένδρου n στοιχείων είναι Ο(nlogn) 1 και ο απαιτούμενος χώρος Ο(n). Η συγκεκριμένη δομή δεδομένων μπορεί να απαντήσει 1 Όλοι οι λογάριθμοι που αναφέρονται στην εργασία έχουν βάση το 2 εκτός κι αν γράφεται διαφορετικά. Δ. ΣΟΦΟΤΑΣΙΟΣ 9

ΚΕΦΑΛΑΙΟ 1 queries ακριβούς ταιριάσματος και περιοχής σε χρόνο Ο(logn) και Ο(logn + A ) αντίστοιχα, όπου Α είναι το σύνολο των στοιχείων που ικανοποιούν το query. Δεν υπάρχουν πολυδιάστατα δένδρα με παρόμοιες πολυπλοκότητες. 1.1.1.2 Ορισμοί και συμβολισμοί Ένα στοιχείο δεδομένων καλείται πολυδιάστατο (multidimensional) αν χαρακτηρίζεται από ένα πλήθος χαρακτηριστικών (attributes). Ένα τέτοιο στοιχείο k χαρακτηριστικών μπορούμε να το φανταστούμε ως ένα σημείο στο χώρο των k διαστάσεων. Η επίλυση ενός πολυδιάστατου προβλήματος απαιτεί την οργάνωση των σημείων αυτών σε μια (συνήθως) δενδρική δομή δεδομένων που υποστηρίζει αποδοτική προσπέλαση. Παραδείγματα πολυδιάστατων δένδρων είναι τα δένδρα περιοχής, τα quad trees, τα k-d δένδρα, τα πολυδιάστατα B-δένδρα κλπ. Mέτρα πολυπλοκότητας Στα δύο πρώτα κεφάλαια της εργασίας προτείνονται πολυδιάστατες δενδρικές δομές που επιλύουν συγκεκριμένα γεωμετρικά προβλήματα. Για την μέτρηση της απόδοσης των δομών χρησιμοποιούνται τα παρακάτω τρία μεγέθη (πολυπλοκότητες): P(n): Kόστος προεπεξεργασίας (preprocessing cost) που είναι ο χρόνος που απαιτείται για το κτίσιμο μιας δομής n στοιχείων, S(n): Kόστος σε χώρο (storage cost) που αντιστοιχεί στις συνολικές απαιτήσεις χώρου για την αποθήκευση της δομής, Q(n): Kόστος απάντησης (query cost) που είναι ο χρόνος προσπέλασης των στοιχείων που ικανοποιούν το query (συνεισφέρουν δηλαδή στην απάντηση). Όλα τα παραπάνω μεγέθη αντιστοιχούν σε κόστη χειρότερης περίπτωσης (worst case bounds). Για παράδειγμα το Q(n) είναι το άθροισμα των χρόνων χειρότερης περίπτωσης όλων των επιμέρους subqueries που πρέπει να εκτελεστούν στη δομή δεδομένων για να πάρουμε την απάντηση. Η ανάλυση μέσης περίπτωσης (average case analysis) συνήθως δεν χρησιμοποιείται επειδή δεν είναι ακριβής δεδομένου ότι οι πιθανοτικές υποθέσεις που γίνονται μπορεί να είναι λανθασμένες. Μια στατική δομή δεδομένων χτίζεται μόνο μια φορά στην αρχή. Η δομή απαντά queries χωρίς να υποστηρίζει εισαγωγές και διαγραφές στοιχείων. Στην περίπτωση αυτή, αν τα στοιχεία της δομής περιλαμβάνουν k χαρακτηριστικά, τότε οι τιμές των χαρακτηριστικών αυτών αντιστοιχούν στις τιμές ενός σταθερού σύμπαντος U k, με U = n. Μια δυναμική δομή δεδομένων επιτρέπει στοιχεία να εισάγονται και να διαγράφονται δυναμικά. Στην περίπτωση αυτή λέμε ότι τα χαρακτηριστικά των στοιχείων αντλούν τις τιμές τους από ένα ελεύθερο σύμπαν. Στην περίπτωση αυτή χρησιμοποιείται ένα επιπλέον μέτρο πολυπλοκότητας: U(n): Kόστος ενημέρωσης (update cost) που είναι ο χρόνος εκτέλεσης μιας πράξης εισαγωγής ή διαγραφής ενός στοιχείου δεδομένων. To κόστος αυτό μπορεί γενικά να είναι διαφορετικό για κάθε πράξη. Το U(n) μπορεί να υπολογιστεί με ανάλυση χειρότερης περίπτωσης που σε θεωρητικό επίπεδο δίνει μια απαισιόδοξη εικόνα για την ασυμπτωτική συμπεριφορά της δομής δεδομένων επειδή ακριβώς αγνοεί τις αλληλεξαρτήσεις που μπορεί να υπάρχουν μεταξύ των ενημερώσεων. Ένα πιο ρεαλιστικό και ισχυρότερο μέτρο είναι η κατανεμημένη (amortized) πολυπλοκότητα η οποία ορίζεται ως ο μέσος χρόνος μιας πράξης ενημέρωσης για μια worst case ακολουθία πράξεων (ανάλυση μέσης περίπτωσης στο χρόνο). Ο σχεδιασμός δυναμικών δομών δεδομένων με πολυπλοκότητες παρόμοιες της στατικής περίπτωσης είναι ένα δύσκολο εγχείρημα. Αυτό οφείλεται στο γεγονός ότι οι πράξεις εισαγωγών και διαγραφών γενικά καταστρέφουν την ισορροπημένη διάταξη της δομής που μπορεί να χτιστεί στη στατική περίπτωση. Παρόλα αυτά, οι δυναμικές δομές είναι απαραίτητες σε ένα μεγάλο πλήθος προβλημάτων που προκύπτουν από πραγματικά σενάρια εφαρμογών. Δ. ΣΟΦΟΤΑΣΙΟΣ 10

ΚΕΦΑΛΑΙΟ 1 Μοντέλα υπολογισμού Τα μεγέθη που ορίζονται παραπάνω μετρούν την ασυμπτωτική απόδοση μιας δομής δεδομένων. Στην πράξη όμως η απόδοση εξαρτάται από τον τρόπο υλοποίησης της δομής σε μια μηχανή υπολογισμού. Για τη μελέτη της απόδοσης αυτής έχουν προταθεί διάφορα μοντέλα υπολογισμού με βασικότερα αυτά της RAM και της pointer machine. Η μηχανή RAM περιλαμβάνει ένα πεπερασμένο σύνολο καταχωρητών και μία μνήμη που αποτελείται από ένα πίνακα m λέξεων, καθεμία από την οποία έχει μια μοναδική διεύθυνση μεταξύ 1 και m. Οι καταχωρητές και οι λέξεις της μνήμης μπορούν να αποθηκεύσουν έναν ακέραιο ή πραγματικό αριθμό. Σε ένα βήμα η μηχανή μπορεί να εκτελέσει μια απλή αριθμητική ή λογική πράξη πάνω στα περιεχόμενα των καταχωρητών, να φορτώσει το περιεχόμενο μιας λέξης μνήμης σε κάποιον καταχωρητή ή να αποθηκεύσει το περιεχόμενο ενός καταχωρητή σε κάποια λέξη μνήμης. Η pointer μηχανή έχει παρόμοια δομή αλλά είναι ασθενέστερη από τη RAM. H μνήμη της αποτελείται από μια δυναμική συλλογή κόμβων, καθένας από τους οποίους διαιρείται σε ένα σταθερό αριθμό πεδίων. Ένα πεδίο μπορεί να αποθηκεύσει ένα αριθμό ή ένα δείκτη σε κάποιον κόμβο. Για να ανακαλέσει ή να αποθηκεύσει έναν αριθμό από το (στο) πεδίο ενός κόμβου πρέπει να έχει αποθηκεύσει σε κάποιον καταχωρητή το δείκτη στον κόμβο αυτό. Σε αντίθεση με τη μηχανή RAM, εδώ δεν είναι εφικτός ο υπολογισμός διευθύνσεων και οι αλγόριθμοι που χρησιμοποιούν τέτοιου είδους υπολογισμούς (πχ. πράξεις σε πίνακες) δεν μπορούν να υλοποιηθούν στο μοντέλο αυτό. Παρόλα αυτά, η μηχανή pointer καθιστά ευκολότερη την ανάλυση κάτω ορίων και παρέχει ένα πιο ρεαλιστικό μοντέλο για τους αλγόριθμους που δίνονται στο πλαίσιο της παρούσας εργασίας. Οι πολυπλοκότητες των προτεινόμενων δενδρικών δομών και αλγορίθμων ισχύουν για το μοντέλο αυτό αφού οι σχέσεις μεταξύ των κόμβων των δένδρων υλοποιούνται με δείκτες (πχ. διασυνδεδεμένες λίστες). Εξαίρεση αποτελούν οι χρόνοι απάντησης enclosure queries στη στατική περίπτωση που θα δούμε παρακάτω όπου χρησιμοποιούνται arrays για να έχουμε προσπέλαση σε Ο(1) χρόνο στα φύλλα των δένδρων η οποία στη συνέχεια καθοδηγεί την αναζήτηση. Και τα δύο μοντέλα υπολογισμού είναι ακολουθιακά, δηλ. εκτελούν ένα μόνο βήμα κάθε φορά και ντετερμινιστικά δηλ. η μελλοντική συμπεριφορά της μηχανής ορίζεται μοναδικά από την τρέχουσα κατάσταση (κάτι που δεν ισχύει για παράδειγμα στον παράλληλο υπολογισμό). 1.1.2 Βασικά Γεωμετρικά Δένδρα Οι γεωμετρικές δομές δεδομένων που προτείνονται στην εργασία συνδυάζουν με διαφορετικό τρόπο κάθε φορά παραλλαγές τριών βασικών γεωμετρικών δένδρων τα οποία παρουσιάζονται συνοπτικά στη συνέχεια. Για λόγους καλύτερης κατανόησης, η έμφαση δίνεται στη διαίσθηση που υπάρχει πίσω από κάθε δομή παρά σε τυπικούς (φορμαλιστικούς) ορισμούς και αποδείξεις. 1.1.2.1 Το Δένδρο Προτεραιοτήτων Το Δένδρο Προτεραιοτήτων (Priority Search tree) προτάθηκε από τον McCreight [ΜcC85] για την επίλυση του 3-sided range searching προβλήματος: Δοθέντων n σημείων στο επίπεδο κι ενός ισο-προσανατολισμένου 2 query ορθογωνίου Q που είναι απεριόριστο από τη μία πλευρά, να βρεθούν τα σημεία που ανήκουν στο query ορθογώνιο. Το πρόβλημα απεικονίζεται σχηματικά παρακάτω, όπου με μπλε χρώμα φαίνεται το query ορθογώνιο Q και κόκκινο τα σημεία της απάντησης (υποθέτουμε ότι το Q εκτείνεται απεριόριστα προς τα κάτω) : 2 Οι πλευρές του είναι παράλληλες στους xy άξονες. Δ. ΣΟΦΟΤΑΣΙΟΣ 11