Mukautuva algoritmi on joukko ohjeita toiminnon suorittamiseksi, joka voi mukautua ympäristön tai olosuhteiden muuttuessa. Mukautuvat algoritmit pystyvät älykkäästi säätämään toimintaansa muuttuvien olosuhteiden valossa parhaan mahdollisen tuloksen saavuttamiseksi. Ne voidaan ohjelmoida useille tietojenkäsittelykielille, jotta ne voivat tehdä kaiken lennonjohdon automatisoinnista hakutulosten palauttamiseen, jotka ovat tarkkoja ja hyödyllisiä Internetin käyttäjälle.
Mukautuva algoritmi voi muuttaa käyttäytymistään, jos se kokee sen tarpeelliseksi. Hakukoneesimerkissä moottori voi indeksoida koko Internetin ja palauttaa tuloksia useista eri paikoista, mutta se saattaa harkita ensin käyttäjää koskevia parametreja. Jos käyttäjän IP -osoite on peräisin esimerkiksi Ranskasta, mukautuva algoritmi palauttaa ranskalaiset tulokset tai hakukone saattaa ohjata käyttäjän ranskalaiselle sivustolleen.
Algoritmit voivat myös oppia käyttäjien käyttäytymisestä. Saman hakukoneen käyttäjät samassa maassa saattavat huomata, että he saavat erilaisia tuloksia. Nämä perustuvat aiempiin hakukäyttäytymisiin ja napsautussovelluksiin. Algoritmi voi muokata tuloksia käyttäjän tarpeiden mukaan. Esimerkiksi henkilö, joka tekee haun “jalkapallo” ja napsauttaa linkkejä amerikkalaisesta jalkapallosta, ei jalkapallosta, opettaa algoritmille, millaisia tuloksia hän haluaa nähdä.
Tällaiset algoritmit voivat olla hyödyllisiä silloin, kun komennon suorittamista varten on määritettävä ohjeet, mutta järjestelmän on kyettävä ohittamaan algoritmi painavan tilanteen sattuessa. Esimerkiksi osittain automatisoidulla lennonjohdolla algoritmi voi vastata, kun lentokone lähettää radion hätäkutsussa. Se neuvoo lennonjohtajia nykyisen liikenteen uudelleenreitittämisessä sen sijaan, että vaaditaan ensin lentokoneiden laskeutumista ja ahdistuneen koneen asettamista odotusjonoon. Algoritmi voi sopeutua olosuhteisiin ja voi ohittaa normaalit ohjeet asettaa lentokoneet jonoon niiden saapumisjärjestyksessä, kun se havaitsee hätätilanteen.
Mukautuvan algoritmin koodaaminen kestää kauemmin kuin tavallisen algoritmin kehittäminen, ja se voi vaatia erityisiä huomioita. Ennen kuin ohjelmoija luo algoritmin, hän yleensä laatii luettelon parametreista kuvaamaan, mitä sen on tehtävä ja miten. Mukautuvalla versiolla hän miettii mahdollisia tilanteita ja asettaa koodin, jotta mukautuva algoritmi voi oppia kokemuksistaan.