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

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

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

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

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

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

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

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

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

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

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

Μηχανές Turing (T.M) I

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

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

Θεώρημα Υπάρχουν υπολογίσιμες συναρτήσεις που δεν είναι πρωταρχικές αναδρομικές.

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

Θεμελιώδη Θέματα Επιστήμης Υπολογιστών

Πολλοί τρόποι περιγραφής αλγορίθμων. Όλοι είναι μηχανιστικά ισοδύναμοι και ειδικά ισοδύναμοι με μερικές αναδρομικές συναρτήσεις.

Πολλοί τρόποι περιγραφής αλγορίθμων. Όλοι είναι μηχανιστικά ισοδύναμοι και ειδικά ισοδύναμοι με μερικές αναδρομικές συναρτήσεις

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

Μη επιλυσιμότητα I. Απόδειξη. Ορίζουμε # # =

Recursive and Recursively Enumerable sets I

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

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

Το 10ο πρόβλημα του Hilbert I

Σχήματα McCarthy I. Το σχήμα McCarthy είναι ένα γενικότερο προγραμματιστικό σχήμα:

Περιεχόμενα. 1 Υπολογισιμότητα. Ιστορία - Εισαγωγή. Μαθηματικό Υπόβαθρο. LOOP: Μια απλή γλώσσα προγραμματισμού

p (R 1 (R 2 R 3 )) q pr 1 r 1, r 1 R 2 r 2, r 2 R 3 q p (R 1 R 2 ) r 2 και r 2 R 3 q p ((R 1 R 2 ) R 3 ) q άρα R 1 (R 2 R 3 ) (R 1 R 2 ) R 3

HEAD INPUT. q0 q1 CONTROL UNIT

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

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

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

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

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

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

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

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

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

Τα Θεμέλια της Πληροφορικής

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

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

Πεπερασμένα Αυτόματα και Κανονικές Παραστάσεις

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

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

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

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

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

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

f(t) = (1 t)a + tb. f(n) =

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

Περιεχόμενα. Πρόλογος 3

Θεμελιώδη Θέματα Επιστήμης Υπολογιστών

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

Θεμελιώδη Θέματα Επιστήμης Υπολογιστών

Τυχαιότητα (Randomness) I

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

Σημειώσεις Λογικής I. Εαρινό Εξάμηνο Καθηγητής: Λ. Κυρούσης

Σχεδίαση Γλωσσών Προγραμματισμού Συντακτική Ανάλυση Ι. Εαρινό Εξάμηνο Lec /03/2019 Διδάσκων: Γεώργιος Χρ. Μακρής

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

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

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

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

Σχεδίαση Γλωσσών Προγραμματισμού Λεξική Ανάλυση Ι. Εαρινό Εξάμηνο Lec 05 & & 26 /02/2019 Διδάσκων: Γεώργιος Χρ.

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

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

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

Αναδρομικές Συναρτήσεις και Σχέσεις I

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

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

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

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

Περιεχόμενα 1 Πρωτοβάθμια Λογική Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων ) / 60

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

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

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

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

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

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

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

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

Υπολογίσιμες Συναρτήσεις

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

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

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

ή κανονικός ( regular ), αν για κάθε x και κάθε κλειστό αντιπαραδείγματα με τα οποία αποδεικνύεται ότι οι αντίστροφες συνεπαγωγές δεν ισχύουν.

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

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

m + s + q r + n + q p + s + n, P Q R P Q P R Q R F G

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

Κεφάλαιο 2: Τυπικές γλώσσες. Νίκος Παπασπύρου, Κωστής Σαγώνας Μεταγλωττιστές Μάρτιος / 216

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

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

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

Απαρίθμηση ζευγών φυσικών αριθμών I. C(0, 0) = 0 C(2, 1) = 7 κωδικοποίηση κατά Cantor D 1 (7)=2, D 2 (7)=1 : αποκωδικοποίηση

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

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

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

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

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

ΑΛΓΕΒΡΑ Α ΛΥΚΕΙΟΥ. 8. Πότε το γινόμενο δύο ή περισσοτέρων αριθμών παραγόντων είναι ίσο με το μηδέν ;

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

Transcript:

Παραλλαγές, επεκτάσεις και εφαρμογές FA/REGEXP Παραλλαγές και επεκτάσεις αυτομάτων I Ορισμός Ένα two-way deterministic FA (2DFA) είναι μία πεντάδα M = (Q, Σ, δ, q 0, F), όπου τα Q, Σ, q 0 και F είναι όπως προηγουμένως και δ είναι μία απεικόνιση από το Q ˆ Σ στο Q ˆ tl, Ru, δηλαδή δ : Q ˆ Σ Ñ Q ˆ tl, Ru. Εάν δ(q, a) = (p, L), τότε στην κατάσταση q, διαβάζοντας το σύμβολο a, το 2DFA πάει στην κατάσταση p και μετακινεί την κεφαλή προς τα αριστερά κατά μία θέση. Εάν δ(q, a) = (p, R), τότε το 2DFA πάει στην κατάσταση p και μετακινεί την κεφαλή προς τα δεξιά κατά μία θέση. Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Μάρτιος 2018 182 / 320

Παραλλαγές, επεκτάσεις και εφαρμογές FA/REGEXP Παραλλαγές και επεκτάσεις αυτομάτων II Configuration ή instantaneous description (ID) ενός 2DFA: περιγράφει το string εισόδου, την τρέχουσα κατάσταση και την τρέχουσα θέση της κεφαλής εισόδου. Ένα ID του M είναι ένα string στο Σ QΣ. Το ΙD wqx, όπου w, x P Σ, αντιπροσωπεύει τα εξής: 1 wx είναι το string εισόδου, 2 q είναι η τρέχουσα κατάσταση και 3 η κεφαλή εισόδου διαβάζει το πρώτο σύμβολο του x. Εάν το x = ε, τότε η κεφαλή εισόδου έχει μετακινηθεί στο δεξί άκρο της ταινίας εισόδου. Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Μάρτιος 2018 183 / 320

Παραλλαγές, επεκτάσεις και εφαρμογές FA/REGEXP Παραλλαγές και επεκτάσεις αυτομάτων III Στη συνέχεια εισάγουμε την σχέση $ M στα ID s, έτσι ώστε I 1 $ M I 2, αν και μόνο αν το M μπορεί να πάει από την instantaneous description I 1 στην I 2 με μία κίνηση. Ορίζουμε τη σχέση $ M, ή απλά $, αν το M εννοείται, ως εξής: 1 a 1 a 2... a i 1 qa i... a n $ a 1 a 2... a i 1 a i pa i+1... a n, όταν δ(q, a i ) = (p, R) και 2 a 1 a 2... a i 2 a i 1 qa i... a n $ a 1 a 2... a i 2 pa i 1 a i... a n, όταν δ(q, a i ) = (p, L) και i ą 1. Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Μάρτιος 2018 184 / 320

Παραλλαγές, επεκτάσεις και εφαρμογές FA/REGEXP Παραλλαγές και επεκτάσεις αυτομάτων IV Στα διαγράμματα, μία ακμή εκτός από το σύμβολο εισόδου έχει επίσης επιγραφή L ή R. Το ανακλαστικό, μεταβατικό κλείσιμο της σχέσης $ είναι το $. Computation is a legal finite sequence of configurations. Ορισμός L(M) = tw q 0 w $ wp για κάποιο p στο Fu. Θεώρημα Έστ M ένα 2DFA.Τότε L(M) είναι κανονική. Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Μάρτιος 2018 185 / 320

Παραλλαγές, επεκτάσεις και εφαρμογές FA/REGEXP FA με έξοδο I Μηχανή Moore Ορισμός Μία μηχανή Moore είναι μία εξάδα M = (Q, Σ,, δ, λ, q 0 ), όπου τα Q, Σ, δ και q 0 είναι όπως στα DFA, με δ : Q ˆ Σ Ñ Q. Επιπλέον: : αλφάβητο εξόδου λ: απεικόνιση από το Q στο, που δίνει την έξοδο που σχετίζεται με κάθε κατάσταση, δηλαδή λ: Q Ñ. input a 1 a 2 a n states q 0 q 1 q 2 q n 1 q n μήκος n + 1 output λ(q 0 ) λ(q 1 ) λ(q 2 ) λ(q n 1 ) λ(q n ) μήκος n + 1 Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Μάρτιος 2018 186 / 320

Παραλλαγές, επεκτάσεις και εφαρμογές FA/REGEXP FA με έξοδο II Μηχανή Moore Παρατηρήσεις: Κάθε μηχανή Moore δίνει έξοδο λ(q 0 ) = 5 για είσοδο ε. Το DFA μπορεί να θεωρηθεί ως μία ειδική περίπτωση μίας μηχανής Moore όπου το αλφάβητο είναι {0,1} και η κατάσταση q αποδέχεται αν και μόνο αν λ(q) = 1. Μία μηχανή Moore δεν έχει τελικές καταστάσεις και έχει μήκος εξόδου n + 1. Τα διαγράμματα μηχανών Moore είναι όπως αυτά των FA, αλλά επιπλέον σημειώνουμε μαζί με την κατάσταση το αντίστοιχο σύμβολο εξόδου ως εξής q i /(q i ), π.χ.: a q/b p/c Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Μάρτιος 2018 187 / 320

Παραλλαγές, επεκτάσεις και εφαρμογές FA/REGEXP FA με έξοδο I Μηχανή Mealy Ορισμός Μία μηχανή Mealy είναι μια εξάδα M = (Q, Σ,, δ, λ, q 0 ), όπου όλα είναι όπως στη μηχανή Moore, με δ : Q ˆ Σ Ñ Q, εκτός από το λ που είναι απεικόνιση από το Q ˆ Σ στο, δηλαδή λ: Q ˆ Σ Ñ. Η έξοδος του M με είσοδο το a 1 a 2... a n είναι λ(q 0, a 1 )λ(q 1, a 2 )... λ(q n 1, a n ), όπου q 0, q 1,..., q n είναι η ακολουθία των καταστάσεων έτσι ώστε δ(q i 1, a i ) = q i, για 1 ď i ď n. Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Μάρτιος 2018 188 / 320

Παραλλαγές, επεκτάσεις και εφαρμογές FA/REGEXP FA με έξοδο II Μηχανή Mealy Παρατηρήσεις: Η ακολουθία εξόδου έχει μήκος n και όχι n + 1 όπως η μηχανή Moore και με είσοδο ε μία μηχανή Mealy δίνει έξοδο ε. Τα διαγράμματα μηχανών Mealy είναι όπως αυτά των FA, αλλά επιπλέον σημειώνουμε στις μεταβάσεις την αντίστοιχη έξοδο, π.χ.: a/b b/c q p r Μία γενίκευση των μηχανών Mealy είναι το Finite Transducer (ή finite state machine, FSM) με συνάρτηση: λ: Q ˆ Σ Ñ. Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Μάρτιος 2018 189 / 320

Παραλλαγές, επεκτάσεις και εφαρμογές FA/REGEXP Ισοδυναμία μηχανών Moore και Mealy I Ορισμός Έστω M μία μηχανή Moore ή Mealy. Ορίζουμε T M (w), για είσοδο w να είναι η έξοδος που παράγεται από την M με είσοδο w. Παρατήρηση Δεν είναι δυνατόν ποτέ να είναι ίδιες οι συναρτήσεις T M (w), T M 1 (w), αν M είναι μία μηχανή Moore και M 1 μία μηχανή Mealy, επειδή T M (w) είναι ένα περισσότερο από T M 1 (w), για κάθε w. Ωστόσο, μπορούμε να δώσουμε τον παρακάτω ορισμό ισοδυναμίας: Ορισμός Μία μηχανή Mealy M και μία μηχανή Moore M 1 είναι ισοδύναμες: @w: 5T M (w) = T M 1 (w), όπου λ 1 (q 0 ) = 5 και T M 1 (ε) = 5, T M (w) = η έξοδος μετά την επεξεργασία του w. Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Μάρτιος 2018 190 / 320

Παραλλαγές, επεκτάσεις και εφαρμογές FA/REGEXP Ισοδυναμία μηχανών Moore και Mealy II Μπορούμε να αποδείξουμε το ακόλουθο θεώρημα για την ισοδυναμία μεταξύ μηχανών Moore και Mealy: Θεώρημα @M Moore ñ DM 1 Mealy ισοδύναμη. @M Mealy ñ DM 1 Moore ισοδύναμη. Απόδειξη. 1 Έστω μία μηχανή Moore M 1. Κατασκευάζουμε μία ισοδύναμη μηχανή Mealy M 2 : ορίζουμε λ 1 (q, a) = λ(δ(q, a)) για όλες τις καταστάσεις q και για όλα τα σύμβολα εισόδου a. 2 Έστω M 1 μηχανή Mealy. Τότε M 2 = tq ˆ, Σ,, δ 1, λ 1, [q 0, b 0 ]u, όπου b 0 είναι τυχαίο στοιχείο του. Αυτό σημαίνει ότι οι καταστάσεις του M 2 είναι ζευγάρια της μορφής [q, b], αποτελούμενα από μία κατάσταση της M 1 και ένα σύμβολο εξόδου. Ορίζουμε δ 1 ([q, b], a) = [δ(q, a), λ(q, a)] και λ 1 ([q, b]) = b. Το δεύτερο στοιχείο μίας κατάστασης [q, b] της M 2 είναι η έξοδος που παράγεται από την M 1 σε κάποια μετάβαση στην κατάσταση q. Μόνο τα πρώτα στοιχεία των καταστάσεων της M 2 καθορίζουν τις κινήσεις της M 2. Εύκολα με επαγωγή στο n δείχνεται ότι αν η M 1 πηγαίνει στις καταστάσεις q 0, q 1,..., q n με είσοδο a 1 a 2... a n και δίνει έξοδο b 1, b 2,..., b n, τότε η M 2 πηγαίνει στις καταστάσεις [q 0, b 0 ], [q 1, b 1 ],..., [q n, b n ] και δίνει έξοδο b 0, b 1,..., b n. Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Μάρτιος 2018 191 / 320

Ιδιότητες κανονικών συνόλων Pumping lemma για κανονικά σύνολα I Λήμμα (Pumping lemma) Εάν L είναι regular τότε: Dn P N, @z P L με z ě n, Du, v, w P Σ : [z = uvw ^ uv ď n ^ v ě 1 ^ @i P N (uv i w P L)] Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Μάρτιος 2018 192 / 320

Ιδιότητες κανονικών συνόλων Pumping lemma για κανονικά σύνολα II Χρησιμοποιώντας το λήμμα δείχνουμε ότι ένα δοσμένο σύνολο δεν είναι regular. Η μέθοδος είναι η ακόλουθη: 1 Διαλέγεις τη γλώσσα που θέλεις να αποδείξεις πως δεν είναι regular. 2 Ο αντίπαλος (PL) επιλέγει ένα n. Θα πρέπει να μπορείς για οποιοδήποτε πεπερασμένο ακέραιο n διαλέξει, να αποδείξεις ότι η L δεν είναι regular, αλλά από τη στιγμή που ο αντίπαλος έχει διαλέξει ένα n αυτό είναι σταθερό στην απόδειξη. 3 Διαλέγεις ένα string z της L έτσι ώστε z ě n. 4 Ο αντίπαλος (PL) σπάει το z σε u, v και w που ικανοποιούν τους περιορισμούς uv ď n και v ě 1. 5 Φτάνεις σε αντίφαση δείχνοντας ότι για κάθε u, v, w που καθορίζονται από τον αντίπαλο, υπάρχει ένα i για το οποίο uv i w δεν ανήκει στην L. Τότε μπορούμε να συμπεράνουμε ότι η L δεν είναι regular. Η επιλογή του i μπορεί να εξαρτάται από τα n, u, v, w. Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Μάρτιος 2018 193 / 320

Ιδιότητες κανονικών συνόλων Pumping lemma για κανονικά σύνολα III Παράδειγμα L = ta k b k k P Nu = tε, ab, aabb, aaabbb,...u 1 Υποθέτουμε ότι L είναι regular και χρησιμοποιούμε το pumping lemma. 2 PL: Dn P N 3 Διαλέγουμε z = a n b n. Εντάξει επιλογή, διότι z P L, z = 2n ě n. 4 PL: z μπορεί να γραφεί: z = uvw με uv ď n ^ v ě 1, ώστε v = a l με l ě 1. 5 Διαλέγουμε i = 2: uvvw = a n+l b n P L. Άτοπο Παράδειγμα Το σύνολο L = t0 k2 k ě 1u = t0, 0000, 000000000,...u, δεν είναι regular. 1 Υποθέτουμε ότι L είναι regular και χρησιμοποιούμε το pumping lemma. 2 PL: Dn P N. 3 Διαλέγουμε z = 0 n2. Εντάξει επιλογή, διότι z = n 2 ě n. 4 PL: z μπορεί να γραφεί: z = uvw με uv ď n ^ v ě 1, ώστε v = 0 l με 1 ď l ď n. 5 Διαλέγουμε i = 2: uvvw = 0 n2 +l P L, αλλά n 2 + l δεν είναι τέλειο τετράγωνο, διότι: n 2 ă n 2 + 1 ď n 2 + l ď n 2 + n = n(n + 1) ă (n + 1) 2. Άτοπο Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Μάρτιος 2018 194 / 320

Ιδιότητες κανονικών συνόλων Ιδιότητες κλειστότητας για κανονικά σύνολα Λογικές (boolean) πράξεις Υπενθύμιση: Οι boolean (λογικές) πράξεις είναι η έν ση, η τομή και το συμπ ήρ μα. Θεώρημα Η κ άση τ ν regular sets είναι μηχανιστικά κ ειστή (effectively closed) ς προς τις ο ικές πράξεις, την παράθεση (concatenation) και το Kleene *. Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Μάρτιος 2018 195 / 320

Ιδιότητες κανονικών συνόλων Ιδιότητες κλειστότητας για κανονικά σύνολα I Αντικαταστάσεις και ομομορφισμοί Αντικατάσταση: f: Σ Ñ Pow( ) Ειδική περίπτωση: Ομομορφισμός: h: Σ Ñ Αντίστροφος ομομορφισμός: h 1 (w) = tx h(x) = wu για string και h 1 (L) = tx h(x) P Lu για γλώσσα. Ιδιότητες: h(h 1 (L)) Ď L ενώ h 1 (h(l)) Ě L, για κάθε γλώσσα L. Η απεικόνιση f μπορεί να επεκταθεί και σε strings ως εξής: " f(ε) = ε f(wa) = f(w)f(a) Η f επεκτείνεται και σε γλώσσες: fˆ(l) = Ť xpl f(x). Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Μάρτιος 2018 196 / 320

Ιδιότητες κανονικών συνόλων Ιδιότητες κλειστότητας για κανονικά σύνολα II Αντικαταστάσεις και ομομορφισμοί Ορισμός Κανονική αντικατάσταση (regular substitution): αντικατάσταση (substitution) τέτοια ώστε @a P Σ: f(a) είναι regular. Θεώρημα Η κ άση τ ν regular sets είναι μηχανιστικά κ ειστή (effectively closed) ς προς τις πράξεις της κανονικής αντικατάστασης, ομομορφισμού και αντίστροφου ομομορφισμού. Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Μάρτιος 2018 197 / 320

Ιδιότητες κανονικών συνόλων Ιδιότητες κλειστότητας για κανονικά σύνολα Πηλίκα Γλωσσών (quotients of languages) Πηλίκο γλωσσών: L 1 /L 2 = tw Dv P L 2 : wv P L 1 u Παράδειγμα L 1 = ab c και L 2 = b c τότε L 1 /L 2 = ab. Θεώρημα Η κ άση τ ν regular sets είναι κ ειστή ς προς πη ίκο με τυχαίο σύνο ο. Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Μάρτιος 2018 198 / 320

Ιδιότητες κανονικών συνόλων Αλγόριθμοι απόφασης για κανονικά σύνολα I Θεώρημα Έστ M ένα DFA με Q = n. Τότε 1 L(M) H ô Dz P L(M) με z ă n. 2 L(M) = 8 ô Dz P L(M) με n ď z ă 2n. Θεώρημα Υπάρχει μηχανιστικός α όριθμος που αποφασίζει αν δύο πεπερασμένα αυτόματα αποδέχονται το ίδιο σύνο ο, δη αδή αν είναι ισοδύναμα. Απόδειξη. Έστω M 1, M 2 τα αυτόματα που αποδέχονται την L 1, L 2 αντίστοιχα. Γνωρίζουμε από θεώρημα ότι υπάρχει αυτόματο M που αποδέχεται το L = (L 1 X L 2 ) Y (L 1 X L 2 ). Ισχύει L = H ô L 1 = L 2. Έτσι από το προηγούμενο θεώρημα υπάρχει αλγόριθμος που αποφασίζει αν L 1 = L 2. Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Μάρτιος 2018 199 / 320

Ιδιότητες κανονικών συνόλων Αλγόριθμοι απόφασης για κανονικά σύνολα II L 1 L2 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 Σχήμα: Ισοδυναμία πεπερασμένων αυτομάτων Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Μάρτιος 2018 200 / 320

Αλγεβρική περιγραφή κανονικών συνόλων. Ελαχιστοποίηση DFA Το θεώρημα Myhill-Nerode I Για κάθε γλώσσα L θα ορίσουμε μία αντίστοιχη σχέση ισοδυναμίας R L ως εξής: Ορισμός Ορίζουμε για x, y P Σ, x R L y, αν και μόνον αν για κάθε z P Σ, xz P L ακριβώς όταν yz P L (δηλαδή για κάθε z P Σ είτε αμφότερα τα xz, yz ανήκουν στην γλώσσα είτε κανένα από τα δύο δεν ανήκει στην γλώσσα). Ο δείκτης μίας σχέσης ισοδυναμίας είναι το πλήθος των κλάσεων ισοδυναμίας αυτής. Έτσι, λέμε ότι μία ισοδυναμία είναι πεπερασμένου δείκτη αν το πλήθος των κλάσεων ισοδυναμίας της είναι πεπερασμένο. Παρατήρηση: Όπως θα δείξουμε παρακάτω, κάτι που χαρακτηρίζει κάθε κανονική γλώσσα L είναι ότι η R L είναι πεπερασμένου δείκτη. Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Μάρτιος 2018 201 / 320

Αλγεβρική περιγραφή κανονικών συνόλων. Ελαχιστοποίηση DFA Το θεώρημα Myhill-Nerode II Επίσης, για κάθε πεπερασμένο αυτόματο M με αλφάβητο Σ ορίζουμε μία αντίστοιχη σχέση R M στο Σ ως εξής: Ορισμός x R M y αν και μόνον αν δ(q 0, x) = δ(q 0, y). Πρόταση Η R M είναι δεξιά αναλλοίωτη (right invariant), ς προς την παράθεση, δη αδή ια κάθε x, y P Σ με x R M y έχουμε ότι ια κάθε z P Σ ισχύει xz R M yz. Απόδειξη. δ(q 0, xz) = δ(δ(q 0, x), z) = δ(δ(q 0, y), z) = δ(q 0, yz). Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Μάρτιος 2018 202 / 320

Αλγεβρική περιγραφή κανονικών συνόλων. Ελαχιστοποίηση DFA Το θεώρημα Myhill-Nerode III Θεώρημα (Myhill-Nerode) Τα παρακάτ είναι ισοδύναμα ια μία ώσσα L: (i) η L είναι κανονική (ii) η L είναι έν ση κάποι ν από τις κ άσεις ισοδυναμίας μίας δεξιά ανα οί της σχέσης ισοδυναμίας πεπερασμένου δείκτη (iii) η σχέση R L είναι πεπερασμένου δείκτη. Απόδειξη: Θα δείξουμε τις εξής κατευθύνσεις: (i) Ñ (ii) Ñ (iii) Ñ (i). (i) ùñ (ii). Έστω DFA M = (Q, Σ, δ, q 0, F) που αποδέχεται την L. Όπως είδαμε, η R M είναι δεξιά αναλλοίωτη. Οι κλάσεις ισοδυναμίας της R M είναι όσες και οι καταστάσεις του αυτομάτου M, δηλαδή η R M είναι επιπλέον πεπερασμένου δείκτη. Προφανώς, η γλώσσα που γίνεται αποδεκτή από το αυτόματο M είναι ένωση των κλάσεων ισοδυναμίας που αντιστοιχούν σε τελικές καταστάσεις του αυτομάτου. Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Μάρτιος 2018 203 / 320

Αλγεβρική περιγραφή κανονικών συνόλων. Ελαχιστοποίηση DFA Το θεώρημα Myhill-Nerode IV (ii) ùñ (iii). Έστω ισοδυναμία E που ικανοποιεί την ιδιότητα που δίνεται στο (ii). Θα δείξουμε την συνεπαγωγή: Αν για x, y P Σ ισχύει x E y, τότε x R L y. Πράγματι έστω x E y. Αφού η E είναι δεξιά αναλλοίωτη, έχουμε ότι για κάθε z P Σ ισχύει xz E yz, δηλαδή είτε αμφότερα τα xz, yz ανήκουν στην γλώσσα L, είτε κανένα από τα δύο δεν ανήκει στην γλώσσα L, δηλαδή (από τον ορισμό της R L ) x R L y. Επομένως, κάθε κλάση ισοδυναμίας της E περιέχεται σε μία κλάση ισοδυναμίας της R L. Αυτό σημαίνει ότι η σχέση E αποτελεί εκ έπτυνση (refinement, βλέπε σχήμα) της σχέσης R L και αφού η E είναι πεπερασμένου δείκτη, δεν μπορεί παρά και η R L να είναι πεπερασμένου δείκτη. Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Μάρτιος 2018 204 / 320

Αλγεβρική περιγραφή κανονικών συνόλων. Ελαχιστοποίηση DFA Το θεώρημα Myhill-Nerode V Σ /R L Σ /E Σχήμα: Εκλέπτυνση (refinement) σχέσης ισοδυναμίας (fine-coarse=λεπτή-αδρή) Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Μάρτιος 2018 205 / 320

Αλγεβρική περιγραφή κανονικών συνόλων. Ελαχιστοποίηση DFA Το θεώρημα Myhill-Nerode VI (iii) ùñ (i). Αποδεικνύουμε πρώτα τον εξής ισχυρισμό: Η R L είναι δεξιά αναλλοίωτη. Πράγματι, αν x R L y τότε για κάθε u P Σ έχουμε xu R L yu αφού από τον ορισμό της R L για κάθε v P Σ έχουμε xuv P L ðñ yuv P L (αρκεί να θέσουμε z = uv). Τελικά, θα κατασκευάσουμε αυτόματο M = (Q, Σ, δ, q 0, F) που αποδέχεται την γλώσσα L, δεδομένης της σχέσης R L. Την κλάση ισοδυναμίας στην R L του τυχόντος στοιχείου x P Σ συμβολίζουμε με [x]. Το σύνολο των καταστάσεων Q είναι οι κλάσεις ισοδυναμίας της R L, δηλαδή Q = t[x] x P Σ u. Αρχική κατάσταση είναι η [ε] (η κλάση ισοδυναμίας στην οποία ανήκει η κενή συμβολοσειρά). Το σύνολο των τελικών καταστάσεων είναι F = t[x] x P Lu. Η συνάρτηση μετάβασης ορίζεται δ([x], a) = [xa] (ο ορισμός δεν εξαρτάται από το x και είναι συνεπής δεδομένου ότι η R L είναι δεξιά αναλλοίωτη). Το αυτόματο αποδέχεται την L αφού δ(q 0, x) = [x] κι επομένως x P L(M) αν και μόνον αν [x] P F. Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Μάρτιος 2018 206 / 320

Αλγεβρική περιγραφή κανονικών συνόλων. Ελαχιστοποίηση DFA Ελαχιστοποιώντας πεπερασμένα αυτόματα I Myhill-Nerode ñ μοναδικό DFA ελάχιστων καταστάσεων. Παράδειγμα: Έστω το αυτόματο M που φαίνεται στο σχήμα, το οποίο αποδέχεται την γλώσσα L = 0 10. b 1 d 1 f 0 0 0 1 1 a 1 c 0 e 0, 1 0 Στην L(M) υπάρχουν 6 κλάσεις ισοδυναμίας, οι ακόλουθες: C a = (00), C b = (00) 0, C c = (00) 1, C d = (00) 01, C e = 0 100, C f = 0 10 1(0 + 1), οπότε και L = C c Y C d Y C e. Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Μάρτιος 2018 207 / 320

Αλγεβρική περιγραφή κανονικών συνόλων. Ελαχιστοποίηση DFA Ελαχιστοποιώντας πεπερασμένα αυτόματα II Τα C a, C b είναι το C 1 (χωρίς 1) = 0. Τα C c, C d, C e είναι το C 2 (με ένα 1) = 0 10 και το C f είναι το C 3 (περισσότερα του ενός 1) = 0 10 1(0 + 1). Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Μάρτιος 2018 208 / 320

Αλγεβρική περιγραφή κανονικών συνόλων. Ελαχιστοποίηση DFA Ελαχιστοποιώντας πεπερασμένα αυτόματα III Το ελάχιστο αυτόματο φαίνεται στο παρακάτω σχήμα. 0 0 0, 1 Ñ a, b 1 c, d, e 1 f Η ίδια μέθοδος συστηματικά με πίνακα: 1 Εξαλείφουμε όλες τις απρόσιτες καταστάσεις. 2 Συγχωνεύουμε ισοδύναμες καταστάσεις που δεν διακρίνονται με κανένα επόμενο string. Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Μάρτιος 2018 209 / 320

Αλγεβρική περιγραφή κανονικών συνόλων. Ελαχιστοποίηση DFA Ελαχιστοποιώντας πεπερασμένα αυτόματα IV Μέθοδος για το δεύτερο: Tο p είναι διακρίσιμο από το q εάν υπάρχει ένα x τέτοιο ώστε δ(p, x) είναι στο F και δ(q, x) δεν είναι ή αντίστροφα. Φτιάχνουμε ένα πίνακα για να συγκρίνουμε κάθε ζεύγος καταστάσεων. Βάζουμε ένα X σε κάθε θέση του πίνακα κάθε φορά που ανακαλύπτουμε ότι δύο καταστάσεις δεν είναι ισοδύναμες. Αρχικά εγγράφουμε X σε όλα τα ζεύγη που προφανώς διακρίνονται γιατί η μία είναι τελική και η άλλη δεν είναι. Μετά προσπαθούμε να δούμε αν διακρίνονται δύο καταστάσεις, διότι από αυτές με ένα σύμβολο a οδηγούμαστε σε διακρίσιμες καταστάσεις. Επαναλαμβάνουμε την πιο πάνω προσπάθεια ώσπου να μην προστίθεται κανένα X πια στον πίνακα. Τα υπόλοιπα ζευγάρια είναι μη διακρίσιμα και συνεπώς συγχωνεύσιμα. Στο πίνακα οι δείκτες 1 και 2 του X δείχνουν σε ποια επανάληψη εγγράφουμε το X. b c X 1 X 1 d X 1 X 1 e X 1 X 1 f X 2 X 2 X 1 X 1 X 1 a b c d e Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Μάρτιος 2018 210 / 320

Αλγεβρική περιγραφή κανονικών συνόλων. Ελαχιστοποίηση DFA Ελαχιστοποιώντας πεπερασμένα αυτόματα V Τελικά οι ισοδύναμες καταστάσεις είναι a b, c d e. Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Μάρτιος 2018 211 / 320

Αλγεβρική περιγραφή κανονικών συνόλων. Ελαχιστοποίηση DFA Ελαχιστοποιώντας πεπερασμένα αυτόματα I Μέθοδος Beckmann Άλλη μέθοδος για την κατασκευή ενός ελάχιστου DFA είναι η μέθοδος Beckmann. 1 Κατασκεύασε το καθρέφτισμα του FA: δηλαδή ανάστρεψε τη φορά των τόξων. Αντάλλαξε τελικές με αρχικές καταστάσεις. 2 Κατασκεύασε DFA ισοδύναμο με το προκύπτον. 0 0 0, 1 Ñ cde 1 ab 1 j Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Μάρτιος 2018 212 / 320

Αλγεβρική περιγραφή κανονικών συνόλων. Ελαχιστοποίηση DFA Ελαχιστοποιώντας πεπερασμένα αυτόματα II Μέθοδος Beckmann 3 Ξανακατασκεύασε το καθρέφτισμα. 0 0 Ñ ab 1 cde 4 Ξανακατασκεύασε ισοδύναμο DFA. Αυτό τώρα είναι το ελάχιστο DFA που βρήκαμε και παραπάνω, δηλ. 0 0 0, 1 Ñ a, b 1 c, d, e 1 f Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Μάρτιος 2018 213 / 320

Τυπικές Γραμματικές Τυπικές Γραμματικές I Μια τυπική γραμματική (formal grammar) G = (V, T, P, S) αποτελείται από: ένα πεπερασμένο αλφάβητο V από μη τερματικά σύμβολα (non terminals) ή μεταβλητές (variables), ένα πεπερασμένο αλφάβητο T από τερματικά σύμβολα (terminals) ή σταθερές (constants), τ.ώ. V X T = H, ένα πεπερασμένο σύνολο P από κανόνες παραγωγής (production rules) ή απλούστερα παραγωγές (productions), δηλαδή διατεταγμένα ζεύγη (α, β) όπου α, β P (V Y T) και α ε (Σύμβαση: γράφουμε α Ñ β αντί για (α, β)), ένα αρχικό σύμβολο (start symbol) ή αξίωμα S P V. Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Μάρτιος 2018 214 / 320

Τυπικές Γραμματικές Τυπικές Γραμματικές II Θα χρησιμοποιήσουμε την εξής σύμβαση για τη χρήση γραμμάτων: a, b, c, d,... P T A, B, C, D,... P V z, y, x, w, v, u,... P T α, β, γ, δ,... P (V Y T) Θα γράφουμε α Ñ β γ δ ως ένα κανόνα στο P αντί για τους τρεις κανόνες α Ñ β, α Ñ γ, α Ñ δ στο P. Για μια γραμματική G λέμε ότι το γ 1 βγ 2 προκύπτει (is derived from) από το γ 1 αγ 2 και γράφουμε γ 1 αγ 2 ñ γ 1 βγ 2, αν ο α Ñ β είναι κανόνας παραγωγής (δηλαδή (α, β) P P). G Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Μάρτιος 2018 215 / 320

Τυπικές Γραμματικές Τυπικές Γραμματικές III Συμβολίζουμε με ñ το ανακλαστικό, μεταβατικό κλείσιμο του ñ, δηλαδή α ñ β σημαίνει ότι υπάρχει μια ακολουθία παραγωγών (derivation): α ñ α 1 ñ α 2 ñ α k ñ β. Μια συμβολοκολουθία α P (V Y T) ονομάζεται προτασιακή μορφή (sentential form) αν ισxύει S ñ α. Ως γλώσσα που παράγεται από τη γραμματική G ορίζουμε την L(G) := tw P T S ñ wu. Δύο γραμματικές G 1, G 2 θα ονομάζονται ισοδύναμες αν L(G 1 ) = L(G 2 ). Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Μάρτιος 2018 216 / 320

Τυπικές Γραμματικές Ιεραρχία Chomsky I Ο Noam Chomsky (1956) ταξινόμησε τις τυπικές γραμματικές σε μια ιεραρχία σύμφωνα με τη μορφή των κανόνων παραγωγής τους. Noam Chomsky Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ. & Πολυπλ. Μάρτιος 2018 217 / 320