Μια ιδιότητα που σημαίνει ότι οδηγεί πάντα ο αλγόριθμος Βασικές ιδιότητες του αλγορίθμου. Σε ποια ιδιότητα του αλγορίθμου αναφέρεται ο ορισμός;

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

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

    Αυτός ο όρος έχει άλλες έννοιες, βλέπε Άρη (έννοιες). MARS Δημιουργία: 1998 Δημοσίευση: 1998 Μέγεθος κλειδιού ... Wikipedia

    Αυτός ο όρος έχει άλλες έννοιες, βλέπε Άρη (έννοιες). MARS Δημιουργήθηκε: 1998 ... Wikipedia

    Αυτός ο όρος έχει άλλες έννοιες, βλέπε Αλγόριθμος (έννοιες). Για να βελτιώσετε αυτό το άρθρο, είναι επιθυμητό;: Επεξεργαστείτε ξανά το σχέδιο σύμφωνα με τους κανόνες ... Wikipedia

    Αυτό το άρθρο ενσωματώνει υλικό από αυτήν την έκδοση του αντίστοιχου άρθρου της Αγγλικής Wikipedia. Το Operational Transformation (OT) είναι μια τεχνολογία για την υποστήριξη μιας σειράς λειτουργιών συνεργασίας σε προηγμένα συστήματα... ... Wikipedia

    Αλγόριθμοι αναζήτησης γραφήματος A* B* Αλγόριθμος Bellman Ford Αμφίδρομη αναζήτηση Αλγόριθμος Dijkstra Αλγόριθμος Johnson Αναζήτηση πλάτους-πρώτη αναζήτηση Βάθος-πρώτη αναζήτηση Περιορισμένη σε βάθος Αναζήτηση Αναζήτηση πρώτης-καλύτερης αντιστοίχισης Ο αλγόριθμος του Floyd Warshall Αναζήτηση... ... Wikipedia

    Αυτός είναι ένας αλγόριθμος για την ταξινόμηση στοιχείων σε μια λίστα. Όταν ένα στοιχείο λίστας έχει πολλά πεδία, το πεδίο που χρησιμεύει ως κριτήριο σειράς ονομάζεται κλειδί ταξινόμησης. Στην πράξη, ένας αριθμός χρησιμοποιείται συχνά ως κλειδί, και σε άλλα πεδία... ... Wikipedia

    Η BMW (αγγλ. BMW Blue Midnight Wish) είναι μια κρυπτογραφική συνάρτηση κατακερματισμού (hf) με έξοδο n bit, όπου n=224.256, 384 ή 512. Οι συναρτήσεις κατακερματισμού έχουν σχεδιαστεί για να δημιουργούν «δακτυλικά αποτυπώματα» ή «χωνεύσεις» μηνυμάτων αυθαίρετων μήκος bit.... ... Wikipedia

    Αυτό το άρθρο πρέπει να έχει Wikified. Μορφοποιήστε το σύμφωνα με τους κανόνες μορφοποίησης του άρθρου. Αυτός ο όρος έχει άλλες έννοιες, βλέπε TEA (σημασίες) ... Wikipedia

Βιβλία

  • Λογικές και πρώτοι αριθμοί Lukasiewicz, A. S. Karpenko, Για πρώτη φορά στην παγκόσμια λογοτεχνία, μια μονογραφική μελέτη καθιερώνει μια άμεση σύνδεση μεταξύ λογικής και πρώτων αριθμών. Αν και οι πολύτιμες λογικές του Lukasiewicz ήταν το αποτέλεσμα μιας διάψευσης... Κατηγορία: Λογική Εκδότης: Librocom,
  • Λογική σε ερωτήσεις και απαντήσεις. Εγχειρίδιο, Kobzar Vladimir Ivanovich, Το σχολικό βιβλίο είναι γραμμένο σύμφωνα με το πρόγραμμα του μαθήματος της παραδοσιακής (γενικής, φιλοσοφικής) τυπικής λογικής. Εξετάζει τις βασικές μορφές και μεθόδους ψυχικής δραστηριότητας, τους... Κατηγορία:

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

Σε αυτό το άρθρο θα δούμε τις βασικές έννοιες του αλγορίθμου.

Ιστορικό εμφάνισης αλγορίθμων

Ο αλγόριθμος είναι μια έννοια που εμφανίστηκε τον 12ο αιώνα. Η ίδια η λέξη «αλγόριθμος» προέρχεται από τη λατινική ερμηνεία του ονόματος του διάσημου μαθηματικού της Μέσης Ανατολής Muhammad al-Khwarizmi, ο οποίος έγραψε το βιβλίο «On Indian Calculus». Αυτό το βιβλίο περιγράφει πώς να γράφετε σωστά φυσικούς αριθμούς χρησιμοποιώντας αραβικούς αριθμούς και παρέχει μια περιγραφή του αλγορίθμου για την εργασία με μια στήλη πάνω από τέτοιους αριθμούς.

Τον 12ο αιώνα, το βιβλίο «On Indian Accounting» μεταφράστηκε στα λατινικά και ήταν τότε που εμφανίστηκε αυτός ο ορισμός.

Αλληλεπίδραση του αλγορίθμου με άνθρωπο και μηχανή

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

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

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

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

Τι είναι ένας αλγόριθμος;

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

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

Γραφική έκδοση του αλγορίθμου

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

Δεν απεικονίζονται τυχαία. Για να τα κατανοήσει ο καθένας, χρησιμοποιούνται συχνότερα τα μπλοκ διαγράμματα και τα διαγράμματα δομής Nussi-Schneiderman.

Επίσης, τα μπλοκ διαγράμματα απεικονίζονται σύμφωνα με τα GOST-19701-90 και GOST-19.003-80.
Τα γραφικά σχήματα που χρησιμοποιούνται στον αλγόριθμο χωρίζονται σε:

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

    Βοηθητική.Χρειάζονται βοηθητικές εικόνες για να υποδείξουν μεμονωμένα, όχι τα πιο σημαντικά, στοιχεία επίλυσης ενός προβλήματος.

Σε έναν γραφικό αλγόριθμο, τα μπλοκ που χρησιμοποιούνται για την αναπαράσταση δεδομένων ονομάζονται μπλοκ.

Όλα τα μπλοκ πηγαίνουν με τη σειρά "από πάνω προς τα κάτω" και "από αριστερά προς τα δεξιά" - αυτή είναι η σωστή κατεύθυνση ροής. Με τη σωστή σειρά, οι γραμμές που συνδέουν τα μπλοκ δεν δείχνουν κατεύθυνση. Σε άλλες περιπτώσεις, η κατεύθυνση των γραμμών υποδεικνύεται χρησιμοποιώντας βέλη.

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

Πώς να φτιάξετε έναν αλγόριθμο σωστά;

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

Η γενική μεθοδολογία καταγραφής περιλαμβάνει τα ακόλουθα σημεία:

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

Κάθε αλγόριθμος πρέπει να έχει σαφώς καθορισμένη αρχή και τέλος.

Οι αλγόριθμοι πρέπει να περιγράφουν με σαφήνεια και σαφήνεια όλα τα δεδομένα, τόσο εισόδου όσο και εξόδου.

Κατά τη σύνταξη ενός αλγόριθμου, θα πρέπει να σημειώσετε τις ενέργειες που θα σας επιτρέψουν να εκτελέσετε τις απαραίτητες ενέργειες για την επίλυση του προβλήματος στα επιλεγμένα δεδομένα. Παράδειγμα αλγορίθμου:

  • Όνομα σχήματος.
  • Δεδομένα.
  • Αρχή.
  • Της ομάδας.
  • Τέλος.

Η σωστή κατασκευή του κυκλώματος θα διευκολύνει πολύ τον υπολογισμό των αλγορίθμων.

Γεωμετρικά σχήματα υπεύθυνα για διάφορες ενέργειες στον αλγόριθμο

Ένα οριζόντιο οβάλ είναι η αρχή και το τέλος (σημάδι ολοκλήρωσης).

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

Οριζόντιο παραλληλόγραμμο - είσοδος ή έξοδος (σύμβολο δεδομένων).

Ένα διαμάντι που βρίσκεται οριζόντια είναι ένας έλεγχος κατάστασης (σύμβολο λύσης).

Ένα επίμηκες, οριζόντια τοποθετημένο εξάγωνο είναι μια τροποποίηση (σημάδι προετοιμασίας).

Τα μοντέλα αλγορίθμων παρουσιάζονται στο παρακάτω σχήμα.

Τύπος-λεκτική έκδοση κατασκευής αλγορίθμου.

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

Η έννοια ενός αλγορίθμου στην επιστήμη των υπολογιστών

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

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

Υπάρχει επίσης ένα ειδικό πρόγραμμα που ονομάζεται «Αλγόριθμος», το οποίο βοηθά άτομα που δεν είναι εξοικειωμένα με τον προγραμματισμό να δημιουργήσουν τα δικά τους προγράμματα. Ένας τέτοιος πόρος μπορεί να γίνει ένας απαραίτητος βοηθός για όσους κάνουν τα πρώτα τους βήματα στην επιστήμη των υπολογιστών και θέλουν να δημιουργήσουν τα δικά τους παιχνίδια ή οποιαδήποτε άλλα προγράμματα.

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

συμπέρασμα

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

ΕΝΝΟΙΑ ΑΛΓΟΡΙΘΜΟΥ. ΙΔΙΟΤΗΤΕΣ ΤΟΥ ΑΛΓΟΡΙΘΜΟΥ. ΕΙΔΗ ΑΛΓΟΡΙΘΜΩΝ. ΜΕΘΟΔΟΙ ΠΕΡΙΓΡΑΦΗΣ ΑΛΓΟΡΙΘΜΩΝ

Ένας αλγόριθμος είναι μια ακριβής και κατανοητή οδηγία σε έναν εκτελεστή να εκτελέσει μια ακολουθία ενεργειών που στοχεύουν στην επίλυση ενός δεδομένου προβλήματος. Η λέξη "αλγόριθμος" προέρχεται από το όνομα του μαθηματικού Al Khorezmi, ο οποίος διατύπωσε τους κανόνες για την εκτέλεση αριθμητικών πράξεων. Αρχικά, ένας αλγόριθμος σήμαινε μόνο τους κανόνες για την εκτέλεση τεσσάρων αριθμητικών πράξεων σε αριθμούς. Αργότερα, αυτή η έννοια άρχισε να χρησιμοποιείται γενικά για να υποδηλώσει την αλληλουχία των ενεργειών που οδηγούν στη λύση κάθε δεδομένης εργασίας. Όταν μιλάμε για τον αλγόριθμο της υπολογιστικής διαδικασίας, είναι απαραίτητο να κατανοήσουμε ότι τα αντικείμενα στα οποία εφαρμόστηκε ο αλγόριθμος είναι δεδομένα. Ένας αλγόριθμος για την επίλυση ενός υπολογιστικού προβλήματος είναι ένα σύνολο κανόνων για τη μετατροπή των δεδομένων πηγής σε αποτελέσματα.

Κύριος ιδιότητες οι αλγόριθμοι είναι:

  1. ντετερμινισμός (βεβαιότητα). Προϋποθέτει τη λήψη ενός σαφούς αποτελέσματος μιας υπολογιστικής διαδικασίας με δεδομένα αρχικά δεδομένα. Λόγω αυτής της ιδιότητας, η διαδικασία εκτέλεσης του αλγορίθμου είναι μηχανικής φύσης.
  2. αποτελεσματικότητα. Υποδεικνύει την παρουσία τέτοιων αρχικών δεδομένων για τα οποία η υπολογιστική διαδικασία που εφαρμόζεται σύμφωνα με έναν δεδομένο αλγόριθμο πρέπει να σταματήσει μετά από έναν πεπερασμένο αριθμό βημάτων και να παράγει το επιθυμητό αποτέλεσμα.
  3. μαζικός χαρακτήρας. Αυτή η ιδιότητα υποδηλώνει ότι ο αλγόριθμος πρέπει να είναι κατάλληλος για την επίλυση όλων των προβλημάτων ενός δεδομένου τύπου.
  4. διακριτικότητα. Σημαίνει τη διαίρεση της υπολογιστικής διαδικασίας που καθορίζεται από τον αλγόριθμο σε ξεχωριστά στάδια, η δυνατότητα των οποίων να εκτελεστεί από τον εκτελεστή (υπολογιστή) είναι αναμφισβήτητη.

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

Η πιο διαδεδομένη, λόγω της σαφήνειάς της, είναι η γραφική (block diagram) μέθοδος καταγραφής αλγορίθμων.

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

Με όλη την ποικιλία των αλγορίθμων για την επίλυση προβλημάτων, μπορούν να διακριθούν τρεις κύριοι τύποι υπολογιστικών διαδικασιών:

  • γραμμικός;
  • διακλάδωση?
  • κυκλικός.

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

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

Ένας κύκλος είναι ένα τμήμα υπολογισμών που επαναλαμβάνεται πολλές φορές. Μια υπολογιστική διαδικασία που περιέχει έναν ή περισσότερους κύκλους ονομάζεται κυκλικός . Με βάση τον αριθμό των εκτελέσεων, οι κύκλοι χωρίζονται σε κύκλους με ορισμένο (προκαθορισμένο) αριθμό επαναλήψεων και σε κύκλους με αόριστο αριθμό επαναλήψεων. Ο αριθμός των επαναλήψεων του τελευταίου εξαρτάται από την ικανοποίηση κάποιας συνθήκης που καθορίζει την ανάγκη εκτέλεσης του κύκλου. Σε αυτή την περίπτωση, η συνθήκη μπορεί να ελεγχθεί στην αρχή του κύκλου -τότε μιλάμε για κύκλο με προϋπόθεση, ή στο τέλος- τότε είναι ένας κύκλος με μετασυνθήκη.

Ιδιότητες αλγορίθμων

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

Αυτές οι ιδιότητες είναι:

Διακριτικότητα (ασυνέχεια, διαχωρισμός) - ο αλγόριθμος πρέπει να αντιπροσωπεύει τη διαδικασία επίλυσης ενός προβλήματος ως διαδοχική εκτέλεση απλών (ή προκαθορισμένων) βημάτων. Κάθε ενέργεια που παρέχεται από τον αλγόριθμο εκτελείται μόνο αφού η προηγούμενη έχει ολοκληρώσει την εκτέλεση.

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

Αποδοτικότητα (πεπεραστικότητα) - ο αλγόριθμος πρέπει να οδηγεί στην επίλυση του προβλήματος σε έναν πεπερασμένο αριθμό βημάτων.

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

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

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

Κανόνες για την κατασκευή αλγορίθμων

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

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

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

Στη σχολική «θεωρία των αλγορίθμων» αυτοί οι δύο κανόνες δεν λαμβάνονται υπόψη. Ταυτόχρονα, η πρακτική εργασία με αλγόριθμους (προγραμματισμός) ξεκινά με την εφαρμογή αυτών των κανόνων. Στις γλώσσες προγραμματισμού, η εκχώρηση μνήμης πραγματοποιείται από δηλωτικούς τελεστές (τελεστές δήλωσης μεταβλητών).

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

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

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

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

Έννοια της λέξης αλγόριθμοςπολύ παρόμοια με τη σημασία των λέξεων συνταγή,οδηγίες. Ωστόσο, οποιοσδήποτε αλγόριθμος, σε αντίθεση με μια συνταγή ή μέθοδο, έχει απαραίτητα τις ακόλουθες ιδιότητες.

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

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

Ας εξετάσουμε ένα πολύ γνωστό παράδειγμα ενός «καθημερινού» αλγόριθμου - τον αλγόριθμο διάβασης δρόμου: «Κοιτάξτε προς τα αριστερά. Εάν δεν υπάρχουν αυτοκίνητα, περπατήστε μέχρι τη μέση του δρόμου. Αν υπάρχει, περιμένετε μέχρι να περάσουν κ.λπ.». Φανταστείτε την κατάσταση: υπάρχει ένα αυτοκίνητο στα αριστερά, αλλά δεν κινείται - το ελαστικό του αλλάζει. Εάν πιστεύετε ότι ο εκτελεστής ενός αλγορίθμου πρέπει να περιμένει, τότε καταλαβαίνετε αυτόν τον αλγόριθμο. Εάν αποφασίσετε ότι είναι δυνατό να διασχίσετε το δρόμο, θεωρώντας τον αλγόριθμο διορθωμένο λόγω απρόβλεπτων (κατά τη γνώμη σας!) περιστάσεων, τότε δεν έχετε κατακτήσει την έννοια του αλγορίθμου.

3. Αιτιοκρατία (βεβαιότητα και βεβαιότητα). Κάθε εντολή του αλγορίθμου καθορίζει μια σαφή ενέργεια του εκτελεστή και πρέπει να καθοριστεί με σαφήνεια ποια εντολή θα εκτελεστεί στη συνέχεια. Δηλαδή, εάν ένας αλγόριθμος εφαρμόζεται επανειλημμένα στο ίδιο σύνολο δεδομένων πηγής, τότε η έξοδος που λαμβάνει είναι το ίδιο αποτέλεσμα κάθε φορά.

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

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

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

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

Έννοια αλγορίθμου

Συνοψίζοντας τα παραπάνω διατυπώνουμε τα εξής έννοιααλγόριθμος.

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

Ο παραπάνω ορισμός δεν είναι ορισμός με τη μαθηματική έννοια της λέξης, δηλ. αυτός δεν είναι επίσημος ορισμός (για έναν επίσημο ορισμό του αλγορίθμου, βλ. το άρθρο " Θεωρία αλγορίθμων”).

Σημειώστε ότι για κάθε εκτελεστήςτο σύνολο των επιτρεπόμενων ενεργειών (SAC) είναι πάντα περιορισμένο - δεν μπορεί να υπάρχει εκτελεστής για τον οποίο οποιαδήποτε ενέργεια είναι επιτρεπτή. Ο παραφρασμένος συλλογισμός του I. Kant τεκμηριώνει τη διατυπωμένη δήλωση ως εξής: «Αν υπήρχε ένας τέτοιος ερμηνευτής, τότε στις επιτρεπτές του ενέργειες θα ήταν η δημιουργία μιας πέτρας που δεν μπορεί να σηκώσει. Αλλά αυτό έρχεται σε αντίθεση με το επιτρεπτό της δράσης "Σήκωσε οποιαδήποτε πέτρα".

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

Από την άλλη πλευρά, υπάρχουν προβλήματα για τα οποία είναι γενικά αδύνατο να κατασκευαστεί μια διαδικασία λύσης. Επιπλέον, αυτό το γεγονός μπορεί να αποδειχθεί αυστηρά. Μπορείτε να διαβάσετε σχετικά με αυτό στο άρθρο " Αλγοριθμικά άλυτα προβλήματα” 2.