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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

HEAD INPUT. q0 q1 CONTROL UNIT

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Θεωρία Υπολογισμού. Ενότητα 7 : Ντετερμινιστικά Πεπερασμένα Αυτόματα, Κανονικές Πράξεις. Αλέξανδρος Τζάλλας

q 0 q 0.2 q 0.1 q 0.05 q 0.05 q 0.25 q 0.15 q 0.1 q 0.2 q 0.25 q 0.25 q 0.25

CSC 314: Switching Theory

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Θεωρία Υπολογισμού. Ασκήσεις. Δρ. Τζάλλας Αλέξανδρος, Καθηγητής Εφαρμογών. Τμ. Μηχανικών Πληροφορικής Τ.Ε.

Γραµµατικές για Κανονικές Γλώσσες

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

Transcript:

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

Τι θα κάνουμε σήμερα Εισαγωγή στα Μη Ντετερμινιστικά Πεπερασμένα Αυτόματα Τυπικός Ορισμός Μη Ντετερμινιστικών Πεπερασμένων Αυτόματων (1.2.1) Ισοδυναμία Μη Ντετερμινιστικών και Ντετερμινιστικών Αυτομάτων (1.2.2) Κλειστότητα Κανονικών Πράξεων (1.1.5) 1

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

Πως υπολογίζει ένα NFA 0,1 0,1 1 0,e 1 q1 q2 q3 q4 Έστω βρισκόμαστε στην q1 και λαμβάνουμε 1 Το αυτόματο διασπάται σε πολλαπλά αντίγραφα του εαυτού του και ακολουθεί όλες τις δυνατότητες παράλληλα. Αν κάποιο αντίγραφο φτάσει σε μια κατάσταση από την οποία δεν εκκινά το επόμενο σύμβολο εισόδου τότε το μονοπάτι «σβήνει». Το αυτόματο τερματίζει αν στο τέλος της ανάγνωσης της εισόδου υπάρχει έστω και ένα αντίγραφο που οδηγεί σε κατάσταση υποδοχής. 3

Παράδειγμα 0,1 0,1 1 0,e 1 q1 q2 q3 q4 Πως προχωρά ο υπολογισμός πάνω στη λέξη 010110 Ένας καλός τρόπος απεικόνισης του υπολογισμού είναι το δέντρο υπολογισμού. Ποιες λέξεις δέχεται το αυτόματο; Όσες λέξεις έχουν ως υπολέξη το 101 ή το 11 4

Χρησιμότητα NFA Κάθε NFA μπορεί να μετατραπεί σε ένα αντίστοιχο ισοδύναμο DFA Τα NFA είναι συνήθως μικρότερα Η λειτουργία ενός NFA είναι ευκολότερα κατανοητή Η κατασκευή ενός NFA είναι ευκολότερη 5

Παράδειγμα Α = {w w περιέχει το σύμβολο 1 στην τρίτη θέση από το τέλος} 00100 ανήκει στην Α 011 δεν ανήκει Ποιο είναι το αντίστοιχο ντετερμινιστικό; Πως αλλάζει ο υπολογισμός αν προσθέσουμε το e στα βέλη q2,q3 και q3,q4; 0,1 1 0,1 0,1 q1 q2 q3 q4 6

Παράδειγμα 2 L={w w δεν περιέχει ούτε το aa ούτε το bb σαν υπολέξεις} Ντετερμινιστικό q 0 a q 1 Μη- Ντετερμινιστικό a q 0 q 1 b b a a b a b q q 2 b 3 a,b q 1 7

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

Τυπική Περιγραφή Αυτομάτου 0,1 0,1 1 0,e 1 q1 q2 q3 q4 M 1 =(Q, Σ,δ,q 0,F) Q = {q1, q2, q3, q4} Σ = {0, 1} Η συνάρτηση μεταβάσεων δ περιγράφεται από τον πίνακα q1 η εναρκτήρια κατάσταση F = {q2} 0 1 e q1 {q1} {q1,q2}! q2 {q3} {q3} q3! {q4}! q4 {q4} {q4}!! 9

Ορισμός του υπολογισμού To αυτόματο N αποδέχεται μια λέξη w εάν: N =(Q, Σ,δ,q 0,F) w = w 1 w 2...w n, w i Σ και υπάρχει ακολουθία καταστάσεων r 0 r 1...r n, r i Q που να ικανοποιεί τις συνθήκες: 1. r 0 = q 0 2. r i+1 δ(r i,w i+1 ), for i =0,...,n 1, και 3. r n F Το αυτόματο N αναγνωρίζει τη γλώσσα Α εάν: A = {w το N αποδέχεται την w} 10

Ισοδυναμία NFA με DFA Θεώρημα: Για κάθε μη ντετερμινιστικό πεπερασμένο αυτόματο, υπάρχει ισοδύναμο ντετερμινιστικό. Για κάθε γλώσσα που αναγνωρίζεται από κάποιο μη ντετερμινιστικό αυτόματο, υπάρχει ντετερμινιστικό αυτόματο που την αναγνωρίζει. Ιδέα απόδειξης (κατασκευαστική) Κατασκευή ενός ντετερμινιστικού αυτόματου που να προσομοιώνει το μη ντετερμινιστικό Hint: Κάθε σύμβολο στο NFA μας οδηγεί σε ένα σύνολο καταστάσεων Αυτό το σύνολο πρέπει να αντιπροσωπεύει μια κατάσταση του ντετερμινιστικού αυτομάτου. Αρα οι καταστάσεις του DFA θα περιέχουν όλα τα δυνατά υποσύνολα των καταστάσεων του NFA 11

Ισοδυναμία NFA με DFA (Απόδειξη) Έστω το NFA N =(Q, Σ,δ,q 0,F) που αναγνωρίζει την Α Θέλουμε να κατασκευάσουμε DFA M =(Q, Σ,δ,q0,F ) που επίσης αναγνωρίζει την Α Βήματα Κατασκευής (χωρίς το σύμβολο e): Q = P(Q) δ (R, a) ={q Q q δ(r, a) for some r R} ή δ (R, a) = δ(r, a) q0 = {q 0 } r R F = {R Q q R such that q F } 12

Ισοδυναμία NFA με DFA (Απόδειξη) Μετατροπή μεταβάσεων e: E(R)={q η q είναι προσπελάσιμη από κάποιο μέλος της R μέσω μηδέν ή περισσοτέρων μεταβάσεων e} δ (R, a) ={q Q q E(δ(r, a)) for some r R} q0 = E({q 0 }) Ορθότητα: Σε κάθε βήμα του υπολογισμού του Μ επί κάποιας εισόδου, το Μ βρίσκεται σε μια κατάσταση που αντιστοιχεί στο σύνολο των καταστάσεων που θα μπορούσε να βρίσκεται το Ν στο σημείο εκείνο. 13

Πόρισμα Πόρισμα: Μια γλώσσα είναι κανονική εάν και μόνο εάν υπάρχει μη ντετερμινιστικό πεπερασμένο αυτόματο που να την αναγνωρίζει. 14

Παράδειγμα: NFA to DFA b q1 e a M(Q, Σ, δ, q 0, F) 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}} δ? a q2 a,b q3 15

Κλειστότητα ως προς ένωση Θεώρημα: Το σύνολο των κανονικών γλωσσών είναι κλειστό ως προς την ένωση. L(Ν1) = A L(Ν2) = B e e L(Ν) = A [ B Για αυθαίρετες κανονικές γλώσσες Α, Β πρέπει να δείξουμε ότι Α[B είναι επίσης κανονική 16

Κλειστότητα ως προς την συναρμογή Θεώρημα: Το σύνολο των κανονικών γλωσσών είναι κλειστό ως προς την συναρμογή. L(Ν1) = A L(Ν2) = B e e L(Ν) = AB Για αυθαίρετες κανονικές γλώσσες Α, Β πρέπει να δείξουμε ότι ΑB είναι επίσης κανονική 17

Κλειστότητα ως προς την σώρευση Θεώρημα: Το σύνολο των κανονικών γλωσσών είναι κλειστό ως προς την σώρευση. L(Ν1) = A e e e L(Ν) = A* Για αυθαίρετη κανονική γλώσσα Α πρέπει να δείξουμε ότι Α* είναι επίσης κανονική 18

Ερωτήσεις; 19