• Nenhum resultado encontrado

opencourses.auth | Ανοικτά Ακαδημαϊκά Μαθήματα ΑΠΘ | Θεωρία Υπολογισμού | Μηχανές Turing: Σύνθεση και Υπολογισμοί

N/A
N/A
Protected

Academic year: 2023

Share "opencourses.auth | Ανοικτά Ακαδημαϊκά Μαθήματα ΑΠΘ | Θεωρία Υπολογισμού | Μηχανές Turing: Σύνθεση και Υπολογισμοί"

Copied!
23
0
0

Texto

(1)

Θεωρία Υπολογισμού

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

Τμήμα Πληροφορικής

Turing: Σύνθεση και Υπολογισμοί

(2)

΄Αδειες Χρήσης

Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

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

Turing: Σύνθεση και Υπολογισμοί

(3)

Χρηματοδότηση

Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα.

Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης» έχει χρηματοδοτήσει μόνο την αναδιαμόρφωση του εκπαιδευτικού υλικού.

Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή ΄Ενωση

(Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους.

Turing: Σύνθεση και Υπολογισμοί

(4)

1 Ορισμός και λειτουργία των μηχανώνTuring

΄Ενας συμβολισμός για μηχανέςTuring Υπολογισμοί με μηχανέςTuring Αναδρομικές συναρτήσεις

Turing: Σύνθεση και Υπολογισμοί

(5)

Ιεραρχικός συμβολισμός για μηχανές Turing

Χρειαζόμαστε έναν ξεκάθαρο και σχηματικό συμβολισμό για τις ΜΤ.

Η αναπαράσταση με πίνακα είναι πολύπλοκη και ερμηνεύεται δύσκολα.

Υιοθετούμε έναν ιεραρχικό συμβολισμό, σύμφωνα με τον οποίο όλο και πιο πολύπλοκες μηχανές χτίζονται από απλούστερες. Για το σκοπό αυτό χρειάζεται να ορίσουμε

ποιες είναι οι βασικές μηχανές

ποιοί είναι οι κανόνες σύνθεσης μηχανών

Turing: Σύνθεση και Υπολογισμοί

(6)

Βασικές μηχανές Turing

Ως βασικέςθεωρούμε τις απλούστερες δυνατές μηχανές:

μηχανές εγγραφής συμβόλων μηχανές μετακίνησης της κεφαλής

Για ένα αλφάβητοΣκαι κάθε α- ενέργεια ή σύμβολο του Σ (εκτός .) -, ορίζουμε μια μηχανή, η οποία είτε γράφει α ή μετακινείται προς α και αμέσως μετά τερματίζει.

δηλαδή, ορίζουμεMα= ({s,h},Σ, δ,s,{h}),

∀αΣ∪ {→,←} − {.}, όπουδ(s,b) = (h, α),∀bΣ− {.}

Γράφουμε α αντί γιαMα για τις μηχανές εγγραφής συμβόλων

Γράφουμε R (right) ή L(left) αντί γιαM καιM, αντιστοίχως για τις μηχανές μετακίνησης της κεφαλής.

Turing: Σύνθεση και Υπολογισμοί

(7)

Κανόνες σύνθεσης μηχανών Turing

ΟιΜΤ θα συνδυάζονται μεταξύ τους όπως οι καταστάσεις ενός πεπερασμένου αυτομάτου.

Οι μεμονωμένες μηχανές είναι σαν τις καταστάσεις ενός ΠΑ.

Κανόνες σύνθεσης:

Η μετάβαση από μιαΜΤσε μια άλλη γίνεται αφού η πρώτη τερματίσει.

Η επόμενηΜΤξεκινά από την αρχική της κατάσταση με την ταινία και την κεφαλή όπως προέκυψαν από τον τερματισμό της προηγούμενηςΜΤ.

Turing: Σύνθεση και Υπολογισμοί

(8)

Κανόνες σύνθεσης μηχανών Turing

M1 M2

M3 α

b

΄Εστω η ΜΤτης εικόνας, που συντίθεται από τις M1,M2 και M3

1 ξεκινάει από την αρχική κατάσταση τηςM1 2 λειτουργεί όπως ηM1μέχρι το σημείο που ηM1θα

τερμάτιζε 3 τότε,

3` αν το τρέχον σύμβολο είναια, αρχικοποιεί τηM2και λειτουργεί όπως αυτή

3‘ αν το τρέχον σύμβολο είναιb, αρχικοποιεί τηM3και λειτουργεί όπως αυτή

Turing: Σύνθεση και Υπολογισμοί

(9)

Ορισμός μιας σύνθετης μηχανής Turing

M1 M2

M3 α b

Θεωρούμε ότιMi = (Ki,Σ, δi,si,Hi), γιαi ∈ {1,2,3}

Τα σύνολα των καταστάσεων των M1,M2 και M3 είναι ξένα μεταξύ τους.

Η σύνθετη μηχανή θα είναι η M = (K,Σ, δ,s,H), όπου K: η ένωση των καταστάσεων,S3

i=1Ki

s: η αρχική της πρώτης μηχανής,s1

H: η ένωση των τελικών καταστάσεων τωνM2καιM3, H2H3

δ: για κάθε μη τελική κατάστασηq, ορίζεται από τηνδi της μηχανής όπου ανήκει ηq.

Δηλαδή∀σΣκαι∀qKiHi,δ(q, σ) =δi(q, σ)

Turing: Σύνθεση και Υπολογισμοί

(10)

Κατασκευή σύνθετης μηχανής Turing: Παράδειγμα 1

R R

α b t.

Σχήμα : α

Rα,b, .,tR

Σχήμα : β

Σχήμα α

Μηχανή που αποτελείται από δύο αντίγραφα τηςR.

Αρχικά εκτελείκαι έπειτα αν η θέση έχειαήbή.ήt, εκτελείξανά.

Σχήμα β

Πιο βολική περιγραφή για τη μηχανή του Σχήματος α.

Πολλά σύμβολα στην επιγραφή =παράλληλαβέλη, ένα για κάθε σύμβολο.

Μια επιγραφή με όλα τα σύμβολα τουΣμπορεί να παραλείπεται.

Δηλαδή, ανΣ ={α,b, .,t}τότεRR, ήRRήR2

Turing: Σύνθεση και Υπολογισμοί

(11)

Κατασκευή σύνθετης μηχανής Turing: Παράδειγμα 2

R t

Σχήμα : α

R α6=t

Σχήμα : β

R Lα

α6=t t

Σχήμα : γ

Σχήμα α

Μηχανή που διαβάζει προς τα δεξιά μέχρι να βρει κενό.

Συμβολίζεται καιRt.

΄Επιγραφήα= «οποιοδήποτε σύμβολο εκτός τουα»

Σχήμα β

Πιο βολική περιγραφή για τη μηχανή του Σχήματος α.

Πλεονέκτημα της επιγραφήςα6=tείναι ότι τοαμπορεί να χρησιμοποιηθεί σε άλλο σημείο στο διάγραμμα ως το όνομα μιας μηχανής.

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

Turing: Σύνθεση και Υπολογισμοί

(12)

Κατασκευή σύνθετης μηχανής Turing: Παράδειγμα 3

R t

Σχήμα : (α)Rt

L t

Σχήμα : (β)Lt

R t

Σχήμα : (γ)Rt

L t

Σχήμα : (δ)Lt

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

(β) βρίσκει το πρώτο κενόστααριστεράτης τρέχουσας θέσης.

(γ) βρίσκει το πρώτο μη κενόσταδεξιά της τρέχουσας θέσης.

(δ) βρίσκει το πρώτο μη κενόστααριστεράτης τρέχουσας θέσης.

Turing: Σύνθεση και Υπολογισμοί

(13)

Κατασκευή σύνθετης μηχανής Turing: Παράδειγμα 5

Lt R tRt2αL2tα

Rt

α6=t

t

Η μηχανήC λειτουργεί ακολούθως:

Αν ξεκινά με είσοδο w, δηλαδή αν η συμβολοσειρά w, με μη κενά σύμβολα που είναι πιθανώς κενή, τοποθετείται σε μια ταινία με κενά στοιχεία εκτός τηςw

... και έχει μία κενή θέση στα αριστερά της w,

.... και η κεφαλή βρίσκεται στη θέση στα αριστερά της w, ... τότε η μηχανή θα σταματήσει κάποτε με w tw σε μια κατά τα άλλα κενή ταινία.

Λέμε ότι η C μετασχηματίζει τηνtwt σεtw twt

Turing: Σύνθεση και Υπολογισμοί

(14)

Κατασκευή σύνθετης μηχανής Turing: Παράδειγμα 6

L tRtαLt

Rt

α6=t

t

Η μηχανή δεξιάς μετατόπισηςS → μετασχηματίζει την twt, όπου ηw δεν περιέχει κενά, σεt twt

Turing: Σύνθεση και Υπολογισμοί

(15)

Κατασκευή σύνθετης μηχανής Turing: Παράδειγμα 7

R α t

Μηχανή που διαγράφει ταα στην ταινία της.

Turing: Σύνθεση και Υπολογισμοί

(16)

Μηχανές Turing ως αναγνωριστές γλώσσας

΄ΕστωM = (K,Σ, δ,s,H) καιw ∈(Σ− {t, .})

Η συνολική κατάσταση της M με είσοδο w είναι (s, .tw) Ορισμός 1

΄ΕστωM τέτοια ώστεH={y,n}.

Κάθε συνολική κατάσταση τερματισμού της οποίας η κατάσταση τερματισμού είναιy ονομάζεταισυνολική κατάσ ταση

αποδοχής.

ΗM δέχεταιτηνw − {t, .}) αν η(s, .tw)παράγει μια συνολική κατάσταση αποδοχής.

Κάθε συνολική κατάσταση τερματισμού της οποίας η κατάσταση τερματισμού είναιnονομάζεταισυνολική κατάσ ταση

απόρριψης.

ΗM απορρίπτειτηνw αν η(s, .tw)παράγει μια συνολική κατάσταση απόρριψης.

Turing: Σύνθεση και Υπολογισμοί

(17)

Μηχανές Turing ως αναγνωριστές γλώσσας

΄ΕστωM = (K,Σ, δ,s,H) Ορισμός 2

΄ΕστωΣ0Σ− {t, .} τοαλφάβητο εισόδουτης M.

Αν καθορίσουμε τοΣ0να είναι ένα τέτοιο υποσύνολο,

επιτρέπουμε στις μηχανές να χρησιμοποιούν επιπλέον σύμβολα κατά τον υπολογισμό τους, εκτός αυτών στις εισόδους τους.

ΗM αποφασίζειμια γλώσσαLΣ0 αν για κάθε συμβολοσειράw Σ0 είναι αληθής:

Ανw L, ηM δέχεται τηνw και ανw /L, ηM απορρίπτει τηνw

Ονομάζουμε μια γλώσσααναδρομικήαν υπάρχει μια μηχανή που την αποφασίζει.

ΜιαΜΤαποφασίζει μια γλώσσαLαν, όταν ξεκινά με είσοδο w, πάντα τερματίζει σε κατάσταση τερματισμού (y αν w L,nανw / L)

Turing: Σύνθεση και Υπολογισμοί

(18)

Μηχανές Turing ως αναγνωριστές γλώσσας: Παράδειγμα

R dR dR dL

y n

α

t b,c d

b

c,t α,d

c

α,t b,d

Η μηχανή αποφασίζει τηνL={αnbncn:n≥0}

Η μηχανή y προσθέτει την κατάσταση αποδοχήςy, ενώ ηn προσθέτει την κατάστασηn

Με είσοδοαnbncn λειτουργεί σεn φάσεις. Σε κάθε φάση:

1 ξεκινά από τα αριστερά της συμβολοσειράς και ψάχνει προς τα δεξιά έναα

2 ΄Οταν βρειατο αντικαθιστά μεd και ψάχνει πιο δεξιά έναb 3 ΄Οταν βρειbτο αντικαθιστά μεd και ψάχνει πιο δεξιά έναc 4 ΄Οταν βρειc και αντικαθισταθεί μεd, η φάση τελειώνει και

η κεφαλή επιστρέφει στο αριστερό άκρο. Ξεκινά η έπόμενη φάση.

Turing: Σύνθεση και Υπολογισμοί

(19)

Μηχανές Turing ως αναγνωριστές γλώσσας: Παράδειγμα (Συνέχ.)

R dR dR dL

y n

α

t b,c d

b

c,t α,d

c

α,t b,d

Αν σε οποιοδήποτε σημείο η μηχανή διαπιστώσει ότι η συμβολοσειρά δεν ανήκει στοαbc ή ότι ένα σύμβολο υπάρχει περισσότερες φορές από όσες χρειάζεται (π.χ.

συναντά b ενώ ψάχνει γιαα), τότε εισέρχεται στη n και απορρίπτεται.

Αν συναντήσει το δεξιό άκρο της εισόδου ενώ ψάχνει για α, όλη η είσοδος έχει αντικατασταθεί με d, και άρα ήταν της μορφής αnbncn γιαn = 0.

Turing: Σύνθεση και Υπολογισμοί

(20)

Αναδρομικές συναρτήσεις

ΟιΜΤμπορούν να παράγουν πιο σύνθετη έξοδο από «ναι» ή

«όχι»

Ορισμός 3

΄ΕστωM = (K,Σ, δ,s,{h}) όπουΣ0 ⊆Σ− {t, .} ένα αλφάβητο και έστωw ∈Σ0.

Αν η M τερματίζει με είσοδο w και(s, .tw)`M (h, .ty) γιαy ∈Σ0, τότε τοy ονομάζεταιέξοδος της M με είσοδο w και συμβολίζεται μεM(w).

΄Εστωf συνάρτηση από το Σ0 στοΣ0. Η M υπολογίζει την f αν, με κάθεw ∈Σ0 ηM τερματίζει και η ταινία τότε περιέχει .tf(w).

Δηλαδή∀w Σ0,M(w) =f(w)

Μια συνάρτηση ονομάζεταιαναδρομική αν υπάρχειM που την υπολογίζει.

Turing: Σύνθεση και Υπολογισμοί

(21)

Αναδρομικές συναρτήσεις: Παράδειγμα 1

Η συνάρτηση κ: Σ7→Σ, η οποία ορίζεται ωςκ(w) =ww, μπορεί να υπολογιστεί από τη μηχανή CS (μηχανή

αντιγραφής ακολουθούμενη από τη μηχανή μετατόπισης, που ορίστηκαν)

Turing: Σύνθεση και Υπολογισμοί

(22)

Αναδρομικές συναρτήσεις

Οι συμβολοσειρές στο {0,1} μπορούν να χρησιμοποιηθούν για το δυαδικό συμβολισμό των μη αρνητικών ακεραίων, όπου κάθε w =α1α2. . . αn∈ {0,1} αναπαριστά τον αριθμό num(w) =α12n−122n−2+. . .+αn

Κάθε φυσικός αριθμός μπορεί να γραφτεί μοναδικά ως 0∪1(0∪1).

΄Αρα οι ΜΤπου μπορούν να υπολογίζουν συναρτήσεις {0,1} 7→ {0,1}, μπορούν να θεωρηθούν μηχανές που υπολογίζουν συναρτήσεις από τους φυσικούς αριθμούς στους φυσικούς αριθμούς.

Αριθμητικές συναρτήσεις με πολλές μεταβλητές μπορούν να υπολογιστούν απόΜΤ που υπολογίζουν συναρτήσεις

{0,1,;}7→ {0,1}, όπου το «;» χρησιμοποιείται για να διαχωρίζει τις δυαδικές μεταβλητές.

Turing: Σύνθεση και Υπολογισμοί

(23)

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

Επεξεργασία: Εμμανουέλα Στάχτιαρη Θεσσαλονίκη, 24/07/2014

Turing: Σύνθεση και Υπολογισμοί

Referências

Documentos relacionados

Επίσης, ειδικά για τη χρηµατοδοτική µίσθωση ακινήτων απαλλάσσονται από το φόρο µεταβίβασης ακινήτων και από τυχόν φόρο υπερτιµήµατος, που θα επιβληθεί: α η µεταβίβαση ακινήτου από την