10 Μαθηματικές Έννοιες για Προγραμματιστές - KDnuggets

10 Μαθηματικές Έννοιες για Προγραμματιστές – KDnuggets

Κόμβος πηγής: 2874651

10 Μαθηματικές Έννοιες για Προγραμματιστές
Εικόνα από συγγραφέα
 

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

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

Πώς είναι αυτό? Κατανοώντας τι κάνετε και τι συμβαίνει. Ετσι.

Ας μπούμε λοιπόν κατευθείαν σε αυτό. Ποιες είναι οι 10 κορυφαίες μαθηματικές έννοιες για προγραμματιστές;

Η άλγεβρα Boole πηγάζει από την άλγεβρα. Μάλλον ήταν προφανές. Εάν είστε προγραμματιστής ή προσπαθείτε να γίνετε, πιθανότατα γνωρίζετε ήδη τι είναι ο Boolean. Αν όχι, θα το ορίσω γρήγορα. 

Το Boolean είναι ένας τύπος δεδομένων/δυαδική μεταβλητή που έχει μία από τις δύο πιθανές τιμές, για παράδειγμα 0 (false) ή 1 (true). Ο τύπος δεδομένων boole υποστηρίζεται από δυαδική άλγεβρα, στην οποία οι τιμές της μεταβλητής είναι γνωστές ως τιμές αλήθειας, true και false. Όταν εργάζεστε με άλγεβρα boole, υπάρχουν τρεις τελεστές που μπορείτε να χρησιμοποιήσετε: 

  • Σύνδεσμος ή λειτουργία ΚΑΙ
  • Λειτουργία διαχωρισμού ή OR
  • Λειτουργία άρνησης ή μη

Αυτά μπορούν να αναπαρασταθούν οπτικά ως διαγράμματα venn, για να σας δώσουν μια καλύτερη κατανόηση του αποτελέσματος. Η άλγεβρα Boole αποτελείται από 6 νόμους:

  • Ανταλλαγή νόμου
  • Συνεταιριστικό δίκαιο
  • Διανεμητικό δίκαιο
  • ΚΑΙ νόμος
  • Ή νόμος
  • Νόμος αντιστροφής

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

  1. Σύστημα δεκαδικών αριθμών (Βάση-10)
  2. Δυαδικό σύστημα αριθμών (Βάση-2)
  3. Οκταδικό σύστημα αριθμών (Βάση-8)
  4. Δεκαεξαδικό σύστημα αριθμών (Βάση-16)

Οι υπολογιστές λειτουργούν με ένα αριθμητικό σύστημα Base-2, όπου τα πιθανά ψηφία είναι 0 και 1. Το Base64 χρησιμοποιείται επίσης για την κωδικοποίηση δυαδικών δεδομένων σε μορφή συμβολοσειράς.

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

Γιατί όμως μια προσέγγιση; Οι υπολογιστές έχουν περιορισμένο μόνο χώρο, είτε 32 bit (μονής ακρίβειας) είτε 64 bit (διπλής ακρίβειας). Τα 64 bit είναι η προεπιλογή για γλώσσες προγραμματισμού όπως η Python και η JavaScript. Ένα παράδειγμα αριθμών κινητής υποδιαστολής είναι οι 1.29, 87.565 και 9038724.2. Μπορεί να είναι είτε θετικός είτε αρνητικός ακέραιος αριθμός με δεκαδικό ψηφίο. 

Γνωστή και ως log είναι μια μαθηματική έννοια που χρησιμοποιεί το αντίστροφο των εκθετικών για να απαντήσει στην ερώτηση. Γιατί λοιπόν είναι σημαντικοί οι λογάριθμοι για τους προγραμματιστές> Επειδή απλοποιεί πολύπλοκους μαθηματικούς υπολογισμούς. Για παράδειγμα, το 1000 = 10^4 μπορεί επίσης να γραφτεί ως 4 = log101000.

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

Όταν το log χρησιμοποιεί τη Βάση-2 είναι ένας δυαδικός λογάριθμος, και αν είναι η Βάση-10 είναι ένας κοινός λογάριθμος. 

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

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

Μπορείτε να το κάνετε αυτό χρησιμοποιώντας:

  • Εσωτερική ένωση ή τομή – Επιστρέφει ένα σύνολο που περιέχει στοιχεία που υπάρχουν και στα δύο σύνολα
  • Εξωτερική ένωση ή ένωση – Επιστρέφει στοιχεία και από τα δύο σύνολα
  • Union all – Ίδιο με τον εξωτερικό τελεστή σύνδεσης, αλλά θα περιέχει όλα τα διπλότυπα.
  • Εκτός ή Μείον – Α Μείον Β είναι ένα σύνολο που περιέχει στοιχεία από το σύνολο Α που δεν είναι στοιχεία του συνόλου Β 

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

Ο τύπος Combinatorics είναι ένας συνδυασμός μετάθεσης και συνδυασμού.

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

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

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

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

  • Πολυπλοκότητα χώρου – η ποσότητα μνήμης που χρειάζεται ένας αλγόριθμος για να εκτελεστεί.
  • Χρονική πολυπλοκότητα – ο χρόνος που χρειάζεται ένας αλγόριθμος για να εκτελεστεί.

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

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

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

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

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

  • Scalar - μια απλή αριθμητική τιμή
  • Διάνυσμα – μια λίστα αριθμών ή πίνακας 1 διαστάσεων
  • Matrix – πλέγμα ή πίνακας 2 διαστάσεων

Τα διανύσματα μπορούν να αντιπροσωπεύουν σημεία και την κατεύθυνση σε έναν τρισδιάστατο χώρο, ενώ οι πίνακες μπορούν να αναπαριστούν μετασχηματισμούς που συμβαίνουν σε αυτά τα διανύσματα. 

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

Αν ψάχνετε για ένα ΔΩΡΕΑΝ βιβλίο για να σας βοηθήσει, ρίξτε μια ματιά: Μαθηματικά για μηχανική εκμάθηση: Το δωρεάν eBook
 
 
Nisha Arya είναι Επιστήμονας Δεδομένων, Ανεξάρτητος Τεχνικός Συγγραφέας και Διευθυντής Κοινότητας στο KDnuggets. Ενδιαφέρεται ιδιαίτερα να παρέχει συμβουλές σταδιοδρομίας ή σεμινάρια της Επιστήμης Δεδομένων και γνώσεις βασισμένες στη θεωρία γύρω από την Επιστήμη των Δεδομένων. Επιθυμεί επίσης να διερευνήσει τους διαφορετικούς τρόπους με τους οποίους η Τεχνητή Νοημοσύνη μπορεί/μπορεί να ωφελήσει τη μακροζωία της ανθρώπινης ζωής. Μια δεινή μαθήτρια, που επιδιώκει να διευρύνει τις τεχνολογικές της γνώσεις και τις δεξιότητες γραφής, βοηθώντας παράλληλα να καθοδηγήσει άλλους.
 

Σφραγίδα ώρας:

Περισσότερα από KDnuggets