Kas ir adaptīvais algoritms?

Adaptīvais algoritms ir instrukciju kopums, lai veiktu funkciju, kas var pielāgoties vides vai apstākļu izmaiņu gadījumā. Adaptīvie algoritmi spēj gudri pielāgot savas darbības, ņemot vērā mainīgos apstākļus, lai sasniegtu labāko iespējamo rezultātu. Tos var ieprogrammēt vairākās skaitļošanas valodās, lai veiktu visu, sākot no gaisa satiksmes vadības automatizācijas līdz meklēšanas rezultātu atgriešanai, kas būs precīzi un noderīgi interneta lietotājam.

Adaptīvais algoritms var mainīt savu uzvedību, ja tas uzskata, ka tas ir nepieciešams. Meklētājprogrammas piemērā programma var pārmeklēt visu internetu un atgriezt rezultātus no dažādām vietām, taču tā var vispirms ņemt vērā zināmos parametrus par lietotāju. Piemēram, ja lietotāja IP adrese ir Francijā, adaptīvais algoritms atgrieztu rezultātus franču valodā vai meklētājprogramma varētu novirzīt lietotāju uz savu franču vietni.

Algoritmi var mācīties arī no lietotāju uzvedības. Tās pašas meklētājprogrammas lietotāji tajā pašā valstī var pamanīt, ka viņi saņem atšķirīgus rezultātus. To pamatā ir pagātnes meklēšanas darbības un klikšķu saites. Algoritms var pielāgot savus rezultātus lietotāja vajadzībām. Piemēram, persona, kas meklē “futbols” un noklikšķina uz saitēm par amerikāņu futbolu, nevis futbolu, māca algoritmu par to, kādus rezultātus viņš vēlas redzēt.

Šādi algoritmi var būt noderīgi, ja ir nepieciešams iestatīt instrukcijas komandas izpildei, bet sistēmai ir jāspēj ignorēt algoritmu steidzamas situācijas gadījumā. Piemēram, izmantojot daļēji automatizētu gaisa satiksmes vadību, algoritms var reaģēt, kad lidmašīna saņem radio, lai saņemtu avārijas zvanu. Tā ieteiks gaisa satiksmes dispečerus par to, kā pārorientēt esošo satiksmi, nevis uzstās vispirms nosēsties šīs lidmašīnas un novietot grūtībās nonākušo lidmašīnu gaidīšanas rindā. Algoritms var pielāgoties apstākļiem un var ignorēt parastos norādījumus ievietot lidmašīnas rindā to ierašanās secībā, kad tas konstatē ārkārtas situāciju.

Adaptīvā algoritma kodēšana aizņem ilgāku laiku nekā parastā algoritma izstrāde, un tam var būt nepieciešami īpaši apsvērumi. Pirms programmētāja izveido algoritmu, viņa parasti izstrādā parametru sarakstu, lai aprakstītu, kas tai jādara un kā. Izmantojot adaptīvo versiju, viņa domās par situācijām, kas varētu rasties, un iestatīs kodu, lai adaptīvais algoritms varētu mācīties no savas pieredzes.