10 concetti matematici per programmatori - KDnuggets

10 concetti matematici per programmatori – KDnuggets

Nodo di origine: 2874651

10 concetti matematici per programmatori
Immagine dell'autore
 

Con l’aumento della domanda di programmatori, l’offerta incontrerà naturalmente sempre più persone che entrano nel settore ogni giorno. Tuttavia, è un settore competitivo. Per migliorare continuamente te stesso, acquisire competenze e aumentare il tuo stipendio, devi dimostrare di essere un programmatore esperto. Un modo per farlo è imparare cose che le persone in genere non sanno. 

Molte persone entrano nel settore della programmazione partendo dal presupposto che non sia necessario conoscere la matematica che c'è dietro. Anche se in qualche modo questo è vero, essere in grado di comprendere il concetto logico-matematico alla base della programmazione ti renderà un programmatore più abile. 

Com'è? Comprendendo cosa stai facendo e cosa sta succedendo. Ecco come.

Quindi entriamo subito nel merito. Quali sono i 10 concetti matematici più importanti per i programmatori?

L'algebra booleana deriva dall'algebra. Immagino che fosse ovvio. Se sei un programmatore o stai cercando di diventarlo, probabilmente sai già cos'è Booleano. In caso contrario, lo definirò rapidamente. 

Booleano è un tipo di dati/variabile binaria che ha uno dei due valori possibili, ad esempio 0 (falso) o 1 (vero). Il tipo di dati booleano è supportato dall'algebra booleana, in cui i valori della variabile sono noti come valori di verità, vero e falso. Quando si lavora con l'algebra booleana, è possibile utilizzare tre operatori: 

  • Congiunzione o operazione AND
  • Disgiunzione o operazione OR
  • Operazione di negazione o non

Questi possono essere rappresentati visivamente come diagrammi di Venn, per darti una migliore comprensione dell'output. L'algebra booleana è composta da 6 leggi:

  • Diritto commutativo
  • Diritto associativo
  • Diritto distributivo
  • E legge
  • O legge
  • Legge di inversione

I computer capiscono i numeri ed è per questo che hanno bisogno di un sistema numerico. Un sistema numerico è noto come un sistema di scrittura utilizzato per esprimere i numeri. Ad esempio, hai questi quattro tipi di sistema numerico più comuni:

  1. Sistema di numeri decimali (Base-10)
  2. Sistema di numeri binari (Base-2)
  3. Sistema di numeri ottali (Base-8)
  4. Sistema numerico esadecimale (Base-16)

I computer funzionano con un sistema numerico Base-2, dove le cifre possibili sono 0 e 1. Base64 viene utilizzato anche per codificare dati binari in un formato stringa.

Per saperne di più sui numeri, abbiamo la virgola mobile. Un punto mobile è un tipo di dati variabile che rappresenta i numeri reali come approssimazione. Un numero a virgola mobile è un numero in cui la posizione del punto decimale può spostarsi o “fluttuare” invece di rimanere in una posizione fissa. Ciò consente agli sviluppatori di trovare un compromesso tra portata e precisione.

Ma perché un'approssimazione? I computer hanno solo una quantità limitata di spazio, 32 bit (precisione singola) o 64 bit (precisione doppia). 64 bit è l'impostazione predefinita per linguaggi di programmazione come Python e JavaScript. Un esempio di numeri a virgola mobile sono 1.29, 87.565 e 9038724.2. Può essere un numero intero positivo o negativo con un punto decimale. 

Conosciuto anche come log è un concetto matematico che utilizza l'inverso degli esponenziali per rispondere alla domanda. Allora perché i logaritmi sono importanti per i programmatori> Perché semplifica calcoli matematici complessi. Ad esempio, 1000 = 10^4 può anche essere scritto come 4 = log101000.

Il numero di base è un oggetto matematico che deve essere moltiplicato per se stesso. L'esponente è un numero che identifica quante volte un numero base deve essere moltiplicato per se stesso. Quindi un logaritmo è un esponente che indica a quale potenza deve essere elevata una base per produrre un dato numero.

Quando log utilizza Base-2 è un logaritmo binario, mentre se è Base-10 è un logaritmo comune. 

Un insieme è una raccolta unica e non ordinata di valori, che non necessitano di alcuna relazione tra loro. Possono contenere solo oggetti unici e non possono contenere lo stesso oggetto due o più volte.

Ad esempio, i file Excel o un database contengono tabelle che hanno una serie di righe univoche. Questo è un tipo di matematica discreta poiché queste strutture possono avere un numero finito di elementi. Lo scopo della teoria degli insiemi è comprendere gli insiemi di valori e le relazioni tra loro. Questo viene in genere utilizzato per analisti di dati, esperti SQL e scienziati di dati. 

Puoi farlo utilizzando:

  • Unione o intersezione interna: restituisce un insieme contenente elementi presenti in entrambi gli insiemi
  • Unione o unione esterna: restituisce gli elementi di entrambi gli insiemi
  • Union all: uguale all'operatore outside join, ma conterrà tutti i duplicati.
  • Tranne o Meno – A Meno B è un insieme contenente elementi dell'insieme A che non sono elementi dell'insieme B 

La combinatoria è l'arte di contare le cose per ottenere risultati e comprendere alcune proprietà delle strutture finite attraverso modelli. La programmazione riguarda la risoluzione dei problemi e la combinatoria è il modo in cui possiamo disporre gli oggetti per studiare queste strutture discrete finite.

La formula combinatoria è una combinazione di permutazione e combinazione.

  • La permutazione è l'atto di disporre un insieme in un ordine o sequenza
  • La combinazione è la selezione di valori dell'insieme in cui l'ordine non viene preso in considerazione.

Come già sai, un grafico è una rappresentazione visiva di un insieme di valori e questi valori possono essere collegati. Quando si tratta di dati, questi valori sono collegati tramite variabili, che nella teoria dei grafi sono note come collegamenti. 

La teoria dei grafi è lo studio dei grafi riguardanti la relazione tra spigoli e vertici di insiemi di punti connessi. Ciò ci consente di creare una relazione a coppie tra oggetti utilizzando i vertici, noti anche come nodi, collegati dai bordi, noti come linee. Un grafico è rappresentato come una coppia G(V, E), dove V rappresenta i vertici dell'insieme finito ed E rappresenta gli archi dell'insieme finito.

La teoria della complessità è lo studio della quantità di tempo e memoria necessari per l'esecuzione di un algoritmo in funzione della dimensione dell'input. Esistono due tipi di complessità:

  • Complessità spaziale: la quantità di memoria necessaria per l'esecuzione di un algoritmo.
  • Complessità temporale: la quantità di tempo necessaria per l'esecuzione di un algoritmo.

Sempre più persone sono preoccupate per la complessità temporale poiché possiamo riutilizzare la memoria di un algoritmo. Quando si tratta di complessità temporale, il modo migliore per misurarla è considerare il numero di operazioni eseguite dall’algoritmo. Gli algoritmi sono costruiti utilizzando istruzioni if ​​e cicli, quindi per ridurre il tempo impiegato è necessario utilizzare un codice che abbia il minor numero possibile di istruzioni if ​​e cicli.

La teoria della complessità per gli algoritmi utilizza la notazione big-o per aiutare a descrivere e fornire una migliore comprensione del comportamento limitante di un algoritmo. Viene utilizzato per classificare gli algoritmi in base al modo in cui rispondono ai cambiamenti nella dimensione dell'input.

Ahhh statistiche. Se stai cercando di entrare nel mondo dell’intelligenza artificiale, devi conoscere le statistiche. L’intelligenza artificiale e l’apprendimento automatico sono nomi piacevoli usati per le statistiche. La programmazione statistica viene utilizzata per risolvere problemi con un carico elevato di dati, come ChatGPT. La risposta di ChatGPT è tutta basata sulla probabilità di corrispondere al prompt fornito dall'utente. 

Avrai bisogno di imparare qualcosa di più della media, della mediana e della moda quando si tratta di programmazione statistica. Dovrai conoscere bias, covarianza e teorema di Bayes. Come programmatore, ti verranno assegnati dei compiti e ti renderai conto che ti starai chiedendo se si tratta di un problema di regressione lineare o di regressione logistica. Comprendere la differenza tra i due ti aiuterà a identificare il tipo di attività che hai a portata di mano. 

Potresti aver studiato l'algebra lineare a scuola, oppure no. L'algebra lineare è molto importante ed è ampiamente utilizzata nella computer grafica e nel deep learning. Per comprendere l'algebra lineare, dovrai comprendere queste tre parole:

  • Scalare: un singolo valore numerico
  • Vettore: un elenco di numeri o un array unidimensionale
  • Matrice: una griglia o un array bidimensionale

I vettori possono rappresentare punti e la direzione in uno spazio 3D, mentre le matrici possono rappresentare le trasformazioni che avvengono a questi vettori. 

Questo articolo ti fornisce una rapida panoramica dei 10 principali concetti matematici che miglioreranno la tua carriera di programmatore. Imparare le complessità non solo renderà le tue attività quotidiane più fluide e facili da comprendere, ma potrà essere mostrato al tuo datore di lavoro sul tuo potenziale. 

Se stai cercando un libro GRATUITO che ti aiuti, dai un'occhiata a: Matematica per l'apprendimento automatico: l'eBook gratuito
 
 
Nisha Aria è Data Scientist, Scrittore tecnico freelance e Community Manager presso KDnuggets. È particolarmente interessata a fornire consulenza o tutorial sulla carriera in Data Science e conoscenze basate sulla teoria in Data Science. Desidera anche esplorare i diversi modi in cui l'Intelligenza Artificiale è/può giovare alla longevità della vita umana. Una studentessa appassionata, che cerca di ampliare le sue conoscenze tecnologiche e le sue capacità di scrittura, aiutando nel contempo a guidare gli altri.
 

Timestamp:

Di più da KDnuggets