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

Σχετικά έγγραφα
Chapter 7, 8 : Time, Space Complexity

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

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

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

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

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

CSC 314: Switching Theory

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

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

Chapter 7, 8 : Time, Space Complexity

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

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

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

Chapter 7, 8 : Completeness

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

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

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

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

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

Περιεχόμενα ΜΤ Τυχαίας Προσπέλασης Θεωρία Υπολογισμού Ενότητα 23: Μηχανές Turing Τυχαίας Προσπέλασης Επ. Καθ. Π. Κατσαρός Τμήμα Πληροφορικής Επ. Καθ.

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

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

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

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

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

NP-complete problems. IS, 4-Degree IS,CLIQUE, NODE COVER, MAX CUT, MAX BISECTION, BISECTION WIDTH. NP-complete problems 1 / 30

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

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

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

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

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

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

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

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

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

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

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

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

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

Τομές Γραφήματος. Γράφημα (μη κατευθυνόμενο) Συνάρτηση βάρους ακμών. Τομή : Διαμέριση του συνόλου των κόμβων σε δύο μη κενά σύνολα

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

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

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

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

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

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

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

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

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

Ενδεικτικές Λύσεις 1ου Σετ Ασκήσεων

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

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

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

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

Chapter 9: NP-Complete Problems

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

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

Blum Complexity. Αλγόριθμοι και Πολυπλοκότητα ΙΙ. Παναγιώτης Γροντάς. Δεκέμβριος

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

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

Δυναμικός προγραμματισμός για δέντρα

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

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

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

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

Επαγωγή και αναδρομή για άκυκλα συνεκτικά γραφήματα

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

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

Αριθμήσιμα σύνολα. Μαθηματικά Πληροφορικής 5ο Μάθημα. Παραδείγματα αριθμήσιμων συνόλων. Οι ρητοί αριθμοί

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

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

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

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

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

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

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

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

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

Θεωρία Γραφημάτων 5η Διάλεξη

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης

ψ φ2 = k χ φ2 = 4k χ φ1 = χ φ1 + χ φ2 + 3 = 4(k 1 + k 2 + 1) + 1 ψ φ1 = ψ φ1 + χ φ2 = k k = (k 1 + k 2 + 1) + 1

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

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (3)

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

Χρήστος Ι. Σχοινάς Αν. Καθηγητής ΔΠΘ. Συμπληρωματικές σημειώσεις για το μάθημα: «Επιχειρησιακή Έρευνα ΙΙ»

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

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

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

Ο ΑΤΔ Λεξικό. Σύνολο στοιχείων με βασικές πράξεις: Δημιουργία Εισαγωγή Διαγραφή Μέλος. Υλοποιήσεις

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

Ασκήσεις από παλιές εξετάσεις

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

Διαίρει και Βασίλευε. πρόβλημα μεγέθους Ν. διάσπαση. πρόβλημα μεγέθους k. πρόβλημα μεγέθους Ν-k

Κατ οίκον Εργασία 1 Σκελετοί Λύσεων

u v 4 w G 2 G 1 u v w x y z 4

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (2)

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

Θεωρία Γραφημάτων 5η Διάλεξη

Transcript:

Λύσεις 4ης Σειράς Ασκήσεων Άσκηση 1 Αναγάγουμε τν Κ 0 που γνωρίζουμε ότι είναι μη-αναδρομική (μη-επιλύσιμη) στην γλώσσα: L = {p() η μηχανή Turing Μ τερματίζει με είσοδο κενή ταινία;} Δοσμένης της περιγραφής μιας Μηχανής Turing και εισόδου x ορίζουμε μια αναδρομική συνάρτηση τ(x) για την οποία x K 0 εάν και μόνο αν τ(x) L. H τ(x) υπολογίζει μια μηχανή Turing Μ x η οποία λειτουργεί ως ακολούθως : Η Μ x, όταν αρχίζει σε μια κενή ταινία (δηλαδή βρίσκεται στην κατάσταση (s, B t )), γράφει w στην ταινία και μετά αρχίζει να εξομοιώνει την Μ. Με άλλα λόγια, εάν x = α 1 α n, τότε Μ x είναι απλά η μηχανή Rα 1 Rα Rα n L t. Παρατηρείστε ότι η τ (x) μπορεί να υπολογιστεί πάντα, δηλαδή είναι αναδρομική. Τώρα η Μ x είναι η είσοδος της γλώσσας L. Από την κατασκευή της, η Μ x τερματίζει αν και μόνο αν x K 0. Συμπεραίνουμε ότι x K 0 εάν και μόνο αν τ(x) (= Μ x ) L, όπως απαιτείται για την τ(). Άσκηση Είναι γνωστό ότι κάθε κανονική Γλώσσα L υπάρχει ένα ντετερμινιστικό αυτόματο που δέχεται την γλώσσα L. Ένα ντετερμινιστικό Αυτόματο είναι ένας αποτελεσματικός αλγόριθμος για να αποφασίζει πότε μία συμβολοσειρά ανήκει στην L(). Θεωρείστε ένα οποιοδήποτε ντετερμινιστικό αυτόματο. Μ = (Κ, Σ, δ, s, F) όπου Κ={q 0, q 1, q,, q k }, Σ = {a 1,, a l }, s = {q s1,.., q si,, q sm : q si K, 1 i K } }, F = {q F1,.., q Fi,, q Fn : q Fi K, 1 i K }} και q σ Δ(q,σ) q 0 a 1 q 01 q 0 a q 0 q 0 a l q 0l q 1 a 1 q 11 q 1 a l q 1l q k a 1 q k1 q k a l q kl 1

οπού, για οποιοδήποτε q j K και a i Σ, q ji K και μπορεί να ισχύει ότι q ji = q jz, όπου 1 i, z l Τότε θα έχουμε τον αλγόριθμο: q 0 : Let σ:= get_next_symbol; i :=1; If σ = end_of_file then if q 0 F output Accept and else output Reject; Else REPEAT If σ = a i then goto q 0i ; i :=i+1; } q 1 : Let σ:= get_next_symbol; i :=1; If σ = end_of_file then if q 1 F output Accept and else output Reject; Else REPEAT If σ = a i then goto q 1i ; i :=i+1; } q k : if Let σ:= get_next_symbol; i :=1; If σ = end_of_file then if q k F output Accept and else output Reject; Else REPEAT If σ = a i then goto q ki ; i :=i+1; }

Για κάθε κατάσταση στο Κ έχουμε Σ + εντολές, όπου η πρώτη λαμβάνει το επόμενο εισερχόμενο σύμβολο, και κάθε μία από τις άλλες είναι υπεύθυνη για την εκτέλεση της κατάλληλης ενέργειας για την συγκεκριμένη τιμή του συμβόλου. Στην περίπτωση που φτάνουμε στο τέλος της συμβολοσειράς εισόδου, η ενέργεια καλείται end_of_file. Παρατηρούμε επίσης ότι τα βήματα που ακολουθούμε είναι τόσα όσο το μήκος της λέξης w που λαμβάνουμε ως είσοδο. Άρα ο αλγόριθμός μας ελέγχει εάν η w ανήκει στην L σε χρόνο Ο( w ). Άσκηση 3 α) Η κλάση P κλειστή κάτω από την πράξη της σύνθεσης. Δηλ. αν A, B P, τότε A o B P. Απόδειξη: Θεωρείστε δυο μηχανές Μ A, Μ B πολυωνυμικού χρόνου (που αποφασίζουν για τις γλώσσες A, B αντίστοιχα). Η μηχανή Μ Γ λειτουργεί ως εξής: εκτελεί την A με είσοδο x. Κατόπιν, εκτελεί την μηχανή Β με είσοδο την έξοδο της A, είναι πολυωνυμικού χρόνου. Η Μ Γ είναι η σύνθεση της A με την B. Δείχνουμε ότι η Μ Γ λειτουργεί σε πολυνωνυμικό χρόνο. Από την κατασκευή της η Μ Γ, χρειάζεται πολυωνυμικό χρόνο για την ολοκλήρωση των εκτελέσεων των Μ Α και Μ Β, αφού η κάθε μια τους απαιτεί πολυωνυμικό χρόνο. Έτσι, η κλάση P είναι κλειστή κάτω από την πράξη της σύνθεσης (των μηχανών πολυωνυμικού χρόνου). β) Η κλάση P κλειστή κάτω από την πράξη της τομής. Αν L1 και L δύο αυθαίρετες γλώσσες στην κλάση P. Τότε υπάρχουν ντετερμινιστικές μηχανές Turing Μ1, Μ οι οποίες αποφασίζουν τις L1 και L αντίστοιχα, σε χρόνο που υπολογίζεται από τα πολυώνυμα p1 και p. Θεωρούμε την μηχανή Turing με δύο ταινίες όπου λειτουργεί ως ακολούθως. Στην είσοδο w, η Μ αντιγράφει την w και στην δεύτερη ταινία. Η Μ μετά προσομοιώνει την ενέργεια της Μ 1 στην w στην πρώτη ταινία, ακολούθως προσομοιώνει την ενέργεια της Μ στην w στην δεύτερη ταινία. Εάν και οι δύο μηχανές Μ 1 και Μ δέχονται την w, η Μ δέχεται την w, αλλιώς η Μ απορρίπτει την w. Τότε η L( ) = L( 1 ) L( ), η Μ δέχεται την συμβολοσειρά αν και μόνο αν ανήκει και στις δύο γλώσσες L 1 και L. Επίσης η Μ παίρνει συνολικό χρόνο O( w ) για να κάνει την αντιγραφή, ακολούθως χρειάζεται p 1 ( w ) και p ( w ) χρόνο για τις προσομοιώσεις. Αφού το άθροισμα των πολύ πολυωνύμων παραμένει πολυώνυμο, έτσι και η Μ λαμβάνει πολυωνυμικό χρόνο. Άσκηση 4 Αν L1 και L γλώσσες οι οποίες αποφασίζονται από μη ντετερμινιστικές μηχανές Turing Μ1 και Μ, οι οποίες λειτουργούν σε χρόνο που υπολογίζονται από τα πολυώνυμα p1, p αντίστοιχα. Θεωρούμε τις πιο ακόλουθες μηχανές: 3

a) L1 L Θα δείξουμε ότι υπάρχει μια μηχανή Turing στην οποία w L 1 L εάν και μόνο αν w L( ). Θεωρούμε την ακόλουθη μη ντετερμινιστική μηχανή Turing Μ η οποία λειτουργεί ως ακολούθως: Με είσοδο w, η μηχανή Μ μη ντετερμινιστικά διαλέγει ή την Μ1 ή την Μ και την εκτελεί με είσοδο την w. Η Μ αποδέχεται την λέξη εάν και μόνο εάν η μηχανή που εκτελέστηκε την αποδέχτηκε. Συμπεραίνουμε ότι L( ' ) = L( 1) L( ). Δείχνουμε ότι εάν η w L 1 L, τότε w L( ). Από την υπόθεση μας, υπάρχει κάποιος αποδεκτός υπολογισμός είτε στην Μ1 είτε στη Μ για την w. Η Μ, από την κατασκευή της, θα επιλέξει να εκτελέσει την μηχανή που αποδέχεται την w και άρα θα την αποδεχτεί, δηλ. w L( ). Από την άλλη, εάν w L( ) σημαίνει ότι μια από τις Μ1, Μ που εκτέλεσε η μη ντετερμινιστικά, αποδέχθηκε την w. Οπότεw L 1 L, όπως απαιτείται. Αφού η Μ λειτουργεί σε χρόνο που υπολογίζεται από τα p1+p+c για κάποια σταθερά c, η οποία παραμένει πολυωνυμική, η Μ δέχεται την L( 1) L( ) σε μη ντετερμινιστικό πολυωνυμικό χρόνο. b) L1 L Θεωρείστε την μη ντετερμινιστική μηχανή Turing Μ η οποία λειτουργεί ως ακολούθως. Με είσοδο w, η μηχανή Μ διασπά την w σε δύο συμβολοσειρές x,y τέτοια ώστε xy = w. Τότε η Μ προσομοιώνει την Μ1 στη x και μετά προσομοιώνει την Μ στην y, και την δέχεται μόνο εάν και η Μ1 και η Μ δέχονται τις εισόδους τους. Συμπεραίνουμε ότι η L ' ) = L( ) L( ). w L L 1 ( 1 Δείχνουμε ότι εάν, τότε τότε w L( ). Από την υπόθεση μας, υπάρχει κάποιος διαχωρισμός w =xy τέτοιος ώστε υπάρχει κάποιος αποδεκτός υπολογισμός στη Μ1 στο x και ένας αποδεκτός υπολογισμός της Μ στην y. Η Μ μπορεί μη ντετερμινιστικά να μαντέψει αυτό τον διαχωρισμό και να εκτελέσει πρώτα την Μ1 με είσοδο x και μετά την Μ με είσοδο y και έτσι θα αποδεκτεί την w. Από την άλλη, εάν w L( ), από την κατασκευή της, σημαίνει ότι υπάρχει κάποιος διαχωρισμός της w σε w =xy ώστε η Μ1 αποδέχεται την x και η την y. Άρα w L 1 L, όπως απαιτείται. Αφού η Μ λειτουργεί σε χρόνο που υπολογίζεται από τα p1+p+c w +d (ο προτελευταίος όρος είναι για τον διαχωρισμό) για κάποια σταθερά c, η οποία παραμένει πολυωνυμική, η Μ δέχεται την L ) L( ) σε μη ντετερμινιστικό πολυωνυμικό χρόνο. ( 1 Άσκηση 5 Ο Αλγόριθμος -SAT εκτελεί το πολύ m ξεκαθαρίσματα, όπου m είναι το πλήθος των μεταβλητών. Κάθε ξεκαθάρισμα απαιτεί Ο(n) βήματα, όπου n είναι το πλήθος των συνθηκών. Άρα χρονική πολυπλοκότητα είναι της τάξης του Ο(n m). Η χωρική προλυπλοκότητα space(a) Time(A) +1. Άρα η χωρική πολυπλοκότητα είναι κι αυτή της τάξης του Ο(n m). Κατ ακρίβεια, η χωρική πολυπλοκότητα είναι μικρότερη: Χρειάζεται χώρο m για να την ανάθεση των μεταβλητών που έχει ή θα υπολογίσει. Επιπλέον, σε κάθε 4

ξεκαθάρισμα χρειάζεται χώρο Ο(n) για τη διαχείριση των n συνθηκών. Μπορεί όμως να επαναχρησιμοποιήσει τον ίδιο χώρο για τα επόμενα ξεκαθαρίσματα. Άρα ο συνολικός χώρος είναι Ο(n+m). Άσκηση 6 Πρώτα δείχνουμε ότι το 3- ΧΡΩΜΑΤΙΣΜΟΣ ανήκει στο ΝP: δοσμένου ενός γράφου G(V, E), μπορούμε μη ντετερμινιστικά να υποθέσουμε ένα αναθέσουμε ένα ακέραιο (χρώμα) σε κάθε κορυφή και μετά ντετερμινιστικά να ελέγξουμε ότι για κάθε κορυφή v V, κάθε γειτονική της κορυφή έχει πάρει διαφορετικό χρώμα από την v. Το πρώτο χρειάζεται V χρόνο και το δεύτερο χρειάζεται Ε ελέγχους, άρα ολόκληρος ο αλγόριθμος παίρνει χρόνο E + V, δηλ. πολυωνυμικό στο μέγεθος της συμβολοσειράς που κωδικοποιεί το G. Κατόπιν δείχνουμε ότι το πρόβλημα 3-ΧΡΩΜΑΤΙΣΜΟΣ είναι NP-πλήρες. Για να το δείξουμε αυτό δείχνουμε ότι υπάρχει μια πολυωνυμική αναγωγή από το 3-SAT (το οποίο είναι γνωστό ότι είναι NP-πλήρες) στο πρόβλημα 3- ΧΡΩΜΑΤΙΣΜΟΣ. Μια τέτοια αναγωγή βρίσκεται στην διεύθυνση: http://www.cs.ubc.ca/~patrice/cpsc30/handouts/3color.html Άσκηση 7 Το πρόβλημα ΑΝΕΞΑΡΤΗΤΟ ΣΥΝΟΛΟ είναι NP-πλήρες. Απόδειξη: (Βιβλίο Παπαδημητρίου σελ. 437 (ελληνική έκδοση)) Πρώτα δείχνουμε ότι το πρόβλημα ανήκει προφανώς στο ΝΡ: δοσμένου ενός γράφου G(V, E), μπορούμε μη ντετερμινιστικά να μαντέψουμε ένα σύνολο κορυφών I V. Μετά ντετερμινιστικά να ελέγξουμε εάν για κάθε κορυφή v I, κάθε γειτονική της κορυφή u, u Ι, οπότε το Ι είναι ανεξάρτητο σύνολο. Το πρώτο χρειάζεται V χρόνο και το δεύτερο χρειάζεται Ε ελέγχους, άρα ολόκληρος ο αλγόριθμος παίρνει χρόνο E + V, δηλ. πολυωνυμικό στο μέγεθος της συμβολοσειράς που κωδικοποιεί το G. Κατόπιν δείχνουμε ότι το πρόβλημα ΑΝΕΞΑΡΤΗΤΟ ΣΥΝΟΛΟ είναι NP-πλήρες. Για να το δείξουμε αυτό δείχνουμε ότι υπάρχει μια πολυωνυμική αναγωγγή από το 3- SAT (το οποίο είναι γνωστό ότι είναι NP-πλήρες) στο πρόβλημα ΑΝΕΞΑΡΤΗΤΟ ΣΥΝΟΛΟ. Έστω ότι μας δίνεται ένας τύπος Bool F με συνθήκες C 1, C,, C m η καθεμία με τρία το πολύ στοιχεία. Στην πραγματικότητα, θα υποθέσουμε ότι όλες οι συνθήκες F έχουν ακριβώς τρία στοιχεία, αν μια συνθήκη έχει μόνον ένα ή δύο στοιχεία, τότε επιτρέπουμε να μπορεί να επαναληφθεί ένα στοιχείο για να γίνει το συνολικό τους πλήθος τρία. Θα κατασκευάσουμε ένα μη κατευθυνόμενο γράφημα G και έναν ακέραιο Κ έτσι ώστε να υπάρχει σύνολο από Κ κόμβους το G χωρίς ακμές μεταξύ τους αν και μόνο αν ο F είναι ικανοποιήσιμος. Η αναγωγή απεικονίζεται στο πιο κάτω σχήμα. Για καθεμιά από τις συνθήκες C 1, C,, C m του F, έχουμε τρεις κόμβους G, συνδεδεμένους με ακμές έτσι ώστε να σχηματίζουν ένα τρίγωνο ονομάζουμε τους κόμβους του τριγώνου, οι οποίοι 5

αντιστοιχούν στη συνθήκη C i, c i1,c i, c i3. Αυτοί είναι όλοι οι κόμβοι του G - συνολικά 3m κόμβοι. Ο στόχος είναι Κ=m, ίσος με τον αριθμό των συνθηκών. Για να ορίσουμε τις υπόλοιπες ακμές του G, ο κόμβος c ij προσδιορίζεται με το j-οστό στοιχείο της συνθήκης C i. Τέλος, δυο κόμβοι ενώνονται με μία ακμή αν και μόνο αν τα στοιχεία τους αποτελούν το ένα την άρνηση του άλλου. Και έτσι ολοκληρώνεται η περιγραφή της αναγωγής (δείτε το πιο κάτω σχήμα για ένα παράδειγμα). Έστω ότι υπάρχει ανεξάρτητο σύνολο Ι του G με Κ=m κόμβους. Εφόσον οποιοιδήποτε δύο κόμβοι του ίδιου τριγώνου συνδέονται με μια ακμή, θα υπάρχει προφανώς ακριβώς ένας κόμβος του Ι από κάθε τρίγωνο. Θυμηθείτε ότι οι κόμβοι αντιστοιχούν σε στοιχεία. Θεωρούμε τώρα ότι το γεγονός ότι ένας κόμβος ανήκει στο Ι σημαίνει ότι το αντίστοιχο στοιχείο Τ. Εφόσον δεν υπάρχουν ακμές μεταξύ των κόμβων του Ι, προκύπτει ότι για κανένα ζεύγος τέτοιων στοιχείων δεν είναι το ένα η άρνηση του άλλου, και συνεπώς μπορούν να αποτελέσουν τη βάση για μια απόδοση τιμών αληθείας Τ. Παρατηρήστε ότι η Τ μπορεί να μην είναι πλήρως ορισμένη για όλες τις μεταβλητές, καθώς το σύνολο των κόμβων του Ι μπορεί να μην καταφέρει να συμπεριλάβει όλες τις μεταβλητές, για παράδειγμα στο πιο πάνω σχήμα το ανεξάρτητο σύνολο που ορίζεται από τους συμπαγείς κύκλους δεν καθορίζει την τιμή της μεταβλητής x 3. Η Τ μπορεί να θέσει οποιαδήποτε τιμή αληθείας σε τέτοιες «απούσες» μεταβλητές. Η απόδοση τιμών αληθείας Τ που προκύπτει ικανοποιεί όλες τις συνθήκες διότι κάθε συνθήκη έχει τουλάχιστον ένα στοιχείο που ικανοποιείται από την Τ. Και αντίστροφα, δεδομένης οποιασδήποτε απόδοσης τιμών αληθείας που ικανοποιεί τον F, μπορούμε να κατασκευάσουμε ένα ανεξάρτητο σύνολο μεγέθους m αν επιλέξουμε για κάθε συνθήκη ένα κόμβο που αντιστοιχεί σε ένα στοιχείο με τιμή Τ. 6