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

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

Κεφάλαιο 2ο Πεπερασμένα αυτόματα.

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


Παρουσίαση με θέμα: "Κεφάλαιο 2ο Πεπερασμένα αυτόματα."— Μεταγράφημα παρουσίασης:

1 Κεφάλαιο 2ο Πεπερασμένα αυτόματα

2 Λεξική ανάλυση και αυτόματα
Πεπερασμένα αυτόματα/ ΠΑ (ή μηχανές πεπερασμένων αυτομάτων) αποτελούνται από Ένα σύνολο καταστάσεων Ένα σύνολο μεταβάσεων Η γλώσσα που ορίζει μια κανονική έκφραση (ΚΕ) Αναγνωρίζεται πάντα από ένα ΠΑ Μια συμβολοσειρά ελέγχεται από ένα ΠΑ για το αν ταιριάζει σε μια ΚΑ.

3 Λεξική ανάλυση και αυτόματα
Γιατί μετατρέπουμε τις κανονικές εκφράσεις σε αυτόματα; Επειδή οι μηχανές πεπερασμένων καταστάσεων μας παρέχουν ένα θεωρητικό πλαίσιο και πλήθος αλγορίθμων για την ανάπτυξη αλγορίθμων αναγνώρισης της γλώσσας των εκφράσεων.

4 όνομα = {γράμμα}({γράμμα} | {ψηφίο})*
Πεπερασμένα αυτόματα κανονική έκφραση για την αναγνώριση ονομάτων: όνομα = {γράμμα}({γράμμα} | {ψηφίο})* αντίστοιχο προσδιοριστικό πεπερασμένο:

5 Πεπερασμένα αυτόματα Κύκλοι Τόξα «Αρχή» «Τέλος»
«αρχή», «όνομα», «τέλος» Καταστάσεις από τις οποίες περνά η διαδικασία αναγνώρισης Τόξα «γράμμα», «διαχωριστής», «ψηφίο» Μεταβάσεις ανάμεσα στις καταστάσεις μετά την αναγνώριση των χαρακτήρων που αναγράφονται στις επιγραφές τους. «Αρχή» Αρχική κατάσταση Δεν έχει επιγραφή «Τέλος» Κατάληξη Επιτυχή αναγνώριση Ένα ΠΑ μπορεί να έχει περισσότερες από μια καταλήξεις

6 Προσδιοριστικό πεπερασμένο αυτόματο
Το προηγούμενο διάγραμμα αποτελεί ένα προσδιοριστικό ΠΑ. Πίνακας μετάβασης (άλλος τρόπος αναπαράστασης αυτομάτου) ένα προσδιοριστικό ΠΑ Μ αποτελείται από: Ένα αλφάβητο Σ Ένα σύνολο καταστάσεων S Μια συνάρτηση μετάβασης Τ: S x Σ → S Μια αρχική κατάσταση so Î S Ένα σύνολο καταστάσεων κατάληξης A S

7 Προσδιοριστικό πεπερασμένο αυτόματο
ΠΡΟΣΔΙΟΡΙΣΤΙΚΟ ΠΕΠΕΡΑΣΜΕΝΟ ΑΥΤΌΜΑΤΟ

8 2.3 Λεξική Ανάλυση και Αυτόματα ΙΙ
ΣΥΜΒΑΣΕΙΣ: Δεν απεικονίζουμε τις καταστάσεις λάθους. Χρησιμοποιούμε διπλό κύκλο για τις καταστάσεις κατάληξης. πλήρες προσδιοριστικό αυτόματο για ονόματα:

9 Προσδιοριστικό πεπερασμένο αυτόματο
Στο νέο σχήμα Ορίσαμε μια νέα κατάσταση «λάθος» Νέα μετάβαση άλλου χαρακτήρα άλλο= [^{γράμμα}]* Ασάφεια Στο τρόπο χειρισμού χαρακτήρα μετάβασης Ενσωμάτωση στη συμβολοσειρά Διαχωριστής? Ενέργεια που ακολουθεί την «κατάληξη» Αναγνωριστικό, Τιμές ιδιοτήτων Επαναφορά στην «αρχή» Ενέργεια που ακολουθεί το «λάθος» Επανατοποθέτηση στη θέση πριν Επιστροφή αναγνωριστικού λάθους

10 Παραδείγματα φυσικός = [0-9]+

11 ακέραιος = (+ | -)?{φυσικός}
Παραδείγματα ακέραιος = (+ | -)?{φυσικός}

12 αριθμός = {ακέραιος}(“.” {φυσικός}) ? (E {ακέραιος})?
Παραδείγματα αριθμός = {ακέραιος}(“.” {φυσικός}) ? (E {ακέραιος})?

13 Προσομοίωση ΠΑ Πίνακας μετάβασης 2 διαστάσεις
Καθορίζει τη συνάρτηση μετάβασης του αυτομάτου Για κάθε κατάσταση Για κάθε χαρακτήρα Δηλώνει τις καταστάσεις κατάληξης

14 Προσομοίωση ΠΑ γράμμα ψηφίο διαχωριστής καταλήξεις «αρχή» «όνομα» ΟΧΙ
γράμμα ψηφίο διαχωριστής καταλήξεις «αρχή» «όνομα» ΟΧΙ «τέλος» ΝΑΙ

15 Προσομοίωση ΠΑ Αλγόριθμος προσομοίωσης αυτόματων
ΠΡΟΣΟΜΟΙΩΣΗ ΠΡΟΣΔΙΟΡΙΣΤΙΚΩΝ ΠΕΠΕΡΑΣΜΕΝΩΝ ΑΥΤΌΜΑΤΩΝ Αλγόριθμος προσομοίωσης αυτόματων Είσοδος: Μία συμβολοσειρά εισόδου, ένας πίνακας μετάβασης Τ και ένας πίνακας KA λογικών τιμών, που δηλώνουν τις καταλήξεις του αυτόματου Έξοδος: Το αν η συμβολοσειρά εισόδου ανήκει στη γλώσσα του αυτόματου ή όχι Περιγραφή: κατάσταση:= «αρχή»; ch:= ο επόμενος χαρακτήρας εισόδου; Όσο ((όχι ΚΑ[κατάσταση]) ΚΑΙ (όχι Τ[κατάσταση, ch] κενό)) επανέλαβε νέα_κατάσταση:= Τ[κατάσταση, ch]; κατάσταση:= νέα_κατάσταση; Τέλος επανάληψης αν (ΚΑ[κατάσταση]) τότε συμβολοσειρά αποδεκτή; διαφορετικά συμβολοσειρά μη αποδεκτή;

16 Μη προσδιοριστικά ΠΑ Η επόμενη κατάσταση δεν ορίζεται με μοναδικό τρόπο βάση της τρέχουσας κατάστασης και του επόμενου χαρακτήρα εισόδου. Το αλφάβητο Σ επεκτείνεται έτσι ώστε να συμπεριλαμβάνει τη μετάβαση -ε η οποία είναι απαραίτητη για: Την άμεση αναπαράσταση της κενής συμβολοσειράς Αναπαράσταση επιλογής μεταξύ εναλλακτικών περιπτώσεων

17 Μη προσδιοριστικά ΠΑ Επέκταση της συνάρτησης μετάβασης T
για κάθε χαρακτήρα είναι δυνατή η πιθανότητα μετάβασης σε περισσότερες από μία καταστάσεις Λέμε τότε ότι το πεδίο τιμών της συνάρτησης Τ είναι το δυναμοσύνολο του συνόλου καταστάσεων S και αυτό συμβολίζεται με (S).

18 Μη προσδιοριστικά ΠΑ

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

20 Μη προσδιοριστικά ΠΑ

21 Ανάπτυξη Thompson Γίνεται συντακτική ανάλυση της κανονικής έκφρασης.
Κατασκευάζονται τα αυτόματα που αντιστοιχούν σε κάθε μία από τις στοιχειώδεις κανονικές εκφράσεις που προκύπτουν.

22 Ανάπτυξη Thompson Κενή συμβολοσειρά ε

23 Ανάπτυξη Thompson Αναγνώριση χαρακτήρα πρότυπο α

24 Ανάπτυξη Thompson Παράθεση 2 σχηματισθέντων αυτομάτων M(r) και Μ(s)

25 Ανάπτυξη Thompson Διάζευξη 2 σχηματισθέντων αυτομάτων M(r) και Μ(s)

26 Ανάπτυξη Thompson Επανάληψη r* σχηματισθέντων αυτομάτων M(r)

27 2.3 Λεξική Ανάλυση και Αυτόματα ΧΙII
ΜΕΤΑΤΡΟΠΗ ΚΑΝΟΝΙΚΩΝ ΕΚΦΡΑΣΕΩΝ ΣΕ ΜΗ ΠΡΟΣΔΙΟΡΙΣΤΙΚΑ ΑΥΤΟΜΑΤΑ (ΑΝΑΠΤΥΞΗ THOMPSON) Γίνεται συντακτική ανάλυση της κανονικής έκφρασης. Κατασκευάζονται τα αυτόματα που αντιστοιχούν σε κάθε μία από τις στοιχειώδεις κανονικές εκφράσεις που προκύπτουν.

28 Λεξική ανάλυση και αυτόματα
ΜΕΤΑΤΡΟΠΗ ΚΑΝΟΝΙΚΩΝ ΕΚΦΡΑΣΕΩΝ ΣΕ ΜΗ ΠΡΟΣΔΙΟΡΙΣΤΙΚΑ ΑΥΤΟΜΑΤΑ (ΠΑΡΑΔΕΙΓΜΑ) όνομα = {γράμμα}({γράμμα} | {ψηφίο})*

29 Λεξική ανάλυση και αυτόματα
ΜΗ ΠΡΟΣΔΙΟΡΙΣΤΙΚΑ ΑΥΤΟΜΑΤΑ όνομα = {γράμμα}({γράμμα} | {ψηφίο})* το δένδρο που προκύπτει από τη συντακτική ανάλυση της έκφρασης είναι το

30 Λεξική ανάλυση και αυτόματα
Γράμμα

31 Λεξική ανάλυση και αυτόματα
Ψηφίο

32 Λεξική ανάλυση και αυτόματα
({γράμμα}|{ψηφίο})

33 Λεξική ανάλυση και αυτόματα
({γράμμα}|{ψηφίο})*

34 Λεξική ανάλυση και αυτόματα
ΜΕΤΑΤΡΟΠΗ ΚΑΝΟΝΙΚΩΝ ΕΚΦΡΑΣΕΩΝ ΣΕ ΜΗ ΠΡΟΣΔΙΟΡΙΣΤΙΚΑ ΑΥΤΟΜΑΤΑ (ΣΥΝΕΧΕΙΑ ΠΑΡΑΔΕΙΓΜΑΤΟΣ) το μη προσδιοριστικό αυτόματο, που προκύπτει με ανάπτυξη Thompson είναι το

35 Λεξική ανάλυση και αυτόματα
ΜΕΤΑΤΡΟΠΗ ΜΗ ΠΡΟΣΔΙΟΡΙΣΤΙΚΟΥ ΑΥΤΟΜΑΤΟΥ ΣΕ ΠΡΟΣΔΙΟΡΙΣΤΙΚΟ (ΑΝΑΠΤΥΞΗ ΥΠΟΣΥΝΟΛΩΝ) Οι καταστάσεις του προσδιοριστικού αυτόματου, που προκύπτει ως αποτέλεσμα, είναι υποσύνολα των καταστάσεων του μη προσδιοριστικού αυτόματου. Δύο καταστάσεις «p» και «q» του αρχικού μη προσδιοριστικού αυτόματου ανήκουν στο ίδιο υποσύνολο αν για κάποιο χαρακτήρα-πρότυπο οι μεταβάσεις του μη προσδιοριστικού αυτόματου οδηγούν είτε στην «p», είτε στην «q». Αν υπάρχει μία μετάβαση από την κατάσταση «p» στην «q» μέσω του χαρακτήρα – πρότυπο a και μία μετάβαση-ε από την «q» στην «u», τότε οι καταστάσεις «q» και «u» ανήκουν στο ίδιο υποσύνολο καταστάσεων.

36 Λεξική ανάλυση και αυτόματα
ΜΕΤΑΤΡΟΠΗ ΜΗ ΠΡΟΣΔΙΟΡΙΣΤΙΚΟΥ ΑΥΤΟΜΑΤΟΥ ΣΕ ΠΡΟΣΔΙΟΡΙΣΤΙΚΟ (ΑΝΑΠΤΥΞΗ ΥΠΟΣΥΝΟΛΩΝ) Συμβολίζουμε με reach(F, ci) το σύνολο όλων των καταστάσεων, που είναι προσβάσιμες από τις καταστάσεις του F μέσω μιας μετάβασης με επιγραφή ci. Συμβολίζουμε με εsucc(F), το σύνολο των καταστάσεων, που είναι προσβάσιμες από το F, μετά από πεπερασμένο αριθμό μεταβάσεων-ε. Θεωρούμε ως νέα κατάσταση του προσδιοριστικού αυτόματου, το σύνολο εsucc({«αρχή»}). Για την κατάσταση αυτή και για κάθε νέο υποσύνολο FS, το σύνολο των προσβάσιμων καταστάσεων, μέσω μιας μετάβασης με επιγραφή a, δίνεται ως εsucc(reach(F,a)). Ο αλγόριθμος συνεχίζει για όλους τους χαρακτήρες aΣ. Μία νέα κατάσταση είναι κατάληξη, αν το υποσύνολο καταστάσεων στο οποίο αντιστοιχεί, περιέχει μία κατάληξη του μη προσδ. αυτόματου.

37 2.3 Λεξική Ανάλυση και Αυτόματα ΧIX
ΜΕΤΑΤΡΟΠΗ ΜΗ ΠΡΟΣΔΙΟΡΙΣΤΙΚΟΥ ΑΥΤΟΜΑΤΟΥ ΣΕ ΠΡΟΣΔΙΟΡΙΣΤΙΚΟ (ΑΝΑΠΤΥΞΗ ΥΠΟΣΥΝΟΛΩΝ) – παράδειγμα

38 2.3 Λεξική Ανάλυση και Αυτόματα ΧX
ΜΕΤΑΤΡΟΠΗ ΜΗ ΠΡΟΣΔΙΟΡΙΣΤΙΚΟΥ ΑΥΤΟΜΑΤΟΥ ΣΕ ΠΡΟΣΔΙΟΡΙΣΤΙΚΟ (ΑΝΑΠΤΥΞΗ ΥΠΟΣΥΝΟΛΩΝ) – αλγόριθμος Είσοδος: Ένα μη προσδιοριστικό πεπερασμένο αυτόματο Μ Έξοδος: Ένα προσδιοριστικό πεπερασμένο αυτόματο D με γλώσσα L(M) Περιγραφή: Ο αλγόριθμος κατασκευάζει τον πίνακα μεταβάσεων Τ, του D. Οι καταστάσεις και οι μεταβάσεις, που προστίθενται στο αυτόματο D, υπολογίζονται ως εξής: Η μοναδική κατάσταση του D είναι η εsucc({«αρχή»}), που δεν έχει ακόμη επιλεγεί. Όσο (υπάρχει κάποια μη επιλεγμένη κατάσταση ) επανέλαβε επέλεξε την p; Για (κάθε χαρακτήρα ) επανέλαβε q:= εsucc(reach(p,a)); αν (qD) τότε προσέθεσε την q στο D; T(p,a):=q; Τέλος επανάληψης Μία κατάσταση του D γίνεται κατάληξη, αν το αντίστοιχο σύνολο των καταστάσεων περιέχει τουλάχιστο μία κατάληξη του Μ.

39 Λεξική ανάλυση και αυτόματα
ΕΛΑΧΙΣΤΟΠΟΙΗΣΗ ΠΡΟΣΔΙΟΡΙΣΤΙΚΩΝ ΠΕΠΕΡΑΣΜΕΝΩΝ ΑΥΤΟΜΑΤΩΝ Τα προσδιοριστικά αυτόματα, που προκύπτουν ως αποτέλεσμα μιας διαδικασίας ανάπτυξης υποσυνόλων, χαρακτηρίζονται συχνά από μεγάλους πίνακες μεταβάσεων. Αυτό οφείλεται στην αύξηση του αριθμού των καταλήξεων. Έχει αποδειχθεί ότι για δοθέν προσδιοριστικό αυτόματο, υπάρχει ένα μοναδικό ισοδύναμο αυτόματο με τον ελάχιστο αριθμό καταστάσεων. Ο αλγόριθμος των Hopcroft & Ullman παράγει το ελάχιστο αυτόματο, διαιρώντας τις καταστάσεις του αρχικού σε σύνολα, έτσι ώστε όλες οι καταστάσεις του ίδιου συνόλου να αναγνωρίζουν τις ίδιες συμβολοσειρές.

40 Λεξική ανάλυση και αυτόματα
ΕΛΑΧΙΣΤΟΠΟΙΗΣΗ ΠΡΟΣΔΙΟΡΙΣΤΙΚΩΝ ΠΕΠΕΡΑΣΜΕΝΩΝ ΑΥΤΟΜΑΤΩΝ Λέμε ότι σε ένα αυτόματο, μία συμβολοσειρά w διακρίνει την κατάσταση «s» από την κατάσταση «t», αν ξεκινώντας από την «s» και διοχετεύοντας την w, οδηγούμαστε σε κατάλήξη, ενώ δε συμβαίνει το ίδιο με την κατάσταση «t». Η συμβολοσειρά ε διακρίνει τις καταλήξεις από τις υπόλοιπες καταστάσεις του αυτόματου. Αρχικά διακρίνουμε το χώρο των καταστάσεων σε καταλήξεις και μη καταλήξεις. Σταδιακά συγκροτούνται σύνολα καταστάσεων, έτσι ώστε για κάθε ζεύγος καταστάσεων από διαφορετικά σύνολα, αυτές να έχουν διακριθεί από κάθε συμβολοσειρά εισόδου, ενώ για κάθε ζεύγος καταστάσεων του ίδιου συνόλου να μην έχει συμβεί ακόμη κάτι τέτοιο.

41 Λεξική ανάλυση και αυτόματα
(+ | -)? {ψηφίο} {ψηφίο}* Πρέπει να συμπεριλάβουμε και την κατάσταση «λάθος»

42 Λεξική ανάλυση και αυτόματα
Στη συνέχεια παρατηρούμε ότι και «λάθος» «λάθος». Εφόσον όμως για τις καταστάσεις 3 και «λάθος» έχει ήδη καταγραφεί στον πίνακα ότι διακρίνονται μεταξύ τους, συνάγεται το ίδιο και για τις 0 και «λάθος». Η διαδικασία συμπλήρωσης του πίνακα συνεχίζεται μέχρι το σημείο εκείνο στο οποίο δεν είναι δυνατή η εύρεση νέου ζεύγους καταστάσεων, που διακρίνονται από κάποιο χαρακτήρα εισόδου.

43 Λεξική ανάλυση και αυτόματα
Διαπιστώνεται ότι τελικά μόνο οι καταστάσεις 1 και 2 ανήκουν στην ίδια κλάση ισοδυναμίας. Μετονομάζουμε την κατάσταση 2 σε 1 και τελικά παίρνουμε το ελάχιστο αυτόματο του σχήματος

44 Λεξική ανάλυση και αυτόματα
ΕΛΑΧΙΣΤΟΠΟΙΗΣΗ ΠΡΟΣΔΙΟΡΙΣΤΙΚΩΝ ΠΕΠΕΡΑΣΜΕΝΩΝ ΑΥΤΟΜΑΤΩΝ (παράδειγμα) Οι μεταβάσεις όλων των καταλήξεων οδηγούν σε καταλήξεις, τόσο για την περίπτωση, που ο χαρακτήρας εισόδου είναι γράμμα, όσο και στην περίπτωση, που αυτός είναι ψηφίο. Άρα οι τρεις καταλήξεις δε διακρίνονται από κανένα χαρακτήρα.


Κατέβασμα ppt "Κεφάλαιο 2ο Πεπερασμένα αυτόματα."

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


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