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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

HEAD INPUT. q0 q1 CONTROL UNIT

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

CSC 314: Switching Theory

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

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

Μηχανές Πεπερασµένων Καταστάσεων

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

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

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

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

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

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

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

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 3 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

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

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

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

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

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

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

Απάντηση: (func endfunc)-([a-za-z])+

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

Μοντελοποίηση υπολογισμού. Θέματα Υπολογισμού στον Πολιτισμό Πεπερασμένα αυτόματα

Transcript:

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

Τι θα κάνουμε σήμερα Εισαγωγή στα Ντετερμινιστικά Πεπερασμένα Αυτόματα 14-Sep-11 Τυπικός Ορισμός Ντετερμινιστικών Πεπερασμένων Αυτόματων (1.1.1) Σχεδιασμός Ντετερμινιστικού Πεπερασμένου Αυτόματου (1.1.4) Κανονικές Πράξεις (1.1.5) 1

Πεπερασμένα αυτόματα Απλούστερο δυνατό υπολογιστικό μοντέλο Εξαιρετικά περιορισμένη μνήμη 14-Sep-11 Έχουμε στις μέρες μας υπολογιστικά συστήματα τέτοιου τύπου; Αλληλεπιδρούμε καθημερινός με τέτοια συστήματα 2

Παράδειγμα Αυτόματη Πόρτα 14-Sep-11 μπροστινό πατάκι πίσω πατάκι Τέσσερα Σήματα: «ΕΜΠΡΟΣ»: κάποιος στέκεται στο μπροστινό πατάκι «ΠΙΣΩ»: κάποιος στέκεται στο πίσω πατάκι «ΕΜΠΡΟΣ- ΠΙΣΩ»: έχει κάποιο άτομο και στο μπροστά και το πίσω πατάκι «ΠΟΥΘΕΝΑ»: δεν υπάρχει κανένας στα πατάκια 3

Παράδειγμα Αυτόματη Πόρτα Καταστάσεις πόρτας «ΑΝΟΙΧΤΗ» «ΚΛΕΙΣΤΗ» ΠΙΣΩ ΕΜΠΡΟΣ - ΠΙΣΩ ΠΟΥΘΕΝΑ ΚΛΕΙΣΤΗ ΕΜΠΡΟΣ ΕΜΠΡΟΣ ΠΙΣΩ ΕΜΠΡΟΣ - ΠΙΣΩ ΑΝΟΙΧΤΗ 14-Sep-11 ΠΟΥΘΕΝΑ 4 Διάγραµµα Καταστάσεων Αυτόµατης Πόρτας

Παράδειγμα Αυτόματη Πόρτα ΠΙΣΩ ΕΜΠΡΟΣ - ΠΙΣΩ ΠΟΥΘΕΝΑ ΕΜΠΡΟΣ ΕΜΠΡΟΣ ΠΙΣΩ ΕΜΠΡΟΣ - ΠΙΣΩ 14-Sep-11 ΚΛΕΙΣΤΗ ΠΟΥΘΕΝΑ ΑΝΟΙΧΤΗ ΠΟΥΘΕΝΑ ΕΜΠΡΟΣ ΠΙΣΩ ΕΜΠΡΟΣ- ΠΙΣΩ ΚΛΕΙΣΤΗ ΚΛΕΙΣΤΗ ΑΝΟΙΧΤΗ ΚΛΕΙΣΤΗ ΚΛΕΙΣΤΗ ΑΝΟΙΧΤΗ ΚΛΕΙΣΤΗ ΑΝΟΙΧΤΗ ΑΝΟΙΧΤΗ ΑΝΟΙΧΤΗ 5 Πίνακας Μεταβάσεων Αυτόµατης Πόρτας

Διάγραμμα Καταστάσεων 0 1 1 0 q1 q2 q3 0, 1 Διάγραμμα τριών καταστάσεων {q1,q2,q3} Εναρκτήρια κατάσταση υποδεικνύεται με βέλος Τελική κατάσταση ή κατάσταση υποδοχής η q2 Μεταβάσεις από την μια κατάσταση στην άλλη απεικονίζονται με βέλη. Έξοδος αποδοχή ή απόρριψη: αν μετά την επεξεργασία δοθέντος λέξης φτάσουμε σε τελική τότε αποδεχόμαστε π.χ. Πως τρέχει το αυτόματο στην λέξη 1101; 6

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

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

Ορολογία Εάν Α είναι το σύνολο όλων των λέξεων που αποδέχεται το αυτόματο Μ, λέμε ότι το Α είναι η γλώσσα του Μ και γράφουμε: L(M) =A Το Μ αναγνωρίζει την Α Κάθε αυτόματο αποδέχεται πολλές λέξεις αλλά αναγνωρίζει μια μόνο γλώσσα Τι γλώσσα δέχεται το Μ1; Α1={w η w περιέχει τουλάχιστον ένα σύμβολο 1 και το τελευταίο 1 ακολουθείται από άρτιο αριθμό 0} L(M1) = A1 9

Παράδειγμα 0 1 1 q1 q2 0 Πεπερασμένο Αυτόματο Μ2=({q1,q2}, {0, 1}, δ, q1, {q2}) L(M2)? 0 1 q1 q1 q2 q2 q1 q2 Δοκιμάζουμε κάποιες λέξεις εισόδου 0, 1, 001, 1010, 100111 L(M2) = {w w τελειώνει σε 1} 10

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

Ορισμός του υπολογισμού To αυτόματο Μ αποδέχεται μια λέξη w εάν: M =(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,w i+1 )=r i+1, for i =0,...,n 1, και 3. r n F Το αυτόματο Μ αναγνωρίζει τη γλώσσα Α εάν: A = {w το Μ αποδέχεται την w} 12

Κανονική Γλώσσα Ορισμός: Μια γλώσσα λέγεται κανονική εάν υπάρχει πεπερασμένο αυτόματο που να την αναγνωρίζει. 13

Σχεδίαση Αυτομάτων Πρόβλημα: Δοθέντος μιας γλώσσας σχεδιάστε ένα αυτόματο που να την αναγνωρίζει. Παράδειγμα 1: Α = {w w έχει άρτιο αριθμό από 1} Βήμα 1: Καθορισμός καταστάσεων Έλεγχος κάθε συμβόλου και εάν το τμήμα της λέξης που εξετάστηκε ανήκει ή όχι στη γλώσσα Καθορισμός πληροφοριών που πρέπει να θυμόμαστε: 1. είτε ο αριθμός των 1 που διαβάσαμε είναι άρτιος 2. είτε ο αριθμός των 1 που διαβάσαμε είναι περιττός Αποδίδουμε σε κάθε περίπτωση μια κατάσταση q αρτιο q περιττό 14

Σχεδίαση Αυτομάτων Βήμα 2: Καθορισμός Μεταβάσεων Βάση το πώς πρέπει να μετακινηθούμε μετά την ανάγνωση ενός συμβόλου Ανάγνωση 0: αριθμός 1 δεν αλλάζει άρα μένουμε στην ίδια κατάσταση Ανάγνωση 1: αριθμός 1 αλλάζει άρα αν είμαστε στο q άρτιο πάμε q περιττό και ανάποδα 0 1 0 q αρτιο q περιττό 1 15

Σχεδίαση Αυτομάτων Βήμα 3: Καθορισμός εναρκτήριας κατάστασης Αντιστοιχεί στην περίπτωση της λέξης με 0 σύμβολα. Εναρκτήρια το q άρτιο αφού το πλήθος 0 των 1 είναι άρτιο Βήμα 4: Καθορισμός Τελικών Καταστάσεων Στην περίπτωσή μας το q άρτιο 0 0 1 q αρτιο q περιττό 1 16

Πράξεις σε Κανονικές Γλώσσες Έστω δυο γλώσσες Α και Β: Ένωση: A B = {x x A or x B} Συναρμογή (Σύμπτυξη): AB = {xy x A and y B} Σώρευση: A = {x 1 x 2...x k k 0 and x i,x i A} 17

Κλειστότητα Ορισμός: Ένα σύνολο είναι κλειστό κάτω από μια πράξη, εάν η πράξη αυτή, όταν εκτελείται σε μέλη του συνόλου, επιστρέφει ένα αντικείμενο που ανήκει επίσης στο σύνολο. π.χ. Το σύνολο των φυσικών είναι κλειστό ως προς τον πολλαπλασιασμό Το σύνολο των φυσικών δεν είναι κλειστό ως προς την διαίρεση Η συλλογή των κανονικών γλωσσών είναι κλειστή ως προς τις κανονικές πράξεις. 18

Ερωτήσεις; 14-Sep-11 19