Sammanfattning (abstract) I detta arbete kan man läsa om planering i begränsad och obegränsad omgivning. Vi tar upp fyra olika typer av planering (sensorless, conditional, execution monitoring and replanning och continuous planning) med en vidare fördjupning i conditional planning. Under fördjupningen demonstreras ett exempel på hur denna planering kan fungera för att laga en punktering på en bil. Ett arbete där en verklig tillämpning av conditional planning används, tas också upp. Denna tillämpning handlar om hur designen av schemaläggningen hos ett flygplan kan leda till mer effektiv användning av de begränsade resurserna i planet. Abstract This rapport involves planning in bounded and unbounded environments. Four types of planning technique are discussed (sensorless, conditional, execution monitoring and replanning and continuous planning) with a deeper research in conditional planning. In this research, an example demonstrates how this planning can work in the situation where a flat tire on a car needs to be repaired. A study where a real world application of conditional planning is used is also mentioned. This application is regarding how the design of scheduling flight operations in aircrafts can lead to more efficient use of the limited resources in the plane. Umeå Universitet, HT-04 Artificiell Intelligens, KV 2004-10-19 Laboration 2 - Fördjupning Innehållsförteckning Introduktion till ämnet .................................................................................................. 2 Vad planering är ........................................................................................................ 2 Omgivningar ............................................................................................................. 2 Syfte .............................................................................................................................. 2 Metodbeskrivning ......................................................................................................... 2 Litteraturstudie .............................................................................................................. 3 Icke-klassisk planering.............................................................................................. 3 Fyra planeringsmetoder för att hantera obestämdhet ................................................ 3 Ett övergripande exempel ..................................................................................... 4 Conditional planning ................................................................................................. 5 Conditional planning agent algoritm .................................................................... 6 Ett exempel från den verkliga världen .................................................................. 6 Diskussion ..................................................................................................................... 7 Slutsats .......................................................................................................................... 8 Referenser ..................................................................................................................... 9 Elin Andersson (dit02esn), Ida-Maria Isaksson (dit02iin) 1 Umeå Universitet, HT-04 Artificiell Intelligens, KV 2004-10-19 Laboration 2 - Fördjupning Introduktion till ämnet Ett viktigt ämne att ta hänsyn till inom artificiell intelligens är planering. Det finns många olika sorters planeringstekniker som måste utformas på olika sätt beroende på hur omgivningen runt omkring agenten beter sig. Vad planering är Planering är uppgiften att komma fram till en sekvens av handlingar som kommer att nå fram till det satta målet (S. Russel & P. Norvig 2003). Omgivningar Planeringen som ska utformas, kan vara av olika slag beroende på omgivningen. Russel och Norvig (2003) delar in dem i klassisk planering (classical planning) och icke-klassisk planering (nonclassical planning). Klassisk planering är enligt Rintanen J. (2004) planering med förutbestämda handlingar och enbart ett begynnelsetillstånd. Russel och Norvig (2003) tillägger att omgivningen dessutom är fullt observerbar, ändlig, statisk och diskret. I icke-klassisk planering finns det ingen exakt modell av hur en agents handlingar påverkar världen (T. Zimmerman & K. Subbarao 2003). Planeringen kan förekommer i omgivningar som är stokastiska och dessutom kan vara fullt eller delvis observerbara (Russel & Norvig 2003). Syfte Syftet med detta projekt är att öka förståelsen för hur planering i stokastiska och osäkra miljöer utformas. I motsats för att göra en bred och övergripande informationssammanställning ska en begränsning av ämnet göras och istället undersöka någon planeringsteknik djupare. Vidare försöka skapa en förståelse för denna och se om, och i så fall hur, den tillämpas i verkligheten. Metodbeskrivning Detta arbete är en ren litteraturstudie inom ett område i AI – Artificiell Intelligens. Arbetet började med att ett kapitel i boken valdes, vilket blev kapitel 12 för att titeln, enligt oss, var intresseväckande – Learning and acting in the real world. Eftersom tiden för arbetet var knapp blev en begränsning av ämnet nödvändigt. Upplägget blev följande; övergripande beskrivning av planering i oförutsägbara miljöer, kort om fyra olika tekniker för detta och en fördjupning i en av dessa fyra. Utifrån boken söktes relaterade artiklar på Internet för att styrka boken och även för att få ytterliggare information om ämnet. Elin Andersson (dit02esn), Ida-Maria Isaksson (dit02iin) 2 Umeå Universitet, HT-04 Artificiell Intelligens, KV 2004-10-19 Laboration 2 - Fördjupning Litteraturstudie Icke-klassisk planering I oförutsägbara omgivningar måste de involverade agenterna kunna upptäcka vad som händer medan planen verkställs och om möjligt modifiera och ersätta planen om något oväntat händer (Russel & Norvig 2003). Detta betyder att agenter behöver kunna hantera oförutsägbara händelser som ofullständig (incomplete) och inkorrekt (incorrect) information orsakar. Ofullständig information uppstår för att världen runtomkring agenten bara är delvis observerbar och/eller oförutsägbar. Ett exempel på detta är att en hiss, som en agent måste använda, kan eller kanske inte kan vara på rätt våning. Inkorrekt information uppkommer däremot när agentens modell av världen inte överensstämmer med verkligheten. Hissen som agenten behövde använda i föregående exempel kanske är ur funktion men agenten har bara information om att den ska fungera. Möjligheten att ha fullständig eller korrekt kunskap beror på hur mycket obestämdhet (indeterminacy) det finns i världen (Russel & Norvig 2003). Obestämdhet kan dessutom vara begränsad (bounded indeterminacy) och obegränsad (inbounded indeterminancy). I begränsad obestämdhet har handlingarna oförutsägbara effekter men de möjliga effekterna kan listas i handlingsbeskrivningsaxiom. Ett klassiskt exempel på detta är när man kastar krona eller klave. För att agenterna ska klara av detta måste det skapas en plan som fungerar under alla möjliga förhållande. I obegränsad obestämdhet vet agenten varken begynnelsevillkoren eller vilka effekter som kan komma att uppstå (antingen okända eller alldeles för många för att kunna listas). Detta uppstår när omgivningarna är väldigt komplexa och/eller i dynamiska domäner, som t.ex. bilkörning, planering av ekonomin eller en militär strategi. En agent kan klara av obegränsad obestämdhet enbart om den är beredd att omarbeta sin plan och/eller sin kunskapsbas. Fyra planeringsmetoder för att hantera obestämdhet Enligt Russel & Norvig (2003) finns det två olika sorters planeringar som passar för begränsad obestämdhet och två andra som passar för obegränsad obestämdhet. De två som passar för begränsad obestämdhet. Sensorless planning (kallas även conformant planning). Rintanen J. (2004) beskriver conformant planning som situationer när det inte finns någon möjlighet att observera omgivningen. Handlingarna är oförutsägbara och det kan finnas flera begynnelsetillstånd vilket leder till att det nuvarande tillståndet inte är uppenbart. Detta leder till att planerna blir Elin Andersson (dit02esn), Ida-Maria Isaksson (dit02iin) 3 Umeå Universitet, HT-04 Artificiell Intelligens, KV 2004-10-19 Laboration 2 - Fördjupning enkla sekvenser av handlingar. Russel och Norvig (2003) tillägger att denna planering även förlitar sig på att världen blir tvingad in i ett visst tillstånd och att planeringen inte alltid är användbar. Conditional planning (kallas även contingency planning). Enligt Russel och Norvig (2003) är detta en metod som konstruerar en conditional plan med olika grenar för olika möjligheter som kan uppkomma. Rintanen J. (2004) beskriver det i termer som att det inte är en sekvens av handling som man planerar utan de definieras som kartläggningar från ett tillstånd till handling. Detta innebär att agenten planerar först och verkställer sedan planen. För att komma fram till vilken del av planen som ska verkställas har agenten handlingar för att känna av villkor i det nuvarande tillståndet som stämmer överens med den delen. De två som passar för obegränsad obestämdhet. Execution monitoring and replanning I denna planering kan vilken som helst av ovanstående tekniker för planering användas utav agenten, även den klassiska. Det som skiljer denna mot de övriga är att agenten stegvis bedömer om planen den utför ger ett bra resultat från den nuvarande situationen eller om den behöver bli omarbetad. Detta gör agenten genom att använda execution monitoring, alltså att den övervakar utförandet. Eftersom agenten gör en omplanering om någonting går fel kan den hantera obegränsad obestämdhet. (Russel & Norvig 2003). Continuous planning Det som är karaktäristiskt för denna planering och som skiljer den mot resterande är att den består över en livstid. Den uppnår inte bara ett mål och därefter avbryter utan fortsätter att observera och planera. En continuous planning agent kan hantera oväntade förhållanden i omgivningen, även om dessa inträffar medan den är mitt i att konstruera en plan. Den klarar även av att avstå från att uppnå det nuvarande målet och skapa ytterligare mål. (Russel & Norvig 2003) Ett övergripande exempel Detta exempel är taget från Russel & Norvig (2003) och går ut på att en agent ska lösa ett problem som på ett förståeligt sätt visar skillnaderna mellan de olika planeringsteknikerna. Problemet. Det som är givet i begynnelsetillståndet är en stol, ett bord och några burkar med färg; allt har en okänd färg. Målet agenten ska uppnå är ett slutresultat där stolen och bordet har samma färg. Klassisk planering. Eftersom begynnelsetillståndet inte är fullkomligt specificerat (vet inte färgen på möblerna) kommer agenten inte att kunna hantera problemet. Sensorless planning. Agenten måste komma upp med en plan som fungerar utan behov av sensorer under själva verkställandet. Det sätt agenten kan lösa uppgiften på Elin Andersson (dit02esn), Ida-Maria Isaksson (dit02iin) 4 Umeå Universitet, HT-04 Artificiell Intelligens, KV 2004-10-19 Laboration 2 - Fördjupning är att öppna vilken som helst av färgburkarna och måla både stolen och bordet med den färgen, dock vet inte agenten vilken färg möblerna får. Conditional planning. Med denna planeringsteknik utvecklar agenten en bättre plan än den för sensorless planning. Agenten börjar med att först uppfatta färgen på bordet och stolen och om de redan är av samma färg är målet uppnått. Om möblerna inte har samma färg kan den ta reda på vad för färger som finns i burkarna och om det finns en burk med samma färg som ena möbeln målar agenten den andra möbeln i den färgen. Annars målas båda möblerna i någon av färgerna som finns i burkarna. Execution monitoring and replanning. En agent som går efter denna teknik skulle kunna komma upp med samma plan som i conditional planning. Det den gör olikt är att utveckla färre ”grenar” från begynnelsetillståndet och fylla i andra under själva verkställningen av planen om det skulle behövas. Utöver detta kan agenten även hantera inkorrekthet, d.v.s. kontrollera att det den gjorde verkligen gav den önskade effekten. Om den inte gjorde det, exempelvis missade att måla en fläck, kan den göra något åt det. Continous planning. Denna agent kan hantera oförväntade händelser (så som en replanning agent) men den kan även omarbeta dess plan så den passar andra händelser. Exempelvis om man lägger till målet ”ha middag på bordet” så kan agenten förskjuta målningen av möblerna så att middagen går att genomföra. Conditional planning En conditional planning agent hanterar osäkerhet genom att bygga in conditional steg i planen där man kontrollerar tillståndet av omgivningen för att bestämma vad som ska göras härnäst. Detta kommer att illustreras av ett exempel där man ska fixa en punktering på en bil. De tillåtna handlingarna är Remove(x), PutOn(x), Inflate(x) och målet agenten vill nå fram till är On(x) Inflated(x), alltså att hjulet x ska sitta på bilen och vara pumpat. Begynnelsetillståndet innefattar att vi har ett hjul som sitter på bilen och är platt (flat). Det finns även ett pumpat och klart reservhjul. Detta skrivs: Inflated(Spare) Intact(Spare) Off(Spare) On(Tire1) Flat(Tire1). Den första planen man tänker på är att ta bort det platta däcket och sätta dit reservhjulet ([Remove(Tire1), PutOn(Spare)]). Denna plan är bra om däcket är trasigt men om däcket är helt behövs bara en pumpning av däcket för att lösa problemet. Därför lägger vi här in ett conditional step för att avgöra i vilket skick däcket är. Syntaxen för ett conditional steg är: ”if <condition> then planA else planB”. I detta fall blir meningen If (Intact(Tire1), [Inflate(Tire1)] [Remove(Tire1), PutOn(Space)]). Därför läggs det till en operation Check(x) för att ta reda på däckets tillstånd. Två planer måste nu konstrueras som beror på vad man får fram vid Check(x). Om man får fram att däcket är helt så skall däcket pumpas och målet är nått. Visar det sig att däcket är trasigt måste det tas bort och reservdäcket måste sättas på bilen och målet är nått. Elin Andersson (dit02esn), Ida-Maria Isaksson (dit02iin) 5 Umeå Universitet, HT-04 Artificiell Intelligens, KV 2004-10-19 Laboration 2 - Fördjupning Conditional planning agent algoritm Nedan följer en algoritm (tagen från Russel & Norvig, 1995) om hur man implementerar en conditional planning agent. function CONDITIONAL-PLANNING-AGENT(percept) returns an action static: KB, an knowledge base (includes action descripitions) p, a plan, initially NoPlan t, a counter, initially 0, indicating time G, a goal TELL(KB, MAKE-PERCEPT-SENTENCE(percept, t)) current STATE-DESCRIPTION(KB,t) if p = NoPlan then p CPOP(current,G,KB) if p = NoPlan or p is empty then action NoOp else action FIRST(p) while CONDITIONAL?(action) do if ASK(KB, CONDITIONAL-PART[action] then p APPEND(THEN-PART[action], REST(p)) else p APPEND(ELSE-PART[action], REST(p)) action FIRST(p) end p REST(p) TELL(KB, MAKE-ACTION-SENTENCE(action,t)) t t + 1 return action Ett exempel från den verkliga världen Lloyd Greenwald och Thomas Dean har i artikeln ”A Conditional Scheduling Approach to Designing Real-Time Systems”, presenterat ett sätt att designa realtidssystem där exekveringen av sekvenser av ett antal uppgifter bygger på dynamiska tillståndsspecifika scheman. Ett schema innehåller ett antal uppgifter som ska lösas i en viss ordning där varje uppgift tar en tid och kan kräva en viss resurs. Ett schema skiljer sig från en plan i Elin Andersson (dit02esn), Ida-Maria Isaksson (dit02iin) 6 Umeå Universitet, HT-04 Artificiell Intelligens, KV 2004-10-19 Laboration 2 - Fördjupning den meningen att schemat tar hänsyn till när en handling ska starta, stoppa och vilken varaktighet handligen har istället för att bara ha en ordning för de olika handlingarna och uppgifterna (Russel & Norvig 2003). Lloyd Greenwald och Thomas Dean beskriver ett exempel på hur man kan använda sig utav deras tillvägagångssätt när man designar system. System där en agent med begränsade beräkningsresurser måste klara av att på ett lämpligt sätt svara på situationer som uppkommer i en omgivning som kan komma att ändras. För att använda intelligent planering och schemaläggning i realtidsomgivningar behövs utveckling av nya modeller och analyseringsverktyg. Artikeln beskriver en utveckling av conditional schemaläggning för realtidssystem med en tillämpning på elektroniken som används för att manövrera ett flygplan. Det elektroniska system, som finns i dagens flygplan, delar funktionerna för att flyga flygplanet (inklusive de som är kritiska för säkerheten) på resurserna av ett distribuerat multiprocessorsystem. Schemat för flygoperationernas exekvering är designad för att uppfylla vissa krav gällande säkerhet och tidkritisk respons. Men att garantera bra hantering av dessa krav är väldigt svårt beroende på osäkerheten i flygförutsättningar och beräkningsresurserna som är strikt begränsade på grund av dess elförbrukning och vikt. Tidigare strategier för konstruktioner av dessa scheman har varit att ha ett ensamt statiskt schema som vid fasta frekvenser under flygningen samplar flygoperationer. För lösningar som byggs på ett ensamt statiskt schema är operationerna och tajmning för dessa baserade på worst-case av flygförutsättningar. I Lloyd Greenwalds och Thomas Deans lösning används en uppsättning av statiska scheman istället för ett ensamt. Varje enskilt schema är designat för att för varje flygförutsättning, garantera bästa utförandet av operationer för just den förutsättningen. En högre nivå av kontroll behövs dock för att dynamiskt växla mellan de olika schemana allt eftersom flygförutsättningarna ändras. Lloyd Greenwalds och Thomas Deans arbete breddar kompetensen och flexibiliteten av existerande flygelektroniska system. Denna conditional schemaläggning tillåter även mer effektiv användning av begränsade resurser. Lösningen kan användas för alla områden där worst-case kan mildras genom att utnyttja situationens förutsättningar. Diskussion Conditional plannig tycker vi verkar vara väldigt användbar i ett system med begränsade resurser, t.ex. minne, storlek och vikt på själva hårdvaran. Execution monitoring och replanning som var en av fyra planeringsmetoder för att hantera obestämdhet, som vi beskrev i litteraturstudien, kan hantera komplexare situationer. Eftersom dessa agenter klarar av svårare uppgifter än en conditional planning agent, antar vi att det också krävs mycket mer för att implementera en sådan hantering i agenten och att det ställer hårdare krav på hårdvara. Elin Andersson (dit02esn), Ida-Maria Isaksson (dit02iin) 7 Umeå Universitet, HT-04 Artificiell Intelligens, KV 2004-10-19 Laboration 2 - Fördjupning På den här korta tiden har det varit svårt nog att sätta sig in i själva ämnet artificiell intelligens och alla tillhörande begrepp och termer. Dessutom var det extramaterial vi hittade vetenskapliga artiklar med svår engelska, vilket tog sin tid att läsa. Artiklarna var dessutom extremt begränsade och djupgående och blev därför svåra att förstå med vår övergripande kunskap om ämnet. Om mer tid hade varit till förfogande skulle det också ha varit väldigt intressant och lärorikt att försöka göra något praktiskt, t.ex. en implementation av conditional planning algoritmen. Detta hade hjälpt oss att få en djupare förståelse i hur planeringen implementeras och fungerar. Slutsats Vi är nöjda med informationen vi fick fram genom vår litteraturstudie ty den uppfyllde vårt syfte med projektet. Det exempel vi fann av tillämpningen av conditional planning i verkligheten var väldigt svår att förstå men bevisade dock för oss att den används i det verkliga livet. Vi tycker även att vi har fått en uppfattning om hur planering i begränsade och obegränsade oförutsägbara omgivningar i stora drag kan gå till. Elin Andersson (dit02esn), Ida-Maria Isaksson (dit02iin) 8 Umeå Universitet, HT-04 Artificiell Intelligens, KV 2004-10-19 Laboration 2 - Fördjupning Referenser Russell, Stuart; Norvig, Peter. 2003. Artifical Intelligence – A Modern Approach. Second Edition. New Jersey: Pearson Education. Rintanen, Jussi. 2004. Complexity of Planning with Partial Observability. American Association for Artificial Intelligence (AAAI). Zimmerman, Terry; Kambhampati, Subbarao. 2003. Learning-assisted automated planning: looking back, taking stock, going forward. AI Magazine. Greenwald, Lloyd; Dean, Thomas. 1998. A Conditional Scheduling Approach to Designing Real-Time Systems. American Association for Artificial Intelligence (AAAI). Russell, Stuart; Norvig, Peter. 1995. Artifical Intelligence – A Modern Approach. First Edition. New Jersey: Pearson Education. Elin Andersson (dit02esn), Ida-Maria Isaksson (dit02iin) 9