Høynivåhandlinger og forfininger
En utleier skal klargjøre en hytte før neste gjest. Hun planlegger ikke «gå tre skritt mot vedskjulet». Hun tenker «varm opp» og «gjør rent», og fyller inn detaljene etterpå. Hierarkisk planlegging gjør det samme.
En primitiv handling (primitive action) kan utføres direkte, som «hent ved», og har forutsetning og effekt som i PDDL. En høynivåhandling (high-level action, HLA) er abstrakt, som «varm opp», og kan ikke utføres direkte. Den må erstattes med én av forfiningene sine. En forfining (refinement) er en rekke handlinger høynivåhandlingen kan erstattes med, og den kan selv inneholde høynivåhandlinger. Hierarkiet kan derfor ha mange nivåer.
En rekke av bare primitive handlinger som en høynivåhandling kan forfines til, er en implementasjon (implementation). En høynivåhandling har ofte mange implementasjoner, én for hver kombinasjon av valg nedover. Den når målet fra en tilstand hvis minst én av implementasjonene gjør det, og planleggeren velger hvilken.
Hierarkiet er kunnskap om domenet. Det forteller hvilke kombinasjoner av handlinger som gir mening, og det kan gjenbrukes: «varm opp» brukes også før en vinterhelg der ingen trenger å vaske. Forfiningene kan ha egne krav til tilstanden. «Hent ved» krever at det er ved i skjulet, så forfining 1 av Varm opp virker bare når vedskjulet ikke er tomt. Er det tomt, må planleggeren velge varmepumpa. Slik velges forfining etter hvilken tilstand agenten står i.
RegneeksempelList alle implementasjonene av Klargjør hytta i tabellen.Vis løsningSkjul løsning
Steg 1. Forfining 2. Den er allerede primitiv: [Bestill vask, Slå på varmepumpa].
Steg 2. Forfining 1. Varm opp har to implementasjoner og Gjør rent har to, så det gir : [Hent ved, Fyr i ovnen, Feie, Vaske gulv], [Hent ved, Fyr i ovnen, Bestill vask], [Slå på varmepumpa, Feie, Vaske gulv] og [Slå på varmepumpa, Bestill vask].
Steg 3. Til sammen har Klargjør hytta implementasjoner. [Varm opp, Gjør rent] er en forfining, men ikke en implementasjon.
Hva skiller en høynivåhandling fra en primitiv handling?
Høynivåhandlingen Varm opp har forfiningene [Hent ved, Fyr i ovnen] og [Slå på varmepumpa]. Klargjør hytta har forfiningen [Varm opp, Gjør rent]. Gjør rent er også en høynivåhandling, mens Hent ved, Fyr i ovnen og Slå på varmepumpa er primitive. Hvilken påstand stemmer?
Hierarkiet under har fire høynivåhandlinger. Velg alltid den første forfiningen. Skriv implementasjonen av ArrangerKonsert som primitive handlinger i rekkefølge, adskilt med komma.
ArrangerKonsert: [Forbered, Gjennomfør]
Forbered: [LeiSal, Annonser] eller [LånAula]
Gjennomfør: [Rigg, Spill, Rydd]
Annonser: [Plakat] eller [Nettside, Epost]