Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

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

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "ΝΤΕΝΤΕΡΜΙΝΙΣΤΙΚΑ ΠΕΠΕΡΑΣΜΕΝΑ ΑΥΤΟΜΑΤΑ Ι"— Μεταγράφημα παρουσίασης:

1 ΝΤΕΝΤΕΡΜΙΝΙΣΤΙΚΑ ΠΕΠΕΡΑΣΜΕΝΑ ΑΥΤΟΜΑΤΑ Ι
Πεπερασμένο αυτόματο ή μηχανή πεπερασμένων καταστάσεων έχει «κεντρική μονάδα επεξεργασίας» προκαθορισμένης και πεπερασμένης χωρητικότητας δέχεται ως είσοδο μία συμβολοσειρά μέσω μίας μαγνητικής ταινίας και δεν παράγει καθόλου έξοδο, παρά μόνο μια ένδειξη για το κατά πόσο η είσοδος θεωρείται αποδεκτή

2 ΝΤΕΝΤΕΡΜΙΝΙΣΤΙΚΑ ΠΕΠΕΡΑΣΜΕΝΑ ΑΥΤΟΜΑΤΑ ΙΙ
Ένα ντεντερμινιστικό πεπερασμένο αυτόματο είναι μία πεντάδα M=(Κ, Σ, δ, s, F) όπου Κ είναι ένα πεπερασμένο σύνολο καταστάσεων Σ είναι ένα αλφάβητο s K είναι η αρχική κατάσταση, F  K είναι το σύνολο των τελικών καταστάσεων και δ είναι η συνάρτηση μετάβασης, δηλ. μία συνάρτηση από το Κ  Σ στο Κ Η γλώσσα που δέχεται η μηχανή είναι το σύνολο των αποδεκτών συμβολοσειρών.

3 ΝΤΕΝΤΕΡΜΙΝΙΣΤΙΚΑ ΠΕΠΕΡΑΣΜΕΝΑ ΑΥΤΟΜΑΤΑ ΙΙI
Ο υπολογισμός που εκτελεί μία μηχανή πεπερασμένου αυτόματου είναι μία ακολουθία από συνολικές καταστάσεις. Κάθε συνολική κατάσταση αντιπροσωπεύει τη θέση της μηχανής (πεπερασμένος έλεγχος & κεφαλή ανάγνωσης) σε συγκεκριμένη χρονική στιγμή. Μία συνολική κατάσταση ενός ντεντερμινιστικού πεπερασμένου αυτόματου M=(Κ, Σ, δ, s, F) είναι οποιοδήποτε στοιχείο του Κ  Σ*. Αν (q, w), (q΄,w΄) είναι δύο συνολικές καταστάσεις του Μ, τότε η (q, w) παράγει την (q΄, w΄) σε ένα βήμα και αυτό γράφεται (q, w) M (q΄, w΄) αν και μόνο αν w = α w΄ για κάποιο σύμβολο α Σ και δ(q, α) = q΄

4 ΝΤΕΝΤΕΡΜΙΝΙΣΤΙΚΑ ΠΕΠΕΡΑΣΜΕΝΑ ΑΥΤΟΜΑΤΑ ΙV
Συμβολίζουμε με M* την ανακλαστική, μεταβατική κλειστότητα της M. Η σχέση (q, w) M* (q΄, w΄) διαβάζεται ως: η (q, w) παράγει την (q΄, w΄) μετά από κάποιο αριθμό, ίσως και μηδέν βημάτων. Μία συμβολοσειρά w  Σ* λέμε ότι γίνεται δεκτή από το M αν και μόνο αν υπάρχει κατάσταση q  F, έτσι ώστε (s,w) M* (q, e). Η γλώσσα που γίνεται δεκτή από το M, συμβολίζεται με L(M) και αποτελείται από το σύνολο των συμβολοσειρών που δέχεται το M.

5 ΜΗ ΝΤΕΝΤΕΡΜΙΝΙΣΤΙΚΑ ΠΕΠΕΡΑΣΜΕΝΑ ΑΥΤΟΜΑΤΑ Ι
Ένα μη ντεντερμινιστικό πεπερασμένο αυτόματο είναι μία πεντάδα M=(Κ, Σ, Δ, s, F) όπου Κ είναι ένα πεπερασμένο σύνολο καταστάσεων Σ είναι ένα αλφάβητο s K είναι η αρχική κατάσταση, F  K είναι το σύνολο των τελικών καταστάσεων και Δ είναι η σχέση μετάβασης (όχι συνάρτηση μετάβασης), δηλ. είναι ένα υποσύνολο του Κ  (Σ{e})  Κ Ο μη ντεντερμινισμός επιτρέπει τη μετάβαση σε νέα κατάσταση με τρόπο που προσδιορίζεται μόνο μερικώς από την παρούσα κατάσταση και το σύμβολο εισόδου. Οι μη νετντερμινιστικές μηχανές δεν περιγράφουν ρεαλιστικά μοντέλα υπολογιστών.

6 ΜΗ ΝΤΕΝΤΕΡΜΙΝΙΣΤΙΚΑ ΠΕΠΕΡΑΣΜΕΝΑ ΑΥΤΟΜΑΤΑ ΙΙ
Κάθε τριάδα (q, u, p)  Δ ονομάζεται μετάβαση του Μ. Αν το Μ είναι στην κατάσταση q και το επόμενο σύμβολο εισόδου είναι το a, τότε το M μπορεί να ακολουθήσει οποιαδήποτε μετάβαση της μορφής (q, a, p) ή (q, e, p). Αν επιλεγεί μία μετάβαση (q, e, p), τότε αυτή γίνεται χωρίς να έχει διαβάσει κανένα σύμβολο εισόδου. Μία συνολική κατάσταση του Μ είναι επίσης ένα στοιχείο του ΚΣ*.

7 ΜΗ ΝΤΕΝΤΕΡΜΙΝΙΣΤΙΚΑ ΠΕΠΕΡΑΣΜΕΝΑ ΑΥΤΟΜΑΤΑ ΙΙΙ
Αν (q, w), (q΄,w΄) είναι δύο συνολικές καταστάσεις του Μ, τότε η (q, w) παράγει την (q΄, w΄) σε ένα βήμα και αυτό γράφεται (q, w) M (q΄, w΄) αν και μόνο αν υπάρχει u  Σ{e} τέτοια ώστε w = uw΄ και (q, u, q΄)Δ Συμβολίζουμε με M* την ανακλαστική, μεταβατική κλειστότητα της M. Μία συμβολοσειρά w  Σ* λέμε ότι γίνεται δεκτή από το M αν και μόνο αν υπάρχει κατάσταση q  F, έτσι ώστε (s,w) M* (q, e). Η γλώσσα που γίνεται δεκτή από το M, συμβολίζεται με L(M) και αποτελείται από το σύνολο των συμβολοσειρών που δέχεται το M.

8 ΜΗ ΝΤΕΝΤΕΡΜΙΝΙΣΤΙΚΑ ΠΕΠΕΡΑΣΜΕΝΑ ΑΥΤΟΜΑΤΑ ΙV
Η κλάση των γλωσσών που γίνονται δεκτές από ντεντερμινιστικά αυτόματα είναι ένα υποσύνολο των γλωσσών που γίνονται δεκτές από μη ντεντερμινιστικά αυτόματα. Αυτό συμβαίνει γιατί προφανώς ένα μη ντεντερμινιστικό αυτόματο μπορεί να είναι τελικά ντεντερμινιστικό αν και μόνο αν δεν υπάρχουν μεταβάσεις (q, e, p) στη σχέση μετάβασης Δ για κάθε qK και αΣ υπάρχει ακριβώς ένα pK τέτοιο ώστε (q, α, p) Δ Παρόλο ότι φαίνεται πως τα μη ντεντερμινιστικά αυτόματα αναγνωρίζουν μία ευρύτερη κλάση γλωσσών, στην πραγματικότητα η κλάση των γλωσσών που αναγνωρίζουν είναι η ίδια κλάση με αυτή των ντεντερμινιστικών αυτομάτων.

9 ΜΗ ΝΤΕΝΤΕΡΜΙΝΙΣΤΙΚΑ ΠΕΠΕΡΑΣΜΕΝΑ ΑΥΤΟΜΑΤΑ V
Δύο πεπερασμένα αυτόματα M1 και M2 (ντεντερμινιστικά ή μη ντεντερμινιστικά) είναι ισοδύναμα αν και μόνο αν L(M1)=L(M2). Θεώρημα: Για κάθε μη ντετερμινιστικό πεπερασμένο αυτόματο υπάρχει ένα ισοδύναμο ντετερμινιστικό πεπερασμένο αυτόματο. Η ΑΠΟΔΕΙΞΗ ΠΡΕΠΕΙ ΝΑ ΠΡΟΣΕΧΘΕΙ ΓΙΑΤΙ ΕΠΙΚΔΕΙΚΝΥΕΙ ΤΗΝ ΚΑΤΑΣΚΕΥΗ ΝΤΕΝΤΕΡΜΙΝΙΣΤΙΚΟΥ ΑΥΤΟΜΑΤΟΥ ΑΠΟ ΜΗ ΝΤΕΝΤΕΡΜΙΝΙΣΤΙΚΟ.

10 ΜΗ ΝΤΕΝΤΕΡΜΙΝΙΣΤΙΚΑ ΠΕΠΕΡΑΣΜΕΝΑ ΑΥΤΟΜΑΤΑ VΙ
ΒΑΣΙΚΗ ΙΔΕΑ: Θα θεωρήσουμε ότι ένα μη ντεντερμινιστικό πεπερασμένο αυτόματο βρίσκεται, κάθε στιγμή, όχι σε μία μόνο κατάσταση, αλλά σε ένα σύνολο από καταστάσεις και πιο συγκεκριμένα, σε όλες τις καταστάσεις που μπορεί να οδηγηθεί με την είσοδο που έχει διαβαστεί μέχρι εκείνη τη στιγμή. Αν π.χ. το Μ έχει πέντε καταστάσεις {q0, . . ., q4} και μετά την ανάγνωση μιας συγκεκριμένης συμβολοσειράς εισόδου, θα μπορούσε να βρίσκεται στην κατάσταση q0, q2 ή q3 η κατάστασή του θα μπορούσε να είναι το σύνολο {q0, q2, q3}. Αν το επόμενο σύμβολο της εισόδου θα μπορούσε να οδηγήσει το Μ από την q0 σε μία από τις q1, q2, από την q2 στην q0 και από την q3 στην q2, τότε η επόμενη κατάσταση του Μ θα μπορούσε να θεωρηθεί ότι είναι το σύνολο {q0, q1, q2}.

11 ΜΗ ΝΤΕΝΤΕΡΜΙΝΙΣΤΙΚΑ ΠΕΠΕΡΑΣΜΕΝΑ ΑΥΤΟΜΑΤΑ VΙI
Το σύνολο των καταστάσεων του ντεντερμινιστικού αυτόματου M΄=(Κ΄, Σ, δ΄, s΄, F΄) θα είναι το 2Κ όπου Κ το σύνολο καταστάσεων του μη ντεντερμινιστικού πεπερασμένου αυτόματου. Το σύνολο των τελικών καταστάσεων του Μ΄ θα αποτελείται από όλα εκείνα τα στοιχεία του K΄ που περιέχουν μία τουλάχιστο τελική κατάσταση του μη ντεντερμινιστικού αυτόματου Μ. ΟΡΙΣΜΟΣ ΣΥΝΑΡΤΗΣΗΣ ΜΕΤΑΒΑΣΗΣ: μία κίνηση του M΄, όταν αυτό διαβάζει ένα σύμβολο εισόδου αΣ, μιμείται την κίνηση του Μ με σύμβολο εισόδου α, πιθανώς ακολουθούμενη από κάποιο αριθμό κενών μεταβάσεων του Μ. ορίζουμε με E(q) το σύνολο όλων των καταστάσεων του Μ που είναι προσιτές από την κατάσταση q χωρίς να διαβαστεί κανένα σύμβολο στην είσοδο

12 ΜΗ ΝΤΕΝΤΕΡΜΙΝΙΣΤΙΚΑ ΠΕΠΕΡΑΣΜΕΝΑ ΑΥΤΟΜΑΤΑ VΙIΙ
E(q) = {pK: (q,e) M* (p, e) } δηλαδή το E(q) είναι η κλειστότητα του συνόλου {q} ως προς τη σχέση {(p, r): υπάρχει μετάβαση (p, e, r)Δ} ΑΛΓΟΡΙΘΜΟΣ ΥΠΟΛΟΓΙΣΜΟΥ ΤΩΝ E(q): Αρχικά θέτουμε E(q):={q} while υπάρχει μετάβαση (p, e, r)Δ με pE(q) και rE(q) do E(q):=E(q){r}

13 ΜΗ ΝΤΕΝΤΕΡΜΙΝΙΣΤΙΚΑ ΠΕΠΕΡΑΣΜΕΝΑ ΑΥΤΟΜΑΤΑ ΙX
Η ΚΑΤΑΣΚΕΥΗ ΤΟΥ ΝΤΕΝΤΕΡΜΙΝΙΣΤΙΚΟΥ Μ΄: Κ΄=2K (δε χρειάζεται να υπολογιστούν όλα τα υποσύνολα) s΄=E(s) F΄={QK: QF} για κάθε QK και κάθε σύμβολο αΣ, ορίζουμε δ΄(Q, α) = {Ε(p): pK και (q, α, p)Δ για κάποιο qQ} ΤΟ ΠΑΡΑΠΑΝΩ ΑΥΤΟΜΑΤΟ είναι ντεντερμινιστικό (δ΄ μονοσήμαντη και καλά ορισμένη) είναι ισοδύναμο με το Μ (απόδειξη συνεχίζεται . . .)

14 ΜΗ ΝΤΕΝΤΕΡΜΙΝΙΣΤΙΚΑ ΠΕΠΕΡΑΣΜΕΝΑ ΑΥΤΟΜΑΤΑ X
ΘΑ ΑΠΟΔΕΙΧΘΕΙ ΟΤΙ ΙΣΧΥΕΙ: για οποιαδήποτε συμβολοσειρά wΣ* και οποιεσδήποτε καταστάσεις q, p  K (q, w) M* (p,e) αν και μόνο αν (Ε(q),w) M΄* (P, e) για κάποιο σύνολο P που περιέχει την κατάσταση p Έστω μία συμβολοσειρά wL(M), δηλαδή (s, w) M* (f,e), για κάποια fF αυτό όμως θα ισχύει σύμφωνα με την παραπάνω αν και μόνο αν (Ε(s),w) M΄* (Q, e) για κάποιο Q που περιέχει την f, δηλαδή ανν (s΄,w) M΄* (Q, e) για κάποιο QF΄, δηλ. ανν wL(M΄)

15 ΜΗ ΝΤΕΝΤΕΡΜΙΝΙΣΤΙΚΑ ΠΕΠΕΡΑΣΜΕΝΑ ΑΥΤΟΜΑΤΑ XΙ
Ο ισχυρισμός (q, w) M* (p,e) αν και μόνο αν (Ε(q),w) M΄* (P, e) αποδεικνύεται με επαγωγή ως προς |w| Βασικό βήμα: Για |w|=0, δηλαδή για w=e πρέπει να δείξουμε ότι (q, e) M* (p,e) αν και μόνο αν (Ε(q),e) M΄* (P, e), για κάποιο σύνολο P που περιέχει την p από την πρώτη φαίνεται ότι pE(q) από τη δεύτερη και εφόσον το M΄ είναι ντεντερμινιστικό ισχύει P=E(q) και το P περιέχει την p, άρα pE(q) – ΑΠΟΔΕΙΧΘΗΚΕ Έστω ότι ο ισχυρισμός ισχύει για όλες τις συμβολοσειρές w μήκους k ή μικρότερο, για κάποιο k0. Θα πρέπει να αποδειχθεί ο ισχυρισμός για κάθε συμβολοσειρά w μήκους k+1. Έστω w=vα, όπου αΣ και vΣ*

16 ΜΗ ΝΤΕΝΤΕΡΜΙΝΙΣΤΙΚΑ ΠΕΠΕΡΑΣΜΕΝΑ ΑΥΤΟΜΑΤΑ X
ΙΣΧΥΡΙΣΜΟΣ «ΜΟΝΟ ΑΝ» έστω (q, w) M* (p,e) υπάρχουν r1 και r2 τέτοιες ώστε (q, w) M* (r1,α) M(r2,e) M* (p,e) (σχέση 1) εφόσον (q, vα) M* (r1,α), τότε (q, v) M* (r1,e) και εφόσον |v|=k, λόγω της επαγωγικής υπόθεσης ισχύει ότι (Ε(q),v) M΄* (R1, e) για κάποιο σύνολο R1 που περιέχει την r1 από τη σχέση (1) υπάρχει τριάδα (r1, α, r2)Δ και συνεπώς από κατασκευής του M΄ θα είναι Ε(r2)δ΄(R1, α) πάλι από τη σχέση (1), αφού (r2,e) M* (p,e), ισχύει ότι pE(r2) και έτσι p δ΄(R1, α) συνεπώς (R1,α) M΄ (P, e) για κάποιο P που περιέχει την p και επομένως (Ε(q),vα) M΄* (R1, α) M΄ (P, e) - ΑΠΟΔΕΙΧΘΗΚΕ

17 ΠΕΠΕΡΑΣΜΕΝΑ ΑΥΤΟΜΑΤΑ & ΚΑΝΟΝΙΚΕΣ ΕΚΦΡΑΣΕΙΣ Ι
Θεώρημα: Η κλάση των γλωσσών που γίνονται δεκτές από πεπερασμένα αυτόματα είναι κλειστή ως προς τις: (α) Ένωση (β) Παράθεση (γ) Kleene star (δ) Συμπλήρωση (ε) Τομή Απόδειξη: (α) Έστω Μ1=(Κ1, Σ, Δ1, s1, F1) και Μ2=(Κ2, Σ, Δ2, s2, F2) δύο μη ντεντερμινιστικά πεπερασμένα αυτόματα. Θα κατασκευάσουμε ένα μη ντεντερμινιστικό πεπερασμένο αυτόματα M τέτοιο ώστε L(Μ)=L(M1) L(M2)

18 ΠΕΠΕΡΑΣΜΕΝΑ ΑΥΤΟΜΑΤΑ & ΚΑΝΟΝΙΚΕΣ ΕΚΦΡΑΣΕΙΣ ΙI
K = K1  K2  {s} F = F1  F2 Δ = Δ1  Δ2  {(s, e, s1), (s, e, s2)} (s, w) M*(q,e) για qF αν και μόνο αν (s1, w) M1*(q,e) με qF1 ή (s2, w) M2*(q,e) με qF2

19 ΠΕΠΕΡΑΣΜΕΝΑ ΑΥΤΟΜΑΤΑ & ΚΑΝΟΝΙΚΕΣ ΕΚΦΡΑΣΕΙΣ ΙIΙ
(β) Έστω Μ1=(Κ1, Σ, Δ1, s1, F1) και Μ2=(Κ2, Σ, Δ2, s2, F2) δύο μη ντεντερμινιστικά πεπερασμένα αυτόματα. Θα κατασκευάσουμε ένα μη ντεντερμινιστικό πεπερασμένο αυτόματο M τέτοιο ώστε L(Μ)=L(M1) L(M2)

20 ΠΕΠΕΡΑΣΜΕΝΑ ΑΥΤΟΜΑΤΑ & ΚΑΝΟΝΙΚΕΣ ΕΚΦΡΑΣΕΙΣ ΙV
(γ) Έστω Μ1=(Κ1, Σ, Δ1, s1, F1) ένα μη ντεντερμινιστικό πεπερασμένο αυτόματο. Θα κατασκευάσουμε ένα μη ντεντερμινιστικό πεπερασμένο αυτόματο M τέτοιο ώστε L(Μ)=L(M1)* (δ) Συμπλήρωση: Έστω Μ=(Κ, Σ, δ, s, F) ένα ντεντερμινιστικό πεπερασμένο αυτόματο. Τότε η συμπληρωματική γλώσσα γίνεται δεκτή από το (Κ, Σ, δ, s, Κ-F)

21 ΠΕΠΕΡΑΣΜΕΝΑ ΑΥΤΟΜΑΤΑ & ΚΑΝΟΝΙΚΕΣ ΕΚΦΡΑΣΕΙΣ V
(ε) Τομή: προκύπτει από το γεγονός ότι ισχύει η Έστω M=(K, Σ, Δ, s, F) ένα πεπερασμένο αυτόματο (όχι απαραίτητα νετντερμινιστικό). Θα κατασκευάσουμε μια κανονική έκφραση R τέτοια ώστε L(R)=L(M) Αναπαριστούμε την L(M) ως ένωση πολλών αλλά πεπερασμένων σε αριθμό απλών γλωσσών. Έστω K={q1, . . .,qn} και s=q1 Για i, j=1,. . ., n και k=0,. . ., n, ορίζουμε R(i, j, k) το σύνολο όλων των συμβολοσειρών του Σ* που οδηγούν το Μ από την κατάσταση qi στην κατάσταση qj δίχως να περάσει από καμία ενδιάμεση κατάσταση με δείκτη k+1 ή μεγαλύτερο του k. Θεωρούμε ότι όταν k=n ισχύει ότι R(i, j, n)={wΣ*: (qi, w) M*(qj,e) } και άρα L(M)={R(1, j, n): qjF}

22 ΠΕΠΕΡΑΣΜΕΝΑ ΑΥΤΟΜΑΤΑ & ΚΑΝΟΝΙΚΕΣ ΕΚΦΡΑΣΕΙΣ VI
Επειδή όλα τα σύνολα R(i, j, k) είναι κανονικά συνάγεται ότι και η L(M) είναι επίσης κανονική. Απόδειξη ότι κάθε R(i, j, k) είναι κανονικό: με επαγωγή στο k Για k=0, το R(i, j, 0) είναι είτε {αΣ{e}: (qi, α, qj)Δ} αν ij ή είναι {e}{αΣ{e}: (qi, α, qj)Δ} αν i=j. Καθένα από τα σύνολα αυτά είναι πεπερασμένο και συνεπώς κανονικό. Υποθέτουμε ότι τα R(i, j, k-1) για κάθε i, j έχουν οριστεί ως κανονικές γλώσσες για όλα τα i, j. Τότε κάθε σύνολο R(i, j, k) μπορεί να οριστεί συνδυάζοντας τις κανονικές γλώσσες που ορίσαμε μέσω των κανονικών πράξεων της ένωσης, της Kleene star και της παράθεσης: R(i, j, k) = R(i, j, k-1) R(i, k, k-1) R(k, k, k-1)* R(k, j, k-1) Συνεπώς, η γλώσσα R(i, j, k) είναι κανονική για όλα τα i, j, k και έτσι ολοκληρώνεται η επαγωγή.

23 ΠΕΠΕΡΑΣΜΕΝΑ ΑΥΤΟΜΑΤΑ & ΚΑΝΟΝΙΚΕΣ ΕΚΦΡΑΣΕΙΣ VIΙ
Παράδειγμα Να κατασκευαστεί κανονική έκφραση για τη γλώσσα που δέχεται τη γλώσσα {w{α, β}*: η w έχει 3k+1 χαρακτήρες b για κάποιο kN} Κατασκευάζουμε ένα μη ντεντερμινιστικό αυτόματο Μ που έχει δύο απλές ιδιότητες: (α) Έχει μία μοναδική τελική κατάσταση, F={f} (β) Αν (q, u, p)  Δ, τότε qf και ps Επίσης, αριθμούμε τις καταστάσεις του αυτόματου q1, q2, . . ., qn όπως απαιτείται από την κατασκευή, έτσι ώστε s=qn-1 και f=qn. Η ζητούμενη κανονική έκφραση θα δίνεται από την R(n-1, n, n)

24 ΠΕΠΕΡΑΣΜΕΝΑ ΑΥΤΟΜΑΤΑ & ΚΑΝΟΝΙΚΕΣ ΕΚΦΡΑΣΕΙΣ VIΙI
R(i, j, 0) R(i, j, 1) R(i, j, 2) R(4, 5, 3)

25 KANONIKOTHTA Ή ΜΗ ΤΩΝ ΓΛΩΣΣΩΝ Ι
Η {αnbn: n0} δεν είναι κανονική αφού δεν μπορούμε να φτιάξουμε μηχανή πεπερασμένων καταστάσεων που να «θυμάται» πόσα είναι τα α, όταν φτάσει στο σύνορο ανάμεσα στα α και b. Στις κανονικές γλώσσες με άπειρο αριθμό συμβολοσειρών οι συμβολοσειρές έχουν κάποια συγκεκριμένη απλή επαναληπτική δομή που προκύπτει από την Kleene star στην αντίστοιχη κανονική έκφραση ή από κύκλο στο διάγραμμα καταστάσεων μεταβάσεων ενός πεπερασμένου αυτόματου. Η {αn: n 1 είναι πρώτος} δεν είναι κανονική, καθώς δεν υπάρχει απλή περιοδικότητα στο σύνολο των πρώτων αριθμών.

26 KANONIKOTHTA Ή ΜΗ ΤΩΝ ΓΛΩΣΣΩΝ ΙΙ
Θεώρημα της «άντλησης» (pumping lemma) Έστω L μία κανονική γλώσσα. Υπάρχει ακέραιος n1 τέτοιος ώστε κάθε συμβολοσειρά wL με |w|  n να μπορεί να γραφτεί διαφορετικά ως w = xyz έτσι ώστε y  e, |xy|  n και xyiz  L για κάθε i 0. ΠΟΛΥ ΣΗΜΑΝΤΙΚΠΟ ΘΕΩΡΗΜΑ Ν ΘΕΛΟΥΜΕ ΝΑ ΑΠΟΔΕΙΞΟΥΜΕ ΟΤΙ ΜΙΑ ΓΛΩΣΣΑ ΔΕΝ ΕΙΝΑΙ ΚΑΝΟΝΙΚΗ

27 KANONIKOTHTA Ή ΜΗ ΤΩΝ ΓΛΩΣΣΩΝ ΙΙI
Η {αibi: i  0} δεν είναι κανονική γιατί αν ήταν κανονική θα μπορούσε να εφαρμοστεί το θεώρημα της άντλησης για κάποιο ακέραιο έστω 2n. Ας θεωρήσουμε τη συμβολοσειρά w = αnbn  L. Σύμφωνα με το θεώρημα μπορεί να γραφτεί διαφορετικά ως w = xyz έτσι ώστε |xy|  n και y  e, δηλαδή y = αj για κάποιο j > 0. Τότε όμως xz = αn-jbn  L, άρα η γλώσσα δεν είναι κανονική. Η γλώσσα L = {αn: n  1 είναι πρώτος} δεν είναι κανονική. Ας υποθέσουμε ότι είναι, και έστω x, y και z έτσι ώστε x=αp, y=αq και z=αr, όπου p,r  0 και q>0. Σύμφωνα με το θεώρημα, xynzL για κάθε n  0, δηλ. p+nq+r είναι πρώτος για κάθε n  0. Αυτό είναι αδύνατο γιατί έστω n=p+2q+r+2. Τότε p+nq+r= (q+1)(p+2q+r), που είναι γινόμενο φυσικών καθένας από τους οποίους είναι μεγαλύτερος του 1.

28 ΕΛΑΧΙΣΤΟΠΟΙΗΣΗ ΚΑΤΑΣΤΑΣΕΩΝ Ι
Έστω L  Σ* μία γλώσσα και έστω x, y  Σ*. Λέμε ότι τα x και y είναι ισοδύναμα ως προς την L, συμβολίζουμε x Ly, αν για όλα τα zΣ*, αληθεύει ότι: xz  L αν και μόνο αν yz L. Παρατηρούμε ότι η Lείναι σχέση ισοδυναμίας (ανακλαστική, συμμετρική και μεταβατική). Έστω M=(K, Σ, δ, s, F) ένα ντεντερμινιστικό πεπερασμένο αυτόματο. Λέμε ότι δύο συμβολοσειρές είναι ισοδύναμες ως προς το Μ, συμβολίζουμε x ~M y, αν, διαισθητικά, και οι δύο οδηγούν το M από την s στην ίδια κατάσταση. Αυστηρά, x ~M y, αν υπάρχει κατάσταση q τέτοια ώστε (s,x)M*(q,e) και (s,y)M*(q,e).

29 ΕΛΑΧΙΣΤΟΠΟΙΗΣΗ ΚΑΤΑΣΤΑΣΕΩΝ ΙI
Θεώρημα: Για κάθε ντεντερμινιστικό πεπερασμένο αυτόματο M=(K, Σ, δ, s, F) και για όλες τις συμβολοσειρές x, y  Σ*, αν x ~M y, τότε x L(Μ)y. Θεώρημα (Myhill-Nerode): Έστω L Σ* μία κανονική γλώσσα. Τότε υπάρχει ένα ντεντερμινιστικό πεπερασμένο αυτόματο, με ακριβώς τόσες καταστάσεις όσες κλάσεις ισοδυναμίας στην L, που δέχεται την L. Η ΕΥΡΕΣΗ ΤΩΝ ΚΛΑΣΕΩΝ ΙΣΟΔΥΝΑΜΙΑΣ ΘΑ ΓΙΝΕΤΑΙ ΣΥΜΦΩΝΑ ΜΕ ΤΗΝ ΤΕΧΝΙΚΗ ΠΟΥ ΠΕΡΙΓΡΑΦΕΤΑΙ ΣΤΟ pdf ΑΡΧΕΙΟ ΤΗΣ ΙΣΤΟΣΕΛΙΔΑΣ ΤΟΥ ΜΑΘΗΜΑΤΟΣ ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ (DF Automata minimization).

30 ΓΡΑΜΜΑΤΙΚΕΣ ΧΩΡΙΣ ΣΥΜΦΡΑΖΟΜΕΝΑ I
α(α*b*)b κανονική έκφραση – παραγωγή γλώσσας παραγωγή γλώσσας από γραμματική χωρίς συμφραζόμενα S  αΜb M  A M  B A  e κανόνες της γραμματικής A  αΑ B  e B  bB

31 ΓΡΑΜΜΑΤΙΚΕΣ ΧΩΡΙΣ ΣΥΜΦΡΑΖΟΜΕΝΑ IΙ
Άρχισε με τη συμβολοσειρά που αποτελείται από το μοναδικό σύμβολο S. Βρες ένα σύμβολο στην παρούσα συμβολοσειρά που να εμφανίζεται στα αριστερά του  ενός εκ των παραπάνω κανόνων. Αντικατέστησε μια εμφάνιση αυτού του συμβόλου με τη συμβολοσειρά που υπάρχει στα δεξιά του  του ίδιου κανόνα. Επανάλαβε τη διαδικασία αυτή ώσπου να μην υπάρχει άλλο τέτοιο σύμβολο.

32 ΓΡΑΜΜΑΤΙΚΕΣ ΧΩΡΙΣ ΣΥΜΦΡΑΖΟΜΕΝΑ IΙΙ
Ορισμός: Μία γραμματική χωρίς συμφραζόμενα G είναι μία τετράδα (V, Σ, R, S), όπου V είναι ένα αλφάβητο Σ (το σύνολο των τερματικών) είναι υποσύνολο του V R (το σύνολο των κανόνων) είναι ένα πεπερασμένο υποσύνολο του (V-Σ)V* και S (το αρχικό σύνολο) είναι ένα στοιχείο του V- Σ Τα στοιχεία του V-Σ ονομάζονται μη τερματικά. Για κάθε AV-Σ και uV*, γράφουμε AG u όποτε (Α, u)R. Για όλες τις συμβολοσειρές u, v V* γράφουμε uG v αν και μόνο αν υπάρχουν συμβολοσειρές x, y V* και AV-Σ έτσι ώστε u=xAy, v=xv΄y και AG v΄. Η σχέση G* είναι η ανακλαστική μεταβατική κλειστότητα της G. Τέλος, L(G), δηλ. η γλώσσα που παράγεται από τη G είναι η {wΣ*: S G* w}. Μία γλώσσα L ονομάζεται γλώσσα χωρίς συμφραζόμενα, αν ισούται με L(G) για κάποια γραμματική G χωρίς συμφραζόμενα.


Κατέβασμα ppt "ΝΤΕΝΤΕΡΜΙΝΙΣΤΙΚΑ ΠΕΠΕΡΑΣΜΕΝΑ ΑΥΤΟΜΑΤΑ Ι"

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google