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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ανάλυση Αλγορίθµων. Σύντοµη επανάληψη (ΕΠΛ 035).

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

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

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

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

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

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

Διαίρει-και-Βασίλευε. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Διαίρει-και-Βασίλευε 2

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

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

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

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

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

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

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

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

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

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

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

Εξαντλητική Απαρίθµηση

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

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

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

Αλγόριθμοι και πολυπλοκότητα Ανάλυση αλγορίθμων

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

Τηλ , Fax: , URL:

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

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

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

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

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

Κατώτερα φράγματα Κατώτερο φράγμα: εκτίμηση της ελάχιστης εργασίας που απαιτείται για την επίλυση ενός προβλήματος. Παραδείγματα: Αριθμός συγκρίσεων π

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

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

ΣΥΝΔΥΑΣΤΙΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ

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

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

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

Γράφοι: κατευθυνόμενοι και μη

περιεχόμενα ρυθιμός αύξησης συναρτήσεων ασυμπτωτική πολυπλοκότητα ασυμπτωτική επίδοση ασυμπτωτικοί συμβολισμοί ασυμπτωτικός συμβολισμος

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ ΑΛΓΟΡΙΘΜΟΙ Δ Ι ΑΛΕΞΗ / 02/2016 ΔΙΔΑΣΚΩΝ ΚΩΣΤΑΣ ΚΟΛΟΜΒΑΤΣΟΣ

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

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

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

Chapter 7, 8 : Time, Space Complexity

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

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

Συνδυαστική Βελτιστοποίηση

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ

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

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

Πολυπλοκότητα Αλγορίθµων

ΠΛΗ111. Ανοιξη Μάθηµα 2 ο. Αλγόριθµοι και Αφηρηµένοι Τύποι εδοµένων. Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης

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

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

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

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

Transcript:

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

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

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

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

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

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

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

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

Ασυµπτωτικός Συµβολισµός 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)) = Αλγόριθµοι & Πολυπλοκότητα (2012) Ασυµπτωτικός Συµβολισµός 9

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

Κάποιες Ασκήσεις Ποιες από τις παρακάτω προτάσεις είναι αληθείς; 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)}) Αλγόριθµοι & Πολυπλοκότητα (2012) Ασυµπτωτικός Συµβολισµός 11

Κάποιες Ασκήσεις Να συµπληρωθεί ο πίνακας: Αλγόριθµοι & Πολυπλοκότητα (2012) Ασυµπτωτικός Συµβολισµός 12

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

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

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