Prilagodljivi algoritam je skup uputa za izvođenje funkcije koja se može prilagoditi u slučaju promjena u okruženju ili okolnostima. Prilagodljivi algoritmi sposobni su inteligentno prilagoditi svoje aktivnosti u svjetlu promjenjivih okolnosti kako bi postigli najbolji mogući ishod. Mogu se programirati na brojnim računalnim jezicima za sve, od automatizacije kontrole zračnog prometa do vraćanja rezultata pretraživanja koji će biti točni i korisni za korisnika interneta.
Prilagodljivi algoritam može promijeniti svoje ponašanje ako osjeti da je to potrebno. U primjeru tražilice, motor može indeksirati cijeli Internet i vraćati rezultate s raznih lokacija, ali može prvo uzeti u obzir poznate parametre o korisniku. Ako, na primjer, IP adresa korisnika potječe iz Francuske, adaptivni algoritam bi vratio rezultate na francuskom ili bi tražilica mogla preusmjeriti korisnika na njegovu francusku stranicu.
Algoritmi također mogu učiti iz ponašanja korisnika. Korisnici iste tražilice u istoj zemlji mogu primijetiti da dobivaju različite rezultate. One se temelje na prošlim navikama pretraživanja i klikovnim vezama. Algoritam može svoje rezultate prilagoditi potrebama korisnika. Na primjer, osoba koja pretražuje “nogomet” i klikne na veze o američkom nogometu, a ne nogometu, podučava algoritam o vrstama rezultata koje želi vidjeti.
Takvi algoritmi mogu biti korisni kada je potrebno postaviti instrukcije za izvršavanje naredbe, ali sustav mora biti u stanju nadjačati algoritam u slučaju pritiska. S djelomično automatiziranom kontrolom zračnog prometa, na primjer, algoritam može reagirati kada se avion javi radio pozivom u pomoć. Savjetovat će kontrolore zračnog prometa kako preusmjeriti postojeći promet, umjesto da inzistiraju na tome da se ti zrakoplovi prvo spuste i da se avion u nevolji stavi u red čekanja. Algoritam se može prilagoditi okolnostima i može nadjačati uobičajene upute za stavljanje zrakoplova u red čekanja prema njihovom dolasku kada otkrije hitnu situaciju.
Kodiranje adaptivnog algoritma traje dulje od razvoja običnog i može zahtijevati neka posebna razmatranja. Prije nego što programer stvori algoritam, obično će razviti popis parametara koji će opisati što i kako treba učiniti. Uz adaptivnu verziju, ona će razmišljati o situacijama koje bi se mogle pojaviti i postaviti kod kako bi adaptivni algoritam mogao učiti iz svojih iskustava.