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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

CSC 314: Switching Theory

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Αυτόματα και Υπολογιστικά Μοντέλα Automata and Models of Computation

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 2 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

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

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

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

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

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

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

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

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

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

Κανονικές Γλώσσες. ιδάσκοντες: Φ. Αφράτη,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

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

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

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

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

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

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

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

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

Άσκησηη 1. (α) Το αυτόματο. (γ) Να δείξετε όλα aabbb. Λύση. λέξεις. αυτόματο. (β) Τυπικά. μεταβάσεων δ. ορίζεται. (γ) Θα δείξουμε τα.

Chapter 9: NP-Complete Problems

Υπολογιστικά & Διακριτά Μαθηματικά

Το Πρόβλημα της Πινακοθήκης (The Art Gallery Problem)

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

Αυτοματοποιημένη Επαλήθευση

Transcript:

Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Να δείξετε ότι οι πιο κάτω γλώσσες είναι διαγνώσιμες. (α) { R η R είναι μια κανονική έκφραση η οποία παράγει μια μη πεπερασμένη γλώσσα} (β) { G η G είναι μια CFG η οποία παράγει τουλάχιστον μια λέξη επί του αλφάβητου {a,b} της οποία το πρώτο και το πέμπτο σύμβολο είναι τα ίδια } (α) S = Για είσοδο R όπου R μια κανονική έκφραση: 1. Κατασκευάζουμε το ισοδύναμο μη ντετερμινιστικό αυτόματο Ν. 2. Μετατρέπουμε το Ν σε ισοδύναμο ντετερμινιστικό αυτόματο D. 3. Χρησιμοποιούμε έναν από τους γνωστούς αλγόριθμους διάσχισης γράφων για να αποφασίσουμε κατά πόσο το D περιέχει κάποιο κύκλο από κατάσταση του οποίου είναι εφικτή η μετάβαση σε κάποια τελική κατάσταση του αυτομάτου. 4. Αν ναι τότε αποδεχόμαστε διαφορετικά απορρίπτουμε. (β) S = Για είσοδο G όπου G μια ασυμφραστική γραμματική: 1. Δημιουργούμε ένα NFA που αναγνωρίζει τη γλώσσα a(a b) 3 a(a b) * b(a b) 3 b(a b) * έστω Α. 2. Μετατρέπουμε το Α σε ένα ισοδύναμο DFA, έστω Β, χρησιμοποιώντας τον γνωστό αλγόριθμο μετατροπής NFA σε DFA. 3. Δημιουργούμε ένα PDA, έστω Ρ το οποίο αποδέχεται τη γλώσσα L(G) L(B). Συγκεκριμένα, αν G = Q 1, Σ, Γ, δ 1, q 1, F 1 και B = Q 2, Σ, δ 2, q 2, F 2 κατασκευάζουμε το P = Q, Σ, Γ, δ, q 0, F ως εξής: i. Καταστάσεις του P, είναι οι καταστάσεις (x,y) όπου x Q 1 και y Q 2 ii. q0 = (q1, q2) iii. Τελικές καταστάσεις του P, είναι οι καταστάσεις (x,y) όπου η x είναι τελική κατάσταση του G και η y τελική κατάσταση του B. iv. Στο αυτόματο P η μετάβαση ((x,y ),b ) δ((x,y),a,b) είναι εφικτή εφόσον η μετάβαση (x,b ) δ 1 (x,a,b) είναι εφικτή στο P και η μετάβαση y = δ 2 (y,a) είναι εφικτή στο αυτόματο D. 4. Μετατρέπουμε το P σε μια ισοδύναμη ασυμφραστική γραμματική, έστω H. 5. Εφαρμόζουμε την ΤΜ R, διαφάνεια 8 18 (ΚΕΝΟΤΗΤΑCFG), με δεδομένη τη γραμματική Η. Αν η R αποδεχτεί απορρίπτουμε, διαφορετικά αποδεχόμαστε. Άσκηση 2 Έστω γλώσσες Λ 1, Λ 2,, Λ k επί του αλφάβητου Σ τέτοιες ώστε: 1. Για κάθε i j ισχύει ότι Λ i Λ j =. 2. Λ 1 Λ 2 Λ k = Σ * 3. Για κάθε i, η γλώσσα Λ i είναι αναγνωρίσιμη. Να αποδείξετε ότι για κάθε i, η γλώσσα Λ i είναι διαγνώσιμη. Έστω μηχανές R i, 1 i k, όπου για κάθε i η μηχανή R i αναγνωρίζει τη γλώσσα Λ i. Η πιο κάτω μη ντετερμινιστική μηχανή Turing είναι σε θέση να διαγνώσει τη γλώσσα Λ i : Λύσεις Σειράς Προβλημάτων 5 Εαρινό Εξάμηνο 2017 Σελίδα 1

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

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

φ = c 1 c n και για κάθε i, 1 i n, c i = x i y i z i. H ανισοτιμοδοσία αυτή, αναθέτει σε κάθε λεξίγραμμα κάθε φράσης c i μια λογική τιμή έτσι ώστε σε κάθε φράση να υπάρχει τουλάχιστον ένα λεξίγραμμα με την τιμή TRUE και ένα λεξίγραμμα με την τιμή FALSE. Είναι εύκολο να δούμε ότι, αν αντιστρέψουμε την δοσμένη τιμοδοσία, σε κάθε φράση c i θα υπάρχει τουλάχιστον ένα λεξίγραμμα με την τιμή TRUE (ένα από αυτά που στην αρχική τιμοδοσία είχαν τιμή FALSE). Αυτό είναι αρκετό για τη φράση c i να πάρει τιμή TRUE και, κατ επέκταση, για τον τύπο φ να γίνει αληθής. (β) Έστω ΑΝΙΣΟΑΛΗΘΕΥΣΙΜΟΤΗΤΑ το σύνολο όλων των τύπων 3ΣΚΜ που επιδέχονται αληθοποιό ανισοτιμοδοσία. Δείξτε ότι, για να πάρουμε μια πολυωνυμικού χρόνου αναγωγή του προβλήματος 3SAT στο πρόβλημα ΑΝΙΣΟΑΛΗΘΕΥΣΙΜΟΤΗΤΑ αρκεί να αντικαταστήσουμε κάθε φράση c i = (y 1 y 2 y 3 ) με τις δύο φράσεις (y 1 y 2 z i ) και (z i y 3 b) όπου z i μια νέα μεταβλητή για τη φράση και b μια επιπρόσθετη νέα μεταβλητή, κοινή για όλες τις φράσεις. Έστω ένας τύπος φ. Θα μετατρέψουμε τον φ σε ένα ισοδύναμο τύπο φ όπου ο φ θα έχει αληθοποιό ανισοτιμοδοσία ο φ είναι αληθεύσιμος. Συγκεκριμένα, και σύμφωνα με την εισήγηση της εκφώνησης αντικαθιστούμε κάθε φράση c i = y 1 y 2 y 3 με τις δύο φράσεις (y 1 y 2 z i ) και (z i y 3 b) Παρατηρούμε ότι αν η φράση y 1 y 2 y 3 είναι αληθεύσιμη τότε θα πρέπει τουλάχιστον ένα από τα λεξιγράμματα y 1, y 2 και y 3 να παίρνει την τιμή True. Θεωρούμε ότι το b παίρνει την τιμή False. Ξεχωρίζουμε τις πιο κάτω περιπτώσεις: Έστω ότι y 1 = Τrue ή y 2 = Τrue, τότε οι φράσεις y 1 y 2 z i και z i y 3 b έχουν αληθοποιό τιμοδοσία για z i = False. Επίσης, η φράση y 1 y 2 y 3 είναι αληθεύσιμη. Έστω ότι y 1 = False και y 2 = False. Τότε η φράση y 1 y 2 y 3 είναι αληθεύσιμη αν και μόνο αν y 3 = Τrue οι φράσεις y 1 y 2 z i και z i y 3 b έχουν αληθοποιό τιμοδοσία (για z i = True). Συνεπώς, δοσμένου ενός τύπου εφαρμόζουμε τις πιο πάνω μετατροπές. Τρέχουμε τον αλγόριθμο για την ΑΝΙΣΟΑΛΗΘΕΥΣΙΜΟΤΗΤΑ στον τύπο που προκύπτει. Με βάση τα πιο πάνω η απάντηση θα είναι θετική ο τύπος φ είναι αληθεύσιμος. Οι μετατροπές απαιτούν πολυωνυμικό χρόνο εκτέλεσης. Επομένως το πιο πάνω αποτελεί αναγωγή πολυωνυμικού χρόνο του προβλήματος 3SAT στο πρόβλημα ΑΝΙΣΟΑΛΗΘΕΥΣΙΜΟΤΗΤΑ. (γ) Συμπεράνετε ότι το πρόβλημα της ΑΝΙΣΟΑΛΗΘΕΥΣΙΜΟΤΗΤΑΣ είναι ΝΡ πλήρες. Με βάση τα πιο πάνω και το δεύτερο θεώρημα στη Διαφάνεια 10 47, δεδομένου ότι το πρόβλημα της ΑΝΙΣΟΑΛΗΘΕΥΣΙΜΟΤΗΤΑΣ ανήκει στην κλάση ΝΡ (δείξτε το!), το ζητούμενο έπεται. Λύσεις Σειράς Προβλημάτων 5 Εαρινό Εξάμηνο 2017 Σελίδα 4

Άσκηση 5 Θεωρήστε το πιο κάτω πρόβλημα χρονοπρογραμματισμού. Σας δίνεται ένα κατάλογος μαθημάτων C 1,, C k, και ένας κατάλογος φοιτητών S 1,, S l. O κάθε φοιτητής θα πρέπει να εξεταστεί σε κάποιο προκαθορισμένο και γνωστό υποσύνολο των μαθημάτων σε ωριαία διαγωνίσματα έτσι ώστε κανένας φοιτητής να μην είναι αναγκασμένος να συμμετάσχει σε δύο διαγωνίσματα που πραγματοποιούνται την ίδια ώρα. Το πρόβλημα έγκειται στο να προσδιοριστεί εάν υπάρχει πρόγραμμα εξετάσεων το οποίο να δεσμεύει μόνο h ώρες. (α) Να διατυπώσετε αυτό το πρόβλημα υπό τη μορφή γλώσσας και να δείξετε ότι ανήκει στην κλάση ΝΡ. (β) Να δείξετε ότι η γλώσσα που ορίσατε στο σκέλος (α) είναι ΝΡ πλήρης μέσω αναγωγής από κάποια γνωστή ΝΡ πλήρη γλώσσα. (α) Διατυπώνουμε το πρόβλημα υπό μορφή γλώσσας ως εξής: SCHED = { C 1,, C k, S 1,, S l, M 1,, M l, h τα C 1,, C k, μαθήματα, οι S 1,, S l, φοιτητές, M 1,, M l, το σύνολο των μαθημάτων που παρακολουθεί κάθε φοιτητής, h κάποιος ακέραιος, και υπάρχει μια ανάθεση των μαθημάτων σε ώρες που δεν δεσμεύει περισσότερες από h ώρες και σύμφωνα με την οποία κανένας φοιτητής δεν είναι αναγκασμένος να συμμετάσχει σε δύο διαγωνίσματα που πραγματοποιούνται την ίδια ώρα} Ακολουθεί αλγόριθμος V που αποτελεί επαληθευτή πολυωνυμικού χρόνου για το πρόβλημα. V := Για είσοδο C 1,, C k, S 1,, S l, M 1,, M l, h όπου τα C 1,, C k, μαθήματα, οι S 1,, S l, φοιτητές, M 1,, M l, το σύνολο των μαθημάτων που παρακολουθεί κάθε φοιτητής, h κάποιος ακέραιος, και επιπρόσθετα Prog(C i ) = t i πρόγραμμα που αναθέτει κάποια ώρα στο διαγώνισμα του μαθήματος C i για κάθε i: 1. Αν για κάθε φοιτητή S i το Prog αναθέτει διαφορετικές ώρες σε κάθε μάθημα που παρακολουθεί ο φοιτητής και επιπρόσθετα το Prog δεσμεύει μόνο h ώρες, τότε αποδεχόμαστε. 2. Διαφορετικά, απορρίπτουμε. Ο χρόνος εκτέλεσης του επαληθευτή V είναι της τάξης Ο(l k 2 ) όπου l το πλήθος των φοιτητών και k το πλήθος των μαθημάτων. Επομένως ο V αποτελεί επαληθευτή πολυωνυμικού χρόνου για το πρόβλημα. (β) Για να δείξουμε ότι το πρόβλημα είναι ΝΡ πλήρες αρκεί να δείξουμε ότι ένα γνωστό ΝΡ πλήρες πρόβλημα μπορεί να αναχθεί σε αυτό. Η αναγωγή θα γίνει από το πρόβλημα k ΧΡΩΜΑΤΙΣΙΜΟΣ. Συγκεκριμένα, θα δείξουμε ότι αν υπάρχει πολυωνυμική λύση για το πρόβλημα SCHED τότε υπάρχει πολυωνυμική λύση και για το πρόβλημα k ΧΡΩΜΑΤΙΣΙΜΟΣ. Δημιουργούμε ένα γράφο G = (V, E) ως εξής: V : μια κορυφή για κάθε μάθημα C 1,, C k Ε : ακμή ανάμεσα σε δύο κορυφές υπάρχει αν τα σχετικά μαθήματα παρακολουθούνται και τα δύο από κάποιο φοιτητή, δηλαδή, υπάρχει λίστα Α i στην οποία ανήκουν και τα δύο μαθήματα. Ας υποθέσουμε ότι υπάρχει αλγόριθμος για το πρόβλημα SCHED. Τότε τρέχουμε τον σχετικό αλγόριθμο στο αρχικό πρόβλημα. Αν ο αλγόριθμος αποδεχτεί τότε απαντούμε ότι Λύσεις Σειράς Προβλημάτων 5 Εαρινό Εξάμηνο 2017 Σελίδα 5

ο γράφος που δημιουργήσαμε είναι h χρωματίσιμος διαφορετικά, αν απορρίψει, τότε απαντούμε ότι ο γράφος δεν είναι h χρωματίσιμος. Διαισθητικά, δύο κορυφές/μαθήματα συνδέονται μεταξύ τους αν δεν μπορούν να πραγματοποιηθούν ταυτόχρονα (γιατί παρακολουθούνται και τα δύο από τουλάχιστον ένα φοιτητή). Κατά τον χρωματισμό του γράφου τα χρώματα αναπαριστούν διαφορετικούς χρόνους διεξαγωγής της εξέτασης. Το ερώτημα είναι αν μπορούμε να χρωματίσουμε τις κορυφές του γράφου με h διαφορετικά χρώματα, έτσι ώστε γειτονικές κορυφές να έχουν διαφορετικό χρώμα, δηλαδή, να προγραμματίσουμε τις εξετάσεις των μαθημάτων σε h διαφορετικούς χρόνους χωρίς να έχουμε συγκρούσεις. Ορθότητα: Παρατηρούμε τα εξής: Ο γράφος G είναι h χρωματίσιμος Μπορούμε να χρωματίσουμε τους κόμβους του με h διαφορετικά χρώματα με τέτοιο τρόπο ώστε κανένα ζεύγος από γειτονικές κορυφές να μην έχουν το ίδιο χρώμα Μπορούμε να χρωματίσουμε τους κόμβους του με h διαφορετικά χρώματα με τέτοιο τρόπο ώστε κανένα ζεύγος από μαθήματα που παρακολουθούνται από κάποιο φοιτητή να μην έχουν το ίδιο χρώμα Μπορούμε να αναθέσουμε στα μαθήματα που αντιστοιχούν στους κόμβους του γράφου h διαφορετικές ώρες με τέτοιο τρόπο ώστε κανένα ζεύγος από μαθήματα που παρακολουθούνται από κάποιο φοιτητή να μην έχουν την ίδια ώρα εξέτασης υπάρχει λύση για το πρόβλημα SCHED Συμπέρασμα: Αν το πρόβλημα SCHED επιλύεται σε πολυωνυμικό χρόνο τότε και το πρόβλημα h ΧΡΩΜΑΤΙΣΙΜΟΣ επιλύεται σε πολυωνυμικό χρόνο. Επομένως το πρόβλημα h ΧΡΩΜΑΤΙΣΙΜΟΣ είναι ΝΡ πλήρες. Λύσεις Σειράς Προβλημάτων 5 Εαρινό Εξάμηνο 2017 Σελίδα 6