Μηχανές Επεξεργασίας Πληροφοριών Μηχανές Πεπερασµένων Καταστάσεων Είναι µηχανές που δέχονται ένα σύνολο από σήµατα εισόδου και παράγουν ένα αντίστοιχο σύνολο σηµάτων εξόδου Σήµατα Εισόδου Μηχανή Επεξεργασίας Πληροφοριών Σήµατα Εξόδου 2 Παραδείγµατα Μηχανών Επεξεργασίας Πληροφοριών Λάµπα Γραφείου Σήµα εισόδου: Θέση ιακόπτη Σήµα Εξόδου: Παραγωγή φωτός Παραδείγµατα Μηχανών Επεξεργασίας Πληροφοριών Αθροιστής δύο δεκαδικών αριθµών Σήµατα Εισόδου: Ακολουθίες 2 αριθµών Σήµα Εξόδου: Άθροισµα των 2 αριθµών Π.χ Ανοικτός Κλειστός Ανοικτός Κλειστός Ανοικτός... Φως Σκοτάδι Φως Σκοτάδι Φως... Π.χ. 3 5 3 3 9 2... 4 4 6 4 5 5... Είσοδος 7 9 6 4 7 4 7... Έξοδος 3 4
Παραδείγµατα Μηχανών Επεξεργασίας Πληροφοριών Αυτόµατος Πωλητής Σήµα Εισόδου: Κέρµα, 2 ή 5 λεπτών Σήµα Εξόδου: Πακέτο µε τσίχλες αξίας 6 λεπτών ή Π.χ Είσοδος 2 2 2 5 5 5... Έξοδος... Όπου : : τσίχλες Θυµάται τις προηγούµενες καταστάσεις (µέχρι κάποιο σηµείο) Κατάσταση Μηχανής Κατηγορίες Μηχανές µε µνήµη Μηχανές χωρίς µνήµη Κατάσταση Μηχανής Γεγονότα του παρελθόντος περιγράφονται από τη κατάσταση της µηχανής Η κατάσταση αποτελεί µια περίληψη του παρελθόντος της µηχανής Μια µηχανή µπορεί να έχει πεπερασµένο ή άπειρο αριθµό καταστάσεων Θα ασχοληθούµε µόνο µε τις δεύτερες (πεπερασµένων καταστάσεων) 5 6 Πίνακας συµπεριφοράς Αυτόµατης Μηχανής Συνολικό Ποσό 2 3 4 5 6 2 3 4 5 6 Είσοδος 2 2 3 4 5 6 6 2 5 5 6 6 6 6 6 6 Έξοδος τσίχλες Μηχανές Πεπερασµένων Καταστάσεων Μία µηχανή πεπερασµένων καταστάσεων καθορίζεται από:. Πεπερασµένο σύνολο καταστάσεων S={s,s,s 2,..,s n } 2. Ένα ειδικό στοιχείο του S, s o, την αρχική κατάσταση 3. Ένα πεπερασµένο σύνολο από γράµµατα εισόδου I={i,i 2,i 3, } 4. Ένα πεπερασµένο σύνολο από γράµµατα εξόδου Ο={ο,ο 2,ο 3,...} 5. Μία συνάρτηση µετάβασης f:s x I S 6. Μία συνάρτηση εξόδου g:s O (ή S x I Ο) Κατάσταση a Είσοδος b s o s s 2 s 5 s s 2 s 3 s 2 s 3 s 4 s 3 s 4 s 5 s 4 s 5 s 5 S 6 s s 2 S 5 c Έξοδος 7 8
Κατευθυνόµενο Γράφηµα Παραδείγµατα Αν I={a,b}, O={,} και S={σ ο,σ }. Καθορίστε τις συναρτήσεις f:s x I S (µετάβασης) και g:s x I Ο (εξόδου) από τις τιµές του ακόλουθου πίνακα: S I σ ο σ a σ ο σ f b σ σ a g b f(σ ο,a)=σ ο f(σ ο,b)=σ f(σ,a)=σ f(σ,b)=σ g(σ ο,a)= g(σ ο,b)= g(σ,a)= g(σ,b)= 9 Αυτόµατα πεπερασµένων καταστάσεων Ειδική κατηγορία των µηχανών πεπερασµένων καταστάσεων, όπου: Το σύνολο των γραµµάτων εξόδου είναι Ο={,} και Η παρούσα κατάσταση καθορίζει επακριβώς την προηγούµενη τιµή εξόδου Παράδειγµα Φτιάξτε το κατευθυνόµενο διάγραµµα της µηχανής πεπερασµένων καταστάσεων του διπλανού πίνακα και δείξτε ότι πρόκειται για ένα αυτόµατο πεπερασµένων καταστάσεων f g S I a b a b σ ο σ σ σ σ 2 σ σ 2 σ 2 σ Προηγούµενη Έξοδος : Κατάσταση Αποδοχής 2
Παράδειγµα 2 Ακολουθίες γραµµάτων και ΑΠΚ Σχεδιάστε το κατευθυνόµενο διάγραµµα του αυτόµατου πεπερασµένων καταστάσεων σαν διάγραµµα µηχανής πεπερασµένων καταστάσεων Αν µια ακολουθία γραµµάτων δοθεί σαν είσοδος σε ένα αυτόµατο πεπερασµένων καταστάσεων, θα φτάσουµε σε µια κατάσταση αποδοχής ή όχι Αν φτάσουµε σε κατάσταση αποδοχής θα λέµε ότι η ακολουθία έγινε αποδεκτή από το ΑΠΚ 3 4 Παράδειγµα Παράδειγµα Είναι η ακολουθία χαρακτήρων abaa αποδεκτή από το ΑΠΚ του παραδείγµατος ; Σχεδιάστε ένα ΑΠΚ το οποίο δέχεται µόνο εκείνες τις ακολουθίες γραµµάτων του {a,b} οι οποίες δεν περιέχουν καθόλου a Θα χρησιµοποιήσουµε 2 καταστάσεις Α: Αν βρεθεί κάποιο a NA: Αν δε βρεθεί a Η ακολουθία abbabba ; 5 6
Παράδειγµα Ισοδύναµες Μηχανές Σχεδιάστε ένα ΑΠΚ που να δέχεται εκείνες τις ακολουθίες γραµµάτων που περιέχουν περιττό αριθµό από a Χρησιµοποιούµε 2 καταστάσεις: Ε: Αν βρεθεί άρτιος αριθµός από a O: Αν βρεθεί περιττός αριθµός από a Αν δύο µηχανές ξεκινούν από την ίδια αρχική κατάσταση, δέχονται την ίδια ακολουθία εισόδου και παράγουν την ίδια ακολουθία εξόδου θα λέµε ότι είναι ισοδύναµες Πρέπει να ισχύει για κάθε ακολουθία εισόδου Μπορεί να έχουν διαφορετική εσωτερική δοµή 7 8 Παράδειγµα Κατάσταση A F G H Είσοδος F G H 2 F H Έξοδος Κατάσταση A Είσοδος 2 Έξοδος Για την ακολουθία εισόδου 222222 οι παραπάνω µηχανές παράγουν την ίδια ακολουθία εξόδου Για αποδείξουµε όµως ότι οι µηχανές είναι ισοδύναµες θα έπρεπε να κάνουµε τον παραπάνω έλεγχο για κάθε ακολουθία εισόδου, κάτι που είναι πρακτικά αδύνατο Ισοδύναµες καταστάσεις ύο καταστάσεις s i και s j θα λέγονται ισοδύναµες αν για οποιαδήποτε ακολουθία εισόδου η µηχανή παράγει την ίδια ακολουθία εξόδου ανεξάρτητα από ποια κατάσταση ξεκινάει Σε 2 ισοδύναµες καταστάσεις µπορούµε αν αφαιρέσουµε τη µία κατευθύνοντας στην άλλη όλες τις µεταβάσεις που κατέληγαν στη πρώτη Στο προηγούµενο παράδειγµα F ηµιουργούµε µια λιγότερα λεπτοµερή περίληψη G της ιστορίας της µηχανής H Είναι ζεύγη ισοδυνάµων καταστάσεων 9 2
Ισοδύναµες καταστάσεις ύο καταστάσεις είναι -ισοδύναµες αν έχουν την ίδια έξοδο ύο καταστάσεις είναι -ισοδύναµες αν έχουν την ίδια έξοδο και αν για κάθε γράµµα εισόδου οι ακόλουθες καταστάσεις τους είναι - ισοδύναµες.. ύο καταστάσεις είναι k-ισοδύναµες αν έχουν την ίδια έξοδο και αν για κάθε γράµµα εισόδου οι ακόλουθες καταστάσεις τους είναι (k-)- ισοδύναµες ύο καταστάσεις είναι ισοδύναµες όταν είναι k-ισοδύναµες για κάθε k ιαµέριση συνόλου καταστάσεων Αν οι s i και s j είναι k-ισοδύναµες και s i και s h είναι k- ισοδύναµες, τότε s j και s h είναι k-ισοδύναµες Ορίζεται µια σχέση ισοδυναµίας επί του συνόλου των καταστάσεων διαµέριση του συνόλου Π.χ. π ο = { AFGH} π = { AFGH} π 2 = { AFGH} Θεώρηµα: ύο καταστάσεις βρίσκονται στο ίδιο σύµπλοκο στην π k αν και µόνο αν είναι στο ίδιο σύµπλοκο στην π k- και για οποιοδήποτε γράµµα εισόδου, οι ακόλουθες καταστάσεις τους είναι στο ίδιο σύµπλοκο στην π k- Παρατήρηση: Αν η π k είναι ίση µε την π k-, τότε η π m είναι ίση µε την π k- για όλα τα m k. Στο σηµείοαυτόηδιαδικασίακατασκευήςσταµατάει. 2 22 Γλώσσες & Γραµµατική Παράδειγµα Αν Α είναι ένα πεπερασµένο σύνολο, τότε µία τυπική γλώσσα L πάνω στο A είναι ένα υποσύνολο του A * (του συνόλου όλων των ακολουθιών του A) π.χ. Αν Α={a,b} τότε το σύνολο όλων των ακολουθιών του Α που περιέχουν περιττό αριθµό a είναι µια γλώσσα στο A. Γραµµατική δοµής φράσεως Ένα σύνολο τερµατικών συµβόλων Τ Ένα σύνολο µη-τερµατικών συµβόλων Ν Ένα σύνολο παραγωγών P Ένα αρχικό σύµβολο σєν G=(T,N,P,σ) Μη Τερµατικά σύµβολα Ν={σ,S} Τερµατικά Σύµβολα Τ={a,b} Παραγωγές P={σ bσ, σ as, S bs, S b} Γραµµατική G=(N,T,P,σ) σ bσ bbσ bbbσ b m as b m abs b m ab n 23 24
Μηχανές Πεπερασµένων Καταστάσεων & Γλώσσες Τα γράµµατα εισόδου γίνονται τα τερµατικά σύµβολα Οι καταστάσεις γίνονται τα µη τερµατικά σύµβολα Τα τµήµατα των κατευθυνόµενων γραφηµάτων γίνονται οι παραγωγές Αν υπάρχει ένα τµήµα µε επιγραφή x από την S στην S γράφουµε S xs Παράδειγµα Τότε: Μη τερµατικά σύµβολα Ν={Ε,Ο} ΑΠΚ που αποδέχεται µόνο τις ακολουθίες µε περιττό αριθµό a Επιπλέον για κάθε κατάσταση αποδοχής γράφουµε την παραγωγή S λ Τερµατικά Σύµβολα Τ={a,b} Παραγωγές P={ b, ao, O a, O bo, O λ} Αρχικό σύµβολο H γραµµατική G=(N,T,P,) δηµιουργεί τη γλώσσα L(G) που είναι το ίδιο σύνολο ακολουθιών µε εκείνο που γίνονται αποδεκτές από το ΑΠΚ 25 26 Παράδειγµα (αντίστροφο) Έστω η γραµµατική Τ={a,b}, N={σ, } µε παραγωγές σ bσ, σ a, b, b Και αρχικό σύµβολο σ Μη αιτιοκρατικό αυτόµατο πεπερασµένων καταστάσεων Η παραγωγή b είναι ισοδύναµη µε τιςδύοπαραγωγές bf και F λ Η παραγωγή F λ δηλώνειότιηκατάστασηf είναι κατάσταση αποδοχής Τα µη τερµατικά σύµβολα γίνονται οι καταστάσεις της µηχανής πεπερασµένων καταστάσεων µε αρχική κατάσταση τη σ. Για κάθε παραγωγή φτιάχνουµε µια γραµµή στο κατευθυνόµενο γράφηµα Υπάρχουν 2 τµήµατα µε την εγγραφή b από την κατάσταση. Η ακόλουθη ΜΠΚ χαρακτηρίζεται σαν µη αιτιοκρατικό αυτόµατο πεπερασµένων καταστάσεων 27 28
Μη αιτιοκρατικά αυτόµατα Μη αιτιοκρατικά αυτόµατα και ακολουθίες χαρακτήρων Αυτόµατο Α={Ι,S,f,σ,A} Ι={α,b} S={σ,,F} A={F} (Σύνολο καταστάσεων αποδοχής) Συνάρτηση Μετάβασης f: I S σ F α {} b {σ} {,F} Μία ακολουθία γραµµάτων θα λέµε ότι είναι αποδεκτή από ένα µη αιτιοκρατικό αυτόµατο αν υπάρχει µια τουλάχιστον διαδροµή στο κατευθυνόµενο γράφηµα που να οδηγεί σε κατάσταση αποδοχής Η ακολουθία χαρακτήρων bbαbb είναι αποδεκτή από το αυτόµατο γιατί η διαδροµή (σ,σ,σ,,,f) οδηγεί σε κατάσταση αποδοχής Προσέξτε ότι υπάρχει ακόµη µία διαδροµή, η (σ,σ,σ,,,) που αναπαριστά την ίδια ακολουθία γραµµάτων, χωρίς να οδηγεί σε κατάσταση αποδοχής 29 3 Αιτιοκρατικό αυτόµατο ισοδύναµο του µηαιτιοκρατικού S={σ,,F} Καταστάσεις του αιτιοκρατικού είναι όλα τα υποσύνολα του S:, {σ}, {}, {F}, {σ,}, {σ,f}, {,F}, {σ,,f} Αρχική Κατάσταση: {σ} Καταστάσεις αποδοχής : {F}, {σ,f}, {,F}, {σ,,f} Όλα τα υποσύνολα που περιέχουν την κατάσταση αποδοχής του µηαιτιοκρατικού Μια διαδροµή απότηνχστηνυσχηµατίζετε µε δείκτη x αν Χ= =Υ ή U f ( S, x) = Y SeX Αιτιοκρατικό Ισοδύναµο αυτόµατο Καµιά ακολουθία γραµµάτων δεν είναι δυνατό να φέρει τη µηχανή στις καταστάσεις: {σ,f}, {σ,}, {σ,,f}, {F} 3 32
Αιτιοκρατικό Ισοδύναµο αυτόµατο Παράδειγµα Απλοποιηµένη µορφή της προηγούµενης µηχανής πεπερασµένων καταστάσεων: Αν x x 2 x 3.x n είναι µια ακολουθία γραµµάτων (της γλώσσας L) που γίνεται αποδεκτή από το ακόλουθο αυτόµατο Α, κατασκευάστε ένα αυτόµατο που δέχεται την ακριβώς αντίστροφη ακολουθία L R ={x n x n- x x x 2 x n є L} 33 34 Παράδειγµα (συνέχεια) Παράδειγµα (συνέχεια) Αν ξεκινήσουµε από την σ 3 ακολουθώντας ακριβώς την αντίστροφή πορεία προς την σ η ακολουθία γραµµάτων του L R είναι αποδεκτή. Άρα: Μετατρέπουµε την κατάσταση αποδοχής σε αρχική κατάσταση και την αρχική σε αποδοχής Αντιστρέφουµε όλα τα βέλη στο κατευθυνόµενο διάγραµµα Το ισοδύναµο αιτιοκρατικό αυτόµατο είναι: Είναι ένα µη αιτιοκρατικό αυτόµατο 35 36
Παράδειγµα 2 Αν x x 2 x 3.x n είναι µια ακολουθία γραµµάτων (της γλώσσας L) που γίνεται αποδεκτή από το ακόλουθο αυτόµατο Α, κατασκευάστε ένα αυτόµατο που δέχεται την ακριβώς αντίστροφη ακολουθία L R ={x n x n- x x x 2 x n є L} Παράδειγµα 2 (συνέχεια) Φτιάχνουµε ένα µη αιτιοκρατικό αυτόµατα ισοδύναµο µε το προηγούµενο εισάγοντας µια ακόµη κατάσταση σ 5 που θα είναι η µόνη κατάσταση αποδοχής. Επιτρέπουµε τις διαδροµές που τερµάτιζαν στις σ 3 ή σ 4 να τερµατίζουν στην σ 5 Τελικά: Υπάρχουν 2 καταστάσεις αποδοχής 37 38 Παράδειγµα 2 (συνέχεια) Ακολουθώντας όµοια διαδικασία µε το Παράδειγµα, βρίσκοµαι: 39