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