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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

CSC 314: Switching Theory. Chapter 3: Turing Machines

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

CSC 314: Switching Theory

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 9: Αυτόματα Στοίβας (Pushdown Automata - PDA)

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

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

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

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

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

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

Η δυαδική σχέση M ( «παράγει σε ένα βήμα» ) ορίζεται ως εξής: (q, w) M (q, w ), αν και μόνο αν w = σw, για κάποιο σ Σ

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

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

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

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

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

Κωστόπουλος ηµήτριος Μ.Π.Λ.Α. TAPE COMPRESSION (θεώρηµα 2.3 Παπαδηµητρίου)

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

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

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

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

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

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

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

HEAD INPUT. q0 q1 CONTROL UNIT

Chapter 7, 8 : Time, Space Complexity

Γνωριµία. ιακριτά Μαθηµατικά. Βιβλία Μαθήµατος. Επικοινωνία. ιδάσκων: Ορέστης Τελέλης. Ωρες γραφείου (502, Γρ.

ιακριτά Μαθηµατικά Ορέστης Τελέλης Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Ο. Τελέλης Πανεπιστήµιο Πειραιώς Σύνολα 1 / 36

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

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

K είναι το σύνολο των καταστάσεων. Σ είναι το αλφάβητο των συµβόλων που χρησιµοποιούνται και το οποίο. s K είναι η αρχική κατάσταση της M.

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

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

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

ΗΥ252 - Οντοκεντρικός Προγραµµατισµός Προγραµµατιστική Εργασία Εαρινού Εξαµήνου 2004 Περιγραφή Παραδοτέων

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

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

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

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Σύνοψη Προηγούμενου. Πίνακες (Arrays) Πίνακες (Arrays): Βασικές Λειτουργίες. Πίνακες (Arrays) Ορέστης Τελέλης

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

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

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

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

Μεταγλωττιστές. Ενότητα 4: Τυπικές γλώσσες (Μέρος 3 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

CSC 314: Switching Theory. Chapter 3: Turing Machines

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

Transcript:

Σε αυτό το µάθηµα Εισαγωγή στις Μηχανές Turing Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Παραδείγµατα Μηχανών Turing Παραλλαγές: Πολυταινιακές, Μη ντετερµινιστικές Μηχανές. Ορισµός του Αλγορίθµου: η Θέση των Church και Turing. Συµβάσεις Περιγραφής Μηχανών Turing. 2 εκεµβρίου 2016 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 2 εκεµβρίου 2016 1 / 39 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 2 εκεµβρίου 2016 2 / 39 Μηχανή Turing (Turing Machine - TM) Αποτελείται από: Μια ταινία άπειρου µήκους που λειτουργεί σαν µνήµη. Μηχανές Turing Οπου καταχωρείται η είσοδος στη µηχανή (συµβολοσειρά / λέξη εισόδου). Οπου η µηχανή µπορεί να καταγράφει έξοδο (συµβολοσειρά εξόδου). Μια κεφαλή ανάγνωσης / εγγραφής που µπορεί να: Κινείται αριστερα και δεξιά πάνω στην ταινία άπειρου µήκους. Γράφει σύµβολο στη ϑέση της ταινίας που ϐρίσκεται κάτω από την κεφαλή. ιαβάζει σύµβολο από τη ϑέση της ταινίας κάτω από την κεφαλή. Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 2 εκεµβρίου 2016 3 / 39 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 2 εκεµβρίου 2016 4 / 39

ιαφορές µε τα Πεπερασµένα Αυτόµατα (1/2) ιαφορές µε τα Πεπερασµένα Αυτόµατα (2/2) Μια TM µπορεί να διαβάζει και να γράφει οπουδήποτε στην ταινία µνήµης. Η ταινία µνήµης είναι άπειρη. Ενα DFA/NFA µόνο διαβάζει από (υπονοούµενη) «ταινία» εισόδου. Οπως εξάλλου και η στοίβα ενός PDA. Ενα PDA διαβάζει και γράφει µόνο στο ένα άκρο της ταινίας µνήµης. Αλλά τα DFA/NFA έχουν πεπερασµένη µνήµη. Η κεφαλή ανάγνωσης / εγγραφής µπορεί να κινείται αριστερά και δεξιά. Οι καταστάσεις αποδοχής και απόρριψης τερµατίζουν άµεσα την TM. Ενα DFA/NFA «καταναλώνει» είσοδο µόνο προς τα δεξιά. Τα PDA/DFA/NFA δεν έχουν κατάσταση απόρριψης (ούτε και οι TM πάντα). Ενα PDA µπορεί να «ϐλέπει» µόνο το άκρο της µνήµης του (στοίβας). Ο υπολογισµός τους συνεχίζεται όσο υπάρχει είσοδος. Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 2 εκεµβρίου 2016 5 / 39 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 2 εκεµβρίου 2016 6 / 39 Ατυπο Παράδειγµα TM (1/2) Μια TM που αναγνωρίζει τη γλώσσα B = { w # w w { 0, 1 } }. 1. Μετακινεί την κεφαλή παλινδροµικά πάνω στην ταινία: σε «οµόλογες» ϑέσεις εκατέρωθεν του #, ελέγχει αν αυτές οι ϑέσεις έχουν το ίδιο σύµβολο. 1.1 Απορρίπτει (µεταβαίνει σε κατάσταση απόρριψης) αν: δεν εµφανίζεται πουθενά το σύµβολο #, κάποιο Ϲεύγος «οµόλογων» ϑέσεων δεν έχουν το ίδιο σύµβολο. 1.2 Αντικαθιστά τα Ϲεύγη ίδιων συµβόλων που διαβάζει µε «κενά»,. 2. Αποδέχεται αν έχουν διαγραφεί όλα τα σύµβολα εκατέρωθεν του #. ιαφορετικά, απορρίπτει. Ατυπο Παράδειγµα Λειτουργίας (2/2) Στιγµιότυπα της ταινίας της TM από τον υπολογισµό για είσοδο 0 1 1 0 0 0 # 0 1 1 0 0 0. 0 1 1 0 0 0 # 0 1 1 0 0 0 1 1 0 0 0 # 0 1 1 0 0 0 1 1 0 0 0 # 1 1 0 0 0 1 1 0 0 0 # 1 1 0 0 0 1 0 0 0 # 1 1 0 0 0 # Αποδοχή Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 2 εκεµβρίου 2016 7 / 39 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 2 εκεµβρίου 2016 8 / 39

Ορισµός Μηχανής Turing Λειτουργία Μηχανής Turing ( Q, Σ, Γ, δ, q 0, q αποδοχή, q απόρριψη ) 1. Q είναι το σύνολο καταστάσεων της µηχανής, 2. Σ είναι το αλφάβητο εισόδου, που δεν περιέχει το σύµβολο κενού,. 3. Γ είναι το αλφάβητο της ταινίας, µε Γ και Σ Γ, 4. δ : Q Γ Q Γ {, } είναι η συνάρτηση µεταβάσεων, 5. q 0 Q είναι η αρχική κατάσταση, 6. q αποδοχή είναι η κατάσταση αποδοχής, 7. q απόρριψη είναι η κατάσταση απόρριψης και q αποδοχή q απόρριψη. Αρχικοποίηση (αρχική κατάσταση) για είσοδο w = a 1 a 2... a n : Αριστερό άκρο: a 1 a 2 a n Το πρώτο Σ σηµατοδοτεί το τέλος της λέξης εισόδου. Αρχικά, η κεφαλή είναι τοποθετηµένη στην πρώτη ϑέση από αριστερά. Ο υπολογισµός εξελλίσεται όπως ορίζει η συνάρτηση µεταβάσεων δ. εκτός αν η κεφαλή ϐρίσκεται στο αριστερό άκρο της ταινίας και η δ ορίζει µετακίνηση προς τα αριστερά. Τότε η κεφαλή παραµένει στη ϑέση της. Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 2 εκεµβρίου 2016 9 / 39 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 2 εκεµβρίου 2016 10 / 39 Υπολογισµός Μηχανής Turing Υπολογισµός TM Η Τρέχουσα Φάση / ιαµόρφωση (Configuration) της µηχανής, περιγράφει: Κατάσταση µηχανής. Περιεχόµενα ταινίας. Θέση της κεφαλής. Αναπαράσταση: u q v, που σηµαίνει: Η µηχανή ϐρίσκεται στην κατάσταση q. Η ταινία περιέχει τη λέξη u v. Η κεφαλή ϐρίσκεται στο πρώτο σύµβολο της (υπο-)λέξης v. Μετά το v υπονοείται ότι ακολουθούν στην ταινία. Λέµε «η ϕάση C 1 αποδίδει τη ϕάση C 2» και γράφουµε C 1 M C 2, αν: Με ϐάση τη συνάρτηση µεταβάσεων δ, η µηχανή µεταβαίνει από τη C 1 στη C 2 σε ένα υπολογιστικό ϐήµα Εστω σύµβολα a, b, c Γ, λέξεις u, v Γ, καταστάσεις q i, q j Q u a q i b v M u q j a c v αν: δ(q i, b) = (q j, c, ) u a q i b v M u a c q j v αν: δ(q i, b) = (q j, c, ) q i b v M q j c v αν: δ(q i, b) = (q j, c, ). u q i a M u b q j αν: δ(q i, a) = (q j, b, ). Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 2 εκεµβρίου 2016 11 / 39 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 2 εκεµβρίου 2016 12 / 39

Υπολογισµός µε TM Παράδειγµα 1 (α) Αρχική Φάση για είσοδο w: q 0 w. Φάση Αποδοχής / Απόρριψης: η TM είναι στην q αποδοχή / q απόρριψη. Αποδέχεται είσοδο w αν υπάρχει ακολουθία ϕάσεων C 1,..., C k, όπου: C 1 = q 0 w C i M C i+1, i = 0,..., k 1 C k ϕάση αποδοχής Μια TM µπορεί να: αποδεχθεί, απορρίψει, εγκλωβιστεί σε loop. (Turing) Αναγνωρίσιµες Γλώσσες: TM που αποδέχεται κάθε λέξη τους. (Turing) Αποφασίσιµες Γλώσσες: TM που τερµατίζει πάντα και: Η TM M 1, που αποφασίζει τη γλώσσα: { w # w w {0, 1} } Τυπική Περιγραφή: Q = { q 1,..., q 8, q αποδοχή, q απόρριψη }. Αρχική κατάσταση: q 1. Σ = { 0, 1, # }. Γ = { 0, 1, #,, }. Αποδέχεται κάθε λέξη τους, απορρίπτει κάθε µη λέξη τους. Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 2 εκεµβρίου 2016 13 / 39 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 2 εκεµβρίου 2016 14 / 39 Παράδειγµα 1 (ϐ) Παράδειγµα 2 (α) 0, 1 q 1 0, # 1, q 2 q 8 q 3 0, 1 Μια TM, M, που αποφασίζει τη γλώσσα { 0 2n n 0 }. Ατυπη Αλγοριθµική Περιγραφή της M: 1. Σαρώνει την ταινία από αριστερά προς τα δεξιά, διαγράφοντας κάθε 2ο 0. q 7 # # 2. Αν στο στάδιο 1. η ταινία περιείχε µόνο ένα `0, η M αποδέχεται. 0, 1 q 4 q αποδοχή q 5 3. Αν στο στάδιο 1. η ταινία περιείχε > 1 `0 περιττού πλήθους, απορρίπτει. 4. Η M επιστρέφει την κεφαλή στο αριστερό άκρο της ταινίας. # 0, 1, 5. Η M επαναλαµβάνει από το στάδιο 1. q 6 0, 1, Σχόλιο: η M 2 επιχειρεί σε κάθε επανάληψη να υποδιπλασιάσει το πλήθος των 0. Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 2 εκεµβρίου 2016 15 / 39 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 2 εκεµβρίου 2016 16 / 39

Παράδειγµα 2 (ϐ) Παράδειγµα 2 (γ) q 5 0 Παράδειγµα Εκτέλεσης για Είσοδο 0 0 0 0 (κάθετα ανά στήλη) 0, 0, q 1 q 2 q 3 q απόρριψη q αποδοχή 0 0, q 4 q 1 0 0 0 0 q 3 q 2 0 0 0 q 3 q 3 0 0 q 5 0 q 4 0 q 5 0 q 3 q 5 0 q 5 q 5 q 5 0 q 2 q 5 0 q 2 q 5 0 q 2 q 2 0 q 2 q 2 0 q αποδοχή Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 2 εκεµβρίου 2016 17 / 39 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 2 εκεµβρίου 2016 18 / 39 Παράδειγµα 3 (α) Παράδειγµα 3 (ϐ) Η TM που αναγνωρίζει τη γλώσσα { a i b j c k i, j, k 1 και i j = k }. 1. ιατρέχει την ταινία από αριστερά προς τα δεξιά: ελέγχει αν η είσοδος ανήκει στη γλώσσα a + b + c +. Αν όχι, απορρίπτει. 2. Η κεφαλή επιστρέφει στην αρχή της ταινίας. 3. ιαγράφει ένα a και µετακινεί την κεφαλή προς τα δεξιά µέχρι να ϐρει b: Παλινδροµεί µεταξύ b και c, διαγράφοντας ένα Ϲεύγος τη ϕορά, µέχρι να εξαντληθούν όλα τα b. Αν εξαντληθούν πρώτα τα c, απορρίπτει. 4. Αποκαθιστά τα διαγραµµένα b και επαναλαµβάνει το ϐήµα 3: Αρχικά, στο στάδιο 1. η TM λειτουργεί σαν πεπερασµένο αυτόµατο, ελέγχοντας αν η είσοδος ανήκει στη γλώσσα a + b + c +. Πώς αναγνωρίζει (στάδιο 2.) ότι έφτασε στο αριστερό άκρο της ταινίας; Αρχικά γράφει ειδικό σύµβολο στην αριστερή ϑέση (που πρέπει να έχει a). Επιστρέφοντας αριστερά, «ϐλέπει» το ειδικό σύµβολο και επαναφέρει το a. για το 1ο από τα a που δεν έχουν ακόµη διαγραφεί. 5. Οταν «τελειώσουν» τα a: αν έχουν διαγραφεί όλα τα c, αποδέχεται, αλλιώς, απορρίπτει. Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 2 εκεµβρίου 2016 19 / 39 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 2 εκεµβρίου 2016 20 / 39

Παράδειγµα 4 (α) Μια TM που αποφασίζει τη γλώσσα: E = { } # x 1 # x 2 # # x l l 0, xi {0, 1} και x i x j για κάθε i j Περιληπτική Περιγραφή: Συγκρίνει επαναληπτικά τη x i µε τις x i+1,..., x l. Ατυπη Αλγοριθµική Περιγραφή: 1. Τοποθετεί ένα «σηµάδι» πάνω από το σύµβολο του αριστερού άκρου της ταινίας. Αν διαβάζει, αποδέχεται. Αν διαβάζει #, συνεχίζει στο επόµενο ϐήµα. Σε κάθε άλλη περίπτωση, απορρίπτει. 2. ιατρέχει την ταινία προς τα δεξιά, µέχρι το επόµενο #, το οποίο «σηµαδεύει». Αν συναντήσει, αποδέχεται την είσοδο # x 1. 3. Συγκρίνει τις δύο λέξεις που ϐρίσκονται στα δεξιά των σηµαδεµένων #. Αν συµπίπτουν απορρίπτει. Παράδειγµα 4 (ϐ) Συνέχεια Ατυπης Αλγοριθµικής Περιγραφής: 4. Μετακινεί το δεξιότερο «σηµάδι» στο επόµενο (προς τα δεξιά) #, και εκτελεί το 5., εκτός αν δεν υπάρχει επόµενο # δεξιά του δεξιότερου «σηµαδιού», οπότε: (α) Η TM µετακινεί και τα δύο «σηµάδια», ως εξής. (β) Μετακινεί το αριστερό «σηµάδι» στο επόµενο # προς τα δεξιά. (γ) Μετακινεί το δεξιό «σηµάδι» στο 1ο # δεξιά από τη ϑέση του αριστερού. (δ) Αν επόµενο # δεξιά από τη ϑέση του αριστερού «σηµαδιού», αποδέχεται. 5. Η TM επαναλαµβάνει από το ϐήµα 3. Σχόλιο: Τα «σηµάδια» είναι πλασµατικά. Ουσιαστικά, αντικαθιστούµε προσωρινά τα προς σήµανση # µε ένα επιπλέον σύµβολο, που ανήκει στο αλφάβητο ταινίας, Γ. Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 2 εκεµβρίου 2016 21 / 39 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 2 εκεµβρίου 2016 22 / 39 Σύνθεση TMs και Απλοποίηση ιαγραµµάτων Παράδειγµα 1: Μηχανή Αντιγραφής R: η απλή TM που µετακινεί την κεφαλή µια ϑέση δεξιά. L: η απλή TM που µετακινεί την κεφαλή µια ϑέση αριστερά. a: η απλή TM που γράφει σύµβολο a Γ στην ταινία. R a br a a R L Μετακινεί την κεφαλή δεξιά Η TM R : Μετακινεί την κεφαλή δεξιά, Αν διαβάσει a: Μέχρι ανάγνωσης του 1ου. γράφει b, Η TM L : µετακινεί την κεφαλή δεξιά Μετακινεί την κεφ. αριστερά, Μέχρι ανάγνωσης του 1ου. Η TM που µετασχηµατίζει την είσοδο w σε w w. a R R 2 a L2 a R Η κεφαλή αρχικά είναι στο αριστερό άκρο της ταινίας (πάνω από το ). Στο τέλος η κεφαλή είναι στο πρώτο δεξιά της «εξόδου». Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 2 εκεµβρίου 2016 23 / 39 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 2 εκεµβρίου 2016 24 / 39

Παράδειγµα 2: Μηχανή εξιάς Μετατόπισης Παράδειγµα 3: Μηχανή ιαγραφής Η TM που µετασχηµατίζει την είσοδο w σε w. Η TM που διαγράφει την είσοδό της: w. L a R a L a a a $ R R $ L R Υποθέτουµε ότι αρχικά η κεφαλή είναι στο 1ο δεξιά της w. Στο τέλος η κεφαλή ϑα ϐρίσκεται στο 1ο δεξιά της (µετατοπισµένης) w. Η κεφαλή αρχικά είναι στο αριστερό άκρο της ταινίας. Στο τέλος η κεφαλή είναι και πάλι στο αριστερό άκρο της ταινίας. Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 2 εκεµβρίου 2016 25 / 39 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 2 εκεµβρίου 2016 26 / 39 Παραλλαγές Μηχανών Turing Υπάρχουν πολλές διαφορετικές παραλλαγές του ορισµού των TMs. Το αυθεντικό µοντέλο και οι εύλογες παραλλαγές του έχουν την ίδια ισχύ. Αναγνωρίζουν / αποφασίζουν την ίδια κλάση γλωσσών. Παραλλαγές της Μηχανής Turing Οι παραλλαγές προσοµοιώνονται αποδοτικά από το ϐασικό µοντέλο TM. Παράδειγµα: Κεφαλή επαυξηµένη µε τη δυνατότητα να µένει στάσιµη. ηλαδή, συνάρτηση µεταβάσεων: δ : Q Γ Q Γ {,, Σ}. δ (q, a) = (r, b, Σ) προσοµοιώνεται από δ : Q Γ Q Γ {, }: εισάγουµε µία επιπλέον κατάσταση, s Q και ορίζουµε: δ(q, a) = (s, b, ) και δ(s, x) = (r, x, ) για κάθε x Γ Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 2 εκεµβρίου 2016 27 / 39 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 2 εκεµβρίου 2016 28 / 39

Πολυταινιακές Μηχανές Turing (Multi-tape TMs) Πολυταινιακές Μηχανές Turing k > 1 ταινίες, ξεχωριστή κεφαλή ανάγνωσης / εγγραφής για κάθε ταινία. Οι κεφαλές διαβάζουν/γράφουν τις ταινίες και µετακινούνται ταυτόχρονα. Συνάρτηση µεταβάσεων: δ : Q Γ k Q Γ k {,, Σ } k Επιτρέπουµε στη δ να ορίζει ότι κάποια κεφαλή µένει στάσιµη (Σ) (ϐάσει του µετασχηµατισµού που συζητήσαµε προηγουµένως). δ( q i, a 1, a 2,..., a k ) = ( q j, b 1,..., b k,,,..., Σ, ) σηµαίνει: Στην κατάσταση q i η µηχανή διαβάζει a i στην ταινία i = 1,..., k (ταυτόχρονα για όλες τις ταινίες). Θεώρηµα: Για κάθε πολυταινιακή TM υπάρχει ισοδύναµη µονοταινιακή TM. ΑΠΟ ΕΙΞΗ: σχεδιάζουµε µονοταινιακή TM που προσοµοιώνει την πολυταινιακή. Πόρισµα: Μια γλώσσα είναι αναγνωρίσιµη αν και µόνο αν αναγνωρίζεται από πολυταινιακή TM. Γράφει b i στην ταινία i = 1,..., k και µεταβαίνει στην q j. Μετακινεί τις κεφαλές όπως ορίζεται στο δεξί µέλος της έκφρασης. Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 2 εκεµβρίου 2016 29 / 39 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 2 εκεµβρίου 2016 30 / 39 Απόδειξη (1/2) Απόδειξη (2α/2) Αλγοριθµική Περιγραφή της µονοταινιακής TM (µ-tm) για είσοδο w = x 1... x n : Η µονοταινιακή TM αποθηκεύει τα περιεχόµενα k ταινιών σε µία ταινία. Οριοθετεί τα περιεχόµενα των k ταινιών µε ειδικό σύµβολο, #. Παρακολουθεί τις ϑέσεις των k κεφαλών. «Σηµαδεύει» το σύµβολο (στην κάθε ταινία) που διαβάζει η κάθε κεφαλή. Το «σηµαδεµένο σύµβολο» είναι απλώς ένα ακόµα (διαφορετικό) σύµβολο. 1. Καταρχάς διαµορφώνει την ταινία, ώστε να αναπαριστά τις k ταινίες: # ˆx 1, x 2, x 3, x n # # # # 2. Προσοµοίωση ενός βήµατος της πολυταινιακής TM (π-tm): 2.1 1η Σάρωση: σαρώνει την ταινία από αριστερά (πρώτο #) προς τα δεξιά: προσδιορίζει τα (σηµαδεµένα) σύµβολα που διαβάζουν οι k κεφαλές. 2.2 2η Σάρωση: ενηµερώνει τις «εικονικές» ταινίες (µεταξύ συνεχόµενων #): όπως υπαγορεύει η συνάρτηση µεταβάσεων της π-tm. Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 2 εκεµβρίου 2016 31 / 39 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 2 εκεµβρίου 2016 32 / 39

Απόδειξη (2β/2) Μη ντετερµινιστικές Μηχανές Turing - NTMs (1/6) Ορίζονται ανάλογα µε τα NFAs. 3. Αν σε οποιοδήποτε σηµείο της προσοµοίωσης κάποια από τις «εικονικές κεφαλές» µετακινούµενη δεξιά ϐρεθεί πάνω σε #: 3.1 Σηµαίνει πως η π-tm µετακινεί την κεφαλή στο µέχρι στιγµή µη αναγνωσµένο τµήµα της συγκεκριµένης ταινίας της. 3.2 Η µ-tm µετακινεί (αντιγράφει) όλα τα σύµβολα από τη ϑέση αυτή (του #) µέχρι και το ακραίο δεξιό #, κατά µία ϑέση δεξιά. 3.3 Η µ-tm επιστρέφει πίσω στην (προηγούµενη) ϑέση του # όπου µετακινήθηκε η «εικονική κεφαλή» και εγγράφει ένα εκεί. Ουσιαστικά η µ-tm επιµηκύνει την «εικονική ταινία». Σε οποιοδήποτε σηµείο του υπολογισµού µπορούν να έχουν περισσότερες από µία δυνατότητες για τη συνέχεια, τις οποίες ακολουθούν ταυτόχρονα. Αυτό ϕαίνεται από τον ορισµό της συνάρτησης µεταβάσεων της µηχανής: ( ) δ : Q Γ P Q Γ {, } δηλαδή οι τιµές της συνάρτησης είναι σύνολα τριάδων: (κατάσταση, σύµβολο ταινίας, µετακίνηση κεφαλής) Ο υπολογισµός είναι δέντρο από διαφορετικά µονοπάτια εκτέλεσης. Η NTM αποδέχεται αν µονοπάτι στο δέντρο που οδηγεί σε αποδοχή. Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 2 εκεµβρίου 2016 33 / 39 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 2 εκεµβρίου 2016 34 / 39 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 2 εκεµβρίου 2016 35 / 39 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 2 εκεµβρίου 2016 36 / 39

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 2 εκεµβρίου 2016 37 / 39 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 2 εκεµβρίου 2016 38 / 39 Μη ντετερµινιστικές Μηχανές Turing (6/6) Πόρισµα Μια γλώσσα είναι Turing-αναγνωρίσιµη αν και µόνο αν αναγνωρίζεται από NTM. Ο. Τελέλης Πανεπιστήµιο Πειραιώς Μηχανές Turing 2 εκεµβρίου 2016 39 / 39