Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> Προγραμματισμός Υπολογιστών Γλώσσες

Πώς να κάνω μια Ντετερμινιστική πεπερασμένων καταστάσεων Machine

Η μηχανή πεπερασμένων καταστάσεων ( FSM) είναι ένα βασικό αφαίρεση στην οποία βασίζεται η λειτουργία των ψηφιακών ηλεκτρονικών υπολογιστών . Ένα FSM αποτελείται από ένα σύνολο καταστάσεων , μόνο μία εκ των οποίων μπορεί να « καταληφθεί » σε μια στιγμή , και ένα σύνολο κανόνων που καθορίζουν ποιο κράτος θα καταληφθεί επόμενο βάση που καταλαμβάνουν σήμερα και μια είσοδο . Σε μια ντετερμινιστική FSM , κάθε κράτος οδηγεί μόνο σε ένα άλλο κράτος ( ή η ίδια ) για κάθε πιθανή είσοδο . Είναι εύκολο να χαραχθούν και να αναλύσει σε χαρτί, χρησιμοποιώντας κύκλους και βέλη . Τα πράγματα που θα χρειαστείτε
Μολύβι
Χαρτί
Η Εμφάνιση Περισσότερες οδηγίες
Η 1

Σχεδιάστε έναν κύκλο περίπου 1 ίντσα απέναντι στο χαρτί σας να εκπροσωπεί κατάσταση έναρξης των ΗΠΜ . Δείχνουν ότι είναι η πρώτη πολιτεία με την κατάρτιση σε ένα βέλος για μια ίντσα καιρό δείχνει σε αυτό. Γράψτε ένα μοναδικό όνομα για την κατάσταση στο εσωτερικό του κύκλου ? Ένα κοινό σχέδιο είναι να επισημαίνουν κάθε κράτος χρησιμοποιώντας το " S" και ένα δείκτη ( π.χ. , " S0 , S1 , S2 " και ούτω καθεξής ) , αλλά χρησιμοποιούν πιο περιγραφικά ονόματα για τα κράτη σας, εάν κάνει το FSM πιο εύκολο να καταλάβει . 2

Σχεδιάστε ένα άλλο κύκλο για να αντιπροσωπεύουν μια δεύτερη κατάσταση . Γράψτε μια ετικέτα για το δεύτερο κράτος μέσα στον κύκλο της . Κάθε κράτος πρέπει να έχει μια "απάντηση " που ορίζονται για κάθε πιθανή είσοδο θα μπορούσε να λάβει . Ισοπαλία και πολλά βέλη που οδηγούν έξω από την αρχική κατάσταση , καθώς υπάρχουν πιθανές είσοδοι , σήμανση κάθε βέλος με την είσοδο αυτή αντιστοιχεί. Κάθε βέλος πρέπει να οδηγήσει πίσω στην αρχική κατάσταση ή στη δεύτερη κατάσταση . Ως παράδειγμα , φανταστείτε το μηχάνημα που έχει πρόσβαση σε ένα καλάθι μπανάνες , τα μήλα , τα πορτοκάλια και τα οποία θα διαλέξετε μέσα από ένα κομμάτι σε έναν χρόνο μέχρι το καλάθι είναι άδειο . Σχεδιάστε ένα βέλος με την επιγραφή με την είσοδο " μπανάνα " από την αρχική κατάσταση στη δεύτερη κατάσταση . Ισοπαλία δύο βέλη , που αντιστοιχεί σε « μήλο » και «πορτοκαλί », που οδηγεί έξω από την κατάσταση έναρξης , αλλά επιστρέφοντας σε αυτό . Αν δύο ή περισσότερα βέλη ξεκινήσει στο ίδιο μέρος και το τέλος στο ίδιο μέρος όπως αυτό , να συνδυάζονται για να κάνουν την κατάρτιση λιγότερο σωριασμένο ? Επισημαίνουν το ενιαίο βέλος με όλες τις εισόδους που αντιστοιχεί σε
εικόνων 3 .

Ισοπαλία περισσότερα κράτη και να καθορίσετε τα βέλη τους , έως ότου φθάσει το μηχάνημά σας σε μια κατάσταση κατά την οποία αντιμετώπισε τις εισόδους ή την ακολουθία των εισροών που έχει σχεδιαστεί για να εντοπίσει . Για το τρέχον παράδειγμα , σχεδιάστε ένα τρίτο κράτος και να το επισημάνετε . Σχεδιάστε μια " μπανάνα " βέλος που οδηγεί έξω από το δεύτερο κράτος στο τρίτο , και ένα « μήλο /πορτοκάλι " βέλος που οδηγεί έξω από το δεύτερο κράτος πίσω στον εαυτό του. Σχεδιάστε ένα ενιαίο βέλος από το τρίτο κράτος που οδηγεί πίσω στον ίδιο , επισημαίνονται με τα τρία είδη φρούτων .
Η 4

Σχεδιάστε ένα ελαφρώς μικρότερο ομόκεντρο κύκλο, στο τρίτο κράτος για να δείξει ότι είναι μια " αποδοχή " του κράτους . FSM σας είναι πλήρης , αλλά τι κάνει ; Μιμηθεί τι θα συνέβαινε για μερικά καλάθια παράδειγμα φρούτα σας make up, και θα συνειδητοποιήσετε γρήγορα ότι αυτό FSM θα απορρίψει τα καλάθια που δεν έχουν 2 μπανάνες ( ένα καλάθι " απορρίφθηκε ", εάν ο καρπός εξαντληθεί όταν η αποδοχή του κράτους isn 't κατεχόμενα ) . Αιτιοκρατικά FSMs μπορούν να έχουν πολύ πιο σύνθετες λειτουργίες από αυτό , με πολλαπλές αποδοχή κράτη και πολύπλοκες πιθανές πορείες .
Η
εικόνων

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα