Un algoritmo adattivo è un insieme di istruzioni per eseguire una funzione che può adattarsi in caso di cambiamenti nell’ambiente o nelle circostanze. Gli algoritmi adattivi sono in grado di adattare in modo intelligente le proprie attività alla luce delle mutevoli circostanze per ottenere il miglior risultato possibile. Possono essere programmati in una serie di linguaggi informatici per fare qualsiasi cosa, dall’automazione del controllo del traffico aereo alla restituzione di risultati di ricerca che saranno accurati e utili per un utente di Internet.
L’algoritmo adattivo può modificare il proprio comportamento se rileva la necessità di farlo. Nell’esempio di un motore di ricerca, il motore può eseguire la scansione dell’intera Internet e restituire risultati da una varietà di posizioni, ma potrebbe considerare prima i parametri noti sull’utente. Se l’indirizzo IP dell’utente ha origine in Francia, ad esempio, l’algoritmo adattivo restituirebbe risultati in francese oppure il motore di ricerca potrebbe reindirizzare l’utente al suo sito francese.
Gli algoritmi possono anche imparare dal comportamento degli utenti. Gli utenti dello stesso motore di ricerca nello stesso paese potrebbero notare che ottengono risultati diversi. Questi sono basati su comportamenti di ricerca passati e link di click-through. L’algoritmo può personalizzare i suoi risultati in base alle esigenze dell’utente. Ad esempio, una persona che cerca “calcio” e fa clic su collegamenti sul football americano, non sul calcio, insegna all’algoritmo i tipi di risultati che vuole vedere.
Tali algoritmi possono essere utili quando è necessario impostare istruzioni per eseguire un comando, ma il sistema deve essere in grado di sovrascrivere l’algoritmo in caso di situazione urgente. Con il controllo del traffico aereo parzialmente automatizzato, ad esempio, l’algoritmo può rispondere quando un aereo riceve una chiamata di soccorso via radio. Consiglierà ai controllori del traffico aereo come reindirizzare il traffico esistente, invece di insistere per far atterrare prima quegli aerei e mettere l’aereo in difficoltà in una coda d’attesa. L’algoritmo può adattarsi alle circostanze e può ignorare le normali istruzioni per mettere gli aerei in coda in ordine di arrivo quando rileva una situazione di emergenza.
La codifica di un algoritmo adattivo richiede più tempo rispetto allo sviluppo di uno normale e può richiedere alcune considerazioni speciali. Prima che un programmatore crei un algoritmo, di solito svilupperà un elenco di parametri per descrivere cosa deve fare e come. Con una versione adattiva, penserà alle situazioni che potrebbero sorgere e imposterà il codice in modo che l’algoritmo adattivo possa imparare dalle sue esperienze.