* Προσδιορίστε το λογισμικό (ή τη συμπεριφορά): Αυτό αναφέρεται στο λογισμικό όπου, λαμβάνοντας υπόψη τις ίδιες εισόδους και τις αρχικές συνθήκες, θα * πάντα * να παράγει τις ίδιες εξόδους. Δεν υπάρχει τυχαία ή απρόβλεπτη συμπεριφορά. Η διαδρομή εκτέλεσης καθορίζεται πλήρως από την είσοδο και τη λογική του προγράμματος. Παραδείγματα:
* Ένας απλός υπολογιστής: Δεδομένου ότι 2 + 2, θα επιστρέφει πάντα 4.
* Compiler: Δεδομένου του ίδιου πηγαίου κώδικα, θα πρέπει πάντα να παράγει τον ίδιο κωδικό αντικειμένου (Βελτιστοποιήσεις του μεταγλωττιστή που μπορεί να αναδιατάξει τις οδηγίες χωρίς να αλλάξει το αποτέλεσμα).
* Μια ντετερμινιστική προσομοίωση: Μια προσομοίωση φυσικής που χρησιμοποιεί σταθερούς κανόνες και δεν ενσωματώνει τυχαία.
* απροσδιόριστο λογισμικό (ή συμπεριφορά): Αυτό αναφέρεται στο λογισμικό όπου, ακόμη και με τις ίδιες εισόδους και τις αρχικές συνθήκες, η έξοδος μπορεί να διαφέρει. Αυτή η απρόβλεπτη είναι συχνά σκόπιμη και προκύπτει από:
* Παραγωγή τυχαίων αριθμών: Χρησιμοποιείται σε παιχνίδια, προσομοιώσεις ή κρυπτογραφία για απρόβλεπτα στοιχεία.
* Συμφωνία/παραλληλισμός: Στα προγράμματα πολλαπλών σπιτιών, η σειρά εκτέλεσης των νημάτων μπορεί να είναι μη καθοριστική, οδηγώντας σε διαφορετικά αποτελέσματα ανάλογα με τις αποφάσεις προγραμματισμού του λειτουργικού συστήματος.
* Εξωτερικοί παράγοντες: Το λογισμικό που αλληλεπιδρά με εξωτερικές συσκευές (αισθητήρες, δίκτυα) ενδέχεται να λαμβάνει ποικίλες εισροές, οδηγώντας έτσι σε διαφορετικές εξόδους ακόμη και με την ίδια αρχική κατάσταση προγράμματος.
* Μη-καθέρχια αλγόριθμοι: Ορισμένοι αλγόριθμοι, από το σχεδιασμό, διερευνούν διαφορετικές διαδρομές λύσης και το αποτέλεσμα τους δεν είναι εγγυημένο ότι είναι το ίδιο σε κάθε διαδρομή (π.χ. ορισμένοι αλγόριθμοι βελτιστοποίησης ή τυχαιοποιημένοι αλγόριθμοι αναζήτησης).
Συνοπτικά:
Η βασική διαφορά έγκειται στην προβλεψιμότητα. Ο καθορισμός του λογισμικού είναι προβλέψιμο. Η έξοδος του είναι μια συνάρτηση αποκλειστικά της εισόδου της. Το απροσδιόριστο λογισμικό εισάγει ένα στοιχείο τυχαιότητας ή απρόβλεπτη, με αποτέλεσμα δυνητικά διαφορετικές εξόδους ακόμη και για πανομοιότυπες εισροές. Η "απροσδιόριστη" δεν είναι απαραιτήτως σφάλμα. Είναι συχνά ένα χαρακτηριστικό σχεδιασμένο στο σύστημα για συγκεκριμένους σκοπούς.
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα