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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Μια TM µπορεί ένα από τα δύο: να αποφασίζει µια γλώσσα L. να αναγνωρίζει (ηµιαποφασίζει) µια γλώσσα L. 1. Η TM «εκτελεί» τον απαριθµητή, E.

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

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

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

Mh apofasisimèc gl ssec. A. K. Kapìrhc

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

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

CSC 314: Switching Theory

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

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

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

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

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

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

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

Διάλεξη 17: Συμφωνία με Βυζαντινά Σφάλματα. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

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

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

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

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

CSC 314: Switching Theory. Chapter 3: Turing Machines

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

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

Πλακίδια του Wang C πεπερασμένο σύνολο χρωμάτων.

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

f(t) = (1 t)a + tb. f(n) =

Παράδειγμα άμεσης απόδειξης. HY118-Διακριτά Μαθηματικά. Μέθοδοι αποδείξεως για προτάσεις της μορφής εάν-τότε

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

HY118-Διακριτά Μαθηματικά

Υπολογίσιμες Συναρτήσεις

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

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

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

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

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

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

Recursive and Recursively Enumerable sets I

Κατηγορηματικός Λογισμός (ΗR Κεφάλαιο )

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

Να επιλύουμε και να διερευνούμε την εξίσωση αx + β = 0, βάση τη γραφική παράσταση της ευθείας y = ax + β.

Αλγόριθµοι Οπισθοδρόµησης

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

Διάλεξη 04: Παραδείγματα Ανάλυσης

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

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

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

Chapter 7, 8 : Time, Space Complexity

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

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

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

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

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

L A P. w L A f(w) L B (10.1) u := f(w)

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

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

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

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

Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων

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

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

ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 4. Παραδείγματα Ανάλυσης Πολυπλοκότητας Ανάλυση Αναδρομικών Αλγόριθμων

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

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

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

Μη επιλυσιμότητα I. Απόδειξη. Ορίζουμε # # =

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

KΕΦΑΛΑΙΟ 1 ΧΡΗΣΙΜΕΣ ΜΑΘΗΜΑΤΙΚΕΣ ΕΝΝΟΙΕΣ. { 1,2,3,..., n,...

Διάλεξη 16: Πρόβλημα Συμφωνίας. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

Transcript:

Θεωρία Υπολογισμού και Πολυπλοκότητα Αναγωγές Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ανεπίλυτα Προβλήματα από τη Θεωρία Γλωσσών (5.1) To Πρόβλημα της Περάτωσης Το Πρόβλημα της Κενότητα Το Πρόβλημα της Ισοδυναμίας Απεικονιστικές Αναγωγές (5.3) ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 9-1

Από την προηγούμενη διάλεξη πρόγραμμα M είσοδος x για M U Το αποτέλεσμα της εφαρμογής του M στο x Η Καθολική Μηχανή Turing U παίρνει ως εισόδους ένα πρόγραμμα Μ και μια λέξη x και προσομοιώνει το Μ στο x. To πρόγραμμα M ορίζεται επίσης ως μια TM! ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 9-2

Από την προηγούμενη διάλεξη q acc q rej αποδοχή απόρριψη εγκλωβισμός τερματισμός A ΤΜ = { Μ, w η Μείναι μια ΤΜ που αποδέχεται τη λέξη w} Αναγνωρίσιμη γλώσσα: Μη διαγνώσιμη γλώσσα: Από καθολική TM U Θεώρημα του Turing ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 9-3

Το πρόβλημα της περάτωσης ΠΕΡΑΤΩΣΗ ΤΜ = { Μ, w η Μείναι μια ΤΜ που τερματίζει στη λέξη w} Θα δείξουμε ότι: Η γλώσσα ΠΕΡΑΤΩΣΗ ΤΜ είναι μη διαγνώσιμη. Θα επιχειρηματολογήσουμε ως εξής: Αν η γλώσσα ΠΕΡΑΤΩΣΗ ΤΜ είναι διαγνώσιμη, τότε, η γλώσσα Α ΤΜ πρέπει επίσης να είναι διαγνώσιμη. Από το Θεώρημα του Turing γνωρίζουμε ότι το δεύτερο δεν ισχύει. Επομένως η γλώσσα ΠΕΡΑΤΩΣΗ ΤΜ είναι μη διαγνώσιμη. ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 9-4

ΠΕΡΑΤΩΣΗ ΤΜ Έστω ότι η γλώσσα ΠΕΡΑΤΩΣΗ ΤΜ είναι διαγνώσιμη. Τότε, υπάρχει μηχανή Turing, R, η οποία διαγιγνώσκει την ΠΕΡΑΤΩΣΗ ΤΜ : M, w R αποδοχή αν M τερματίζει στη w απόρριψη αν M εγκλωβίζεται στη w Πως μπορούμε να αξιοποιήσουμε την R για να διαγνώσουμε την Α ΤΜ ; M, w αποδοχή αν M? αποδέχεται τη w απόρριψη αν M απορρίπτει ή εγκλωβίζεται στη w ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 9-5

ΠΕΡΑΤΩΣΗ ΤΜ M, w acc Τρέξε Uτο Μ στο w acc rej S αποδοχή αν R αποδέχεται το M, w και το Μ αποδέχεται το w R rej απόρριψη αν το R απορρίπτει το M, w ή το Μ απορρίπτει το w ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 9-6

ΠΕΡΑΤΩΣΗ ΤΜ ΠΕΡΑΤΩΣΗ ΤΜ = { Μ, w η Μείναι μια ΤΜ που τερματίζει στη λέξη w} A ΤΜ = { Μ, w η Μείναι μια ΤΜ που αποδέχεται τη λέξη w} Ας υποθέσουμε ότι η γλώσσα ΠΕΡΑΤΩΣΗ ΤΜ είναι διαγνώσιμη και R μια ΤΜ που τη διαγιγνώσκει. Τότε, μπορούμε να κατασκευάσουμε την πιο κάτω ΤΜ η οποία διαγιγνώσκει την A TM : S = Με είσοδο M, w, Τρέξε την R με είσοδο M, w. Αν η R απορρίψει, απόρριψε. Αν η R αποδεχτεί τρέξε τη U με είσοδο M, w Αν η U αποδεχτεί, αποδέξου. Αν η U απορρίψει, απόρριψε. Αντίφαση! Η A TM είναι μη διαγνώσιμη, επομένως και η ΠΕΡΑΤΩΣΗ ΤΜ είναι μη διαγνώσιμη ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 9-7

Μέθοδος Αναγωγής Στην απόδειξη μας χρησιμοποιήσαμε τη «Μέθοδο της Αναγωγής» Η μέθοδος αυτή μας επιτρέπει να δείξουμε ότι ένα πρόβλημα είναι υπολογιστικά μη επιλύσιμο. ΟΡΙΣΜΟΣ Αναγωγή είναι η μετατροπή κάποιου προβλήματος σε κάποιο άλλο η οποία γίνεται με τέτοιο τρόπο ώστε η λύση του δεύτερου προβλήματος να μπορεί να χρησιμοποιηθεί για την επίλυση του πρώτου. Λέμε ότι το πρόβλημα Α μπορεί να αναχθεί στο πρόβλημα Β αν υπάρχει αναγωγή από το Α στο Β, δηλαδή, αν μπορούμε να μετατρέψουμε το πρόβλημα Α στο Β έτσι ώστε επίλυση του Β να επιλύει και το Α. Π.χ., η γλώσσα Α ΤΜ μπορεί να αναχθεί στη γλώσσα ΠΕΡΑΤΩΣΗ ΤΜ : διάγνωση της ΠΕΡΑΤΩΣΗ ΤΜ οδηγεί στη διάγνωση της Α ΤΜ. ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 9-8

Μέθοδος Αναγωγής Παράδειγμα Θεωρείστε τα πιο κάτω προβλήματα: Πρόβλημα Α: Υπολόγισε την περίμετρο ενός τετραγώνου Πρόβλημα Β: Μέτρα το μήκος της πλευράς x ενός τετραγώνου και επέστρεψε 4 x. Το πρόβλημα Α μπορεί να αναχθεί στο πρόβλημα Β: Αν λύσω το Β τότε θα έχω λύσει και το Α Επιπλέον: Το Α δεν είναι δυσκολότερο πρόβλημα από το Β αφού το Β προσφέρει μια λύση για αυτό. ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 9-9

Μέθοδος Αναγωγής Αν ένα πρόβλημα Α μπορεί να «αναχθεί» σε ένα πρόβλημα Β τότε: Αν το Β είναι επιλύσιμο τότε και το Α είναι επιλύσιμο Αν το Α είναι μη επιλύσιμο τότε και το Β είναι μη επιλύσιμο Σημείωση: Αν το Β δεν είναι επιλύσιμο αυτό δεν σημαίνει απαραίτητα ότι και το Α δεν είναι επιλύσιμο (δυνατόν να υπάρχει άλλη λύση για Α). Μεθόδος Αναγωγής για επίδειξη της μη επιλυσιμότητας/μη διαγνωσιμότητας Έστω γλώσσα Λ 1. Για να δείξουμε ότι η Λ 1 είναι μη διαγνώσιμη: 1. Εντοπίζουμε μη διαγνώσιμη γλώσσα Λ 2 τέτοια ώστε η Λ 2 να μπορεί να αναχθεί στη Λ 1. 2. Επιδεικνύουμε την αναγωγή: αν υπάρχει διαγνώστης για τη Λ 1 τότε υπάρχει διαγνώστης για τη Λ 2. 3. Αφού η Λ 2 είναι μη διαγνώσιμη καταλήγουμε σε αντίφαση. 4. Επομένως, και η Λ 1 είναι μη διαγνώσιμη ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 9-10

Η αναγωγή στην απόδειξή μας Αναγωγή: Δείξαμε ότι η γλώσσα Α ΤΜ ανάγεται στην ΠΕΡΑΤΩΣΗ ΤΜ Έστω ότι υπάρχει μια μηχανή R που διαγιγνώσκει την ΠΕΡΑΤΩΣΗ ΤΜ. Με τη βοήθεια της R κατασκευάσαμε μια μηχανή S που διαγιγνώσκει την Α ΤΜ. Επομένως: Αν η R διαγιγνώσκει την ΠΕΡΑΤΩΣΗ ΤΜ τότε η S διαγιγνώσκει την Α ΤΜ Γνωρίζουμε όμως ότι η Α ΤΜ είναι μη διαγνώσιμη η S είναι αδύνατον να υπάρχει η R είναι αδύνατον να υπάρχει η ΠΕΡΑΤΩΣΗ ΤΜ είναι μη διαγνώσιμη ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 9-11

Παράδειγμα 1 ΑΠΟΔΟΧΗε TM = { M η M είναι μια TM η οποία αποδέχεται το ε} Η γλώσσα είναι διαγνώσιμη η μη διαγνώσιμη ;; Βήμα 1: Εξοικείωση με τη γλώσσα και σύνδεση με γνωστά προβλήματα Για να αποφασίσουμε κατά πόσο η M αποδέχεται το ε, θα πρέπει να προσομοιώσουμε το ε στη Μ. Είναι όμως δυνατό στην πορεία να εγκλωβιστούμε! Βήμα 2: Αποδεικνύουμε με τη Μέθοδο της Αναγωγής. Αν δεν υπάρχει περίπτωση να εγκλωβιστούμε στο ε τότε δεν θα εγκλωβιστούμε σε καμιά λέξη. ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 9-12

Παράδειγμα 1 Εντοπισμός της αναγωγής Έστω R διαγνώστης της ΑΠΟΔΟΧΗε TM : Η R με δεδομένο εισόδου μια οποιαδήποτε ΤΜ Μ ενημερώνει κατά πόσο η Μ αποδέχεται το ε. M = ;; R αποδοχή αν M αποδέχεται το ε απόρριψη αν Μ δεν αποδέχεται το ε Τι να δώσουμε ως είσοδο στο R για να διαγνώσουμε τη γλώσσα Α TM ; ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 9-13

Παράδειγμα 1: Εντοπισμός της αναγωγής Για να διαγνώσουμε τη γλώσσα Α TM η μηχανή που θα φτιάξουμε πρέπει να λειτουργεί ως εξής: M, w ; M R S αποδοχή αν η M αποδέχεται το w απόρριψη αν όχι Τι να δώσουμε ως είσοδο στο R για να διαγνώσουμε τη γλώσσα Α TM ; Θα πρέπει η Μ να αποδέχεται το ε αν και μόνο αν η Μ αποδέχεται το w. ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 9-14

Παράδειγμα 1: Υλοποίηση της αναγωγής Επομένως η βοηθητική μας ΤΜ πρέπει για οποιαδήποτε είσοδο M, w να κατασκευάσει μια καινούρια μηχανή Μ τέτοια ώστε η Μ να αποδέχεται την ε αν και μόνο αν η Μ αποδέχεται την w. M, w κατασκεύασε την M M Θα φτιάξουμε την M έτσι ώστε σε κάθε δεδομένο της να τρέχει για w: M = Για είσοδο z, Τρέξε τη M στο w Αν η M αποδέχεται το w, τότε αποδέξου. Διαφορετικά, απόρριψε ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 9-15

Παράδειγμα 1: Υλοποίηση της αναγωγής M = Για είσοδο z, Τρέξε τη M στο w Αν η M αποδέχεται το w, τότε αποδέξου. Διαφορετικά, απόρριψε Τι θα κάνει η R με είσοδο την Μ ; Εξ ορισμού, θα αποδεχτεί αν η Μ αποδέχεται την ε, διαφορετικά θα απορρίψει. Πότε η Μ αποδέχεται την ε; Η Μ αποδέχεται την ε εφόσον η Μ αποδέχεται την w. Επομένως, για είσοδο Μ η R θα Αποδεχτεί αν η Μ αποδέχεται το ε, που θα συμβεί αν η Μ αποδέχεται το w. Απορρίψει αν η Μ δεν αποδέχεται το ε, που θα συμβεί αν η Μ δεν αποδέχεται το w. ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 9-16

Παράδειγμα 1: Η απόδειξη ΑΠΟΔΟΧΗε TM = { M η M είναι μια TM η οποία αποδέχεται το ε} A TM = { M, w η M είναι μια TM που αποδέχεται τη λέξη w} Υποθέτουμε ότι η γλώσσα ΑΠΟΔΟΧΗε TM είναι διαγνώσιμη και η ΤΜ R είναι σε θέση να τη διαγνώσει. Τότε: S = Με είσοδο M, w όπου M μια TM και w μια λέξη Κατασκεύασε τη TM M : M = Με είσοδο z, Τρέξε τη M με είσοδο w Τρέξε την R με είσοδο M και απάντησε με το αποτέλεσμά της. Τότε η S αποδέχεται το M, w αν και μόνο αν η M αποδέχεται το w Επομένως η S διαγιγνώσκει τη γλώσσα A TM. Αντίφαση! ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 9-17

Παράδειγμα 2 ΚΑΠΟΙΑ TM = { M η M είναι μια TM η οποία αποδέχεται κάποια λέξη} Η γλώσσα είναι διαγνώσιμη η μη διαγνώσιμη ;; Βήμα 1: Εντοπισμός αναγωγής Για να αποφασίσουμε κατά πόσο η M αποδέχεται κάποια λέξη, θα χρειαστεί να προσομοιώσουμε τη λειτουργία της Μ. Είναι όμως δυνατό στην πορεία να εγκλωβιστούμε! Βήμα 2: Αποδεικνύουμε με τη Μέθοδο της Αναγωγής. ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 9-18

Παράδειγμα 2 Εντοπισμός της αναγωγής Έστω R διαγνώστης της ΚΑΠΟΙΑ TM : Η R με δεδομένο εισόδου μια οποιαδήποτε ΤΜ Μ ενημερώνει κατά πόσο η Μ αποδέχεται κάποια λέξη M = ;; R αποδοχή αν η M αποδέχεται κάποια λέξη απόρριψη αν Μ δεν αποδέχεται καμιά λέξη Τι να δώσουμε ως είσοδο στο R για να διαγνώσουμε τη γλώσσα Α TM ; ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 9-19

Παράδειγμα 2: Εντοπισμός της αναγωγής Για να διαγνώσουμε τη γλώσσα Α TM η μηχανή που θα φτιάξουμε πρέπει να λειτουργεί ως εξής: M, w ; M R S αποδοχή αν η M αποδέχεται το w απόρριψη αν όχι Τι να δώσουμε ως είσοδο στο R για να διαγνώσουμε τη γλώσσα Α TM ; Θα πρέπει η Μ να αποδέχεται κάποια λέξη αν και μόνο αν η Μ αποδέχεται το w. ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 9-20

Παράδειγμα 2: Υλοποίηση της αναγωγής Επομένως η βοηθητική μας ΤΜ πρέπει για οποιαδήποτε είσοδο M, w να κατασκευάσει μια καινούρια μηχανή Μ τέτοια ώστε η Μ να αποδέχεται κάποια λέξη αν και μόνο αν η Μ αποδέχεται το w. M, w κατασκεύασε την M M Θα φτιάξουμε την M έτσι ώστε σε κάθε δεδομένο της να τρέχει για w: M = Για είσοδο z, Τρέξε τη M στο w Αν η M αποδέχεται το w, τότε αποδέξου. Διαφορετικά, απόρριψε Επομένως, η R θα διαγνώσει κατά πόσο η Μ αποδέχεται το w! ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 9-21

Παράδειγμα 2: Η απόδειξη ΚΑΠΟΙΑ TM = { M η M είναι μια TM η οποία αποδέχεται κάποια λέξη} A TM = { M, w η M είναι μια TM που αποδέχεται τη λέξη w} Υποθέτουμε ότι η γλώσσα ΚΑΠΟΙΑ TM είναι διαγνώσιμη και η ΤΜ R είναι σε θέση να τη διαγνώσει. Τότε: S = Με είσοδο M, w όπου M μια TM και w μια λέξη Κατασκεύασε τη TM M : M = Με είσοδο z, Τρέξε τη M με είσοδο w Τρέξε την R με είσοδο M και απάντησε με το αποτέλεσμά της. Τότε η S αποδέχεται το M, w αν και μόνο αν η M αποδέχεται το w Επομένως η S διαγιγνώσκει τη γλώσσα A TM. Αντίφαση! ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 9-22

Παράδειγμα 3 ΚΕΝΟΤΗΤΑ TM = { M η M είναι μια TM η οποία δεν αποδέχεται καμιά είσοδο} Η γλώσσα είναι διαγνώσιμη η μη διαγνώσιμη ;; Βήμα 1: Αναγωγή; Η γλώσσα αυτή αποτελεί το συμπλήρωμα της γλώσσας ΚΑΠΟΙΑ ΤΜ Βήμα 2: Αποδεικνύουμε με τη Μέθοδο της Αναγωγής ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 9-23

Παράδειγμα 3: Η απόδειξη ΚΕΝΟΤΗΤΑ TM = { M η M είναι μια TM η οποία δεν αποδέχεται καμιά είσοδο} ΚΑΠΟΙΑ TM = { M η M είναι μια TM η οποία αποδέχεται κάποια λέξη} Υποθέτουμε ότι η γλώσσα ΚΕΝΟΤΗΤΑ TM είναι διαγνώσιμη και η ΤΜ R είναι σε θέση να τη διαγνώσει. Τότε: S = Με είσοδο M όπου M μια TM Τρέξε την R με είσοδο M. Αν η R αποδέχεται, τότε απόρριψε Διαφορετικά, αποδέξου. Επομένως η S διαγιγνώσκει τη γλώσσα ΚΕΝΟΤΗΤΑ TM. Αντίφαση! ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 9-24

Παράδειγμα 4 ΙΣΟΔΥΝΑΜΙΑ TM = { M 1, Μ 2 οι M 1, Μ 2 είναι δύο TM τ.ω. L(M 1 )= L(Μ 2 )} Η γλώσσα είναι διαγνώσιμη ή μη διαγνώσιμη ;; Βήμα 1: Αναγωγή; Αν μπορούμε να συγκρίνουμε δύο τυχούσες γλώσσες μπορούμε να συγκρίνουμε και μια γλώσσα με την κενή γλώσσα. Αναγωγή προς ΚΕΝΟΤΗΤΑ ΤΜ Βήμα 2: Αποδεικνύουμε με τη Μέθοδο της Αναγωγής ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 9-25

Παράδειγμα 4: Η απόδειξη ΙΣΟΔΥΝΑΜΙΑ TM = { M 1, Μ 2 οι M 1, Μ 2 είναι δύο TM τ.ω. L(M 1 ) = L(Μ 2 )} ΚΕΝΟΤΗΤΑ TM = { M η M είναι μια TM η οποία δεν αποδέχεται καμιά είσοδο} Υποθέτουμε ότι η γλώσσα ΚΕΝΟΤΗΤΑ TM είναι διαγνώσιμη και η ΤΜ R είναι σε θέση να τη διαγνώσει. Τότε: S = Με είσοδο M όπου M μιαtm Κατασκεύασε τη TM M : M = Με είσοδο z, απόρριψε Τρέξε την R με είσοδο Μ, M και απάντησε με το αποτέλεσμά της. Τότε η S αποδέχεται τη M αν και μόνο αν η M είναι ισοδύναμη με μια μηχανή που παράγει την κενή γλώσσα. Επομένως η S διαγιγνώσκει τη γλώσσα ΚΕΝΟΤΗΤΑ TM. Αντίφαση! ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 9-26

Απεικονιστικές Αναγωγές Πώς μπορούμε να περιγράψουμε μαθηματικά ότι ένα πρόβλημα Α ανάγεται σε ένα άλλο πρόβλημα Β? Υπάρχει μια υπολογίσιμη συνάρτηση που μετατρέπει τα στιγμιότυπα του Α σε στιγμιότυπα του Β Αν έχουμε μια τέτοια συνάρτηση μετατροπής, τότε μπορούμε να επιλύσουμε το Α χρησιμοποιώντας κάποιον αλγόριθμο που επιλύει το Β. ΟΡΙΣΜΟΣ Μια συνάρτηση f : Σ * Σ * λέγεται υπολογίσιμη αν υπάρχει ΤΜ που, για κάθε είσοδο w, τερματίζει έχοντας στην ταινία της μόνο τη λέξη f(w). ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 9-27

Παραδείγματα υπολογίσιμων συναρτήσεων Αριθμητικές πράξεις πάνω στους δυαδικούς αριθμούς Αριθμητικές πράξεις πάνω στους ακεραίους Η συνάρτηση που, με δεδομένο εισόδου μια ΤΜ επιστρέφει μια ΤΜ η οποία δεν προσπαθεί ποτέ να μετακινήσει την κεφαλή της ταινίας της πέρα από το αριστερότερο άκρο της ταινίας. ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 9-28

Τυπικός Ορισμός της Απεικονιστικής Αναγωγιμότητας ΟΡΙΣΜΟΣ Μια γλώσσα Α είναι απεικονιστικά αναγώγιμη στη γλώσσα Β, Α m Β, αν υπάρχει υπολογίσιμη συνάρτηση f : Σ * Σ *, τέτοια ώστε, για κάθε w, w Α f(w) Β. Η συνάρτηση f είναι η αναγωγή της Α στη Β. Χρήση: Για να δείξουμε ότι η Β δεν είναι διαγνώσιμη: Προσδιορίζω μια γλώσσα Απου είναι γνωστό ότι είναι μη διαγνώσιμη Εντοπίζω αναγωγή της Α στη Β. w Α f(w) Β. ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 9-29

ΘΕΩΡΗΜΑ 1 Χρήση Αναγωγών Αν Α m Β και η Β είναι διαγνώσιμη τότε και η Α είναι διαγνώσιμη. Απόδειξη: Υποθέστε ότι M διαγνώστης της Βκαι f μια αναγωγή από το Α στο Β. Κατασκευάζουμε την πιο κάτω ΤΜ Ν = Για είσοδο w: 1. Υπολογίζουμε τη λέξη f(w). 2. Εκτελούμε την Μ για είσοδο f(w) και επιστρέφουμε ως έξοδο την έξοδο της Μ. Ορθότητα: Αφού w Α αν και μόνο αν f(w) Β, τότε η Ν θα αποδεχτεί την f(w) αν και μόνο αν w Α. Τερματισμός: Αφού η Μ τερματίζει, τότε και η Ν θα τερματίσει. Συμπέρασμα: Η Ν είναι ένας διαγνώστης της Α. ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 9-30

Αναγωγές και Μη Διαγνωσιμότητα Από το Θεώρημα 1, προκύπτει το πιο κάτω πόρισμα. ΠΟΡΙΣΜΑ 1 Αν Α m Β και η Α είναι μη διαγνώσιμη τότε και η Β είναι μη διαγνώσιμη. Αυτό το πόρισμα συλλαμβάνει τη Μέθοδο της Αναγωγής για απόδειξη της μη διαγνωσιμότητας μιας γλώσσας. ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 9-31

Παράδειγμα Να δείξετε ότι Α ΤΜ m ΠΕΡΑΤΩΣΗ ΤΜ δηλ., η Α ΤΜ είναι απεικονιστικά αναγώγιμη στην ΠΕΡΑΤΩΣΗ ΤΜ. Από τον ορισμό, πρέπει να εντοπίσουμε υπολογίσιμη συνάρτηση f που για κάθε είσοδο Μ,w να επιστρέφει ως έξοδο κάποιο Μ,w τ.ω. Μ,w Α ΤΜ αν και μόνο αν Μ,w ΠΕΡΑΤΩΣΗ ΤΜ F = Για είσοδο Μ,w, όπου Μ μια ΤΜ και w μια λέξη: 1. Κατασκευάζουμε την εξής μηχανή Μ = Για είσοδο x: 1. Εκτελούμε την Μ επί της x 2. Αν η Μ αποδέχεται, αποδεχόμαστε. 3. Αν η Μ απορρίπτει, εγκλωβιζόμαστε. 2. Επιστρέφουμε τη λέξη Μ,w. ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 9-32

Αναγνωρισιμότητα ΘΕΩΡΗΜΑ 2 Αν Α m Β και η Β είναι αναγνωρίσιμη τότε και η Α είναι αναγνωρίσιμη. ΠΟΡΙΣΜΑ 2 Αν Α m Β και η Α είναι μη αναγνωρίσιμη τότε και η Β είναι μη αναγνωρίσιμη. ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 9-33

Αποδείξεις Μη Αναγνωρισιμότητας Πως μπορούμε να δείξουμε ότι μια γλώσσα Α είναι μη αναγνωρίσιμη; Από το Πόρισμα 2, μπορούμε να δείξουμε ότι υπάρχει κάποια γνωστή μη αναγνωρίσιμη γλώσσα Β τέτοια ώστε Β m Α. Ένα γνωστό μη αναγνωρίσιμο πρόβλημα είναι το Α (Διαφάνεια 8-55). Επομένως για να δείξουμε ότι κάποια γλώσσα Α είναι μη αναγνωρίσιμη μπορούμε να δείξουμε ότι Α Α. Γενικά παρατηρούμε ότι: Αν υπάρχει αναγωγή από την Β στη Α, τότε υπάρχει αναγωγή από την Β στη Α. Επομένως, αντί του Α Β η μη αναγνωρισιμότητα της Α μπορεί να δειχθεί ως: ότι Α ΤΜ Α. ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 9-34

Παράδειγμα Μη Αναγνωρισιμότητας ΘΕΩΡΗΜΑ 2 Η γλώσσα ΙΣΟΔΥΝΑΜΙΑ ΤΜ δεν είναι ούτε αναγνωρίσιμη ούτε συμπληρωματικά αναγνωρίσιμη. Βήμα 1: Θα δείξουμε την μη αναγνωρισιμότητα της ΙΣΟΔΥΝΑΜΙΑ ΤΜ με την αναγωγή m Βήμα 2: Θα δείξουμε την μη αναγνωρισιμότητα της ΙΣΟΔΥΝΑΜΙΑ με την αναγωγή m ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 9-35

Βήμα 1 Η ανάγουσα συνάρτηση f υπολογίζεται ως ακολούθως. F = Για είσοδο Μ,w, όπου Μ μια ΤΜ και w μια λέξη: 1. Κατασκευάζουμε τις παρακάτω μηχανές. Μ 1 = Για κάθε είσοδο: 1. Απορρίπτουμε. Μ 2 = Για κάθε είσοδο: 1. Εκτελούμε την Μ επί της w. 2. Αν η Μ αποδέχεται, αποδεχόμαστε. 2. Επιστρέφουμε τη λέξη Μ 1, Μ 2. Αν η Μ αποδέχεται την w τότε η Μ 2 αποδέχεται όλες τις εισόδους και άρα οι Μ 1, Μ 2 δεν είναι ισοδύναμες. Από την άλλη αν η Μ δεν αποδέχεται τότε η Μ 2 δεν αποδέχεται καμιά είσοδο και άρα οι Μ 1, Μ 2 είναι ισοδύναμες. ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 9-36

Βήμα 2 Θέλουμε να δείξουμε την απεικονιστική αναγωγή m Η ανάγουσα συνάρτηση g υπολογίζεται ως ακολούθως. G = Για είσοδο Μ,w, όπου Μ μια ΤΜ και w μια λέξη: 1. Κατασκευάζουμε τις παρακάτω μηχανές. Μ 1 = Για κάθε είσοδο: 1. Αποδεχόμαστε. Μ 2 = Για κάθε είσοδο: 1. Εκτελούμε την Μ επί της w. 2. Αν η Μ αποδέχεται, αποδεχόμαστε. 2. Επιστρέφουμε τη λέξη Μ 1, Μ 2. Προφανώς: οι Μ 1, Μ 2 είναι ισοδύναμες αν και μόνο αν η Μ αποδέχεται τη w. ΕΠΛ 211 Θεωρία Υπολογισμού και Πολυπλοκότητα 9-37