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

Σχετικά έγγραφα
Σειρά Προβλημάτων 5 Λύσεις

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ασκήσεις μελέτης της 8 ης διάλεξης

Chapter 7, 8 : Time, Space Complexity

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

Αλγόριθμοι για αυτόματα

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

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

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

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

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

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

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

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

12. ΑΝΙΣΩΣΕΙΣ Α ΒΑΘΜΟΥ. είναι δύο παραστάσεις μιας μεταβλητής x πού παίρνει τιμές στο

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

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

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

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

Ανάλυση της Ορθότητας Προγραμμάτων (HR Κεφάλαιο 4)

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

CSC 314: Switching Theory

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

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

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

Σημειώσεις Λογικής I. Εαρινό Εξάμηνο Καθηγητής: Λ. Κυρούσης

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Λογική. Δημήτρης Πλεξουσάκης

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΘΕΩΡΗΤΙΚΗ ΑΣΚΗΣΗ 1 ΛΥΣΕΙΣ Ανάλυση Πολυπλοκότητας

Πληρότητα της μεθόδου επίλυσης

ΚΕΦΑΛΑΙΟ 3 ΤΟ ΔΙΩΝΥΜΙΚΟ ΘΕΩΡΗΜΑ

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

Chapter 7, 8 : Time, Space Complexity

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

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

Transcript:

Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Να δείξετε ότι οι πιο κάτω γλώσσες είναι διαγνώσιμες. (α) { G,k η G είναι μια ασυμφραστική γραμματική η οποία παράγει κάποια λέξη 1 n όπου n k } (β) { Μ,k η Μ είναι μια ΤΜ η οποία γράφει στην ταινία της το στοιχείο 0 μέσα στις k πρώτες κινήσεις της } (α) Η γλώσσα είναι διαγνώσιμη. Η γλώσσα διαγιγνώσκεται από την πιο κάτω ΤΜ η οποία μεταφράζει τη γραμματική εισόδου σε μια ισοδύναμη γραμματική σε μορφή Chomsky και στη συνέχεια συντάσσει όλες τις δυνατές παραγωγές 2k 1 βημάτων. Μ = Για είσοδο G, k, όπου G μια CFG και k ένας ακέραιος: 1. Μετατρέπουμε τη G σε μια ισοδύναμη γραμματική σε κανονική μορφή Chomsky. 2. Συντάσσουμε όλες τις παραγωγές μέχρι 2k 1 βημάτων. 3. Aν κάποια από τις παραγωγές έχει τη μορφή 1 n, αποδεχόμαστε, αλλιώς απορρίπτουμε. Τερματισμός και Ορθότητα: Όλες οι δυνατές παραγωγής 2k 1 βημάτων είναι πεπερασμένες σε πλήθος. Επομένως η Μ τερματίζει. Επιπλέον, από τη στιγμή που οποιαδήποτε λέξη με μήκος k μπορεί να παραχθεί σε μια γραμματική Chomsky μέσα σε 2k 1 το πολύ βήματα, αν πράγματι η G είναι σε θέση να παραγάγει οποιαδήποτε λέξη 1 n όπου n k, ο αλγόριθμος θα την εντοπίσει και θα απαντήσει θετικά. (β) Για να δείξουμε ότι η γλώσσα είναι διαγνώσιμη θα κατασκευάσουμε μια μηχανή Turing Μ η οποία θα παίρνει ως δεδομένο εισόδου την ΤΜ Μ και τον ακέραιο k και θα αποφασίζει κατά πόσο η Μ γράφει στην ταινία της το στοιχείο 0 μέσα στις k πρώτες κινήσεις της. Η μηχανή Μ που ορίζεται πιο κάτω απλά προσομοιώνει τη μηχανή Μ σε όλες τις λέξεις με μήκος k και μέσω ενός μετρητή μετρά τις κινήσεις που γίνονται. Αν η Μ γράφει στην ταινία της το στοιχείο 0 σε κάθε μια από τις λέξεις αυτές μέσα στις k πρώτες κινήσεις τότε η Μ αποδέχεται, διαφορετικά η Μ απορρίπτει: Μ = Για είσοδο Μ, k, όπου Μ μια ΤΜ και k ένας ακέραιος: 1. Για κάθε λέξη με μήκος k τρέξε την Μ για k βήματα. 2. Αν έστω μια από τις εκτελέσεις δεν γράφει το στοιχείο 0 στην ταινία τότε απόρριψε. Διαφορετικά αποδέξου. Τερματισμός: Η Μ πάντα τερματίζει αφού δεν έχει παρά να τρέξει k κινήσεις σε ένα πεπερασμένο σύνολο λέξεων (οι λέξεις με μήκος το πολύ k είναι πεπερασμένες). Ορθότητα: Αν το ζεύγος Μ, k ανήκει στη γλώσσα, τότε πρέπει σε κάθε λέξη w η μηχανή Μ να γράφει στην ταινία της το στοιχείο 0 μέσα στις πρώτες k κινήσεις της. Από τη στιγμή που η Μ μπορεί να διαβάσει το πολύ τα k πρώτα σύμβολα της w στις k πρώτες κινήσεις, αυτό σημαίνει ότι η Μ θα γράψει το 0 στην ταινία της μέσα στις πρώτες k κινήσεις της αν και μόνο αν η Μ γράψει το 0 στην ταινία της μέσα στις k πρώτες κινήσεις της για τη λέξη που περιέχει μόνο τα πρώτα k στοιχεία της w. Η ορθότητα του αλγόριθμου έπεται. Λύσεις Σειράς Προβλημάτων 5 Εαρινό Εξάμηνο 2013 Σελίδα 1

Άσκηση 2 Να δείξετε ότι οι πιο κάτω γλώσσες δεν είναι διαγνώσιμες. (α) {Μ η Μ είναι μια ΤΜ η οποία αποδέχεται πεπερασμένο αριθμό λέξεων} (β) {Μ,w η Μ είναι μια ΤΜ με δύο ταινίες και η w μια λέξη έτσι ώστε Μ, κατά τη διάρκεια του υπολογισμού της στο w θα επιχειρήσει να γράψει ένα μη κενό χαρακτήρα στη δεύτερη ταινία της } Είναι οι πιο πάνω γλώσσες αναγνωρίσιμες; Συμπληρωματικά αναγνωρίσιμες; (α) Θέλουμε να δείξουμε ότι η γλώσσα ΠΕΠ = {Μ η Μ είναι μια ΤΜ η οποία αποδέχεται πεπερασμένο αριθμό λέξεων} είναι μη διαγνώσιμη. Για να το δείξουμε θα αναγάγουμε μια γνωστή μη διαγνώσιμη γλώσσα, την Α ΤΜ, στην υπό μελέτη γλώσσα ΠΕΠ. Συγκεκριμένα, ας υποθέσουμε ότι η γλώσσα ΠΕΠ είναι διαγνώσιμη και η ΤΜ R είναι σε θέση να τη διαγνώσει. Με βάση τον διαγνώστη R θα κατασκευάσουμε ένα διαγνώστη S για το πρόβλημα Α ΤΜ. Αυτό μας οδηγεί σε αντίφαση και επομένως η ΠΕΠ είναι μια μη διαγνώσιμη γλώσσα. O διαγνώστης S έχει ως εξής: S = Με είσοδο Μ,w 1. Φτιάξε τη ΤΜ M η οποία με είσοδο x: Τρέχει τη Μ με είσοδο w. Αν η Μ αποδεχτεί το w τότε και η M αποδέχεται διαφορετικά απορρίπτει. 2. Τρέξε την R με είσοδο M. 3. Αν η R αποδεχτεί ΑΠΟΡΡΙΨΕ. 4. Αν η R απορρίψει ΑΠΟΔΕΞΟΥ. Εξετάζοντας την πιο πάνω μηχανή παρατηρούμε ότι αν η μηχανή Μ αποδέχεται τη λέξη w τότε η μηχανή Μ αποδέχεται όλες τις δυνατές εισόδους. Επομένως, αν η μηχανή Μ αποδέχεται τη λέξη w τότε η Μ αποδέχεται άπειρες λέξεις. Αντίθετα, αν η μηχανή Μ δεν αποδέχεται τη λέξη w, τότε η Μ δεν αποδέχεται καμιά από τις εισόδους της και επομένως αποδέχεται πεπερασμένο αριθμό λέξεων. Ως εκ τούτου, με είσοδο τη μηχανή Μ, o διαγνώστης R θα αποδεχτεί η μηχανή Μ δεν αποδέχεται τη λέξη w. Κατά συνέπεια ο διαγνώστης S θα αποδεχτεί η μηχανή Μ αποδέχεται τη λέξη w. Αυτό ολοκληρώνει την απόδειξη. (β) Θέλουμε να δείξουμε ότι η γλώσσα ΜΚ = {Μ,w η Μ είναι μια ΤΜ με δύο ταινίες και η w μια λέξη έτσι ώστε Μ, κατά τη διάρκεια του υπολογισμού της στο w θα επιχειρήσει να γράψει ένα μη κενό χαρακτήρα στη δεύτερη ταινία της } είναι μη διαγνώσιμη. Για να το δείξουμε θα αναγάγουμε σε αυτή μια γνωστή μη διαγνώσιμη γλώσσα, την Α TM. Συγκεκριμένα, ας υποθέσουμε ότι η γλώσσα ΜΚ είναι διαγνώσιμη και η ΤΜ R είναι σε θέση να τη διαγνώσει. Με βάση τον διαγνώστη R θα Λύσεις Σειράς Προβλημάτων 5 Εαρινό Εξάμηνο 2013 Σελίδα 2

κατασκευάσουμε ένα διαγνώστη S για το πρόβλημα Α ΤΜ. Αυτό μας οδηγεί σε αντίφαση και επομένως η ΜΚ είναι μια μη διαγνώσιμη γλώσσα. S := Με είσοδο Μ,w 1. Φτιάξε μια παραλλαγή της Μ, έστω Μ ως εξής: i. Μετάτρεψε τη Μ σε μια ΤΜ με μία ταινία, έστω Μ 1, χρησιμοποιώντας τον αλγόριθμο της διαφάνειας 7 45. ii. Ενίσχυσε την Μ 1 με μια δεύτερη ταινία, δημιουργώντας την ΤΜ Μ 2. iii. Κάθε μετάβαση στην κατάσταση αποδοχής της Μ 2, στην Μ να οδηγεί σε μια καινούρια κατάσταση q a από όπου η μηχανή να γράφει ένα μη κενό χαρακτήρα στη δεύτερη ταινία της και να οδηγείται στην κατάσταση αποδοχής. 2. Τρέξε την S με δεδομένο εισόδου την Μ και την w. 3. Αν η S αποδεχτεί τότε αποδέξου. 4. Αν η S απορρίψει τότε απόρριψε. Προφανώς, κάθε φορά που η μηχανή Μ γράφει ένα μη κενό χαρακτήρα στη δεύτερη ταινία της, η μηχανή Μ 1 έχει φτάσει στην κατάσταση αποδοχής. Αφού όμως η Μ 1 είναι ισοδύναμη με την Μ, και η Μ θα αποδεχόταν με την ίδια είσοδο. Επομένως, αν η μηχανή S αποδεχτεί την είσοδο Μ,w αυτό συνεπάγεται ότι η μηχανή Μ αποδέχεται το w, και αντίστροφα. Συνεπώς η S αποτελεί διαγνώστη για τη γλώσσα Α ΤΜ γεγονός που μας οδηγεί σε αντίφαση στην υπόθεσή μας ότι η γλώσσα ΜΚ είναι διαγνώσιμη. Θεωρώντας τώρα τα ερωτήματα κατά πόσο οι δύο γλώσσες είναι αναγνωρίσιμες ή συμπληρωματικά αναγνωρίσιμες οδηγούμαστε στα πιο κάτω συμπεράσματα: Η γλώσσα ΠΕΠ δεν είναι ούτε αναγνωρίσιμη ούτε συμπληρωματικά αναγνωρίσιμη. Για να το πετύχουμε, μπορούμε να αναγάγουμε τη γνωστή μη αναγνωρίσιμη γλώσσα Α ΤΜ στις και. Η αναγωγή της Α ΤΜ στην ΠΕΠ εισηγείται ότι η ΠΕΠ είναι μη συμπληρωματικά αναγνωρίσιμη και η αναγωγή της Α ΤΜ στην εισηγείται ότι η ΠΕΠ είναι μη αναγνωρίσιμη. Η πρώτη αναγωγή έχει ήδη διενεργηθεί στο σκέλος (α) ενώ η δεύτερη αναγωγή μπορεί να επιτευχθεί με αντίφαση και την πιο κάτω κατασκευή: S = Με είσοδο Μ,w 1. Φτιάξε τη ΤΜ M η οποία με είσοδο x: Τρέχει το Μ με είσοδο w. Αν η Μ αποδεχτεί το w τότε και η M αποδέχεται διαφορετικά απορρίπτει. 2. Τρέξε την R με είσοδο M. 3. Αν η R αποδεχτεί ΑΠΟΔΕΞΟΥ. 4. Αν η R απορρίψει ΑΠΟΡΡΙΨΕ. Η γλώσσα ΜΚ είναι αναγνωρίσιμη: μπορούμε να την αναγνωρίσουμε μέσω του πιο κάτω αναγνωριστή: S = Με είσοδο Μ,w 1. Προσομοίωσε την Μ στο w. 2. Αν η Μ επιχειρήσει να γράψει ένα μη κενό χαρακτήρα στη δεύτερη ταινία της, τότε αποδέξου. Διαφορετικά απόρριψε. Προφανώς, αν η Μ σε κάποιο σημείο κατά την εκτέλεσή της στο w επιχειρεί να γράψει ένα μη κενό χαρακτήρα στη δεύτερη ταινία της, τότε ο S θα τερματίσει και θα αποδεχτεί. Κατά Λύσεις Σειράς Προβλημάτων 5 Εαρινό Εξάμηνο 2013 Σελίδα 3

συνέπεια ο S αναγνωρίζει την ΜΚ και επομένως η ΜΚ είναι μια αναγνωρίσιμη γλώσσα. Με βάση το γεγονός αυτό και έχοντας ήδη αποδείξει ότι η ΜΚ είναι μια μη διαγνώσιμη γλώσσα τότε η ΜΚ είναι μη συμπληρωματικά αναγνωρίσιμη. (Αν μια γλώσσα είναι αναγνωρίσιμη και συμπληρωματικά αναγνωρίσιμη τότε είναι και διαγνώσιμη.) Άσκηση 3 Ένας λογικός τύπος βρίσκεται σε διαζευκτική κανονική μορφή (ΔΚΜ) αν αποτελεί τη διάζευξη ενός συνόλου λεξιγραμμάτων που συνδέονται μεταξύ τους μέσω της πράξης της σύζευξης. Για παράδειγμα ο πιο κάτω λογικός τύπος βρίσκεται σε ΔΚΜ: ( ) ( ) ( ) Το Πρόβλημα ΔΚΜ_ΑΛ ορίζεται ως εξής: ΔΚΜ_ΑΚ = {φ ο φ είναι ένας αληθεύσιμος ΔΚΜ τύπος} (α) Να δείξετε ότι το πρόβλημα ΔΚΜ_ΑΛ ανήκει στην κλάση Ρ. Το πρόβλημα ΔΚΜ_ΑΛ ανήκει στην κλάση Ρ υπάρχει αλγόριθμος που το επιλύνει σε πολυωνυμικό χρόνο. Πιο κάτω παρουσιάζουμε ένα τέτοιο αλγόριθμο. Με είσοδο ένα λογικό τύπο φ 1. Επιβεβαίωσε ότι ο φ βρίσκεται σε ΔΚΜ. 2. Αν όχι, τότε απόρριψε, διαφορετικά προχώρα στο βήμα 3. 3. Έστω ότι ο φ = (φ 1 φ n ) όπου φ i = ( ). Αν υπάρχει κάποιο j τέτοιο ώστε ο όρος φ j = να μην περιέχει οποιαδήποτε μεταβλητή και την άρνηση αυτής τότε απαντούμε θετικά, διαφορετικά απαντούμε αρνητικά. Ο πιο πάνω αλγόριθμος βασίζεται στην παρατήρηση ότι για να είναι ένας ΔΚΜ τύπος αληθεύσιμος, θα πρέπει να υπάρχει τουλάχιστον ένας όρος που δεν περιέχει την ίδια μεταβλητή και θετικά και αρνητικά. Για παράδειγμα, ο τύπος ( ) ( ) ( ) είναι αληθεύσιμος, π.χ. μπορούμε να θέσουμε a = True, b = c = True. Αντιθέτως ο τύπος ( ) ( ) δεν είναι αληθεύσιμος: για να γίνει ο τύπος αληθής θα πρέπει τουλάχιστον ο ένας από τους δύο όρους ( ) και ( ) να πάρει την τιμή True. Εντούτοις αυτό είναι αδύνατο. Χρόνος εκτέλεσης του αλγόριθμου: Τόσο το βήμα 1 όσο και το βήμα 3 μπορούν να υλοποιηθούν σε πολυωνυμικό χρόνο. Επομένως, το πρόβλημα ανήκει στην κλάση Ρ. (β) Να εντοπίσετε το σφάλμα στην πιο κάτω απόδειξη η οποία δείχνει ότι Ρ = ΝΡ. Έστω ότι μας δίνεται ένας τύπος σε 3ΣΚΜ και θέλουμε να δείξουμε ότι είναι αληθεύσιμος. Χρησιμοποιούμε τον κανόνα της επιμεριστικότητας ( a (b c) (a b) (a c) ) για να λάβουμε ότι ( ) =( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) Λύσεις Σειράς Προβλημάτων 5 Εαρινό Εξάμηνο 2013 Σελίδα 4

Τώρα μπορούμε να χρησιμοποιήσουμε τον αλγόριθμο από το μέρος (α) για να διαγνώσουμε, σε πολυωνυμικό χρόνο, κατά πόσο ο ΔΚΜ τύπος που έχει προκύψει είναι αληθεύσιμος. Αφού γνωρίζουμε ότι το πρόβλημα 3 SAT είναι ΝΡ πλήρες, συμπεραίνουμε ότι Ρ = ΝΡ. Το πρόβλημα στην απόδειξη εμφανίζεται στο σημείο όπου προκύπτει το συμπέρασμα ότι ο αλγόριθμος από το μέρος (α) μπορεί να χρησιμοποιηθεί για να λύσει το καινούριο πρόβλημα σε πολυωνυμικό χρόνο. Για να ήταν αυτό ορθό θα έπρεπε το πρόβλημα 3 SAT να μπορούσε να αναχθεί στο πρόβλημα του ΔΚΜ_ΑΚ σε πολυωνυμικό χρόνο. Εντούτοις, η μετατροπή που περιγράφεται στην «απόδειξη» δεν παίρνει πολυωνυμικό χρόνο αφού θα δημιουργήσει 3 n συζεύξεις όπου n είναι το πλήθος των φράσεων που συνδέονται με σύζευξη στην αρχική πρόταση. Άσκηση 4 Έχετε κληθεί να διοργανώσετε ένα πάρτι γνωριμίας για τους υπάλληλους κάποιας εταιρείας και τις οικογένειές τους. Συγκεκριμένα, σας δίνεται η ιεραρχική δομή της εταιρείας ως ένα δένδρο Τ και ένα σύνολο {(υ 1,δ 1 ),(υ 2,δ 2 ),,(υ n δ n )} που δηλώνει το μέγεθος της οικογένειας του κάθε υπαλλήλου συμπεριλαμβανομένου και του εαυτού του (ο υπάλληλος υ 1 έχει οικογένεια μεγέθους δ 1 και ούτω καθεξής). Καλείστε να επιλέξετε τους υπάλληλους της εταιρείας που θα πρέπει να καλεστούν μαζί με τις οικογένειές τους στο πάρτι έτσι ώστε να ικανοποιούνται τα πιο κάτω κριτήρια: 1. Το άθροισμα των μεγεθών των οικογενειών των προσκεκλημένων να είναι το μέγιστο δυνατό. 2. Αν κάποιος υπάλληλος καλεστεί στο πάρτι τότε δεν θα πρέπει να καλεστεί ο άμεσα προϊστάμενός του. Για παράδειγμα στο πιο κάτω σχήμα, ο Πρόεδρος είναι ο άμεσα προϊστάμενος των Διευθυντών Πωλήσεων και Έρευνας και έχει οικογένεια με 1 μέλος έναντι των οικογενειών με 6 και 2 μέλη των δύο διευθυντών. Παρατηρούμε ότι βέλτιστη επιλογή για το παράδειγμα θα ήταν να προσκληθούν ο Διευθυντής Πωλήσεων και οι δύο ερευνητές με τις οικογένειές τους (αριθμός προσκεκλημένων 6 + 4 + 3 = 13). Πρόεδρος: 1 Διευθυντής Πωλήσεων: 6 Διευθυντής Έρευνας: 2 Πωλητής 1: 1 Πωλητής 2: 3 Ερευνητής 1: 4 Ερευνητής 2: 3 (α) Να αποδείξετε ότι το πρόβλημα εύρεσης της βέλτιστης λύσης ανήκει στο Ρ. Λύσεις Σειράς Προβλημάτων 5 Εαρινό Εξάμηνο 2013 Σελίδα 5

Για να δείξουμε ότι το πρόβλημα ανήκει στην κλάση Ρ, πρέπει να καταστρώσουμε αλγόριθμο που να το επιλύνει σε χρόνο πολυωνυμικό. Ο αλγόριθμος είναι αναδρομικός και βασίζεται στις πιο κάτω παρατηρήσεις. Για κάθε άτομο x της εταιρείας μας ενδιαφέρει να υπολογίσουμε δύο τιμές: max1(x), το μέγιστο αριθμό καλεσμένων που μπορεί να επιτευχθεί από το υπόδενδρο που ριζώνει στο x, αν περιλάβουμε το άτομο x, και max2(x), το μέγιστο αριθμό καλεσμένων που μπορεί να επιτευχθεί από το υπόδενδρο που ριζώνει στο x, αν δεν περιλάβουμε το άτομο x. Οι δύο αυτές τιμές υπολογίζονται αναδρομικά όπως πιο κάτω, όπου x.family συμβολίζει τον αριθμό των μελών της οικογένειας του x. max1( x) x. family max2( x) ychild ( x) ychild ( x) max2( y) max{max1( y),max2( y)} Η πρώτη εξίσωση εκφράζει ότι ο βέλτιστος τρόπος για να επιλέξουμε εργαζόμενους περιλαμβανομένου του x από το υπόδενδρο του x είναι να επιλέξουμε εργαζόμενους από τα υπόδενδρα κάθε παιδιού του x, y, χωρίς να περιλάβουμε τον y. Η δεύτερη εξίσωση εκφράζει ότι ο βέλτιστος τρόπος για να επιλέξουμε εργαζόμενους μη περιλαμβανομένου του x από το υπόδενδρο του x είναι να επιλέξουμε εργαζόμενους από τα υπόδενδρα κάθε παιδιού του x, y, όπου ο y μπορεί να περιληφθεί ή όχι ανάλογα με το τι θα επιφέρει τον μεγαλύτερο αριθμό ατόμων. Άρα ο αλγόριθμος θα πρέπει να υπολογίσει για κάθε κόμβο τις δύο τιμές, ξεκινώντας από το τελευταίο επίπεδο του δένδρου και προχωρώντας προς τα πάνω. Παρατηρούμε ότι για οποιοδήποτε φύλλο y, max1(y)=y.family, max2(y)=0. Το ζητούμενο είναι η τιμή max{max1(r), max2(r)}, όπου r η ρίζα του δένδρου. Κάθε κόμβος εξετάζεται κάποιο σταθερό αριθμό φορών και επεξεργασία του απαιτεί σταθερό χρόνο, επομένως, η πολυπλοκότητα του αλγόριθμου είναι Θ(n), όπου n είναι ο αριθμός των κόμβων του δένδρου. Για υπολογισμό της λίστας καλεσμένων καλούμε την πιο κάτω αναδρομική διαδικασία με παράμετρο τη ρίζα του δένδρου: Invite(x) if max1(x) > max2(x) invite x to the party and for all grandchildren y of x Invite(y) else for all children y of x Invite(y) (β) Θεωρείστε τώρα επέκταση του προβλήματος όπου οι σχέσεις των υπαλλήλων της εταιρείας έχουν διατυπωθεί ως ένα γράφο G όπου υπάρχει ακμή από τον υπάλληλο Α προς τον υπάλληλο Β στον G αν ο Α υπήρξε κάποτε στο παρελθόν προϊστάμενος του Β. Θέλουμε και πάλι να δημιουργήσουμε μια λίστα καλεσμένων έτσι ώστε (1) να μεγιστοποιείται το άθροισμα των μελών των οικογενειών των καλεσμένων και (2) αν Λύσεις Σειράς Προβλημάτων 5 Εαρινό Εξάμηνο 2013 Σελίδα 6

καλεστεί ένας υπάλληλος να μην καλεστεί οποιοδήποτε άτομο υπήρξε στο παρελθόν προϊστάμενός του. Να δείξετε ότι το πρόβλημα { {(υ 1,δ 1 ),(υ 2,δ 2 ),,(υ n δ n )}, G, k υπάρχει λίστα καλεσμένων με άθροισμα μελών οικογενειών τουλάχιστον k} ανήκει στο ΝΡ. (Υπόδειξη: Να εφαρμόσετε αναγωγή από το πρόβλημα της ΚΛΙΚΑΣ}. Για να δείξουμε ότι το πρόβλημα είναι ΝΡ πλήρες αρκεί να δείξουμε ότι ένα γνωστό ΝΡπλήρες πρόβλημα μπορεί να αναχθεί σε αυτό. Η αναγωγή θα γίνει από το πρόβλημα ΚΛΙΚΑ. Συγκεκριμένα, θα δείξουμε ότι αν υπάρχει πολυωνυμική λύση για το πρόβλημα τότε υπάρχει πολυωνυμική λύση και για το πρόβλημα ΚΛΙΚΑ. Έστω ένας γράφος G= (V,E) και ακέραιος k. Θέλουμε να αποφασίσουμε κατά πόσο υπάρχει k Κλίκα στο γράφο. Θα κατασκευάσουμε μία τριάδα {(υ 1,δ 1 ),(υ 2,δ 2 ),,(υ n δ n )}, G, k με τέτοιο τρόπο έτσι ώστε να υπάρχει λίστα καλεσμένων με άθροισμα μελών οικογενειών τουλάχιστον k ο γράφος G περιέχει k κλίκα. Η κατασκευή αυτή έχει ως εξής: 1. Αρχικά θέτουμε δ 1 = δ 2 = = δ n = 1. Δηλαδή, υποθέτουμε ότι όλοι οι υπάλληλοι της εταιρείας έχουν οικογένεια ενός ατόμου. 2. Στη συνέχεια ορίζουμε το G = (V,E ) ως εξής: V = V (δηλαδή θεωρούμε ότι κάθε κόμβος του γράφου αντιστοιχεί με ένα υπάλληλο) και Ε = {όλες οι ακμές που δεν υπάρχουν στο Ε} (δηλαδή, αν δύο κορυφές συνδέονται μεταξύ τους στο γράφο G τότε δεν συνδέονται μεταξύ τους στον γράφο G ). Ορθότητα: Παρατηρούμε ότι Ο γράφος G περιέχει k Κλίκα υπάρχει ένα σύνολο από k κόμβους στον G που συνδέονται μεταξύ τους με ακμές υπάρχει ένα σύνολο από k κόμβους στον G που δεν συνδέονται μεταξύ τους με ακμές υπάρχει ένα σύνολο από k εργαζόμενους στην εταιρεία που δεν υπήρξαν ποτέ ό ένας προϊστάμενος του άλλου είναι δυνατό να οργανωθεί ένα πάρτι με τουλάχιστον k καλεσμένους. Συμπέρασμα: Αν το πρόβλημα της άσκησης επιλύεται σε πολυωνυμικό χρόνο τότε και το πρόβλημα ΚΛΙΚΑ επιλύεται σε πολυωνυμικό χρόνο. Επομένως το πρόβλημα της άσκησης είναι ΝΡ πλήρες. Λύσεις Σειράς Προβλημάτων 5 Εαρινό Εξάμηνο 2013 Σελίδα 7