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



Σχετικά έγγραφα
CSC 314: Switching Theory. Chapter 3: Turing Machines

CSC 314: Switching Theory. Chapter 3: Turing Machines

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

CSC 314: Switching Theory

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

HEAD INPUT. q0 q1 CONTROL UNIT

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

q 0 q 0.2 q 0.1 q 0.05 q 0.05 q 0.25 q 0.15 q 0.1 q 0.2 q 0.25 q 0.25 q 0.25

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

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

Chapter 7, 8 : Time, Space Complexity

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

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

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

Recursive and Recursively Enumerable sets I

Chapter 7, 8 : Time, Space Complexity

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ

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

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

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 7: Ασυμφραστικές Γλώσσες (Γλώσσες Ελεύθερες Συμφραζομένων)

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

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

Transcript:

Θεωρία Υπολογισμού και Πολυπλοκότητα Κεφάλαιο 10. Μηχανές Turing 20,23 Μαρτίου 2007 Δρ. Παπαδοπούλου Βίκη 1

Μηχανές Turing: Ένα Γενικό Μοντέλο Υπολογισμού Ποια μοντέλα υπολογισμού μπορούν να δεχθούν γλώσσες της μορφής a n b n c n? Οι μηχανές Turing (Alan Turing 1912-1954) μπορούν! Μονάδα πεπερασμένου ελέγχου μια ταινία και μια κεφαλή για ανάγνωση και εγγραφή Θα δούμε ότι πιο γενικά μοντέλα υπολογισμού μπορούν να αναχθούν σε μηχανές Turing οποιοσδήποτε λογικός τρόπος τυποποίησης ενός αλγόριθμου είναι ισοδύναμος με μια μηχανή Turing. Οι μηχανές Turing: αναγνωρίζουν γλώσσες υπολογίζουν μια συνάρτηση 2

Μηχανή Turing Η κεφαλή διαβάζει και γράφει στην ταινία εισόδου Κάθε φορά ανάλογα με τρέχουσα κατάσταση καιτιδιαβάζειτώρα: 1. Τοποθετεί την μονάδα ελέγχου σε νέα κατάσταση 2. Είτε 1. Γράφει ένα σύμβολο στο τετράγωνο της ταινίας που μόλις διάβασε είτε 2. Μετακινεί την κεφαλή ανάγνωσης/εγγραφής μια θέση δεξιά ή αριστερά 3

Μηχανή Turing Η ταινία αρχίζει από το αριστερό της άκρο και εκτίνεται απεριόριστα στα δεξιά. Για να εμποδίσουμε τη μηχανή να μετακινηθεί πέρα από το αριστερότερο άκρο χρησιμοποιούμε το σύμβολο B όποτε η κεφαλή διαβάζει B μετακινείται δεξιά ( ) = η κεφαλή μετακινείται δεξιά (αριστερά) Όπου δεν υπάρχει σύμβολο στη ταινία θεωρούμε το t 4

Ορισμός Μια μηχανή Turing είναι μια πεντάδα Μ=(Q, Σ, δ, s, H): Q=πεπερασμένο σύνολο καταστάσεων Σ = αλφάβητο, περιέχει το κενό σύμβολο t, το σύμβολο αριστερού άκρου B, όχι τα σύμβολα,. s Q= αρχική κατάσταση Η Q = τερματικές καταστάσεις Συνάρτηση μετάβασης δ : (Q Η ) Σ Q (Σ {, }: 1. για κάθε q Q-H, αν δ(q, B) =(p, b) τότε b=. (όταν η κεφαλή συναντήσει το B μετακινείται δεξιά) 1. q Q H, a Σ, αν δ(q, a) = (p, b) τότε b B. (η Μ δεν γράφει ποτέ ένα B) (για κάθε μη τερματική κατ. q και κάθε σύμβολο του αλφάβητο που διαβάζει a: πάει στην κατάσταση p και είτε μετακινείται (όταν b {, )} ή γράφειστηνθέσηπουδιάβασετοb. 5

Η μηχανή είναι ντετερμινιστική όταν η μηχανή πάει σε κατάσταση τερματισμού σταματά. 6

Παράδειγμα Μ=(Q, Σ, δ, s, {h}): Q={q 0, q 1, h} Σ ={a, t, B}, s={q 0 } Πχ. είσοδος = aaaa q 0 : aπό την θέση B πάει δεξιά και μένει στη q 0 q 0 : διαβάζει το πρώτο a το αντικαθιστά με κενό t και πάει στην κατάσταση q 1 (1) διαβάζει το t και πάει δεξιά και πάει στην κατάσταση q 0 (5) επαναλαμβάνει το ίδιο ώσπου να αντικαταστήσει όλα τα a σε t είναι στην κατάσταση q 0 και διαβάζει t. Τότε πάει στην τελική κατάσταση h και τερματίζει. (2) Note: Η μεταβίβαση (4) δεν χρησιμοποιείται. Πρέπει να υπάρχει επειδή η δ είναι συνάρτηση. 1 2 3 4 5 6 q q 1 q 1 q 1 σ q 0 a ( q 1, t) q 0 t ( h, t ) q 0 B ( q 0, ) a t B δ(q,σ) (q 0,a) (q 0, ) (q 1, ) 7

Μ=(Q, Σ, δ, s, {h}): Q={q 0, h} Σ ={a, t, B}, s={q 0 } q 0 : aπό την θέση B πάει δεξιά και μένει στη q 0 q 0 : διαβάζει το πρώτο a μετακινείται αριστερά (1) και συνεχίζει όσο διαβάζει a ώσπου θα φτάσει στο B οπότε πάει πάλι δεξιά (3) φτάνοντας το 1 ο a μετά πάει πάλι αριστερά (φτάνοντας στο B) (1) και μετά δεξιά (3) (φτάνοντας το 1 ο a) και συνεχίζει επ άπειρο μετακινουμένη μεταξύ του B και του 1 ο a. 1 2 3 q σ δ(q,σ) q 0 a ( q 1, ) q 0 t ( h, t ) q 0 B ( q 0, ) Δεν τερματίζει ποτέ. Ποτέ δεν πάει στην κατάσταση h. 8

Συνολικές Καταστάσεις Συνολική κατάσταση της Μ: (Q B Σ * ( Σ * ( Σ {t}) {e}) Πχ. (q, Baa, ba) = το αυτόματο είναι στη κατάσταση q από αριστερά έως και την κεφαλή είναι η λέξη Baa και η κεφαλή διαβάζει το 2o a B a a b a t t δεξιά από την κεφαλή είναι η λέξη ba 3 η παράμετρος δεν τελειώνει με t Πχ. (q, Baat, tba) : ΟΚ (q, Baat, bat) : όχι ΟΚ! (q, Baat, e) : ΟΚ! (q, aa, ba) : όχι ΟΚ! 2 1 9

Συμβολίζω : (q, Baa, ba) = (q, Baaba) (q 1, w 1 α 1 u 1 ) `M (q 2, w 2 α 2 u 2 ), όπου a 1, α 2, α 2 Σ αν και μόνο αν δ(q 1, α 1 ) =(q 2, b) για κάποιο b Σ {, }τέτοιο ώστε: 1. Αν b Σ τότε w 1 = w 2, u 1 =u 2 και a 2 = b (αντικαθιστά το σύμβολο a με b) 10

συνέχεια.. Παράδειγμα. Έστω w, u Σ *, u δεν τελειώνει με t και a, b Σ. 1. δ(q 1, a) = (q 2, b) και Πχ. (q 1, wau ) ` (q 2, wbu ) 11

συνέχεια.. B w 1 a 1 u 1 t 1 (q 1, w 1 a 1 u 1 ) `M (q 2, w 2 a 2 u 2 ), όπου a 1, a 2, Σ 2. Αν b = τότε w 1 = w 2 a 2 και 1. είτε u 2 =a 1 u 1 αν a 1 t ή u 1 e (μετακινείται αριστερά) w 2 B a 2 u 1 a 1 t Παράδειγμα. w 1 u 2 Έστω w, u Σ *, u δεν τελειώνει με t και a, b Σ. δ(q 1, a) = (q 2, ) και (q 1, wbau ) ` (q 2, wbau) 12

συνέχεια.. 2. Αν b = τότε w 1 = w 2 a 2 και 2. ή u 2 = e αν a 1 = t ή u 1 =e (μετακινείται αριστερά αν διαβάσει t και το σβήνει από τη συνολική κατάσταση ) Παράδειγμα. Έστω w, u Σ *, u δεν τελειώνει με t και a, b Σ. δ(q 1, a) = (q 2, ) και (q 1, wbt ) ` (q 2, wb) 13

συνέχεια.. 3. Αν b = τότε w 2 = w 1 a 1 και 1. είτε u 1 =a 2 u 2 αν a 1 t ή u 1 e (μετακινείται δεξιά) Παράδειγμα. Έστω w, u Σ *, u δεν τελειώνει με t και a, b Σ. δ(q 1, a) = (q 2, ) και (q 1, wabu ) ` (q 2, wabu) 14

συνέχεια.. 3. Αν b = τότε w 2 = w 1 a 1 και 2. ή u 1 =u 2 =e και a 2 = t (μετακινείται δεξιά αν διαβάσει t και το εισάγει στη συνολική κατάσταση ) w 1 B a 1 t t t w 2 Παράδειγμα. Έστω w, u Σ *, u δεν τελειώνει με t και a, b Σ. δ(q 1, a) = (q 2, ) και (q 1, wa ) ` (q 2, wat) 15

Υπολογισμός H ` * είναι η ανακλαστική μεταβατική κλειστότητα της ` C 1 ` * C 2 Υπολογισμός είναι μια ακολουθία από συνολικές καταστάσεις C 1 ` C 1 ` C 1 `.. C M 16

Παράδειγμα Παράδειγμα. Μ=(Q, Σ, δ, s, {h}):q={q 0, q 1, h} Σ ={a, t, B}, s={q 0 } (q 1, Btaaaa} ` (q 0, Btaaaa} ` (q 1, Bttaaa} ` (q 0, Bttaaa}. ` (q 1, Bttttt} ` (q 0, Btttttt} ` (h, Bttttttt} 1 2 3 4 5 6 q σ δ(q,σ) q 0 a ( q 1, t) q 0 t ( h, t ) q 0 B ( q 0, ) q 1 q 1 q 1 a (q 0,a) t (q 0, ) B (q 1, ) 17

Συμβολισμός για τις Μηχανές Turing Αναπαριστούμε τις μηχανές συνθέτοντας πιο απλές μηχανές σε πιο πολύπλοκες. Βασικές μηχανές: Για κάθε a Σ {, }- {B} ορίζω: Μ a = ({s, h}, Σ, δ, s, {h}) : b Σ -{B}, δ(s, b) = (h, a) αν a Σ ότισύμβολοκαιναδιαβάσει, b, γράφει το a στην θέση του b και τερματίζει. Συμβολίζεται ως a. αν a= ή ότι και να διαβάσει μετακινείται δεξιά και τερματίζει. Συμβολίζεται ως R ή L. 18

Σύνθεση Μηχανών Συνδέω μηχανές όπως καταστάσεις σε αυτόματα Για να αλλάξω μηχανή πρέπει να τερματίσει η λειτουργία της η προηγούμενη. Π.χ. Ξεκινά από την Μ1 όταν τερματίσει η Μ1 και το τρέχον σύμβολο είναι το a ξεκινά και λειτουργεί ως Μ2, διαφορετικά, αν το τρέχον σύμβολο είναι b ξεκινά και λειτουργεί ως Μ3 19

Σύνθεση Μηχανών Παράδειγμα. Αποτελείται από δύο αντίγραφα της R (right). μετακινεί την κεφαλή της ένα τετράγωνο δεξιά αν είναι το σύμβολο a, b, t ή B μετακινείται πάλι δεξιά Αν Σ ={a, b,, B } την γράφω ως ή RR. 20

Παραδείγματα R t = Σαρώνει την ταινία προς τα δεξιά μέχρι να βρει το κενό και τερματίζει. Σαρώνει την ταινία προς τα δεξιά μέχρι να βρει ένα μη κενό σύμβολο a οπότε μετακινείται ένα τετράγωνο αριστερά και γράφει το a στο τρέχον τετράγωνο και τερματίζει. 21

Παραδείγματα H R t (L t ) βρίσκει το πρώτο κενό τετράγωνο στα δεξιά (αριστερά) του τετραγώνου που μόλις σαρώθηκε και τερματίζει. t t L t t H R nott (L nott ) βρίσκει το πρώτο μη κενό τετράγωνο στα δεξιά (αριστερά) του τετραγώνου που μόλις σαρώθηκε και τερματίζει. 22

Παραδείγματα Η παρακάτω μηχανή C αντιγράφει μια λέξη w με μη κενά σύμβολα. Μετασχηματίζει την twt σε twtwt tabat tabat L t tabat (R) ttbat (read a και replace with t) ttbatt (R t R t ) ttbatat (write a) ttbatat (L t L t ) tabatat (write a) repeat until read t ( τότε tabatabat ) Τότε R t και τερμάτισε. (twtwt) 23

Υπολογισμοί σε Μηχανές Turing Πως χρησιμοποιούμε μια μηχανή Turing? Για την αναγνώριση μιας γλώσσας? Σύμβαση για την αναγνώριση γλωσσών Για μια μηχανή Μ=(Q, Σ, δ, s, Η) Οι λέξεις που ελέγχουμε δεν περιέχουν κενά : w Σ -{t, B} Αρχική συνολική κατάσταση με είσοδο w : (s, Btw). 24

Κατάσταση Αποδοχής, Απόρριψης Ορισμός. Για μια Μ=(Q, Σ, δ, s, Η) τέτοια ώστε H={y, n}, κάθε συνολική κατάσταση με κατάσταση τερματισμού y = συνολική κατάσταση αποδοχής ΗΜαποδέχεται την w αν παράγει μια συνολική κατάσταση αποδοχής. Κάθε συνολική κατάσταση με κατάσταση τερματισμού n = συνολική κατάσταση απόρριψης ΗΜαπορρίπτει την w αν παράγει μια συνολική κατάσταση τερματισμού 25

Αναδρομικές Γλώσσες Αν Σ 0 Σ -{t, B}το αλφάβητο εισόδου της M H M αποφασίζει μια γλώσσα L Σ 0* αν για κάθε λέξη w Σ * 0 είναι αληθές ότι: Αν w L, η M δέχεται την w και αν w L η Μ απορρίπτει την w. Μια γλώσσα είναι αναδρομική αν υπάρχει μια μηχανή που την αποφασίζει. 26

Παράδειγμα. Η παρακάτω μηχανή αποφασίζει για τη γλώσσα a n b n c n. Ημηχανήy(n)θέτει ως νέα κατάσταση την y (n) Λειτουργεί σε n φάσεις Σε κάθε φάση: ξεκινάαπότοαριστερόάκροτηςλέξης και σαρώνει δεξιά αναζητώντας το πρώτο a. Μόλις το βρει, το αντικαθιστά το a με d Σαρώνει δεξιά αναζητώντας το πρώτο b. Μόλις το βρει, το αντικαθιστά το b με d Σαρώνει δεξιά αναζητώντας το πρώτο c. Μόλις το βρει, το αντικαθιστά το c με d Επιστρέφει στο αριστερό άκρο της λέξης Ξεκινά η επόμενη φάση: Σε κάθε φάση αντικαθιστά ένα a, ένα b και ένα c με d. Αν φτάσει στο δεξιό άκρο της λέξης ενώ ψάχνει για a, σημαίνει ότι τέλειωσε τη λέξη και ήταν της μορφής a n b n c n αλλάζει κατάσταση σε τερματική αποδοχής y (yes) και τερματίζει. Αλλιώς θέτει την κατάσταση της σε τερματική απόρριψης n (no) και τερματίζει. 27

Παρατήρηση Στα προηγούμενα μοντέλα υπολογισμού (αυτόματα) η μηχανή είτε δεχόταν μια είσοδο είτε την απόρριπτε. Στις μηχανές Turing μπορεί να μην είναι μόνο αυτά τα δύο πιθανά αποτελέσματα μιας εισόδου: Για μια λέξη, η οποία δεν είναι δεχτή από τη γλώσσα της μηχανής μπορεί να μην τερματίσει ποτέ. 28

Αναδρομικές Συναρτήσεις H μηχανές Turing μπορεί να υπολογίζουν και συναρτήσεις f(w): Ορισμός. Έστω Μ=(Q, Σ, δ, s, {h}) και Σ 0 Σ -{t, B}w Σ * 0. Αν η Μ τερματίζει με είσοδο w και (s, Btw,) `*(h, Btz), z Σ * 0. z = έξοδος της M με είσοδο w = Μ(w) (η M(w) ορίζεται μόνο αν η Μ τερματίσει) Έστω συνάρτηση f: Σ * 0 Σ * 0. H M υπολογίζει την f αν για κάθε w Σ 0*, M(w) = f(w) Δηλ. για κάθε w Σ 0* η Μ κάποτε τερματίζει με είσοδο w και η ταινία περιέχει την λέξη Btf(w). H συνάρτηση f είναι αναδρομική αν υπάρχει μια Turing μηχανή M που υπολογίζει την f. 29

Παράδειγμα H συνάρτηση k : Σ * Σ * η οποία ορίζεται ως k(w) = w w μπορεί να υπολογιστεί από τη μηχανή CS C : μηχανή αντιγραφής μιας λέξης w σε wt w ακολουθούμενη από S : μια μηχανή αριστερής μετατόπισης μιας λέξης B twt σε B w t 30

Αναδρομικές Συναρτήσεις Οποιοδήποτε φυσικό αριθμό μπορούμε να τον αναπαραστήσουμε ως 0 1 (0 1) *. Οι μηχανές που υπολογίζουν συναρτήσεις από το {0,1,} * στο {0,1,} * είναι μηχανές που υπολογίζουν συναρτήσεις από τους φυσικούς αριθμούς στους φυσικούς αριθμούς Μια τέτοια συνάρτηση f: {0,1,} * {0,1,} * ηοποίαυπολογίζεται από κάποια μηχανή M ονομάζεται αναδρομική. 31

ΚλειστότηταωςπροςτοΈνωση, Τομή Θεώρημα. Το σύνολο των αναδρομικών γλωσσών είναι κλειστό ως προς τις πράξεις ένωση τομή συμπλήρωση σύμπτηξη θήκη Kleene. 32

Αναδρομικά Απαριθμήσιμες Γλώσσες Αν μια μηχανή Turing αποφασίζει μια γλώσσα ή υπολογίζει μια συνάρτηση μπορεί να θεωρηθεί ως ένας αλγόριθμος. Ορισμός. Έστω Μ=(Q, Σ, δ, s, {h}) και Σ 0 Σ -{t, B}ένα αλφάβητο και L Σ * 0 μια γλώσσα. Η Μ ημιαποφασίζει την L αν για κάθε λέξη w Σ * 0 αληθεύει το εξής: w L αν και μόνο αν η M τερματίζει με είσοδο w. Μια γλώσσα L είναι αναδρομικά απαριθμήσιμη αν υπάρχει μια μηχανή Μ που ημιαποφασίζει την L. 33

Αναδρομικά Αρίθμησες Γλώσσες Αν η Μ έχει είσοδο w L τερματίζει. Αν όμως w Σ * 0-L τότε η Μ δεν θα εισέλθει ποτέ σε κατάσταση τερματισμού. Μ(w) =% : η M αποτυγχάνει να τερματίσει με είσοδο w Αφού από κάθε συνολική κατάσταση παράγεται με άλλη συνολική κατάσταση η μηχανή θα συνεχίζει να υπολογίζει επ άπειρον. Για μια Μηχανή Turing και μια λέξη w? L δεν μπορούμε να αναγνωρίσουμε αν έχει τελειώσει με τον υπολογισμό της επειδή αν w Σ * 0-Lδεν θα τερματίσει ποτέ αλλά αυτό (ότι w L) δεν το ξέρουμε. Ορισμός (ισοδύναμος). Η Μ ημιαποφασίζει την L αν για κάθε λέξη w Σ * 0, ισχύει ότι Μ(w) = % αν και μόνο αν η w L. 34

Παράδειγμα L={w {a, b} * : η w περιέχει τουλάχιστον ένα a}. Τότε η L ημιαποφασίζεται από τη μηχανή: a Σαρώνει δεξιά ώσπου να βρει ένα a και τερματίζει. Ημηχανήτερματίζειμεείσοδοw αν και μόνο αν w L Αν η w δεν περιέχει a, η Μ δεν θα τερματίσει ποτέ. H L είναι αναδρομικά απαριθμήσιμη. 35

Μειονέκτημα Μηχανών Turing Στα αυτόματα αν διαβαστεί όλη η λέξη το αυτόματο τερματίζει πάντα σε τελική (οπότε αποδέχεται τη λέξη) ημητελικήκατάσταση(οπότε δεν αποδέχεται τη λέξη). Στις μηχανές Turing που ημιαποφασίζουν για μια γλώσσα ανηλέξηδενείναιαποδεχτήδεντερματίζειποτέαλλάσυνεχίζει επ άπειροννακάνειυπολογισμούς. Οπότε δεν ξέρουμε αν περιμέναμε αρκετά για να δούμε αν η λέξη είναιαποδεχτήήόχι. 36

Αναδρομικές και Αναδρομικά Αρίθμησες Γλώσσες Θεώρημα. Αν μια γλώσσα είναι αναδρομική είναι και αναδρομικά αριθμίσιμη. Απόδειξη. Μετατρέπουμε την μηχανή έτσι ώστε να ημιαποφασίζει αντί να αποφασίζει. Αλλάζουμε την κατάσταση απόρριψης n σε μη τερματική κατάσταση και επεκτείνουμε την δ: δ (n, a) =(n, a) για κάθε a Σ. 37

Ισχύει το αντίστροφο? Μπορούμε πάντα να μετατρέψουμε μια γλώσσα που είναι αναδρομικά απαριθμήσιμη (ημιαποφασίζει) Όχι! αναδρομική (αποφασίζει)? Υπάρχουν γλώσσες που δεν είναι αναδρομικές. Επίσης, Δεν είναι όλες οι συναρτήσεις αναδρομικές! (για οποιαδήποτε συνάρτηση, δεν υπάρχει πάντα μια μηχανή Turing M που να την υπολογίζει) 38

Κλειστότητα ως προς το Συμπλήρωμα Θεώρημα. Αν L είναι αναδρομική γλώσσα τότε το συμπλήρωμα της είναι επίσης αναδρομική γλώσσα. Απόδειξη. Αν M είναι το αυτόματο που δέχεται την L. Μ = ίδια όπως M αλλά αλλάζουμε όλες τις μεταβιβάσεις σε n σε y και αντίστροφα. L 39

Αναδρομικά Απαριθμήσιμες Γλωσσες-Κλειστότητα Θεώρημα. Το σύνολο των αναδρομικά αριθμήσιμων γλωσσών είναι κλειστό ως προς τις πράξεις ένωση τομή. Θεώρημα. Το σύνολο των αναδρομικά αριθμήσιμων γλωσσών δεν είναι κλειστό ως προς την πράξη συμπλήρωσης. 40

Συναναδρομικά Απαριθμίσιμες Γλώσσες Μια γλώσσα είναι συναναδρομικά απαριθμήσιμη αν υπάρχει μια μηχανή που να ημιαποφασίζει για το συμπλήρωμα της γλώσσας. Κάθε αναδρομική γλώσσα είναι αναδρομικά απαριθμίσιμη και συναναδρομικά απαριθμίσιμη. Πρόταση. Μια γλώσσα είναι αναδρομική αν και μόνο αν είναι αναδρομικά απαριθμίσιμη και συναναδρομικά απαριθμίσιμη. Η τομή των αναδρομικά απαριθμήσιμων και συναναδρομικά απαριθμίσιμων γλωσσών είναι το σύνολο των αναδρομικών γλωσσών. 41

Επεκτάσεις Μηχανών Turing Μηχανές Turing με πολλαπλές ταινίες (k) ταινία 1 ταινία 2 ταινία 3 h q 0 q 1 q 2 Πεπερασμένος έλεγχος Σε κάθε βήμα, κάθε κεφαλή διαβάζει και γράφει ή μετακινείται. 42

Mηχανή ktαινιών Πρόταση. Οποιαδήποτε συνάρτηση υπολογίζεται ή οποιαδήποτε γλώσσα αποφασίζεται ή ημιαποφασίζεται από μια μηχανή k ταινιών, υπολογίζεται, αποφασίζεται ή ημιαποφασίζεται, αντίστοιχα από μια μηχανή Turing. 43

Μηχανή πολλαπλών κεφαλών Επιτρέπουμε πολλαπλές κεφαλές και μια ταινία. Πρόταση. Οποιαδήποτε συνάρτηση υπολογίζεται ή οποιαδήποτε γλώσσα αποφασίζεται ή ημιαποφασίζεται από μια μηχανή με πολλαπλές κεφαλές, υπολογίζεται, αποφασίζεται ή ημιαποφασίζεται, αντίστοιχα από μια μηχανή Turing. 44

Μηχανές Turing Τυχαίας Προσπέλασης Η κεφαλή στις μηχανές που είδαμε μέχρι τώρα μπορεί σε ένα βήμα να διαβάσει ένα τετράγωνο αριστερά ή δεξιά της τρέχουσας θέσης. Στις μηχανές τυχαίας προσπέλασης Η κεφαλή μπορεί να διαβάσει οποιοδήποτε τετράγωνο της ταινίας σε ένα βήμα. Με την χρήση καταχωρητών οι οποίοι διαχειρίζονται τις διευθύνσεις των τετράγωνων της ταινίας Πρόταση. Οποιαδήποτε συνάρτηση υπολογίζεται ή οποιαδήποτε γλώσσα αποφασίζεται ή ημιαποφασίζεται από μια μηχανή Turing τυχαίας προσπέλασης, υπολογίζεται, αποφασίζεται ή ημιαποφασίζεται, αντίστοιχα από μια μηχανή Turing. 45

Μη Ντετερμινιστικές Μηχανές Turing Από μια συνολική κατάσταση είναι δυνατόν να προκύψουν πολλές εναλλαχτικές συνολικές καταστάσεις. Πρόταση. Οποιαδήποτε συνάρτηση υπολογίζεται ή οποιαδήποτε γλώσσα αποφασίζεται ή ημιαποφασίζεται από μια Μη Ντετερμινιστική μηχανή Turing, υπολογίζεται, αποφασίζεται ή ημιαποφασίζεται, αντίστοιχα από μια μηχανή Turing. 46