Ασυμπτωτικός Συμβολισμός



Σχετικά έγγραφα
Ασυμπτωτικός Συμβολισμός

Υπολογιστική Πολυπλοκότητα

Ασυμπτωτικός Συμβολισμός

Ασυμπτωτικός Συμβολισμός

Υπολογιστική Πολυπλοκότητα

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

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

Υπολογιστική Πολυπλοκότητα

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

Αλγόριθμοι Προσέγγισης για NP-Δύσκολα Προβλήματα

Εισαγωγή στην Ανάλυση Αλγορίθμων (2-3)

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

Κεφάλαιο 5 Ανάλυση Αλγορίθμων

Δομές Δεδομένων (Data Structures)

Αλγόριθµοι Προσέγγισης για NP- ύσκολα Προβλήµατα

Αν ένα πρόβλημα λύνεται από δύο ή περισσότερους αλγόριθμους, ποιος θα είναι ο καλύτερος; Με ποια κριτήρια θα τους συγκρίνουμε;

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

Ορισµός. Εστω συναρτήσεις: f : N R και g : N R. η f(n) είναι fi( g(n) ) αν υπάρχουν σταθερές C 1, C 2 και n 0, τέτοιες ώστε:

Διακριτά Μαθηματικά [Rosen, κεφ. 3] Γιάννης Εμίρης Τμήμα Πληροφορικής & Τηλεπικοινωνιών, ΕΚΠΑ Οκτώβριος 2018

Κεφάλαιο 2. Βασικά στοιχεία ανάλυσης αλγορίθμων. Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Αρχές Ανάλυσης Αλγορίθµων Κεφάλαιο 2. Ε. Μαρκάκης Επικ. Καθηγητής

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

ρυθιμός αύξησης συναρτήσεων

οµές εδοµένων 3 ο Εξάµηνο Τµήµα Πανεπιστήµιο Πληροφορικής Ιωαννίνων ΟΜΕΣ Ε ΟΜΕΝΩΝ

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

Α Ν Α Λ Τ Η Α Λ Γ Ο Ρ Ι Θ Μ Ω Ν Κ Ε Υ Α Λ Α Ι Ο 5. Πως υπολογίζεται ο χρόνος εκτέλεσης ενός αλγορίθμου;

Αλγόριθμοι και Πολυπλοκότητα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

ΚΕΦΑΛΑΙΟ 12: Θεωρία υπολογισµών

για NP-Δύσκολα Προβλήματα

Κεφάλαιο 2. Βασικά στοιχεία ανάλυσης αλγορίθµων. Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

Δομές Δεδομένων Ενότητα 2

Διαίρει-και-Βασίλευε. Διαίρει-και-Βασίλευε. MergeSort. MergeSort. Πρόβλημα Ταξινόμησης: Είσοδος : ακολουθία n αριθμών (α 1

υναμικός Προγραμματισμός

Προσεγγιστικοί Αλγόριθμοι για NP- ύσκολα Προβλήματα

Δυναμικός Προγραμματισμός

Στοιχεία Αλγορίθµων και Πολυπλοκότητας

Ασκήσεις (2) Άσκηση 1

Αναδρομικές Σχέσεις «ιαίρει-και-βασίλευε»

Αλγόριθµοι και Πολυπλοκότητα

Ορθότητα Χωρική αποδοτικότητα. Βελτιστότητα. Θεωρητική ανάλυση Εμπειρική ανάλυση. Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1

υναμικός Προγραμματισμός

Διακριτά Μαθηματικά. Γιάννης Εμίρης. Τμήμα Πληροφορικής & Τηλεπικοινωνιών ΕΚΠΑ. Οκτώβριος

Αλγόριθµοι και Πολυπλοκότητα

Εισαγωγή στους Αλγόριθµους. Αλγόριθµοι. Ιστορικά Στοιχεία. Ο πρώτος Αλγόριθµος. Παραδείγµατα Αλγορίθµων. Τι είναι Αλγόριθµος

Κεφάλαιο 2 Ανάλυση Αλγορίθμων

Δυναμικός Προγραμματισμός

Αλγόριθμοι Εύρεσης Ομοιοτήτων Ακολουθιών

1o Φροντιστήριο ΗΥ240

Αλγόριθμοι και Πολυπλοκότητα

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 18: Χρονική και Χωρική Πολυπλοκότητα

υναμικός Προγραμματισμός

(Γραμμικές) Αναδρομικές Σχέσεις

Προσεγγιστικοί Αλγόριθμοι για NP- ύσκολα Προβλήματα

(Γραμμικές) Αναδρομικές Σχέσεις

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

Γραμμικός Προγραμματισμός

(Γραμμικές) Αναδρομικές Σχέσεις

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

Αλγόριθµοι και Πολυπλοκότητα

Ανάλυση αλγορίθμων. Χρόνος εκτέλεσης: Αναμενόμενη περίπτωση. - απαιτεί γνώση της κατανομής εισόδου

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

Κεφάλαιο 1. Πέντε Αντιπροσωπευτικά Προβλήματα. Έκδοση 1.4, 30/10/2014. Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

Επιμέλεια διαφανειών: Δ. Φωτάκης Τροποποιήσεις-προσθήκες: Α. Παγουρτζής. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Κεφάλαιο 8. NP και Υπολογιστική Δυσεπιλυσιμότητα. Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

Προσεγγιστικοί Αλγόριθμοι βασισμένοι σε Γραμμικό Προγραμματισμό

Εισαγωγή στους Αλγόριθμους

Αλγόριθµοι και Πολυπλοκότητα

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

ΑΛΓΟΡΙΘΜΟΙ. Ενότητα 2: Ανάλυση Αλγορίθμων. Ιωάννης Μανωλόπουλος, Καθηγητής Αναστάσιος Γούναρης, Επίκουρος Καθηγητής Τμήμα Πληροφορικής ΑΠΘ

1 Ανάλυση αλγορίθµων. 2 Συµβολισµοί O, Ω και Θ. 3 Αναδροµικές εξισώσεις

Μαθηµατικά για Πληροφορική

Δοµές Δεδοµένων. 5η Διάλεξη Λίστες και αρχές ανάλυσης αλγορίθµων. Ε. Μαρκάκης

Γραμμικός Προγραμματισμός

Πιθανοτικοί Αλγόριθμοι

Chapter 7, 8 : Time, Space Complexity

Κεφάλαιο 8. NP και Υπολογιστική Δυσεπιλυσιμότητα. Παύλος Εφραιμίδης V1.1,

Εισαγωγή στην Επιστήμη των Υπολογιστών

Εισαγωγή στην Επιστήμη των Υπολογιστών

Εισαγωγή στην Ανάλυση Αλγορίθμων

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

Μη Ντετερμινισμός και NP-Πληρότητα

Αλγόριθµοι και Πολυπλοκότητα

Μη Ντετερμινισμός και NP-Πληρότητα

ΗΥ240: οµές εδοµένων. ιδάσκουσα: Παναγιώτα Φατούρου ΗΥ240 - Παναγιώτα Φατούρου 2

Τηλ , Fax: , URL:

Ενότητα 5: Αλγόριθμοι γράφων και δικτύων

Δυναμικός Προγραμματισμός

Θεωρήµατα Ιεραρχίας Ειδικά Θέµατα Υπολογισµού και Πολυπλοκότητας, Μάθηµα Βασικής Επιλογής Εαρινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων

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

Ενότητα 1: Εισαγωγή Ασκήσεις και Λύσεις

Άπληστοι Αλγόριθμοι. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Άπληστοι Αλγόριθμοι. Επιμέλεια διαφανειών: Δ. Φωτάκης Τροποποιήσεις: Α. Παγουρτζής. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Άπληστοι Αλγόριθμοι. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

ΗΥ240: οµές εδοµένων

Κεφάλαιο 8. NP και Υπολογιστική Δυσεπιλυσιµότητα. Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

Μη Ντετερμινισμός και NP-Πληρότητα

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

Αλγοριθμικές Τεχνικές. Brute Force. Διαίρει και Βασίλευε. Παράδειγμα MergeSort. Παράδειγμα. Τεχνικές Σχεδιασμού Αλγορίθμων

ΑΛΓΟΡΙΘΜΟΙ Άνοιξη I. ΜΗΛΗΣ

Transcript:

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

Υπολογιστική Πολυπλοκότητα Υπολογιστική πολυπλοκότητα αλγόριθμου Α: Ποσότητα υπολογιστικών πόρων που απαιτεί Α ως αύξουσα συνάρτηση μεγέθους στιγμιότυπου εισόδου. Χρόνος, μνήμη, επεξεργαστές, επικοινωνία, τυχαιότητα. Χειρότερης, μέσης, καλύτερης περίπτωσης. Μέγεθος στιγμιότυπου εισόδου n : #bits για αναπαράσταση δεδομένων εισόδου στη μνήμη. Πλήθος βασικών συνιστωσών που αποτελούν μέτρο μεγέθους και δυσκολίας στιγμιότυπου (π.χ. κορυφές & ακμές γράφου). Υπολογιστική πολυπλοκότητα προβλήματος Π: Πολυπλοκότητα (χειρότερης περίπτωσης) καλύτερου αλγόριθμου που λύνει πρόβλημα Π. Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2015) Ασυμπτωτικός Συμβολισμός 2

Ανάλυση Αλγορίθμου Απόδειξη ορθότητας Μερικές φορές για ένα καλώς ορισμένο υποσύνολο των στιγμιοτύπων εισόδου. Εκτίμηση υπολογιστικής πολυπλοκότητας. Χειρότερης, μέσης, και καλύτερης περίπτωσης. Καταλληλότερη λύση ανάλογα με απαιτήσεις εφαρμογής. Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2015) Ασυμπτωτικός Συμβολισμός 3

Ασυμπτωτική Εκτίμηση Χρόνος εκτέλεσης αλγόριθμου Α: Αύξουσα συνάρτηση του Τ(n) που εκφράζει σε πόσο χρόνο ολοκληρώνεται ο Α όταν εφαρμόζεται σε στιγμ. μεγέθους n. Ενδιαφέρει η τάξη μεγέθους T(n) και όχι ακριβής εκτίμηση Τ(n). Ακριβής εκτίμηση είναι συχνά δύσκολη και εξαρτάται από υπολογιστικό περιβάλλον, υλοποίηση,... Τάξη μεγέθους είναι εγγενής ιδιότητα του αλγόριθμου. υαδική αναζήτηση έχει λογαριθμικό χρόνο. Γραμμική αναζήτηση έχει γραμμικό χρόνο. Ασυμπτωτική εκτίμηση αγνοεί σταθερές καιεστιάζεισε τάξη μεγέθους χρόνου εκτέλεσης. Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2015) Ασυμπτωτικός Συμβολισμός 4

Ασυμπτωτικός Συμβολισμός... εκφράζει τα αποτελέσματα ασυμπτωτικής εκτίμησης. Θ( ) δηλώνει την ακριβή εκτίμηση τάξης μεγέθους. Θ(g(n)) σύνολο συναρτήσεων ίδιας τάξης μεγέθους με g(n). Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2015) 5

Ασυμπτωτικός Συμβολισμός Ο O( ) δηλώνει άνω φράγμα στην τάξη μεγέθους. Ο(g(n)) σύνολο συναρτήσεων με τάξη μεγέθους που δεν υπερβαίνει τάξη μεγέθους g(n). Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2015) 6

Ασυμπτωτικός Συμβολισμός ο ο( ) δηλώνει άνω φράγμα στην τάξη μεγέθους που δεν είναι ακριβές. ο(g(n)) σύνολο συναρτήσεων με τάξη μεγέθους που υπολείπεται τάξης μεγέθους g(n). Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2015) 7

Ασυμπτωτικός Συμβολισμός Ω Ω( ) δηλώνει κάτω φράγμα στην τάξη μεγέθους. Ω(g(n)) σύνολο συναρτήσεων με τάξη μεγέθους που δεν υπολείπεται τάξης μεγέθους g(n). Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2015) 8

Ασυμπτωτικός Συμβολισμός ω ω( ) δηλώνει κάτω φράγμα στην τάξη μεγέθους που δεν είναι ακριβές. ω(g(n)) σύνολο συναρτήσεων με τάξη μεγέθους που υπερβαίνει τάξης μεγέθους g(n). Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2015) 9

Ασυμπτωτικός Συμβολισμός f(n) = Θ(g(n)) ~ ασυμπτωτικά f(n) = g(n) f(n) = O(g(n)) ~ ασυμπτωτικά f(n) g(n) f(n) = o(g(n)) ~ ασυμπτωτικά f(n) < g(n) f(n) = Ω(g(n)) ~ ασυμπτωτικά f(n) g(n) f(n) = ω(g(n)) ~ ασυμπτωτικά f(n) > g(n) Κάποιες απλές σχέσεις: O(g(n)) = o(g(n)) Θ(g(n)) Ω(g(n)) = ω(g(n)) Θ(g(n)) Θ(g(n)) = O(g(n)) Ω(g(n)) ο(g(n)) ω(g(n)) = g n g n g n g n g n Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2015)

Ασυμπτωτικός Συμβολισμός Πολυώνυμο βαθμού d: Κάποια αθροίσματα: Επίσης: Ιεράρχηση: Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2015) Ασυμπτωτικός Συμβολισμός 11

Κάποιες Ασκήσεις Ποιες από τις παρακάτω προτάσεις είναι αληθείς; 10 f(n) + 10 100 = O(f(n)) f(n) + g(n) = Θ(min{f(n), g(n)}) f(n) + g(n) = Ω(min{f(n), g(n)}) f(n) + g(n) = Ο(max{f(n), g(n)}) Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2015) Ασυμπτωτικός Συμβολισμός 12

Κάποιες Ασκήσεις Να συμπληρωθεί ο πίνακας: Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2015) Ασυμπτωτικός Συμβολισμός 13

Κάποιες Ασκήσεις Να βάλετε συναρτήσεις σε αύξουσα σειρά τάξης μεγέθους: Απάντηση: Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2015) Ασυμπτωτικός Συμβολισμός 14

Κάποιες Ασκήσεις Σχεδιάσετε διάγραμμα Venn για τις κλάσεις συναρτήσεων: Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2015) Ασυμπτωτικός Συμβολισμός 15

Πρακτικά Αποδοτικοί Αλγόριθμοι... έχουν πολυωνυμική (χρονική) πολυπλοκότητα. Π.χ. logn, n, nlogn, n 2, n 3,... Χρόνοι n d, όπου d μεγάλο, σπάνιοι και βελτιώνονται. Εκθετική πολυπλοκότητα απαγορευτική για μεγάλα στιγμιότυπα! Π.χ. Αύξηση μεγεθών που λύνουμε σε συγκεκριμένο χρόνο όταν 10πλασιάζεται η ταχύτητα υπολογιστή: Αλγόριθμοι & Πολυπλοκότητα

Αποδοτική Επίλυση: Κλάση P Αλγόριθμος πολυωνυμικού χρόνου λύνει κάθε στιγμιότυπο σε χρόνο O(n d ), d σταθερά. Κλάση P : προβλήματα απόφασης που επιλύονται από αλγόριθμους πολυωνυμικού χρόνου. Shortest paths, MST, max flow, min cut, min-cost flow, maximum matching, linear programming, Αξίωμα Cook-Karp : κλάση ευεπίλυτων προβλημάτων ταυτίζεται με κλάση P. Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2015) Ασυμπτωτικός Συμβολισμός 17

Αποδοτική Επίλυση: Κλάση P Κλάση P : προβλήματα που λύνονται σε πολυωνυμικό χρόνο. Shortest paths, MST, max flow, min cut, min-cost flow, maximum matching, linear programming, Θέση Cook-Karp : P ταυτίζεται με ευεπίλυτα προβλήματα. Υπέρ θέσης Cook-Karp: Συνήθως πολυώνυμα μικρού βαθμού (π.χ. n, n 2, n 3 ). ιπλασιασμός υπολογιστικής ισχύος: σημαντική αύξηση στο μέγεθος στιγμιότυπων που επιλύουμε. Κριτική στη θέση Cook-Karp: Ακραίες περιπτώσεις: θεωρείται πρακτικό το n 100 αλλά όχι το 2 n/100! Γραμμικός Προγραμματισμός: Simplex vs. Ellipsoid. Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2015) Ασυμπτωτικός Συμβολισμός 18