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

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

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

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

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

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

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

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

4.3 Ορθότητα και Πληρότητα

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

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

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

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

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

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

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

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

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 5: ΚΑΤΗΓΟΡΙΕΣ ΑΛΓΟΡΙΘΜΙΚΩΝ ΠΡΟΒΛΗΜΑΤΩΝ-ΑΝΑΓΩΓΗ

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

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

Βασικά Στοιχεία Πολυπλοκότητας

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

Περιεχόμενα. Εισαγωγή του επιμελητή, Γιάννης Σταματίου 15 Πρόλογος 17 Εισαγωγή 23. Μέρος I. ΕΠΑΝΑΛΗΠΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΑΝΑΛΛΟΙΩΤΕΣ ΣΥΝΘΗΚΕΣ

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

Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές

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

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

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

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

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

Θεμελιώδη Θέματα Επιστήμης Υπολογιστών

CSC 314: Switching Theory

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

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

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

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

Chapter 9: NP-Complete Problems

Αλγόριθμοι Ταξινόμησης Μέρος 4

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

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

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

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

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

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

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

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

4η Γραπτή Ασκηση Αλγόριθμοι και Πολυπλοκότητα CoReLab ΣΗΜΜΥ 7 Φεβρουαρίου 2017 CoReLab (ΣΗΜΜΥ) 4η Γραπτή Ασκηση 7 Φεβρουαρίου / 38

4η Γραπτή Ασκηση Αλγόριθμοι και Πολυπλοκότητα CoReLab ΣΗΜΜΥ 3/2/2019 CoReLab (ΣΗΜΜΥ) 4η Γραπτή Ασκηση 3/2/ / 37

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

Υποθέσεις - - Θεωρήματα Υποθέσεις - Θεωρήματα Στα μαθηματικά και στις άλλες επιστήμες κάνουμε συχνά υποθέσεις. Οταν δείξουμε ότι μια υπόθεση είναι αλη

conp and Function Problems

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

Chapter 7, 8 : Time, Space Complexity

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

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

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

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

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

HY Λογική Διδάσκων: Δ. Πλεξουσάκης Εαρινό Εξάμηνο. Φροντιστήριο 6

Chapter 7, 8 : Time, Space Complexity

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

Υποθέσεις - Θεωρήματα. Μαθηματικά Πληροφορικής 1ο Μάθημα. Η χρυσή τομή. Υποθέσεις - Εικασίες

Κεφάλαιο 5ο: Ακέραιος προγραμματισμός

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

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

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

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

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

Κατανεμημένα Συστήματα Ι

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

1η Σειρά Γραπτών Ασκήσεων

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

Σχεδίαση Αλγορίθμων -Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο

Τεχνητή Νοημοσύνη. 8η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

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

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

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

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

auth Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο

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

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

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

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

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

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

Ελληνικό Ανοικτό Πανεπιστήµιο Σπουδές στην Πληροφορική. Φαινόµενα πολυπλοκότητας στα Μαθηµατικά και στη Φυσική: ύο όψεις του ίδιου νοµίσµατος;

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

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

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

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

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

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

Πληροφοριακά Συστήματα Διοίκησης. Επισκόπηση μοντέλων λήψης αποφάσεων Τεχνικές Μαθηματικού Προγραμματισμού

Όρια Αλγόριθμων Ταξινόμησης. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη

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

Chapter 7, 8 : Completeness

Επανάληψη. ΗΥ-180 Spring 2019

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

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

Ταξινόμηση. 1. Ταξινόμηση του Shell. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη

Επεξεργασία Ερωτήσεων

Transcript:

Περιορισμοί Αλγοριθμικής Ισχύος Κατηγοριοποίηση πολυπλοκοτήτων

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

Τύποι κατώτερων φραγμάτων Τα κατώτερα φράγματα μπορεί να είναι Ακριβής καταμέτρηση Κλάση αποδοτικότητας (Ω) Σφικτά (Tight) κατώτερα φράγματα: είναι γνωστός ένας αλγόριθμος με την ίδια αποδοτικότητα όσο το κατώτερο φράγμα. Πρόβλημα Κατώτερο φράγμα Σφικτό ταξινόμηση Ω(nlog n) ναι αναζήτηση σε ταξινομημένο πίνακα Ω(log n) ναι μοναδικότητα στοιχείου Ω(nlog n) ναι πολ/μός ακεραίων με n ψηφία Ω(n) άγνωστο πολ/μός n Χ n πινάκων Ω(n 2 ) άγνωστο 3

Μέθοδοι καθορισμού κατωτέρων φραγμάτων Τετριμμένα κατώτερα φράγματα. Επιχειρηματολογία θεωρίας πληροφοριών (δένδρα δ απόφασης). Μέθοδος αντιπαλότητας. Αναγωγή (reduction) προβλήματος. 4

Τετριμμένα Κατώτερα Φράγματα Βασίζονται στην καταμέτρηση του αριθμού των αντικειμένων εισόδου που πρέπει να επεξεργασθούν ξργ και του αριθμού που πρέπει να παραχθούν στην έξοδο. Παραδείγματα Εύρεση μεγαλύτερου στοιχείου Υπολογισμός πολυωνύμου Μοναδικότητα στοιχείου Ύπαρξη Χαμιλτονιανού κυκλώματος Συμπεράσματα Μπορεί να είναι ή να μην είναι χρήσιμα Χρειάζεται ιδιαίτερη προσοχή στον καθορισμό του αριθμού σττοιχείων που οπωσδήποτε πρέπει να επεξεργασθούν. 5

Δένδρα απόφασης Αποτελούν ένα βολικό μοντέλο για αλγορίθμους που περιλαμβάνουν συγκρίσεις. Στα δένδρα απόφασης: Οι εσωτερικοί κόμβοι αναπαριστούν συγκρίσεις, και τα φύλλα αποτελέσματα. Παράδειγμα: Δένδρο απόφασης για ταξινόμηση επιλογής 3 στοιχείων yes abc a < b no abc bac yes b < c no yes a < c no a < b < c yes acb a < c no b < a < c yes bca b < c no a < c < b c < a < b b < c < a c < b < a 6

Δένδρα αποφάσεων και Αλγόριθμοι Ταξινόμησης Κάθε αλγόριθμος ταξινόμησης βασισμένος σε συγκρίσεις μπορεί να αναπαρασταθεί ως ένα δένδρο απόφασης. Ο αριθμός των φύλλων είναι τουλάχιστον όσος και ο αριθμός των πιθανών εξόδων, δηλ. n!! Το ύψος ψς ενός δυαδικού δένδρου με n! φύλλα είναι log g 2 n! Άρα ο ελάχιστος αριθμός συγκρίσεων στην χειρότερη περίπτωση είναι log 2 n! για κάθε αλγόριθμο ταξινόμησης βασισμένο σε συγκρίσεις. log 2 n! n log 2 n Αυτό το κατώτερο φράγμα είναι σφικτό, π.χ. (mergesort mergesort) 7

Επιχειρήματα Αντιπαλότητας Αποτελεί μία μέθοδο απόδειξης κατωτέρων φραγμάτων παίζοντας το ρόλο ενός αντιπάλου που αναγκάζει τον αλγόριθμο να εκτελέσει τα περισσότερα βήματα, ρυθμίζοντας την είσοδο. Παράδειγμα 1: Μάντεψε ένα αριθμό από το 1 ως n με ερωτήσεις ναι/όχι. Αντίπαλος: Θέτει τον αριθμό στο μεγαλύτερο από τα δύο υποσύνολα που παράγονται από την τελευταία ερώτηση. Παράδειγμα 2: Συγχώνευση δύο ταξινομημένων λιστών μεγέθους n a 1 < a 2 < < a n και b 1 < b 2 < < b n Aντίπαλος: a i < b j αν i < j Αποτέλεσμα: b 1 < a 1 < b 2 < a 2 < < b n < a n που απαιτεί 2n-1 συγκρίσεις. 8

Κατώτερα φράματα με αναγωγή προβλήματος Ιδέα: Αν ένα πρόβλημα P είναι τουλάχιστον όσο δύσκολο όσο το πρόβλημα Q, τότε ένα κατώτερο φράγμα του Q είναι κατώτερο φράγμα και για το P. Οπότε βρίσκουμε ένα πρόβλημα Q με γνωστό κατώτερο φράγμα που μπορεί να αναχθεί στο P. Παράδειγμα: P εύρεση MST σε n σημεία του Ευκλείδιου χώρου Q μοναδικότητα στοιχείου (Ω(nlogn)) 9

Κατηγοριοποίηση πολυπλοκότητας προβλήματος Υπάρχει κάποιος πολυωνυμικός αλγόριθμος επίλυσης του προβλήματος? Πιθανές απαντήσεις: ΝΑΙ ΟΧΙ επειδή μπορεί να αποδειχθεί ότι όλοι οι αλγόριθμοι θέλουν εκθετικό χρόνο επειδή μπορεί να αποδειχθεί ότι δεν υπάρχει αλγόριθμος να επιλύσει αυτό το πρόβλημα ΔΕΝ ΓΝΩΡΙΖΩ ΔΕΝ ΓΝΩΡΙΖΩ, αλλά αν εφευρισκόταν ένας τέτοιος αλγόριθμος, τότε θα δινόταν λύση και σε πολλά άλλα προβλήματα σε πολυωνυμικό χρόνο 10

Παραδείγματα απαιτητικών προβλημάτων Διαμερισμός: Δεδομένων n θετικών ακεραίων, να βρεθεί αν είναι δυνατό να τους διαμερίσουμε σε δυο ανεξάρτητα υποσύνολα με το ίδιο άθροισμα Bin packing: Δεδομένων n αντικειμένων με μέγεθος που είναι θετικός πραγματικός αριθμός όχι μεγαλύτερος του 1, να τοποθετηθούν στο μικρότερο αριθμό bins μεγέθους 1 Χρωματισμός γράφου: Να βρεθεί ο χρωματικός του αριθμός δεδομένου γράφου, δηλαδή ο μικρότερος αριθμός χρωμάτων που πρέπει να αποδοθούν στις κορυφές του γράφου ώστε να μην υπάρχουν δυο γειτονικές κορυφές με το ίδιο χρώμα Ικανοποιησιμότητα CNF: Δεδομένης λογικής πρότασης σε συζευκτική κανονική μορφή (σύζευξη διαζεύξεων εκφράσεων), υπάρχει μια απόδοση τιμών στις μεταβλητές που να καθιστά την έκφραση αληθή? 11

Τύποι προβλημάτων Προβλήματα βελτιστοποίησης: κατασκευάζουμε μια λύση που μεγιστοποιεί ή ελαχιστοποιεί μια αντικειμενική συνάρτηση. Προβλήματα απόφασης: απάντηση με ΝΑΙ/ΌΧΙ σε μια ερώτηση. Πολλά προβλήματα έχουν εκδοχές και βελτιστοποίησης και απόφασης. Π.χ. το πρόβλημα του περιοδεύοντος πωλητή: βελτιστοποίηση: βρες ένα hamiltonian κύκλο ελάχιστου βάρους. απόφαση: βρες ένα hamiltonian κύκλο βάρους < k. 12

Η κλάση P P: η κλάση των προβλημάτων απόφασης, τα οποία επιλύονται σε χρόνο O(p(n)), όπου p(n) είναι ένα πολυώνυμο ως προς n Γιατί πολυώνυμο? Αν ΟΧΙ, πολύ αναποτελεσματικό. Κομψές ιδιότητες κλεισίματος. Ανεξάρτητες από μηχανές. 13

Η κλάση NP NP: η κλάση των προβλημάτων απόφασης, τα οποία επιλύονται σε πολυωνυμικό χρόνο σε μια μη-αιτιοκρατική μηχανή. Ένας Έ μη-αιτιοκρατικός υπολογιστής μπορεί να μαντέψει τη σωστή απάντηση ή λύση (τυχαιότητα) και να ελέγξει την ορθότητα της λύσης σε πολυωνυμικό χρόνο. Τα ΝΡ είναι μια κλάση προβλημάτων με λύσεις που είναι επιβεβαιώσιμες σε πολυωνυμικό χρόνο. Σημείωση: η έκφραση NP σημαίνει Nondeterministic Polynomial-time 14

Παράδειγμα: ικανοποιησιμότητα CNF Το πρόβλημα είναι NP. Ο μη-αιτιοκρατικός αλγόριθμος: μαντεύει τη σωστή απόδοση τιμών ελέγχει αν οι αποδόσεις ικανοποιούν τον τύπο CNF Παράδειγμα:(A B C)( AB)( BDF)(F D) AB)( BDF)(F D) Αληθείς αποδόσεις: ABCDEF 1. 0 1 1 0 1 0 2. 100001 0 0 0 1 3. 1 1 0 0 0 1 4.... (πόσες είναι συνολικά?) Φάση ελέγχου: Θ(n) ( ) 15 15

Που βρισκόμαστε τώρα? Έχει επιδειχθεί μη-αιτιοκρατικός πολυωνυμικός αλγόριθμος για την ικανοποιησιμότητα CNF Το CNF-sat είναι σε NP. Παρόμοιοι αλγόριθμοι μπορούν να βρεθούν για τα προβλήματα TSP (ως πρόβλημα απόφασης), HC, Partition, κλπαποδεικνύοντας ότι αυτά τα προβλήματα είναι επίσης σε NP Όλα τα προβλήματα σε P μπορούν επίσης να επιλυθούν με αυτόν τον τρόπο (αλλά χωρίς μαντεψιά), και συνεπώς ισχύει: P NP Η μεγάλη ερώτηση: P = NP? 16

Προβλήματα NP-complete Ένα πρόβλημα ρβημ απόφασης D είναι NP-complete p αν και μόνο αν 1. D NP 2. Κάθε πρόβλημα σε NP είναι μειώσιμο/μπορεί να αναχθεί (reducible) σε πολυωνυμικό χρόνο στο D Θεώρημα του Cook (1971): το CNF-sat είναι NP-complete. Άλλα NP-complete προβλήματα είναι αυτά που λαμβάνονται μέσω πολύωνυμικών μειώσεων γνωστών NP-complete προβλημάτων. Η κλάση των NP-complete προβλημάτων δηλώνεται με NPC 17 17

Προβλήματα NP-complete NP problems NP -complete problem NP problems known NP-complete problem candidate for NP - completeness 18

P = NP? Αν ισχύει P = NP τότε κάθε NP πρόβλημα, συμπεριλαμβανομένων και των NP-complete complete, θα μπορούσε να λυθεί σε πολυωνυμικό χρόνο. Αρκεί να ανακαλυφθεί ένας πολυωνυμικός αλγόριθμος ςγ για ένα μόλις NP-complete πρόβλημα, και τότε κάθε πρόβλημα στην κατηγορία NP θα μπορεί να λυθεί σε πολυωνυμικό χρόνο. Αλλά οι περισσότεροι ερευνητές πιστεύουν πως P NP, δηλ. η κατηγορία P είναι υποσύνολο του NP. 19