| BSc KI — Cursus Natuur & Berekening | 2025-26 |
In deze opdracht gaan we bekijken hoe agents kunnen leren in een 'coöperative multi-agent game'. Deze spellen worden gekarakteriseerd door hun payoff matrix: de dimensies bevatten de acties die de agents kunnen doen, en de cellen de rewards die de agents ontvangen [p.282, W.Flake, 1998]. In deze opdracht beschouwen we een zeer interessante twee-player game: 'the climbing game' [Claus & Boutilier, 1998]. De payoff matrix voor dit spel wordt gegeven door:

In andere woorden, als Agent 1 de actie 'a2' kiest, en Agent 2 de actie 'a3', is de reward voor beide agents 0. In dit spel is het moeilijk om te convergeren naar de optimale joint-actie (a1,a1), omdat er een hoge negatieve reward is in het geval er miscommunicatie plaatsvindt. Stel Agent 1 kiest 'a1', en Agent 2 kiest 'a2', dan is er een hoge negatieve reward voor beide agenten (-30). Als een agent echter actie 'a3' kiest is het niet zo ernstig als er miscommunicatie plaatsvindt, het laagste wat je kan krijgen is '0'.
Dit spel wordt de climbing game genoemd omdat de agenten gaan 'klimmen' in de payoff matrix. Initieel zullen de agenten waarschijnlijk eerst de veilige strategie (a3,a3) gaan exploiteren. Echter, als ze eenmaal geconvergeerd zijn naar deze strategie, zal Agent 2 actie a2 gaan kiezen als er ook maar enige vorm van exploratie is. Vervolgens als dit eenmaal een stabiele strategie is, kan Agent 1 ook a2 gaan kiezen, zodat de joint reward uiteindelijk naar 7 zal convergeren. Vanaf hier is het moeilijk om uiteindelijk de top te bereiken, dus de joint actie (a2,a2) is waarschijnlijk de laatste stabiele strategie. We gaan kijken hoe we dit kunnen modelleren door middel van Q-learning [Sutton and Barto, 1998] (deze zijn sommige van jullie al eerder tegengekomen bij imperatief programmeren).
We gaan twee lerende agenten modelleren, die beiden geen kennis hebben van de payoff matrix (het enige wat ze initieel weten is dat ze drie acties tot hun beschikking hebben: {a1,a2,a3}). We kunnen dit probleem modelleren als ware het stateless is, wat inhoudt dat de formule voor het Q-learning gedeelte sterk vereenvoudigt kan worden:

Initieel wordt elke Q-waarde gezet op 0. Het updaten gaat als volgt: beiden agenten kiezen een actie (wordt zo uitgelegd hoe dit gekozen wordt), ze observeren de reward, en vervolgens updaten ze hun Q-waardes.
Het kiezen van een actie kan op verschillende manieren. Belangrijk is echter dat er een goede mix tussen exploratie/exploitatie is. We beschouwen de volgende twee manieren voor het kiezen van een actie:
We gaan dit als volgt in Netlogo visueel modelleren. Deel het grid op in 9 vakjes die overeenkomen met de payoff matrix. We gaan een turtle maken die dit landschap gaat beklimmen, afhankelijk van de gekozen joint acties. We hebben dus in weze drie turtles: twee onzichtbare die herhaaldelijk het spel gaan uitvoeren, en één zichtbare die afhankelijk van het resultaat gaat lopen op het grid. Dit kan op de volgende manier:

Laat in je model zo veel mogelijk parameters instelbaar voor de gebruikers. Experimenteer met de leersnelheid en de exploratie factor.
Belangrijk: Gezien de aard van deze opdracht (minder visueel, meer theoretisch), is het belangrijk om de 'information tab' zinvol in te vullen (hier zal op gelet worden). Het is handig als je voor iedere vraag een aparte sectie maakt in de documentatie. Bespreek de volgende punten:
| Laatst gewijzigd op woensdag 13 november 2024, om 15:02 uur | Auteur(s): Max Knobbout | Translate to en, ru, or tr |