Ένας αλγόριθμος είναι μια ακολουθία οδηγιών ή εντολών που εκτελούνται συστηματικά με σκοπό την επίλυση ενός προβλήματος ή την εκτέλεση μιας εργασίας.
Η λέξη "αλγόριθμος" αναφέρεται στον αραβικό μαθηματικό Al Khowarizmi, ο οποίος έζησε τον ένατο αιώνα, και περιέγραψε κανόνες για μαθηματικές εξισώσεις.
Οι αλγόριθμοι είναι σαν μια συνταγή για ένα κέικ: μια ακολουθία ενεργειών που πρέπει να εκτελεστούν έως ότου επιτευχθεί ο τελικός στόχος - το τελικό κέικ -.
Οι αλγόριθμοι εφαρμόζονται από απλές καθημερινές εργασίες σε πολύπλοκα προγράμματα υπολογιστών και εργαλεία που προσδιορίζουν τη συμπεριφορά των καταναλωτών στο Διαδίκτυο.
Όλες οι λειτουργίες του υπολογιστή, smartphone και δισκία, για παράδειγμα, είναι το αποτέλεσμα αλγορίθμων. Αυτά τα μηχανήματα είναι σε θέση να εκτελούν δισεκατομμύρια εντολές σε λίγα δευτερόλεπτα.
Παραδείγματα για τον τρόπο λειτουργίας ενός αλγορίθμου
Αλγόριθμοι προκύπτουν στα μαθηματικά για να περιγράψουν τους κανόνες για τις αλγεβρικές εξισώσεις, αλλά μπορούν να εφαρμοστούν σε οποιαδήποτε ακολουθία πεπερασμένων ενεργειών που επιδιώκουν να λύσουν ένα πρόβλημα.
Όλες οι εργασίες που εκτελούμε σε καθημερινή βάση μπορούν να μετατραπούν σε αλγόριθμους, απλώς ξεδιπλώστε όλες τις απαραίτητες ενέργειες για να επιτύχετε τον καθορισμένο στόχο.
Εάν κάναμε έναν αλγόριθμο για την παρασκευή καφέ, για παράδειγμα, θα μπορούσαμε να ακολουθήσουμε τα ακόλουθα βήματα:
- βράσε το νερό;
- βάλτε τη σκόνη στο φίλτρο.
- απενεργοποιήστε το νερό.
- περάστε το νερό μέσα από τη σκόνη του καφέ.
Οι αλγόριθμοι που χρησιμοποιούνται σε υπολογιστές είναι πιο περίπλοκοι και περιλαμβάνουν επίσης δυνατότητες. Εξετάστε το παράδειγμα ενός ποντικιού μέσω ενός προγράμματος περιήγησης στο Διαδίκτυο
Η εντολή για κλείσιμο της οθόνης δίνεται από έναν αλγόριθμο που κατανοεί ότι:
- Εάν το ποντίκι κάνει κλικ στο "x", η σελίδα πρέπει να κλείσει.
- Εάν το ποντίκι δεν κάνει κλικ στο "x", δεν πρέπει να γίνει τίποτα.
Αυτός ο αλγόριθμος μπορεί να δομηθεί σε ένα διάγραμμα ροής:
Βασικά, οι αλγόριθμοι αποτελούνται από δεδομένα εισόδου (εισαγωγή), δεδομένα επεξεργασίας και εξόδου (παραγωγή). Αυτή η δομή μπορεί εύκολα να γίνει κατανοητή με το παράδειγμα μιας αριθμομηχανής:
- Εισαγωγή δεδομένων: αξίες και πράξεις που πρέπει να πραγματοποιηθούν
- Επεξεργασία: υπολογισμοί που εκτελούνται από το μηχάνημα
- Δεδομένα εξόδου: αποτέλεσμα της λειτουργίας
Οι αλγόριθμοι χρησιμοποιούνται στον προγραμματισμό υπολογιστών
Ο αλγόριθμος είναι μια πολύ σημαντική ιδέα για προγραμματισμό, καθώς όλα τα μηχανήματα και τα προγράμματα υπολογιστών λειτουργούν από ακολουθίες πεπερασμένων ενεργειών που οδηγούν στην εκτέλεση μιας εργασίας.
Ο ρόλος του ατόμου που κάνει τον προγραμματισμό υπολογιστών και λογισμικού είναι να σκεφτεί όλα τα στάδια των εργασιών και να τα περιγράψει με αντικειμενικό και σαφή τρόπο, ώστε ο υπολογιστής να μπορεί να τις εκτελέσει.
Ένα παράδειγμα θα ήταν ένα πρόγραμμα που δείχνει εάν ένας μαθητής έχει περάσει ένα συγκεκριμένο μάθημα ή όχι. Λαμβάνοντας υπόψη ότι ο τελικός βαθμός είναι ο μέσος όρος των δύο εξετάσεων που πραγματοποιήθηκαν στο εξάμηνο, οι εντολές θα ήταν:
- Συλλέξτε το βαθμό στις δύο δοκιμές που πραγματοποιήθηκαν.
- Υπολογίστε τον αριθμητικό μέσο όρο μεταξύ τους.
- Εάν το αποτέλεσμα είναι μεγαλύτερο από 7, ο μαθητής πέρασε.
- Εάν το αποτέλεσμα είναι μικρότερο από 7, ο μαθητής έχει αποτύχει.
Ωστόσο, οι υπολογιστές δεν καταλαβαίνουν τη γλώσσα που γράφεται με αυτόν τον τρόπο, επομένως οι προγραμματιστές πρέπει να «μεταφράσουν» αυτές τις εντολές σε γλώσσες προγραμματισμού. Μερικά παραδείγματα γλώσσα προγραμματισμού αυτοί είναι:
- Ιάβα
- Γ γλώσσα
- Γλώσσα C ++
- Γ γλώσσα #
- Πύθων
Οι λειτουργίες ενός αλγορίθμου εκτελούνται πολύ γρήγορα από μηχανήματα. Ένα τυπικό σημειωματάριο, για παράδειγμα, εκτελεί συνήθως περισσότερες από ένα δισεκατομμύριο λειτουργίες ανά δευτερόλεπτο.
Αυτή η ταχύτητα λειτουργίας έφερε επανάσταση στον υπολογιστικό κόσμο, καθώς οι μηχανές μπορούν να εκτελέσουν υπολογισμούς σε πολύ σύντομο χρονικό διάστημα που οι άνθρωποι χρειάζονταν ημέρες, μήνες ή και χρόνια για να εκτελέσουν.
Αλγόριθμοι στο Διαδίκτυο
Αλγόριθμοι χρησιμοποιούνται επίσης στο Διαδίκτυο, ειδικά από μηχανές αναζήτησης και κοινωνικά δίκτυα.
Χρήση αλγορίθμων σε μηχανές αναζήτησης
Ένα από τα πιο θυμημένα παραδείγματα είναι ο αλγόριθμος μηχανών αναζήτησης Google, ο οποίος εκτελεί διάφορες λειτουργίες για να οργανώσει τον τρόπο εμφάνισης των αποτελεσμάτων αναζήτησης στον χρήστη.
Όταν ένας χρήστης κάνει αναζήτηση στο Google για μια λέξη-κλειδί, όπως "τι είναι η δημοκρατία", η σειρά του Το αποτέλεσμα που εμφανίζεται εξαρτάται από διάφορους υπολογισμούς που ο αλγόριθμος πραγματοποίησε για να τα τοποθετήσει σε αυτό θέση.
Αυτοί οι υπολογισμοί βασίζονται σε διάφορες μεταβλητές, όπως η ποιότητα και η επικαιρότητα του περιεχομένου, η ποιότητα του ιστότοπου στο οποίο βρίσκεται το περιεχόμενο και πόσο καιρό οι άνθρωποι τείνουν να παραμένουν σε αυτήν τη σελίδα.
Ο αλγόριθμος της Google είναι αρκετά περίπλοκος και ενημερώνεται κατά καιρούς, προκειμένου να παρέχει καλύτερη εμπειρία και να παρουσιάζει τα καλύτερα αποτελέσματα για τους χρήστες.
Χρήση αλγορίθμων σε κοινωνικά δίκτυα
Τα κοινωνικά δίκτυα προγραμματίζονται επίσης με πολύπλοκους αλγόριθμους. Εσείς τροφές Το Facebook, το Instagram και το Twitter, για παράδειγμα, εμφανίζουν αναρτήσεις και διαφημίσεις σύμφωνα με τη συμπεριφορά των χρηστών.
Αυτό σημαίνει ότι δεν θα εμφανίζονται όλες οι δημοσιεύσεις των φίλων σας στη δική σας. ταίζω. Οι αλγόριθμοι αυτών των κοινωνικών δικτύων επιλέγουν αυτούς που έχουν τη μεγαλύτερη σημασία σύμφωνα με τις προτιμήσεις σας.
Ο αλγόριθμος του Facebook, που ονομάζεται EdgeRank, για παράδειγμα, επιλέγει το πιο σχετικό περιεχόμενο για εσάς σύμφωνα με διάφορους παράγοντες, όπως:
- Δημοσιεύσεις και σελίδες που σας αρέσουν.
- Άτομα με τα οποία αλληλεπιδράτε;
- Σελίδες όπου αφήνετε σχόλια.
- Οι μετοχές σας.
Το Spotify είναι ένα άλλο παράδειγμα μιας εφαρμογής και ενός κοινωνικού δικτύου που χρησιμοποιεί αλγόριθμους για να παρέχει στους χρήστες μια πιο εξατομικευμένη εμπειρία. Κάθε εβδομάδα η εφαρμογή προσφέρει ένα λίστα αναπαραγωγής που ονομάζεται "Ανακαλύψεις της εβδομάδας".
Οτι λίστα αναπαραγωγής περιέχει 30 τραγούδια που δεν έχει παίξει ποτέ ο χρήστης στην εφαρμογή, αλλά είναι παρόμοια με άλλα τραγούδια που συνήθως ακούει.
Ο στόχος είναι να παρουσιάσει στον χρήστη τα τραγούδια και τα συγκροτήματα που δεν γνωρίζει ακόμη, αλλά είναι πιθανώς συμβατά με τη μουσική του γεύση.
Δείτε επίσης την έννοια του λογισμικό και σκεύη, εξαρτήματα.