Casa Finanza personale Lavorare con funzioni algoritmiche - dummies

Lavorare con funzioni algoritmiche - dummies

Video: Trading Automatico: pensi di diventare ricco senza fare nulla? Devi sapere questo allora .. 2024

Video: Trading Automatico: pensi di diventare ricco senza fare nulla? Devi sapere questo allora .. 2024
Anonim

Una funzione in matematica è semplicemente un modo per mappare alcuni input per una risposta. Espressa in un modo diverso, una funzione è una trasformazione (basata su operazioni matematiche) che trasforma (mappa) il tuo input in una risposta.

Per determinati valori di input (solitamente indicati con le lettere x o n), si ottiene una risposta corrispondente utilizzando il calcolo matematico che definisce la funzione. Ad esempio, una funzione come f (n) = 2 n ti dice che quando il tuo input è un numero n, la tua risposta è il numero n moltiplicato per 2.

L'uso della dimensione dell'ingresso ha senso dato che questa è un'età critica e la vita delle persone è piena di una quantità crescente di dati. Rendere tutto una funzione matematica è un po 'meno intuitivo, ma una funzione che descrive come un algoritmo mette in relazione la sua soluzione con la quantità di dati che riceve è qualcosa che puoi analizzare senza un supporto hardware o software specifico. È anche facile da confrontare con altre soluzioni, data la dimensione del tuo problema. L'analisi degli algoritmi è davvero un concetto strabiliante perché riduce una serie complessa di passaggi in una formula matematica.

Inoltre, la maggior parte delle volte, un'analisi degli algoritmi non è nemmeno interessata a definire esattamente la funzione. Quello che vuoi veramente fare è confrontare una funzione obiettivo con un'altra funzione. Queste funzioni di confronto appaiono all'interno di un insieme di funzioni proposte che hanno un rendimento scarso se confrontate con l'algoritmo di destinazione. In questo modo, non è necessario collegare i numeri a funzioni di maggiore o minore complessità; invece, ti occupi di funzioni semplici, premade e ben note. Può sembrare approssimativo, ma è più efficace ed è simile alla classificazione delle prestazioni degli algoritmi in categorie, piuttosto che ottenere una misurazione esatta delle prestazioni.

L'insieme di funzioni generalizzate è chiamato notazione Big O, e spesso si incontra questo piccolo insieme di funzioni (messo tra parentesi e preceduto da una maiuscola O >) utilizzato per rappresentare le prestazioni degli algoritmi. La figura mostra l'analisi di un algoritmo. Un sistema di coordinate cartesiane può rappresentare la sua funzione come misurata dalla simulazione RAM, dove l'ascissa (la coordinata x) è la dimensione dell'ingresso e l'ordinata (la coordinata y) è la sua numero risultante di operazioni. Puoi vedere tre curve rappresentate. Le dimensioni dell'input sono importanti. Tuttavia, anche la qualità è importante (ad esempio, quando si ordinano problemi, è più veloce ordinare un input che è già quasi ordinato).Di conseguenza, l'analisi mostra il caso peggiore, f 1 (n), un caso medio, f 2 (n), e un caso migliore, f 3 (n). Anche se il caso medio potrebbe darti un'idea generale, quello che ti interessa davvero è il caso peggiore, perché possono sorgere problemi quando il tuo algoritmo fatica a raggiungere una soluzione. La funzione Big O è quella che, dopo un certo valore

n0 (la soglia per considerare un input grande), risulta sempre in un numero maggiore di operazioni dato lo stesso input rispetto alla funzione del caso peggiore > f1 . Pertanto, la funzione Big O è ancora più pessimistica di quella che rappresenta il tuo algoritmo, quindi, indipendentemente dalla qualità dell'input, puoi essere certo che le cose non possono peggiorare. Complessità di un algoritmo in caso di input migliore, medio e peggiore. Molte funzioni possibili possono portare a risultati peggiori, ma la scelta delle funzioni offerte dalla notazione Big O che è possibile utilizzare è limitata perché il suo scopo è di semplificare la misurazione della complessità proponendo uno standard. Di conseguenza, questa sezione contiene solo le poche funzioni che fanno parte della notazione Big O. Il seguente elenco li descrive in ordine crescente di complessità:

Complessità costante O (1):

La stessa ora, indipendentemente dalla quantità di input fornita. Alla fine, è un numero costante di operazioni, indipendentemente dalla durata dei dati di input. Questo livello di complessità è piuttosto raro nella pratica.

  • Complessità logaritmica O (log n): Il numero di operazioni cresce a un ritmo più lento dell'input, rendendo l'algoritmo meno efficiente con piccoli input e più efficiente con quelli più grandi. Un algoritmo tipico di questa classe è la ricerca binaria.
  • Complessità lineare O (n): Le operazioni crescono con l'input in un rapporto 1: 1. Un algoritmo tipico è l'iterazione, ovvero quando si esegue la scansione di input una sola volta e si applica un'operazione a ciascun elemento di essa.
  • Complessità Linearitmica O (n log n): La complessità è un mix tra complessità logaritmica e lineare. È tipico di alcuni algoritmi intelligenti utilizzati per ordinare dati, come Mergesort, Heapsort e Quicksort.
  • Complessità quadratica O (n 2
  • ): Le operazioni crescono come un quadrato del numero di input. Quando si ha una iterazione all'interno di un'altra iterazione (iterazioni nidificate, in informatica), si ha una complessità quadratica. Ad esempio, hai un elenco di nomi e, per trovare quelli più simili, confronti ogni nome con tutti gli altri nomi. Alcuni algoritmi di ordinamento meno efficienti presentano tale complessità: ordinamento di bolle, ordinamento di selezione e ordinamento di inserimento. Questo livello di complessità significa che i tuoi algoritmi possono essere eseguiti per ore o addirittura giorni prima di raggiungere una soluzione. Complessità cubica O (n 3
  • ): Le operazioni crescono anche più rapidamente della complessità quadratica perché ora si hanno più iterazioni annidate. Quando un algoritmo ha questo ordine di complessità ed è necessario elaborare una modesta quantità di dati (100.000 elementi), l'algoritmo potrebbe funzionare per anni.Quando si ha un numero di operazioni che è una potenza dell'input, è comune fare riferimento all'algoritmo come in esecuzione in tempo polinomiale. Complessità esponenziale O (2 n
  • ): L'algoritmo richiede il doppio del numero di operazioni precedenti per ogni nuovo elemento aggiunto. Quando un algoritmo ha questa complessità, anche piccoli problemi possono richiedere per sempre. Molti algoritmi che eseguono ricerche esaurienti hanno una complessità esponenziale. Tuttavia, l'esempio classico di questo livello di complessità è il calcolo dei numeri di Fibonacci. Complessità fattoriale O (n!): Un vero incubo di complessità a causa dell'elevato numero di possibili combinazioni tra gli elementi. Immagina: se il tuo input è di 100 oggetti e un'operazione sul tuo computer richiede 10
  • -6 secondi (una velocità ragionevole per ogni computer, oggigiorno), avrai bisogno di circa 10 140 anni per completare correttamente l'attività (una quantità di tempo impossibile dall'età dell'universo è stimata in 10 14 anni). Un famoso problema di complessità fattoriale è il problema del commesso viaggiatore, in cui un venditore deve trovare il percorso più breve per visitare molte città e tornare alla città di partenza.
Lavorare con funzioni algoritmiche - dummies

Scelta dell'editore

Sintassi JavaScript selezionata - dummies

Sintassi JavaScript selezionata - dummies

JavaScript è un linguaggio importante per la programmazione, lo sviluppo di giochi e le applicazioni desktop. Di seguito sono riportati gli elementi di sintassi JavaScript più comunemente utilizzati, inclusi i comandi per manipolare le variabili, controllare il flusso del programma e gestire le funzioni. Avviso funzione Descrizione ("messaggio"); Crea una finestra di dialogo a comparsa contenente un messaggio. var myVar = 0; Crea una variabile con un valore iniziale dato. Type is ...

I nuovi CSS3 Border Techniques - dummies

I nuovi CSS3 Border Techniques - dummies

Hanno fatto parte del CSS fin dall'inizio, ma i CSS3 aggiungono nuove opzioni davvero entusiasmanti. I browser moderni ora supportano i bordi creati da un'immagine così come gli angoli arrotondati e le ombre dei riquadri. Queste tecniche promettono di aggiungere nuove straordinarie funzionalità ai tuoi progetti. Confini dell'immagine CSS3 consente di utilizzare un'immagine ...

Scelta dell'editore

Utilizzando il componente aggiuntivo Analisi dati Excel con tabelle - dummies

Utilizzando il componente aggiuntivo Analisi dati Excel con tabelle - dummies

Il componente aggiuntivo Analisi dati (noto nelle precedenti versioni di Excel come Analysis ToolPak o ATP) ti aiuta a fare analisi statistiche di ogni genere - e la previsione delle vendite è sicuramente una sorta di analisi statistica. Un componente aggiuntivo contiene codice Visual Basic: un programma, spesso scritto in una versione di BASIC, che Excel può eseguire. È ...

Utilizzando riferimenti di celle esterne in Excel - dummies

Utilizzando riferimenti di celle esterne in Excel - dummies

Potresti scoprire di avere dati in una cartella di lavoro di Excel che desideri fare riferimento in una formula all'interno di un'altra cartella di lavoro. In tale situazione, è possibile creare un collegamento tra le cartelle di lavoro utilizzando un riferimento di cella esterna. Un riferimento di cella esterna non è altro che un riferimento di cella che risiede in un esterno ...

Utilizzando Excel per calcolare una media basata su criteri - dummy

Utilizzando Excel per calcolare una media basata su criteri - dummy

È Possibile utilizzare Excel per calcolare una media . Immaginalo: devi calcolare una media da un elenco di numeri, usando solo i numeri nell'elenco che corrispondono a una condizione. In altre parole, calcola la media utilizzando i numeri se corrispondono a un determinato criterio. Excel è pieno di sorprese e, per questo trucco, tu ...

Scelta dell'editore

Come utilizzare le funzioni per trovare valori in Excel - dummies

Come utilizzare le funzioni per trovare valori in Excel - dummies

Excel fornisce funzioni per trovare il più grande o i valori più piccoli in un set di dati Excel. Queste funzioni includono MAX, MAXA, MIN, MINA, LARGE e SMALL. MAX: valore massimo La funzione MAX trova il valore più grande nei dati. La funzione ignora le celle vuote e le celle contenenti testo o valori logici come TRUE e FALSE ...

Come utilizzare le macro per creare cartelle di lavoro Excel - dummies

Come utilizzare le macro per creare cartelle di lavoro Excel - dummies

A volte potresti volere o dover creare un Excel cartella di lavoro in modo automatico. Ad esempio, potrebbe essere necessario copiare i dati da una tabella e incollarli in una cartella di lavoro appena creata. La seguente macro copia un intervallo di celle dal foglio attivo e incolla i dati in una nuova cartella di lavoro. In che modo ...

Come utilizzare l'obiettivo Ricerca in Excel 2016 - manichini

Come utilizzare l'obiettivo Ricerca in Excel 2016 - manichini

A volte quando si fa l'analisi what-if in Excel 2016 , hai in mente un risultato particolare, ad esempio un importo di vendita o una percentuale di crescita target. Quando è necessario eseguire questo tipo di analisi, si utilizza la funzione Goal Seek di Excel per trovare i valori di input necessari per raggiungere l'obiettivo desiderato. Per utilizzare la ricerca obiettivo ...