Σε αυτό το µάθηµα Εισαγωγή στις Μηχανές 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