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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

HEAD INPUT. q0 q1 CONTROL UNIT

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

CSC 314: Switching Theory

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Transcript:

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

Τι θα κάνουμε σήμερα Κλειστότητα Κανονικών Πράξεων (1.2.3) Εισαγωγή στις Κανονικές Εκφράσεις Τυπικός ορισμός της κανονικής έκφρασης (1.3.1) Ισοδυναμία με πεπερασμένα αυτόματα (1.3.2) 1

Πράξεις σε Κανονικές Γλώσσες Έστω δυο γλώσσες Α και Β: 28-Sep-11 Ένωση: 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} 2

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

Κλειστότητα ως προς την ένωση Έστω ότι έχουμε τα αυτόματα: N 1 =(Q 1, Σ,δ 1,q 1,F 1 ),L(N 1 )=A N 2 =(Q 2, Σ,δ 2,q 2,F 2 ),L(N 2 )=B Ο τυπικός ορισμός του N =(Q, Σ,δ,q 0,F),L(N) =A B: Καταστάσεις του Ν: Q = {q 0 } Q 1 Q 2 Εναρκτήρια κατάσταση: Καταστάσεις αποδοχής: Μεταβάσεις: δ(q, a) = q 0 F = F 1 F 2 δ 1 (q, a) if q Q 1 δ 2 (q, a) if q Q 2 {q 1,q 2 } if q = q 0 and a = e if q = q 0 and a = e 4

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

Κλειστότητα ως προς την συναρμογή Έστω ότι έχουμε τα αυτόματα: N 1 =(Q 1, Σ,δ 1,q 1,F 1 ),L(N 1 )=A N 2 =(Q 2, Σ,δ 2,q 2,F 2 ),L(N 2 )=B Ο τυπικός ορισμός του N =(Q, Σ,δ,q 0,F),L(N) =AB : Καταστάσεις του Ν: Q = Q 1 Q 2 Εναρκτήρια κατάσταση: Καταστάσεις αποδοχής: q 0 = q 1 F = F 2 Μεταβάσεις: δ(q, a) = δ 1 (q, a) if q Q 1 and a/ F 1 δ 1 (q, a) if q F 1 and a = e δ 1 (q, a) {q 2 } if q F 1 and a = e δ 2 (q, a) if q Q 2 6

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

Κλειστότητα ως προς την συναρμογή Έστω ότι έχουμε τα αυτόματα: N 1 =(Q 1, Σ,δ 1,q 1,F 1 ),L(N 1 )=A Ο τυπικός ορισμός του N =(Q, Σ,δ,q 0,F),L(N) =A : Καταστάσεις του Ν: Q = Q 1 {q 0 } Εναρκτήρια κατάσταση: q 0 Καταστάσεις αποδοχής: F = {q 0 } F 1 δ 1 (q, a) if q Q 1 and a/ F 1 Μεταβάσεις: δ 1 (q, a) if q F 1 and a = e δ(q, a) = δ 1 (q, a) {q 1 } if q F 1 and a = e {q 1 } if q = q 0 and a = e if q = q 0 and a = e 8

Κανονικές εκφράσεις Οι κανονικές πράξεις μας επιτρέπουν να συντάσσουμε εκφράσεις που αναπαριστούν γλώσσες. Οι εκφράσεις αυτές λέγονται κανονικές. π.χ. (0 [ 1)0* Ποια γλώσσα παράγεται; Τα σύμβολα 0 και 1 είναι συντομογραφίες των {0} και {1} Άρα (0 [ 1) = ({0} [ {1})={0,1}=L1 Το 0* σημαίνει {0}*=L2 Η έκφραση (0 [ 1)0* είναι συντομογραφία της συναρμογής L1L2 Έτσι L=L1L2= όλες οι λέξεις που ξεκινούν με 0 ή 1 ακολουθούμενες απο οποιοδήποτε πλήθος από 0. 9

Κανονικές εκφράσεις Παρατηρείστε (0 [ 1)* = Σ* Τι γλώσσα παράγεται από τισ εκφράσεις: Σ*1 (0Σ*) [ (Σ*1) Σειρά εκτέλεσης (εκτός και αν καθορίζεται από παρενθέσεις) Σώρευση Συναρμογή Ένωση 10

Τυπικός Ορισμός Κανονικής Έκφρασης Ορισμός R είναι μια κανονική έκφραση αν είναι της μορφής 1. α, όπου α είναι ένα σύμβολο του αλφαβήτου Σ 2. e, 3. (R 1 R 2 ) (R 1 R 2 ) 4.,όπου R 1 και R 2 δύο κανονικές εκφράσεις 5.,όπου R 1 και R 2 δύο κανονικές εκφράσεις 6.,όπου R 1 μια κανονική έκφραση R 1 11

Παραδείγματα 0*10* {w η w περιέχει ακριβώς ένα 1} (ΣΣ)* {w η w είναι λέξη άρτιου μήκους} (0[1)*010Σ* {w η w περιέχει την υπολέξη 010} 1*0* [ 01* {w η w αρχίζει με 0 ή περισσότερα 1 και ακολουθείται με 0 η περισσότερα 0, ή ξεκινάει με 0 και ακολουθείται από 0 ή περισσότερα 1} 12

Ισοδυναμία με πεπερασμένα αυτόματα Θεώρημα: Μια γλώσσα είναι κανονική εάν και μόνο εάν υπάρχει κανονική έκφραση που να την περιγράφει. Δυο κατευθύνσεις για απόδειξη: Εάν μια γλώσσα περιγράφεται από κάποια κανονική έκφραση, τότε είναι κανονική. Υπάρχει κάποιο NFA που την αναγνωρίζει. Εάν μια γλώσσα είναι κανονική τότε υπάρχει κανονική έκφραση που την περιγράφει. Κάθε DFA μπορεί να μετατραπεί σε κανονική έκφραση 13

Κανονική Έκφραση => Κανονική Γλώσσα Στόχος: Να κατασκευάσουμε μηχανισμό για μετατροπή κάθε κανονικής έκφρασης σε NFA. Έστω Α μια γλώσσα που περιγράφεται από μια έκφραση R Εάν μπορούμε να μετατρέψουμε την R σε ένα NFA που να αναγνωρίζει την Α, τότε η Α είναι κανονική. 14

Περιπτώσεις Έκφρασης R R = a, για κάποιο α στο αλφάβητο Σ L(R)={a} a R = e L(R)={e} R = L(R)= 15

Περιπτώσεις Έκφρασης R Ένωση εκφράσεων: R = R 1 R 2 Χρησιμοποιούμε την κατασκευή της κλειστότητας ως προς την ένωση Συναρμογή εκφράσεων: R = R 1 R 2 Χρησιμοποιούμε την κατασκευή της κλειστότητας ως προς την συναρμογή Σώρευση έκφρασης: R = R Χρησιμοποιούμε την κατασκευή της κλειστότητας ως προς την σώρευση 16

Παραδείγματα Μετατροπή κανονικών εκφράσεων σε NFA (ab [ a)* (a [ b)*aba 17

Κανονική Γλώσσα => Κανονική Έκφραση Στόχος: Να κατασκευάσουμε μηχανισμό για μετατροπή κάθε DFA σε κανονική έκφραση. Αφού η γλώσσα είναι κανονική τότε υπάρχει ένα DFA που την αναγνωρίζει Πρέπει να περιγράψουμε μια διαδικασία που μετατρέπει DFAs σε ισοδύναμες κανονικές εκφράσεις Διαδικασία: Μετατροπή από DFA σε γενικευμένο μη ντετερμινιστικό πεπερασμένο αυτόματο (GNFA), και από GNFA σε κανονική έκφραση. 18

Γενικευμένο NFA (GNFA) Βέλη μετάβασης επιγράφονται με κανονικές εκφράσεις και όχι μόνο με σύμβολα του αλφαβήτου και e. ba* aa q έναρξης a* b* (aa)* (a [ b)* aa [ ba q αποδοχής a ab 19

Ειδική μορφή GNFA Η εναρκτήρια κατάσταση έχει βέλη προς όλες τις καταστάσεις, αλλά δεν έχει εισερχόμενο βέλος. Υπάρχει μόνο μια κατάσταση αποδοχής, διαφορετική από την εναρκτήρια, και έχει μόνο εισερχόμενα βέλη από όλες τις υπόλοιπες καταστάσεις. Κάθε κατάσταση εκτός από την εναρκτήρια και την τελική, έχει εξερχόμενα βέλη προς όλες τις άλλες καταστάσεις και τον εαυτό της. 20

DFA σε GNFA Βήμα 1: Προσθέτουμε μια νέα εναρκτήρια κατάσταση με βέλος e προς την παλιά Προσθέτουμε μια νέα κατάσταση αποδοχής με εισερχόμενα βέλη από όλες τις παλιές καταστάσεις αποδοχής Βήμα 2: Αν ένα βέλος έχει περισσότερα από ένα σύμβολα τότε αντικαθιστούμε με ένα βέλος με επιγραφή την ένωση των συμβόλων Βήμα 3: Αν από μια κατάσταση σε κάποια άλλη δεν υπάρχει κανένα βέλος τότε προσθέτουμε ένα με επιγραφή 21

GNFA σε Κανονική Έκφραση (Ιδέα) Εάν το GNFA έχει 2 καταστάσεις (αρχική και αποδοχης) τότε η κανονική έκφραση είναι η επιγραφή του μοναδικού βέλους από την αρχική στην κατάσταση αποδοχής Αν κ>2 καταστάσεις τότε αφαιρούμε μια κατάσταση και αλλάζουμε την επιγραφή των βελών για να πάρουμε ένα ισοδύναμο GNFA κ- 1 καταστάσεων. Επαναλαμβάνουμε μέχρι κ=2. 22

Αφαίρεση κατάστασης R4 q1 q2 R1 q3 R3 R2 q1 (R1)(R2)*(R3) [ R4 q2 23

Τυπικός Ορισμός GNFA Ορισμός Γενικευμένο Μη Ντετερμινιστικό Πεπερασμένο Αυτόματο είναι μια πεντάδα (Q, Σ,δ,q start,q end ) 1. Q = πεπερασμένο σύνολο καταστάσεων 2. Σ = αλφάβητο 3. Συνάρτηση μετάβασης 4. δ :(Q\{q end }) (Q \{q start }) R Το βέλος από μια κατάσταση q 2 Q σε μια κατάσταση q 2 Q έχει επιγραφή μια κανονική έκφραση R 5. q start 2 Q = αρχική κατάσταση 6. q end 2 Q = τελική κατάσταση 24

Αλγόριθμος μετατροπής GNFA ΜΕΤΑΤΡΟΠΗ(G) 1. Έστω k το πλήθος των καταστάσεων 2. Εάν k=2 Επέστρεψε R: η έκφραση στο βέλος από την αρχική στην τελική κατάσταση 3. Εάν k>2 Επέλεξε οποιαδήποτε κατάσταση q Q \{q start,q end } Κατασκευάζουμε το G =(Q, Σ,δ,q start,q end ) 1 Q = Q \{q } 2 Για κάθε q i Q \{q end } και q j Q \{q start } δ (q i,q j )=(R 1 )(R 2 ) (R 3 ) R 4 R 1 = δ (q i,q ),R 2 = δ (q,q ),R 3 = δ (q,q j ),R 4 = δ (q i,q j ) 25

Παραδείγματα a a b q1 q1 q2 b q3 b b a q3 a a,b 26

Ερωτήσεις; 27