I 10 tipi di algoritmi principali

Tra i diversi tipi di algoritmi esistenti, quelli che sono classificati in base al loro sistema di segni e in base alla loro funzione si distinguono. Un algoritmo è una serie di passaggi che vengono eseguiti per risolvere un problema, eseguire un'attività o eseguire un calcolo.

Per definizione, sono generalmente disegni rigorosi e logici, come operazioni matematiche, che si sono dimostrati ottimali per risolvere qualsiasi difficoltà in questione.

Fondamentalmente un algoritmo è la soluzione più conosciuta per un particolare problema. Secondo la sua strategia e la sua funzione, ci sono molti tipi di algoritmi.

Alcuni di questi tipi sono: algoritmi dinamici, algoritmi inversi, algoritmi di forza bruta, algoritmi opportunistici, algoritmi di marcatura e algoritmi casuali, tra gli altri.

Gli algoritmi hanno usi diversi in molti campi. Dall'area computer, passando per la matematica all'area marketing. Esistono migliaia di algoritmi appropriati per risolvere i problemi in ciascuna area.

Classificazione dei tipi di algoritmo

Secondo il suo sistema di segni

Algoritmi qualitativi

Questi algoritmi sono quelli in cui sono posizionati gli elementi verbali. Un esempio di questo tipo di algoritmo sono le istruzioni o "passo dopo passo" che vengono fornite oralmente.

Questo è il caso delle ricette di cucina o delle istruzioni per fare un lavoro fai da te.

Algoritmi quantitativi

Sono l'opposto degli algoritmi qualitativi, perché gli elementi numerici sono posizionati. Questi tipi di algoritmi sono utilizzati in matematica per eseguire calcoli. Ad esempio, per trovare una radice quadrata o risolvere un'equazione.

Algoritmo computazionale

Sono gli algoritmi che sono fatti con un computer; Molti di questi algoritmi sono più complessi e pertanto devono essere eseguiti tramite una macchina. Possono anche essere algoritmi quantitativi ottimizzati.

Algoritmo non computazionale

Questi algoritmi sono quelli che non possono essere fatti con un computer; per esempio, la programmazione di un televisore.

Secondo la sua funzione

Algoritmo di etichettatura

Questo algoritmo utilizza l'automazione per impostare i prezzi in modo dinamico, in base a fattori come il comportamento dei clienti.

È prassi di impostare automaticamente un prezzo per gli articoli in vendita, per massimizzare il profitto del venditore. È stata una pratica comune nel settore del trasporto aereo fin dai primi anni '90.

L'algoritmo di codifica è una pratica comune in settori altamente competitivi, come i viaggi e il commercio online.

Questo tipo di algoritmo può essere estremamente complesso o relativamente semplice. In molti casi possono essere autodidatti o possono essere continuamente ottimizzati con i test.

L'algoritmo di codifica può essere impopolare con i clienti in quanto le persone tendono a valutare la stabilità e l'imparzialità.

Un algoritmo probabilistico

È un algoritmo in cui il risultato o il modo in cui viene ottenuto il risultato dipende dalla probabilità. A volte sono anche chiamati algoritmi casuali.

In alcune applicazioni l'uso di questo tipo di algoritmo è naturale, ad esempio quando si simula il comportamento di un sistema esistente o pianificato nel tempo. In questo caso il risultato è fortuito.

In altri casi il problema da risolvere è deterministico ma può essere trasformato in caso fortuito e può essere risolto applicando un algoritmo di probabilità.

La cosa buona di questo tipo di algoritmo è che la sua applicazione non richiede conoscenze sofisticate o matematiche. Esistono tre tipi principali: numerico, Monte Carlo e Las Vegas.

L'algoritmo numerico utilizza l'approssimazione, anziché le manipolazioni simboliche, per risolvere i problemi dell'analisi matematica. Possono essere applicati in tutti i campi dell'ingegneria e delle scienze fisiche.

D'altra parte, gli algoritmi di Monte Carlo producono risposte basate sulla probabilità. Di conseguenza, le soluzioni prodotte da questo algoritmo possono o meno essere corrette, poiché hanno un certo margine di errore.

È usato dagli sviluppatori, dai matematici e dagli scienziati. Sono in contrasto con gli algoritmi di Las Vegas.

Infine, gli algoritmi di Las Vegas sono caratterizzati dal fatto che il risultato sarà sempre corretto, ma il sistema può utilizzare più delle risorse previste o più tempo della stima.

In altre parole: questi algoritmi fanno una sorta di scommessa con l'uso di risorse, ma producono sempre un risultato preciso.

Programmazione dinamica

La parola dinamica si riferisce al metodo in cui l'algoritmo calcola il risultato. A volte la soluzione di un elemento del problema dipende dalla soluzione di una serie di problemi minori.

Pertanto, per risolvere il problema, gli stessi valori devono essere calcolati ancora e ancora per risolvere sottoproblemi più piccoli. Ma questo crea uno spreco di cicli.

Per rimediare, è possibile utilizzare la programmazione dinamica. In questo caso, in pratica, viene ricordato il risultato di ciascun sottoproblema; quando necessario, tale valore viene utilizzato invece di calcolarlo ancora e ancora.

Algoritmi euristici

Questi algoritmi sono quelli che trovano soluzioni tra tutti quelli possibili, ma non garantiscono che il meglio di questi sarà trovato. Per questo motivo sono considerati algoritmi approssimativi o non precisi.

Di solito trovano una soluzione vicino al meglio e la trovano rapidamente e facilmente. Generalmente questo tipo di algoritmo viene utilizzato quando è impossibile trovare una soluzione nel modo normale.

Algoritmi posteriori

Sono algoritmi che sono stati revocati osservando il loro comportamento. Tipicamente sono approssimazioni dell'algoritmo originale che sono costruite per scopi come competizione o studi.

Gli algoritmi possono essere revocati per studiarne l'impatto sui mercati, sull'economia, sui prezzi, sulle operazioni e sulla società.

Algoritmo famelico

In molti dei problemi, prendere decisioni voraci porta a soluzioni ottimali. Questo tipo di algoritmi è applicabile ai problemi di ottimizzazione.

In ogni fase di un algoritmo vorace viene presa una decisione logica e ottimale, in modo che alla fine sia raggiunta la migliore soluzione globale.

Ma tieni presente che una volta presa una decisione, non può essere corretta o modificata in futuro.

Testare la veridicità di un algoritmo vorace è molto importante, poiché non tutti gli algoritmi di questo tipo portano a una soluzione globale ottimale.