Intelligente multi-agents

In de wereld van Multi-agent systemen heb je diverse soorten Agents. Waar ik in dit bericht over wil praten zijn de eigenschappen die een agent intelligent kan maken. Een simpele agent slim maken zorgt ervoor dat de complexiteit van je multi-agent systeem exponentieel kan stijgen en soms onberekenbaar wordt, maar het geeft vooral een flexibeler systeem. Woolridge en Jennings (1995) hebben zelf een lijst opgesteld wat een agent intelligent kan maken:

Reactiviteit.

Het goed waarnemen van je omgeving en daadwerkelijk snappen wat er in je omgeving staat is een waardevol goed. Vaak zien simpele agents alleen een object, maar kan je het begrip (en uiteindelijk nut) van dat object duidelijk maken dan kan de agent hier anders op reageren. Een mooi voorbeeld is in het robotvoetbal, zou er iemand zo slim zijn om de robots de vorm en grootte van een voetbal te geven en daarmee tegen een tegenstander te spelen, dan zou een simpele tegenstander niet meer weten wie nu de bal is. Je kan elkaar dan herkennen door positie bepaling en op die manier uitsluiten wie niet de bal is (en daarmee dus de locatie van de bal bepalen). Hiermee speel je in op het onvermogen van de tegenstander om correct de omgeving te herkennen.

Een ander onderdeel van reactiviteit is dat je dit herkennen ook snel kan doen. Heb je een te lange respons tijd of moet je het object eerst van alle mogelijke hoeken gescand hebben dan daalt automatisch de reactiviteit van een systeem.

Proactiviteit.

Agenten moeten in staat zijn (individueel) om doelgericht gedrag te vertonen en initiatief te nemen. Vooral dit laatste is belangrijk in een systeem. Je kan een systeem zo opstellen dat er één agent steeds de initiatiefnemer is, dit levert minder complexiteit op maar wel meer risico’s op vastlopen in hetzelfde patroon. Zonder proactiviteit heb je bijvoorbeeld geen robot die steeds de bal na zou jagen, dit kan dode momenten / ingrijpen in het spel opleveren.

Sociale capaciteiten.

In alle multi-agent systemen is communicatie het meest belangrijke maar tegelijk ook het lastigste. Om de gestelde doelen te bereiken dient er vaak samengewerkt te worden. Dit is, als de doelen ten minste een multi-agent systeem nodig hebben. Soms zie je namelijk ook dat een multi-agent systeem wordt ingezet omdat er dan meer kans is dat ten minste één agent het doel bereikt. Wanneer een doel samenwerking vereist draait het in de programmatuur ineens allemaal om communicatie protocollen.

Scoor je dus hoog op alle drie van de bovenstaande punten, dan heb je volgens Woolridge en Jennings een slimmer en intelligenter multi-agent systeem gebouwd. Let op dat je niet teveel op één onderdeel gaat focussen, en de andere uit het oog verliest. Het kan dan eventueel wel zijn doel bereiken, maar de manier waarop is vaak minder slim.