Q-Trapper

Jag har länge velat lära mig att koda en bot som inte bara är baserad på en drös if-satser. Så äntligen! I kursen Artificial Intelligence for Interactive Media skapade jag och Emma Nilsson ett spel i Python där vi själva inte behöver styra spelaren. Vi vet inte om det finns något originalnamn på spelet men inspirationen var spel som Airxonix och Spider Web. Konceptet är iallafall att spelaren ska stänga av ytan där fienderna befinner sig och samtidigt akta sig så fienderna inte krossar ens spår, det gäller alltså att rama in en del av spelplanen och ta sig in till en kant snabbt igen.

Vi använde Q-learning som är en algoritm inom reinforcement learning, mer specifikt feature-based Q-learning i vårt fall. Utmaningen här är ofta just att välja vad boten ska veta om spelet, och vilka belöningar den ska få baserad på händelser efter en handling. Som grafen nedan visar så lyckades boten klara av spelet på färre och färre steg genom träning. Här hittar du (den än så länge ostädade) koden för projektet.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *