Wat is een adaptief algoritme?
Een adaptief algoritme is een set instructies voor het uitvoeren van een functie die kan worden aangepast in geval van veranderingen in de omgeving of omstandigheden. Adaptieve algoritmen kunnen hun activiteiten op intelligente wijze aanpassen in het licht van veranderende omstandigheden om het best mogelijke resultaat te bereiken. Ze kunnen worden geprogrammeerd in een aantal computertalen om alles te doen, van het automatiseren van de luchtverkeersleiding tot terugkerende zoekresultaten die accuraat en nuttig zijn voor een internetgebruiker.
Het adaptieve algoritme kan zijn gedrag veranderen als het een noodzaak voelt om dit te doen. In het voorbeeld van een zoekmachine kan de motor het hele internet doorzoeken en resultaten van verschillende locaties retourneren, maar het kan eerst bekende parameters over de gebruiker overwegen. Als het IP-adres van de gebruiker bijvoorbeeld afkomstig is uit Frankrijk, retourneert het adaptieve algoritme Franse resultaten of kan de zoekmachine de gebruiker omleiden naar zijn Franse site.
Algoritmen kunnen ook leren van het gedrag van gebruikers. Gebruikers van dezelfde zoekmachine in hetzelfde land kunnen merken dat ze verschillende resultaten krijgen. Deze zijn gebaseerd op eerder zoekgedrag en doorkliklinks. Het algoritme kan de resultaten aanpassen aan de behoeften van de gebruiker. Bijvoorbeeld, een persoon die zoekt naar "voetbal" en klikt op links over Amerikaans voetbal, niet voetbal, leert het algoritme over het soort resultaten dat hij wil zien.
Dergelijke algoritmen kunnen nuttig zijn wanneer het nodig is om instructies in te stellen om een opdracht uit te voeren, maar het systeem moet het algoritme kunnen onderdrukken in geval van een dringende situatie. Met gedeeltelijk geautomatiseerde luchtverkeersleiding kan het algoritme bijvoorbeeld reageren wanneer een vliegtuig een noodoproep uitzendt. Het zal luchtverkeersleiders adviseren over hoe het bestaande verkeer moet worden omgeleid, in plaats van erop te staan die vliegtuigen eerst te landen en het noodlijdende vliegtuig in een wachtrij te plaatsen. Het algoritme kan zich aanpassen aan de omstandigheden en kan de normale instructies vervangen om vliegtuigen in een wachtrij te plaatsen in volgorde van aankomst wanneer een noodsituatie wordt gedetecteerd.
Het coderen van een adaptief algoritme duurt langer dan het ontwikkelen van een regulier algoritme en kan enkele speciale overwegingen vereisen. Voordat een programmeur een algoritme maakt, ontwikkelt ze meestal een lijst met parameters om te beschrijven wat het moet doen en hoe. Met een adaptieve versie zal ze nadenken over mogelijke situaties en de code instellen zodat het adaptieve algoritme van zijn ervaringen kan leren.