Σπίτι Προσωπικά Οικονομικά Που εργάζονται με αλγοριθμικές λειτουργίες - ανδρείκελα

Που εργάζονται με αλγοριθμικές λειτουργίες - ανδρείκελα

Βίντεο: Πολιτισμός σε Παρακμή - Eπεισόδιο 2 «Οικονομικά για Αρχάριους» 2024

Βίντεο: Πολιτισμός σε Παρακμή - Eπεισόδιο 2 «Οικονομικά για Αρχάριους» 2024
Anonim

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

Για ορισμένες τιμές εισόδου (συνήθως σημειώνονται με τα γράμματα x ή n), έχετε μια αντίστοιχη απάντηση χρησιμοποιώντας το μαθηματικό που ορίζει τη λειτουργία. Για παράδειγμα, μια συνάρτηση όπως f (n) = 2 n σας λέει ότι όταν η εισαγωγή σας είναι αριθμός είναι ο αριθμός n πολλαπλασιασμένος με 2.

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

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

Big O

συμβολισμός και συχνά συναντάτε αυτό το μικρό σύνολο λειτουργιών (τοποθετείται σε παρένθεση και προηγείται κεφαλαίο O >) που παριστάνουν την απόδοση των αλγορίθμων. Το σχήμα δείχνει την ανάλυση ενός αλγορίθμου. Ένα καρτεσιανό σύστημα συντεταγμένων μπορεί να αντιπροσωπεύει τη λειτουργία του όπως μετράται με προσομοίωση RAM, όπου η τετμημένη (η συντεταγμένη x) είναι το μέγεθος της εισόδου και η σειρά (η συντεταγμένη y) επακόλουθο αριθμό ενεργειών. Μπορείτε να δείτε τρεις αντιπροσωπευτικές καμπύλες. Το μέγεθος εισαγωγής έχει σημασία. Ωστόσο, η ποιότητα έχει επίσης σημασία (για παράδειγμα, κατά την παραγγελία προβλημάτων, είναι πιο γρήγορο να παραγγείλετε μια εισροή η οποία είναι ήδη σχεδόν διατεταγμένη).Συνεπώς, η ανάλυση παρουσιάζει μια χειρότερη περίπτωση, f

1 (n), μια μέση περίπτωση, f 2 μια καλύτερη περίπτωση, f 3 (n). Παρόλο που η μέση περίπτωση μπορεί να σας δώσει μια γενική ιδέα, αυτό που σας ενδιαφέρει είναι η χειρότερη περίπτωση, επειδή μπορεί να προκύψουν προβλήματα όταν ο αλγόριθμός σας δυσκολεύεται να φτάσει σε μια λύση. Η συνάρτηση Big O είναι αυτή που μετά από μια ορισμένη τιμή n0 (το κατώφλι για την εξέταση μιας μεγάλης εισόδου) οδηγεί πάντοτε σε έναν μεγαλύτερο αριθμό λειτουργιών που έχουν την ίδια είσοδο από τη συνάρτηση worst-case > f1. Έτσι, η λειτουργία Big O είναι ακόμα πιο απαισιόδοξη από αυτή που αντιπροσωπεύει τον αλγόριθμό σας, έτσι ώστε ανεξάρτητα από την ποιότητα της εισόδου, μπορείτε να είστε σίγουροι ότι τα πράγματα δεν μπορούν να χειροτερεύσουν.

Πολυπλοκότητα ενός αλγορίθμου σε περίπτωση καλύτερης, μέσης και χειρότερης περίπτωσης εισαγωγής. Πολλές πιθανές λειτουργίες μπορούν να οδηγήσουν σε χειρότερα αποτελέσματα, αλλά η επιλογή των λειτουργιών που προσφέρει η σημείωση Big Ο που μπορείτε να χρησιμοποιήσετε είναι περιορισμένη επειδή σκοπός της είναι να απλοποιήσει τη μέτρηση της πολυπλοκότητας προτείνοντας ένα πρότυπο. Συνεπώς, αυτή η ενότητα περιέχει μόνο τις λίγες λειτουργίες που αποτελούν μέρος της σημαντικής εγγραφής Big O. Η λίστα που ακολουθεί τις περιγράφει με αυξανόμενη σειρά πολυπλοκότητας: Συνεχής πολυπλοκότητα O (1): Την ίδια στιγμή, ανεξάρτητα από την ποσότητα εισόδου που παρέχετε. Στο τέλος, είναι ένας σταθερός αριθμός λειτουργιών, ανεξάρτητα από το πόσο χρόνο είναι τα δεδομένα εισόδου. Αυτό το επίπεδο πολυπλοκότητας είναι αρκετά σπάνιο στην πράξη. Λογαριθμική πολυπλοκότητα O (log n):

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

Γραμμική πολυπλοκότητα O (n):

  • Οι λειτουργίες αυξάνονται με την είσοδο σε αναλογία 1: 1. Ένας τυπικός αλγόριθμος είναι η επανάληψη, η οποία είναι όταν σαρώνετε την είσοδο μία φορά και εφαρμόζετε μια λειτουργία σε κάθε στοιχείο της. Γραμμική πολυπλοκότητα O (n log n):
  • Η πολυπλοκότητα είναι ένα μίγμα μεταξύ λογαριθμικής και γραμμικής πολυπλοκότητας. Είναι χαρακτηριστικό για ορισμένους έξυπνους αλγόριθμους που χρησιμοποιούνται για την παραγγελία δεδομένων, όπως το Mergesort, το Heapsort και το Quicksort. Τετραγωνική πολυπλοκότητα O (n
  • 2 ):
  • Οι πράξεις αναπτύσσονται ως ένα τετράγωνο του αριθμού των εισροών. Όταν έχετε μια επανάληψη μέσα σε μια άλλη επανάληψη (ένθετες επαναλήψεις, στην επιστήμη των υπολογιστών), έχετε τετραγωνική πολυπλοκότητα. Για παράδειγμα, έχετε μια λίστα με ονόματα και, για να βρείτε τα πιο παρόμοια, συγκρίνετε κάθε όνομα με όλα τα άλλα ονόματα. Μερικοί λιγότερο αποτελεσματικοί αλγόριθμοι παραγγελίας παρουσιάζουν μια τέτοια πολυπλοκότητα: είδος φυσαλίδας, είδος επιλογής και είδος εισαγωγής. Αυτό το επίπεδο πολυπλοκότητας σημαίνει ότι οι αλγόριθμοί σας μπορούν να εκτελούνται για ώρες ή ακόμη και ημέρες πριν φθάσουν σε μια λύση. Κυβική πολυπλοκότητα O (n
  • 3 ): Οι λειτουργίες αναπτύσσονται ακόμα ταχύτερα από την τετραγωνική πολυπλοκότητα, επειδή τώρα έχετε πολλές επαναλαμβανόμενες επαναλήψεις. Όταν ένας αλγόριθμος έχει αυτή τη σειρά πολυπλοκότητας και πρέπει να επεξεργαστείτε μια μέτρια ποσότητα δεδομένων (100, 000 στοιχεία), ο αλγόριθμός σας μπορεί να τρέξει για χρόνια.Όταν έχετε πολλές λειτουργίες που είναι μια δύναμη της εισόδου, είναι συνηθισμένο να ανατρέχετε στον αλγόριθμο ως που εκτελείται σε πολυωνυμικό χρόνο.
  • Εκθετική πολυπλοκότητα O (2 n ): Ο αλγόριθμος λαμβάνει διπλάσιο αριθμό προηγούμενων λειτουργιών για κάθε νέο στοιχείο που προστέθηκε. Όταν ένας αλγόριθμος έχει αυτή την πολυπλοκότητα, ακόμη και μικρά προβλήματα μπορεί να πάρουν για πάντα. Πολλοί αλγόριθμοι που κάνουν εξαντλητικές αναζητήσεις έχουν εκθετική πολυπλοκότητα. Ωστόσο, το κλασικό παράδειγμα αυτού του επιπέδου πολυπλοκότητας είναι ο υπολογισμός των αριθμών του Fibonacci. Παραγοντική πολυπλοκότητα O (n!):
  • Ένας πραγματικός εφιάλτης πολυπλοκότητας λόγω του μεγάλου αριθμού πιθανών συνδυασμών μεταξύ των στοιχείων. Φανταστείτε: Εάν η είσοδος σας είναι 100 αντικείμενα και μια λειτουργία στον υπολογιστή σας διαρκεί 10 -6 δευτερόλεπτα (μια λογική ταχύτητα για κάθε υπολογιστή, σήμερα), θα χρειαστείτε περίπου 10 140
  • χρόνια να ολοκληρώσει επιτυχώς την εργασία (ένα αδύνατο χρονικό διάστημα από την ηλικία του σύμπαντος εκτιμάται ότι είναι 10 14 χρόνια). Ένα διάσημο πρόβλημα παράγοντα πολυπλοκότητας είναι το πρόβλημα των μετακινούμενων πωλητών, στο οποίο ένας πωλητής πρέπει να βρει τη συντομότερη διαδρομή για να επισκεφτεί πολλές πόλεις και να επιστρέψει στην αρχική πόλη.

Που εργάζονται με αλγοριθμικές λειτουργίες - ανδρείκελα

Η επιλογή των συντακτών

Εξαρτήματα ηλεκτρονικών: Ενισχυτές ανοιχτού βρόχου

Εξαρτήματα ηλεκτρονικών: Ενισχυτές ανοιχτού βρόχου

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

Ηλεκτρονικά Στοιχεία: Δημοφιλή Op Amp Ενσωματωμένα Κυκλώματα - Dummy

Ηλεκτρονικά Στοιχεία: Δημοφιλή Op Amp Ενσωματωμένα Κυκλώματα - Dummy

Για την οικοδόμηση ενός πραγματικού ηλεκτρονικού κυκλώματος χρησιμοποιώντας Op-amp, φυσικά, θα πρέπει να χρησιμοποιήσετε ένα πραγματικό ενισχυτή op. Ευτυχώς, τα ενσωματωμένα ολοκληρωμένα κυκλώματα (IC) είναι άφθονα και σχεδόν όλα τα καταστήματα που πωλούν ηλεκτρονικά εξαρτήματα πωλούν διάφορους τύπους φθηνών IC-ενισχυτών. Το πιο δημοφιλές op-amp IC είναι το LM741, το οποίο έρχεται ...

Ηλεκτρονικά Συστατικά: Κύκλοι ταλαντωτών - ανδρείκελοι

Ηλεκτρονικά Συστατικά: Κύκλοι ταλαντωτών - ανδρείκελοι

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

Η επιλογή των συντακτών

Ασκήσεις για ανδρείκελα Κατάρτιση για ανδρείκελα Εξάσκηση - ανδρείκελα

Ασκήσεις για ανδρείκελα Κατάρτιση για ανδρείκελα Εξάσκηση - ανδρείκελα

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

Εκπαίδευση για παιδιά με αναπηρίες - ανδρείκελα

Εκπαίδευση για παιδιά με αναπηρίες - ανδρείκελα

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

Υποδηλώνουν ότι το παιδί σας είναι έτοιμο για ασήμαντη εκπαίδευση - ανδρείκελα

Υποδηλώνουν ότι το παιδί σας είναι έτοιμο για ασήμαντη εκπαίδευση - ανδρείκελα

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

Η επιλογή των συντακτών

Πώς να χρησιμοποιήσετε τη φαντασία σας για να χαλαρώσετε το σώμα σας για διαλογισμό - Dummies

Πώς να χρησιμοποιήσετε τη φαντασία σας για να χαλαρώσετε το σώμα σας για διαλογισμό - Dummies

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

Πώς να χρησιμοποιήσετε την προσοχή για τη διαχείριση του πόνου

Πώς να χρησιμοποιήσετε την προσοχή για τη διαχείριση του πόνου

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

Βελτίωση των σχέσεών σας - ανδρείκεS

Βελτίωση των σχέσεών σας - ανδρείκεS

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