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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

CSC 314: Switching Theory

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Αυτόματα. Παράδειγμα: πωλητής καφέ (iii) Παράδειγμα: πωλητής καφέ (iv) Εισαγωγή στην Επιστήμη των Υπολογιστών. Προδιαγραφές

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

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

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

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

Αυτόματα. Παράδειγμα: πωλητής καφέ (iii) Παράδειγμα: πωλητής καφέ (iv) Εισαγωγή στην Επιστήμη των Υπολογιστών 6

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

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

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

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

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

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

Chapter 7, 8 : Completeness

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

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

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

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

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

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

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

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

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

Chapter 7, 8 : Time, Space Complexity

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

Σύνοψη Προηγούµενου. Γλώσσες χωρίς Συµφραζόµενα (2) Ισοδυναµία CFG και PDA. Σε αυτό το µάθηµα. Αυτόµατα Στοίβας Pushdown Automata

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

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

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

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

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

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

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

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

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

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

Ισοδυναμία Αιτ. Και μη Αιτ. Π.Α.

Μηχανές Turing (T.M) I

Transcript:

Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Πιο κάτω υπάρχει ένα σχεδιάγραμμα που τοποθετεί τις κλάσεις των κανονικών, ασυμφραστικών, διαγνώσιμων και αναγνωρίσιμων γλωσσών μέσα στο σύνολο όλων των γλωσσών. Ακολουθούν 12 αριθμημένες γλώσσες. Να γράψετε τον αριθμό κάθε γλώσσας στην κλάση που ανήκει. Σαν παράδειγμα έχουν ήδη τοποθετηθεί στο διάγραμμα οι αριθμοί των δύο πρώτων γλωσσών: η γλώσσα με αριθμό 1 είναι κανονική ενώ η γλώσσα με αριθμό 2 είναι αναγνωρίσιμη (αλλά δεν είναι ούτε διαγνώσιμη, ούτε ασυμφραστική, ούτε κανονική). Αναγνωρίσιμες Γλ. Όλες οι Γλώσσες 7 6 2 Διαγνώσιμες Γλ. Ασυμφραστικές Γλ. 10 9 Κανονικές Γλ. 12 2 1 3 8 11 5 4 1. Σ * 2. Α ΤΜ (Το πρόβλημα της Αποδοχής σε Μηχανές Turing) 3. { a i b j c k i,j,k 0 και i = j ή i = k ή j = k } 4. { D το D είναι ένα DFA το οποίο αποδέχεται όλες τις λέξεις στο Σ * } 5. { w {a,b} * η w περιέχει διπλάσιο αριθμό a από b } 6. k ΚΛΙΚΑ (To πρόβλημα εύρεσης k κλίκας σε ένα γράφο) 7. { Μ,k η Μ είναι μια ΤΜ η οποία αποδέχεται τουλάχιστον μια λέξη μήκους k } 8. { a i b j a j b i i, j > 0 } Λύσεις Σειράς Προβλημάτων 5 Χειμερινό Εξάμηνο 2018 Σελίδα 1

9. { Μ,w η Μ είναι μια ΤΜ η οποία εγκλωβίζεται στη λέξη w } 10. { ww R a w w {a,b} * } 11. { G 1, G 2 οι G 1 και G 2 είναι δύο CFG που παράγουν μια κοινή λέξη μήκους 100 } 12. { a k baba n k = n mod 2} Άσκηση 2 [30 μονάδες] Να δείξετε ότι οι πιο κάτω γλώσσες δεν είναι διαγνώσιμες. (α) { Μ η Μ είναι μια ΤΜ η οποία αποδέχεται όλες τις λέξεις επί του αλφάβητού της μήκους 2 και απορρίπτει όλες τις λέξεις μήκους 3 } (β) { Μ,w η Μ είναι μια ΤΜ και η w μια λέξη έτσι ώστε Μ, κατά τη διάρκεια του υπολογισμού της στο w, να μην επιχειρεί ποτέ να κινήσει την κεφαλή της αριστερά στην ταινία ενώ αυτή βρίσκεται στο αριστερότερο άκρο της ταινίας } Λύση: (α) Θέλουμε να δείξουμε ότι η γλώσσα 2 3 = { Μ η Μ είναι μια ΤΜ η οποία αποδέχεται όλες τις λέξεις επί του αλφάβητού της μήκους 2 και απορρίπτει όλες τις λέξεις μήκους 3 } είναι μη διαγνώσιμη. Για να το δείξουμε θα αναγάγουμε μια γνωστή μη διαγνώσιμη γλώσσα, την Α ΤΜ, στην υπό μελέτη γλώσσα ΘΥ3. Συγκεκριμένα, ας υποθέσουμε ότι η γλώσσα 2 3 είναι διαγνώσιμη και η ΤΜ R είναι σε θέση να τη διαγνώσει. Με βάση τον διαγνώστη R θα κατασκευάσουμε ένα διαγνώστη S για το πρόβλημα Α ΤΜ. Αυτό μας οδηγεί σε αντίφαση και επομένως η 2 3 είναι μια μη διαγνώσιμη γλώσσα. O διαγνώστης S έχει ως εξής: S = Με είσοδο Μ,w 1. Φτιάξε τη ΤΜ M η οποία με είσοδο x: (α) Αν η x έχει μήκος 3, η Μ απορρίπτει (β) Αν η x έχει μήκος 2, η Μ τρέχει το Μ με είσοδο w. Αν η Μ αποδεχτεί το w τότε και η M αποδέχεται διαφορετικά απορρίπτει. (γ) Διαφορετικά, η Μ αποδέχεται. 2. Τρέξε την R με είσοδο M. 3. Αν η R αποδεχτεί ΑΠΟΔΕΞΟΥ. 4. Αν η R απορρίψει ΑΠΟΡΡΙΨΕ. Εξετάζοντας την πιο πάνω μηχανή παρατηρούμε ότι η μηχανή Μ απορρίπτει όλες τις λέξεις μήκους 3 και αποδέχεται όλες τις λέξεις μήκους 2 αν και μόνο αν η η μηχανή Μ αποδέχεται τη λέξη w. Επομένως η R θα αποδεχθεί την Μ αν και μόνο αν η Μ αποδέχεται τη w. Συνεπώς η S αποδέχεται την είσοδο Μ,w αν και μόνο αν η Μ αποδέχεται τη w, που είναι και το ζητούμενο. Αυτό ολοκληρώνει την απόδειξη. Λύσεις Σειράς Προβλημάτων 5 Χειμερινό Εξάμηνο 2018 Σελίδα 2

(β) Έστω LEFT το πρόβλημα που αναφέρεται στην άσκηση. Για να δείξουμε ότι είναι μη επιλύσιμο (η γλώσσα είναι μη διαγνώσιμη) θα αναγάγουμε σε αυτό τη γνωστό μη διαγνώσιμη γλώσσα Α TM. Έστω Μ LEFT η ΤΜ που διαγιγνώσκει τη γλώσσα LEFT. Αξιοποιώντας τη μηχανή αυτή, θα κατασκευάσουμε ένα διαγνώστη για τη γλώσσα Α TM. S := Με είσοδο Μ,w 1. Φτιάξε μια παραλλαγή της Μ, έστω Μ, όπου i. Στην ταινία της Μ κάθε χαρακτήρας μεταφέρεται μια θέση δεξιά ii. Στο αριστερό άκρο γράφεται ο χαρακτήρας # iii. Κάθε μετάβαση στην κατάσταση αποδοχής της Μ, στην Μ να οδηγεί σε μια καινούρια κατάσταση q a από όπου η κεφαλή της ταινίας μετακινείται αριστερά μέχρι το # και η μηχανή εισέρχεται στην κατάσταση q left. iv. Αν η κεφαλή διαβάζει # αλλά δεν βρισκόμαστε στη κατάσταση q left τότε μετακινούμαστε μια θέση δεξιά. v. Αν η κεφαλή διαβάζει # και η μηχανή βρίσκεται στην κατάσταση q lef, τότε μετακινήσου μια θέση αριστερά. 2. Τρέξε την Μ LEFT με δεδομένο εισόδου την Μ 3. Αν η Μ LEFT αποδεχτεί τότε αποδέξου. 4. Αν η Μ LEFT απορρίψει τότε απόρριψε. Προφανώς όταν η μηχανή Μ κινεί προς τα αριστερά την κεφαλής της ενώ βρίσκεται στην αριστερότερη θέση της ταινίας σημαίνει ότι η Μ έχει φτάσει στην κατάσταση αποδοχής. Σε διαφορετική περίπτωση η κεφαλή της ταινίας θα κινείται πάντα προς τα δεξιά όταν βρίσκεται στο #, το αριστερό άκρο. Επομένως, κατασκευάσαμε διαγνώστη για τη γλώσσα Α ΤΜ γεγονός που μας οδηγεί σε αντίφαση στην υπόθεσή μας ότι η γλώσσα LEFT TM είναι διαγνώσιμη. Άσκηση 3 [20 μονάδες] Να αποδείξετε ότι η κλάση ΝΡ είναι κλειστή ως προς τις πράξεις της τομής και της σώρευσης. Ισχύει το ίδιο για την κλάση Ρ; Αποδείξτε την απάντησή σας. Λύση Κλειστότητα Κλάσης ΝΡ: Θα πρέπει να δείξουμε ότι: (α) Τομή: Αν οι Λ 1 και Λ 2 είναι γλώσσες της ΝΡ, τότε και η Λ 1 Λ 2 ανήκει στην ΝΡ. (β) Σώρευση: Αν η Λ είναι γλώσσα της Ρ, τότε και η Λ* ανήκει στην Ρ. (α) Έστω Λ 1 και Λ 2 γλώσσες της Ρ. Από τον ορισμό της κλάσης Ρ, υπάρχουν μη ντετερμινιστικές ΤΜ, έστω Ν 1 και Ν 2 οι οποίες διαγιγνώσκουν τις Λ 1 και Λ 2, αντίστοιχα, σε μη ντετερμινιστικό πολυωνυμικό χρόνο. Για να δείξουμε ότι και η Λ 1 Λ 2 ανήκει στην ΝΡ θα πρέπει να δείξουμε ότι υπάρχει μη ντετερμινιστική ΤΜ η οποία διαγιγνώσκει τη γλώσσα Λ 1 Λ 2 σε μη ντετερμινιστικό πολυωνυμικό χρόνο. Η ζητούμενη μηχανή είναι η εξής: Ν := Για είσοδο w 1. Τρέξε την Ν 1 στην w. Αν η Ν 1 αποδεχτεί, τότε προχώρα στο βήμα 2, διαφορετικά απόρριψε. Λύσεις Σειράς Προβλημάτων 5 Χειμερινό Εξάμηνο 2018 Σελίδα 3

2. Τρέξε την Ν 2 στην w. Αν η Ν 2 αποδεχτεί, τότε αποδέξου. 3. Διαφορετικά, απόρριψε. Ορθότητα: Η Ν αποδέχεται αν και μόνο αν η w είναι αποδεκτή από την Ν 1 και την Ν 2. Επομένως, από τον ορισμό των Ν 1 και Ν 2, η Ν αποδέχεται αν και μόνο αν η w Λ 1 Λ 2. Χρόνος εκτέλεσης: Αφού οι Ν 1 και Ν 2 έχουν μη ντετερμινιστικό πολυωνυμικό χρόνο εκτέλεσης, τόσο το Βήμα 1 όσο και το Βήμα 2 εκτελούνται σε μη ντετερμινιστικό πολυωνυμικό χρόνο. Συνεπώς, η Ν διαγιγνώσκει τη γλώσσα Λ 1 Λ 2 σε μη ντετερμινιστικό πολυωνυμικό χρόνο. (β) Έστω Λ γλώσσα της ΝΡ. Από τον ορισμό της κλάσης ΝΡ, υπάρχει ΤΜ, έστω Ν η οποία διαγιγνώσκει τη Λ σε μη ντετερμινιστικό πολυωνυμικό χρόνο. Για να δείξουμε ότι και Λ * ανήκει στην Ρ θα πρέπει να δείξουμε ότι υπάρχει ΤΜ η οποία διαγιγνώσκει τη γλώσσα Λ * σε μη ντετερμινιστικό πολυωνυμικό χρόνο. Η ζητούμενη μηχανή είναι η εξής: Ν := Για είσοδο w 1. Αν w=ε τότε αποδέξου. 2. Διαφορετικά, για κάθε δυνατό σπάσιμο της w σε i μέρη w = x 1 x 2 x i, όπου 1 i n, n = w και x i Σ*: a. Τρέξε την N στα x 1, x 2,, x i. Αν η N αποδεχτεί σε κάθε υπολέξη, τότε αποδέξου. b. Διαφορετικά, απόρριψε. Ορθότητα: Η Ν αποδέχεται την w αν και μόνο αν η w μπορεί να σπάσει σε ένα σύνολο από υπολέξεις που είναι αποδεκτές από την Ν. Επομένως, η Ν αποδέχεται αν και μόνο αν η w Λ *. Χρόνος εκτέλεσης: Αφού η Ν έχει μη ντετερμινιστικό πολυωνυμικό χρόνο εκτέλεσης η Ν έχει επίσης πολυωνυμικό χρόνο εκτέλεσης και το ζητούμενο έπεται. Κλειστότητα Κλάσης Ρ: Θα πρέπει να δείξουμε ότι: (α) Τομή: Αν οι Λ 1 και Λ 2 είναι γλώσσες της Ρ, τότε και η Λ 1 Λ 2 ανήκει στην Ρ. (β) Σώρευση: Αν η Λ είναι γλώσσα της Ρ, τότε και η Λ* ανήκει στην Ρ. (α) Έστω Λ 1 και Λ 2 γλώσσες της Ρ. Από τον ορισμό της κλάσης Ρ, υπάρχουν ΤΜ, έστω Μ 1 και Μ 2 οι οποίες διαγιγνώσκουν τις Λ 1 και Λ 2, αντίστοιχα, σε πολυωνυμικό χρόνο. Για να δείξουμε ότι και η Λ 1 Λ 2 ανήκει στην Ρ θα πρέπει να δείξουμε ότι υπάρχει ΤΜ η οποία διαγιγνώσκει τη γλώσσα Λ 1 Λ 2 σε πολυωνυμικό χρόνο. Η ζητούμενη μηχανή είναι η εξής: Μ := Για είσοδο w 1. Τρέξε την Μ 1 στην w. Αν η Μ 1 αποδεχτεί, τότε προχώρα στο βήμα 2, διαφορετικά απόρριψε. 2. Τρέξε την Μ 2 στην w. Αν η Μ 2 αποδεχτεί, τότε αποδέξου. 3. Διαφορετικά, απόρριψε. Ορθότητα: Η Μ αποδέχεται αν και μόνο αν η w είναι αποδεκτή από την Μ 1 και την Μ 2. Επομένως, από τον ορισμό των Μ 1 και Μ 2, η Μ αποδέχεται αν και μόνο αν η w Λ 1 Λ 2. Λύσεις Σειράς Προβλημάτων 5 Χειμερινό Εξάμηνο 2018 Σελίδα 4

Χρόνος εκτέλεσης: Αφού οι Μ 1 και Μ 2 έχουν πολυωνυμικό χρόνο εκτέλεσης, τόσο το Βήμα 1 όσο και το Βήμα 2 εκτελούνται σε πολυωνυμικό χρόνο. Συνεπώς, η Μ διαγιγνώσκει τη γλώσσα Λ 1 Λ 2 σε πολυωνυμικό χρόνο. (β) Έστω Λ γλώσσα της Ρ. Από τον ορισμό της κλάσης Ρ, υπάρχει ΤΜ, έστω Μ η οποία διαγιγνώσκει τη Λ σε ντετερμινιστικό πολυωνυμικό χρόνο. Για να δείξουμε ότι και η Λ * ανήκει στην Ρ θα πρέπει να δείξουμε ότι υπάρχει ΤΜ η οποία διαγιγνώσκει τη γλώσσα Λ * σε ντετερμινιστικό πολυωνυμικό χρόνο. Παρατηρούμε ότι αν απλά εφαρμόσουμε την ιδέα όπως υλοποιήθηκε για την περίπτωση της κλάση ΝΡ τότε ο αλγόριθμός μας δεν θα έχει πολυωνυμικό χρόνο εκτέλεσης: το σύνολο των δυνατών σπασιμάτων δεν είναι πολυωνυμικό έτσι η σειριακή εκτέλεση και αναζήτηση ανάμεσα σε όλα τα δυνατά σπασίματα θα οδηγήσει σε υπερ πολυωνυμικό αλγόριθμο. Εντούτοις υπάρχει πολυωνυμικός αλγόριθμος για το πρόβλημα ο οποίος βασίζεται σε δυναμικό προγραμματισμό ως εξής: Χρησιμοποιούμε ένα δισδιάστατο πίνακα Α[n,n] όπου n = w, w= x 1x 2 x n η λέξη εισόδου, όπου στη θέση Α[i,j] θα αποθηκεύουμε την τιμή True αν η λέξη x ix i+1 x j Λ *, Η ζητούμενη μηχανή είναι η εξής: M := Για είσοδο w 1. Αν w = ε τότε αποδέξου, διαφορετικά 2. Για i = 1 μέχρι n a. Για k = 1 μέχρι n (i 1) b. j = i+k 1 c. Τρέξε την Μ στη λέξη x ix i+1 x j d. Αν η Μ αποδεχθεί, θέσε Α[i,j] =True e. Διαφορετικά, i. Για m = i μέχρι j 1 ii. Αν Α[i,k] = True και Α[k+1,j]= True τότε θέσε Α[i,j] =True iii. Διαφορετικά Α[i,j] = False 3. Aν Α[1,n] = True τότε αποδέξου, διαφορετικά απόρριψε. Ορθότητα: Η Μ αποδέχεται τη w αν και μόνο αν η w μπορεί να σπάσει σε ένα σύνολο από υπολέξεις που είναι αποδεκτές από την Μ. Επομένως, η Μ αποδέχεται αν και μόνο αν w Λ *. Χρόνος εκτέλεσης: Το βήμα 2, εκτελεί n 2 επαναλήψεις. Αφού η Μ έχει ντετερμινιστικό πολυωνυμικό χρόνο εκτέλεσης, κάθε επανάληψη του βήματος απαιτεί πολυωνυμικό χρόνο εκτέλεσης. Επομένως η Μ έχει επίσης πολυωνυμικό χρόνο εκτέλεσης και το ζητούμενο έπεται. Άσκηση 4 [30 μονάδες] Ένας γράφος G = (V,E) με 2k κορυφές ονομάζεται k χαρταετός αν το σύνολο των κορυφών του μπορεί να χωριστεί σε δύο σύνολα κόμβων V 1 και V 2 όπου: Τα σύνολα V 1 και V 2 περιέχουν k κόμβους το κάθε ένα. Κάθε ζευγάρι κορυφών του V 1 συνδέονται μεταξύ τους μέσω ακμής. Οι κόμβοι του V 2 είναι ενωμένοι γραμμικά σε ένα μονοπάτι που καταλήγει σε μια από τις κορυφές του V 1. Πιο κάτω ακολουθούν παραδείγματα k χαρταετών. Λύσεις Σειράς Προβλημάτων 5 Χειμερινό Εξάμηνο 2018 Σελίδα 5

(i) 3-χαρταετός (ii) 4 χαρταετός (iii) 5-χαρταετός Με βάση την έννοια αυτή ορίζουμε τη γλώσσα k ΧΑΡΤΑΕΤΟΣ ως εξής: k ΧΑΡΤΑΕΤΟΣ = { G,k o G = (V,E) είναι ένα γράφος ο οποίος περιέχει ένα k χαρταετό}. (α) Να δείξετε ότι η γλώσσα k XΑΡΤΑΕΤΟΣ ανήκει στην κλάση ΝΡ. (β) Να δείξετε ότι η γλώσσα k ΧΑΡΤΑΕΤΟΣ είναι ΝΡ πλήρης μέσω αναγωγής από το γνωστό ΝΡ πλήρες πρόβλημα της Κλίκας. Λύση (α) Ακολουθεί αλγόριθμος Ν που αποτελεί μη ντετερμινιστικό διαγνώστη πολυωνυμικού χρόνου για το πρόβλημα. Ν := Για είσοδο G, k όπου G ένα μη κατευθυνόμενο γράφημα και k ένας ακέραιος: 1. Επιλέγουμε μη ντετερμινιστικά δύο σύνολα k κόμβων του G, έστω C 1 και C 2, ξένα μεταξύ τους 2. Αν κάθε ζεύγος κορυφών του C 1 συνδέεται μέσω ακμής, τότε προχώρησε στο βήμα 3, διαφορετικά απόρριψε. 3. Αν οι κορυφές του C 2 συνδέονται μεταξύ τους γραμμικά και επίσης με κάποια κορυφή του C 1, τότε αποδέξου, διαφορετικά απόρριψε. Ο χρόνος εκτέλεσης του Ν είναι πολυωνυμικός ως προς το μέγεθος του γράφου, επομένως ο Ν αποτελεί μη ντετερμινιστικό διαγνώστη πολυωνυμικού χρόνου για το πρόβλημα. Συμπεραίνουμε ότι το πρόβλημα ανήκει στην κλάση ΝΡ. (β) Για να δείξουμε ότι το πρόβλημα είναι ΝΡ πλήρες αρκεί να δείξουμε ότι ένα γνωστό ΝΡ πλήρες πρόβλημα μπορεί να αναχθεί σε αυτό. Η αναγωγή θα γίνει από το πρόβλημα ΚΛΙΚΑ. Συγκεκριμένα, θα δείξουμε ότι αν υπάρχει πολυωνυμική λύση για το πρόβλημα k ΧΑΡΤΑΕΤΟΣ τότε υπάρχει πολυωνυμική λύση και για το πρόβλημα ΚΛΙΚΑ. Έστω ένας γράφος G = (V,E) και παράμετρος k. Θέλουμε να αποφασίσουμε κατά πόσο υπάρχει k κλίκα στον γράφο. Κατασκευάζουμε τον γράφο G ως την επέκταση του γράφου G όπου εισάγουμε μια ακολουθία από k καινούριες κορυφές τις οποίες συνδέουμε μεταξύ τους γραμμικά και επιπρόσθετα επιλέγουμε ένα από τα δύο άκρα της γραμμικής ακολουθίας το οποίο ενώνουμε και με κάθε κορυφή του αρχικού γράφου. Δηλαδή, G = (V,E ) όπου V = V {u 1,, u k} για κορυφές u 1,, u k V Ε = E {(u 1,u 2),, (u k 1,u k)} {(v, u 1) v V} Ας υποθέσουμε ότι υπάρχει πολυωνυμική λύση για το πρόβλημα k ΧΑΡΤΑΕΤΟΣ. Τρέχουμε τον σχετικό αλγόριθμο στον γράφο G. Αν ο αλγόριθμος αποδεχτεί τότε απαντούμε ότι ο αρχικός μας γράφος περιέχει k κλίκα, διαφορετικά, αν απορρίψει, τότε απαντούμε ότι ο γράφος δεν περιέχει k κλίκα. Λύσεις Σειράς Προβλημάτων 5 Χειμερινό Εξάμηνο 2018 Σελίδα 6

Ορθότητα: Παρατηρούμε τα εξής: Ο γράφος G περιέχει k χαρταετό αν και μόνο αν υπάρχουν σύνολα V 1 και V 2 με k κόμβους το κάθε ένα στο V, όπου κάθε ζευγάρι κορυφών του V 1 συνδέονται μεταξύ τους μέσω ακμής και οι κόμβοι του V 2 είναι ενωμένοι γραμμικά σε ένα μονοπάτι που καταλήγει σε μια από τις κορυφές του V 1 αν και μόνο αv υπάρχει σύνολο V 1 με k κόμβους στο V, όπου κάθε ζευγάρι κορυφών του V 1 συνδέονται μεταξύ τους μέσω ακμής αν και μόνο αv ο γράφος G περιέχει k κλίκα. Συμπέρασμα: Αν το πρόβλημα k ΧΑΡΤΑΕΤΟΣ επιλύεται σε πολυωνυμικό χρόνο τότε και το πρόβλημα ΚΛΙΚΑ επιλύεται σε πολυωνυμικό χρόνο. Επομένως, αφού το πρόβλημα της ΚΛΙΚΑΣ είναι ΝΡ πλήρες και το πρόβλημα k ΧΑΡΤΑΕΤΟΣ είναι ΝΡ πλήρες. Λύσεις Σειράς Προβλημάτων 5 Χειμερινό Εξάμηνο 2018 Σελίδα 7