Υπολογιστική Γεωμετρία 1ο Μέρος(α): Κυρτότητα στο επίπεδο Γιάννης Εμίρης Τμήμα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών Εαρ.2016 Γιάννης Εμίρης (Τμήμα Πληροφορικής και Τηλεπικοινωνιών Υπολογιστική Γεωμετρία Πανεπιστήμιο Αθηνών) Εαρ.2016 1/ 32
Περιεχόμενα 1 Εισαγωγικά 2 Κυρτό Περίβλημα σε δύο διαστάσεις Ορισμός ΚΠ2 Κατηγόρημα προσανατολισμού- CCW Αλγόριθμος περιτύλιξης για το ΚΠ2 Αλγόριθμος Beneath-Beyond για το ΚΠ2 Γενική θέση vs εκφυλισμένα δεδομένα Περαιτέρω αλγόριθμοι Γιάννης Εμίρης (Τμήμα Πληροφορικής και Τηλεπικοινωνιών Υπολογιστική Γεωμετρία Πανεπιστήμιο Αθηνών) Εαρ.2016 2/ 32
Υπολογιστικό μοντέλο Πραγματική (real) RAM (Random Access Machine): Ακριβής αναπαράσταση, αποθήκευση πραγματικών σε χώρο O(1) Μοναδιαίος χρόνος για προσπέλαση μνήμης. Μοναδιαίος χρόνος, απόλυτη ακρίβεια για βασικές πράξεις στο R Μια ικανοποιητική υλοποίηση του μοντέλου είναι η βιβλιοθήκη CGAL. Γιάννης Εμίρης (Τμήμα Πληροφορικής και Τηλεπικοινωνιών Υπολογιστική Γεωμετρία Πανεπιστήμιο Αθηνών) Εαρ.2016 3/ 32
Outline 1 Εισαγωγικά 2 Κυρτό Περίβλημα σε δύο διαστάσεις Ορισμός ΚΠ2 Κατηγόρημα προσανατολισμού- CCW Αλγόριθμος περιτύλιξης για το ΚΠ2 Αλγόριθμος Beneath-Beyond για το ΚΠ2 Γενική θέση vs εκφυλισμένα δεδομένα Περαιτέρω αλγόριθμοι Γιάννης Εμίρης (Τμήμα Πληροφορικής και Τηλεπικοινωνιών Υπολογιστική Γεωμετρία Πανεπιστήμιο Αθηνών) Εαρ.2016 4/ 32
Κυρτό σύνολο Ορισμός(Κυρτότητα) Τοσύνολο Sείναικυρτό (convex)ανν a,b S τοευθύγραμμοτμήμα (a,b) S. Ασκηση Ισοδύναμα,το Sείναικυρτόανν σημείο p S«φαίνονται»όλατα σημείατου S,δηλ.συνδέονταιμετο pμεευθύγραμμοτμήμαεντόςτου S. Γιάννης Εμίρης (Τμήμα Πληροφορικής και Τηλεπικοινωνιών Υπολογιστική Γεωμετρία Πανεπιστήμιο Αθηνών) Εαρ.2016 5/ 32
Κυρτό Περίβλημα σε 2 διαστάσεις Ορισμός(ΚΠ2) nσημεία A 1,A 2,...,A n στο R 2. Το κυρτό περίβλημα(κπ) συνόλου σημείων είναι το μικρότερο(ως προς επιφάνεια, ως προς περίμετρο, ή ως σημειοσύνολο: άσκηση) κυρτόσύνολο(πολύγωνο),τοοποίοπεριλαμβάνειόλατα A i. Γιάννης Εμίρης (Τμήμα Πληροφορικής και Τηλεπικοινωνιών Υπολογιστική Γεωμετρία Πανεπιστήμιο Αθηνών) Εαρ.2016 6/ 32
Κυρτό Περίβλημα σε 2 διαστάσεις Μη κυρτό πολύγωνο και κατασκευή ΚΠ σημείων στο επίπεδο. Γιάννης Εμίρης (Τμήμα Πληροφορικής και Τηλεπικοινωνιών Υπολογιστική Γεωμετρία Πανεπιστήμιο Αθηνών) Εαρ.2016 7/ 32
Συνδυασμοί σημείων Παρατήρηση Συχνάθαταυτίζουμεένασημείο Aμετοδιάνυσμα (0,A),τοοποίοδεν είναι«ελεύθερο», δε μετακινείται στον χώρο. Ορισμός(Συνδυασμοίσημείων/διανυσμάτων A i ) Γραμμικόςσυνδυασμός λ 1 A 1 + +λ n A n, λ i R. Θετικός(κωνικός)συνδυασμός λ 1 A 1 + +λ n A n, λ i 0. Αφινικόςσυνδυασμός λ 1 A 1 + +λ n A n, i λ i = 1. Κυρτόςσυνδυασμός λ 1 A 1 + +λ n A n, i λ i = 1, λ i 0. Γιάννης Εμίρης (Τμήμα Πληροφορικής και Τηλεπικοινωνιών Υπολογιστική Γεωμετρία Πανεπιστήμιο Αθηνών) Εαρ.2016 8/ 32
Αφινικός συνδυασμός Παρατήρηση Εστωαφινικόςσυνδυασμόςτων A 1,...,A n τοσημείο P = λ 1 A 1 + +λ n A n, λ i = 1. Ισοδύναμα P = A n +λ 1 (A 1 A n )+ +λ n 1 (A n 1 A n ), γιαοποιαδήποτε λ 1,...,λ n 1 R.Ανθέσουμετο A n ωςαρχήτων αξόνων A n = 0τότετο Pείναιγραμμικόςσυνδυασμόςτων A 1,...,A n 1. i Γιάννης Εμίρης (Τμήμα Πληροφορικής και Τηλεπικοινωνιών Υπολογιστική Γεωμετρία Πανεπιστήμιο Αθηνών) Εαρ.2016 9/ 32
Συνδυασμοί σημείων: παράδειγμα Παράδειγμα(Συνδυασμοί) Εστωτα A 1,A 2 R 2 γραμμικώςανεξάρτητα: Γραμμικός: {λ 1 A 1 +λ 2 A 2 : λ i R} = R 2. Θετικός: {λ 1 A 1 +λ 2 A 2, λ i 0} =κώνοςτων A 1,A 2,κορυφή (0,0) Αφινικόςσυνδυασμός: {λ 1 A 1 +λ 2 A 2 : λ 1 +λ 2 = 1} =ευθείαπου περνάαπότα A 1,A 2. Κυρτόςσυνδυασμός: {λ 1 A 1 +λ 2 A 2 : λ 1 +λ 2 = 1, λ i 0} = ευθύγραμμοτμήμα (A 1,A 2 ). Γιάννης Εμίρης (Τμήμα Πληροφορικής και Τηλεπικοινωνιών Υπολογιστική Γεωμετρία Πανεπιστήμιο Αθηνών) Εαρ.2016 10/ 32
Ιδιότητες ΚΠ Πόρισμα Οικορυφές P 1,...,P k τουκπανήκουνστηνείσοδο A 1,...,A n. Τα σημεία του ΚΠ είναι κυρτοί συνδυασμοί των κορυφών: λ 1 P 1 + +λ k P k, i λ i = 1, λ i 0,άρακαιτων A i. Κάθεκυρτόςσυνδυασμόςτων P i,ήτων A i,ανήκειστοκπ. Πρόταση(Καραθεοδωρής) Κάθε σημείο του ΚΠ είναι κυρτός συνδυασμός κάποιων 3 κορυφών: λ 1 P 1 +λ 2 P 2 +λ 3 P 3, i λ i = 1, λ i 0. Γιάννης Εμίρης (Τμήμα Πληροφορικής και Τηλεπικοινωνιών Υπολογιστική Γεωμετρία Πανεπιστήμιο Αθηνών) Εαρ.2016 11/ 32
Outline 1 Εισαγωγικά 2 Κυρτό Περίβλημα σε δύο διαστάσεις Ορισμός ΚΠ2 Κατηγόρημα προσανατολισμού- CCW Αλγόριθμος περιτύλιξης για το ΚΠ2 Αλγόριθμος Beneath-Beyond για το ΚΠ2 Γενική θέση vs εκφυλισμένα δεδομένα Περαιτέρω αλγόριθμοι Γιάννης Εμίρης (Τμήμα Πληροφορικής και Τηλεπικοινωνιών Υπολογιστική Γεωμετρία Πανεπιστήμιο Αθηνών) Εαρ.2016 12/ 32
Κατηγόρημα προσανατολισμού- CCW Κατηγόρημα(predicate) καλείται ο έλεγχος μιας ιδιότητας πάνω σε ορισμένα γεωμετρικά δεδομένα. Η έξοδος του κατηγορήματος παίρνει(2 ή 3) διακριτές τιμές. Γιάννης Εμίρης (Τμήμα Πληροφορικής και Τηλεπικοινωνιών Υπολογιστική Γεωμετρία Πανεπιστήμιο Αθηνών) Εαρ.2016 13/ 32
Κατηγόρημα προσανατολισμού- CCW Κατηγόρημα(predicate) καλείται ο έλεγχος μιας ιδιότητας πάνω σε ορισμένα γεωμετρικά δεδομένα. Η έξοδος του κατηγορήματος παίρνει(2 ή 3) διακριτές τιμές. Το κατηγόρημα προσανατολισμού (orientation) έχει ως όρισμα 3 σημεία p 0,p 1,p 2 R 2. Γιάννης Εμίρης (Τμήμα Πληροφορικής και Τηλεπικοινωνιών Υπολογιστική Γεωμετρία Πανεπιστήμιο Αθηνών) Εαρ.2016 13/ 32
Κατηγόρημα προσανατολισμού- CCW Κατηγόρημα(predicate) καλείται ο έλεγχος μιας ιδιότητας πάνω σε ορισμένα γεωμετρικά δεδομένα. Η έξοδος του κατηγορήματος παίρνει(2 ή 3) διακριτές τιμές. Το κατηγόρημα προσανατολισμού (orientation) έχει ως όρισμα 3 σημεία p 0,p 1,p 2 R 2. Αποφασίζειανταδιανύσματα v 1 = (p 0,p 1 ), v 2 = (p 0,p 2 )ορίζουν θετική ή αρνητική στροφή(κανόνας Δεξιού Χεριού). Γιάννης Εμίρης (Τμήμα Πληροφορικής και Τηλεπικοινωνιών Υπολογιστική Γεωμετρία Πανεπιστήμιο Αθηνών) Εαρ.2016 13/ 32
Κατηγόρημα προσανατολισμού- CCW Διανύσματα v i = (p 0,p i ),ηστροφήτουςείναι Αρνητικήανν v 1 v 2 με3ησυντεταγμένη < 0(ClockWise, CW). Θετικήανν v 1 v 2 με3ησυντεταγμένη > 0(CounterClockWise). Μηορισμένηανν v 1 v 2 με3ησυντεταγμένη = 0(3συνευθειακά p i δηλ.παράλληλα v i ). p1 p2 p2 p1 p0 p0 Γιάννης Εμίρης (Τμήμα Πληροφορικής και Τηλεπικοινωνιών Υπολογιστική Γεωμετρία Πανεπιστήμιο Αθηνών) Εαρ.2016 14/ 32
Υπολογισμός CCW Λήμμα Το CCWτων p i = (x i,y i )ανάγεταισεπρόσημοορίζουσας: [ x1 x det 0 y 1 y 0 x 2 x 0 y 2 y 0 ] = det 1 x 0 y 0 1 x 1 y 1 1 x 2 y 2. Γιάννης Εμίρης (Τμήμα Πληροφορικής και Τηλεπικοινωνιών Υπολογιστική Γεωμετρία Πανεπιστήμιο Αθηνών) Εαρ.2016 15/ 32
Υπολογισμός CCW Λήμμα Το CCWτων p i = (x i,y i )ανάγεταισεπρόσημοορίζουσας: [ x1 x det 0 y 1 y 0 x 2 x 0 y 2 y 0 ] = det 1 x 0 y 0 1 x 1 y 1 1 x 2 y 2. Λήμμα Το CCW υπολογίζει σε ποιά πλευρά(ημιεπίπεδο) της ευθείας των p 0,p 1 ανήκειτο p 2.Ισοδύναμα,σεποιοημιεπίπεδοτων p 1,p 2 ανήκειτο p 0. Το CCWυπολογίζειτηνφοράτηςστροφήςπουορίζουντα p 0,p 1,p 2 σεαυτήτησειρά. Γιάννης Εμίρης (Τμήμα Πληροφορικής και Τηλεπικοινωνιών Υπολογιστική Γεωμετρία Πανεπιστήμιο Αθηνών) Εαρ.2016 15/ 32
Outline 1 Εισαγωγικά 2 Κυρτό Περίβλημα σε δύο διαστάσεις Ορισμός ΚΠ2 Κατηγόρημα προσανατολισμού- CCW Αλγόριθμος περιτύλιξης για το ΚΠ2 Αλγόριθμος Beneath-Beyond για το ΚΠ2 Γενική θέση vs εκφυλισμένα δεδομένα Περαιτέρω αλγόριθμοι Γιάννης Εμίρης (Τμήμα Πληροφορικής και Τηλεπικοινωνιών Υπολογιστική Γεωμετρία Πανεπιστήμιο Αθηνών) Εαρ.2016 16/ 32
Περιτύλιξη CCW Ιδέα Jarvis r 0 ηαριστερότερη, rητελευταία(πιοπρόσφατη)κορυφή: uτουποψήφιοσημείογιαναγίνειεπόμενηκορυφήτουκπ. Δοκιμάζουμεόλατασημεία t1,t,...:στηνεικόνα,το tανανεώνει/ βελτιώνειτο u,ενώτο t1έπαιξετονρόλοτου tπροηγουμένως r0 t1 u r u< t http://www.di.uoa.gr/ compgeom/pycgalvisual/whypython.shtml Γιάννης Εμίρης (Τμήμα Πληροφορικής και Τηλεπικοινωνιών Υπολογιστική Γεωμετρία Πανεπιστήμιο Αθηνών) Εαρ.2016 17/ 32
Αλγόριθμος περιτύλιξης για το ΚΠ2 Είσοδος:Σύνολο nσημείων S R 2. Εξοδος: CCW αλυσίδα κορυφών του ΚΠ. 1 Αρχικοποίησεκορυφή r = r 0 =αριστερότεροσημείο(minx). Αν περισσότερα, επέλεξε λεξικογραφικά μικρότερο(min y). Αρχικοποίησε αλυσίδα κορυφών με r. Γιάννης Εμίρης (Τμήμα Πληροφορικής και Τηλεπικοινωνιών Υπολογιστική Γεωμετρία Πανεπιστήμιο Αθηνών) Εαρ.2016 18/ 32
Αλγόριθμος περιτύλιξης για το ΚΠ2 Είσοδος:Σύνολο nσημείων S R 2. Εξοδος: CCW αλυσίδα κορυφών του ΚΠ. 1 Αρχικοποίησεκορυφή r = r 0 =αριστερότεροσημείο(minx). Αν περισσότερα, επέλεξε λεξικογραφικά μικρότερο(min y). Αρχικοποίησε αλυσίδα κορυφών με r. 2 r =τρέχουσακορυφή, u Sδενέχειεπιλεγείωςκορυφή. Γιακάθε t u, t S,θέσε u tαν: Γιάννης Εμίρης (Τμήμα Πληροφορικής και Τηλεπικοινωνιών Υπολογιστική Γεωμετρία Πανεπιστήμιο Αθηνών) Εαρ.2016 18/ 32
Αλγόριθμος περιτύλιξης για το ΚΠ2 Είσοδος:Σύνολο nσημείων S R 2. Εξοδος: CCW αλυσίδα κορυφών του ΚΠ. 1 Αρχικοποίησεκορυφή r = r 0 =αριστερότεροσημείο(minx). Αν περισσότερα, επέλεξε λεξικογραφικά μικρότερο(min y). Αρχικοποίησε αλυσίδα κορυφών με r. 2 r =τρέχουσακορυφή, u Sδενέχειεπιλεγείωςκορυφή. Γιακάθε t u, t S,θέσε u tαν: ισχύει CW(r,u,t)ή Γιάννης Εμίρης (Τμήμα Πληροφορικής και Τηλεπικοινωνιών Υπολογιστική Γεωμετρία Πανεπιστήμιο Αθηνών) Εαρ.2016 18/ 32
Αλγόριθμος περιτύλιξης για το ΚΠ2 Είσοδος:Σύνολο nσημείων S R 2. Εξοδος: CCW αλυσίδα κορυφών του ΚΠ. 1 Αρχικοποίησεκορυφή r = r 0 =αριστερότεροσημείο(minx). Αν περισσότερα, επέλεξε λεξικογραφικά μικρότερο(min y). Αρχικοποίησε αλυσίδα κορυφών με r. 2 r =τρέχουσακορυφή, u Sδενέχειεπιλεγείωςκορυφή. Γιακάθε t u, t S,θέσε u tαν: ισχύει CW(r,u,t)ή r,u,tσυνευθειακά, uεσωτερικότου (r,t), Γιάννης Εμίρης (Τμήμα Πληροφορικής και Τηλεπικοινωνιών Υπολογιστική Γεωμετρία Πανεπιστήμιο Αθηνών) Εαρ.2016 18/ 32
Αλγόριθμος περιτύλιξης για το ΚΠ2 Είσοδος:Σύνολο nσημείων S R 2. Εξοδος: CCW αλυσίδα κορυφών του ΚΠ. 1 Αρχικοποίησεκορυφή r = r 0 =αριστερότεροσημείο(minx). Αν περισσότερα, επέλεξε λεξικογραφικά μικρότερο(min y). Αρχικοποίησε αλυσίδα κορυφών με r. 2 r =τρέχουσακορυφή, u Sδενέχειεπιλεγείωςκορυφή. Γιακάθε t u, t S,θέσε u tαν: ισχύει CW(r,u,t)ή r,u,tσυνευθειακά, uεσωτερικότου (r,t), 3 Αν u = r 0 τερμάτισε,αλλιώς: r u,s S {r},πρόσθεσεστιςκορυφέςτο r,συνέχισεστο2. Γιάννης Εμίρης (Τμήμα Πληροφορικής και Τηλεπικοινωνιών Υπολογιστική Γεωμετρία Πανεπιστήμιο Αθηνών) Εαρ.2016 18/ 32
Ορθότητα Λήμμα Ανισχύει CCW(r,u,t 1 )και CW(r,u,t)τότεισχύει CCW(r,t,t 1 ). Απόδειξη. Ηγωνία (r 0 ru)μεγαλώνειμεκάθεανανέωσητου uκαιείναιπάντα μεγαλύτερηαπότην (r 0 rt),γιαοποιοδήποτε tέχειεξεταστεί. r0 t1 u r u< t Γιάννης Εμίρης (Τμήμα Πληροφορικής και Τηλεπικοινωνιών Υπολογιστική Γεωμετρία Πανεπιστήμιο Αθηνών) Εαρ.2016 19/ 32
Πολυπλοκότητα αλγορίθμου περιτύλιξης Αρχικοποίηση = O(n). H = # κορυφών/ακμών στην έξοδο. Βήμα 3 εκτελείται H φορές, καθεμιά με πολυπλοκότητα O(n). Κόστος κατηγορήματος CCW = O(1). Συνολικόςχρόνος = O(n)+O(Hn) = O(Hn) = O(n 2 ). Ερώτημα.ΑποδείξτεΚΠ2 = Ω(nlogn). Εξηγήστε το παράδοξο ο αλγόριθμος περιτύλιξης να είναι ταχύτερος για H = O(1). Γιάννης Εμίρης (Τμήμα Πληροφορικής και Τηλεπικοινωνιών Υπολογιστική Γεωμετρία Πανεπιστήμιο Αθηνών) Εαρ.2016 20/ 32
Outline 1 Εισαγωγικά 2 Κυρτό Περίβλημα σε δύο διαστάσεις Ορισμός ΚΠ2 Κατηγόρημα προσανατολισμού- CCW Αλγόριθμος περιτύλιξης για το ΚΠ2 Αλγόριθμος Beneath-Beyond για το ΚΠ2 Γενική θέση vs εκφυλισμένα δεδομένα Περαιτέρω αλγόριθμοι Γιάννης Εμίρης (Τμήμα Πληροφορικής και Τηλεπικοινωνιών Υπολογιστική Γεωμετρία Πανεπιστήμιο Αθηνών) Εαρ.2016 21/ 32
Αυξητικός αλγόριθμος για το ΚΠ2 p k Παράδειγμα: Ανανέωση ΚΠ(10 σημείων) με το επόμενο σημείο p, όπου η τελευταία/πρόσφατη κορυφή είναι η k. Ορισμός κόκκινων/γαλάζιων ακμών/κορυφών και βυσσινί κορυφών. Γιάννης Εμίρης (Τμήμα Πληροφορικής και Τηλεπικοινωνιών Υπολογιστική Γεωμετρία Πανεπιστήμιο Αθηνών) Εαρ.2016 22/ 32
Νέα κορυφή Αυξητικός αλγόριθμος Κάθε βήμα εξετάζει ένα σημείο(προσθέτει μια κορυφή). Γενικά ο αλγόριθμος αποφασίζει αν το νέο σημείο βρίσκεται εντός/ εκτός του τρέχοντος πολυγώνου. Προσέγγιση Διέταξε τα σημεία(κατά φθίνουσα τετμημένη), άρα: κάθε νέο σημείο εκτός πολυγώνου(συνεπώς κορυφή), υπάρχει κόκκινη ακμή προσπίπτουσα στο προηγούμενο σημείο/κορυφή Γιάννης Εμίρης (Τμήμα Πληροφορικής και Τηλεπικοινωνιών Υπολογιστική Γεωμετρία Πανεπιστήμιο Αθηνών) Εαρ.2016 23/ 32
Αλγόριθμος Beneath-Beyond για το ΚΠ2 Είσοδος: nσημείαστο R 2,σεγενικήθέση. Εξοδος: αλυσίδα ακμών και κορυφών ΚΠ. 1 Διέταξετασημείαλεξικογραφικάκατάφθίνουσα x: p 1,...,p n. Γιάννης Εμίρης (Τμήμα Πληροφορικής και Τηλεπικοινωνιών Υπολογιστική Γεωμετρία Πανεπιστήμιο Αθηνών) Εαρ.2016 24/ 32
Αλγόριθμος Beneath-Beyond για το ΚΠ2 Είσοδος: nσημείαστο R 2,σεγενικήθέση. Εξοδος: αλυσίδα ακμών και κορυφών ΚΠ. 1 Διέταξετασημείαλεξικογραφικάκατάφθίνουσα x: p 1,...,p n. 2 Αρχικοποίηση:τρέχονπολύγωνο τρίγωνο (p 1,p 2,p 3 ). Γιάννης Εμίρης (Τμήμα Πληροφορικής και Τηλεπικοινωνιών Υπολογιστική Γεωμετρία Πανεπιστήμιο Αθηνών) Εαρ.2016 24/ 32
Αλγόριθμος Beneath-Beyond για το ΚΠ2 Είσοδος: nσημείαστο R 2,σεγενικήθέση. Εξοδος: αλυσίδα ακμών και κορυφών ΚΠ. 1 Διέταξετασημείαλεξικογραφικάκατάφθίνουσα x: p 1,...,p n. 2 Αρχικοποίηση:τρέχονπολύγωνο τρίγωνο (p 1,p 2,p 3 ). 3 Γιατοσημείο p k, k = 4,...,n: Γιάννης Εμίρης (Τμήμα Πληροφορικής και Τηλεπικοινωνιών Υπολογιστική Γεωμετρία Πανεπιστήμιο Αθηνών) Εαρ.2016 24/ 32
Αλγόριθμος Beneath-Beyond για το ΚΠ2 Είσοδος: nσημείαστο R 2,σεγενικήθέση. Εξοδος: αλυσίδα ακμών και κορυφών ΚΠ. 1 Διέταξετασημείαλεξικογραφικάκατάφθίνουσα x: p 1,...,p n. 2 Αρχικοποίηση:τρέχονπολύγωνο τρίγωνο (p 1,p 2,p 3 ). 3 Γιατοσημείο p k, k = 4,...,n: Εξέτασετιςακμέςπουπροσπίπτουνστο p k 1 :υπάρχεικόκκινη. Γιάννης Εμίρης (Τμήμα Πληροφορικής και Τηλεπικοινωνιών Υπολογιστική Γεωμετρία Πανεπιστήμιο Αθηνών) Εαρ.2016 24/ 32
Αλγόριθμος Beneath-Beyond για το ΚΠ2 Είσοδος: nσημείαστο R 2,σεγενικήθέση. Εξοδος: αλυσίδα ακμών και κορυφών ΚΠ. 1 Διέταξετασημείαλεξικογραφικάκατάφθίνουσα x: p 1,...,p n. 2 Αρχικοποίηση:τρέχονπολύγωνο τρίγωνο (p 1,p 2,p 3 ). 3 Γιατοσημείο p k, k = 4,...,n: Εξέτασετιςακμέςπουπροσπίπτουνστο p k 1 :υπάρχεικόκκινη. Χρωματισμός: Ξεκινώντας από κόκκινη ακμή, βρες όλες τις κόκκινες ακμές και 2 γαλάζιες ακμές δηλ. 2 βυσσινί κορυφές Γιάννης Εμίρης (Τμήμα Πληροφορικής και Τηλεπικοινωνιών Υπολογιστική Γεωμετρία Πανεπιστήμιο Αθηνών) Εαρ.2016 24/ 32
Αλγόριθμος Beneath-Beyond για το ΚΠ2 Είσοδος: nσημείαστο R 2,σεγενικήθέση. Εξοδος: αλυσίδα ακμών και κορυφών ΚΠ. 1 Διέταξετασημείαλεξικογραφικάκατάφθίνουσα x: p 1,...,p n. 2 Αρχικοποίηση:τρέχονπολύγωνο τρίγωνο (p 1,p 2,p 3 ). 3 Γιατοσημείο p k, k = 4,...,n: Εξέτασετιςακμέςπουπροσπίπτουνστο p k 1 :υπάρχεικόκκινη. Χρωματισμός: Ξεκινώντας από κόκκινη ακμή, βρες όλες τις κόκκινες ακμές και 2 γαλάζιες ακμές δηλ. 2 βυσσινί κορυφές Αντικατέστησεκόκκινεςακμέςμε2νέες:κάθεμίαορίζεταιαπό p k και βυσσινί κορυφή. Γιάννης Εμίρης (Τμήμα Πληροφορικής και Τηλεπικοινωνιών Υπολογιστική Γεωμετρία Πανεπιστήμιο Αθηνών) Εαρ.2016 24/ 32
Αλγόριθμος Beneath-Beyond για το ΚΠ2 Είσοδος: nσημείαστο R 2,σεγενικήθέση. Εξοδος: αλυσίδα ακμών και κορυφών ΚΠ. 1 Διέταξετασημείαλεξικογραφικάκατάφθίνουσα x: p 1,...,p n. 2 Αρχικοποίηση:τρέχονπολύγωνο τρίγωνο (p 1,p 2,p 3 ). 3 Γιατοσημείο p k, k = 4,...,n: Εξέτασετιςακμέςπουπροσπίπτουνστο p k 1 :υπάρχεικόκκινη. Χρωματισμός: Ξεκινώντας από κόκκινη ακμή, βρες όλες τις κόκκινες ακμές και 2 γαλάζιες ακμές δηλ. 2 βυσσινί κορυφές Αντικατέστησεκόκκινεςακμέςμε2νέες:κάθεμίαορίζεταιαπό p k και βυσσινί κορυφή. 4 Επέστρεψε το τρέχον πολύγωνο. Γιάννης Εμίρης (Τμήμα Πληροφορικής και Τηλεπικοινωνιών Υπολογιστική Γεωμετρία Πανεπιστήμιο Αθηνών) Εαρ.2016 24/ 32
Πολυπλοκότητα αυξητικού αλγορίθμου Αρχικοποίηση = O(n log n). Γιάννης Εμίρης (Τμήμα Πληροφορικής και Τηλεπικοινωνιών Υπολογιστική Γεωμετρία Πανεπιστήμιο Αθηνών) Εαρ.2016 25/ 32
Πολυπλοκότητα αυξητικού αλγορίθμου Αρχικοποίηση = O(n log n). νέο σημείο: Γιάννης Εμίρης (Τμήμα Πληροφορικής και Τηλεπικοινωνιών Υπολογιστική Γεωμετρία Πανεπιστήμιο Αθηνών) Εαρ.2016 25/ 32
Πολυπλοκότητα αυξητικού αλγορίθμου Αρχικοποίηση = O(n log n). νέο σημείο: Εύρεσηκόκκινηςακμής = O(1) Συνολικά = O(n). Γιάννης Εμίρης (Τμήμα Πληροφορικής και Τηλεπικοινωνιών Υπολογιστική Γεωμετρία Πανεπιστήμιο Αθηνών) Εαρ.2016 25/ 32
Πολυπλοκότητα αυξητικού αλγορίθμου Αρχικοποίηση = O(n log n). νέο σημείο: Εύρεσηκόκκινηςακμής = O(1) Συνολικά = O(n). Χρωματισμός όλων των κόκκινων ακμών #νέων ακμών 2n. Γιάννης Εμίρης (Τμήμα Πληροφορικής και Τηλεπικοινωνιών Υπολογιστική Γεωμετρία Πανεπιστήμιο Αθηνών) Εαρ.2016 25/ 32
Πολυπλοκότητα αυξητικού αλγορίθμου Αρχικοποίηση = O(n log n). νέο σημείο: Εύρεσηκόκκινηςακμής = O(1) Συνολικά = O(n). Χρωματισμός όλων των κόκκινων ακμών #νέων ακμών 2n. Κατασκευήδύονέωνακμών = O(1) Συνολικά = O(n). Γιάννης Εμίρης (Τμήμα Πληροφορικής και Τηλεπικοινωνιών Υπολογιστική Γεωμετρία Πανεπιστήμιο Αθηνών) Εαρ.2016 25/ 32
Πολυπλοκότητα αυξητικού αλγορίθμου Αρχικοποίηση = O(n log n). νέο σημείο: Εύρεσηκόκκινηςακμής = O(1) Συνολικά = O(n). Χρωματισμός όλων των κόκκινων ακμών #νέων ακμών 2n. Κατασκευήδύονέωνακμών = O(1) Συνολικά = O(n). Συνολικόςχρόνος = O(nlogn)+O(n) = O(nlogn). Γιάννης Εμίρης (Τμήμα Πληροφορικής και Τηλεπικοινωνιών Υπολογιστική Γεωμετρία Πανεπιστήμιο Αθηνών) Εαρ.2016 25/ 32
Outline 1 Εισαγωγικά 2 Κυρτό Περίβλημα σε δύο διαστάσεις Ορισμός ΚΠ2 Κατηγόρημα προσανατολισμού- CCW Αλγόριθμος περιτύλιξης για το ΚΠ2 Αλγόριθμος Beneath-Beyond για το ΚΠ2 Γενική θέση vs εκφυλισμένα δεδομένα Περαιτέρω αλγόριθμοι Γιάννης Εμίρης (Τμήμα Πληροφορικής και Τηλεπικοινωνιών Υπολογιστική Γεωμετρία Πανεπιστήμιο Αθηνών) Εαρ.2016 26/ 32
Υπόθεση γενικής θέσης Υπόθεση γενικής θέσης Η υπόθεση διευκολύνει τον σχεδιασμό του αλγορίθμου, αλλά δυσκολεύει την υλοποίησή του. Γιαυτό χρησιμοποιούνται μέθοδοι διαταραχής που προσωμοιάζουν την γενική θέση[υπολογ.γεωμ:ενότ.6.3]. Ορισμός γενικής θέσης Οορισμόςεξαρτάταιαπότοπρόβλημα,αλλάκάποτεκαιαπότον αλγόριθμο(και τα κατηγορήματα): π.χ. ένας αλγόριθμος σάρωσης του R 2 ίσωςυποθέτειπωςδενυπάρχουν2σημείαστηνίδιακατακόρυφο Γιάννης Εμίρης (Τμήμα Πληροφορικής και Τηλεπικοινωνιών Υπολογιστική Γεωμετρία Πανεπιστήμιο Αθηνών) Εαρ.2016 27/ 32
ΓενικήθέσηγιατοΚΠd Ορισμός Σημειοσύνολο {A 1,...,A n } R d βρίσκεταισεγενικήθέση (generic position, non-degenerate),ωςπροςτοπρόβλημακπd,ανντα A i σε κάθευποσύνολο d +1σημείων,π.χ. {A 1,...,A d+1 },είναιαφινικώς ανεξάρτητα, δηλ. είναι γραμμικώς ανεξάρτητα τα Λήμμα A 1 A d+1,...,a d A d+1. Τα A 1,...,A n βρίσκονταισεγενικήθέσηωςπροςκπdαννκάθε κατηγόρημα CCWστο R d δίνειμη-μηδενικόπρόσημο.τότε,κάθε k +1 σημείαθαείναιαφινικώςανεξάρτηταστο R k,για 1 k d. Γιάννης Εμίρης (Τμήμα Πληροφορικής και Τηλεπικοινωνιών Υπολογιστική Γεωμετρία Πανεπιστήμιο Αθηνών) Εαρ.2016 28/ 32
ΓενικήθέσηγιατοΚΠ2 Παράδειγμα 4σημείαστο R 3 :αφινικώςανεξάρτητααννδενείναισυνεπίπεδα. 3σημείαστο R 2 :αφινικώςανεξάρτητααννδενείναισυνευθειακά. 2 σημεία στην ευθεία: αφινικώς ανεξάρτητα ανν δεν ταυτίζονται. Παράδειγμα Η διατύπωση που δώσαμε για τον αλγόριθμο Beneath Beyond στο ΚΠ2 ισχύει για όλα τα δεδομένα σε γενική θέση(και επεκτείνεται ομοίως σε dδιαστάσεις). Γιάννης Εμίρης (Τμήμα Πληροφορικής και Τηλεπικοινωνιών Υπολογιστική Γεωμετρία Πανεπιστήμιο Αθηνών) Εαρ.2016 29/ 32
Outline 1 Εισαγωγικά 2 Κυρτό Περίβλημα σε δύο διαστάσεις Ορισμός ΚΠ2 Κατηγόρημα προσανατολισμού- CCW Αλγόριθμος περιτύλιξης για το ΚΠ2 Αλγόριθμος Beneath-Beyond για το ΚΠ2 Γενική θέση vs εκφυλισμένα δεδομένα Περαιτέρω αλγόριθμοι Γιάννης Εμίρης (Τμήμα Πληροφορικής και Τηλεπικοινωνιών Υπολογιστική Γεωμετρία Πανεπιστήμιο Αθηνών) Εαρ.2016 30/ 32
Αλγόριθμοι και πολυπλοκότητα [Jarvis march], κόστος O(nH). Μέθοδος Περιτυλίγματος (gift wrapping) [Chand,Kapur 70] Ο Chan [1996] πετυχαίνει O(n log H). Ο αυξητικός αλγόριθμος (beneath beyond) σε O(n log n). Επεκτείνεται με δυναμικές διαγραφές και προσθήκες σημείων. Διαίρει και βασίλευε (Divide and conquer) σε O(n log n). «Βασίλευε και διαίρει» [Kirkpatrick-Seidel 86] σε O(n log H). Ο πρώτος αλγόριθμος Graham scan [1972] σε O(n log n), βασίζεται σε γωνιακή ταξινόμηση των σημείων. [Andrew 79] O(n log n) QuickHull = O(n log n), αν τα σημεία είναι κατανεμημένα ομοιόμορφα, αλλιώς O(nH) [Eddy 77,Bykat 78]. Γιάννης Εμίρης (Τμήμα Πληροφορικής και Τηλεπικοινωνιών Υπολογιστική Γεωμετρία Πανεπιστήμιο Αθηνών) Εαρ.2016 31/ 32
Κάτω φράγμα Ασκηση ΚΠ2 = Ω(nlogH). Γιάννης Εμίρης (Τμήμα Πληροφορικής και Τηλεπικοινωνιών Υπολογιστική Γεωμετρία Πανεπιστήμιο Αθηνών) Εαρ.2016 32/ 32