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

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

Ποια είναι τα κοινά χαρακτηριστικά των προγραμμάτων Turing Machine;

Τα προγράμματα μηχανών Turing, αν και εννοιολογικά απλά, μπορούν να παρουσιάσουν διάφορα κοινά χαρακτηριστικά ανάλογα με την εργασία που έχουν σχεδιαστεί για να εκτελούν. Αυτά τα χαρακτηριστικά δεν είναι απαραιτήτως παρόντα στο πρόγραμμα * κάθε * Turing Machine, αλλά εμφανίζονται συχνά:

1. Μεταβάσεις κατάστασης: Αυτό είναι το θεμελιώδες δομικό στοιχείο. Το πρόγραμμα υπαγορεύει τον τρόπο με τον οποίο μεταβαίνει το μηχάνημα μεταξύ των καταστάσεων με βάση την τρέχουσα κατάσταση και το σύμβολο που διαβάζεται από την ταινία. Αυτές οι μεταβάσεις συχνά περιλαμβάνουν:

* Ανάγνωση ενός συμβόλου: Το μηχάνημα διαβάζει το σύμβολο κάτω από το κεφάλι.

* Γράφοντας ένα σύμβολο: Το μηχάνημα γράφει ένα νέο σύμβολο στην ταινία, αντικαθιστώντας το προηγούμενο.

* Μετακίνηση του κεφαλιού: Το μηχάνημα μετακινεί το κεφάλι μία θέση προς τα αριστερά ή δεξιά.

* Αλλαγή κατάστασης: Το μηχάνημα μεταβαίνει σε μια νέα κατάσταση.

2. Κράτη: Αυτά αντιπροσωπεύουν διαφορετικά στάδια υπολογισμού. Οι κοινές καταστάσεις περιλαμβάνουν:

* state state: Την αρχική κατάσταση του μηχανήματος.

* Αποδοχή της κατάστασης: Η κατάσταση (ες) υποδεικνύει επιτυχή υπολογισμό. Η επίτευξη μιας αποδοχής κατάστασης σταματά το μηχάνημα.

* Κατάσταση απόρριψης: Η κατάσταση (ες) που υποδεικνύει ανεπιτυχή υπολογισμό (π.χ. η είσοδος δεν ήταν στη γλώσσα που αναγνωρίζει η TM).

* Ενδιάμεσες καταστάσεις: Κράτη που αντιπροσωπεύουν διάφορα βήματα στον αλγόριθμο. Αυτά είναι ζωτικής σημασίας για πολύπλοκες υπολογισμούς.

3. Χειραγώγηση ταινίας: Σημαντικά τμήματα του προγράμματος περιλαμβάνουν χειρισμό της ταινίας:

* σήμανση: Χρησιμοποιώντας ειδικά σύμβολα για να επισημάνετε θέσεις στην ταινία, συχνά για την παρακολούθηση της προόδου ή των ενδιάμεσων αποτελεσμάτων.

* Καταμέτρηση: Χρησιμοποιώντας ακολουθίες συμβόλων για να αντιπροσωπεύουν αριθμούς ή ποσότητες.

* Αναζήτηση: Μετακίνηση του κεφαλιού εμπρός και πίσω για να αναζητήσετε συγκεκριμένα σύμβολα ή μοτίβα.

* Αντιγραφή: Αντιμετωπίζοντας τμήματα της ταινίας.

4. Βρόχοι και υπορουτίνες (σιωπηρά): Ενώ οι μηχανές Turing δεν διαθέτουν ρητές βρόχους ή υπορουτίνες με τον ίδιο τρόπο όπως οι γλώσσες προγραμματισμού υψηλότερου επιπέδου, η συμπεριφορά τους μπορεί να τις εφαρμόσει αποτελεσματικά μέσω προσεκτικά σχεδιασμένων μεταβάσεων κατάστασης. Το μηχάνημα μπορεί να επανειλημμένα κυκλοφορήσει μέσα από ένα σύνολο καταστάσεων για να εκτελέσει μια συγκεκριμένη λειτουργία, μιμώντας έναν βρόχο ή μετάβαση σε ένα συγκεκριμένο σύνολο καταστάσεων για να εκτελέσει ένα subtask πριν επιστρέψει στην κύρια ροή υπολογισμού.

5. Έλεγχος πεπερασμένου κράτους: Ο αριθμός των κρατών είναι πάντα πεπερασμένος, αντανακλώντας την πεπερασμένη φύση του ίδιου του προγράμματος. Η πολυπλοκότητα μιας μηχανής Turing καθορίζεται σε μεγάλο βαθμό από τον αριθμό των κρατών και την πολυπλοκότητα των μεταβάσεων του κράτους.

6. Ντετερμινισμός/μη-καθέρχια: Το πρόγραμμα μπορεί να είναι ντετερμινιστικό (μια μοναδική μετάβαση για κάθε συνδυασμό κατάστασης) ή μη-καθέρχια (πολλαπλές πιθανές μεταβάσεις). Τα μη-καθοριστικά μηχανήματα μπορούν να διερευνήσουν ταυτόχρονα πολλαπλές διαδρομές υπολογισμού.

Είναι σημαντικό να θυμάστε ότι τα μηχανήματα Turing είναι αφηρημένα μοντέλα υπολογισμού. Οι πραγματικές εφαρμογές θα ποικίλουν, αλλά αυτά τα χαρακτηριστικά αντιπροσωπεύουν τα βασικά εννοιολογικά στοιχεία ενός προγράμματος μηχανής Turing. Οι συγκεκριμένες λεπτομέρειες ενός προγράμματος θα εξαρτηθούν σε μεγάλο βαθμό από τον συγκεκριμένο υπολογισμό που έχει σχεδιαστεί για να εκτελέσει.

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

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