Τα τελευταία χρόνια, λόγω της ανάπτυξης των Η/Υ, έννοιες που ήταν γνωστές μόνο σε επιστήμονες, μπήκαν στη ζωή μας. Ανάμεσα τους, ο αλγόριθμος. Η λέξη «αλγόριθμος» ακούγεται όλο και περισσότερο στη καθημερινότητα μας. Όπως φαίνεται οι αλγόριθμοι είναι παντού και κάνουν τα πάντα ακόμη και αν δεν το συνειδητοποιούμε.  Χρησιμοποιούνται παντού, στα μαθηματικά, στη φυσική, στη τεχνολογία, στη πληροφορική αλλά και σε πολλές αποφάσεις που παίρνουμε καθημερινά.

Γράφει ο Νίκος Σεκεριάδης
Μηχανολόγος Μηχανικός – Εκπαιδευτικός

Ένας αλγόριθμος είναι κατ’ αρχάς μια διαδοχή βημάτων. Μπορούμε να τον φανταστούμε σαν μια συνταγή μαγειρικής. Από τη μια μεριά έχουμε τα συστατικά και από την άλλη τον υποψήφιο μάγειρα. Η συνταγή δίνει οδηγίες για το τι πρέπει να κάνειο μάγειρας με αυτά τα συστατικά για να παρασκευαστεί σωστά το φαγητό. Η συνταγή είναι δοσμένη από κάποιον άλλον και ο μάγειρας πρέπει απλά να την ακολουθήσει πιστά. Η βηματική ακολουθία της συνταγής είναι οδηγίες αλγορίθμου.

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

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

Ο Πέρσης μαθηματικός Mohammedibn-Musa al-Khu-warizmi (780-850 μ.Χ.) εισήγαγε την έννοια του αλγορίθμου αναφερόμενος σε μία μαθηματική επεξεργασία αλγεβρικών προβλημάτων. Για την ονομασία αυτής της διαδικασίας χρησιμοποιήθηκε στην αρχή η λατινική λέξη algorismus, που δημιουργήθηκε από την παραφθορά του συνθετικού του ονόματος al-Khuwarizmi, σε μετάφραση του έργου του στα λατινικά, που πραγματοποιήθηκε μετά από 5 αιώνες.

Η λέξη αλγόριθμος καθιερώθηκε τα επόμενα χρόνια με την έννοια της συστηματικής διαδικασίας αριθμητικών χειρισμών. Στη συνέχεια απέκτησε ιδιαίτερη αξία χάρη στην ανάπτυξη της θεωρίας των αλγορίθμων. Τον 20ο αιώνα ο αλγόριθμος έγινε βασική έννοια που υποδηλώνει ένα σύνολο υπολογιστικών διαδικασιών.

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

Οι αλγόριθμοι είναι σημαντικοί γιατί σχετίζονται άμεσα με τον τρόπο με τον οποίο οι υπολογιστές επεξεργάζονται δεδομένα και παράγουν πληροφορίες. Ένα πρόγραμμα υπολογιστών είναι ουσιαστικά ένας αλγόριθμος που λέει στον υπολογιστή ποια συγκεκριμένα βήματα να εκτελέσει προκειμένου να επιτευχθεί ένα αποτέλεσμα.

Για να δημιουργηθεί ένας αλγόριθμος πρέπει να ακολουθηθούν τα παρακάτω βήματα:

  1. Διατύπωση του προβλήματος
  2. Κατανόηση του προβλήματος
  3. Λύση του προβλήματος
  4. Διατύπωση του αλγόριθμου
  5. Έλεγχος της λύσης

Ανεξάρτητα από το πόσο περίπλοκος είναι ένας αλγόριθμος θα πρέπει να πληροί κάποια πρότυπα και να διατυπώνεται με συγκεκριμένο τρόπο. Χρειάζεται ένα σύνολο δεδομένων (input) και ακολουθεί μια συγκεκριμένη διαδικασία για να τα μετατρέψει σε χρήσιμα αποτελέσματα (output) για τον χρήστη. Έτσι ένας αλγόριθμος πρέπει να ικανοποιεί τα επόμενα κριτήρια:

Είσοδος (input). Καμία, μία ή περισσότερες τιμές δεδομένων πρέπει να δίνονται ως είσοδοι στον αλγόριθμο.

Έξοδος (output). Ο αλγόριθμος πρέπει να δημιουργεί τουλάχιστον μία τιμή δεδομένων ως αποτέλεσμα προς το χρήστη ή προς έναν άλλο αλγόριθμο.

Καθοριστικότητα (definiteness). Κάθε εντολή πρέπει να καθορίζεται χωρίς καμία αμφιβολία για τον τρόπο εκτέλεσής της.

Περατότητα (finiteness). Ο αλγόριθμος να τελειώνει μετά από πεπερασμένα βήματα εκτέλεσης των εντολών του.

Αποτελεσματικότητα (effectiveness). Κάθε μεμονωμένη εντολή του αλγορίθμου να είναι απλή. Αυτό σημαίνει ότι μία εντολή δεν αρκεί να έχει ορισθεί, αλλά πρέπει να είναι και εκτελέσιμη.

Οι αλγόριθμοι προσφέρουν πολλές δυνατότητες. Αν παρατηρήσουμε το περιβάλλον μας, μπορούμε να βρούμε αρκετούς αλγόριθμους που λειτουργούν για την επίλυση προβλημάτων της καθημερινής μας ζωής: αναζήτηση Google, δίκτυα μέσων κοινωνικής δικτύωσης, εφαρμογές GPS, πλατφόρμες ηλεκτρονικού εμπορίου κ.λπ. τροφοδοτούνται από αλγόριθμους. Οι αλγόριθμοι εισβάλλουν παντού, είναι πανταχού παρόντες στη ψηφιακή εποχή.

Οι ιατρικοί αλγόριθμοι έχουν αρχίσει να κάνουν διαγνώσεις ασθενειών καλύτερα από τους γιατρούς σε πολλές περιπτώσεις και έχουν σώσει ζωές όταν ταιριάζουν ασθενείς με όργανα δωρητών. Η ανάπτυξη αλγορίθμων για ιατρική χρήση αποτελεί ένα ραγδαία αναπτυσσόμενο πεδίο.

Σε τομείς όπως ο χρηματοοικονομικός-τραπεζικός-χρηματιστηριακός οι αλγόριθμοι παίρνουν κρίσιμες αποφάσεις μόνοι τους, μετακινώντας τεράστια χρηματικά ποσά από τη μία άκρη του πλανήτη στην άλλη.

Τα αυτόνομα αυτοκίνητα που κυκλοφορούν στους δρόμους, στην ουσία οδηγούνται από αλγόριθμους.

Ρωτήστε το κινητό σας για οδηγίες και ένας αλγόριθμος αποφασίζει για την καλύτερη διαδρομή που πρέπει να ακολουθήσετε.

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

Παραδειγματικά, ο αλγόριθμος του you tube συλλέγει δεδομένα σχετικά με τα βίντεο που παρακολουθείτε. Αυτό βοηθά τον αλγόριθμο να εντοπίσει δημοφιλή βίντεο που είναι παρόμοια με το βίντεο που παρακολουθήσατε. Στη συνέχεια, αυτά τα βίντεο εμφανίζονται αυτόματα ως προτάσεις.

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

Είναι σίγουρο ότι όσο η τεχνολογία εξελίσσεται οι αλγόριθμοι θα διαδραματίζουν όλο και περισσότερο ρόλο στις ζωές μας.