(19 ο ) ΚΛΑΣΜΑΤΙΚΗ ΑΝΑΓΩΓΗ IΙΙ: «εντοπισμός σημείου σε τριγωνοποίηση»

Σχετικά έγγραφα
Αποδεικτικές Διαδικασίες και Μαθηματική Επαγωγή.

21/11/2005 Διακριτά Μαθηματικά. Γραφήματα ΒΑΣΙΚΗ ΟΡΟΛΟΓΙΑ : ΜΟΝΟΠΑΤΙΑ ΚΑΙ ΚΥΚΛΟΙ Δ Ι. Γεώργιος Βούρος Πανεπιστήμιο Αιγαίου

Οι γέφυρες του ποταμού... Pregel (Konigsberg)

HY 280. θεμελιακές έννοιες της επιστήμης του υπολογισμού ΑΣΚΗΣΕΙΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ. Γεώργιος Φρ.

«ΔΙΑΚΡΙΤΑ ΜΑΘΗΜΑΤΙΚΑ»

Ας υποθέσουμε ότι ο παίκτης Ι διαλέγει πρώτος την τυχαιοποιημένη στρατηγική (x 1, x 2 ), x 1, x2 0,

{ i f i == 0 and p > 0

( ) Π. ΚΡΗΤΗΣ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΗΥ 380, «ΑΛΓΟΡΙΘΜΟΙ & ΠΟΛΥΠΛΟΚΟΤΗΤΑ» Φ 03: ΑΣΥΜΠΤΩΤΙΚΕΣ ΕΚΦΡΑΣΕΙΣ

Δ Ι Α Κ Ρ Ι Τ Α Μ Α Θ Η Μ Α Τ Ι Κ Α. 1η σειρά ασκήσεων

Εισαγωγικά. 1.1 Η σ-αλγεβρα ως πληροφορία

(3 ο ) Εξαντλητική αναζήτηση I: μεταθέσεις & υποσύνολα (4 o ) Εξαντλητική αναζήτηση II: συνδυασμοί, διατάξεις & διαμερίσεις

(7 ο ) ΔΙΑΙΡΕΙ & ΒΑΣΙΛΕΥΕ Ι: «ταξινόμηση» (8 ο ) ΔΙΑΙΡΕΙ & ΒΑΣΙΛΕΥΕ ΙΙ: «κυρτό περίβλημα»

(20 ο ) ΣΤΑΔΙΑΚΕΣ ΚΑΤΑΣΚΕΥΕΣ Ι: ΑΠΛΗΣΤΟΙ ΑΛΓΟΡΙΘΜΟΙ

(13 ο ) ΔΥΝΑΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙII: «βέλτιστο στατικό ευρετήριο»

Εστω X σύνολο και A μια σ-άλγεβρα στο X. Ονομάζουμε το ζεύγος (X, A) μετρήσιμο χώρο.

Π. ΚΡΗΤΗΣ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΗΥ 380, «ΑΛΓΟΡΙΘΜΟΙ & ΠΟΛΥΠΛΟΚΟΤΗΤΑ» Φ 06: ΧΡΗΣΗ ΔΟΜΩΝ ΔΕΔΟΜΕΝΩΝ

Εφαρμογές στην κίνηση Brown

5.1 Μετρήσιμες συναρτήσεις

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗ

Αναγνώριση Προτύπων. Σημερινό Μάθημα

Η ανισότητα α β α±β α + β με α, β C και η χρήση της στην εύρεση ακροτάτων.

Το κράτος είναι φτιαγμένο για τον άνθρωπο και όχι ο άνθρωπος για το κράτος. A. Einstein Πηγή:

( ιμερείς) ΙΜΕΛΕΙΣ ΣΧΕΣΕΙΣ Α Β «απεικονίσεις»

Αναγνώριση Προτύπων. Σήμερα! Λόγος Πιθανοφάνειας Πιθανότητα Λάθους Κόστος Ρίσκο Bayes Ελάχιστη πιθανότητα λάθους για πολλές κλάσεις

Π. ΚΡΗΤΗΣ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΗΥ 380, «ΑΛΓΟΡΙΘΜΟΙ & ΠΟΛΥΠΛΟΚΟΤΗΤΑ» Φ 01: ΕΞΑΝΤΛΗΤΙΚΗ ΑΝΑΖΗΤΗΣΗ

Φροντιστήριο 2: Ανάλυση Αλγόριθμου. Νικόλας Νικολάου ΕΠΛ432: Κατανεμημένοι Αλγόριθμοι 1 / 10

Αναγνώριση Προτύπων. Σημερινό Μάθημα

ΣΧΟΛΙΚΟ ΕΤΟΣ ΕΥΘΥΓΡΑΜΜΗ ΟΜΑΛΗ ΚΙΝΗΣΗ ΤΡΙΩΡΗ ΓΡΑΠΤΗ ΕΞΕΤΑΣΗ ΣΤΗ ΦΥΣΙΚΗ A ΛΥΚΕΙΟΥ. Ονοματεπώνυμο Τμήμα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Εαρινό Εξάμηνο

( μ, λ ) ( i ) ( ii ) ( iii ) ( iv ) ( v )

1. Εστω ότι A, B, C είναι γενικοί 2 2 πίνακες, δηλαδή, a 21 a, και ανάλογα για τους B, C. Υπολογίστε τους πίνακες (A B) C και A (B C) και

Σχέσεις και ιδιότητές τους

ΣΤΟ ΙΑΤΡΕΙΟ. Με την πιστοποίηση του αποκτά πρόσβαση στο περιβάλλον του ιατρού που παρέχει η εφαρμογή.

ΠΑΝΕΠΙΣΤΗΜΙΑΚΑ ΦΡΟΝΤΙΣΤΗΡΙΑ ΚΟΛΛΙΝΤΖΑ ΜΑΘΗΜΑ: ΕΡΩΤΗΣΕΙΣ ΟΙΚΟΝΟΜΙΚΗΣ ΘΕΩΡΙΑΣ

ΜΙΚΡΟΟΙΚΟΝΟΜΙΚΗ Η ΚΑΤΑΝΑΛΩΤΙΚΗ ΑΠΟΦΑΣΗ. Άσκηση με θέμα τη μεγιστοποίηση της χρησιμότητας του καταναλωτή

Εξαναγκασμένες ταλαντώσεις, Ιδιοτιμές με πολλαπλότητα, Εκθετικά πινάκων. 9 Απριλίου 2013, Βόλος

ΠΑΝΕΠΙΣΤΗΜΙΑΚΑ ΦΡΟΝΤΙΣΤΗΡΙΑ ΚΟΛΛΙΝΤΖΑ ΜΑΘΗΜΑ: ΟΙΚΟΝΟΜΙΚΗ ΘΕΩΡΙΑ

ΤΑΞΙΝΟΜΗΣΗ ΟΡΓΑΝΙΣΜΩΝ

Ταξινόμηση των μοντέλων διασποράς ατμοσφαιρικών ρύπων βασισμένη σε μαθηματικά κριτήρια.

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Εαρινό Εξάμηνο

Αναγνώριση Προτύπων. Σημερινό Μάθημα

Επίλυση ειδικών μορφών ΣΔΕ

Αναλυτικές ιδιότητες

Περιγραφή Περιγράμματος

Παντού σε αυτό το κεφάλαιο, αν δεν αναφέρεται κάτι διαφορετικό, δουλεύουμε σε ένα χώρο πιθανότητας (Ω, F, P) και η G F είναι μια σ-άλγεβρα.

G περιέχει τουλάχιστον μία ακμή στο S. spanning tree στο γράφημα G.

Ψηφιακή Εικόνα. Σημερινό μάθημα!

602. Συναρτησιακή Ανάλυση. Υποδείξεις για τις Ασκήσεις

ΚΛΑΔΟΣ: ΠΕ11 ΦΥΣΙΚΗΣ ΑΓΩΓΗΣ

Ο τύπος του Itô. f (s) ds (12.1) f (g(s)) dg(s). (12.2) t f (B s ) db s + 1 2

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Εαρινό Εξάμηνο

ΜΑΘΗΜΑ: ΟΙΚΟΝΟΜΙΚΗ ΘΕΩΡΙΑ

Παραβολή ψ=αχ 2 +βχ+γ, α 0. Η παραβολή ψ = αχ 2. Γενικά : Κάθε συνάρτηση της μορφής ψ=αχ 2 + βχ +γ, α 0 λέγεται τετραγωνική συνάρτηση.

Αλγόριθμοι & Βελτιστοποίηση

ΣΥΝΟΛΑ (προσέξτε τα κοινά χαρακτηριστικά των παρακάτω προτάσεων) Οι άνθρωποι που σπουδάζουν ΤΠ&ΕΣ και βρίσκονται στην αίθουσα

Εξέταση Ηλεκτρομαγνητισμού Ι 2 Φεβρουαρίου 2018

Γενικό Λύκειο Μαραθοκάμπου Σάμου. Άλγεβρα Β λυκείου. 13 Οκτώβρη 2016

ΣΤΟ ΦΑΡΜΑΚΕΙΟ. Με την πιστοποίηση του έχει πρόσβαση στο περιβάλλον του φαρμακείου που παρέχει η εφαρμογή.

(5 ο ) Η «πλοκή» ενός αλγορίθμου: η βάση μιας αξιολόγησης Ι (6 ο ) Η «πλοκή» ενός αλγορίθμου: ο Ο Ω Θ συμβολισμός ΙΙ

Έννοια. Η αποδοχή της κληρονομίας αποτελεί δικαίωμα του κληρονόμου, άρα δεν

Μαθηματικά Πληροφορικής

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ. Πρώτη Γραπτή Εργασία. Εισαγωγή στους υπολογιστές Μαθηματικά

Μονάδες α. Να γράψετε στο τετράδιό σας τον παρακάτω πίνακα σωστά συµπληρωµένο.

Κεφάλαιο 1. Πίνακες και απαλοιφή Gauss

Εκφωνήσεις και Λύσεις των Θεμάτων

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ Β ΤΑΞΗ. ΘΕΜΑ 1ο

CSE.UOI : Μεταπτυχιακό Μάθημα

ΟΡΙΣΜΟΣ και ΚΑΤΑΜΕΤΡΗΣΗ ΘΕΜΕΛΙΑΚΩΝ ΣΥΝ ΥΑΣΤΙΚΩΝ ΜΟΡΦΩΝ

Προτεινόμενα θέματα στο μάθημα. Αρχές Οικονομικής Θεωρίας ΟΜΑΔΑ Α. Στις προτάσεις από Α.1. μέχρι και Α10 να γράψετε στο τετράδιό σας τον αριθμό της

17 Μαρτίου 2013, Βόλος

Ευρωπαϊκά παράγωγα Ευρωπαϊκά δικαιώματα

Αφιερώνεται στους Μαθητές μας Άγγελος Βουλδής Γιώργος Παναγόπουλος Λευτέρης Μεντζελόπουλος

23/2/07 Sleep out Πλατεία Κλαυθμώνος

τους στην Κρυπτογραφία και τα

ΜΑΘΗΜΑ: ΕΜΠΟΡΙΚΟ ΔΙΚΑΙΟ

Τρίτη, 05 Ιουνίου 2001 ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ Γ ΛΥΚΕΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

Ανελίξεις σε συνεχή χρόνο

ΑΣΕΠ 2000 ΑΣΕΠ 2000 Εμπορική Τράπεζα 1983 Υπουργείο Κοιν. Υπηρ. 1983

Π. ΚΡΗΤΗΣ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΗΥ 380, «ΑΛΓΟΡΙΘΜΟΙ & ΠΟΛΥΠΛΟΚΟΤΗΤΑ» Φ 07: ΔΥΝΑΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Μητροπολιτικά Οπτικά Δίκτυα Εισαγωγή

Ημέρα 3 η. (α) Aπό την εργασιακή διαδικασία στη διαδικασία παραγωγής (β) Αξία του προϊόντος και αξία της εργασιακής δύναμης

HY 280. θεμελιακές έννοιες της επιστήμης του υπολογισμού ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ. Γεώργιος Φρ. Γεωργακόπουλος.

Ο Ισχυρός Νόμος των Μεγάλων Αριθμών

(1 ο ) Γιατί «αλγόριθμοι» (υποχρεωτικά);

2 Η ΠΑΓΚΥΠΡΙΑ ΟΛΥΜΠΙΑ Α ΦΥΣΙΚΗΣ Γ ΓΥΜΝΑΣΙΟΥ

ΕΙΣΑΓΩΓΗ. H λογική ασχολείται με δύο έννοιες, την αλήθεια και την απόδειξη. Oι έννοιες αυτές έχουν γίνει

(14 ο,15 ο,16 ο ) ΟΡΘΟΤΗΤΑ ΕΝΟΣ ΑΛΓΟΡΙΘΜΟΥ: ΕΝΟΤΗΤΑ Ι ΙΙ ΙΙΙ

Περιεχόμενα. 3 Γεννήτριες συναρτήσεις Συνήθεις γεννήτριες συναρτήσεις Βασικές γεννήτριες συναρτήσεις

τεσσάρων βάσεων δεδομένων που θα αντιστοιχούν στους συνδρομητές

Ανεξαρτησία Ανεξαρτησία για οικογένειες συνόλων και τυχαίες μεταβλητές

Η εξίσωση Black-Scholes

Εργαστηριακή Άσκηση Θερμομόρφωση (Thermoforming)

Εκφωνήσεις και Λύσεις των Θεμάτων

Κεφάλαιο Η εκθετική κατανομή. Η πυκνότητα πιθανότητας της εκθετικής κατανομής δίδεται από την σχέση (1.1) f(x) = 0 αν x < 0.

ΘΕΩΡΙΑ ΣΥΝΟΛΩΝ: μια σύνοψη των θεμελιακών χαρακτηριστικών.

Γραμμική Ανεξαρτησία. Τμήμα Μηχανικών Η/Υ Τηλεπικοινωνιών και ικτύων Πανεπιστήμιο Θεσσαλίας. 17 Μαρτίου 2013, Βόλος

ΘΕΜΑ: Διαφορές εσωτερικού εξωτερικού δανεισμού. Η διαχρονική κατανομή του βάρους από το δημόσιο δανεισμό.

Μεταγλωττιστές ΙΙ. Καταμερισμός καταχωρητών. Νικόλαος Καββαδίας Μεταγλωττιστές ΙΙ

Ανεξαρτησία Ανεξαρτησία για οικογένειες συνόλων και τυχαίες μεταβλητές

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ Β ΤΑΞΗ ΚΕΙΜΕΝΟ. Πέµπτη 19 Νοεµβρίου Αγαπητή Κίττυ,

Transcript:

λγόριθμοι & πολυπλοκότητα» σημειώσεις ακ. έτους 2010 2011 (19 ο ) ΛΣΜΤΙ ΝΩ IΙΙ: «εντοπισμός σημείου σε τριγωνοποίηση» Το πρόβλημα του «εντοπισμού» σημείου σε διαμέριση. Σε αυτό το κεφάλαιο θα δούμε ένα τελευταίο παράδειγμα της τεχνικής της κλασματικής αναγωγής. Το είδος του προβλήματος επί του οποίου θα την εφαρμόσουμε είναι ιδιαίτερα σημαντικό πρόκειται για το πρόβλημα του «εντοπισμού» στοιχείων ενός συνόλου σε μια διαμέριση αυτού του συνόλου. Το πρόβλημα αυτό είναι θεμελιακά χρήσιμο στα υπολογιστικά γραφικά, στις δομές δεδομένων, στον κλάδο κωδικοποίησης και αποκωδικοποίησης πληροφορίας, κά. ΙΤΙ: ΤΙΤΙ: ΩΣΤ: «ΝΤΟΠΙΣΜΟΣ ΣΤΟΙΧΙΟΥ ΡΧΤΥΠΙ ΜΟΡΦ» (α) Μια διαμέριση Sj ενός χώρου U: η ένωση τους δίδει το U και τα Sj είναι ξένα ανά δύο. (β) Μια ακολουθία στοιχείων σ1, σ2,..., σμ,... Ο εντοπισμός θ(k), k = 1, 2,..., M,... των στοιχείων στην διαμέριση, το σk να ανήκει στο υπ. αρ. θ(k) σύνολο: σk Sθ(k) α λύσουμε στα γρήγορα την απλούστερη μορφή δυνατή μορφή αυτού του προβλήματος, όπου ο χώρος αναφοράς U είναι ένα διάστημα [α, β], και κάθε σύνολο Sj είναι ένα υποδιάστημα [αj, βj], j = 1,..., Ν, του U. κατάσταση που προκύπτει παρουσιάζεται στο επόμενο σχήμα, για Ν = 5. άν πάρουμε όλα τα άκρα σκ των διαστημάτων [αj, βj], j = 1,..., Ν, θα σχηματίσουμε 2Ν 1 διαστήματα που ορίζουν μια διαμέριση του χώρου αναφοράς U. ια να εφαρμόσουμε την ιδέα της κλασματικής αναγωγής θα επιδιώξουμε να αναγάγουμε τον εντοπισμό ενός σημείου σε αυτή την διαμέριση, στον εντοπισμό του σε μια (κλασματικά) μικρότερη διαμέριση. Προς τούτο αρκεί να συγκολλήσουμε τα διαστήματα ανά δύο, απαλείφοντας έτσι το κοινό τους άκρο. (λ. στο σχήμα το σκιασμένο τμήμα, όπου συγκολλούνται τα διαστήματα [σ1,σ2] και [σ2,σ3].) υτή η απαλειφή σημείων μας επιτρέπει να περάσουμε από μια διαμέριση με Ν σημεία, σε μικρότερη διαμέριση που έχει μόνον τα μισά σημεία Ν/2. παναλαμβάνοντας αυτή την απαλειφή θα καταλήξουμε σε μια διαμέριση που θα αποτελείται μόνον από (ολόκληρο) το διάστημα U και μάλιστα πολύ γρήγορα, σε Ο(logN) φάσεις. a 1 β 1 α 2 β 2 α 3 β 3 α 4 β 4 α 5 β 5 U σ 5 σ 9 σ 7 σ 8 σ 1 σ 2 σ 3 σ 4 σ 5 σ 6 σ 7 σ 8 σ 9 σ 10 Σε κάθε διάστημα μιας νέας μικρότερης διαμέρισης επισυνάπτουμε ένα δείκτη προς εκείνο το σημείο από την απαλειφή του οποίου προέκυψε αυτό το διάστημα. ατ αυτόν τον τρόπο εάν εντοπίσουμε ένα σημείο σε μια διαμέριση, μπορούμε να εύκολα να το εντοπίσουμε και στην διαμέριση προέλευσης επαναλαμβάνοντας αυτόν τον εντοπισμό καταλήγουμε γρήγορα στην αρχική διαμέριση. Στο παράδειγμα του σχήματος για να εντοπίσουμε σε ποιό διάστημα της διαμέρισης κείται το (κυανό) σημείο σ, αρκεί να το εντοπίσουμε στο αρχικό διάστημα U = [σ1, σ10], και μέσω του σημείου σ5 στο διάστημα [σ5, σ10] μέσω του σ9 στο [σ5, σ9] μέσω του σ7 στο [σ7, σ9] και τελικά μέσω του σ8 στο [σ8, σ9]. (άθε ομοιότητα με τα δένδρα δυαδικής διχοτομικής αναζήτησης είναι εντελώς μή συμπτωματική...) Πανεπιστήμιο ρήτης Τμήμα πιστήμης Υπολογιστών.Φ. εωργακόπουλος ver: 17/5/2012 1

λγόριθμοι & πολυπλοκότητα» σημειώσεις ακ. έτους 2010 2011 Στηριζόμενοι στην παραπάνω ιδέα, θα δούμε στη συνέχεια ένα κλασικό παράδειγμα εντοπισμού στοιχείων μέσω κλασματικής αναγωγής αυτή τη φορά όμως στις 2 διαστάσεις... Τριγωνοποιήσεις και εντοπισμος σημείων. α υποθέσουμε ότι έχουμε μια τριγωνοποίηση ενός ορθογωνίου στο επίπεδο. α έχουμε δηλαδή ένα σύνολο κορυφών εντός του, οι οποίες συνδέονται μεταξύ τους, και οι συνδέσεις αυτές σχηματίζουν τρίγωνα τα οποία δεν έχουν κοινά σημεία εκτός από τις πλευρές τους. τριγωνοποίηση «διαμερίζει» το ορθογώνιο, με την έννοια ότι η ένωση των τριγώνων που δίδονται παράγει ολόκληρο το ορθογώνιο. (Στο επόμενο σχήμα δίδεται ένα παράδειγμα τριγωνοποίησης μιας περιοχής κάπου ανάμεσα στο ιγαίο και Λιβυκό πέλαγος. Σε ποιό τρίγωνο κείται το κυανό σημείο; ) ΙΤΙ: ΤΙΤΙ: ΩΣΤ: «ΝΤΟΠΙΣΜΟΣ ΣΜΙΟΥ Σ ΠΙΠ ΤΡΙΩΝΟΠΟΙΣ» (α) Ένα ορθογώνιο, και άλλες Ν 4 κορυφές, συνδεδεμένες ώστε παράγουν μια τριγωνοποίηση {Τj} του. (β) Μια ακολουθία σημείων σ1, σ2,..., σμ,... Ο εντοπισμός θ(k), k = 1, 2,..., M,... των σημείων στην τριγωνοποίηση, το σk να ανήκει στο υπ. αρ. θ(k) τρίγωνο: σk Τθ(k) Πώς θα εφαρμόσουμε την ιδέα που χρησιμοποιήσαμε προηγουμένως, αφού τώρα δεν έχουμε απλώς διαστήματα σε μια μονοδιάστατη ευθεία, αλλά τρίγωνα πάνω στο δισδιάστατο επίπεδο; Τότε συγκολλούσαμε δύο διαστήματα με ένα κοινό άκρο. Τώρα που έχουμε τρίγωνα είναι προφανές ότι θα πρέπει να συγκολλούμε δύο τρίγωνα κατά μήκος μιας κοινής πλευράς, αλλά μία τέτοια συγκόλληση δεν φαίνεται να απλοποιεί τίποτε π.χ. το πλήθος των κορυφών της διαμέρισης μένει ακριβώς το ίδιο! Τ (k) Τ (k+1) 2 1 3 4 5 2 3 1 4 7 6 5 S Πανεπιστήμιο ρήτης Τμήμα πιστήμης Υπολογιστών.Φ. εωργακόπουλος ver: 17/5/2012 2

λγόριθμοι & πολυπλοκότητα» σημειώσεις ακ. έτους 2010 2011 ια να μειώσουμε το πλήθος των κορυφών θα πρέπει να συγκολλούμε όλα τα τρίγωνα που έχουν κοινή κορυφή, όπως τα 7 τρίγωνα γύρω από την κορυφή στο προηγούμενο σχήμα. ίναι προφανές ότι η απλή πολυγωνική περιοχή S που δημιουργείται από μια τέτοια συγκόλληση δεν είναι τρίγωνο, και επομένως η νέα διαμέριση που λαμβάνουμε δεν είναι του ιδίου τύπου. ια να μετατρέψουμε την περιοχή S εκ νέου σε τριγωνική διαμέριση θα πρέπει να την «κόψουμε» σε τρίγωνα. υτό είναι εν γένει εύκολο, αλλά εδώ θα πρέπει να προσέξουμε ότι αφού από την συγκόλληση των τριγώνων απαλείφουμε μία μόνον κορυφή, δεν έχουμε την ελευθερία χρήσης ούτε ενός πρόσθετου σημείο για να μας βοηθήσει στον τριγωνισμό της S... αυτός θα πρέπει δηλαδή να προέλθει αποκλειστικά από διαγωνίους. αι πράγματι τουλάχιστον στο σχήμα που δίδουμε αυτό είναι δυνατόν: εάν συγκολλήσουμε τα 7 τρίγωνα γύρω από την κορυφή, η περιοχή S που σχηματίζεται ανατέμνεται σε 5 τρίγωνα, μέσω διαγωνίων και μόνον (βλ. τις ερυθρές διαγωνίους στο προηγούμενο σχήμα). Τ (k+1) Τ (k) Σ Σ άν απαλείψουμε έτσι όσες κορυφές μπορούμε σε μια τριγωνοποίηση Τ (k) θα λάβουμε μια νέα μικρότερου μεγέθους τριγωνοποίηση Τ (k+1). άν, δεδομένου ενός σημείου Σ, το εντοπίσουμε σε ένα τρίγωνο της νέας και μικρότερης τριγωνοποίησης Τ (k+1) (βλ. σχήμα, αριστερά), τότε είναι εύκολο να το εντοπίσουμε και στην προηγούμενη Τ (k) : αρκεί να έχουμε σημειώσει για κάθε νέο τρίγωνο που σχηματίζουμε στην Τ (k+1), εκείνη την κορυφή της παλαιάς τριγωνοποίησης Τ (k) από την απαλειφή της οποίας έχει προέλθει εδώ την κορυφή (βλ. τα ερυθρά βέλη). πιστρέφοντας στην Τ (k) αρκεί να εξετάσουμε τα τρίγωνα πέριξ αυτής της κορυφής, για να διαπιστώσουμε σε ποιό τρίγωνό της περιέχεται το Σ. Έχοντας εντοπίσει το σημείο Σ στην τριγωνοποίηση Τ (k) μπορούμε παρόμοια να το εντοπίσουμε στην προηγούμενη αυτής Τ (k 1), κοκ, έως ότου φθάσουμε στην αρχική τριγωνοποίηση Τ (0). Πριν συνεχίσουμε όμως, πρέπει να λύσουμε ένα σημαντικό θέμα που αφήσαμε σε εκκρεμότητα. εδομένου ενός απλού πολυγώνου, είναι πάντοτε δυνατόν αυτό να διαμεριστεί σε τρίγωνα με την χρήση διαγωνίων και μόνον; Το «μάτι», η γεωμετρική εποπτεία λέει «ναί», αλλά θα πρέπει να βεβαιωθούμε... ξίζει εδώ να διακόψετε εδώ την ανάγνωση και να σκεφθείτε το ζήτημα μόνοι σας δοκιμάζοντας τις γεωμετρικές γνώσεις σας και την ικανότητά σας να «υποψιάζεστε» όλες τις δυνατές περιπτώσεις... άθε απλό πολύγωνο διαμερίζεται σε τρίγωνα μέσω διαγωνίων Έστω S ένα απλό πολύγωνο που μας δίδεται μέσω των κορυφών του, όπου «απλό» σημαίνει ότι οι πλευρές τους δεν τέμνονται, δηλαδή τα μόνα κοινά σημεία τους είναι οι κορυφές του, (εκάστη ως κοινό άκρο ακριβώς δύο διαδοχικών πλευρών). Το 1 ο μας ζητούμενο είναι: «είναι πάντοτε δυνατόν να διαμερίσουμε το S σε τρίγωνα χρησιμοποιώντας μόνον διαγωνίους;» ν πρόκειται να βρούμε πολλές Πανεπιστήμιο ρήτης Τμήμα πιστήμης Υπολογιστών.Φ. εωργακόπουλος ver: 17/5/2012 3

λγόριθμοι & πολυπλοκότητα» σημειώσεις ακ. έτους 2010 2011 διαγωνίους είναι φυσικό να αναρωτηθούμε το 2 ο ερώτημα: «είναι πάντοτε δυνατόν να βρούμε έστω μία διαγώνιο;». υτό μάλιστα θα ήταν αρκετό για να απαντήσουμε στο 1 ο ζητούμενο:: εάν κάθε απλό πολύγωνο (με 4 τουλάχιστον κορυφές τα τρίγωνα δεν έχουν διαγωνίους...) έχει πάντοτε μία τουλάχιστον διαγώνιο τότε, αρκεί να χρησιμοποιήσουμε αυτή την διαγώνιο για να κόψουμε το πολύγωνο σε δύο μικρότερα, και να προχωρήσουμε παρόμοια στα δύο μέρη με αναδρομικό τρόπο. απάντηση στο 2 ο ερώτημα είναι «ναί» αλλά για να φθάσουμε εκεί περνάμε από ένα 3 ο ερώτημα: αναζητούμε μια ολόκληρη διαγώνιο στο εσωτερικό του S, αλλά «είναι δυνατόν να βρούμε έστω ένα εσωτερικό σημείο του πολυγώνου;». Ναί αλλά αυτό μας οδηγεί στο τελευταίο ερώτημα: «αν είμαστε πάνω στο πολύγωνο (αυτό τουλάχιστον δίδεται!) προς τα πού είναι το εσωτερικό του;»... Έστω τρείς διαδοχικές κορυφές. ν λάβουμε έναν κύκλο με κέντρο το και αρκετά μικρή ακτίνα (πόσο;) η γωνία θα τον τμήσει σε δύο μέρη, ένα των οποίων θα κείται ολόκληρο στο εξωτερικό του πολυγώνου και το άλλο στο εσωτερικό του. Ποιό είναι το εσωτερικό; Το «κυρτό» ή το «μή κυρτό»; ν διαλέγαμε ως μια «ακραία» κορυφή λ.χ. την «υψηλότερη», δηλαδή την πιο απομακρυσμένη ως προς μια κατεύθυνση που θα θεωρήσουμε «κατακόρυφη» τότε όλα τα σημεία του πολυγώνου (και άρα όλα τα εσωτερικά) θα κείνται κάτω από την οριζόντια ευθεία ε που περνά από το. Μεταξύ αυτών και οι κορυφές και, δηλαδή η κυρτή γωνία θα κείται κάτω από την ευθεία ε. μη κυρτή γωνία περιέχει σημεία πάνω από την ε, και από αυτά όπως είδαμε κανένα δεν είναι εσωτερικό. πομένως το «κυρτό» τμήμα του κύκλου περί το είναι εκείνο που αποτελείται από εσωτερικά σημεία. ε, «οριζόντια»? δ Υ S Χ «κατακόρυφη» φόσον η γωνία είναι κυρτή το ευθύγραμμο τμήμα είναι μια καλή υποψήφια διαγώνιος. ύο περιπτώσεις είναι δυνατές: αμμία πλευρά δεν τέμνει το : τότε αυτό θα είναι είτε ολόκληρο στο εσωτερικό του πολυγώνου S, είτε ολόκληρο στο εξωτερικό. δώ, λόγω της κυρτότητας της θα είναι στο εσωτερικό, (γιατί;) και επομένως αποτελεί την διαγώνιο που αναζητούμε. (κτός εάν είναι πλευρά του πολυγώνου... αλλά τότε το πολύγωνό μας θα ήταν το με μόνον 3 κορυφές, και όχι τουλάχιστον 4.) Υπάρχει πλευρά ΧΥ που τέμνει το : τότε η πλευρά ΧΥ θα πρέπει να έχει ένα άκρο, λ.χ. το Υ, εντός του τριγώνου, διότι η ΧΥ δεν μπορεί να εξέλθει από αυτό η ΧΥ θα έπρεπε σε αυτή την περίπτωση να τμήσει ή την πλευρά ή την, αλλά σε ένα απλό πολύγωνο οι πλευρές δεν τέμνονται μεταξύ τους. άν λοιπόν υπάρχουν κορυφές του πολυγώνου εντός του τριγώνου, αρκεί να ενώσουμε την κορυφή με την «πλησιέστερη» από αυτές: λαμβάνουμε την ευθεία δ που περνά από το και είναι παράλληλη προς την, και την «σύρουμε» προς αυτά έως ότου συναντήσει για πρώτη φορά μια κορυφή Υ του πολυγώνου. Το τμήμα Υ δεν θα μπορεί να τέμνεται πια από καμμία πλευρά (γιατί;), και θα είναι στο εσωτερικό του S, (γιατί;). πομένως θα αποτελεί την διαγώνιο που αναζητούμε. Υπάρχουν φυσικά και άλλοι τρόποι για να προσεγγίσουμε αυτό το υπο πρόβλημα, διαλέξαμε όμως εδώ αυτόν που μόλις αναφέραμε διότι είναι «κατασκευαστικός» και μετατρέπεται εύκολα σε αλγόριθμο. ίνουμε παρακάτω τον σχετικό ψευδοκώδικα: Πανεπιστήμιο ρήτης Τμήμα πιστήμης Υπολογιστών.Φ. εωργακόπουλος ver: 17/5/2012 4

λγόριθμοι & πολυπλοκότητα» σημειώσεις ακ. έτους 2010 2011 λγόριθμος «εύρεση μιας διαγωνίου απλού πολυγώνου» Συνάρτηση ιαγώνιος(π: πίνακας κορυφών απλού πολυγώνου): ζεύγος κορυφών { μ μέγεθος(π) β κορυφή 1..μ με μέγιστη y-συντεταγμένη, α προηγούμενη κορυφή της β, γ επόμενη κορυφή της β λ 0 ια κ = 1 έως μ { άν η κορυφή Π[κ] κείται εντός τριγώνου των κορυφών Π[α]-Π[β]-Π[γ] τότε { λ λ+1, d[λ] απόσταση κορυφής Π[κ] από ευθεία Π[β]-Π[γ] } } Περίπτωση { λ=0: { ιαγώνιος (α,γ) } λ>0: { d[δ] max{d[1]..[d[λ]}, ιαγώνιος (β,δ) } } } ίναι δυνατόν να επιτύχουμε εκτενή απλοποίηση κάθε τριγωνοποίησης; Μπορούμε λοιπόν πάντοτε να απαλείψουμε οποιαδήποτε κορυφή μιας τριγωνοποίησης. υτό όμως δεν οδηγεί σε αξιοσημείωτη απλοποίηση απλά από Ν κορυφές μένουμε με Ν 1. ια να επιτύχει η τεχνική της κλασματικής αναγωγής, θα πρέπει να είμαστε σε θέση να απαλείψουμε πολλές κορυφές σε κάθε φάση. ιατί όμως να μην είναι απαλείψιμες όσες κορυφές θέλουμε; ιότι εμφανίζονται δύο εμπόδια: Το 1 ο είναι ότι η εξέταση όλων των τριγώνων πέριξ μιας κορυφής (για την εύρεση εκείνου που περιέχει το σημείο προς εντοπισμό), θα πρέπει να κοστίζει το λιγότερο δυνατόν, μόλις (1) χρόνο. πομένως δεν είναι όλες οι κορυφές χρήσιμες προς απαλειφή: θα πρέπει να απαλείφουμε μόνον κορυφές με μικρό βαθμό, δηλαδή με μόνον (1) γειτονικές κορυφές, (λ.χ. το πολύ 5, 10, 15, κττ). Το 2 ο είναι ότι εάν σε μια φάση απαλειφής απαλείψουμε δύο κορυφές, Λ, αυτές πρέπει να είναι «ανεξάρτητες», δηλαδή να μην συνδέονται μεταξύ τους ως γειτονικές. άν είναι γειτονικές τότε οι περιοχές που προκύπτουν από την ενοποίηση των τριγώνων τους θα επικαλύπτονται, και αυτό δημιουργεί προβλήματα: κατά τον επανεντοπισμό ενός σημείου Σ θα έπρεπε να ελέγξουμε στη χειρότερη περίπτωση τόσο τα τρίγωνα περίξ της όσο και τα τρίγωνα πέριξ της Λ, και αυτό θα μπορούσε να οδηγήσει σωρευτικά σε μεγάλη αύξηση του κόστους της αναζήτησης. Το τελικό ζήτημα είναι λοιπόν: μπορούμε σε κάθε τριγωνοποίηση με Ν κορυφές να βρούμε ένα κλάσμα των κορυφών αν, (0 < α < 1), ώστε να έχουν όλες (1) βαθμό και να είναι ανεξάρτητες μεταξύ τους; απάντηση είναι «ναί» αλλά χρειαζόμαστε εδώ μια σαφώς μη τετριμμένη γεωμετρική σχέση την σχέση του Euler. Σε μια διαμέριση του επιπέδου (με πολυγωνικές γραμμές λ.χ.), χρησιμοποιούμε κορυφές, τις συνδέουμε με ακμές, και σχηματίζουμε περιοχές ή έδρες. Πρώτος (εξ όσων γνωρίζουμε) ο Euler παρατήρησε 1 ότι αυτά τα τρία πλήθη σχετίζονται με πολύ αυστηρό τρόπο: σε κάθε επίπεδη διαμέριση, + = +2 (εάν μετρήσουμε ως έδρα και το άπειρο τμήμα του επιπέδου που περιβάλλει την διαμέριση). Στο επόμενο σχήμα βλέπουμε αριστερά ένα παράδειγμα με = 9, = 14, και = 6+1 = 7. Έδρα (' =, ' = 1, ' = 1) Φ β = 4 ορυφή κμή S = 7, = 2, = 7 ' = 1, ' = 4+ 1, ' = 4 S 1 φράση «παρατήρησε» ίσως δεν είναι η κατάλληλη: ο Euler τα 10 και πλέον τελευταία χρόνια της ζωής του ήταν τυφλός... Πανεπιστήμιο ρήτης Τμήμα πιστήμης Υπολογιστών.Φ. εωργακόπουλος ver: 17/5/2012 5

λγόριθμοι & πολυπλοκότητα» σημειώσεις ακ. έτους 2010 2011 Μπορείτε να επιβεβαιώσετε εύκολα αυτή την σχέση σε πολλά παραδείγματα, αλλά είναι ίσως πιο απλό να ακολουθήσετε το εξής σχήμα μιας απόδειξης. Έστω μια διαμέριση του επιπέδου, η «εξωτερική» έδρα της οποίας ορίζεται από την πολυγωνική γραμμή S. άν δεν υπάρχουν κορυφές της διαμέρισης εντός του S, ούτε διαγώνιες, τότε έχουμε μόνο το πολύγωνο S του οποίου οι κορυφές είναι όσες και οι ακμές, =, και ορίζονται δύο έδρες, = 2, (το εσωτερικό και το εξωτερικό του S). Σε αυτή την βασική περίπτωση ισχύει λοιπόν K+E = A+2. άν δεν υπάρχουν κορυφές αλλά υπάρχουν διαγώνιες, τότε αφαιρώντας μία από αυτές έχουμε μια νέα διαμέριση με = κορυφές, = 1 ακμές και = 1 έδρες. άν η σχέση K + E = A + 2 ισχύει (επαγωγικά) για την μικρότερη διαμέριση τότε θα ισχύει και για την αρχική διαμέριση, αφού αντικαθιστώντας τις τιμές των K, E και A, λαμβάνουμε K + (E 1) = (A 1) + 2, δηλαδή + = +2. άν υπάρχουν ν>0 κορυφές στο εσωτερικό του S, τότε μπορούμε να προχωρήσουμε επαγωγικά σε ν 1 εσωτερικές κορυφές, αφαιρώντας μία από αυτές, έστω την Φ με βαθμό β. αφαίρεση της Φ δημιουργεί μια νέα διαμέριση με = 1 κορυφές, = β ακμές και = β+1 έδρες (β έδρες απαλείφονται και 1 νέα δημιουργείται από την συγκόλλησή τους). άν η σχέση K + E = A + 2 ισχύει (επαγωγικά) για το μικρότερο ν 1, τότε θα ισχύει και για την αρχική διαμέριση, αφού αντικαθιστώντας τις τιμές των K, E και A, λαμβάνουμε (K 1) + (E β+1) = (A β) + 2, ή + = +2. ς έλθουμε λοιπόν στην τριγωνοποίησή μας με Ν κορυφές, ακμές, και έδρες ( 1 τριγωνικές, και 1 εξωτερική). α έχουμε λοιπόν Ν+ = +2. ια να διαπιστώσουμε πόσο πολλοί κόμβοι είναι N δυνατόν να έχουν μεγάλο βαθμό, θα εξετάσουμε το άθροισμα β κ = 1 κ όπου βκ είναι ο βαθμός της κορυφής κ. Προσέξτε ότι το άθροισμα αυτό ισούται με 2, διότι αθροίζοντας τις ακμές που προσπίπτουν σε κάθε κόμβο μετράμε κάθε ακμή ακριβώς 2 φορές. ια να χρησιμοποιήσουμε την σχέση του Euler, και να συσχετίσουμε το 2 με το Ν, πρέπει να απαλείψουμε το μέσα από άλλη μια μετρητική σχέση: κάθε ακμή ανήκει σε 2 έδρες και κάθε έδρα έχει 3 ακμές (και η εξωτερική 4). Μετρώντας λοιπόν τις ακμές για κάθε έδρα θα έχουμε 3( 1)+4 = 2, ή 3 = 2 1, δηλαδή = (2 1)/3. ντικαθιστώντας στη σχέση του Euler, θα έχουμε, Ν = 1 /3(2 1)+2, ή Ν > /3, ή 2 < 6Ν, δηλαδή: β κ = 1 κ = 2 < 6Ν Το παραπάνω άθροισμα αναλύεται σε δύο αθροίσματα κορυφών που έχουν βαθμό 12 και άνω. ια το 1 ο έχουμε προφανώς βκ 12 β κ 12β 12. υτά μας δίνουν το επιθυμητό αποτέλεσμα, 12β β+ β = β < 6Ν N βκ + βκ. Έστω β12 το πλήθος των βκ< 12 βκ 12 βκ < 12 12 N κ 1 κ, ή β12 < Ν/2, = β< 12 β 12 ότι δηλαδή τουλάχιστον οι μισές κορυφές, ( Ν/2 = Ν Ν/2), θα έχουν βαθμό το πολύ 11...! β κ 0, και για το 2 ο έχουμε πομένει βέβαια να δούμε πόσες ανεξάρτητες κορυφές θα έχουν τέτοιο μικρό βαθμό. λλά εδώ ακόμα και μια αδρή εκτίμηση μας δίδει το κλάσμα που ζητάμε. άθε κορυφή με βαθμό 11 που επιλέγεται προς απαλειφή εμποδίζει το πολύ 11 άλλες γειτονικές κορυφές να θεωρηθούν διαθέσιμες προς απαλειφή. πομένως από τις τουλάχιστον Ν/2 κορυφές που έχουν βαθμό 11, «κάθε 12 κορυφές» μία τουλάχιστον θα είναι διαθέσιμη προς απαλειφή. Σε κάθε τριγωνοποίηση λοιπόν θα έχουμε τουλάχιστον 1 /24 από αυτές διαθέσιμες προς απαλειφή και η κλασματική αναγωγή μας είναι πια εφικτή: είμαστε σε θέση να αναγάγουμε τον εντοπισμό σε μια τριγωνοποίηση με Ν κορυφές σε μία άλλη με το πολύ 23 /24Ν κορυφές, συγκολλώντας τα τρίγωνα γύρω από τουλάχιστον 1 /24Ν κορυφές βαθμού το πολύ 11. Σε (το πολύ) log24/23(n) < 17logΝ = (logν) επίπεδα τριγωνοποίησης θα έχουμε απαλείψει όλα τα σημεία. αι αφού ο εντοπισμός σε ένα επίπεδο οδηγεί στο εντοπισμό στο προηγούμενο με 11 βήματα, ο εντοπισμός ενός σημείου στην αρχική μας τριγωνοποίηση δεν θα κοστίζει παρά (logn) χρόνο ότι καλύτερο δηλαδή μπορούσαμε να περιμένουμε... Πανεπιστήμιο ρήτης Τμήμα πιστήμης Υπολογιστών.Φ. εωργακόπουλος ver: 17/5/2012 6

λγόριθμοι & πολυπλοκότητα» σημειώσεις ακ. έτους 2010 2011 ίνουμε στις επόμενες σελίδες δύο σχήματα για ένα παράδειγμα τριγωνοποίησης με 4+6 κορυφές. Στη 1 η φάση απαλείφουμε τα τρίγωνα πέριξ των σημείων και Ι, στη 2 η πέριξ των σημείων και, και στην 3 η και 4 η φάση πέριξ των σημείων και, αντιστοίχως. ια τον εντοπισμό ενός σημείου (αυτό με κυανό χρώμα) εντός του περιβάλλοντος πλαισίου, το εντοπίζουμε αρχικά πέριξ του «ριζικού σημείου», και συγκεκριμμένα στο τρίγωνο. υτό μας παραπέμπει στο προηγούμενο επίπεδο στο σημείο, και εντοπίζουμε το σημείο στο τρίγωνο. υτό παραπέμπει στο σημείο στο προηγούμενο επίπεδο, όπου εντοπίζουμε το σημείο στο τρίγωνο, το οποίο παραπέμπει πια στην αρχική τριγωνοποίηση, πέριξ του σημείου Ι. αταλήγουμε λοιπόν να εντοπίσουμε στο σημείο μας στο τρίγωνο Ι. Ο προγραμματισμός του αλγορίθμου που περιγράψαμε δεν είναι δύσκολος, (αν και η προσθήκη όλων των γεωμετρικών λεπτομερειών θα του έδινε μέγεθος αρκετών σελίδων). ίνουμε στη συνέχεια ένα αδρό περίγραμμα, με τόσες λεπτομέρειες ώστε ό,τι παραλείπεται να έχει περισσότερο «τεχνικό» χαρακτήρα, παρά «αλγοριθμικό». Τα στοιχεία που παίζουν ρόλο είναι τα εξής: Ν ορυφή[σ] πίπεδα Τρίγωνο[ε][σ][θ] Το πλήθος των κορυφών της τριγωνοποίησης ια σ = 1..Ν δίδει τις Ν κορυφές ως ζεύγη συντεταγμένων (x, y). Οι 4 πρώτες κορυφές πρέπει εδώ να αποτελούν ένα ορθογώνιο που περιβάλλει όλες τις άλλες κορυφές. τριγωνοποίηση που δίδεται είναι ουσιαστικά μια τριγωνοποίηση του. Το πλήθος των επιπέδων τριγωνοποίησης που κατασκευάζουμε. ρχικό επίπεδο είναι το 1. Συνολικά θα ισχύει πίπεδα = Ο(logN). ια κάθε επίπεδο ε = 0..πίπεδα της τριγωνοποίησης, για κάθε σημείο σ = 1..Ν, δίνει το υπ. αριθμό θ τρίγωνο πέριξ της κορυφής σ, για θ = 1..μέγεθος(Τρίγωνο[ε][σ]). άθε τρίγωνο παρίσταται ως μια 4άδα (i, j, k, σ): οι τρείς πρώτοι αριθμοί είναι οι α/α των κορυφών του, και ο 4 ος ο α/α της κορυφής από την απαλειφή της οποίας προήλθε.. H < ( 23 / 24 ) 4 ν < ( 23 / 24 ) 3 ν < ( 23 / 24 ) 2 ν Ι < ( 23 / 24 ) ν Ι Ι Ι Ι Ι Πανεπιστήμιο ρήτης Τμήμα πιστήμης Υπολογιστών.Φ. εωργακόπουλος ver: 17/5/2012 7

λγόριθμοι & πολυπλοκότητα» σημειώσεις ακ. έτους 2010 2011 Πανεπιστήμιο ρήτης Τμήμα πιστήμης Υπολογιστών.Φ. εωργακόπουλος ver: 17/5/2012 8 Ι Ι Ι

λγόριθμοι & πολυπλοκότητα» σημειώσεις ακ. έτους 2010 2011 λγόριθμος «πεξεργασία τριγωνοποίησης προς εντοπισμό σημείων» Συνάρτηση ιαγώνιος(π: πίνακας κορυφών απλού πολυγώνου): ζεύγος κορυφών {... // όπως έχει ήδη δοθεί στα προηγούμενα } Συνάρτηση ιαμέριση(π: πίνακας κορυφών απλού πολυγώνου): σύνολο τριγώνων { Περίπτωση μέγεθος(π) { =3: { ιαμέριση η 3άδα (Π[1],Π[2],Π[3],_) κορυφών του Π } >3: { (i,j) ιαγώνιος(π) // πάντοτε θα υπάρχει μία! Π A κορυφές από i έως και j // α-ωρολογιακά Π κορυφές από j έως και i // α-ωρολογιακά ιαμέριση ιαμέριση(π ) + ιαμέριση(π B ) } } } Συνάρτηση Προςπαλειφή(ε): κατάλογος κορυφών 1..Ν { ια σ = 4+1 έως Ν { Ο[σ] (0 < μέγεθος(τρίγωνα[ε][σ]) < 12) } Προςπαλειφή ια σ = 4+1 έως Ν άν Ο[σ] τότε { Προςπαλειφή [τρέχουσα τιμή] + {σ} ια (i,j,k,_) Τρίγωνα[ε][σ] { Ο[i],Ο[j],Ο[k] ΨΥΣ } } } ιαδικασία πλοποίηση(ε,σ) { Π κορυφές των τ Τρίγωνα[ε][σ] πλήν σ, ταξινομημένες α-ωρολογιακά πέριξ σ ια (i,j,k,_) Τρίγωνα[ε][k]) // διαγραφή των παλαιών τριγώνων { φαιρούμε (i,j,k,_) από Τρίγωνα[ε][i], Τρίγωνα[ε][j], Τρίγωνα[ε][k]) } ΝέαΤρίγωνα ιαμέριση(π) // εισαγωγή των νέων τριγώνων ια (i,j,k,_) ΝέαΤρίγωνα { ισάγουμε (i,j,k,σ) στα Τρίγωνα[ε][i], Τρίγωνα[ε][j], Τρίγωνα[ε][k] } } Συνάρτηση ντός(ρ: σημείο, i,j,k: α/α κορυφών) { ντός το σημείο Ρ είναι εντός του τριγώνου ορυφή[i]-ορυφή[j]-ορυφή[k] } ιαδικασία ατασκευήομής { // είσοδος δεδομένων αρχικής τριγωνοποίησης Ν..., ια σ = 1 έως Ν { ορυφή[σ]..., Τρίγωνα[0][σ]... } // κατασκευή των επιπέδων τριγωνοποίησης ε 0, μ Ν-4 φόσον μ>1 τότε { ε ε+1 ια σ = 1 έως Ν { Τρίγωνα[ε][σ] Τρίγωνα[ε-1][σ] } ια σ Προςιαγραφή(ε) { πλοποίηση(ε,σ), μ μ-1 } } πίπεδα ε, Ριζικό_σημείο το μόνο στον κατάλογο Προςιαγραφή(ε) } Συνάρτηση ΠεριέχονΤρίγωνο(Ρ: σημείο) { Περίπτωση Ρ εντός πλαισίου { όχι: { ΠεριέχονΤρίγωνο ΝΟ } ναί: { ε πίπεδα, σ Ριζικό_σημείο φόσον ε 0 { (i,j,k,σ) το τ Τρίγωνα[ε][σ] ώστε να ισχύει ντός(ρ,i,j,k), ΠεριέχονΤρίγωνο (i,j,k,σ), ε ε-1 } } } } Πανεπιστήμιο ρήτης Τμήμα πιστήμης Υπολογιστών.Φ. εωργακόπουλος ver: 17/5/2012 9