CSC 314: Switching Theory



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

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

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

Chapter 7, 8 : Completeness

Chapter 7, 8 : Time, Space Complexity

Chapter 7, 8 : Time, Space Complexity

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

CSC 314: Switching Theory. Chapter 3: Turing Machines

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

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

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

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

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

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

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

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

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

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

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

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

CSC 314: Switching Theory. Chapter 3: Turing Machines

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

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

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

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

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

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

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

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

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

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

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

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

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

Πολυπλοκότητα. Παράμετροι της αποδοτικότητας ενός αλγόριθμου: Χρόνος εκτέλεσης. Απαιτούμενοι πόροι, π.χ. μνήμη, εύρος ζώνης. Προσπάθεια υλοποίησης

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

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

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

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

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

Κλάσεις Πολυπλοκότητας

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

Ισοδυναμία Αιτ. Και μη Αιτ. Π.Α.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

HEAD INPUT. q0 q1 CONTROL UNIT

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

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

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

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

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

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

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

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

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

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

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

ΚΕΦΑΛΑΙΟ 12: Θεωρία υπολογισμού

ΚΕΦΑΛΑΙΟ 12: Θεωρία υπολογισµών

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

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

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

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

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

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

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

Κατώτερα φράγματα Κατώτερο φράγμα: εκτίμηση της ελάχιστης εργασίας που απαιτείται για την επίλυση ενός προβλήματος. Παραδείγματα: Αριθμός συγκρίσεων π

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

Κεφάλαιο 8. NP και Υπολογιστική Δυσεπιλυσιμότητα. Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

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

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

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

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

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

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

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

Υπολογιστική Πολυπλοκότητα Εξέταση Ιουνίου 2017 Σελ. 1 από 5

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

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

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

Μοντελοποίηση Υπολογισμού. Γραμματικές Πεπερασμένα Αυτόματα Κανονικές Εκφράσεις

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

Αλγόριθµοι και Πολυπλοκότητα

Περιεχόμενα. Εισαγωγή του επιμελητή, Γιάννης Σταματίου 15 Πρόλογος 17 Εισαγωγή 23. Μέρος I. ΕΠΑΝΑΛΗΠΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΑΝΑΛΛΟΙΩΤΕΣ ΣΥΝΘΗΚΕΣ

Επίπεδα Γραφήματα : Προβλήματα και Υπολογιστική Πολυπλοκότητα

Υπολογιστική Πολυπλοκότητα

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

Transcript:

CSC 314: Switching Theory Course Summary 9 th January 2009 1 1

Θέματα Μαθήματος Ερωτήσεις Τι είναι αλγόριθμος? Τι μπορεί να υπολογιστεί? Απαντήσεις Μοντέλα Υπολογισμού Δυνατότητες και μη-δυνατότητες 2

Περιγραφή Γλωσσών Φραστική Περιγραφή L ={οι λέξεις του αλφαβήτου Σ ={a,b} με το πολύ 2 a }} Κανονικές Εκφράσεις (Γλώσσες) πχ. L= ( b* (b* a b*) (b* a b* a b* ) Ιδιότητες (κλειστότητα ως προς..) 3

Απλά Μοντέλα Υπολογισμού 1. Ντετερμινιστικά Πεπερασμένα Αυτόματα για κάθε σύμβολο του αλφάβητου και κατάσταση προσδιορίζεται ποια είναι η επόμενη κατάσταση. Μαγνητική ταινία εισόδου a b b a b a Διάγραμμα Καταστάσεων q σ q 0 a q 0 q 0 b q 1 q 1 a q 1 q 1 b δ(q,σ) q 0 Κεφαλή ανάγνωσης q 0 q 3 q 2 q 1 Πεπερασμένος έλεγχος Πεπερασμένες καταστάσεις Διάγραμμα Καταστάσεων 4

Τι μάθαμε? Από μια φραστική περιγραφή να κατασκευάσουμε ένα ΝΠΑ. 5

Απλά Μοντέλα Υπολογισμού 2. Μη-Ντετερμινιστικά Πεπερασμένα Αυτόματα προσδιορίζονται μόνο οι επιτρεπτές μεταβάσεις δ(q, a)= p. ότι δεν προσδιορίζεται δεν είναι επιτρεπτό. a ε-μη-ντετερμινιστικό b e e q 0 q 1 q 2 c 6

Τι μάθαμε? Από μια φραστική περιγραφή να κατασκευάσουμε ένα ΜΝΠΑ. Ιδιότητες Πεπερασμένων αυτόματων (κλειστότητα ως προς..) Θεώρημα. Μια γλώσσα είναι κανονική αν και μόνο αν γίνεται δεκτή από ένα πεπερασμένο αυτόματο. Αλγόριθμος κατασκευής ενός ΜΝΠΑ από μια κανονική έκφραση Θεώρημα. Για κάθε μη-ντετερμινιστικό πεπερασμένο αυτόματο υπάρχει ένα ισοδύναμο ντετερμινιστικό πεπερασμένο αυτόματο. Ο αλγόριθμος απαιτεί εκθετικό χρόνο ως προς το μέγεθος του μηντετερμινιστικού αλγόριθμου 7

Κανονικές και Μη-Κανονικές Γλώσσες Θεώρημα Άντλησης (ισχυρή μορφή). Έστω (άπειρη) κανονική γλώσσα L. Τότε υπάρχει n 1 τέτοιο ώστε κάθε συμβολοσειρά w L, w n(=μ L ), μπορεί να γραφτεί ως : w= x y z ώστε y e και xy n (=Μ L ) και για κάθε ακέραιο i 0, ηλέξη xy i z L. Πχ. Δείξτε ότι η L 1 = { a n b n n 0}δεν είναι κανονική. παίρνω μια λέξη a n b n = a Μ L b Μ L Παρατήρηση. To Μ L είναι παράμετρος της γλώσσας. ΜπορώναπαίρνωλέξειςπιομεγάλεςαπόΜ L, π.χ. w = 2Μ L xy Μ L, έτσι οι δυνατές περιπτώσεις για το τι μπορεί να είναι η x, y περιορίζονται. 8

Συμπέρασμα Υπάρχουν μη-κανονικές γλώσσες, π.χ. η a n b n. δεν μπορούν να αναπαρασταθούν με Πεπερασμένα αυτόματα Υπάρχουν πιο ισχυρά μοντέλα υπολογισμού για αυτές?? 9

ΝΑΙ! Κατηγορηματικές (χωρίς συμφραζόμενα) Γραμματικές Οι λέξεις μιας γλώσσας παράγονται εκτελώντας μια ακολουθία από ένα σύνολο από κανόνες όπου μη-τερματικά σύμβολα (π.χ. S, A, B) παράγουν λέξεις από τερματικά (a, b, c) και μη τερματικά σύμβολα. πχ. S asb Π.χ. G = ( V, Σ, R, S ), Σ = {a,b}, R = { S asb, S e Παράγει την a n b n Το με τι αντικαταστατέ ένα μη-τερματικό δεν επηρεάζεται από το τι υπάρχει πριν ή μετά το μη-τερματικό (συμφραζόμενα) πχ. S asb a asb b 10

Τι μάθαμε? Ιδιότητες (κλειστότητα ως προς..) Θεώρημα. Όλες οι κανονικές γλώσσες είναι γλώσσες χωρίς συμφραζόμενα. πεπερασμένο αυτόματο που δέχεται την κανονική γλώσσα (Αλγόριθμος 1) γραμματική χωρίς συμφραζόμενα για τη γλώσσα Γλώσσες κανονικής γραμματικής: κανόνες της μορφής A ab Θεώρημα Μια γλώσσα είναι κανονική αν και μόνο υπάρχει μια κανονική γραμματική που την παράγει. Αλγόριθμος 1: από το πεπερασμένο αυτόματο της γλώσσας κατασκευάζουμε μια γραμματική χωρίς συμφραζόμενα για αυτήν. Αλγόριθμος 2: από μια κανονική γραμματική κατασκευάζουμε ένα μηντετερμινιστικό αυτόματο που την εκφράζει 11

Aυτόματα Στοίβας Είναι όπως τα μη-ντετερμινιστικά πεπερασμένα αυτόματα αλλά έχουν και μνήμη: Στοίβα M=(Q, Σ, Γ, δ, s, F), όπου Q= {q,p}, Σ={a,b,c}, Γ={a,b}, F=f, και δ: 1. δ(s, a, ε) = {(s, a)} 2. δ(s, b, ε) = {(s, b)} 3. δ(s, c, ε) = {(f, ε)} 4. δ(f,a,a) = {(f, e)} 5. δ(f,b,b) = {(f, e)} Δέχεται τη γλώσσα L= {wcw R : w {a,b}*}. 12

Τι μάθαμε? Θεώρημα. Κάθε κατηγορηματική γραμματική γίνεται δεκτή από κάποιο αυτόματο στοίβας. Αλγόριθμος Θεώρημα. Αν μια γλώσσα είναι δεκτή από κάποιο αυτόματο στοίβας τότε είναι κατηγορηματική γραμματική. Συμπέρασμα. Μιαγλώσσαείναιδεκτήαπόκάποιοαυτόματο στοίβας αν και μόνο αν είναι δεκτή από μια κατηγορηματική γραμματική. Μπορούμε να αναπαραστήσουμε όλες τις γλώσσες με αυτόματο στοίβας? Πχ. η a n b n c n είναιδεκτήαπόκάποιοαυτόματοστοίβας? 13

Θεώρημα Άντλησης για κατηγορηματικές Θεώρημα 2 (άντλησης για κατηγορηματικές). (2 η διατύπωση) Έστω G=(V, Σ, R, S) μια γ.χ.σ.. Τότε κάθε συμβολοσειρά w L(G) με w > φ(g) V-Σ (=Μ L ) μπορεί να ξαναγραφτεί ως w = uvxyz με τρόπο ώστε είτε v ε είτε y ε vxy M L και u v i x y i z L(G) για κάθε i 0. Π.χ. Η a n b n c n δεν είναι κατηγορηματική! Παρατήρηση. To Μ L είναι παράμετρος της γλώσσας. Όταν μπορώ να παίρνω λέξεις πιο μεγάλες από Μ L, π.χ. w= a Μ L b Μ L c Μ L, w = = 3Μ L vxy Μ L, έτσι οι δυνατές περιπτώσεις για το τι μπορεί να είναι η x, y περιορίζονται (π.χ. μπορεί να περιέχουν μόνο 2 από τα 3 σύμβολα). 14

Πιο ισχυρά μοντέλα υπολογισμού? Μηχανές Turing αλλά μπορούν και να γράφουν στην ταινία εισόδου και να μετακινούνται σε αυτή και αριστερά Ντετερμινιστικές Μηχανές Turing όπως τα ντετερμινιστικά πεπερασμένα αυτόματα πρέπει να ορίζονται όλες οι δυνατές μεταβάσεις δ(d, a) = (p, b), a Σ, b={,, Σ} Μη Ντετερμινιστικές Μηχανές Turing όπως τα μη-ντετερμινιστικά πεπερασμένα αυτόματα ορίζονται μόνο οι επιτρεπτές μεταβάσεις 15

Παράδειγμα Παράδειγμα. Μ=(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, ) 16

Αναπαράσταση Μηχανών Turing Αναπαριστούμε τις μηχανές συνθέτοντας πιο απλές μηχανές σε πιο πολύπλοκες. 17

Αναδρομικές Γλώσσες Αν Σ 0 Σ -{t, B}το αλφάβητο εισόδου της M H M αποφασίζει μια γλώσσα L Σ 0* αν για κάθε λέξη w Σ * 0 είναι αληθές ότι: Αν w L, η M δέχεται (τερματίζει με κατάσταση y) την w και αν w L η Μ απορρίπτει (τερματίζει με κατάσταση n) την w. Μιαγλώσσαείναιαναδρομική αν υπάρχει μια μηχανή που την αποφασίζει. Αναδρομικές Συναρτήσεις: ορίζονται αντίστοιχα Ιδιότητες (κλειστότητα ως προς..) 18

Αναδρομικά Απαριθμήσιμες Γλώσσες Αν μια μηχανή Turing αποφασίζει μια γλώσσα ή υπολογίζει μια συνάρτηση μπορεί να θεωρηθεί ως ένας αλγόριθμος. Ορισμός. Έστω Μ=(Q, Σ, δ, s, {h}) και Σ 0 Σ -{t, B}ένα αλφάβητο και L Σ * μια γλώσσα. 0 ΗΜημιαποφασίζει την L αν για κάθε λέξη w Σ * 0 αληθεύει το εξής: w L αν και μόνο αν η M τερματίζει με είσοδο w. Παρατηρείστε. Αν η Μ έχει είσοδο w L τερματίζει Αν όμως w Σ * 0-L τότε η Μ δεν θα εισέλθει ποτέ σε κατάσταση τερματισμού. Μια γλώσσα L είναι αναδρομικά απαριθμήσιμη αν υπάρχει μια μηχανή Μ που ημιαποφασίζει την L. Ιδιότητες Αναδρομικά Απαριθμήσιμων γλωσσών (κλειστότητα ως προς ) 19

Μειονέκτημα Μηχανών Turing Στα αυτόματα αν διαβαστεί όλη η λέξη το αυτόματο τερματίζει πάντα σε τελική (οπότε αποδέχεται τη λέξη) ημητελικήκατάσταση(οπότε δεν αποδέχεται τη λέξη). Στις μηχανές Turing που ημιαποφασίζουν για μια γλώσσα αν η λέξη δεν είναι αποδεχτή δεν τερματίζει ποτέ αλλά συνεχίζει επ άπειρον να κάνει υπολογισμούς. Οπότεδενξέρουμεανπεριμέναμεαρκετάγιαναδούμεανηλέξη είναι αποδεχτή ή όχι. 20

Αναδρομικές Γλώσσες Ιδιότητες Αναδρομικών Γλωσσών (κλειστότητα ως προς..) συναναδρομικά απαριθμήσιμες γλώσσες 21

Επεκτάσεις Μηχανών Turing Πρόταση. Οποιαδήποτε συνάρτηση υπολογίζεται ή οποιαδήποτε γλώσσα αποφασίζεται ή ημιαποφασίζεται από μια μηχανή Turing τυχαίας προσπέλασης ή πολλών κεφαλών ή ταινιών εισόδου υπολογίζεται, αποφασίζεται ή ημιαποφασίζεται, αντίστοιχα από μια μηχανή Turing. Η κατασκευή της μηχανής Turing γίνεται σε πολυνυωνυμικό χρόνο. 22

Μη-ντετερμινιστικές μηχανες Turing Από μια συνολική κατάσταση είναι δυνατόν να προκύψουν πολλές εναλλαχτικές συνολικές καταστάσεις. Πρόταση. Οποιαδήποτε συνάρτηση υπολογίζεται ή οποιαδήποτε γλώσσα αποφασίζεται ή ημιαποφασίζεται από μια Μη Ντετερμινιστική μηχανή Turing, υπολογίζεται, αποφασίζεται ή ημιαποφασίζεται, αντίστοιχα από μια μηχανή Turing. Η κατασκευή της ντετερμινιστικής μηχανής Turing γίνεται σε εκθετικό χρόνο! 23

Καθολικές Μηχανές Turing Κωδικοποιώ την λειτουργία (μηχανή Turing, Μ 1 ) που θέλω να εκτελέσω ως μια λέξη ΤηνεισάγωστηνείσοδοτηςKαθολική Μηχανή Turing H μηχανή προσδιορίζει τις μεταβάσεις της με βάση την κωδικοποιημένη M 1 24

Υπολογισιμότητα Θέση Church-Turing: ότιμπορείναυπολογιστεί(υπάρχει αλγόριθμος) μπορεί να υπολογιστεί από μια μηχανή Turing. Δηλ. Αλγόριθμος είναι μια μηχανή Turing που τερματίζει για όλες τις εισόδους του προβλήματος Τα προβλήματα που δεν μπορούν να επιλυθούν από μια μηχανή Turing (μη-αναδρομικά) δεν μπορούν να επιλυθούν. (μη επιλύσιμα). Υπάρχουν μη επιλύσιμες γλώσσες? 25

Ένα μη-επιλύσιμο πρόβλημα Το πρόβλημα του τερματισμού ένα πρόγραμμα P, με είσοδο x, θα τερματίσει ή θα πέσει σε άπειρη ανακύκλωση? Δείξαμε ότι ένα τέτοιο πρόγραμμα δεν υπάρχει! Γλώσσα Τερματισμού Κ 0 ={(p(m),w) : η Turing μηχανή Μ τερματίζει με είσοδο x} Δείξαμε ότι η Κ 0 είναι μη αναδρομική! 26

Συνέπεια: Πολλά Μη-επιλύσημα προβλήματα Ορισμός. (Πολλά προς Ένα Αναγωγισιμότητα) Έστω 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. 27

Υπολογίσιμα και Εφικτά Υπολογίσιμα Προβλήματα Είδαμε ότι Οτιδήποτεμπορούμεναπεριγράψουμεμεένααλγόριθμο μπορεί να υπολογιστεί με μια μηχανή Turing υπάρχουν προβλήματα που δεν μπορούν να επιλυθούν (π.χ. πρόβλημα τερματισμού υπάρχουν προβλήματα που μπορούν να επιλυθούν Επιλύσιμα προβλήματα Πόσους υπολογιστικούς πόρους απαιτούν χρόνο χώρο? 28

Χρονική και Χωρική Πολυπλοκότητα Ντετερμινιστικές Μηχανές Turing 29

Κλάση P Περιέχει προβλήματα τα οποία μπορούν να επιλυθούν σε πολυωνυμικό χρόνο, όπως, Κανονικές γλώσσες Πρόβλημα Συνεκτικότητας Euler Κύκλος 2-SAT 30

Χρονική και Χωρική Πολυπλοκότητα Μη-ντετερμινιστικές Μηχανές Turing NP = U c>0 NTIME(n c ) (Non-Deterministic Polynomial Time) NPSPACE = U c>0 NSPACE(n c ) (Non-Deterministic Polynomial Space) Χώρος Πόρισμα 1. PSPACE = NPSPACE Χρόνος P NP P NP?????? 31

Κλάση NP Περιλαμβάνειταπροβλήματαγιαταοποίαμιαμη-ντετερμινιστική μηχανή μπορεί να μαντέψει ένα μονοπάτι υπολογισμού του προβλήματος (μια υποψήφια λύση) και να ελέγξει εάν είναι σωστό σε πολυωνυμικό χρόνο. Παραδείγματα SAT ανήκει στην κλάση NP. Hamiltonia Circuit ΜέγιστοΑνεξάρτητοσύνολο 32

Αναγωγές Πολυωνυμικού Χρόνου Ορισμός. f: Σ * Σ * ονομάζεται υπολογίσιμη σε πολυνωνυμικό χρόνο αν υπάρχει μια πολυωνυμικά φραγμένη μηχανή Turing που την υπολογίζει. Έστω L 1, L 2 Σ * δύο γλώσσες. Μια συνάρτηση υπολογίσιμη σε πολυωνυμικό χρόνο ονομάζεται πολυωνυμική αναγωγή από την L 1 στην L 2, L 1 p L 2, αν για κάθε x Σ * ισχύει: x L 1 αν και μόνο αν τ(x) L 2. Συμπέρασμα: HL 2 είναι τουλάχιστον όσο δύσκολη όσο η L 1. Αν μπορούσαμε να λύσουμε την L 2 σε πολυωνυμικό χρόνο, θα μπορούσαμε να λύσουμε και την L 1 σε πολυωνυμικό χρόνο. Αν δεν μπορούμε να λύσουμε την L 1 σε πολυωνυμικό χρόνο, δεν μπορούμε να λύσουμε ούτε την L 2 σε πολυωνυμικό χρόνο. 33

34

ΝP-πληρότητα Ορισμός. Μια γλώσσα L Σ * ονομάζεται NP-πλήρης αν 1. L NP 2. για κάθε γλώσσα L NP, ισχύει L p L. Θεώρημα. Eστω L οποιαδήποτε NP-πλήρης γλώσσα. Τότε P=NP αν και μόνο αν L P. Απόδειξη. 1. Αποδεικνύω ότι αν P = NP τότε L P: αφού L είναι NP-πλήρης ξέρουμε ότι L NP. Αφού P = NP L P. 2. Αποδεικνύω ότι αν L P τότε P = NP: αφού L είναι NP-πλήρης ξέρουμε ότι για κάθε γλώσσα L NP, ισχύει L p L. Αφού η L P, δηλ. λύνεται πολυνωνυμικά (από μια ΝΜΤ) και η L λύνεται πολυωνυμικά. Οπότε P = NP. 35

Υπάρχουν ΝP-πλήρη προβλήματα! Θεώρημα Cook 1971. Το πρόβλημα της ικανοποιησιμότητας SAT είναι ΝP-πλήρες. Απόδειξη. Αποδεικνύουμε τις ιδιότητες 1, 2, του ορισμού της ΝPπληρότητας. Πολλά ΝΡ-πλήρη προβλήματα! Θεώρημα. Το πρόβλημα 3-SAT είναι ΝΡ-πλήρες. Απόδειξη. Δείχνουμε ότι SAT p 3-SAT αφού το SAT είναι ΝP-πλήρες To 3-SAT είναι ΝΡ-πλήρες. 36