Μοντελοποίηση υπολογισμού · • Λογισμικό ελέγχου...

Preview:

Citation preview

Υπ

ολογ

ιστικ

ήεπ

ιστή

μηκα

ιπολ

ιτισμ

ός–

Πεπ

ερασ

μένα

αυτό

ματα

Μοντελοποίηση υπολογισμού

Πεπερασμένα αυτόματα

Υπ

ολογ

ιστικ

ήεπ

ιστή

μηκα

ιπολ

ιτισμ

ός–

Πεπ

ερασ

μένα

αυτό

ματα Πεπερασμένα αυτόματα;

Υπ

ολογ

ιστικ

ήεπ

ιστή

μηκα

ιπολ

ιτισμ

ός–

Πεπ

ερασ

μένα

αυτό

ματα Πεπερασμένα αυτόματα;

Υπ

ολογ

ιστικ

ήεπ

ιστή

μηκα

ιπολ

ιτισμ

ός–

Πεπ

ερασ

μένα

αυτό

ματα Πεπερασμένα αυτόματα;

Υπ

ολογ

ιστικ

ήεπ

ιστή

μηκα

ιπολ

ιτισμ

ός–

Πεπ

ερασ

μένα

αυτό

ματα

Υπ

ολογ

ιστικ

ήεπ

ιστή

μηκα

ιπολ

ιτισμ

ός–

Πεπ

ερασ

μένα

αυτό

ματα Μηχανές πεπερασμένης κατάστασης

• Πεπερασμένο σύνολο καταστάσεων• Καθορισμένη κατάσταση εκκίνησης• Αλφάβητο εισόδου• Συνάρτηση μετάβασης

– ανάλογα με την τρέχουσα κατάσταση και τοσύμβολο στην είσοδο καθορίζει την επόμενηκατάσταση της μηχανής

Υπ

ολογ

ιστικ

ήεπ

ιστή

μηκα

ιπολ

ιτισμ

ός–

Πεπ

ερασ

μένα

αυτό

ματα Εφαρμογές

• Λογισμικό ελέγχου ορθογραφίας και γραμματικής• Προσδιορισμός του αν μια δυαδική συμβολοσειρά

περιέχει ένα συγκεκριμένο πρότυπο• Κατασκευή ευρετηρίου• Αναζήτηση σε μεγάλα κείμενα• Αναγνώριση ομιλίας• Μετασχηματισμός κειμένων με χρήση γλωσσών όπως η

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: παράδειγμα

• Ποια συμβολοσειρά εξόδουπαράγεται από τη διπλανήμηχανή 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

• Α γλώσσα ορισμένη σε αλφάβητο Σ• Η γλώσσα Αn περιέχει λέξεις που προκύπτουν από την παράθεση 0,

1, 2, … συμβολοσειρών της γλώσσας Α

• Α={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, συμβολίζεται Α* και περιέχει

αλληλουχίες αυθαίρετα πολλών συμβολοσειρώντης Α– Α*=e∪A∪A2∪A3∪…

• 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) Ναι

Υπ

ολογ

ιστικ

ήεπ

ιστή

μηκα

ιπολ

ιτισμ

ός–

Πεπ

ερασ

μένα

αυτό

ματα Ασκήσεις

Ποια γλώσσα αναγνωρίζουν τα παρακάτω πεπερασμένα αυτόματα;

Υπ

ολογ

ιστικ

ήεπ

ιστή

μηκα

ιπολ

ιτισμ

ός–

Πεπ

ερασ

μένα

αυτό

ματα Ασκήσεις

Υπ

ολογ

ιστικ

ήεπ

ιστή

μηκα

ιπολ

ιτισμ

ός–

Πεπ

ερασ

μένα

αυτό

ματα Ασκήσεις

Υπ

ολογ

ιστικ

ήεπ

ιστή

μηκα

ιπολ

ιτισμ

ός–

Πεπ

ερασ

μένα

αυτό

ματα Ασκήσεις

Υπ

ολογ

ιστικ

ήεπ

ιστή

μηκα

ιπολ

ιτισμ

ός–

Πεπ

ερασ

μένα

αυτό

ματα Ασκήσεις

Υπ

ολογ

ιστικ

ήεπ

ιστή

μηκα

ιπολ

ιτισμ

ός–

Πεπ

ερασ

μένα

αυτό

ματα Ασκήσεις

Υπ

ολογ

ιστικ

ήεπ

ιστή

μηκα

ιπολ

ιτισμ

ός–

Πεπ

ερασ

μένα

αυτό

ματα Ασκήσεις

Υπ

ολογ

ιστικ

ήεπ

ιστή

μηκα

ιπολ

ιτισμ

ός–

Πεπ

ερασ

μένα

αυτό

ματα Ασκήσεις

Υπ

ολογ

ιστικ

ήεπ

ιστή

μηκα

ιπολ

ιτισμ

ός–

Πεπ

ερασ

μένα

αυτό

ματα Ασκήσεις

Υπ

ολογ

ιστικ

ήεπ

ιστή

μηκα

ιπολ

ιτισμ

ός–

Πεπ

ερασ

μένα

αυτό

ματα Ασκήσεις

Υπ

ολογ

ιστικ

ήεπ

ιστή

μηκα

ιπολ

ιτισμ

ός–

Πεπ

ερασ

μένα

αυτό

ματα Ασκήσεις

Υπ

ολογ

ιστικ

ήεπ

ιστή

μηκα

ιπολ

ιτισμ

ός–

Πεπ

ερασ

μένα

αυτό

ματα Ασκήσεις

Υπ

ολογ

ιστικ

ήεπ

ιστή

μηκα

ιπολ

ιτισμ

ός–

Πεπ

ερασ

μένα

αυτό

ματα Ασκήσεις

Υπ

ολογ

ιστικ

ήεπ

ιστή

μηκα

ιπολ

ιτισμ

ός–

Πεπ

ερασ

μένα

αυτό

ματα Ασκήσεις

Recommended