Αλγόριθμος
- Ένα πεπερασμένο σύνολο οδηγιών για την εκπλήρωση ενός έργου, το οποίο δεδομένης μιας αρχικής κατάστασης θα οδηγήσει σε μια αναγνωρίσιμη τελική κατάσταση.
Ετυμολογία[]
Η ονομασία "αλγόριθμος" προέρχεται από την γαλλική algorithme < αρχαία γαλλική algorisme (συνδυάστηκε λανθασμένα με την ελληνική λέξη αριθμός) < μεσαιωνική λατινική algorismus < από το όνομα του Πέρση μαθηματικου Al-Khwārizmī (που σημαίνει κατά λέξη: ο καταγόμενος από την περιοχη Kharazm)
Η αντιστοιχία με την συνταγή μαγειρικής[]
Η έννοια του αλγόριθμου επεξηγείται συχνά με το παράδειγμα μιας συνταγής (παρόλο που πολλοί αλγόριθμοι είναι πολύ πιο πολύπλοκοι). Οι αλγόριθμοι συχνά έχουν βήματα τα οποία επαναλαμβάνουν η απαιτούν αποφάσεις (όπως π.χ. από απλή εφαρμογή λογικών η συγκριτικών τελεστών) μέχρις ότου να ολοκληρωθεί το έργο. Η σωστή εφαρμογή ενός αλγόριθμου δεν θα λύσει ένα πρόβλημα εάν ο αλγόριθμος είναι λανθασμένος ή μη κατάλληλος για το πρόβλημα. Για παράδειγμα, εφαρμόζοντας τον αλγόριθμο της μελιτζανοσαλάτας θα αποτύχει αν δεν υπάρχουν μελιτζάνες ακόμα και αν όλες οι οδηγίες για την παρασκευή της ακολουθηθούν ως να υπήρχαν οι μελιτζάνες.
Διαφορετικοί αλγόριθμοι δύνανται να ολοκληρώσουν το ίδιο έργο με ένα διαφορετικό σύνολο οδηγιών σε περισσότερο η λιγότερο (υπολογιστικό) χρόνο, χώρο, η δύναμη από τους άλλους. Για παράδειγμα, δεδομένων δυο διαφορετικών συνταγών για την παρασκευή μελιτζανοσαλάτας, κατά την μια θα μπορούσαμε να αποφλοιώσουμε την μελιτζάνα πριν το ψήσιμο ενώ κατά την άλλη μετά, και παρόλα αυτά και οι δυο συνταγές περιλαμβάνουν την αποφλοίωση σαν βασικό βήμα τους.
Εφαρμογή στην Πληροφορική[]
Οι αλγόριθμοι μπορούν να υλοποιηθούν από προγραμμάτα ηλεκτρονικών υπολογιστών, μολονότι συχνά σε περιορισμένες μορφές. Ένα λάθος στον σχεδιασμό ενός αλγόριθμου για την λύση ενός προβλήματος μπορεί να οδηγήσει σε αποτυχίες/βλάβες στο εφαρμοσμένο πρόγραμμα.
Η ανάλυση και η μελέτη των αλγορίθμων είναι ένας τομέας τής επιστήμης της πληροφορικής, και ασκείται συχνά αφαιρετικά (χωρίς τη χρήση μιας συγκεκριμένης γλώσσας προγραμματισμού ή άλλη εφαρμογή). Από αυτή την άποψη, μοιάζει με άλλους μαθηματικούς τομείς, συγκεκριμένα στο ότι η εστίαση της ανάλυσης είναι πάνω στις βασικές αρχές του αλγορίθμου, και όχι σε οποιαδήποτε ιδιαίτερη εφαρμογή του.
Τυποποιημένοι αλγόριθμοι[]
Οι αλγόριθμοι είναι σημαντικοί γιατί σχετίζονται άμεσα με τον τρόπο τον οποίο οι υπολογιστές επεξεργάζονται πληροφορίες. Ένα πρόγραμμα υπολογιστών είναι ουσιαστικά ένας αλγόριθμος που λεει στον υπολογιστή ποια συγκεκριμένα βήματα να εκτελέσει (σε ποια συγκεκριμένη σειρά) προκειμένου να επιτευχθεί ένας συγκεκριμένος στόχος, όπως π.χ. ο υπολογισμός των μισθών των υπαλλήλων ή η εκτύπωση των έλεγχων των μαθητών.
Κατά συνέπεια, ένας αλγόριθμος μπορεί να θεωρηθεί οποιαδήποτε ακολουθία εντολών που μπορεί να εκτελεσθεί από ένα turing-πλήρες σύστημα.
Χαρακτηριστικά, όταν ένας αλγόριθμος συνδέεται με την επεξεργασία πληροφοριών, τα δεδομένα διαβάζονται από μια συσκευή εισόδου, γράφονται σε μια συσκευή εξόδου, και / ή αποθηκεύονται για την περαιτέρω χρήση. Τα αποθηκευμένα στοιχεία θεωρούνται ως τμήμα της εσωτερικής κατάστασης του συστήματος που εκτελεί τον αλγόριθμο.
Καθορισμός αλγορίθμου[]
Για οποιαδήποτε τέτοια υπολογιστική διαδικασία, ο αλγόριθμος πρέπει να οριστεί αυστηρά: να είναι ορισμένος για όλες τις πιθανές περιστάσεις που θα μπορούσαν να προκύψουν. Δηλαδή οποιαδήποτε υπό όρους βήματα πρέπει να εξεταστούν συστηματικά, και σε κάθε περίπτωση τα κριτήρια πρέπει να είναι σαφή (και υπολογίσιμα).
Επειδή ένας αλγόριθμος είναι ένας ακριβής κατάλογος βημάτων ακριβείας, η σειρά του υπολογισμού θα είναι σχεδόν πάντα κρίσιμη για τη λειτουργία του αλγόριθμου. Οι εντολές συνήθως απαριθμούνται ρητά, και περιγράφονται σαν να ξεκινούν "από την κορυφή" και πηγαίνοντας "προς στο κατώτατο σημείο", μια ιδέα που περιγράφεται τυπικά με τον όρο της "ροής ελέγχου".
Μέχρι τώρα, σε αυτήν η συζήτηση για την τυποποίηση του αλγορίθμου, έχουμε δεχθεί σαν βάση τον διαδικαστικό προγραμματισμό. Αυτή είναι και η πιο κοινή αντίληψη, η οποία προσπαθεί να περιγράψει ένα έργο με διακεκριμένα, "μηχανικά" μέσα. Μοναδικός σε αυτήν την αντίληψη των αλγόριθμων είναι ο ρόλος της λειτουργίας ανάθεσης (ο καθορισμός της τιμής μιας μεταβλητής) ο οποίος προέρχεται από τη ιδέα "της μνήμης" σαν πρόχειρο τετράδιο. Δείτε ακόμα το λειτουργικό προγραμματισμό και τον λογικό προγραμματισμό για εναλλακτικές αντιλήψεις για το τι αποτελεί έναν αλγόριθμο.
Εφαρμογές σε άλλες Επιστήμες[]
Οι αλγόριθμοι δεν υλοποιούνται μόνο ως προγράμματα υπολογιστών, αλλά συχνά επίσης και με άλλα μέσα, όπως π.χ. σε ένα βιολογικό νευρωνικό δίκτυο, ή σε ένα ηλεκτρονικό κύκλωμα, ή σε μια μηχανική συσκευή.
Τρόποι Απεικόνισης[]
Υπάρχουν διάφοροι τρόποι απεικόνισης ένας αλγόριθμου:
- ψευδοκώδικας,
- ελεύθερο κείμενο ,
- φυσική γλώσσα (περιγράφοντας τα βήματα)
- λογικό διάγραμμα .
Υποσημειώσεις[]
Εσωτερική Αρθρογραφία[]
- Κωδικός Πρόσβασης
- Ευρετική
- Abstract machine
- Algorithm engineering
- Algorithmic composition
- Algorithmic synthesis
- Algorithmic trading
- Garbage in, garbage out
- Introduction to Algorithms
- Numerical Mathematics Consortium
- Theory of computation
- Computability theory
- Computational complexity theory
Βιβλιογραφία[]
- Αλγόριθμοι & Πολυπλοκότητα (Σημειώσεις για το μάθημα), Ηλίας Κ. Σάββας, Τμήμα Τεχνολογίας Πληροφορικής & Τηλεπικοινωνιών, ΤΕΙ Λάρισας, Ιανουάριος 2005.
Ιστογραφία[]
Κίνδυνοι Χρήσης |
---|
Αν και θα βρείτε εξακριβωμένες πληροφορίες "Οι πληροφορίες αυτές μπορεί πρόσφατα Πρέπει να λάβετε υπ' όψη ότι Επίσης, |
- Μην κάνετε χρήση του περιεχομένου της παρούσας εγκυκλοπαίδειας
αν διαφωνείτε με όσα αναγράφονται σε αυτήν
- Όχι, στις διαφημίσεις που περιέχουν απαράδεκτο περιεχόμενο (άσεμνες εικόνες, ροζ αγγελίες κλπ.)