Τι είναι αλγόριθμος και ένα παράδειγμα
Σήμερα θα αναφερθούμε σε κάποιες έννοιες που ίσως είχαμε ασχοληθεί παλιότερα, αλλά πλέον δεν τις έχουμε τόσο εύκαιρες. Ειδικά αυτή την περίοδο με το ξέσπασμα του COVID19 είναι ευκαιρία να ξεσκονίσουμε κάποια πράγματα. Η απάντηση στο τι είναι αλγόριθμος πράγματι μοιάζει βγαλμένη από εξετάσεις λυκείου. Ως αλγόριθμος (ετυμολογία: al-Ḵwārizmī,
Abū Ja‘far Muhammad ibn Mūsa) λοιπόν,ορίζεται μια πεπερασμένη σειρά ενεργειών, αυστηρά
καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο, που στοχεύουν στην επίλυση
ενός προβλήματος. Πιο απλά (αλγόριθμο) ονομάζουμε μία σειρά από εντολές που
έχουν αρχή και τέλος, είναι σαφείς και έχουν ως σκοπό την επίλυση κάποιου
προβλήματος. Ας το δούμε πιο αναλυτικά αλλά και ένα παράδειγμα που θα μας βοηθήσει.
Η λέξη αλγόριθμος προέρχεται από
μία διατριβή του Πέρση μαθηματικού Μοχάμεντ ιμπν Μουσά αλ-Χουαρίζμι, η οποία
περιείχε συστηματικές τυποποιημένες λύσεις αλγεβρικών προβλημάτων και αποτελεί
ίσως την πρώτη πλήρη πραγματεία άλγεβρας. Έτσι η λέξη αλγόριθμος καθιερώθηκε
αργά τα επόμενα χίλια χρόνια με την έννοια «συστηματική διαδικασία αριθμητικών
χειρισμών». Τη σημερινή της σημασία την οφείλει στη γρήγορη ανάπτυξη των
ηλεκτρονικών υπολογιστών στα μέσα του 20ου αιώνα.
Ένα παράδειγμα
Η έννοια του αλγορίθμου
γίνεται ευκολότερα αντιληπτή με το παρακάτω παράδειγμα. Αν κάποιος επιθυμεί να
γευματίσει θα πρέπει να εκτελέσει κάποια συγκεκριμένα βήματα: να συγκεντρώσει
τα υλικά, να προετοιμάσει τα σκεύη μαγειρικής, να παρασκευάσει το φαγητό, να
στρώσει το τραπέζι, να ετοιμάσει τη σαλάτα, να γευματίσει, να καθαρίσει το
τραπέζι και να πλύνει τα πιάτα. Προφανώς, η προηγούμενη αλληλουχία οδηγεί στο
επιθυμητό αποτέλεσμα. Δεν είναι όμως η μοναδική για την επίτευξη του σκοπού,
αφού μπορεί να αλλάξει η σειρά των βημάτων (π.χ. πρώτα να ετοιμάσει τη σαλάτα
και μετά να στρώσει το τραπέζι).
Ωστόσο το νόημα είναι πως η κατάτμηση μιας
σύνθετης εργασίας σε διακριτά βήματα που εκτελούνται διαδοχικά, είναι ο πιο
πρακτικός τρόπος επίλυσης πολλών προβλημάτων.
Τα βήματα δημιουργίας αλγόριθμου είναι:
- Διατύπωση του προβλήματος
- Κατανόηση του προβλήματος
- Λύση του προβλήματος
- Διατύπωση του αλγόριθμου
- Έλεγχος της λύσης
Κριτήρια αλγορίθμου
Οι αλγόριθμοι θα πρέπει να πληρούν κάποια πρότυπα και να διατυπώνονται με συγκεκριμένο τρόπο.
Έτσι ένας αλγόριθμος πρέπει να ικανοποιεί τα επόμενα κριτήρια:
- Καθοριστικότητα
- Περατότητα
- Αποτελεσματικότητα
- Επεκτασιμότητα
- Να έχει είσοδο δεδομένων, επεξεργασία και έξοδο αποτελεσμάτων
Τρόποι αναπαράστασης ενός αλγορίθμου:
- Ελεύθερο κείμενο, που αποτελεί τον πιο αδόμητο τρόπο παρουσίασης αλγορίθμου. Ελλοχεύει η δημιουργία μιας μη εκτελέσιμης κατάστασης παραβιάζοντας έτσι το κριτήριο της αποτελεσματικότητας.
- Διάγραμμα ροής, που συνιστά έναν πιο γραφικό τρόπο παρουσίασης του αλγορίθμου. Η χρήση διαγραμμάτων ροής δεν είναι η πλέον ενδεδειγμένη λύση για ένα πρόβλημα και για αυτό χρησιμοποιούνται σπάνια στη βιβλιογραφία.
- Φυσική γλώσσα που εκτελείται κατά βήματα. Σε αυτή την περίπτωση μπορεί να παραβιαστεί το κριτήριο του καθορισμού μεταξύ των βημάτων.
- Κωδικοποίηση του αλγορίθμου σε ψευδογλώσσα ή γλώσσα προγραμματισμού. Έτσι ο αλγόριθμος παρουσιάζεται πιο συνοπτικός, συμπαγής ενώ πληροί και τις προϋποθέσεις του Δομημένου προγραμματισμού.
Οι αλγόριθμοι μπορούν να υλοποιηθούν από προγράμματα
ηλεκτρονικών υπολογιστών, μολονότι συχνά σε περιορισμένες μορφές. Ένα λάθος
στον σχεδιασμό ενός αλγόριθμου για την λύση ενός προβλήματος μπορεί να οδηγήσει
σε αποτυχίες/βλάβες στο εφαρμοσμένο πρόγραμμα.
Οι αλγόριθμοι δεν υλοποιούνται μόνο ως προγράμματα
υπολογιστών, αλλά συχνά επίσης και με άλλα μέσα, όπως π.χ. σε ένα βιολογικό
νευρικό δίκτυο, ή σε ένα ηλεκτρονικό κύκλωμα, ή σε μια μηχανική συσκευή.
Η ανάλυση και η μελέτη των αλγορίθμων είναι ένας τομέας τής
επιστήμης της πληροφορικής, και ασκείται συχνά αφαιρετικά (χωρίς τη χρήση μιας
συγκεκριμένης γλώσσας προγραμματισμού ή άλλη εφαρμογή). Από αυτή την άποψη,
μοιάζει με άλλους μαθηματικούς τομείς, συγκεκριμένα στο ότι η εστίαση της
ανάλυσης είναι πάνω στις βασικές αρχές του αλγορίθμου, και όχι σε οποιαδήποτε
ιδιαίτερη εφαρμογή του.
Με πληροφορίες από:
www.wikipedia.com
Με πληροφορίες από:
www.wikipedia.com



Σχόλια
Δημοσίευση σχολίου