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

Σχετικά έγγραφα
ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

CSC 314: Switching Theory

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

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

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

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

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

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

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

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

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

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

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

Γλώσσες Χωρίς Συμφραζόμενα

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

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

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Θεωρία Υπολογισμού. Ενότητα 11 : Γραμματικές χωρίς συμφραζόμενα. Αλέξανδρος Τζάλλας

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

CSC 314: Switching Theory. Chapter 3: Turing Machines

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

Θεωρία Υπολογισμού Αλφάβητα, Γλώσσες, Κανονικές Εκφράσεις

Περιεχόμενα Συμβολοσειρές Γλώσσες ΘΥ 6: Συμβολοσειρές & γλώσσες Επ. Καθ. Π. Κατσαρός 24/07/2014 Επ. Καθ. Π. Κατσαρός ΘΥ 6: Συμβολοσειρές & γλώσσες

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

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

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

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

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

ΜΑΘΗΜΑ: Μεταγλωττιστές

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

HEAD INPUT. q0 q1 CONTROL UNIT

Διαδικαστικός Προγραμματισμός

ΜΑΘΗΜΑΤΙΚΑ ΓΙΑ ΟΙΚΟΝΟΜΟΛΟΓΟΥΣ

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

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

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

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Διακριτά Μαθηματικά. Ενότητα 8: Υπολογισιμότητα & Γλώσσες

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

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Συστήματα Αυτομάτου Ελέγχου. Ενότητα Α: Γραμμικά Συστήματα

Θέματα υπολογισμού στον πολιτισμό

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

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

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

Θεωρία Υπολογισμού. Ενότητα 5 : Λογικά Επιχειρήματα, Αλφάβητα & Γλώσσες (2/2) Αλέξανδρος Τζάλλας

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

Θέματα υπολογισμού στον πολιτισμό

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

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

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

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

Μαθηματικά. Ενότητα 3: Εξισώσεις και Ανισώσεις 1 ου βαθμού. Σαριαννίδης Νικόλαος Τμήμα Λογιστικής και Χρηματοοικονομικής

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Θεωρία Υπολογισμού. Ενότητα 8 : Αυτόματα NFA - DFA. Αλέξανδρος Τζάλλας

2 n N: 0, 1,..., n A n + 1 A

ΜΑΘΗΜΑΤΙΚΑ ΓΙΑ ΟΙΚΟΝΟΜΟΛΟΓΟΥΣ

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

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

Δομημένος Προγραμματισμός

Γλώσσες Χωρίς Συμφραζόμενα

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

CSC 314: Switching Theory. Chapter 3: Turing Machines

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

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

Μοντελοποίηση Λογικών Κυκλωμάτων

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

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

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

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

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

Transcript:

ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ Ενότητα 8: Ιδιότητες Γραμματικών χωρίς Συμφραζόμενα Ρεφανίδης Ιωάννης

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

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Πανεπιστήμιο Μακεδονίας» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 3

Ιδιότητες Γραμματικών χωρίς Συμφραζόμενα

Ιδιότητες Γραμματικών χωρίς Συμφραζόμενα Ιδιότητες Κλειστότητας Ιδιότητες Περιοδικότητας Αλγοριθμικές ιδιότητες 5

Ιδιότητες Κλειστότητας Οι γλώσσες χωρίς συμφραζόμενα είναι κλειστές ως προς την ένωση, την παράθεση και Kleene Star. Οι γλώσσες χωρίς συμφραζόμενα δεν είναι κλειστές ως προς την τομή και τη συμπλήρωση. 6

Ένωση Έστω G 1 =(V 1, Σ 1, R 1, S 1 ) και G 2 =(V 2, Σ 2, R 2, S 2 ). Η γραμματική G για την οποία ισχύει L(G)=L(G 1 ) L(G 2 ) ορίζεται ως εξής: G=(V 1 V 2 {S}, Σ 1 Σ 2, R 1 R 2 {S S 1,S S 2 }, S) 7

Παράθεση Έστω G 1 =(V 1, Σ 1, R 1, S 1 ) και G 2 =(V 2, Σ 2, R 2, S 2 ). Η γραμματική G για την οποία ισχύει L(G)=L(G 1 )L(G 2 ) ορίζεται ως εξής: G=(V 1 V 2 {S}, Σ 1 Σ 2, R 1 R 2 {S S 1 S 2 }, S) 8

Kleene Star Έστω G 1 =(V 1, Σ 1, R 1, S 1 ). Η γραμματική G για την οποία ισχύει L(G)=L(G 1 )* ορίζεται ως εξής: G=(V 1, Σ 1, R 1 {S 1 ε, S 1 S 1 S 1 }, S 1 ) 9

Ιδιότητες Περιοδικότητας Θεώρημα άντλησης για γραμματικές Έστω G μια γραμματική χωρίς συμφραζόμενα. Τότε υπάρχει ένας αριθμός Κ (που εξαρτάται από την G) τέτοιος ώστε κάθε συμβολοσειρά w L(G) με w >K να μπορεί να γραφεί ως w=uvxyz, v + y >0 και uv n xy n z L(G) για κάθε n 0. 10

Παράδειγμα Η γλώσσα L={a n b n c n : n 0} δεν είναι χωρίς συμφραζόμενα. Έστω μια αρκετά μεγάλη λέξη w L, τέτοια ώστε w >K ή ισοδύναμα n>k/3. w=uvxyz με v ε ή y ε. Σύμφωνα με το θεώρημα άντλησης, θα πρέπει και η λέξη uv 2 xy 2 z να ανήκει στην L, κάτι όμως που είναι φανερό ότι δεν μπορεί να ισχύει. 11

Αλγοριθμικές Ιδιότητες (1/2) Υπάρχουν αλγόριθμοι που απαντούν στα παρακάτω ερωτήματα σχετικά με τις γραμματικές χωρίς συμφραζόμενα: Δεδομένης γραμματικής G και συμβολοσειράς w, ανήκει η w στην L(G); Είναι η L(G) κενή; 12

Αλγοριθμικές Ιδιότητες (2/2) Δεν υπάρχουν αλγόριθμοι που να απαντούν πάντα στις παρακάτω ερωτήσεις: Έχουν δύο γραμματικές την ίδια γλώσσα; Μπορεί μια γραμματική να παράγει όλες τις λέξεις του αλφαβήτου της; Είναι η τομή των γλωσσών δύο γραμματικών κενό σύνολο; Είναι μια γραμματική διφορούμενη; 13

Ντετερμινιστικά Αυτόματα Στοίβας

Ντετερμινιστικά Αυτόματα Στοίβας (1/2) Ένα αυτόματο στοίβας λέγεται ντετερμινιστικό εάν υπάρχει μια το πολύ μετάβαση για κάθε συνδυασμό εισόδου και κατάστασης της στοίβας. Υπάρχουν γλώσσες χωρίς συμφραζόμενα που δεν γίνονται δεκτές από ντετερμινιστικά αυτόματα στοίβας. L={ww R } Ορίζουμε ως ντετερμινιστικές γλώσσες χωρίς συμφραζόμενα αυτές που γίνονται δεκτές από ντετερμινιστικά αυτόματα στοίβας. 15

Ντετερμινιστικά Αυτόματα Στοίβας (2/2) Για τις γνωστές γλώσσες προγραμματισμού μπορεί κανείς να κατασκευάσει ντετερμινιστικά αυτόματα στοίβας που να δέχονται τα συντακτικώς σωστά προγράμματα αυτών. Τα προγράμματα αυτά ονομάζονται συντακτικοί αναλυτές (parsers). 16

Μηχανές Turing (Turing machines)

Σχηματική αναπαράσταση Πεπερασμένο αυτόματο Κεφαλή ανάγνωσης/εγγραφής Ταινία απείρου μήκους προς τη μία κατεύθυνση. a b a c a b # # # # # 18

Τυπικός ορισμός μηχανής Turing Μια μηχανή Turing ορίζεται από μια τετράδα Μ=(Κ,Σ,δ,s) όπου: Κ είναι ένα συνόλο από καταστάσεις. Σ είναι ένα αλφάβητο που μεταξύ άλλων περιέχει το ειδικό σύμβολο #. s K είναι η αρχική κατάσταση. δ είναι μια συνάρτηση από το KxΣ στο K {h} x Σ {L,R}. 19

Παρατηρήσεις Υπάρχει πάντα η ειδική κατάσταση h που ονομάζεται κατάσταση τερματισμού. Συνήθως δεν την αναφέρουμε στο σύνολο Κ. Το σύμβολο # ονομάζεται κενό σύμβολο. Οι ειδικοί χαρακτήρες L και R συμβολίζουν μετακίνηση της κεφαλής ανάγνωσης/εγγραφής κατά μία θέση αριστερά και δεξιά αντίστοιχα. 20

Τρόπος λειτουργίας (1/4) Αρχικά η μηχανή Turing βρίσκεται στην κατάσταση s και η κεφαλή ανάγνωσης/εγγραφής βρίσκεται στο αριστερό άκρο της ταινίας. Σε κάθε βήμα η μηχανή Turing μπορεί να μεταβεί σε μία νέα κατάσταση ή να παραμείνει στην ίδια (όπως συμβαίνει σε όλα τα αυτόματα). Επιπλέον, σε κάθε βήμα η κεφαλή ανάγνωσης/εγγραφής μπορεί εναλλακτικά: Να γράψει ένα σύμβολο στην τρέχουσα θέση Να μετακινηθεί μία θέση αριστερά ή δεξιά. 21

Τρόπος λειτουργίας (2/4) Αρχικά στην ταινία είναι γραμμένα κάποια σύμβολα. Αυτά είναι συγκεντρωμένα στο αριστερό άκρο της ταινίας. Δεξιά από αυτά υπάρχουν μόνο χαρακτήρες κενού (#). H κεφαλή ανάγνωσης/εγγραφής δείχνει αρχικά σε κάποια προκαθορισμένη θέση της ταινίας. Η μηχανή Turing δεν διαβάζει άλλα σύμβολα κατά τη λειτουργία της παρά μόνο αυτά που είναι γραμμένα εξαρχής στην ταινία. 22

Τρόπος λειτουργίας (3/4) Σε κάθε βήμα η μηχανή Turing αποφασίζει ντετερμινιστικά σε ποια κατάσταση θα μεταβεί και τι ενέργεια θα εκτελέσει στην ταινία, βάσει της τρέχουσας κατάστασής της και του συμβόλου που διαβάζει από την ταινία (όπως αυτά καθορίζονται από τη συνάρτηση μετάβασης δ). Η μηχανή τερματίζει είτε όταν εισέλθει στη κατάσταση τερματισμού h. Αν η κεφαλή επιχειρήσει να μετακινηθεί αριστερότερα από το αριστερό άκρο της ταινίας, τότε η μηχανή Turing διακόπτει τη λειτουργία της και δεν επιστρέφει καμία απάντηση. 23

Τρόπος λειτουργίας (4/4) Η μηχανή Turing δεν έχει "καλές" και "κακές" τελικές καταστάσεις. Όταν η μηχανή Turing τερματίσει (εισερχόμενη στην κατάσταση τερματισμού h), τότε η "απάντηση" είναι ό,τι υπάρχει στην ταινία. Με αυτό τον τρόπο η μηχανή Turing μπορεί να δίνει σύνθετες απαντήσεις (και όχι μονολεκτικές της μορφής ΝΑΙ/ΟΧΙ, όπως συνέβαινε με τα απλά αυτόματα), όπως για παράδειγμα: Το ημίτονο ενός αριθμού Πόσες φορές εμφανίζεται ένας χαρακτήρας μέσα σε μια λέξη. 24

Παράδειγμα (1/2) Μια μηχανή που σβήνει τη λέξη εισόδου. Κ={s,q} Σ={a,#} δ(s,a) = (q,#) δ(s,#) = (h,#) δ(q,a) = (s,a) δ(q,#) = (s,r) Δεν εκτελείται ποτέ. Αρχικά η κεφαλή είναι στο αριστερό άκρο της ταινίας. 25

Παράδειγμα (2/2) Ή και διαγραμματικά... #/R start a/# s q Το πρώτο σύμβολο είναι αυτό που διαβάζει η μηχανή, ενώ το δεύτερο είναι η κίνηση που εκτελεί ή το σύμβολο που γράφει. #/# h a/a Δεν εκτελείται ποτέ 26

Συνολική κατάσταση Η τρέχουσα κατάσταση υπολογισμού μιας μηχανής Turing καθορίζεται πλήρως από: Την τρέχουσα κατάστασή της Τη λέξη που υπάρχει στην ταινία, αριστερά από την κεφαλή. Το χαρακτήρα που υπάρχει στη θέση της κεφαλής. Τη λέξη που υπάρχει από την ταινία δεξιά από την κεφαλή και μέχρι τον τελευταίο μη-κενό χαρακτήρα. Συμβολίζεται με (q,w,a,u) ή (q,wau). Όταν αναφερόμαστε μόνο στην κατάσταση της ταινίας, γράφουμε wau. 27

Μεταβάσεις Μεταξύ συνολικών καταστάσεων ορίζεται η σχέση, η οποία δηλώνει ότι η μια κατάσταση παράγεται από την άλλη σε ένα βήμα. Η σχέση * δηλώνει ότι η μια κατάσταση παράγεται από την άλλη σε πολλά βήματα. 28

Παράδειγμα Έτσι, στο παράδειγμα των διαφανειών 150-151, και αν υποθέσουμε ότι αρχικά υπάρχουν 4 σύμβολα a στην ταινία, έχουμε: (s,aaaa) (q,#aaa) (s,#aaa) (q,##aa) (s,##aa) (q,###a) (s,###a) (q,####) (s,#####) (h,#####) Ή και πιο σύντομα: (s,aaaa) * (h,#####) 29

Υπολογισμοί με μηχανές Turing

Συμβάσεις (1/2) Στο εξής θα θεωρούμε ότι: Η συμβολοσειρά εισόδου περικλείεται από ένα κενό σε κάθε πλευρά. Η συμβολοσειρά εισόδου (μαζί με τα κενά) είναι γραμμένη στο αριστερότερο άκρο της ταινίας. Η κεφαλή βρίσκεται αρχικά στο κενό στο δεξιό άκρο της συμβολοσειράς εισόδου. Η μηχανή ξεκινά τη λειτουργία της από την αρχική της κατάσταση. 31

Συμβάσεις (2/2) Θα λέμε ότι η μηχανή Turing τερμάτισε με είσοδο w, εάν (s,#w#) * (h,x) για κάποια λέξη x. Θα λέμε ότι η μηχανή Turing κρέμασε με είδοσο w, εάν ξεκινώντας από τη συνολική κατάσταση (s,#w#) η κεφαλή μετακινηθεί αριστερότερα από το αριστερό άκρο της ταινίας. 32

Turing-υπολογίσιμες συναρτήσεις Έστω Σ 0 και Σ 1 αλφάβητα που δεν περιέχουν το κενό σύμβολο #. Έστω f μια συνάρτηση από το Σ 0 * στο Σ 1 *. Λέμε ότι μια μηχανή Turing Μ υπολογίζει τη συνάρτηση f, εάν (s,#w#) * (h,#u#) για κάθε w Σ 0, u Σ 1, τέτοια ώστε f(w)=u. Εάν υπάρχει τέτοια μηχανή Turing, η f λέγεται Turing-υπολογίσιμη συνάρτηση. 33

Παράδειγμα Α (1/2) Έστω Σ={a,b} και μια συνάρτηση f:σ* Σ*, τέτοια ώστε για κάθε w να ισχύει f(w)=w, όπου το w προκύπτει εάν αντικαταστήσουμε όλα τα a του w με b και αντίστροφα. 34

Παράδειγμα Α (2/2) start q 0 #/L a/l b/l q 1 a/r b/r #/R #/# q 2 h a/b b/a Παράδειγμα υπολογισμού: (q 0,#aba#) (q 1,#aba#) (q 0,#abb#) (q 1,#abb#) (q 0,#aab#) (q 1,#aab#) (q 0,#bab#) (q 1,#bab#) (q 2,#bab#) (q 2,#bab#) (q 2,#bab#) (q 2,#bab#) (h,#bab#) 35

Παράδειγμα Β (1/2) Έστω f η συνάρτηση διαδοχής f(n)=n+1. Θεωρώντας το αλφάβητο Σ={Ι,#} και την αντιστοίχιση n I n και n+1 I n+1, κατασκευάζουμε μια μηχανή Turing που προσθέτει ένα σύμβολο I στα δεξιά κάθε ομάδας τέτοιων συμβόλων. 36

Παράδειγμα Β (2/2) #/I start q 0 I/R h Παράδειγμα υπολογισμού: (q 0,#III#) (q 0,#IIII) (h,#iiii#) Ακόμη ένα παράδειγμα υπολογισμού: (q 0,##) (q 0,#I) (h,#i#) Και ένα παράδειγμα λάθος υπολογισμού: (q 0,#III) (h,#iii#) 37

Παραλλαγές της βασικής μηχανής Turing

Παραλλαγές της βασικής μηχανής Turing (1/2) Θα μπορούσε κανείς να φανταστεί πιο πολύπλοκες μηχανές Turing, ελπίζοντας ότι αυτές θα είχαν περισσότερες δυνατότητες. Μερικά παραδείγματα: Η ταινία να είναι άπειρη και προς τις δύο κατευθύνσεις. Να υπάρχουν πολλές ταινίες. Να υπάρχουν πολλές κεφαλές ανάγνωσης/εγγραφής σε κάθε ταινία. Οι ταινίες να είναι διδιάστατες αντί για μονοδιάστατες. Όλοι οι δυνατοί συνδυασμοί των παραπάνω. κλπ 39

Παραλλαγές της βασικής μηχανής Turing (2/2) Αποδεικνύεται (η απόδειξη παραλείπεται) ότι όλες αυτές οι παραλλαγές της βασικής μηχανής Turing είναι εντελώς ισοδύναμες με τη βασική μηχανή Turing που έχουμε περιγράψει στις προηγούμενες διαφάνειες. 40

Μη-ντετερμινιστικές μηχανές Turing (1/2) Θα μπορούσαμε να κατασκευάσουμε μηντετερμινιστικές μηχανές Turing, κατά τρόπο ανάλογο με τα μη-ντετερμινιστικά αυτόματα. Επειδή μια μη-ντετερμινιστική μηχανή Turing μπορεί να γράψει διαφορετικό αποτέλεσμα στην ταινία για την ίδια είσοδο, δεν μπορούμε να χρησιμοποιήσουμε το αποτέλεσμα ως κριτήριο σύγκρισης μη-ντετερμινιστικών και ντετερμινιστικών μηχανών Turing. 41

Μη-ντετερμινιστικές μηχανές Turing (2/2) Χρησιμοποιούμε ως κριτήριο σύγκρισης το γεγονός εάν μια μη-ντετερμινιστική μηχανή τερματίζει ή όχι (π.χ. κρεμάει ή δεν τερματίζει ποτέ) για δεδομένη είσοδο. Υπό αυτό το πρίσμα, για κάθε μηντετερμινιστική μηχανή Turing υπάρχει μια αντίστοιχη ντετερμινιστική. 42

Τέλος Ενότητας