Θεωρία Υπολογισμού και Πολυπλοκότητα Κεφάλαιο 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