Un algoritm adaptiv este un set de instrucțiuni pentru a îndeplini o funcție care se poate adapta în cazul unor schimbări în mediu sau circumstanțe. Algoritmii adaptivi sunt capabili să își ajusteze în mod inteligent activitățile în lumina circumstanțelor în schimbare, pentru a obține cel mai bun rezultat posibil. Ele pot fi programate într-un număr de limbaje de calcul pentru a face totul, de la automatizarea controlului traficului aerian până la returnarea rezultatelor căutării care vor fi precise și utile pentru un utilizator de internet.
Algoritmul adaptiv își poate schimba comportamentul dacă simte necesitatea de a face acest lucru. În exemplul unui motor de căutare, motorul poate accesa cu crawlere întregul Internet și poate returna rezultate dintr-o varietate de locații, dar ar putea lua în considerare mai întâi parametri cunoscuți despre utilizator. Dacă adresa IP a utilizatorului provine din Franța, de exemplu, algoritmul adaptiv va returna rezultate franceze sau motorul de căutare ar putea redirecționa utilizatorul către site-ul său francez.
Algoritmii pot învăța și din comportamentul utilizatorilor. Utilizatorii aceluiași motor de căutare din aceeași țară pot observa că obțin rezultate diferite. Acestea se bazează pe comportamentele de căutare anterioare și pe link-uri de tip clic. Algoritmul își poate personaliza rezultatele în funcție de nevoile utilizatorului. De exemplu, o persoană care caută „fotbal” și dă clic pe link-uri despre fotbalul american, nu despre fotbal, învață algoritmul despre tipurile de rezultate pe care dorește să le vadă.
Astfel de algoritmi pot fi utili atunci când este necesar să se configureze instrucțiuni pentru a executa o comandă, dar sistemul trebuie să fie capabil să suprascrie algoritmul în cazul unei situații presante. Cu controlul traficului aerian parțial automatizat, de exemplu, algoritmul poate răspunde atunci când un avion transmite un apel de urgență. Acesta îi va sfătui pe controlorii de trafic aerian despre cum să redirecționeze traficul existent, în loc să insiste să aterizeze mai întâi acele avioane și să pună avionul aflat în dificultate într-o coadă de așteptare. Algoritmul se poate adapta circumstanțelor și poate trece peste instrucțiunile normale de a pune avioanele într-o coadă în ordinea sosirii lor atunci când detectează o situație de urgență.
Codarea unui algoritm adaptiv durează mai mult decât dezvoltarea unuia obișnuit și poate necesita unele considerații speciale. Înainte ca un programator să creeze un algoritm, ea va dezvolta de obicei o listă de parametri pentru a descrie ce trebuie să facă și cum. Cu o versiune adaptivă, ea se va gândi la situațiile care ar putea apărea și va configura codul astfel încât algoritmul adaptiv să poată învăța din experiențele sale.