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

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

CSC 314: Switching Theory

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΠΕΡΙΕΧΟΜΕΝΑ. Πρόλογος στη δεύτερη έκδοση

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Θεωρία Υπολογισμού. Ενότητα 8 : Αυτόματα NFA - DFA. Αλέξανδρος Τζάλλας

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

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

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

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

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

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

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

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

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

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

CSC 314: Switching Theory. Chapter 3: Turing Machines

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

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

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

Σύνοψη Προηγούµενου. Κανονικές Γλώσσες (1) Προβλήµατα και Γλώσσες. Σε αυτό το µάθηµα. ιαδικαστικά του Μαθήµατος.

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

Άσκησηη 1. (α) Το αυτόματο. (γ) Να δείξετε όλα aabbb. Λύση. λέξεις. αυτόματο. (β) Τυπικά. μεταβάσεων δ. ορίζεται. (γ) Θα δείξουμε τα.

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

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

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

Γλώσσες Χωρίς Συμφραζόμενα

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

Ασκήσεις Επανάληψης. Επανάληψη Εαρινό Εξάμηνο 2019 Σελίδα 1

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

Γλώσσες Χωρίς Συμφραζόμενα

Chapter 7, 8 : Time, Space Complexity

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

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

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

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

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

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

Γενικές Παρατηρήσεις. Μη Κανονικές Γλώσσες - Χωρίς Συµφραζόµενα (1) Το Λήµµα της Αντλησης. Χρήση του Λήµµατος Αντλησης.

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

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

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

Chapter 7, 8 : Time, Space Complexity

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

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

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

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

Transcript:

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

Το Μάθημα σε μια Διαφάνεια Υπολογιστικά μοντέλα Κανονικές Γλώσσες Ντετερμινιστικά Αυτόματα Μη Ντετερμινιστικά Αυτόματα Κανονικές Εκφράσεις Μη κανονικές γλώσσες (Λήμμα Άντλησης) Ασυμφραστικές Γλώσσες Ασυμφραστικές Γραμματικές Αυτόματα με Στοίβα Μη ασυμφραστικές γλώσσες (Λήμμα Άντλησης) Μηχανές Turing Υπολογισιμότητα Τι είναι αλγόριθμος? Επιλύσιμα και Μη Επιλύσιμα προβλήματα Περιγραφή αλγορίθμου Απεικονιστικές Αναγωγές Πολυπλοκότητα Επιλύσιμων Προβλημάτων Χρονική και Χωρική 1 ρ. Νικόλας Νικολ λάου

Εισαγωγικά Μαθηματικό Υπόβαθρο Σύνολα και Πράξεις Συνόλων Είδη Αποδείξεων Γραφήματα Γλώσσες Τι είναι το Αλφάβητο? Σύνολο από σύμβολα Τι είναι η λέξη? Ακολουθία συμβόλων Τι είναι η γλώσσα? Σύνολο από λέξεις 2 ρ. Νικόλας Νικολ λάου

Κανονικές Γλώσσες Ντετερμινιστικά Αυτόματα Μη Ντετερμινιστικά Αυτόματα Κανονικές Εκφράσεις Μη κανονικές γλώσσες (Λήμμα Άντλησης) 3 ρ. Νικόλας Νικολ λάου

Ντετερμινιστικά Αυτόματα Ορισμός Ντετερμινιστικό Πεπερασμένο Αυτόματο είναι μια πεντάδα 1. Q = πεπερασμένο σύνολο καταστάσεων 2. Σ = αλφάβητο 3. Συνάρτηση μετάβασης δ : Q Σ e Q Όταν το αυτόματο είναι στην κατάσταση q Q και διαβάσει το σύμβολο a Σ μεταβιβάζεται σε μια κατάσταση q π.χ. δ (q,α)=q 4. q o Q = αρχική κατάσταση 5. F Q = τελικές καταστάσεις Από κάθε κατάσταση q προσδιορίζουμε μια μετάβαση για κάθε σύμβολο του αλφαβήτου. 4 ρ. Νικόλας Νικολ λάου

Τυπική Περιγραφή Αυτομάτου 0 1 1 0 q1 q2 q3 0, 1 Q = {q1, q2, q3} Σ = {0, 1} Η συνάρτηση μεταβάσεων δ περιγράφεται από τον πίνακα q1 η εναρκτήρια κατάσταση F = {q2} q 1 q 2 0 1 q 2 q 3 q 2 q 2 5 ρ. Νικόλας Νικολ λάου q 3 q 2 q 2

Παράδειγμα 0 1 1 q1 0 q2 Τι γλώσσα αναγνωρίζει το αυτόματο Μ3=({q1, q2}, {0,1}, δ, q1, {q1}) L(M3)={w w η κενή λέξη ή τελειώνει σε 0} 6 ρ. Νικόλας Νικολ λάου

7 ρ. Νικόλας Νικολάου Παράδειγμα 2 L={w η w περιέχει το πολύ δύο 0}

Τυπικός Ορισμός του ΝFA Ορισμός Μη Ντετερμινιστικό Πεπερασμένο Αυτόματο είναι μια πεντάδα 1. Q = πεπερασμένο σύνολο καταστάσεων 2. Σ = αλφάβητο 3. Συνάρτηση μετάβασης δ : Q Σ e P(Q) Όταν το αυτόματο είναι στην κατάσταση q Q και διαβάσει το σύμβολο a Σ μεταβιβάζεται σε ένα υποσύνολο καταστάσεων π.χ. δ (q,α)={q, q } 4. q o Q = αρχική κατάσταση 5. F Q = τελικές καταστάσεις Από κάθε κατάσταση q προσδιορίζουμε καμία ή περισσότερες μεταβάσεις για κάθε σύμβολο του αλφαβήτου. 8 ρ. Νικόλας Νικολ λάου

DFA vs NFA 0,1 0,1 1 0,e 1 q1 q2 q3 q4 Διαφορά 1: DFA: Από κάθε κατάσταση του ντετερμινιστικού αυτόματου φεύγει ακριβώς ένα βέλος για κάθε σύμβολο του αλφαβήτου NFA: Από κάθε κατάσταση μπορούν να εκκινούν μηδέν, ένα, ή περισσότερα βέλη για κάθε σύμβολο του αλφαβήτου Δέντρο Υπολογισμού Διαφορά 2: Προσθέτει το σύμβολο e στο αλφάβητο. 9 ρ. Νικόλας Νικολ λάου

Ισοδυναμία NFA με DFA Θεώρημα: Για κάθε μη ντετερμινιστικό πεπερασμένο αυτόματο, υπάρχει ισοδύναμο ντετερμινιστικό. Κατασκευή ενός ντετερμινιστικού αυτόματου (DFA) που να προσομοιώνει το μη ντετερμινιστικό (NFA) ρ. Νικόλας Νικολ λάου 10

Παράδειγμα: NFA to DFA b q1 e a a M(Q, Σ, δ, q 0, F) q2 a,b q3 Q = {, {1}, {2}, {3}, {1,2}, {1,3}, {2,3}, {1,2,3} } Σ = {a, b} q 0 = E({1}) = {1,3} F = {{1}, {1,2}, {1,3}, {1,2,3}} δ? ρ. Νικόλας Νικολ λάου 11

Κατασκευές Κλειστότητας e L(Ν) = A B L(Ν) = AB e e e e e e L(Ν) = A* ρ. Νικόλας Νικολ λάου 12

Κανονικές Εκφράσεις Ορισμός R είναι μια κανονική έκφραση αν είναι της μορφής 1. α, όπου α είναι ένα σύμβολο του αλφαβήτου Σ 2. e, 3. 4.,όπου R 1 και R 2 δύο κανονικές εκφράσεις 5.,όπου R 1 και R 2 δύο κανονικές εκφράσεις 6.,όπου R 1 μια κανονική έκφραση ρ. Νικόλας Νικολ λάου 13

Ισοδυναμία με πεπερασμένα αυτόματα Κατασκευή NFA από Κανονική έκφραση (RegEx => NFA) Χρήση κατασκευών κλειστότητας ένωσης, σύναρμογής, σώρευσης Κατασκευή Κανονικής έκφρασης από DFA (DFA => RegEx) DFA -> GNFA -> RegEx Μετατροπή από DFA σε γενικευμένο μη ντετερμινιστικό πεπερασμένο αυτόματο (GNFA), και από GNFA σε κανονική έκφραση. Θεώρημα: Μια γλώσσα είναι κανονική αν υπάρχει πεπερασμένο αυτόματο που την αποδέχεται ή κανονική έκφραση που την παράγει. ρ. Νικόλας Νικολ λάου 14

Μη Κανονικές Γλώσσες Λήμμα της Άντλησης: Για κάθε κανονική γλώσσα Α, υπάρχει αριθμός p (το μήκος της άντλησης αυτής) τέτοιος ώστε κάθε λέξη w της Α με μήκος μεγαλύτερο ή ίσο του p να μπορεί να χωριστεί σε τρία τμήματα, w = xyz, που να ικανοποιούν τις εξής συνθήκες: 1. για κάθε i 0, xy i z A 2. y > 0, και 3. xy p. ρ. Νικόλας Νικολ λάου 15

ρ. Νικόλας Νικολάου Παράδειγμα L = {ww R w in {0,1}* } 16

Ασυμφραστικές Γλώσσες Ασυμφραστικές Γραμματικές Αυτόματα με Στοίβα Μη ασυμφραστικές γλώσσες (Λήμμα Άντλησης) λάου ρ. Νικόλας Νικολ 17

Ασυμφραστικές Γραμματικές Συλλογή Κανόνων Αντικατάστασης Μη-τερματικά σύμβολα παράγουν λέξεις από τερματικά και μη-τερματικά σύμβολα Παραγωγή Συντακτικού Δέντρου Αντικαθιστούμε τα μη τερματικά σύμβολα με βάση τους κανόνες μέχρις ότου η λέξη να περιέχει μόνο τερματικά σύμβολα. Σχεδίαση CFG Απλοποίηση σύνθετων γλωσσών Κανονική Γλώσσα Μετατροπή από Πεπερασμένο Αυτόματο σε Γραμματική Μετατροπή Γραμματικής σε Πεπερασμένο Αυτόματο Αλληλένδετες υπολέξεις Αναδρομικές Δομές ρ. Νικόλας Νικολ λάου 18

Ασυμφραστικές Γραμματικές Πολυτροπία Παραγωγή ίδιας λέξης με διαφορετικές αντικαταστάσεις Εξ αριστερών παραγωγές Κανονική Μορφή Chomsky Κάθε κανόνας βρίσκεται σε μια από τις μορφές Θεώρημα: Κάθε ασυμφραστική γραμματική μπορεί να μετατραπεί σε κανονική μορφή Chomsky. Βήματα Μετατροπής ρ. Νικόλας Νικολ λάου 19

Αυτόματα με Στοίβα Μη Ντετερμινιστικό Πεπερασμένο Αυτόματο με επιπλέον «εξάρτημα» - ΣΤΟΙΒΑ Ορισμός Αυτόματο στοίβας είναι μια εξάδα 1. Q = πεπερασμένο σύνολο καταστάσεων 2. Σ e = αλφάβητο εισόδου 3. Γ e = αλφάβητο στοίβας 4. Συνάρτηση μετάβασης δ : Q Σ e Γ e P(Q Γ e ) Όταν το αυτόματο είναι στην κατάσταση q Q και διαβάσει το σύμβολο a Σ και υπάρχει σύμβολο γ Γ μεταβιβάζεται σε ένα υποσύνολο καταστάσεων με αντίστοιχα σύμβολα στην κορυφή της στοίβας π.χ. δ (q,α,γ)={(q,γ ), (q,γ )} 5. q o Q = εναρκτήρια κατάσταση 6. F Q = σύνολο τελικών καταστάσεων ρ. Νικόλας Νικολ λάου 20

Παράδειγμα 1 Γλώσσα L={0 n 1 n n 0} 17-Oct-11 q1 q4 e, e $ e, $ e q2 q3 1, 0 e 0,e 0 1, 0 e Το σύμβολο $ μας βοηθά να εντοπίσουμε τον «πάτο» της στοίβας ρ. Νικόλας Νικολ λάου 21

Ισοδυναμία PDA με CFG Θεώρημα: Κάθε ασυμφραστική γραμματική μπορεί να μετατραπεί σε ένα ισοδύναμο αυτόματο στοίβας Κατασκευαστική Απόδειξη Θεώρημα: Μια γλώσσα είναι ασυμφραστική εάν και μόνο εάν υπάρχει αυτόματο στοίβας που την αναγνωρίζει και ασυμφραστική γραμματική που την παράγει. ρ. Νικόλας Νικολ λάου 22

Μη Ασυμφραστικές Γλώσσες Λήμμα της Άντλησης για ασυμφραστικές γλώσσες: Για κάθε ασυμφραστική γλώσσα Α, υπάρχει αριθμός p (το μήκος της άντλησης αυτής) τέτοιος ώστε κάθε λέξη w με μήκος μεγαλύτερο ή ίσο του p να μπορεί να χωριστεί σε πέντε τμήματα, w = uvxyz, που να ικανοποιούν τις εξής συνθήκες: 1. για κάθε i 0, uv i xy i z A 2. vy > 0, και 3. vxy p. ρ. Νικόλας Νικολ λάου 23

Πιο ισχυρά μοντέλα υπολογισμού? Μηχανές Turing μπορούν να διαβάζουν και να γράφουν στην ταινία εισόδου και να μετακινούνται σε αυτή και αριστερά Ντετερμινιστικές Μηχανές Turing όπως τα ντετερμινιστικά πεπερασμένα αυτόματα πρέπει να ορίζονται όλες οι δυνατές μεταβάσεις 24 Μη Ντετερμινιστικές Μηχανές Turing όπως τα μη-ντετερμινιστικά πεπερασμένα αυτόματα ορίζονται μόνο οι επιτρεπτές μεταβάσεις

Διαγνώσιμες (Αναδρομικές) Γλώσσες Μια ΤΜ M διαγιγνώσκει μια γλώσσα L Σ 0* αν για κάθε λέξη w Σ * 0 είναι αληθές ότι: Αν w L, η M αποδέχεται την w (φτάνει στην κατάσταση αποδοχής) και αν w L η Μ απορρίπτει την w (φτάνει στην κατάσταση απόρριψης). 25 Μια γλώσσα είναι αδιαγνώσιμη (αναδρομική) αν υπάρχει μια μηχανή που την αποφασίζει.

Αναγνωρίσιμες (Αναδρομικά Απαριθμήσιμες) Γλώσσες Η Μ αναγνωρίζει την L αν για κάθε λέξη w Σ * 0 αληθεύει το εξής: w L αν και μόνο αν η M τερματίζει και αποδέχεται με είσοδο w. Παρατηρείστε. Αν η Μ έχει είσοδο w L τερματίζει Αν όμως w L τότε η Μ μπορεί να απορρίψει ή να εγκλωβιστεί και να μην τερματίσει ποτέ. 26 Μια γλώσσα L είναι αναγνωρίσιμη (αναδρομικά απαριθμήσιμη) αν υπάρχει μια μηχανή Μ που αναγνωρίζει την L. Μια γλώσσα L είναι συμπληρωματικά αναγνωρίσιμη (συναναδρομικά απαριθμήσιμη) αν υπάρχει μια μηχανή Μ που αναγνωρίζει το συμπλήρωμα της L.

Παραλλαγές ΤΜ Πολυταινιακές ΤΜ Θεώρημα: Για κάθε μηχανή Turing πολλαπλών κεφαλών υπάρχει ισοδύναμη μονοταινιακή μηχανή Turing Μη Ντετερμινιστικές ΤΜ Θεώρημα: Για κάθε μη ντετερμινιστική μηχανή Turing υπάρχει ισοδύναμη μονοταινιακή μηχανή Turing Καθολικές ΤΜ Προσομοιώνουν άλλες ΤΜ Δέχονται ως είσοδο την κωδικοποίηση άλλων ΤΜ ρ. Νικόλας Νικολ λάου 27

Δόγμα Church - Turing Δόγμα Church-Turing (1936): ότι μπορεί να υπολογιστεί (υπάρχει αλγόριθμος) μπορεί να υπολογιστεί από μια μηχανή Turing. Δηλ. Αλγόριθμος είναι μια μηχανή Turing που τερματίζει για όλες τις εισόδους του προβλήματος Τα προβλήματα που δεν μπορούν να επιλυθούν από μια μηχανή Turing δεν μπορούν να επιλυθούν. (είναι μη επιλύσιμα). Περιγραφή αλγορίθμων με ΤΜ Κωδικοποίηση εισόδου < > ρ. Νικόλας Νικολ λάου 28

Το πρόβλημα του τερματισμού ΑΠΟΔΟΧΗ/ΤΜ={<Μ,w> M είναι μια ΤΜ που αποδέχεται την λέξη w} Θεώρημα: Η ΑΠΟΔΟΧΗ/ΤΜ είναι αναγνωρίσιμη αλλά όχι διαγνώσιμη. Θεώρημα: Η ΑΠΟ ΟΧΗ / ΤΜ είναι μη αναγνωρίσιμη ρ. Νικόλας Νικολ λάου 29

Συνέπεια: Πολλά Μη-επιλύσημα προβλήματα Ορισμός. (Απεικονιστική Αναγωγιμότητα) Έστω L 1, L 2 Σ * δύο γλώσσες. Μια αναγωγή από την L 1 στην L 2, L 1 L 2, είναι μια υπολογίσιμη (αναδρομική) συνάρτηση τ: Σ * Σ * τέτοια ώστε x L 1 αν και μόνο αν τ(x) L 2. Χρήση: Για να δείξουμε ότι η L 2 δεν είναι διαγνώσιμη: Προσδιορίζω μια γλώσσα L 1 που είναι γνωστό ότι είναι μη διαγνώσιμη (μη αναδρομική) Ανάγω την L 1 στην L 2. 30

Χρήση Αναγωγών Θεώρημα 1. Εάν Α m Β και η Β είναι διαγνώσιμη (αναδρομική) τότε και η Α είναι διαγνώσιμη (αναδρομική). Θεώρημα 2. Εάν Α m Β και η Α είναι μη διαγνώσιμη τότε και η Β είναι μη διαγνώσιμη. Θεώρημα 3. Εάν Α m Β και η Β είναι αναγνωρίσιμη(αναδρομικά απαριθμήσιμη) τότε και η Α είναι αναγνωρίσιμη (αναδρομικά απαριθμήσιμη). Θεώρημα 4. Εάν Α m Β και η Α δεν είναι αναγνωρίσιμη(μη αναδρομικά απαριθμήσιμη) τότε και η Β δεν είναι αναγνωρίσιμη (μη αναδρομικά απαριθμήσιμη). ρ. Νικόλας Νικολ λάου 14-Νοε-11 31

Πολυπλοκότητα Προβλημάτων 24-Νοε-11 Επιλύσιμα προβλήματα Πόσους υπολογιστικούς πόρους απαιτούν; Χρόνο: Πόσα βήματα απαιτούνται από μια ΤΜ για την επίλυση του προβλήματος. Χώρο: Πόσα κελιά πάνω στην ταινία μιας ΤΜ απαιτούνται για την επίλυση του προβλήματος. Κλάσεις Γλωσσών Χρονικής Πολυπλοκότητας: Ρ, ΝΡ,EXP Χωρικής Πολυπλοκότητας: PSPACE, NPSPACE Αναγωγές πολυωνιμικού χρόνου ΝΡ-πληρότητα ρ. Νικόλας Νικολ λάου 32

ρ. Νικόλας Νικολάου 24-Νοε-11 Κλάσεις Πολυπλοκότητας 33

ρ. Νικόλας Νικολάου Ερωτήσεις; 34