Algoritmo stocastico
L'algoritmo stocastico è un tipo di algoritmo di ricerca e di ottimizzazione che utilizza le scelte casuali e il calcolo delle probabilità per raggiungere l'obiettivo. Gli elementi casuali possono essere presenti sia nei dati ( variabili casuali ) e sia nella computazione e nelle funzioni dell'algoritmo stesso. L'algoritmo stocastico è applicato alla risoluzione dei problemi in condizioni di incertezza ( ambiente stocastico ) e nell'intelligenza artificiale Nell'ottimizzazione stocastica la computazione è determinata dai parametri e dalle scelte casuali dell'algoritmo A parità di dati in input il risultato finale potrebbe essere differente a ogni riavvio dell'algoritmo stesso. Gli algoritmi stocastici consentono di analizzare la convergenza dei sistemi complessi verso soluzioni ottimali. Sono algoritmi stocastici i seguenti algoritmi.
- Algoritmo genetico. È un algoritmo stocastico basato sulla selezione casuale degli elementi. L'algoritmo consente di analizzare l'evoluzione della popolazione degli elementi su molteplici generazioni al fine di individuare eventuali trend e convergenze di lungo periodo.
- Simulated annealing. È un algoritmo di ricerca locale che utilizza una funzione stocastica per determinare i nodi successori da analizzare in funzione al ciclo di esecuzione e del salto positivo/negativo rispetto al nodo corrente. È un processo computazionale ispirato a un processo di lavorazione dei metalli.
- Hill climbing stocastico. È un algoritmo di ricerca locale con esplorazione randomizzata dei nodi successori a partire da un nodo locale di riferimento.
- Beam search stocastico. È la versione stocastica dell'algoritmo beam search. A partire dagli stessi nodi iniziali l'algoritmo esplora lo spazio di ricerca mediante una distribuzione probabilistica che delinea un cammino diverso e conduce a un risultato diverso per ogni elaborazione.