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

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

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

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

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

CSC 314: Switching Theory. Chapter 3: Turing Machines

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

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

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

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

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

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

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

CSC 314: Switching Theory

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

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

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

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

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

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

HEAD INPUT. q0 q1 CONTROL UNIT

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

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

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

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

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

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

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

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

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

CSC 314: Switching Theory. Chapter 3: Turing Machines

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

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

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

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

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

Λύσεις 4ης Σειράς Ασκήσεων

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

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

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

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

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

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

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

Chapter 7, 8 : Time, Space Complexity

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

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

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

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

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

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

Chapter 7, 8 : Time, Space Complexity

Κωστόπουλος ηµήτριος Μ.Π.Λ.Α. TAPE COMPRESSION (θεώρηµα 2.3 Παπαδηµητρίου)

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

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

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

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

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

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

Πληροφορική 2. Αλγόριθμοι

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

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

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

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

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

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

Blum Complexity. Αλγόριθμοι και Πολυπλοκότητα ΙΙ. Παναγιώτης Γροντάς. Δεκέμβριος

f(t) = (1 t)a + tb. f(n) =

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης Τα Εργαστηριακά Προγράμματα. Η δομή Επιλογής στη PASCAL. H δομή Επανάληψης στη PASCAL. Η εντολή επανάληψης for

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

244 ΚΕΦ ΑΛΑΙΟ 8. ΥΠΟΛΟΓΙΣΙΜΕΣ ΣΥΝΑΡΤΗΣΕΙΣ Η f είναι μία μερική συνάρτηση στο πεδίο X, αν και μόνο αν η συνάρτηση ορίζεται για μηδέν ή περισσότερα στοι

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

Σημειώσεις Λογικής I. Εαρινό Εξάμηνο Καθηγητής: Λ. Κυρούσης

L A P. w L A f(w) L B (10.1) u := f(w)

Μη επιλυσιμότητα I. Απόδειξη. Ορίζουμε # # =

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

Recursive and Recursively Enumerable sets I

1 Arq thc Majhmatik c Epagwg c

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

ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ. Στις βασικές έννοιες που σχετίζονται με τη λεξική ανάλυση. Στη δήλωση ορισμό κανονικών εκφράσεων

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

Θεωρία Υπολογισμού Άρτιοι ΑΜ. Διδάσκων: Σταύρος Κολλιόπουλος. eclass.di.uoa.gr. Περιγραφή μαθήματος

Θεωρία Υπολογισμού Αρτιοι ΑΜ Διδάσκων: Σταύρος Κολλιόπουλος eclass.di.uoa.gr

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

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

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

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

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

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

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

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

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

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

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

t M (w) T ( w ) O( n) = O(n 2 )

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

5.1. Προσδοκώμενα αποτελέσματα

(Γραμμικές) Αναδρομικές Σχέσεις

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

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ

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

Transcript:

Υπολογισμοί με Μ.Τ. Εστω M = (K, Σ, δ, s, {y, n}) μια Μ.Τ. Κάθε συνολική κατάσταση τερματισμού της οποίας η κατάσταση τερματισμού είναι το y, θα ονομάζεται συνολική κατάσταση αποδοχής, ενώ αν η κατάσταση τερματισμού είναι το n, θα ονομάζεται συνολική κατάσταση απόρριψης. Λέμε οτι η M δέχεται μια είσοδο w (Σ {, }) αν η (s, w) παράγει μία συνολική κατάσταση αποδοχής. Λέμε ότι η M απορρίπτει την w αν η (s, w) παράγει μια συνολική κατάσταση απόρριψης. Εστω Σ 0 Σ {, }. Λέμε ότι η M αποφασίζει μία γλώσσα L Σ 0 αν για κάθε w Σ 0: αν w L, η M δέχεται την w αν w L, η M απορρίπτει την w. Μια γλώσσα λέγεται αναδρομική αν υπάρχει μια Μ.Τ. που την αποφασίζει.

Αναδρομικές Συναρτήσεις Εστω M = (K, Σ, δ, s, {h}) μια Μ.Τ., έστω Σ 0 Σ {, } και έστω w Σ 0. Υποθέτουμε ότι η M τερματίζει με είσοδο w, και ότι (s, w) M (h, y), για κάποιο y Σ 0. Το y ονομάζεται η έξοδος της M με είσοδο w και συμβολίζεται με M(w). Εστω f : Σ 0 Σ 0. Λέμε ότι η M υπολογίζει τη συνάρτηση f αν, για κάθε w Σ 0, M(w) = f(w). Μια συνάρτηση f ονομάζεται αναδρομική, αν υπάρχει μία Μ.Τ. που την υπολογίζει. Παράδειγμα: Η συνάρτηση f : Σ Σ που ορίζεται ως f(w) = ww, μπορεί να υπολογιστεί από μια Μ.Τ. που πρώτα αντιγράφει το w (μηχανή C) και μετά κάνει μετατόπιση προς τα αριστερά (μηχανή S ).

Αναδρομικές Συναρτήσεις, συνέχεια Πώς μπορούμε να υπολογίσουμε αριθμητικές συναρτήσεις; Μηχανές Turing που υπολογίζουν συναρτήσεις από το {0, 1} στο {0, 1} μπορούν να θεωρηθούν ως μηχανές που υπολογίζουν συναρτήσεις από τους φυσικούς αριθμούς στους φυσικούς αριθμούς. Εστω w δυαδική συμβολοσειρά. Με num(w) συμβολίζουμε τον αριθμό που αναπαριστά το w. Εστω M = (K, Σ, δ, s, {h}) μια Μ.Τ. τέτοια ώστε 0, 1, ; Σ, και έστω f : N k N. Λέμε ότι η M υπολογίζει τη συνάρτηση f αν για όλα τα w 1,..., w k L ((0 1)(0 1) ) (ισοδύναμα {0, 1}{0, 1} ) num(m(w 1 ;... ; w k )) = f(num(w 1 ),..., num(w k ))

Αναδρομικές Συναρτήσεις, συνέχεια Παράδειγμα: Μπορούμε εύκολα να κατασκευάσουμε μια Μ.Τ. που να υπολογίζει τη συνάρτηση διαδοχής στους φυσικούς αριθμούς (δηλαδή τη συνάρτηση f(n) = n + 1).

Αναδρομικά Απαριθμήσιμες Γλώσσες Εστω M = (K, Σ, δ, s, H) μια Μ.Τ., έστω Σ 0 Σ {, } και έστω L Σ 0 μια γλώσσα. Λέμε ότι η M ημιαποφασίζει την L αν για κάθε συμβολοσειρά w Σ 0 αληθεύει το εξής: w L αν και μόνο αν η M τερματίζει με είσοδο w. Μία γλώσσα είναι αναδρομικά απαριθμήσιμη αν και μόνο αν υπάρχει μία Μ.Τ. που ημιαποφασίζει την L. Οι Μ.Τ. που ημιαποφασίζουν γλώσσες δεν είναι αλγόριθμοι. Αν μια Μ.Τ. ημιαποφασίζει μια γλώσσα L και της δοθεί ως είσοδος μια συμβολοσειρά w L, τότε δεν θα ξέρουμε ποτέ αν έχουμε περιμένει αρκετά για μια απάντηση. Ποιά η σχέση ανάμεσα στις αναδρομικές και τις αναδρομικά απαριθμήσιμες γλώσσες;

Αναδρομικές - Αναδρομικά Απαριθμήσιμες Γλώσσες: Ιδιότητες Θεώρημα: Αν μια γλώσσα είναι αναδρομική, τότε είναι αναδρομικά απαριθμήσιμη. Απόδειξη: Δεδομένης μιας Μ.Τ. M = (K, Σ, δ, s, {y, n}) που αποφασίζει μια γλώσσα L, ορίζουμε M = (K, Σ, δ, s, {y}), όπου δ είναι η δ επαυξημένη με τις μεταβάσεις δ (n, a) = (n, a), για όλα τα a Σ. Θεώρημα: Αν η L είναι μία αναδρομική γλώσσα, τότε το συμπλήρωμα L της L είναι επίσης αναδρομική γλώσσα. Απόδειξη: Εστω ότι η L αποφασίζεται από τη Μ.Τ. M = (K, Σ, δ, s, {y, n}). Τότε η L αποφασίζεται από τη Μ.Τ. M = (K, Σ, δ, s, {y, n}) όπου: (n, X), αν δ(q, a) = (y, X), X Σ {, } δ (q, a) = (y, X), αν δ(q, a) = (n, X), X Σ {, } δ(q, a), διαφορετικά

Επεκτάσεις της Μηχανής Turing 1. ταινία άπειρη και προς τις δύο κατευθύνσεις. 2. πολλές ταινίες αντί μόνο μία. 3. πολλές κεφαλές αντί μία. 4. δισδιάστατη ταινία. Αυτές οι επιπλέον δυνατότητες διευκολύνουν το σχεδιασμό μιας μηχανής για μερικά προβλήματα και σε πολλές περιπτώσεις μειώνουν τον απαιτούμενο αριθμό υπολογιστικών βημάτων για την εκτέλεση κάποιων εργασιών. Οι επεκτάσεις δεν προσθέτουν τίποτα στις κλάσεις των συναρτήσεων που υπολογίζονται ή των γλωσσών που γίνονται αποδεκτές από τις κοινές Μ.Τ. Οποιαδήποτε από τις «επαυξημένες» μηχανές μπορούμε να την προσομοιώσουμε με μία κοινή Μ.Τ.

Η έννοια της προσομοίωσης Μια Μ. Τ. S προσομοιώνει τη Μ. Τ. M αν επιδεικνύει την ίδια συμπεριφορά με την M όσον αφορά την είσοδο και την έξοδο της: η S αποφασίζει ή ημιαποφασίζει την ίδια γλώσσα με την M ή υπολογίζει την ίδια συνάρτηση. Συνήθως (αλλά όχι πάντα), η S μιμείται βήμα προς βήμα τη λειτουργία της M. Για κάθε βήμα της προσομοιούμενης M, η S εκτελεί μια κατάλληλη ομάδα δικών της βημάτων.

Μηχανές Turing με πολλές ταινίες Μια Μ.Τ. k 1 ταινιών είναι μια πεντάδα (K, Σ, δ, s, H), όπου K, Σ, s, H όπως συνήθως, και δ συνάρτηση από το (K H) Σ k στο K (Σ {, }) k. Δηλαδή, για κάθε κατάσταση q και κάθε k-άδα από σύμβολα της ταινίας (a 1,..., a k ), έχουμε δ(q, (a 1,..., a k )) = (p, (b 1,..., b k )). Μια συνολική κατάσταση σε μια Μ.Τ. k ταινιών προσδιορίζει την κατάσταση, τα περιεχόμενα της ταινίας και τη θέση της κεφαλής σε καθεμία από τις k ταινίες. Επομένως, μια συνολική κατάσταση θα συμβολίζεται στη μορφή (q, (w 1 a 1 u 1,..., w k a k u k )). Ο ορισμός της έννοιας παράγει σε ένα βήμα είναι απλή επέκταση του αντίστοιχου ορισμού για τις απλές Μ.Τ. (μόνο που τώρα σε ένα βήμα επηρεάζονται και οι k ταινίες).

Υπολογισμοί με Μ.Τ. k ταινιών Υιοθετούμε τις ακόλουθες συμβάσεις: Η συμβολοσειρά εισόδου τοποθετείται στην πρώτη ταινία, με τον ίδιο τρόπο όπως και σε μια απλή Μ.Τ. Οι άλλες ταινίες είναι αρχικά κενές, με την κεφαλή στο αριστερότερο τετράγωνο της καθεμίας. Στο τέλος του υπολογισμού, η μηχανή θα αφήσει την έξοδο της στην πρώτη της ταινία. Τα περιεχόμενα των άλλων ταινιών χρησιμοποιούνται μόνο για ενδιάμεσους υπολογισμούς. Η ύπαρξη πολλαπλών ταινιών διευκολύνει το σχεδιασμό Μ. Τ.

Ισοδυναμία με απλές Μ.Τ. Θεώρημα: Οποιαδήποτε συνάρτηση υπολογίζεται, ή οποιαδήποτε γλώσσα αποφασίζεται ή ημιαποφασίζεται από μια μηχανή Turing k ταινιών, υπολογίζεται, αποφασίζεται ή ημιαποφασίζεται από μια απλή μηχανή Turing. Απόδειξη (Σκιαγράφηση): Μπορούμε να προσομοιώσουμε μια Μ.Τ. M k > 1 ταινιών χρησιμοποιώντας μια απλή Μ.Τ. S. Γράφουμε τα περιεχόμενα των k ταινιών πάνω στη μοναδική ταινία της S το ένα μετά το άλλο, χωρίζοντας τα με κάποιο ειδικό σύμβολο ( ). Δηλ. η S διατηρεί στην ταινία της k ζώνες αντίγραφα των «ενεργών» περιοχών των ταινιών της M. Για να γνωρίζουμε σε ποιο σημείο βρίσκονται οι k κεφαλές της M σε κάθε ταινία, χρησιμοποιούμε μια τελεία πάνω από τα αντίστοιχα k σύμβολα στην ταινία της S (στην ουσία έχουμε επεκτείνει το αλφάβητο).

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