Chapter 7, 8 : Time, Space Complexity

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

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

Chapter 7, 8 : Time, Space Complexity

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

CSC 314: Switching Theory

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

Chapter 7, 8 : Completeness

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Θεωρία Υπολογισμού Άρτιοι ΑΜ. Διδάσκων: Σταύρος Κολλιόπουλος. eclass.di.uoa.gr. Περιγραφή μαθήματος

Θεωρία Υπολογισμού Αρτιοι ΑΜ Διδάσκων: Σταύρος Κολλιόπουλος eclass.di.uoa.gr

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

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

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

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

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

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

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

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

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

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

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

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

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

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

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

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

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

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

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

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

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

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

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

HY118-Διακριτά Μαθηματικά. Θεωρία γράφων/ γραφήματα. Τι είδαμε την προηγούμενη φορά. Συνεκτικότητα. 25 -Γράφοι

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

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

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

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

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

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

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

CSC 314: Switching Theory. Chapter 3: Turing Machines

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

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

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

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

Κυκλώματα και βασικές Ιδιότητες

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

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

HY118-Διακριτά Μαθηματικά. Τι είδαμε την προηγούμενη φορά. Θεωρία γράφων / γραφήματα. 25 -Γράφοι. ΗΥ118, Διακριτά Μαθηματικά Άνοιξη 2017

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

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

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

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

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

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

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

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

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

ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

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

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

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

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

Chapter 9: NP-Complete Problems

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

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

Transcript:

CSC 314: Switching Theory Chapter 7, 8 : Time, Space Complexity 12 December 2008 1 1

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

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

Ασυμπτωματικός Ρυθμός Ανάπτυξης Μια συνάρτηση f(n) λέμε ότι αυξάνεται πιο αργά από την συνάρτηση g(n) και συμβολίζεται f(n) g(n) εάν Γράφουμε f(n)= o (g(n)) εάν f(n) g(n) f(n)= Ο (g(n)) εάν για όλα τα n 0, f(n) K g(n). Γνωστές συναρτήσεις:(i=σταθερό) 1. Πολυλογαριθμική Σειρά: { (log(n)) i i = 1,2,...} 2. Πολυωνιμική Σειρά: {n i i = 1, 2,...} 3. Υποεκθετική Σειρά: { nlog n i i = 1,2,...} 4. Εκθετική Σειρά: {2 in i = 1,2,...} 5. Υπερεκθετική Σειρά: {2 n i i = 1,2,...} 4

Ιδιότητες Σε κάθε σειρά, εάν i < j τότε η i-οστή συνάρτηση αυξάνεται πιο αργά από την j-οστή. Π.χ., nlog(n)3 nlog(n)4. Για οποιεσδήποτε δύο σειρές, κάθε συνάρτηση στην προγενέστερη σειρά αυξάνεται πιο αργά από οποιαδήποτε συνάρτηση στην μεταγενέστερη σειρά. (εκτός απο την πρώτη συνάρτηση της τελευταίας σειράς). Π.χ., (log(n) 64 n 10 2 3n 2n3. 5

Πολυπλοκότητα Χώρου και Χρόνου Υπολογιστική Πολυπλοκότητα μιας μηχανής Turing Χρόνος Χώρος (μνήμη) ΧΡΟΝΟΣ. Χρόνος εκτέλεσης μιας μηχανής Turing με είσοδο w, Time M (x): Aριθμός βημάτων της μηχανής έως ότου η μηχανή τερματίσει. Αν δεν τερματίσει ο χρόνος είναι άπειρος Φράγμα χρόνου της M, t(n) x n, ( υποθέτουμε t(n) n+1 ) Time M (x) max{n+1, t(n)} 6

Πολυπλοκότητα Χρόνου Ποιο μοντέλο μηχανής Turing θεωρούμε? Θεώρημα. Για οποιαδήποτε Ντετερμινιστική Μηχανή Τuring (NMT) με πολλές ταινίες M, υπάρχει μια διπλής κατεύθυνσης, μονής ταινίας ΝΜΤ M 1 που υπολογίζει την ίδια συνάρτηση τέτοια ώστε για όλες τις εισόδους x, έχουμε Time M1 (x) c (Time M (x)) 2 γιακάποιασταθεράc > 0. 7

Πολυπλοκότητα Χώρου Για λέξη εισόδου x, ο χώρος μνήμης, Space M (x) τον οποίο η ΝΜΤ M χρησιμοποιεί πάνω στην x είναι ο αριθμός των κελιών πάνω στις ταινίες εργασίας (διάβασμα, εγγραφή) τα οποία η κεφαλή της ταινίας επισκέπτεται τουλάχιστον μια φορά κατά την διάρκεια του υπολογισμού. Η ΝΜΤ έχει ένα φράγμα χώρου s(n) εάν για είσοδο x, Space M (x) max {1,d s( x )e} Θεώρημα Για οποιοδήποτε ΝΜΤ με πολλές ταινίες Μ, υπάρχει ένα τυπικό ΝΜΤ μονής ταινίας εργασίας M 2 που υπολογίζει την ίδια συνάρτηση τέτοιο ώστε Space M2 (x) Space M (x) για όλα τα x. 8

Πολυπλοκότητα Χρόνου και Χώρου Θεώρημα 1. Για οποιαδήποτε ΝΜΤ M μονής ταινίας εργασίας και οποιαδήποτε είσοδο x, Space M (x) Time M (x) + 1. Συμπέρασμα. Οχώροςείναιπιο ισχυρός από τον χρόνο, μπορούμε να επαναχρησιμοποιήσουμε τον χώρο ενώ τον χρόνο όχι. Ορισμός. Μια γλώσσα έχει χρονική πολυπλοκότητα f(n) εάν αποφασίζεται από μια ΝΜΤ με πολλές ταινίες με φράγμα χρόνου f(n). 9

Πολυπλοκότητα Χρόνου και Χώρου Ορισμός. Μια γλώσσα έχει χωρική πολυπλοκότητα f(n) εάν αποφασίζεται από μια ΝΜΤ με πολλές ταινίες με φράγμα χώρου f(n). Για οποιαδήποτε συνάρτηση f(n), ορίζουμε κλάσεις πολυπλοκότητας: DTIME(f(n)) = {L L έχει χρονική πολυπλοκότητα f(n) } DSPACE(s(n)) = {L L έχει χωρική πολυπλοκότητα s(n) } 10

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

Κλάση P (Polynomial Time) H ΝΜΤ M είναι μια ΝΜΤ πολυωνυμικού χρόνου εάν η M έχει φράγμα χρόνου t(n) για κάποια πολυωνυμική συνάρτηση t(n) = n c. Μια γλώσσα L είναι πολυνωνυμικά αποφασίσιμη αν υπάρχει μηχανή ΝΜΤ πολυωνυμικού χρόνου Μ που την αποφασίζει. Συμπερασματικά: H κλάση P περιέχει προβλήματα που μπορούν να αποφασιστούν σε πολυωνυμικό χρόνο από μια Ντετερμινιστική μηχανή Turing. Παρατήρηση. ΑπότοΘεώρημα1 (Space M (x) Time M (x) + 1), P PSPACE 12

Κλάση P Θεώρημα. ΗκλάσηP είναι κλειστή ως προς την πράξη της σύνθεσης, σύμπτυξης, ένωση, τομή, και συμπληρώματος, για γλώσσες. Απόδειξη. (ένωση A B) Έστω Μ 1 η ΝΜΤ που αποφασίζει για την γλώσσα A με φράγμα χρόνου p 1 Έστω Μ 2 η ΝΜΤ που αποφασίζει για την γλώσσα την B με φράγμα χρόνου p 2 p 1, p 2 : πολυωνυμικές συναρτήσεις ΗμηχανήΜ δύο ταινιών, για είσοδο w, αντιγράφει την w στην 2 η ταινία. Πρώτα προσομοιώνει την Μ 1 με είσοδο w στην 1η ταινία Mετά προσομοιώνει την M 2 με είσοδο w στην 2η ταινία Εάν είτε η Μ 1 είτε η Μ 2 αποδέχεται τη λέξη, η Μ αποδέχεται τη λέξη Αλλιώς την απορρίπτει. η Μ αποδέχεται την w εάν και μόνο αν είτε w Α ή w B. 13

Θήκη Kleene Έστω μια γλώσσα A P. Δείχνουμε ότι τότε Α * P. 14

Γενικά Αποδεκτή Άποψη. ΗκλάσηP αντιπροσωπεύει την κλάση των εφικτών επιλύσιμων γλωσσών, ήαπλάεφικτών προβλημάτων. 15

Κλάση PSPACE (polynomial space) Περιέχει τα προβλήματα που μπορούν να λυθούν σε πολυωνυμικό χώρο. Έναπρόβλημαπουαπαιτείγιαπαράδειγμαεκθετικόχρόνο μπορεί να απαιτεί μόνο πολυωνυμικό χώρο. Επειδή μπορούμε να αναγραφούμε στην ταινία στα σημεία τα οποία δεν θα τα χρειαστούμε στο μέλλον. 16

Κλάση P 17

Προβλήματα στην κλάση P Μια κανονική γλώσσα L μπορεί να αποφασιστεί σε πολυωνυμικό χρόνο: Πώς?: από το διάγραμμα καταστάσεων ενός αυτόματου που δέχεται τη γλώσσα προκύπτει ένας αλγόριθμος που ελέγχει εάν w L, σε χρόνο w. Σύνολο Κανονικών γλωσσών P ΜιαγλώσσαχωρίςσυμφραζόμεναL μπορεί να αποφασιστεί σε πολυωνυμικό χρόνο: Πώς?: από το διάγραμμα καταστάσεων του αυτόματου στοίβας το οποίο δέχεται τη γλώσσα προκύπτει ένας αλγόριθμος που ελέγχει εάν w L, σε χρόνο O( w k ).(σύνθετος αλγόριθμος, επειδή τα αυτόματα στοίβας είναι μη ντετερμινιστικά) Σύνολο γλωσσών χωρίς συμφραζόμενα P 18

Προβλήματα Πρόβλημα Συνεκτικότητας. Δεδομένου ενός κατευθυνόμενου γραφήματος G, υπάρχει ένα μονοπάτι μεταξύ δύο κόμβων v i, v j, όπου v i, v j V? Το πρόβλημα ανήκει στο P? H κλάση P αφορά γλώσσες!! Μετατρέπουμε το πρόβλημα έτσι ώστε να αφορά γλώσσες : Το Πρόβλημα Συνεκτικότητας σε μορφή γλώσσας: Γλώσσα R = {κ(g) b(i) b(j) : υπάρχει μονοπάτι από τον v i, v j στο G(V, E) } κ(g) = κωδικοποίηση G : δίνεται με ένα πίνακα γειτνίασης a(), a(i,j) =1 εάν και μόνο εάν υπάρχει ακμή μεταξύ των κόμβων v i και v j, όπου i, j n. b(i), b(j) = κωδικοποίηση των κόμβων v i και v j 19

Προβλήματα και Γλώσσες Έτσι, αναφερόμαστε σε προβλήματα και εννοούμε ότι τις αντίστοιχες γλώσσες τους. Το πρόβλημα συνεκτικότητας ανήκει P λύνεται σε χρόνο O(n 2 )(n=πλήθος κόμβων του G) Πώς? Μέσω ψαξίματος κατά πλάτος αρχίζοντας από τον κόμβο v i. 20

Προβλήματα.. Πρόβλημα Κύκλου Euler: Δεδομένου ενός γραφήματος G, υπάρχει κλειστό μονοπάτι στο G, το οποίο χρησιμοποιεί κάθε ακμή του G ακριβώς μια φορά? Σε μορφή γλώσσας: L = {κ(g) : το G είναι ένα γράφημα Euler (=έχει ένα κύκλο Euler)} Η L ανήκει στο P: Γιατί υπάρχει ένας χαρακτηρισμός (τηςμορφήςοg είναι γράφος Euler εάν και μόνο αν ισχύει κάτι) ο οποίος μπορεί να ελεγχθεί σε πολυωνυμικό χρόνο. 21

Προβλήματα που φαίνεται να ΜΗΝ ανήκουν στην κλάση P 22

Προβλήματα Πρόβλημα Κύκλου Hamilton: Δεδομένου ενός γραφήματος G, υπάρχει ένας κύκλος που να περνά από κάθε κορυφή του G ακριβώς μια φορά? Ένας αλγόριθμος για το πρόβλημα: εξέτασε όλες τα πιθανά μονοπάτια κόμβων έλεγξε εάν είναι Hamilton κύκλος. Απαιτεί εκθετικό χρόνο! Δεν είναι γνωστός πολυωνυμικός αλγόριθμος για το πρόβλημα 23

Προβλήματα Βελτιστοποίησης Το πρόβλημα του Πλανώδιου πωλητή: Για ένα δεδομένο δίκτυο με n κόμβους και αποστάσεις d ij που συμβολίζει την απόσταση των κόμβων v i v j, βρες μια διαδρομή π: που να περνά από κάθε κόμβο του δικτύου ακριβώς μια φορά και ελαχιστοποιεί την συνολική απόσταση που θα διανυθεί. Δηλ. Βρες μια μετάθεση π του {1, 2, n} (δηλ. π(i) είναι η σειρά που περνούμε από την πόλη i στην διαδρομή) που να ελαχιστοποιεί το άθροισμα: c(π) = d π(1)π(2) + d π(1)π(2) +.+ d π(1)π(2) Μας ενδιαφέρει ΟΧΙ ΜΟΝΟ να βρουμε κάτι αλλά υπάρχει μια συνάρτηση κόστους c(π) ΚΑΙ επιθυμούμε να ικανοποιείται από το κατι. Ως γλώσσα: Δεδομένου ενός δικτύου με n κόμβους και αποστάσεις d ij και ενός ακεραίου B, υπάρχει μια μετάθεση του δικτύου τέτοια ώστε c(π) Β? 24

Το πρόβλημα του Πλανώδιου πωλητή ΠΑΡΑΤΗΡΗΣΗ. Αν μπορούσαμε να λύσουμε το πρόβλημα βελτιστοποίησης, θα μπορούσαμε να λύσουμε και το πρόβλημα ως γλώσσα. δηλ. το πρόβλημα βελτιστοποίησης είναι πιο δύσκολο από την έκδοση του προβλήματοςωςγλώσσα Δεν είναι γνωστός πολυνωνυμικός αλγόριθμος για το πρόβλημα 25

Το πρόβλημα Μέγιστου Ανεξάρτητου Συνόλου Το πρόβλημα μέγιστου ανεξάρτητου συνόλου: Για ένα δεδομένο γράφημα G(V, E) βρες ένα υποσύνολο I V τέτοιο ώστε για κάθε v i, v j Ιισχύει (v i, v j ) Ε το Ι είναι το μέγιστο δυνατό για το γράφημα G. Σε μορφή γλώσσας: Το πρόβλημα μέγιστου ανεξάρτητου συνόλου: Για ένα δεδομένο γράφημα G(V, E) και ενός ακεραίου K, υπάρχει ένα υποσύνολο I V τέτοιο ώστε για κάθε v i, v j Ι (v i, v j ) V Ι K? Δενείναιγνωστόςπολυωνυμικόςαλγόριθμοςγιατοπρόβλημα 26

Ικανοποιησιμότητα Τύπων Bool Ορισμός. Τύπος Bool Χ={x 1, L, x n }:Δυαδικές Μεταβλητές Bool : αρνήσεις των x 1 L, x n ή literals Συνθήκη = (x i L x j )= (x i, L, x j ) = x 1 ή ή x j (x i : στοιχεία της C) Τύπος Bool σε κανονική διαζευκτική μορφή: F = {C 1, L, C m } = C 1 και C 2 και C m Παράδειγμα. 27

Ικανοποιησιμότητα Τύπων Bool Ορισμός (συνέχεια). Απόδοση τιμών αληθείας (truth assignment) ΤγιατονF είναι μια συνάρτηση Τ: Χ {>, }, όπου > = αληθές = ψευδές ΗΤικανοποιεί τον F εάν: για κάθε συνθήκη C F υπάρχει τουλάχιστον μια μεταβλητή x i, τέτοια ώστε είτε 1. T(x i ) = > και x i C (x i : αληθές στοιχείο) είτε 2. T(x i ) = και : αληθές στοιχείο) O F είναι ικανοποιήσιμος εάν υπάρχει μια απόδοση τιμών αληθείας που τον ικανοποιεί. 28

Παράδειγμα. H Τ είναι αληθής για την F. 29

Παράδειγμα. Παράδειγμα 2. Ο F δεν είναι ικανοποιήσιμος! Γιατί? 30

Πρόβλημα Ικανοποιησιμότητας Ορισμός. Ικανοποιησιμότητα (Satisfiability) ή SAT : Δεδομένου ενός τύπου Bool F σε κανονική διαζευκτική μορφή, είναι ικανοποιήσιμος? Δεν υπάρχει γνωστός πολυωνυμικός αλγόριθμος για το πρόβλημα 31

Ειδικές περιπτώσεις δύσκολων προβλημάτων Περιορισμός SAT σε δύο στοιχεία για κάθε συνθήκη : 2-SAT Παράδειγμα. 32

Πολυωνυμικός Αλγόριθμος για το 2-SAT 1. Ξεκαθάρισμα: 1. Εάν έχουμε μια συνθήκη με μόνο ένα στοιχείο, θέτουμε την αντίστοιχη σε μεταβλητή έτσι ώστε η συνθήκη να είναι αληθής. 2. Ελέγχουμε τις υπόλοιπες συνθήκες: 1. ανέχουντοίδιοστοιχείοείναιαληθείς. Oπότε τις αφαιρούμε. 2. αν έχουν την άρνηση του στοιχείου σημαίνει ότι το 2 ο στοιχείο της συνθήκης πρέπει να είναι αληθές, οπότε εκτελούμε το Ξεκαθάρισμα για το στοιχείο αυτό. Παράδειγμα. 33

2. (Τώρα έχουμε 2 μεταβλητές σε κάθε συνθήκη) Για κάθε μεταβλητή x i σε κάθε συνθήκη: Θέτουμε Τ(x i ) => και κάνουμε Ξεκαθάρισμα. Επαναφέρουμε τον F στην αρχική μορφή (πριν το προηγούμενο βήμα), θέτουμε Τ(x i )= και κάνουμε Ξεκαθάρισμα. Αν και τα δύο Ξεκαθαρίσματα αποτύχουν συμπεραίνουμε ότι ο F είναι μη ικανοποιήσιμος. Αλλιώς αναθέτουμε στην x i την επιτυχή τιμή αληθείας και επαναλαμβάνουμε το βήμα 2 για την επόμενη μεταβλητή. Παράδειγμα. 34

Πολυωνυμικός Αλγόριθμος για το 2-SAT Χρονική Πολυπλοκότητα Αλγόριθμου: Σε κάθε μεταβλητή γίνονται το πολύ δύο ξεκαθαρίσματα Κάθε Ξεκαθάρισμα παίρνει πολυωνυμικό χρόνο. Πόσο? Ο αλγόριθμος παίρνει πολυωνυμικό χρόνο. Πόσο? 35