‘Agents’ krijgen greep op verkeersstromen
‘Agentgebaseerde’ simulatie is een vorm van simulatie, waarin het rekenkundige model wordt vervangen door agenten, die het gedrag en de doelstellingen van belanghebbenden in het proces nabootsen. In zo’n simulatie wordt iedere rol gespeeld door een agent die gedragsregels heeft meegekregen op basis waarvan hij beslissingen neemt en reageert op andere agenten of zijn omgeving. Agentgebaseerde simulatie is ontstaan uit het onderzoek naar kunstmatige intelligentie en meer recent naar artificial life, waarin getracht wordt inzicht te krijgen in dynamische en chaotische systemen. Meer dan tien jaar geleden begon het onderzoek naar massief parallelle systemen, waarbij computers met een groot aantal processors ieder hetzelfde algoritme verwerkten, maar dan voor een ander deel van het probleem. Met deze techniek werden simulaties gemaakt van bijvoorbeeld deeltjes in gassen of in chaotische systemen zoals zwermen vogels. De term ‘Swarm Intelligence’ komt daarvandaan. Met de hedendaagse snelle computer is het mogelijk om zo’n parallelle machine na te bootsen, waarbij de aparte processors worden vervangen door processen, die agenten heten. Deze techniek wordt ook intensief gebruikt in animatieprogramma’s, bijvoorbeeld voor het simuleren van het gedrag van water of stofmassa’s. De grote scènes met robots en soldaten in Star Wars en in Lord of The Rings zijn ook met deze technologie gemaakt. Winkelcentrum In tegenstelling tot modelgebaseerde simulatie wordt een agentgebaseerd systeem opgebouwd uit een aantal verschillende soorten agenten. Laten we als voorbeeld de analyse nemen van bezoekersstromen in een winkelcentrum. Het centrum zelf wordt gesimuleerd door winkels en wegen aan te geven. Voor iedere winkel wordt aangegeven hoe deze bereikbaar is en wat de capaciteit van de toegangsweg is. De winkel zelf wordt gesimuleerd door informatie op te nemen over artikelaanbod en bedieningscapaciteit. Afhankelijk van het te modelleren probleem kan de mate van detail verschillen. In het geval van een verkeersstudie kunnen we bijvoorbeeld aangeven hoeveel procent van het totale aantal bezoekers op een bepaald tijdstip deze winkel bezoekt, vooropgesteld dat we deze informatie beschikbaar hebben. Zowel de winkels als de wegen worden gerepresenteerd door agenten, die reageren op de bezoekers. De bezoekers worden gemodelleerd door één agent per bezoeker. In andere gevallen zou een agent per familie kunnen volstaan. Door vanuit een formule met de distributie van het aantal bezoekers agenten te genereren, wordt het totale aanbod vastgesteld. De agenten worden nu losgelaten in het gesimuleerde winkelcentrum. Iedere agent gaat op basis van zijn voorkeuren en doelstellingen op zoek naar de gewenste winkels. Hierdoor ontstaat een complex bewegingspatroon dat inzicht kan geven in de verkeersstromen. De weg die de agenten afleggen in de gesimuleerde omgeving is representatief voor de te onderzoeken bezoekersstromen. Naast de agenten voor wegen, winkels en bezoekers, kunnen er ook nog andere zijn, zoals leveranciers, spelende kinderen et cetera. Zij kunnen een statisch karakter hebben, zoals bijvoorbeeld de wegen, maar meer ingewikkelde agenten kunnen hun gedrag aan de omstandigheden aanpassen. Zo zouden er agenten kunnen zijn die besluiten hun doelstellingen te verruimen als het rustig is, of te stoppen met winkelen als het te druk wordt. Agenten die de omgeving simuleren, zoals bijvoorbeeld de wegen, zijn vrij passief en registreren voornamelijk het aantal passanten. Het is ook mogelijk om ze een meer actieve rol te laten spelen, bijvoorbeeld door de slijtage aan de vloerbedekking te berekenen op basis van het aantal passanten. Dynamiek Het belangrijkste verschil met de statistische benadering is de grotere mate van fijnmazigheid en dynamiek van het model. Daarnaast kunnen agenten in principe ook leren, waardoor ze hun gedrag kunnen aanpassen aan de situatie. Dit stelt de onderzoeker in staat om een veel groter scala van dynamische situaties te bekijken. Bijvoorbeeld in een marketingstudie kunnen naast de consumenten ook de verschillende leveranciers en concurrenten worden opgenomen. Bij het introduceren van een nieuwe prijsstrategie kan zo worden onderzocht welke tegenmaatregelen de concurrentie hierop zou kunnen nemen, en welke strategie het meeste succes lijkt te hebben. De onderzoekende partij kan op basis van deze informatie een optimale strategie ontwikkelen. Uit het voorbeeld van het winkelcentrum blijkt dat het nodig is om informatie te hebben over de verwachte bezoekersaantallen per winkel. Indien dit soort informatie niet voorhanden is, kan dezelfde simulatietechniek worden gebruikt om te onderzoeken bij welke variaties er problemen ontstaan. Hierdoor kan een beeld worden verkregen van de belangrijkheid van de ontbrekende informatie. Indien zou blijken dat zelfs bij een grote variatie de invloed op het totaal verwaarloosbaar is, loont het ook niet de moeite om de ontbrekende informatie te gaan verzamelen. De belangrijkste voordelen van de agentgebaseerde benadering zijn de volgende: • Door gebruik te maken van agenten wordt het model meer intuïtief en is daardoor gemakkelijker te begrijpen. • De aanpassing van individuele agenten geeft meer controle over het gedrag van het model dan mogelijk is bij een statistisch model. • Het opnieuw gebruiken van agenten voor andere simulaties is veel gemakkelijker dan het opnieuw gebruiken van een deel van een statistisch model. • Hybride systemen waarbij een operationeel systeem wordt gevoed vanuit een simulatie zijn mogelijk door het dynamische karakter van de agenten. • Door het leervermogen en de mogelijkheid van adaptatie van agenten wordt het mogelijk om lerende experimenten uit te voeren, die gedurende langere tijd automatisch verschillende benaderingen onderzoeken. Toepassingen Er is een groot scala van mogelijke toepassingen van agentgebaseerde simulatie. Op de volgende gebieden bestaan reeds systemen of zijn ze in ontwikkeling. In verschillende situaties kan het nuttig zijn te onderzoeken hoe groepen mensen of dieren zich kunnen gaan gedragen na belangrijke veranderingen in hun omgeving. Verschillen onderzoeksinstituten gebruiken agentgebaseerde simulaties om dergelijk sociale studies uit te voeren, waarbij er ook modellen worden gebouwd om het gedrag van dieren beter te kunnen begrijpen. Net zoals in de beginjaren van de kunstmatige intelligentie cognitieve modellen inzicht verstrekten in het gedrag van een individu, worden agentgebaseerde systemen gebruikt om inzicht te krijgen in het sociale gedrag van groepen. Een tweede voorbeeld. In een themapark kunnen op een drukke dag wel 20 duizend bezoekers rondlopen. Met agentgebaseerde simulatie kan de bezettingsgraad van attracties en restaurants worden nagebootst waardoor het effect van wachtrijbeheersing, reservering of ‘rerouting’ binnen het park kan worden gemeten zonder eerst op grote schaal veranderingen in het park te hoeven introduceren. Operationeel kan zo’n simulator worden gebruikt om bezoekers beter over het park te spreiden door actuele informatie te verzamelen over bezetting en door het publiceren van de wachttijden. Bezoekers zoeken automatisch de plaats van de laagste congestie en door het verstrekken van informatie kunnen deze stromen worden beïnvloed. Een derde gebied. Door het opstellen van een gesimuleerde markt met daarin aanbieders en afnemers kan worden onderzocht wat het effect van een prijsverandering is. Dit kan natuurlijk met statistische modellen ook. Met agenten kan het gedrag van de concurrent echter automatisch worden aangepast, waardoor veel meer inzicht kan worden verkregen in de mogelijke reacties op de voorgestelde prijsverandering. Het simulatiemodel kan als onderdeel van het operationele systeem een voortdurende ‘waakhondfunctie’ krijgen en direct waarschuwen als zich een ongewenste situatie dreigt voor te doen. Door een koppeling met een operationeel systeem kan de simulator ook direct informatie verzamelen die voor verdere studies van belang kan zijn. Dergelijke systemen worden in verschillende studies op kleine schaal al toegepast. Een vierde gebied. Door alle fabrikanten, distributeurs, winkelketens en consumenten in een model op te nemen, kunnen vrij gedetailleerde studies worden gemaakt, waarin de belangrijkheid van iedere schakel in de keten in een dynamisch systeem kan worden onderzocht. Met name de dynamische benadering is hier van belang, omdat door het samenspel van verschillende partijen soms zeer complexe situaties kunnen ontstaan die maar moeilijk te doorgronden zijn. Door agenten te gebruiken die hun gedrag aanpassen, kunnen simulaties worden gedraaid die op zoek gaan naar de zwakke en sterke plekken in de keten. Op die manier kan men tot betere en meer optimale oplossingen komen. Een interessante ontwikkeling is de toepassing van een combinatie van agenttechnologie en simulatie in operationele systemen. Met name in Japan en Amerika lopen er momenteel enkele experimenten bij bedrijven. En als laatste voorbeeld de analyse van bezoekersstromen. Zoals in het voorbeeld van het winkelcentrum al werd aangegeven, lenen agentgebaseerde systemen zich zeer voor situaties waarin er sprake is van bezoekersstromen. Een koppeling met een automatisch telsysteem is mogelijk, waarbij een compleet beeld van het aanbod op een bepaald tijdstip kan worden genomen als uitgangspunt. Gegeven een bekende startsituatie, kan het model worden gebruikt om alle alternatieven automatisch te laten onderzoeken op hun invloed, zonder dat daar veel verschillende runs met aangepaste parameters voor nodig zijn. Voordelen Met name het dynamische en adaptieve gedrag van agenten geeft een agentgebaseerd simulatiesysteem grote voordelen ten opzichte van een statistisch model. Niet alleen is de granulariteit van een agentgebaseerd model groter, ook is de dynamiek verbeterd en opent zo’n systeem de weg naar zelflerende en ‘ontdekkende’ studies. Door koppelingen met operationele systemen kan waardevolle informatie automatisch worden vergaard, terwijl de simulator belangrijke voorspellingen kan leveren, die van belang kunnen zijn voor een operationeel systeem. Peter van Lith RI is zelfstandig adviseur, gespecialiseerd in innovatieve informaticaoplossingen (peter@lithp.nl of www.lithp.nl).Verschil tussen model en agent De beschrijving van het gedrag van een agent wordt in een programma vastgelegd in de vorm van code en is dus uiteindelijk ook een formule, net als bij simulaties die zijn gebaseerd op modellen en formules. Waarin schuilt dan het verschil? De agenten in een simulatieomgeving kunnen ook worden gezien als autonome formules, die zich vrij door de simulatieomgeving (de oplossingsruimte) kunnen bewegen. Ze kunnen daardoor direct reageren op situaties die zich voordoen. In een model wordt de relatie tussen de omgeving en de berekeningen vastgelegd in formules, de vrijheid van de formules is daardoor beperkt. Zo’n systeem is te vergelijken met een doos met allemaal vakjes, waarbij in ieder vakje een bepaalde formule is opgesloten. De formules kunnen alleen communiceren met de ernaast gelegen vakjes, maar niet met andere vakjes, omdat dit beperkt wordt door de structuur van de bovenliggende architectuur (de doos). Bij de agentarchitectuur zijn alle vakjes verdwenen en kunnen alle formules met elkaar communiceren. Hierdoor is er een mate van vrijheid ontstaan waarbij er allerlei verbanden kunnen worden aangegaan. Er ontstaat een veel complexere situatie dan bij de architectuur met de vakjes. Daarnaast kunnen agenten door hun opzet worden uitgerust met de mogelijkheid om te leren en zich in volgende generaties te muteren, waardoor een nog grotere mate van onvoorspelbaarheid kan optreden. Dit maakt het mogelijk om met agentgebaseerde simulaties een veel groter scala van mogelijkheden te onderzoeken, zonder dat dit meer tijd van de onderzoeker vraagt.