Μοντελοποίηση υπολογισμού Πεπερασμένα αυτόματα
Πεπερασμένα αυτόματα;
Πεπερασμένα αυτόματα;
Πεπερασμένα αυτόματα;
Μηχανές πεπερασμένης κατάστασης Πεπερασμένο σύνολο καταστάσεων Καθορισμένη κατάσταση εκκίνησης Αλφάβητο εισόδου Συνάρτηση μετάβασης ανάλογα με την τρέχουσα κατάσταση και το σύμβολο στην είσοδο καθορίζει την επόμενη κατάσταση της μηχανής
Εφαρμογές Λογισμικό ελέγχου ορθογραφίας και γραμματικής Προσδιορισμός του αν μια δυαδική συμβολοσειρά περιέχει ένα συγκεκριμένο πρότυπο Κατασκευή ευρετηρίου Αναζήτηση σε μεγάλα κείμενα Αναγνώριση ομιλίας Μετασχηματισμός κειμένων με χρήση γλωσσών όπως η XML και η HTML Πρωτόκολλα δικτύων που καθορίζουν τον τρόπο επικοινωνίας Αυτόματες μηχανές πώλησης …
Μοντέλο αυτόματης μηχανής πώλησης Δέχεται κέρματα των 5, 10 και 25 λεπτών Όταν έχουν εισαχθεί συνολικά 30 λεπτά ή περισσότερα, η μηχανή επιστρέφει το ποσό που είναι πάνω από 30 λεπτά Όταν έχουν εισαχθεί 30 λεπτά και έχει επιστραφεί το πλεονάζον ποσό, ο πελάτης πατάει ένα πορτοκαλί κουμπί και παίρνει χυμό πορτοκάλι ή ένα κόκκινο κουμπί και παίρνει χυμό μήλου
Μοντέλο αυτόματης μηχανής πώλησης Η μηχανή μπορεί να βρίσκεται σε οποιαδήποτε από 7 διαφορετικές καταστάσεις, 0, 1, ..., 6 si είναι η κατάσταση κατά την οποία η μηχανή έχει δεχθεί 5i λεπτά Η μηχανή ξεκινάει στην κατάσταση s0 με 0 λεπτά Οι δυνατές είσοδοι είναι 5, 10, 25 λεπτά, το πορτοκαλί κουμπί (Ο) και το κόκκινο κουμπί (R) Οι δυνατές έξοδοι είναι τίποτα (n), 5, 10, 15, 20, 25 λεπτά, χυμός πορτοκάλι και χυμός μήλου
Παράδειγμα λειτουργίας του αυτόματου πωλητή Ένα άτομο εισάγει ένα κέρμα των 10 λεπτών και μετά ένα κέρμα των 25 λεπτών Παίρνει ρέστα 5 λεπτά και μετά επιλέγει το πορτοκαλί κουμπί για χυμό πορτοκαλιού Η μηχανή ξεκινάει στην κατάσταση s0, μεταβαίνει στην κατάσταση s2 και δεν δίνει έξοδο, μεταβαίνει στην κατάσταση s6 και δίνει έξοδο 5 λεπτά, μεταβαίνει στην αρχική κατάσταση s0 και δίνει στην έξοδο χυμό πορτοκαλιού
Παράδειγμα λειτουργίας του αυτόματου πωλητή
Παράδειγμα λειτουργίας του αυτόματου πωλητή
Μηχανές πεπερασμένης κατάστασης: παραδείγματα
Μηχανές πεπερασμένης κατάστασης: παραδείγματα
Μηχανές πεπερασμένης κατάστασης: παραδείγματα Αν η είσοδος είναι η λέξη 101011 ποια είναι η έξοδος του αυτομάτου;
Μηχανές πεπερασμένης κατάστασης και μνήμη Έχουν πεπερασμένες δυνατότητες μνήμης Η μόνη μνήμη που διαθέτουν είναι όση μπορεί να υποστηριχθεί από τις καταστάσεις τους Αλλά υπάρχουν πεπερασμένες διαφορετικές καταστάσεις…
Μηχανές πεπερασμένης κατάστασης: παραδείγματα Σε κάποια μορφή κωδικοποίησης, όταν σε μήνυμα εμφανίζονται 3 διαδοχικά 1, ο αποδέκτης του μηνύματος γνωρίζει ότι έχει γίνει σφάλμα στη μετάδοση Να κατασκευαστεί πεπερασμένο αυτόματο που σαν έξοδο να δίνει 1 αν και μόνον αν και τα 3 τελευταία bits που ελήφθησαν είναι 1 Μηχανή αναγνώρισης γλώσσας: δίνει στην έξοδο 1 αν και μόνον αν η συμβολοσειρά που έχει διαβαστεί μέχρι τη στιγμή αυτή έχει μια καθορισμένη ιδιότητα
Μηχανές πεπερασμένης κατάστασης – Πεπερασμένα αυτόματα Μηχανές πεπερασμένης κατάστασης που παράγουν έξοδο που αντιστοιχεί σε μετάβαση μεταξύ καταστάσεων λέγονται μηχανές Mealy [G. H. Mealy, 1955] Όταν η έξοδος προσδιορίζεται μόνο από την κατάσταση (χωρίς να παράγεται έξοδος) οι μηχανές πεπερασμένης κατάστασης λέγονται μηχανές Moore [E. F. Moore, 1956] ή πεπερασμένα αυτόματα
Μηχανές πεπερασμένης κατάστασης Moore Πεπερασμένο σύνολο καταστάσεων Αλφάβητο εισόδου και αλφάβητο εξόδου Αρχική κατάσταση Συνάρτηση μεταβάσεων που καθορίζει την επόμενη κατάσταση με βάση την τρέχουσα κατάσταση και το σύμβολο εισόδου Συνάρτηση εξόδου που αναθέτει μια έξοδο σε κάθε κατάσταση
Μηχανές πεπερασμένης κατάστασης Moore: παράδειγμα 0101 11111 111111 1000000 11101110111 100011001100
Μηχανές πεπερασμένης κατάστασης Moore: παράδειγμα
Πεπερασμένα αυτόματα Μηχανές πεπερασμένης κατάστασης χωρίς έξοδο Εφαρμογή: αναγνώριση γλωσσών Σχεδίαση και κατασκευή μεταγλωττιστών (compilers) για γλώσσες προγραμματισμού
Παράθεση γλωσσών Α,Β γλώσσες ορισμένες σε αλφάβητο Σ Η γλώσσα ΑΒ ονομάζεται παράθεση των Α και Β και περιέχει συμβολοσειρές της μορφής xy όπου x συμβολοσειρά της γλώσσας Α y συμβολοσειρά της γλώσσας Β Α={0,11}, Β={1,10,110} ΑΒ={01,010,0110,111,1110,11110} ΒΑ={10,111,100,1011,1100,11011} Γενικά: ΑΒ≠ΒΑ
Αn Α γλώσσα ορισμένη σε αλφάβητο Σ Α={1,00} Α0=e Α1={1,00} Α2={11,0000,100,001} Α3=Α2Α={111, 00001, 1001, 0011, 1100, 000000, 10000, 00100} Α4=Α3Α={1111, 000011, 10011, 00111, 11001, 0000001, 100001, 001001, 11100, 0000100, 100100, 001100, 110000, 00000000, 1000000, 0010000} Γενικά: Αn+1=AnA
Kleene Star γλώσσας Α Α γλώσσα ορισμένη σε αλφάβητο Σ Το Kleene Star της A, συμβολίζεται Α* και περιέχει αλληλουχίες αυθαίρετα πολλών συμβολοσειρών της Α Α*=eAA2A3… Aν Α={0}, Α*={0n|n=0,1,2,…} Aν B={0,1}, B*={όλες οι λέξεις που περιέχουν 0 ή/και 1} Aν C={11}, C*={12n|n=0,1,2,…}
Πεπερασμένα αυτόματα
Πεπερασμένα αυτόματα
Πεπερασμένα αυτόματα
Πεπερασμένα αυτόματα
Ασκήσεις
Ασκήσεις Θεωρήστε το Α το σύνολο των γυναικών και Β το σύνολο των ανδρών ενός χωριού Υποθέστε ότι γάμοι γίνονται μόνο μεταξύ άνδρα-γυναίκας Αν Β=, πόσα στοιχεία περιέχει το σύνολο ΑΒ ή το σύνολο ΒΑ;
Ασκήσεις a) Ναι b) Ναι c) Ναι d) Όχι e) Ναι f) Ναι
Ασκήσεις Ποια γλώσσα αναγνωρίζουν τα παρακάτω πεπερασμένα αυτόματα;
Ασκήσεις
Ασκήσεις
Ασκήσεις
Ασκήσεις
Ασκήσεις
Ασκήσεις
Ασκήσεις
Ασκήσεις
Ασκήσεις
Ασκήσεις
Ασκήσεις
Ασκήσεις
Ασκήσεις