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

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

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

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

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

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

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

Σύνοψη Προηγούµενου. Κανονικές Γλώσσες (3) Παραδείγµατα µε Κανονικές Εκφράσεις. Σε αυτό το µάθηµα.

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

Σύνοψη Προηγούµενου. Κανονικές Γλώσσες (1) Προβλήµατα και Γλώσσες. Σε αυτό το µάθηµα. ιαδικαστικά του Μαθήµατος.

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

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

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

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

Γενικές Παρατηρήσεις. Μη Κανονικές Γλώσσες - Χωρίς Συµφραζόµενα (1) Το Λήµµα της Αντλησης. Χρήση του Λήµµατος Αντλησης.

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

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

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

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

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

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

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

Στοιχεία Θεωρίας Υπολογισµού (1): Τυπικές Γλώσσες, Γραµµατικές

Ποιές οι θεµελιώδεις δυνατότητες και ποιοί οι εγγενείς περιορισµοί των υπολογιστών ; Τί µπορούµε και τί δε µπορούµε να υπολογίσουµε (και γιατί);

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

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

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

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

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

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

Στοιχεία Θεωρίας Υπολογισµού (2): Πεπερασµένα Αυτόµατα, Κανονικές Εκφράσεις

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

CSC 314: Switching Theory

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

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

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

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

Στοιχεία Θεωρίας Γραφηµάτων (4) - έντρα

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

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

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

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

Ισοδυναµίες, Μερικές ιατάξεις

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

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

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

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

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

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

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

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

Chapter 7, 8 : Time, Space Complexity

Στοιχεία Θεωρίας Γραφηµάτων (1)

Σύνοψη Προηγούµενου. Ισοδυναµίες, Μερικές ιατάξεις. Σχέσεις Ισοδυναµίας. Σχέσεις, Ιδιότητες, Αναπαράσταση. Ανακλαστικές (a, a) R

Μη κατευθυνόµενα γραφήµατα. Στοιχεία Θεωρίας Γραφηµάτων (1) Υπογραφήµατα.

Βασικές Προτάσεις. έντρα. υαδικά έντρα Αναζήτησης ( Α) Ισοζυγισµένα έντρα και Υψος. Κάθε δέντρο µε n κόµβους έχει n 1 ακµές.

Κανονικές Γλώσσες. Κανονικές Γλώσσες. Κανονικές Γλώσσες και Αυτόματα. Κανονικές Γλώσσες και Αυτόματα

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

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

ιαιρετότητα Στοιχεία Θεωρίας Αριθµών «Ο Αλγόριθµος της ιαίρεσης» Αριθµητική Υπολοίπων 0 r < d και a = d q +r

Κατευθυνόµενα γραφήµατα. Στοιχεία Θεωρίας Γραφηµάτων (1) Πολυγραφήµατα (Multigraphs)

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

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

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

Παράδειγµα (4) Στοιχεία Θεωρίας Γραφηµάτων (2) Ορέστης Τελέλης. Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς. v 2. u 3.

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

Μονοπάτια και Κυκλώµατα Euler. Στοιχεία Θεωρίας Γραφηµάτων (3,4) Παραδείγµατα. Κριτήρια Υπαρξης.

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

ΠΛΗ30 ΕΝΟΤΗΤΑ 3: ΚΑΝΟΝΙΚΕΣ ΓΛΩΣΣΕΣ. Μάθηµα 3.2: ηµήτρης Ψούνης

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

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

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

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

Στοιχεία Θεωρίας Γραφηµάτων (2)

Γνωριµία. Θεωρία Υπολογισµού: Εισαγωγικά. Αντικείµενο Μαθήµατος. Επικοινωνία.

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

771 Η - Θεωρία Υπολογισµών και Αλγορίθµων

Γραµµατικές για Κανονικές Γλώσσες

3 Αναδροµή και Επαγωγή

Στοιχεία Θεωρίας Γραφηµάτων (3)

Απαρίθµηση Μονοπατιών. Στοιχεία Θεωρίας Γραφηµάτων (3) Μονοπάτια και Κυκλώµατα Euler. Ορέστης Τελέλης

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

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

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

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

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

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

Chapter 7, 8 : Time, Space Complexity

ΠΕΡΙΕΧΟΜΕΝΑ. Πρόλογος στη δεύτερη έκδοση

Σχέσεις, Ιδιότητες, Κλειστότητες

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

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

Προηγούµενο: Ανω Φράγµα στην Τάξη των Συναρτήσεων. Ρυθµός Αύξησης (Τάξη) των Συναρτήσεων. Σύνοψη Ιδιοτήτων

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

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

Πεπερασμένος έλεγχος καταστάσεων

Ορισµός. Εστω συναρτήσεις: f : N R και g : N R. η f(n) είναι fi( g(n) ) αν υπάρχουν σταθερές C 1, C 2 και n 0, τέτοιες ώστε:

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

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

Ανω Φράγµα στην Τάξη των Συναρτήσεων. Ρυθµός Αύξησης (Τάξη) των Συναρτήσεων. Παράδειγµα (1/2) O( g(n) ) είναι σύνολο συναρτήσεων:

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

Transcript:

Μη ντετερµινιστικές Μηχανές Turing - NTMs (1/6) Μηχανές Turing: Μη ντετερµινισµός, Επιλύσιµα Προβλήµατα Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς 10 εκεµβρίου 2016 Ορίζονται ανάλογα µε τα NFAs. Σε οποιοδήποτε σηµείο του υπολογισµού µπορούν να έχουν περισσότερες από µία δυνατότητες για τη συνέχεια, τις οποίες ακολουθούν ταυτόχρονα. Αυτό ϕαίνεται από τον ορισµό της συνάρτησης µεταβάσεων της µηχανής: ( ) δ : Q Γ P Q Γ {, } δηλαδή οι τιµές της συνάρτησης είναι σύνολα τριάδων: (κατάσταση, σύµβολο ταινίας, µετακίνηση κεφαλής) Ο υπολογισµός είναι δέντρο από διαφορετικά µονοπάτια εκτέλεσης. Η NTM αποδέχεται αν µονοπάτι στο δέντρο που οδηγεί σε αποδοχή. Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 10 εκεµβρίου 2016 1 / 35 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 10 εκεµβρίου 2016 2 / 35 NTMs (2/6) NTMs (3/6) Θεώρηµα: Για κάθε NTM υπάρχει ισοδύναµη TM. Κατασκευάζουµε TM που προσοµοιώνει την NTM. Η TM «εξερευνά» όλο το δέντρο µε µονοπάτια υπολογισµού της NTM. Η TM αποδέχεται όταν προσοµοιώσει ϕάση αποδοχής της NTM (σε κάποιο µη ντετερµινιστικό µονοπάτι υπολογισµού). Λάθος πρακτική η εξερεύνηση του δέντρου υπολογισµού κατά βάθος: Χρησιµοποιούµε µια TM µε τρεις (3) ταινίες. 1 Ταινία Εισόδου: Η ταινία 1 περιέχει απλώς την είσοδο της NTM. 2 Ταινία Προσοµοίωσης: Η ταινία 2 περιέχει αντίγραφο της ταινίας της NTM: για κάποιο κλάδο (µονοπάτι) του µη ντετερµινιστικού υπολογισµού. 3 Ταινία ιεύθυνσης: Η ταινία 3 παρακολουθεί τη ϑέση της TM: Μπορεί η NTM σε κάποιο µονοπάτι να πέφτει σε ατέρµονο υπολογισµό. στο δέντρο του µη ντετερµινιστικού υπολογισµού της NTM. Τότε και η TM ϑα εγκλωβιστεί και ϑα «χάσει» κάποιο αποδεχόµενο µονοπάτι. Η TM ϑα προσοµοιώνει το δέντρο εκτέλεσης της NTM κατά πλάτος. Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 10 εκεµβρίου 2016 3 / 35 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 10 εκεµβρίου 2016 4 / 35

NTMs (4/6) Μη ντετερµινιστικές Μηχανές Turing (5/6) Αν κάθε κόµβος στο δέντρο υπολογισµού της NTM έχει b «παιδιά»: διευθυνσιοδοτούµε κάθε κόµβο µε µια λέξη επί του Σ b = {1, 2,..., b }. Παράδειγµα: στον κόµβο 2 3 1 ϕτάνουµε αν ξεκινώντας από τη ϱίζα: ακολουθήσουµε τη 2η εναλλακτική µετάβαση της NTM, κατόπιν την 3η εναλλακτική µετάβαση της NTM και, τέλος, την 1η εναλλακτική µετάβαση της NTM. Αν η N έχει λιγότερες από b εναλλακτικές µεταβάσεις σε κάποιον κόµβο, τότε κάποιες διευθύνσεις είναι απλώς άκυρες. Η ταινία 3 (διεύθυνσης) της TM περιέχει πάντα µια λέξη επί του Σ b. Αλγοριθµική Περιγραφή της TM: 1. Αρχικά, η ταινία 1 περιέχει τη λέξη εισόδου και οι άλλες δύο είναι κενές. 2. Αντιγράφουµε την ταινία 1 στην ταινία 2. 3. Προσοµοιώνουµε έναν κλάδο υπολογισµού της NTM, για είσοδο w. Σε κάθε ϐήµα προσοµοίωσης, διαβάζουµε επόµενο σύµβολο στην ταινία 3, για να δούµε ποιά µετάβαση της δ(, ) της NTM ϑα προσοµοιώσουµε. Αν δεν έχει αποµείνει σύµβολο στην ταινία 3, πάµε στο ϐήµα 4. Το ίδιο, αν συναντήσουµε απορριπτική ϕάση της NTM. Αν συναντήσουµε ϕάση αποδοχής της NTM, αποδεχόµαστε. 4. Αντικαθιστούµε τη λέξη της ταινίας 3 µε τη λεξικογραφικά επόµενή της και επιστρέφουµε στο ϐήµα 2. Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 10 εκεµβρίου 2016 5 / 35 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 10 εκεµβρίου 2016 6 / 35 Μη ντετερµινιστικές Μηχανές Turing (6/6) Πόρισµα Μια γλώσσα είναι Turing-αναγνωρίσιµη αν και µόνο αν αναγνωρίζεται από NTM. Ορισµός του Αλγορίθµου: Η θέση των Church και Turing Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 10 εκεµβρίου 2016 7 / 35 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 10 εκεµβρίου 2016 8 / 35

Υπολογισιµότητα Το 10ο Πρόβληµα του Hilbert 10ο Πρόβληµα του Hilbert (1900): Να διατυπωθεί διαδικασία που αποφασίζει µε πεπερασµένο πλήθος πράξεων, αν ένα πολυώνυµο (πολλών µεταβλητών) µε ακέραιους συντελεστές έχει ακέραιες ϱίζες. Ενα πολυώνυµο τριών µεταβλητών: P(x, y, z) = 6x 3 yz 2 + 3xy 2 x 3 10 Μια ακέραια ϱίζα του P: (x, y, z) = (5, 3, 0). Είναι P(5, 3, 0) = 0. Η θέση των Church και Turing (1936): Η TM είναι «ικανοποιητικός» ορισµός του αλγορίθµου. Yuri Matiyasevich (1970): Η γλώσσα των πολυωνύµων µε ακέραιους συντελεστές που έχουν ακέραιες ϱίζες δεν είναι (Turing) αποφασίσιµη. Η { P P πολ/µο µε ακέραιους συντελεστές & ϱίζες } είναι αναγνωρίσιµη. Για απλοποίηση, ας εξετάσουµε πολυώνυµα µιας µεταβλητής: P 1 = { P το P είναι πολυώνυµο µιας µεταβλητής και έχει ακέραια ϱίζα } Αλγοριθµική Περιγραφή µιας TM που αναγνωρίζει τη P 1 : Για είσοδο ένα πολυώνυµο P(x): 1. Θέτουµε διαδοχικά x = 0, 1, 1, 2, 2, 3, 3,.... 2. Για καθεµία από τις τιµές του x υπολογίζουµε το P(x). 3. Αν για οποιοδήποτε x η τιµή του P(x) είναι 0, αποδέχεται. Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 10 εκεµβρίου 2016 9 / 35 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 10 εκεµβρίου 2016 10 / 35 Περιγραφή Μηχανών Turing Κωδικοποίηση Εισόδου TM Τρεις δυνατότητες: Τυπική Περιγραφή: Καταστάσεις, συνάρτηση µεταβάσεων... (το πιο αναλυτικό επίπεδο περιγραφής). Λεπτοµερής Περιγραφή: σε καθοµιλουµένη γλώσσα: πώς η µηχανή µετακινεί την κεφαλή, διαβάζει, γράφει στην ταινία. Η είσοδος µιας TM είναι πάντα µια λέξη. Οι λέξεις περιγράφουν πολυώνυµα, γραφήµατα, αυτόµατα, γραµµατικές... O συµβολίζει τη λέξη που κωδικοποιεί το αντικείµενο O. Παραλείπονται λεπτοµέρειες καταστάσεων και συνάρτησης µεταβάσεων. O 1, O 2,..., O k λέξη που κωδικοποιεί την ακολουθία O 1, O 2,..., O k. Περιγραφή Υψηλού Επιπέδου: Αλγόριθµος που υλοποιεί η TM: σε καθοµιλουµένη γλώσσα, δεν αναφερόµαστε στη διαχείριση της ταινίας ή της κεφαλής. Μια TM προγραµµατίζεται (µέσω δ) να αποκωδικοποιεί/ερµηνεύει λέξεις. εν υπεισερχόµαστε σε λεπτοµέρειες υλοποίησης της κωδικοποίησης. Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 10 εκεµβρίου 2016 11 / 35 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 10 εκεµβρίου 2016 12 / 35

Υπολογισµός TM Παράδειγµα (1/3) Ορίζουµε A = { G το G είναι συνδεδεµένο µη κατευθυνόµενο γράφηµα }. Ενας αλγόριθµος µηχανής Turing χωρίζεται σε στάδια: Περιγραφή Υψηλού Επιπέδου µιας TM που αποφασίζει την A: Κάθε στάδιο απαιτεί πολλά στοιχειώδη βήµατα υπολογισµού της TM. Για είσοδο A, ϑεωρούµε ότι αρχικά: η TM ελέγχει αν η λέξη A κωδικοποιεί ορθά ένα αντικείµενο A. Αν όχι, η TM απορρίπτει. Για είσοδο G : 1. Σηµαδεύουµε τον πρώτο κόµβο του G. 2. Επαναλαµβάνουµε µέχρι να µη σηµαδεύεται κανένας νέος κόµβος: 2.1. Για κάθε κόµβο u: ελέγχουµε αν υπάρχει ακµή που συνδέει τον u µε σηµαδεµένο κόµβο. Αν ναι, σηµαδεύουµε και τον u. 3. ιατρέχουµε όλους τους κόµβους του G και ελέγχουµε αν είναι όλοι σηµαδεµένοι. Αν ναι, αποδεχόµαστε, διαφορετικά, απορρίπτουµε. Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 10 εκεµβρίου 2016 13 / 35 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 10 εκεµβρίου 2016 14 / 35 Παράδειγµα (2/3) Λεπτοµέρειες Κωδικοποίησης 3 1 Γράφηµα G Η TM σαρώνει την ταινία και: 4 2 Κωδικοποίηση: G = (1, 2, 3, 4) ((1, 2), (2, 3), (3, 1), (3, 4)) Ελέγχει ότι περιέχει 2 καταλόγους δεκαδικών αριθµών. Ελέγχει ότι ο πρώτος είναι απλώς αριθµοι, ο δεύτερος Ϲεύγη αριθµών. Ελέγχει ότι ο πρώτος δεν περιέχει επαναλήψεις, ο δεύτερος δεν περιέχει αριθµό που δεν ανήκει στον πρώτο. Η λεπτοµερής περιγραφή της TM ακολουθεί. Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 10 εκεµβρίου 2016 15 / 35 Παράδειγµα (3/3) Στ. 1. Η TM «σηµαδεύει» τον πρώτο κόµβο του γραφήµατος. Στ. 2. 2.1. Η TM σαρώνει τον κατάλογο των κόµβων µέχρι να ϐρει κάποιον «µη σηµαδεµένο» κόµβο, έστω v 1, και τον «υπογραµµίζει». 2.2. Σαρώνει και πάλι τον κατάλογο µέχρι να ϐρει έναν «σηµαδεµένο» κόµβο, έστω v 2, τον οποίο επίσης «υπογραµµίζει». 2.3. Σαρώνει τον κατάλογο ακµών και, για καθεµία ελέγχει αν είναι η (v 1, v 2 ). Αν ναι, «σηµαδεύει» τον v 1, αφαιρεί τις «υπογραµµίσεις» και επιστρέφει στην αρχή του σταδίου 2. Αν όχι, προχωρά στην επόµενη ακµή. 2.4. Αν εξαντληθούν οι ακµές, η TM µεταφέρει την «υπογράµµιση» από τον v 2, στον επόµενο «σηµαδεµένο» κόµβο (τον οποίο µετονοµάζουµε σε v 2 ) και επιστρέφει στο βήµα 2.3. 2.5. Αν εξαντληθούν οι «σηµαδεµένοι» κόµβοι, η TM µετακινεί την υπογράµµιση του v 1 στον επόµενο «µη σηµαδεµένο» κόµβο (νέος v 1 ) και την υπογράµµιση του v 2 στον πρώτο «σηµαδεµένο» κόµβο (νέος v 2 ). Επιστρέφει στο βήµα 2.3. Στ. 3. Η TM σαρώνει τον κατάλογο κόµβων µέχρι να ϐρει τον πρώτο «µη σηµαδεµένο». Αν ϐρει τέτοιον, απορρίπτει. Αλλιώς, αποδέχεται. Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 10 εκεµβρίου 2016 16 / 35

Προβλήµατα Απόφασης στις Κανονικές Γλώσσες Αποδέχεται ένα DFA µια λέξη w; Επιλύσιµα Προβλήµατα στις Κανονικές Γλώσσες Αποδέχεται ένα NFA µια λέξη w; Παράγεται µια λέξη w από δεδοµένη Κανονική Εκφραση; Είναι κενή η γλώσσα που αποδέχεται ένα DFA; Αποδέχονται δύο δεδοµένα DFA την ίδια γλώσσα; Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 10 εκεµβρίου 2016 17 / 35 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 10 εκεµβρίου 2016 18 / 35 Αποδέχεται ένα DFA µια λέξη w; Απόδειξη Ορίζουµε: Αποδοχη/DFA = { B, w το B είναι DFA που αποδέχεται τη λέξη w} Θεώρηµα: Η γλώσσα Αποδοχη/DFA είναι αποφασίσιµη. Ι ΕΑ ΑΠΟ ΕΙΞΗΣ: Αρκεί TM που αποφασίζει τη γλώσσα Αποδοχη/DFA. Για είσοδο B, w, όπου B είναι DFA και w µια λέξη: 1. Προσοµοιώνουµε το B για είσοδο w. 2. Αν η προσοµοίωση καταλήξει σε κατάσταση αποδοχής (του B), αποδεχόµαστε. Αν καταλήξει σε άλλη κατάσταση, απορρίπτουµε. Κωδικοποίηση B, w εισόδου: αναπαριστά αυτόµατο B και τη λέξη εισόδου, w. Εύλογη αναπαράσταση του B: «κατάλογος» των: Q, Σ, δ, q 0, F. 1. Η TM 0 απορρίπτει αν η B, w δεν κωδικοποιεί DFA και λέξη επί του Σ. 2. Κατόπιν προσοµοιώνει τη λειτουργία του B για είσοδο w. Παρακολουθεί και γράφει στην ταινία την τρέχουσα κατάσταση του B. Παρακολουθεί το τρέχον σύµβολο εισόδου του B. Ενηµερώνει τα δύο αυτά «στοιχεία» σύµφωνα µε τη δ του B. 3. Οταν «τελειώσει» η w, ελέγχει αν B είναι σε κατάσταση αποδοχής. 4. Αν ναι, η M αποδέχεται, διαφορετικά, απορρίπτει. Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 10 εκεµβρίου 2016 19 / 35 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 10 εκεµβρίου 2016 20 / 35

Αποδέχεται ένα NFA µια λέξη w; Ορίζουµε: Αποδοχη/NFA = { B, w το B είναι NFA που αποδέχεται τη λέξη w }. Θεώρηµα: Η γλώσσα Αποδοχη/NFA είναι αποφασίσιµη. Παράγεται µια λέξη w από δεδοµένη Κανονική Εκφραση; Ορίζουµε: Παραγωγη/Rex = { R, w R καν/κή έκφρ. που παράγει τη λέξη w} Θεώρηµα: Η γλώσσα Παραγωγη/Rex είναι αποφασίσιµη. Για είσοδο B, w η TM 1 : 1. Μετατρέπει το B σε ισοδύναµο DFA, C (χρησιµοποιώντας τη διαδικασία µετατροπής που έχουµε δει). 2. Προσοµοιώνει την (προηγούµενη) TM 0, για είσοδο C, w. 3. Αποδέχεται ή απορρίπτει εφόσον αποδέχεται ή απορρίπτει η TM 0. Σηµείωση: Θα µπορούσε η TM 1 να προσοµοιώνει απευθείας το NFA, B. Αντί αυτού, αναδεικνύουµε τη χρήση της TM 0 από πριν, σαν «υπορουτίνα». Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 10 εκεµβρίου 2016 21 / 35 Για είσοδο R, w, όπου R µια κανονική έκφραση και w µια λέξη, η TM 2 : 1. Μετατρέπει την R σε NFA B, µε διαδικασία που έχουµε µελετήσει. 2. Προσοµοιώνει την TM 1 της προηγούµενης απόδειξης. 3. Αποδέχεται ή απορρίπτει εφόσον αποδέχεται ή απορρίπτει η TM 1. Σηµείωση: η TM 2 «καλεί» σαν υπορουτίνα την TM 1, που «καλεί» την TM 0. Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 10 εκεµβρίου 2016 22 / 35 Είναι κενή η γλώσσα που αποδέχεται ένα DFA; Ορίζουµε: /DFA = { B, το B είναι DFA µε L(B) = }. Θεώρηµα: Η γλώσσα /DFA είναι αποφασίσιµη. Αποδέχονται δύο δεδοµένα DFA την ίδια γλώσσα; Ορίζουµε: /DFA = { A, B τα A και B είναι δύο DFA µε L(A) = L(B) } Θεώρηµα: Η γλώσσα /DFA είναι αποφασίσιµη. Μέσω του προηγούµενου ϑεωρήµατος (ότι η /DFA είναι αποφασίσιµη). Για είσοδο B όπου B είναι DFA, η TM T: 1. «Σηµαδεύει» την αρχική κατάσταση του B. Από τα DFA A και B κατασκευάζουµε ένα καινούριο DFA, C: αποδέχεται λέξεις που γίνονται αποδεκτές από ένα από τα A και B, 2. Μέχρι να µη «σηµαδεύεται» καµία κατάσταση του B, επαναλαµβάνει: αλλά όχι και από τα δύο. 2.1 «Σηµαδεύει» κάθε κατάσταση του B για την οποία υπάρχει µετάβαση από κάποια ήδη «σηµαδεµένη» κατάσταση. 3. Αν οι καταστάσεις αποδοχής του B δεν είναι σηµαδεµένες (η TM T) αποδέχεται, διαφορετικά, απορρίπτει. Τότε, αν ισχύει L(A) = L(B), ϑα πρέπει να ισχύει L(C) =. Συγκεκριµένα, ϑα έχουµε: L(C) = ( ) ( ) L(A) L(B) L(A) L(B) συµµετρική διαφορά των L(A) και L(B): L(C) = ( L(A) \ L(B) ) ( L(B) \ L(A) ) Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 10 εκεµβρίου 2016 23 / 35 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 10 εκεµβρίου 2016 24 / 35

Απόδειξη Κατασκευή του C µέσω κλειστότητας κανονικών γλωσσών ως προς ένωση, τοµή, συµπλήρωµα. Είναι αλγόριθµοι εκτελούνται από TM. Για είσοδο A, B όπου A και B δύο DFA, η TM: Επιλύσιµα Προβλήµατα στις Γλώσσες χωρίς Συµφραζόµενα 1. Κατασκευάζει το DFA C. 2. Εκτελεί την TM T του προηγούµενου ϑεωρήµατος. 3. Αν η T αποδέχεται, αποδέχεται και η F, διαφορετικά, η F απορρίπτει. Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 10 εκεµβρίου 2016 25 / 35 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 10 εκεµβρίου 2016 26 / 35 Προβλήµατα Απόφασης σε CFLs Παράγεται µια λέξη w από δεδοµένη CFG; Ορίζουµε: Παραγωγη/CFG = { G, w η G είναι CFG που παράγει τη λέξη w} Παράγεται µια λέξη w από δεδοµένη CFG; Κάθε CFL είναι αποφασίσιµη. Είναι κενή η γλώσσα δεδοµένης CFG; Παράγουν δύο δεδοµένες CFGs την ίδια γλώσσα; Θεώρηµα: Η γλώσσα Παραγωγη/CFG είναι αποφασίσιµη. Αρχική ιδέα: να ορίσουµε TM που εξετάζει όλες τις παραγωγές της G. Αυτή η TM ϑα αποδέχεται όταν µια παραγωγή «οδηγήσει» στη λέξη w. Οµως: αν w L(G), τότε η TM δε ϑα τερµατίσει ποτέ!!! (εφόσον η L(G) είναι άπειρη) Αποδεικνύει ότι η Παραγωγη/CFG είναι αναγνωρίσιµη. εν αποδεικνύει ότι είναι αποφασίσιµη. Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 10 εκεµβρίου 2016 27 / 35 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 10 εκεµβρίου 2016 28 / 35

Απόδειξη Κάθε CFL είναι αποφασίσιµη Λήµµα: Αν G είναι CFG σε κανονική µορφή Chomsky, τότε, για κάθε w L(G) όλες οι παραγωγές της w αποτελούνται από 2 w 1 ϐήµατα. Θεώρηµα: Κάθε Γλώσσα χωρίς Συµφραζόµενα είναι αποφασίσιµη. Εστω A µια γλώσσα χωρίς συµµφραζόµενα. Θα µπορούσαµε: Για είσοδο G, w, η TM S: 1. Μετατρέπει την G σε κανονική µορφή Chomsky. 2. Συντάσσει όλες τις παραγωγές 2 w 1 ϐηµάτων, Να µετατρέψουµε τη γραµµατική της σε PDA. Να προσοµοιώσουµε το (µη ντετερµινιστικό) PDA µε µια NTM. Να µετατρέψουµε την NTM σε TM. εκτός αν w = ɛ, οπότε συντάσσει όλες τις παραγωγές ενός ϐήµατος. Οταν αποδέχεται το PDA αποδέχεται και η TM. 3. Αν κάποια παραγωγή παράγει τη w, αποδέχεται, αλλιώς, απορρίπτει. Οµως µερικά µονοπάτια εκτέλεσης του PDA µπορεί απλώς να συνεχίζουν επ άπειρον: π.χ., µπορεί το PDA να γράφει και να διαβάζει από τη στοίβα, χωρίς να καταναλώνει είσοδο. Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 10 εκεµβρίου 2016 29 / 35 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 10 εκεµβρίου 2016 30 / 35 Απόδειξη Είναι κενή η γλώσσα δεδοµένης CFG; Ορίζουµε: /CFG = { G η G είναι µια CFG µε L(G) = } Εστω A µια CFL, µε A = L(G), για CFG G. Θεώρηµα: Η γλώσσα /CFG είναι αποφασίσιµη. Η παρακάτω TM αποφασίζει την A. Για είσοδο w η µηχανή Turing M G : 1. Εκτελεί την TM S για είσοδο G, w. 2. Αποδέχεται, αν η S αποδέχεται. ιαφορετικά, απορρίπτει. Ιδέα: να χρησιµοποιήσουµε τη µηχανή S, από προηγουµένως. w επί τερµατικών της G, εκτέλεση της S, για είσοδο G, w. Οµως, άπειρες λέξεις: αν η S αποδεχτεί για κάποια είσοδο, τότε απορρίπτουµε. ιαφορετικά, συνεχίζουµε την εκτέλεση επ άπειρον (επόµενη λέξη κ.ο.κ.) Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 10 εκεµβρίου 2016 31 / 35 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 10 εκεµβρίου 2016 32 / 35

Απόδειξη Παράγουν δύο δεδοµένες CFGs την ίδια γλώσσα; Ιδέα: Ελέγχουµε αν η αρχική µεταβλητή της G παράγει κάποια λέξη τερµατικών. Για είσοδο G η µηχανή Turing, R: 1. «Σηµαδεύει» όλα τα τερµατικά σύµβολα της G. 2. Επαναλαµβάνει µέχρι να µη σηµαδεύονται άλλες µεταβλητές: 2.1. «Σηµαδεύει» κάθε µεταβλητή, A, για την οποία: υπάρχει κανόνας της µορφής A U 1 U 2... U k, όπου όλα τα σύµβολα U 1, U 2,..., U k είναι ήδη «σηµαδεµένα». 3. Αποδέχεται, αν η αρχική µεταβλητή δεν είναι «σηµαδεµένη». ιαφορετικά απορρίπτει. Ορίζουµε: /CFG = { G, H οι G και H είναι δύο CFG και L(G) = L(H) } Θεώρηµα: Η γλώσσα /CFG δεν είναι αποφασίσιµη. Αντίθετα προς τη γλώσσα /DFA. ε µπορούµε να χρησιµοποιήσουµε παρόµοια τεχνική, όπως για τη /DFA. ιότι, οι CFLs δεν είναι κλειστές ως προς συµπλήρωµα ή τοµή!!! Η αδυναµία µας αυτή δεν συνιστά απόδειξη του Θεωρήµατος. Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 10 εκεµβρίου 2016 33 / 35 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 10 εκεµβρίου 2016 34 / 35 Σύνοψη Από τα έως τώρα αποτελέσµατά µας, για τα σύνολα γλωσσών, έχουµε: κανονικές CFLs αποφασίσιµες αναγνωρίσιµες Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 10 εκεµβρίου 2016 35 / 35