Experiments with programmed anticipative behavior in single and multi-agent systems

 

Exjobbare: Tommy Sighagen

Handledare: Eric Astor

Egenskaper att kunna förutse framtida händelseförlopp genom tidigare kunskaper och sinnesintryck från omvärlden är något som är både nödvändigt och som ofta används av oss människor. Dessa egenskaper kallas antecipatoriska. Exempel på där vi människor använder dessa är:

Om man tänker efter inser man att de antecipatoriska egenskaperna används dagligen på ett eller annat sätt inom helt skilda områden.

Tidigare vid framtagning av autonoma robotar (försök till sådana) och diverse agentprogram så var inte antecipatoriska egenskaper något som normalt fanns med. De agentprogram som då togs fram blev då antingen rent reaktiva (agerar direkt efter de "sinnes"-intryck som kommer in, utan att tänka) eller rent deliberativa (planerar och "tänker" ut vad som skall göras härnäst). Dessa två typer av agenter har dock en hel brister. Den reaktiva är relativt oflexibel och klarar i stort sett bara av enkla saker. Den deliberativa däremot är bra vid mer komplicerade uppgifter men har svårt med de enklare. Detta beror på att den planerar allt den gör vilket tar onödigt lång tid vid enklare uppgifter. Eftersom den reaktiva agenten är bra på enklare uppgifter och den deliberativa är bra på de mer komplicerade är en given lösning att skapa en slags hybridform av dessa. En hybridform som anses ha potential att bli grunden för autonoma agenter ("självlärande agenter som klarar sig själv") är antecipatoriska agenter.

Detta examensarbete är tänkt att studera antecipatoriska agenter genom att implementera och experimentera med sådana. Vid dessa experiment skall det undersökas hur en antecipatorisk agent kan byggas upp, vilka problem som finns, när dessa egenskaper är bra / dåliga, hur mycket bättre en antecipatorisk agent är i jämförelse med andra agenter (främst reaktiva) m.m.

Problemet är att det inte är helt trivialt att ta fram en antecipatorisk agent. Dessa agenter måste ha en inre modell av omgivningen och de objekt som finns där samt kunna förstå alla relevanta egenskaper och rörelser som sker. Denna modell skall sedan kunna användas för att ta fram framtida tillstånd genom att simulera tänkbara händelseförlopp. Agenten måste därefter kunna avgöra vilka framtida tillstånd som är bra respektive dåliga och agera efter detta.

För att förenkla problemet har jag valt att göra mina experiment i en roborsimulator kallad RoboWorld eller bara "Simulatorn". Exempel hur det kan se ut visas nedan.

 

Figur 1. Bild från RoboWorld. Ensam agent som skall samla ihop mynt i en labyrint. För detta krävs inte direkt några antecipatoriska egenskaper. Däremot krävs att agenten kan planera (minimala) vägar till mynten samt navigera på ett smidigt sätt för att undvika väggarna. Dessa egenskaper, vägplanering och navigering, är nödvändiga funktioner som måste fungera i de experiment med anticipatoriska agenter som skall utföras.

 

Figur 2. Bild från RoboWorld. En antecipatorisk agent (röd) och en reaktiv agent (grön) som skall samla ihop mynt. Detta skall göras dels i samarbete (så snabbt som möjligt) och som motståndare (tävling där varje agent försöker ta så många mynt som möjligt).