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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

CSC 314: Switching Theory. Chapter 3: Turing Machines

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

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

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

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

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

CSC 314: Switching Theory. Chapter 3: Turing Machines

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

CSC 314: Switching Theory

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

HEAD INPUT. q0 q1 CONTROL UNIT

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

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

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

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

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

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

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

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

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

Θεωρία Υπολογισμού. Ενότητα 7 : Ντετερμινιστικά Πεπερασμένα Αυτόματα, Κανονικές Πράξεις. Αλέξανδρος Τζάλλας

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Εισαγωγή στην επιστήμη των υπολογιστών. Λογισμικό Υπολογιστών Κεφάλαιο 8ο Αλγόριθμοι

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

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

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

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

Μοντελοποίηση υπολογισμού. Θέματα Υπολογισμού στον Πολιτισμό Πεπερασμένα αυτόματα

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

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

Transcript:

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

Τι θα κάνουμε σήμερα Εισαγωγή στις Μηχανές Turing (TM) Τυπικός Ορισμός Μηχανής Turing (3.1.1) 1

Τι είδαμε μέχρι στιγμής Πεπερασμένα Αυτόματα Το πιο απλό υπολογιστικό μοντέλο Μικρή μνήμη Αυτόματα στοίβας Άπειρη μνήμη προσπελάσιμη μόνο ως στοίβα Μόνο το τελευταίο στοιχείο μπορεί να αναληφθεί Αδυνατούν να διεκπεραιώσουν πολύ μικρές εργασίες Δεν μπορούν να περιγράψουν μοντέλα υπολογιστών γενικής χρήσης 2

Ένα πιο ισχυρό υπολογιστικό μοντέλο Μηχανή Turing (Alan Turing 1936) Πολύ πιο ισχυρό μοντέλο Διαθέτει άπειρη μνήμη Μπορεί να την προσπελάσει χωρίς περιορισμούς Μπορεί να κάνει ακριβώς ότι και ένας υπολογιστής Υπάρχουν ακόμη προβλήματα που δεν μπορεί να τα επιλύσει. 3

FA vs ΤΜ Σχηματική Αναπαράσταση πεπερασμένου αυτόματου Ελεγκτής: Καταστάσεις και Μεταβάσεις Καταστάσεων Ταινία: Λέξη Εισόδου Βέλος : Κεφαλή Εισόδου ελεγκτής καταστάσεων a a b b είσοδος 4

FA vs ΤΜ Σχηματική Αναπαράσταση Μηχανής Turing Ελεγκτής: Καταστάσεις και Μεταβάσεις Καταστάσεων Καταστάσεις αποδοχής και απόρριψης Αν δεν φτάσουμε σε αποδοχή ή απόρριψη η ΤΜ δεν τερματίζει Ταινία: Άπειρη Αρχικά περιέχει λέξη εισόδου και σύμβολα διαστήματος στις υπόλοιπες θέσεις Βέλος : Κεφαλή Εισόδου Μετακινείται δεξιά και αριστερά Δυνατότητα να διαβάζει και να γράφει ελεγκτής καταστάσεων a a b b είσοδος 5

Γενική λειτουργία των ΤΜ Υποθέστε ότι έχουμε την γλώσσα Β={w#w w2{0,1}*} Μετακινούμαστε παλινδρομικά επάνω στην ταινία σε ομόλογες θέσεις του συμβόλου #, ελέγχουμε αν έχουν το ίδιο σύμβολο, και διαγράφουμε τα σύμβολα που ελέγχουμε. Εάν δεν υπάρχει το # τότε απορρίπτουμε. Όταν έχουν διαγραφεί όλα τα σύμβολα αριστερά του # ελέγχουμε αν έχουν απομείνει μη διαγεγραμμένα σύμβολα στα δεξιά του #. Εάν ναι, απορρίπτουμε, διαφορετικά αποδεχόμαστε. x x 1 0 # x 1 1 0 6

Τυπικός ορισμός PDA Ορισμός Μηχανή Turing είναι μια επτάδα 1. Q = πεπερασμένο σύνολο καταστάσεων 2. Σ = αλφάβητο εισόδου, που δεν περιέχει το σύμβολο διαστήματος (πεπερασμένο) 3. Γ = αλφάβητο ταινίας, με Γ and Σ Γ 4. Συνάρτηση μετάβασης δ : Q Γ! Q Γ x {A,Δ} Όταν το αυτόματο είναι στην κατάσταση q 2 Q και στην τρέχουσα θέση της κεφαλής είναι το σύμβολο a τότε εάν δ (q,α)=(q,b,a) αντικαθιστά το α με b, μεταβαίνουμε στην κατάσταση q και η κεφαλή κινείται μια θέση αριστερά 5. q o 2 Q = εναρκτήρια κατάσταση 6. q αποδοχής 2 Q = κατάσταση αποδοχής 7. q απορριψης 2 Q = κατάσταση απόρριψης, με q απόρριψης q αποδοχής 7

Πως υπολογίζει η ΤΜ Μια ΤΜ M =(Q, Σ, Γ,δ,q 0,q accept,q reject ) υπολογίζει ως εξής: Αρχικά: Η λέξη w = w 1 w 2...w n, w i Σ καταχωρείται στις n αριστερότερες θέσεις της ταινίας Η κεφαλή είναι τοποθετημένη στη αριστερότερη θέση Το υπόλοιπο της ταινίας περιέχει το σύμβολο Το πρώτο σηματοδοτεί το τέλος της λέξης εισόδου Μετά την εκκίνηση Η Μ ακολουθεί τις μεταβάσεις Συνεχίζουμε μέχρι να φτάσουμε σε κατάσταση αποδοχής ή απόρριψης. 8

Ορισμοί Φάση της μηχανής Κατάσταση, Περιεχόμενα ταινίας, και Θέση κεφαλής Αναπαράσταση φάσης 1011q01111 Η ταινία περιέχει την λέξη 101101111 Βρισκόμαστε στην κατάσταση q Η κεφαλή βρίσκεται στο δεύτερο 0 q 1 0 1 1 0 1 1 1 1 9

Ορισμοί Μια φάση Φ1 αποδίδει μια φάση Φ2 εάν μπορούμε να μεταβούμε από την Φ1 στη Φ2 με ένα μόνο βήμα Π.χ.η ua q i bv αποδίδει την u q j acv εάν υπάρχει μετάβαση δ(q i, b) = (q j, c, A) Εναρκτήρια φάση για είσοδο w: q 0 w Αρχική κατάσταση Κεφαλή στην αριστερότερη θέση Αποδεκτική φάση: Μ βρίσκεται στην κατάσταση αποδοχής Απορριπτική φάση: Μ βρίσκεται στην κατάσταση απόρριψης Τερματικές φάσεις: αποδεκτική και απορριπτική 10

Τυπικός ορισμός του υπολογισμού Μ αποδέχεται την είσοδο w εάν υπάρχει ακολουθία Φ 1, Φ 2,...,Φ k τ.ω. η Φ 1 είναι εναρκτήρια φάση της Μ για την w Κάθε Φ i αποδίδει την Φ i+1, και Η φάση Φ κ είναι αποδεκτική L(M) η γλώσσα της Μ (Μ αναγνωρίζει την L): L = σύνολο των λέξεων που αποδέχεται η Μ 11

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

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

Παράδειγμα 1 A = {0 2n : n 0} Ιδέα: Διαιρούμε κάθε φορά το πλήθος των μηδενικών με το 2 Αν μας μείνουν 0 ή 1 μηδενικά αποδεχόμαστε Αν μας μείνουν περιττά μηδενικά απορρίπτουμε 14

Παράδειγμα 1 Πως υλοποιούμε την παραπάνω ιδέα με μια μηχανή Turing M2? Μ2 = Για είσοδο w: 1. Διατρέχουμε την ταινία από αριστερά προς τα δεξιά διαγράφοντας κάθε δεύτερο 0 2. Εάν στο στάδιο 1 η ταινία περιείχε μόνο ένα 0, αποδεχόμαστε 3. Εάν στο στάδιο 1 η ταινία περιείχε περισσότερα από ένα μηδενικά και το πλήθος τους ήταν περιττό, απορρίπτουμε 4. Επιστρέφουμε την κεφαλή στο αριστερό άκρο της ταινίας 5. Μεταβαίνουμε στο στάδιο 1. 15

Παράδειγμα 1 Τυπική περιγραφή Q={q1, q2, q3, q4, q5, qs, qe} Σ={0} Γ={0, x, t} Μεταβάσεις? 16

Παράδειγμα 2 Β={w#w w2{0,1}*} Μ3 = Για είσοδο w: Μετακινούμαστε παλινδρομικά επάνω στην ταινία σε ομόλογες θέσεις του συμβόλου #, ελέγχουμε αν έχουν το ίδιο σύμβολο, και διαγράφουμε τα σύμβολα που ελέγχουμε. Εάν δεν υπάρχει το # τότε απορρίπτουμε. Όταν έχουν διαγραφεί όλα τα σύμβολα αριστερά του # ελέγχουμε αν έχουν απομείνει μη διαγεγραμμένα σύμβολα στα δεξιά του #. Εάν ναι, απορρίπτουμε, διαφορετικά αποδεχόμαστε. 17

Παράδειγμα 2 Τυπική περιγραφή Q={q1,,q8, qs, qe} Σ={0, 1, #} Γ={0, 1, #, x, t} 18

Παράδειγμα 3 C={w: w έχει το ίδιο πλήθος από 0 και 1} Ιδέα: Για κάθε ένα 0 που βρίσκουμε να ελέγχουμε αν υπάρχει ένα 1. Αν δεν βρούμε 0 τότε δεν πρέπει να βρούμε ούτε 1 19

Παράδειγμα 3 Περιγραφή μηχανής Μ4 Για είσοδο w: 1. Σαρώνουμε την ταινία και σημαδεύουμε το πρώτο 0 που δεν είναι σημαδεμένο. Εάν δεν υπάρχει τέτοιο 0 μεταβαίνουμε στο στάδιο 4. Διαφορετικά μεταφέρουμε την κεφαλή στην αρχή της ταινίας. 2. Σαρώνουμε την ταινία και σημαδεύουμε το πρώτο 1 που δεν είναι σημαδεμένο. Εάν δεν υπάρχει τέτοιο 1 απορρίπτουμε. 3. Επαναφέρουμε την κεφαλή στην αρχή και πάμε στο στάδιο 1. 4. Επαναφέρουμε την κεφαλή στην αρχή και σαρώνουμε για 1. Εάν υπάρχουν μη σημαδεμένα 1 τότε απορρίπτουμε. Αλλιώς αποδεχόμαστε. 20

Ερωτήσεις; 21