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

Σχετικά έγγραφα
num(m(w 1 ;... ; w k )) = f(num(w 1 ),..., num(w k ))

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

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

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

CSC 314: Switching Theory

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

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

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

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

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

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

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

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

Ποιές οι θεµελιώδεις δυνατότητες και ποιοί οι εγγενείς περιορισµοί των υπολογιστών ; Τί µπορούµε και τί δε µπορούµε να υπολογίσουµε (και γιατί);

Στοιχεία Θεωρίας Υπολογισµού (1): Τυπικές Γλώσσες, Γραµµατικές

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

CSC 314: Switching Theory. Chapter 3: Turing Machines

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

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

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

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

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

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

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

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

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

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

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

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

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

HEAD INPUT. q0 q1 CONTROL UNIT

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

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

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

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

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

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

Τεχνητή Νοημοσύνη. 21η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

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

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

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

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

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

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

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

Στοιχεία Θεωρίας Υπολογισµού (2): Πεπερασµένα Αυτόµατα, Κανονικές Εκφράσεις

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

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

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

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

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

CSC 314: Switching Theory. Chapter 3: Turing Machines

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

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

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

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

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

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

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

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

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

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

Chapter 7, 8 : Time, Space Complexity

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

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

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

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

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

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

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

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

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

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

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

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ. Λυσεις Ασκησεων - Φυλλαδιο 2

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

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

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

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

3 Αναδροµή και Επαγωγή

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

aab aabb aaabb aaaabb aaaabb aaaabb

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

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

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

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

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

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

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

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

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

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

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Θεωρία Υπολογισμού. Ενότητα 1 : Σύνολα & Σχέσεις (1/2) Αλέξανδρος Τζάλλας

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

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

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

Εισαγωγή στους Αλγόριθµους. Αλγόριθµοι. Ιστορικά Στοιχεία. Ο πρώτος Αλγόριθµος. Παραδείγµατα Αλγορίθµων. Τι είναι Αλγόριθµος

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

Ορισµοί. Τυπικές Γλώσσες Γραµµατικές και Μεταφραστές. Αλφάβητο: ένα οποιδήποτε µη κενό και πεπερασµένο σύνολο Σ αποτελούµενο από σύµβολα

Θέματα υπολογισμού στον πολιτισμό

Transcript:

771 Η - Θεωρία Υπολογισµών και Αλγορίθµων Σηµειώσεις Μέρος 4 ο ιδάσκων: Α. Ντελόπουλος Το παρόν αποτελεί σηµειώσεις που αντιστοιχούν σε µέρος των διαλέξεων για το µάθηµα 771 Η - Θεωρία Υπολογισµών και Αλγορίθµων του Τµήµατος Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών του Αριστοτέλειου Πανεπιστήµιου Θεσσαλονίκης. Το υλικό των διαλέξεων και των σηµειώσεων στηρίζεται σε µεγάλο βαθµό στην ύλη του βιβλίου: Harry R. Lewis and Christos H. Papadimitriou, Elements of the Theory of Computation, 2nd edition, Prentice Hall, 1998. 1

Μηχανές Turing Ορισµοί, Ιδιότητες, Υπολογισµοί, Συναρτήσεις, Γλώσσες Μηχανές Turing µια επινόηση του Alan Turing Οι Μηχανές Turing (ΜΤ) αναπαριστούν οποιοδήποτε και οσοδήποτε σύνθετο υπολογιστή ή αλγόριθµο! Είναι µία γενίκευση των αυτοµάτων στοίβας η στοίβα αντικαθίσταται από µία ταινία εγγραφής συµβόλων και κεφαλή ανάγνωσης που κινείται αριστερά/δεξιά Η συµβολοσειρά εισόδου είναι το αρχικό περιεχόµενο της ταινίας µεταξύ των καταστάσεων υπάρχουν κάποιες που σηµατοδοτούν τερµατισµό των υπολογισµών Υπάρχει αποτέλεσµα των υπολογισµών (έξοδος) που είναι το τελικό περιεχόµενο της ταινίας Υπάρχουν διάφορες εκδόσεις (µε 1 ή 2 κεφαλές, µε διδιάστατη ταινία, µε ταινία δύο όψεων, µε random access, κ.λπ.) άλλα όλες είναι ισοδύναµες προς τη βασική έκδοση! 2

Μηχανές Turing (βασική έκδοση) Οι ΜΤ αποτελούνται από: Τη Μονάδα Ελέγχου που έχει πεπερασµένες καταστάσεις Μία Ταινία την οποία η ΜΤ προσπελαύνει µέσω της κεφαλής ανάγνωσης/εγγραφής. Η ταινία έχει αρχή αλλά όχι τέλος Η κεφαλή σε κάθε βήµα λειτουργίας κάνει ένα από τα ακόλουθα: διαβάζει και γράφει (αντικαθιστά το τρέχον σύµβολο µε νέο) µετακινείται µία θέση δεξιά ή µία θέση αριστερά Η ΜΤ σε κάθε βήµα υπολογισµού µεταπίπτει σε νέα κατάσταση ανάλογα µε την τρέχουσα κατάσταση το τρέχον σύµβολο της ταινίας Μηχανές Turing Αυστηρός Ορισµός ΜΤ είναι η διατεταγµένη πεντάδα M=(K,Σ,δ,s,H) K = πεπερασµένο σύνολο καταστάσεων Σ = αλφάβητο που υποχρεωτικά περιέχει τα σύµβολα (κενό διάστηµα ή απλώς κενό) και (αριστερό άκρο) υποχρεωτικά δεν περιέχει τα σύµβολα και (µετακίνησης της κεφαλής αριστερά/δεξιά) s = η αρχική κατάσταση (s K) H = σύνολο των καταστάσεων στις οποίες το Μ σταµατά (H K ) δ = συνάρτηση µετάβασης, δ: (Κ-Η) Σ Κ (Σ {, }) µε τους περιορισµούς Αν δ(q, ) = (p,b) τότε b = Αν δ(q, a ) = (p,b) τότε b 3

Μηχανές Turing -Λειτουργία Έστω ότι το M είναι στην κατάσταση q και το τρέχον σύµβολο της ταινίας είναι a Αν δ(q,a) = (p,b) (όπου q K-H, p K, a Σ, b Σ {, } ) τότε η ΜΤ: πηγαίνει στην κατάσταση p και κάνει ένα από τα παρακάτω: αν b Σ τότε αντικαθιστά το a µε το b αν b {, } τότε δεν πειράζει το τρέχον σύµβολο a αλλά µετακινεί την κεφαλή µία θέση αριστερά (b= ) ή δεξιά (b= ) Οι περιορισµοί που έχουν τεθεί στη συνάρτηση µετάβασης δ εξασφαλίζουν ότι το δεν µπορεί να αντικατασταθεί ούτε να προσπεραστεί προς τα αριστερά δεν πρόκειται να γραφτεί κάποιο επιπλέον πλην του αρχικού Η ΜΤ σταµατά όταν βρεθεί σε κατάσταση q H Παράδειγµα M=(K,Σ,δ,s,H)=( {q 0,q 1,h}, {a,, }, δ, q 0, {h} ) όπου η δ περιέχει τις ακόλουθες µεταβάσεις δ(q 0,a) = (q 1, ), δ(q 0, ) = (h, ), δ(q 0, ) = (q 0, ) δ(q 1,a) = (q 0,a), δ(q 1, ) = (q 0, ), δ(q 1, ) = (q 1, ) Για την ταινία aa aaa υπογραµµισµένο το τρέχον σύµβολο... το Μ υπολογίζει ως εξής: aa aaa (κατάσταση s=q 0 ) και λόγω δ(q 0,a) = (q 1, ) a aaa (κατάσταση q 1 ) και λόγω δ(q 1, ) = (q 0, ) a aaa (κατάσταση q 0 ) και λόγω δ(q 0,a) = (q 1, ) aaa (κατάσταση q 1 ) και λόγω δ(q 1, ) = (q 0, ) aaa (κατάσταση q 0 ) και λόγω δ(q 0, ) = (h, ) aaa (κατάσταση h) οπότε σταµατά. 4

Ολικές καταστάσεις Ολική κατάσταση C = ο συνδυασµός της τρέχουσας κατάστασης q και της θέσης της κεφαλής στην ταινία C K Σ* (Σ*(Σ-{ }) {e}) ή απλούστερα C = (q, wau) όπου q K w Σ* a Σ u Σ* {e} ΑΛΛΑ το τελευταίο στοιχείο του u ΕΝ µπορεί να είναι το ΕΚΤΟΣ αν είναι το τρέχον Άρα αγνούµε τα κενά στο τέλος της ταινίας Παραδείγµατα Επιτρεπτές: C=(q, baab), C=(q, baab), C=(q, baab ) Μή επιτρεπτή: C=(q, baab ) Όπως και στα πεπερασµένα αυτόµατα, η ολική κατάσταση καθορίζει πλήρως τη συνέχεια των υπολογισµών της ΜΤ Παραγωγή Παραγωγή µιας ολικής κατάστασης C από την C σε ένα βήµα = η C είναι η ολική κατάσταση στην οποία θα βρεθεί η ΜΤ αµέσως µετά την C C C Παραγωγή µιας ολικής κατάστασης C από την C = η C είναι ολική κατάσταση στην οποία θα βρεθεί η ΜΤ µετά την C και αφού εκτελεστούν µηδέν (0) ή περισσότερα βήµατα C Μ * C Ειδικότερα ονοµάζουµε υπολογισµό n βηµάτων τη διαδοχή παραγωγών: C 0 C 2 C n Γράφουµε C 0 Mn C n Ισχύει βέβαια ότι C 0 Μ * C n 5

Σύνθεση ΜΤ Μία ΜΤ M προκύπτει από τη σύνθεση απλούστερων ΜΤ σύµφωνα µε το εξής παράδειγµα: M = M1 b M3 a M2 Η ΜΤ M ξεκινά προσοµοιώνοντας την M 1. Αν η M 1 σταµατήσει και το τρέχον σύµβολο είναι a ξεκινά η M 2 ενώ αν το τρέχον σύµβολο είναι το b ξεκινά η M 3. Και στις δύο περιπτώσεις η νέα ολική κατάσταση έχει κατάσταση την αρχική κατάσταση της M 2 ή M 3 και την ταινία όπως την άφισε η M 1. Η σύνθεση βασίζεται στις εξαιρετικά απλές (βασικές) ΜΤ της επόµενης ενότητας. Παραδείγµατα σύνθεσης - συµβολισµοί M1 a Σ M2 ή ή M1 M2 M1M2 ή M M M 2 M1 a b M2 ή M1 ~b M2 Έτσι για παράδειγµα η ΜΤ La M M a 6

Βασικές ΜΤ Εγγραφέας Συµβόλων / Μετακίνηση κεφαλής: Για a Σ {, }- { } Ορίζουµε τη ΜΤ M a = ({s,h},σ,δ,s,{h}) µε δ τέτοιο ώστε: δ(s,b) = (h,a) δ(s, ) = (s, ) Αυτές οι απλές ΜΤ: b Σ - { } Αντικαθιστούν όλα τα σύµβολα της ταινίας µε το a αν a Σ τότε καταχρηστικά χρησιµοποιούµε το συµβολισµό a αντί M a Μετακινούν απλώς την κεφαλή αριστερά ή δεξιά αν a {, } τότε χρησιµοποιούµε τους συµβολισµούς L= M και R = M Απλές (σύνθετες) ΜΤ R = R ~ Βρίσκει το πρώτο προς τα δεξιά L = L ~ Βρίσκει το πρώτο προς τα αριστερά = R ~ L ~ = R L Βρίσκει τον πρώτο µή κενό χαρακτήρα ( ) προς τα δεξιά Βρίσκει τον πρώτο µή κενό χαρακτήρα ( ) προς τα αριστερά 7

Μηχανή αντιγραφής (C) C = L R a R 2 a L 2 a a= R Αυτή η ΜΤ δηµιουργεί ένα αντίγραφο του περιεχοµένου της ταινίας, δηλαδή για w (Σ-{, })* από την ταινία w παράγει την ταινία w w (αποδείξτε το) Μηχανή ολίσθησης δεξιά (S ) a S = L R a L a R a= Αυτή η ΜΤ ολισθαίνει το περιεχόµενο της ταινίας µία θέση προς τα δεξιά, δηλαδή για w (Σ-{, })* από την ταινία w παράγει την ταινία w (αποδείξτε το) 8

Υπολογισµοί µε ΜΤ Ορισµός #1: Έστω ΜΤ M=(K,Σ,δ,s,{y,n}) y=yes, n=no και συµβολοσειρά w (Σ-{, })*. Ορίζουµε ότι: Η ΜΤ M αποδέχεται το w αν (s, w) Μ * (y, xxx) Η ΜΤ M απορρίπτει το w αν (s, w) Μ * (n, xxx) όπου xxx αντιπροσωπεύει οποιαδήποτε περιεχόµενο της ταινίας ΠΡΟΣΟΧΗ: Αν η ΜΤ Μ δεν καταλήγει σε κατάσταση τερµατισµού (καθώς διαβάζει το συγκεκριµένο περιεχόµενο της ταινίας) τότε η Μ ούτε αποδέχεται ούτε απορρίπτει! Υπολογισµοί µε ΜΤ (συνέχεια) Ορισµός #2: Αν Σ 0 Σ-{, } και η γλώσσα L Σ 0 * τότε η ΜΤ Μ αποφασίζει τη γλώσσα L αν: η Μ αποδέχεται κάθε w L και η Μ απορρίπτει κάθε w L Ορισµός #3: Μία γλώσσα L λέγεται αναδροµική αν υπάρχει ΜΤ που την αποφασίζει. 9

Παράδειγµα: Η αναδροµική γλώσσα L={a n b n c n, n 0} Έχουµε ήδη δείξει ότι αυτή η γλώσσα L δεν είναι ούτε κανονική ούτε χωρίς συµφραζόµενα Είναι όµως αναδροµική γιατί την αποφασίζει η παρακάτω ΜΤ d a b R dr dr dl b,c c, a,d a, y n d a,b,c όπου η ΜΤ y κάνει απλώς τη νέα κατάσταση y (yes) και η ΜΤ n κάνει τη νέα κατάσταση n (no) b,d c Υπολογισµοί Συναρτήσεων µε ΜΤ Ορισµός #1: Έστω ΜΤ M=(K,Σ,δ,s,{h}) και συµβολοσειρά w Σ 0 * όπου Σ 0 Σ-{, }. Ορίζουµε ότι η συµβολοσειρά y Σ 0 * είναι η έξοδος της ΜΤ Μ στην είσοδο w (γράφουµε y=m(w) ) όταν: (s, w) Μ * (h, y) Ορισµός #2: Έστω συνάρτηση f: Σ 0 * Σ 0 *. H παραπάνω MT υπολογίζει την f αν f(w)=m(w) για κάθε w Σ 0 * Ορισµός #3: Η συνάρτηση f: Σ 0 * Σ 0 * λέγεται αναδροµική αν υπάρχει ΜΤ που την υπολογίζει 10

Αριθµητικοί Υπολογισµοί µε ΜΤ H συµβολοσειρά w=a 1 a 2 a n {0,1}* αποτελεί διαδική αναπαράσταση του φυσικού αριθµού num(w)=a 1 2 n-1 +a 2 2 n-2 + +a n 2 0 Αντιστρόφως για κάθε φυσικό αριθµό υπάρχει η αντίστοιχη διαδική αναπαράσταση w 0 1(0 1)* Ορισµός #1: Έστω ΜΤ M=(K,Σ,δ,s,{h}) όπου 0,1 Σ και επιπλέον ο βοηθητικός χαρακτήρας ; Σ. Έστω επίσης f: N k N (k>0) Η ΜΤ Μ υπολογίζει την f αν για κάθε w 1,w 2,,w k 0 1(0 1)* num(m(w 1 ;w 2 ; ;w k )) = f(num(w 1 ), num(w 2 ),, num(w k )) Ορισµός #2: Μία συνάρτηση f: N k N (k>0) λέγεται αναδροµική αν υπάρχει ΜΤ που την υπολογίζει Αναδροµικά Απαριθµήσιµες Γλώσσες Ορισµός #1: Έστω ΜΤ M=(K,Σ,δ,s,H) και L Σ 0 * όπου Σ 0 Σ-{, }. Η ΜΤ Μ ηµιαποφασίζει τη γλώσσα L αν w Σ 0 * ισχύει: w L αν και µόνο αν η ΜΤ M σταµατά όταν δεχθεί είσοδο w (δεν µας ενδιαφέρει σε ποιά ολική κατάσταση σταµατά) Ορισµός #2: Μία γλώσσα L είναι αναδροµικά απαριθµήσιµη αν υπάρχει ΜΤ που την ηµιαποφασίζει Θεωρήµατα (χωρίς απόδειξη): 1. Αν η L είναι αναδροµική τότε είναι και αναδροµικά απαριθµήσιµη (υπάρχουν όµως αναδροµικά απαριθµήσιµες γλώσσες που δεν είναι αναδροµικές) 2. Αν η L είναι αναδροµική τότε και το συµπλήρωµά της (Σ 0 *- L) είναι αναδροµική γλώσσα 11

Μη Αιτιοκρατικές ΜΤ (ΜΑΜΤ) Η διατεταγµένη πεντάδα Μ=(K, Σ,, s, H) όπου τα K, Σ, s, H είναι όπως στις MT αλλά το σύνολο είναι σχέση: ((Κ-Η) Σ) (Κ (Σ {, })) (και όχι συνάρτηση όπως η δ: ((Κ-Η) Σ) (Κ (Σ {, })) στις συµβατικές ΜΤ) λέγεται Μη Αιτιοκρατική ΜΤ. Σε µία ΜΑΜΤ (κατ αναλογία µε τα ΜΑΠΑ) από µία ολική κατάσταση µπορεί να παραχθούν περισσότερες της µίας νέες ολικές καταστάσεις. Μη Αιτιοκρατικές ΜΤ (ΜΑΜΤ) (συνέχεια -1) Ορισµός #1: Η ΜΑΜΤ M = (K, Σ,, s, H) αποδέχεται την είσοδο w (Σ-{, })* αν (s, w) Μ * (h, uav) για κάποιο h H και a Σ, u, v Σ* Σηµείωση: η ΜΑΜΤ αποδέχεται το w ακόµη και αν υπάρχουν υπολογισµοί (από τους πολλούς που διενεργούνται παράλληλα που δεν καταλήγουν σε κατάσταση τερµατισµού) 12

Μη Αιτιοκρατικές ΜΤ (ΜΑΜΤ) (συνέχεια - 2) Ορισµός #2: Η ΜΑΜΤ M = (K, Σ,, s, H) ηµιαποφασίζει τη γλώσσα L (Σ-{, })* αν w (Σ-{, })* ισχύει: w L αν και µόνον αν η MAΜΤ M αποδέχεται τη συµβολοσειρά w Μη Αιτιοκρατικές ΜΤ (ΜΑΜΤ) (συνέχεια - 3) Ορισµός #3: Η ΜΑΜΤ M = (K, Σ,, s, {y,n}) αποφασίζει τη γλώσσα L (Σ-{, })* αν ισχύουν τα ακόλουθα w (Σ-{, })* : 1. Υπάρχει (αρκετά µεγάλος) φυσικός αριθµός N=N(M,w) τέτοιος ώστε κανένας υπολογισµός που ξεκινά από την ολική κατάσταση (s, w) δεν διαρκεί πάνω από N βήµατα (δηλ. δεν υπάρχει ολική κατάσταση C για την οποία (s, w) ΜΝ C ) 2. w L αν και µόνο αν (s, w) Μ * (y, uav) για κάποια a Σ, u, v Σ* 13

Μη Αιτιοκρατικές ΜΤ (ΜΑΜΤ) (συνέχεια - 4) Ορισµός #4: Η ΜΑΜΤ M = (K, Σ,, s, H) υπολογίζει τη συνάρτηση f: (Σ-{, })* (Σ-{, })* αν ισχύουν τα ακόλουθα w (Σ-{, })* : 1. Υπάρχει (αρκετά µεγάλος) φυσικός αριθµός N=N(M,w) τέτοιος ώστε κανένας υπολογισµός που ξεκινά από την ολική κατάσταση (s, w) δεν διαρκεί πάνω από N βήµατα (όπως και πριν) 2. (s, w) Μ * (h, uav) µε h H αν και µόνο αν ua = και v=f(w) Σηµείωση: Από 1 & 2 προκύπτει ότι όλοι οι εναλλακτικοί υπολογισµοί τερµατίζουν (όχι όµως αναγκαστικά στην ίδια κατάσταση ούτε µε το ίδιο πλήθος βηµάτων) και µάλιστα δίνουν το ίδιο αποτέλεσµα f(w) Ισοδυναµία ΜΑΜΤ και ΜΤ Αν µία ΜΑΜΤ ηµιαποφασίζει ή αποφασίζει µία γλώσσα ή υπολογίζει µία συνάρτηση τότε υπάρχει συµβατική ΜΤ που κάνει το ίδιο 14

Γραµµατικές (χωρίς περιορισµούς) Ορισµός: Μία Γραµµατική (χωρίς περιορισµούς) είναι µία τετράδα G=(V,Σ,R,S) όπου: V είναι ένα επεκτεταµένο αλφάβητο Σ είναι το σύνολο των Τερµατικών Συµβόλων (ΤΣ) δηλαδή το κλασσικό µας αλφάβητο. Σ V. R το σύνολο των κανόνων της γραµµατικής µε R (V*(V-Σ)V* V* (όπου V* όλες οι συµβολοσειρές του V) S το Σύµβολο Εκκίνησης (ΣΕ) V-Σ Το V-Σ είναι το σύνολο Μη Τερµατικών Συµβόλων (ΜΤΣ) Σηµείωση: Η διαφορά των Γραµµατικών (χωρίς περιορισµούς) από τις ΓΧΣ συνίσταται στη µορφή των κανόνων R. Σε αντίθεση µε τις ΓΧΣ οι Γραµµατικές (χωρίς περιορισµούς) µπορεί να περιέχουν κανόνες της µορφής CA AC, uav ubw κ.λπ. (που λαµβάνουν υπόψη τα συµφραζόµενα των µη τερµατικών συµβόλων) Γλώσσες που γεννιούνται από Γραµµατικές (χωρίς περιορισµούς) Η γλώσσα L=L(G) Σ* γεννιέται από τη Γραµµατική (χωρίς περιορισµούς) G αν όλες οι συµβολοσειρές της γεννιούνται από την G Θεώρηµα (χωρίς απόδειξη): Μία γλώσσα L=L(G) γεννιέται από µία Γραµµατική (χωρίς περιορισµούς) G αν και µόνον αν είναι αναδροµικά απαριθµήσιµη 15

Παράδειγµα Λειτουργίας Γραµµατικής Έστω G=(V,Σ,R,S) µε V={S, a, b, c, A, B, C, T a, T b, T c } Σ={a, b, c} R = {S ABCS, S T c CA AC, BA AB, CB BC, CT c T c c, CT c T b c, BT b T b b, BT b T a b, AT a T a a T a e } S=S Παράδειγµα γέννεσης (παραγωγής) συµβολοσειρών: S ABCS ABC T c ABT b c AT a bc T a abc abc Εύκολα φαίνεται ότι αυτή η Γραµµατική (χωρίς περιορισµούς) G γεννά τη γλώσσα L(G) = {a n b n c n : n 1} (δείξτε το) που ήδη ξέρουµε ότι είναι αναδροµικά απαριθµήσιµη! Υπολογιστική Πολυπλοκότητα και Γλώσσες Η διαδικασία λήψης της απόφασης για το αν µία συµβολοσειρά ανήκει σε µία γλώσσα έχει υπολογιστική πολυπλοκότητα που καθορίζεται από τον αριθµό βηµάτων της ΜΤ η ΜΑΜΤ που την (ηµι-)αποφασίζει για τις αναδροµικές και τις αναδροµικά απαριθµήσιµες γλώσσες ή του αυτόµατου στοίβας που την αποδέχεται για τις γλώσσες χωρίς συµφραζόµενα ή του πεπερασµένου αυτόµατου (ΑΠΑ ή ΜΑΠΑ) που την αποδέχεται για τις κανονικές γλώσσες 16

Υπολογιστική Πολυπλοκότητα και Γλώσσες 2 Μία ευρεία κατηγορία προβληµάτων µπορούν να εκφραστούν σαν προβλήµατα αναγνώρισης των συµβολοσειρών µίας από τις παραπάνω γλώσσες Κατά συνέπεια η πολυπλοκότητα των προβληµάτων αυτών και των αλγορίθµων επίλυσής τους συµπίπτει µε την πολυπλοκότητα της αντίστοιχης γλώσσας Παράδειγµα: αν x, y, z διαδικοί ακέραιοι: Πρόβληµα: είναι x+y=z ; Αντίστοιχη Γλώσσα: L={w = bits(x);bits(y);bits(z) / x+y=z } {0,1, ; }* όπου bits(x) η διαδική αναπαράσταση του x. Ο έλεγχος w L; είναι ισοδύναµος µε το παραπάνω Πρόβληµα Η κλάση P Μία ΜΤ Μ είναι πολυωνυµικά φραγµένη όταν υπάρχει πολυώνυµο p(n) τέτοιο ώστε να ισχύει: Για κάθε είσοδο x δεν υπάρχει ολική κατάσταση C τέτοια ώστε (s, w) Μ p( x )+1 C ηλαδή κανένας υπολογισµός δεν διαρκεί παραπάνω από p( x ) βήµατα. Μία γλώσσα λέγεται πολυωνυµικά αποφασιζόµενη (Polynomially decidable) όταν την αποφασίζει µία πολυωνυµικά φραγµένη ΜΤ Η κλάση των πολυωνυµικά αποφασιζόµενων γλωσσών λέγεταιp 17

Η κλάση NP Μία MAΜΤ Μ είναι πολυωνυµικά φραγµένη όταν υπάρχει πολυώνυµο p(n) τέτοιο ώστε να ισχύει: Για κάθε είσοδο x δεν υπάρχει ολική κατάσταση C τέτοια ώστε (s, w) Μ p( x )+1 C ηλαδή κανένας υπολογισµός (από τους πολλούς που εκτελούνται ταυτόχρονα λόγω του Μη Αιτιοκρατικού ) δεν διαρκεί παραπάνω από p( x ) βήµατα. Μία γλώσσα λέγεται µη αιτιοκρατικά πολυωνυµικά αποφασιζόµενη (Non-deterministic Polynomially decidable) όταν την αποφασίζει µία πολυωνυµικά φραγµένη MAΜΤ Η κλάση των µη αιτιοκρατικά πολυωνυµικά αποφασιζόµενων γλωσσών λέγεταιnp Η κλάση EXP Μία ΜΤ Μ είναι εκθετικά φραγµένη όταν υπάρχει πολυώνυµο p(n) τέτοιο ώστε να ισχύει: Για κάθε είσοδο x δεν υπάρχει ολική κατάσταση C τέτοια ώστε (s, w) Μ 2 p( x )+1 C ηλαδή κανένας υπολογισµός δεν διαρκεί παραπάνω από 2 p( x ) βήµατα. Μία γλώσσα λέγεται εκθετικά αποφασιζόµενη (EXPonentially decidable) όταν την αποφασίζει µία εκθετικά φραγµένη ΜΤ Η κλάση των εκθετικά αποφασιζόµενων γλωσσών λέγεται EXP 18

Η σχέση µεταξύ των κλάσεων P, NP, EXP P NP EXP 19