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

Σχετικά έγγραφα
Θεωρία Υπολογισμού και Πολυπλοκότητα

Chapter 7, 8 : Time, Space Complexity

Θεωρία Υπολογισμού και Πολυπλοκότητα

Chapter 7, 8 : Time, Space Complexity

Θεωρία Υπολογισμού και Πολυπλοκότητα Χρονική Πολυπλοκότητα

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

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

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 13: Παραλλαγές Μηχανών Turing και Περιγραφή Αλγορίθμων

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

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

CSC 314: Switching Theory

Θεωρία Υπολογισμού και Πολυπλοκότητα Αναγωγές

Φροντιστήριο 11 Λύσεις

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

Λύσεις 4ης Σειράς Ασκήσεων

Σειρά Προβλημάτων 5 Λύσεις

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

Σειρά Προβλημάτων 5 Λύσεις

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

Φροντιστήριο 10 Λύσεις

t M (w) T ( w ) O( n) = O(n 2 )

Κλάσεις Πολυπλοκότητας

Σειρά Προβλημάτων 4 Λύσεις

Φροντιστήριο 9 Λύσεις

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

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 12: Μηχανές Turing

Σειρά Προβλημάτων 5 Λύσεις

Κλάση NP, NP-Complete Προβλήματα

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

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

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

Υπολογιστική Πολυπλοκότητα Εξέταση Ιουνίου 2017 Σελ. 1 από 5

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

ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΠΟΛΥΠΛΟΚΟΤΗΤΑ Φεβρουάριος 2005 Σύνολο μονάδων: 91

Σειρά Προβλημάτων 4 Λύσεις

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

Σειρά Προβλημάτων 5 Λύσεις

Φροντιστήριο 8 Λύσεις

Σειρά Προβλημάτων 4 Λύσεις

ΣΧΕΣΕΙΣ ΜΕΤΑΞΥ ΚΛΑΣΕΩΝ ΠΟΛΥΠΛΟΚΟΤΗΤΑΣ

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

Φροντιστήριο 8 Λύσεις

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

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

11.1 Συναρτήσεις. ΚΕΦΑΛΑΙΟ 11: Θεωρία υπολογισµών

Σειρά Προβλημάτων 4 Λύσεις

Chapter 7, 8 : Completeness

Αποφασισιµότητα / Αναγνωρισιµότητα. Μη Επιλύσιµα Προβλήµατα. Η έννοια της αναγωγής. Τερµατίζει µια δεδοµένη TM για δεδοµένη είσοδο;

Σειρά Προβλημάτων 4 Λύσεις

NP-πληρότητα. Λεωνίδας Παληός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων

Σειρά Προβλημάτων 4 Λύσεις

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

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

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

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

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Διαγνωσιμότητα

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

Θεωρία Υπολογισµού Theory of Computation

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

Προσεγγιστικοί Αλγόριθμοι

Σειρά Προβλημάτων 5 Λύσεις

Σε αυτό το µάθηµα. Εισαγωγή στις Μηχανές Turing. Μηχανή Turing (Turing Machine - TM) Μηχανές Turing. Παραδείγµατα Μηχανών Turing

ΠΕΡΙΕΧΟΜΕΝΑ. Πρόλογος στη δεύτερη έκδοση

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

Σειρά Προβλημάτων 5 Λύσεις

Επίπεδα Γραφήματα : Προβλήματα και Υπολογιστική Πολυπλοκότητα

Σειρά Προβλημάτων 4 Λύσεις

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

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

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

Ασκήσεις Επανάληψης. Επανάληψη Εαρινό Εξάμηνο 2019 Σελίδα 1

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

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

Η NTM αποδέχεται αν µονοπάτι στο δέντρο που οδηγεί σε αποδοχή.

Εισαγωγή στην Επιστήμη των Υπολογιστών 4ο εξάμηνο ΣHMΜY

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

Σειρά Προβλημάτων 4 Λύσεις

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

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

num(m(w 1 ;... ; w k )) = f(num(w 1 ),..., num(w k ))

Σειρά Προβλημάτων 5 Λύσεις

Θεωρία Υπολογισμού και Πολυπλοκότητα To Δόγμα Church-Turing

Το πρόβλημα μονοδρόμησης (The One-Way Street Problem)

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

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

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

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

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

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

Προσεγγιστικοί Αλγόριθμοι

Διάλεξη 17: Συμφωνία με Βυζαντινά Σφάλματα. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

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

ΑΛΓΟΡΙΘΜΟΙ. Ενότητα 11: Περιορισμοί της Αλγοριθμικής Ισχύος

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

ΑΛΕΞΑΝΔΡΕΙΟ Τ.Ε.Ι. ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Πτυχιακή εργασία ΑΣΤΡΟΠΕΚΑΚΗ ΔΕΣΠΟΙΝΑ

L A P. w L A f(w) L B (10.1) u := f(w)

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

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

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

Transcript:

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

Τι θα κάνουμε σήμερα Εισαγωγικά Χρονική Πολυπλοκότητα (7) Κλάση P (7.2) Κλάση ΝΡ (7.3) ΝΡ-πληρότητα (7.4) Χωρική Πολυπλοκότητα (8) Κλάση PSPACE 1 ρ. Νικόλας Νικολ λάου

Υπολογίσιμα Προβλήματα Είδαμε ότι 1. Οτιδήποτε μπορούμε να περιγράψουμε με ένα αλγόριθμο μπορεί να υπολογιστεί με μια μηχανή Turing 2. υπάρχουν προβλήματα που δεν μπορούν να επιλυθούν (π.χ. πρόβλημα τερματισμού 3. υπάρχουν προβλήματα που μπορούν να επιλυθούν Επιλύσιμα προβλήματα Πόσους υπολογιστικούς πόρους απαιτούν; Χρόνο: Πόσα βήματα απαιτούνται από μια ΤΜ για την επίλυση του προβλήματος. Χώρο: Πόσα κελιά πάνω στην ταινία μιας ΤΜ απαιτούνται για την επίλυση του προβλήματος. 2 ρ. Νικόλας Νικολ λάου

Χρονική πολυπλοκότητα Έστω Μ μια ΤΜ που τερματίζει σε κάθε είσοδο. O χρόνος εκτέλεσης ή χρονική πολυπλοκότητα της Μ με είσοδο x, TIME M (x): Συνάρτηση f: N -> N όπου f(n) είναι το μέγιστο πλήθος βημάτων που είναι δυνατόν να πραγματοποιήσει η Μ όταν το μήκος της εισόδου της είναι n= x. 3 ρ. Νικόλας Νικολ λάου

Ασυμπτωτική Ανάλυση Ορισμός: Κεφαλαίο Όμικρον Έστω f και g δύο συναρτήσεις από το σύνολο Ν στο σύνολο R +. Λέμε ότι f(n)=o(g(n)) εάν υπάρχουν θετικόι ακέραιοι c και n 0 τέτοιοι ώστε, για κάθε ακέραιο n n 0 να ισχύει: f ( n) cg( n) Η g(n) αποτελεί το ασυμπτωτικό άνω φράγμα της f(n). Π.χ. f(n) = 6n 3 + 2n 2 + 20n + 45 => f(n) = O(n 3 ) Ο μεγιστοβάθμιος όρος υπερισχύει των υπολοίπων για μεγάλα n 4 ρ. Νικόλας Νικολ λάου

Ασυμπτωτική Ανάλυση Ορισμός: Μικρό Όμικρον Έστω f και g δύο συναρτήσεις από το σύνολο Ν στο σύνολο R +. Λέμε ότι f(n)=ο(g(n)) εάν ισχύει: Π.χ. f ( n) lim = n g( n) Με άλλα λόγια για κάθε ακέραιο c > 0 υπάρχει ακέραιος n 0 τέτοιος ώστε, f ( n) < cg( n) για κάθε ακέραιο n n 0. f(n) = 6n 3 + 2n 2 + 20n + 45 => f(n) = ο(n 4 ) n = o(nlogn) nlogn = o(n 2 ) 0 5 ρ. Νικόλας Νικολ λάου

Κλάση Χρονικής Πολυπλοκότητας ΤΙΜΕ(g(n))={L L μπορεί να διαγνωστεί σε χρόνο Ο(g(n)) από κάποια ΤΜ} Έστω Α = {0 κ 1 κ κ 0} Μ1= Για είσοδο w: 1. Διατρέχουμε την ταινία και εάν εντοπίσουμε κάποιο 0 δεξιά κάποιου 1 απορρίπτουμε 2. Ενόσω η ταινία περιέχει 0 και 1: 3. Διατρέχουμε την ταινία διαγράφοντας ένα 0 και ένα 1 4. Εάν η ταινία εξακολουθεί να περιέχει 0 ή 1 απορρίπτουμε. Αλλιώς αποδεχόμαστε TIME M1 (w) = O(n) + (n/2)o(n) + O(n) = O(n 2 ) A TIME( n 2 ) 6 ρ. Νικόλας Νικολ λάου

Κλάση P (Polynomial Time) Ορισμός: Η κλάση γλωσσών Ρ αποτελείται από τις γλώσσες που μπορούν να διαγνωστούν σε πολυωνιμικό χρόνο από κάποια Ντετερμινιστική ΤΜ M: P = UTIME k ( n k ) Μια γλώσσα L είναι πολυνωνυμικά αποφασίσιμη αν υπάρχει μηχανή ΝΤΜ πολυωνυμικού χρόνου Μ που την αποφασίζει. Συμπερασματικά: H κλάση P περιέχει προβλήματα που μπορούν να αποφασιστούν σε πολυωνυμικό χρόνο από μια Ντετερμινιστική μηχανή Turing. 7 ρ. Νικόλας Νικολ λάου

Παραδειγμα ΔΙΑΔΡΟΜΗ = {<G,s,t> το G είναι ένα κατευθυντό γράφημα που περιλαμβάνει μια διαδρομή από τον κόμβο s μέχρι τον t} M= Για είσοδο <G,s,t> 1. Σημαδεύουμε το κόμβο s 2. Επαναλαμβάνουμε μέχρι να μην σημαδεύονται άλλοι κόμβοι 3. Διατρέχουμε τις ακμές του G. Αν βρούμε ακμή (α,β) όπου α είναι σημασμένος και ο β όχι, σημαδεύουμε το β 4. Εάν ο t είναι σημαδεμένος αποδεχόμαστε. ΤΙΜΕ Μ (<G,s,t>)=O(nm) (n:#κόμβων, m:#ακμών) 8 ρ. Νικόλας Νικολ λάου

Κλάση ΝP (Non-Deterministic Polynomial Time) Ορισμός: Η κλάση γλωσσών ΝΡ αποτελείται από τις γλώσσες που μπορούν να διαγνωστούν σε πολυωνιμικό χρόνο από κάποια Μη Ντετερμινιστική ΤΜ M: NP = U NTIME k ( n k ΝΤΙΜΕ(g(n))={L L μπορεί να διαγνωστεί σε χρόνο Ο(g(n)) από κάποια ΝΤΜ} Όλες οι γλώσσες στην ΝΡ μπορούν να επαληθευτούν σε πολυωνιμικό χρόνο από μια ντετερμινιστική ΤΜ. Δοθέντος της ΝΡ γλώσσας Γ και ενός αποτελέσματος w μπορούμε να πούμε σε πολυωνιμικό χρόνο εάν w ανήκει στην Γ ) 9 ρ. Νικόλας Νικολ λάου

Παράδειγμα Το πρόβλημα του Πλανώδιου πωλητή: Για ένα σύνολο από πόλεις και κόστη διαδρομών από πόλη σε πόλη, βρες μια διαδρομή που να περνά από κάθε κόμβο του δικτύου ακριβώς μια φορά και να ελαχιστοποιεί την συνολικό κόστος της διαδρομής που θα ακολουθηθεί. Μπορεί να λυθεί σε (n-1)! χρόνο. Μπορεί να επαληθευτεί σε n χρόνο δοθέντος του μονοπατιού 10 Συμπέρασμα. Ορισμένα επιλύσιμα προβλήματα είναι υπολογιστικά δύσκολα

P vs NP P=NP???? Ρ=η κλάση των γλωσσών στις οποίες η συμμετοχή μπορεί να διαγνωστεί γρήγορα ΝΡ=η κλάση των γλωσσών στις οποίες η συμμετοχή μπορεί να επαληθευτεί γρήγορα NP EXPTIME = UTIME(2 k n k ) ρ. Νικόλας Νικολ λάου 11

Αναγωγιμότητα Πολυωνιμικού Χρόνου Ορισμός: Μια συνάρτηση είναι υπολογίσιμη σε πολυωνυμικό χρόνο εάν υπάρχει ΤΜ πολυωνιμικού χρόνου που την υπολογίζει. Ορισμός: Έστω γλώσσες Α και Β. Λέμε ότι η Α είναι αναγώγιμη σε πολυωνιμικό χρόνο στη Β (Α p Β) εάν υπάρχει συνάρτηση πολυωνιμικού χρόνου f:σ* Σ* τ.ω. για κάθε w w A f ( w) B ρ. Νικόλας Νικολ λάου 12

ρ. Νικόλας Νικολάου Αναγωγιμότητα Πολυωνιμικού Χρόνου L 1 p L 2 13

ΝΡ-πληρότητα Ορισμός: Μια γλώσσα Β είναι ΝΡ-πλήρης αν ικανοποιεί τις εξής συνθήκες: 1. Η Β ανήκει στην κλάση ΝΡ A NP 2. Κάθε γλώσσα ανάγεται στη Β σε πολυωνιμικό χρόνο. Θεώρημα: Εάν η Β είναι ΝΡ-πλήρης και B P τότε Ρ=ΝΡ. ρ. Νικόλας Νικολ λάου 14

Κλάσεις Χρονικής Πολυπλοκότητας ρ. Νικόλας Νικολάου 15

Χωρική Πολυπλοκότητα Έστω Μ μια ΤΜ που τερματίζει σε κάθε είσοδο. O χώρος μνήμης ή χωρική πολυπλοκότητα της Μ σε είσοδο x, Space M (x): Συνάρτηση f: N -> N όπου f(n) είναι το μέγιστο πλήθος θέσεων ταινίας που είναι δυνατόν να διατρέξει η Μ όταν το μήκος της εισόδου της είναι n= x. SPACE(g(n))={L L μπορεί να διαγνωστεί από κάποια ντετερμινιστικη ΤΜ χώρου Ο(g(n))} ρ. Νικόλας Νικολ λάου ΝSPACE(g(n))={L L μπορεί να διαγνωστεί από κάποια μη ντετερμινιστικη ΤΜ χώρου Ο(g(n))} 16

Η Κλάση PSPACE Ορισμός: Η κλάση γλωσσών PSPACE αποτελείται από τις γλώσσες που μπορούν να διαγνωστούν σε πολυωνιμικό χώρο από κάποια Ντετερμινιστική ΤΜ M: Θεώρημα Savitch: PSPACE = U SPACE NSPACE( f ( n)) Από το θεώρημα του Savitch: k SPACE( f ( n k ) 2 ( n)) ρ. Νικόλας Νικολ λάου PSPACE = NPSPACE 17

ρ. Νικόλας Νικολάου Ερωτήσεις; 18