agent ma bardzo wiele możliwych akcji do wykonania. opisy stanów dla świata rzeczywistego sa z lożone,

Podobne dokumenty
Planowanie dzia lań agenta

Planowanie dzia lań agenta

Planowanie dzia lań agenta. Planowanie jako przeszukiwanie cd. Planowanie jako przeszukiwanie. Planowanie z użyciem rachunku sytuacji cd.

SID Wykład 9 Planowanie

SYSTEM DIAGNOSTYCZNY OPARTY NA LOGICE DOMNIEMAŃ. Ewa Madalińska. na podstawie prac:

Niech X bȩdzie dowolnym zbiorem. Dobry porz adek to relacja P X X (bȩdziemy pisać x y zamiast x, y P ) o w lasnościach:

Drzewa podstawowe poj

Sterowalność liniowych uk ladów sterowania

P. Urzyczyn: Materia ly do wyk ladu z semantyki. Uproszczony 1 j. ezyk PCF

Pochodne cz ¾astkowe i ich zastosowanie.

LOGIKA ALGORYTMICZNA

Metoda Simplex bez użycia tabel simplex 29 kwietnia 2010

Programowanie generyczne w C++

Kierunek: Informatyka. Przedmiot:

Rozdzia l 2. Najważniejsze typy algebr stosowane w logice

Paradygmaty programowania. Paradygmaty programowania

Ekstrema funkcji wielu zmiennych.

Statystyka w analizie i planowaniu eksperymentu

Wyk lad 9 Podpierścienie, elementy odwracalne, dzielniki zera

Statystyka w analizie i planowaniu eksperymentu

Normy wektorów i macierzy

Elementy logiki i teorii mnogości Wyk lad 1: Rachunek zdań

MATEMATYKA DYSKRETNA - wyk lad 1 dr inż Krzysztof Bryś. Wprowadzenie

Grupy i cia la, liczby zespolone

Uzgadnianie wyrażeń rachunku predykatów. Adam i orzeszki. Joanna Józefowska. Poznań, rok akademicki 2009/2010

Wyk lad 7 Baza i wymiar przestrzeni liniowej

Dyskretne modele populacji

Równoleg le sortowanie przez scalanie

us lugi katalogowe? Czym różni si e serwer katalogowy od serwera bazy danych:

Jak matematyka pomaga w wyszukiwanie wzorca

Dyskretne modele populacji

Wyk lad 14 Cia la i ich w lasności

Rozdzia l 3. Elementy algebry uniwersalnej

Wyk lad 7 Metoda eliminacji Gaussa. Wzory Cramera

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

PODSTAWOWE W LASNOŚCI W ZBIORZE LICZB RZECZYWISTYCH

Np. Olsztyn leży nad Łyną - zdanie prawdziwe, wartość logiczna 1 4 jest większe od 5 - zdanie fałszywe, wartość logiczna 0

W rozpatrywanym tu przyk ladowym zagadnieniu 4x3 b edziemy przyjmować. Uczenie si e ze wzmocnieniem pasywne 3. γ = 1.

Wyznaczniki, macierz odwrotna, równania macierzowe

Mnożniki funkcyjne Lagrange a i funkcje kary w sterowaniu optymalnym

Podstawy sztucznej inteligencji

Rachunek zdań - semantyka. Wartościowanie. ezyków formalnych. Semantyka j. Logika obliczeniowa. Joanna Józefowska. Poznań, rok akademicki 2009/2010

Teoria miary WPPT IIr. semestr zimowy 2009 Wyk lady 6 i 7. Mierzalność w sensie Carathéodory ego Miara Lebesgue a na prostej

Stuck in the loop. Sterowanie. Marcin Makowski. 29 października Zak lad Chemii Teoretycznej UJ

Paradygmaty programowania

Logika matematyczna i teoria mnogości (I) J. de Lucas

Funkcje. Piotr Zierhoffer. 7 października Institute of Computer Science Poznań University of Technology

Rozdzia l 3. Laboratorium 3. danych zawierajac

Niesimpleksowe metody rozwia zywania zadań PL. Seminarium Szkoleniowe Edyta Mrówka

Przykłady zdań w matematyce. Jeśli a 2 + b 2 = c 2, to trójkąt o bokach długości a, b, c jest prostokątny (a, b, c oznaczają dane liczby dodatnie),

Rozdzia l 10. Najważniejsze normalne logiki modalne

Uruchamianie SNNS. Po uruchomieniu. xgui & lub snns & pojawia si e okno. programu. Symulator sztucznych sieci neuronowych SNNS 1

Paradygmaty programowania

Funkcje wielu zmiennych

Systemy Agentowe główne cechy. Mariusz.Matuszek WETI PG

Projekt 4: Programowanie w logice

Liczby naturalne i ca lkowite

Arytmetyka liczb binarnych

Statystyka w analizie i planowaniu eksperymentu

Rezolucja w rachunku predykatów. Przedrostkowa koniunkcyjna postać normalna. Formu ly ustalone. Joanna Józefowska. Poznań, rok akademicki 2009/2010

0.1 Sposȯb rozk ladu liczb na czynniki pierwsze

25 lutego 2013, godzina 23: 57 strona 1. P. Urzyczyn: Materia ly do wyk ladu z semantyki. Logika Hoare a

Rozdzia l 11. Przestrzenie Euklidesowe Definicja, iloczyn skalarny i norma. iloczynem skalarnym.

20PLN dla pierwszych 50 sztuk oraz 15PLN dla dalszych. Zysk ze sprzedaży biurka wynosi 40PLN dla pierwszych 20 sztuk oraz 50PLN dla dalszych.

MATEMATYKA W SZKOLE HELIANTUS LICZBY NATURALNE I CA LKOWITE

STYSTYSTYKA dla ZOM II dr inż Krzysztof Bryś Wykad 1

TEORETYCZNE PODSTAWY INFORMATYKI

Paradygmaty programowania. Paradygmaty programowania

Suma i przeciȩcie podprzestrzeń, suma prosta, przestrzeń ilorazowa Javier de Lucas

ep do matematyki aktuarialnej Micha l Jasiczak Wyk lad 2 Tablice trwania życia

Paradygmaty dowodzenia

Wyk lad 9 Baza i wymiar przestrzeni liniowej

na p laszczyźnie kartezjaṅskiej prowadzimy prost a o rȯwnaniu s 1. (1.1) s 0 + t 1 t 0

Pierwiastki arytmetyczne n a

Zastosowanie Robotów. Ćwiczenie 6. Mariusz Janusz-Bielecki. laboratorium

Wyk lad 6 Podprzestrzenie przestrzeni liniowych

Paradygmaty programowania

Rozdzia l 3. Relacje binarne

Indukcja. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

Liczba 2, to jest jedyna najmniejsza liczba parzysta i pierwsza. Oś liczbowa. Liczba 1, to nie jest liczba pierwsza

Analiza algorytmów zadania podstawowe

wykorzystywania analogii. Komputery natomiast maj a trudności z rozpoznawaniem odmiennych sytuacji,

(α + β) a = α a + β a α (a + b) = α a + α b (α β) a = α (β a). Definicja 4.1 Zbiór X z dzia laniami o wyżej wymienionych w lasnościach

0.1. Logika podstawowe pojęcia: zdania i funktory, reguły wnioskowania, zmienne zdaniowe, rachunek zdań.

Algebra i jej zastosowania ćwiczenia

Szeregowanie w systemach czasu rzeczywistego

STATYSTYKA MATEMATYCZNA dla ZPM I dr inż Krzysztof Bryś wyk lad 1,2 KLASYCZNY RACHUNEK PRAWDOPODOBIEŃSTWA

Wyk lad 4 Macierz odwrotna i twierdzenie Cramera

Struktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott

FUNKCJE LICZBOWE. x 1

Funkcje wielu zmiennych

Pierwiastki aproksymatywne. niecharakterystyczne. S. Brzostowski

Ekonomia matematyczna i dynamiczna optymalizacja

Rozdzia l 8. Pojȩcie liczby porz adkowej

Drzewa AVL definicje

Sztuczna Inteligencja i Systemy Doradcze

pozycja klucza - offset klucza w rekordzie flaga pliku tymczasowego czas utworzenia bież acy rozmiar - liczba bajtów w pliku

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Uproszczony dowod twierdzenia Fredricksona-Maiorany

Automatyczne planowanie oparte na sprawdzaniu spełnialności

Transkrypt:

Planowanie dzia lań agenta Klasyczne zagadnienie planowania (ang. classical planning) rozumiane jest jako zadanie wyznaczenia sekwencji dzia lań agenta, maj ac dane informacje o stanie pocz atkowym i docelowym, oraz wiedz e o dost epnych akcjach agenta (operatorach przejścia od stanu do stanu). W tradycyjnych zagadnieniach planowania zak lada si e jawnie, że agent posiada pe ln a wiedz e o swoim środowisku, które jest deterministyczne, skończone, i statyczne, czyli nie zmienia si e, z wyj atkiem zmian wywo lywanych przez dzia lania agenta. Ponadto zmiany zachodz ace w środowisku sa dyskretne (czyli skokowe), zarówno w sferze faktów jak i czasu. Zauważmy, że takie sformu lowanie zadania jest podobne do typowego zagadnienia przeszukiwania w przestrzeni stanów. Klasyczne planowanie dzia lań wst ep 1 Klasyczne planowanie dzia lań wst ep 2 Planowanie jako przeszukiwanie Przyk lad zadania: należy zrobić zakupy - mleko, banany, itp. Talk to Parrot Go To Pet Store Buy a Dog Go To School Go To lass Start Go To Supermarket Buy Tuna Fish Go To Sleep Buy Arugula Read A Book Buy Milk... Finish Sit in hair Sit Some More Etc. Etc....... Read A Book Zauważmy: opisy stanów dla świata rzeczywistego sa z lożone, agent ma bardzo wiele możliwych akcji do wykonania. Klasyczne planowanie dzia lań wst ep 3 Planowanie jako przeszukiwanie cd. Zadanie planowania jest zupe lnie typowym przypadkiem zadania przeszukiwania w przestrzeni stanów. S a zatem możliwe do zastosowania wszystkie algorytmy przeszukiwania w takich przestrzeniach. Jednak w świecie rzeczywistym opisy stanów s a typowo z lożone, a agent inteligentny ma wiele możliwych akcji w swoim repertuarze. Usi luj acy zaplanować swoje czynności przez przeszukiwanie agent ma do czynienia z eksplozj a kombinatoryczn a. Jednocześnie trudno mu sformu lować skuteczn a heurystyk e, która pozwoli laby mu ukierunkować przeszukiwanie przez wybieranie w laściwych kolejnych akcji. Zastosowanie ogólnych metod przeszukiwania do planowania nie uwzgl ednia i nie potrafi skutecznie wykorzystać szczególnych cech zadań planowania: akcje i ich efekty dotycz a zwykle ma lej liczby w lasności świata, cele zadania planowania wyrażone sa również ma l a liczb a w lasności. Przydatna by laby specjalna reprezentacja i algorytmy dla planowania. Klasyczne planowanie dzia lań wst ep 4

Planowanie z użyciem rachunku sytuacji Przyk lad z ma lp a i bananami ilustruje podejście oparte na rachunku sytuacji, które może być zastosowane do planowania dzia lań, wed lug schematu: sytuacje s a jawnie określane i wprowadzone do formu l jako wartości zmiennej sytuacyjnej (reification traktowanie jako obiektów) funkcje wynikowe At(Monkey, P1, S0) At(Monkey, P2, S1) S1 = Result(Goto(P1, P2, S0)) aksjomaty efektów p, s At(Monkey, p, Goto(p, s)) x,s Present(x,s) Portable(x) Holding(x,Result(Grab,s)) aksjomaty t la (frame axioms) a,x,s Holding(x,s) (a Release) Holding(x,Result(a,s)) p,p1,p2,s At(Bananas,p,s) At(Bananas,p,Move(Box,p1,p2,s)) twierdzenie formu luje si e w postaci: s HaveBananas(s) wynik może być uzyskany w postaci: Havebananas(Grab(Bananas, limb(box, Move(Box, P2, P3, Goto(P2, S0))))) Klasyczne planowanie dzia lań wst ep 5 Planowanie z użyciem rachunku sytuacji cd. Planowanie z wykorzystaniem logiki i dowodzenia twierdzeń dzia la. Jednak w praktyce jest ma lo efektywne, co wynika ze z lożoności procedury dowodzenia twierdzeń rachunku predykatów. Zauważmy, że stan pocz atkowy zwykle nie jest opisany w sposób kompletny, określaj acy po lożenie i stan wszystkich obiektów. Podane sa tylko kluczowe warunki wyjściowe określaj ace stan agenta i obiektów na których ma on dzia lać w sumie definiuj ace duży zbiór stanów. Mamy tu do czynienia ze zjawiskiem, gdzie wykorzystujemy ogólne (i ca lkiem eleganckie) rozwi azanie do szczególnej sytuacji. Nie bierzemy jednak pod uwag e i nie wykorzystujemy szczególnych cech zadania planowania. Algorytm dowodzenia twierdzeń ma znaleźć rozwi azanie, ale jest limitowany przez swoj a efektywność, która w odniesieniu do reprezentacji sytuacji świata rzeczywistego zwykle okazuje si e niewystarczaj aca. Gdy mamy do czynienia z pewnym konkretnym zagadnieniem, i podanymi faktami, możemy wykorzystać te fakty do skoncentrowania si e na akcjach, które maj a ścis ly zwi azek z tymi faktami. Maszyna dowodzenia twierdzeń również to robi, ale w sposób w laściwy dla dowodzenia. Pytanie: czy nie istnieje wyspecjalizowana reprezentacja w laściwa dla planowania dzia lań? Klasyczne planowanie dzia lań wst ep 6 Specjalne reprezentacje dla planowania dzia lań Wydaje si e, że efektywne planowanie dzia lań wymaga wyspecjalizowanych reprezentacji, umożliwiaj acych agentowi koncentrowanie si e na wybieraniu i dopasowywaniu kroków planu. Jakie s a specjalne wymagania takiej reprezentacji: opisy akcji powinny być powi azane z elementami opisu stanu, wyszukiwanie akcji niezb ednych w planie dzia lań powinno nast epować w dowolnej kolejności, niekoniecznie w kolejności ich użycia (metafora: chc ac zaplanować trudny dzień pracy, niekoniecznie pierwszym pytaniem jest któr a nog a należy wstać z lóżka), jeśli wyst epuje kilka celów zadania planowania, które s a niezależne, powinno być możliwe planowanie osi agni ecia ich od siebie niezależnie, i po l aczenie otrzymanych planów cz astkowych w jeden spójny plan, przydatny by lby wyspecjalizowany j ezyk opisu problemów planowania, ograniczaj acy ilość możliwości jakie mog a być brane pod uwag e. Klasyczne planowanie dzia lań wst ep 7 Klasyczne planowanie dzia lań wst ep 8

Schemat reprezentacji STRIPS STRIPS STanford Research Institute Problem Solver (1970). By l nazw a systemu planowania dzia lań robota dzia laj acego w bardzo ograniczonym świecie sześciennych bloków, które robot przepycha l z pomieszczenia do pomieszczenia. System dzia la l na minikomputerze z tamtej epoki i by l bardzo minimalistyczny. Jednak reprezentacja, któr a wykorzystywa l, przeży la swoj a epok e i jest nadal podstaw a konstrukcji reprezentacji wiedzy dla systemów planowania dzia lań. Reprezentacja STRIPS wykorzystuje zapis w postaci prostych formu l logicznych sk ladaj acych si e z litera lów (formu l atomowych i negacji) podstawionych (bez zmiennych) i nie zawieraj acych funkcji. Jedynym spójnikiem logicznym dozwolonym w formu lach jest koniunkcja. (Ponieważ koniunkcja jest domyślna, formu ly można alternatywnie zapisywać w postaci list litera lów.) Pozwala to na przetwarzanie opisów stanów przez algebraiczne manipulacje formu l bez dowodzenia twierdzeń. Opis stanu pocz atkowego: koniunkcja pozytywnych litera lów podstawionych. Zadanie planowania jest również zapisywane jako koniunkcja litera lów. Reprezentacja akcji jest nieco bardziej rozbudowana. Klasyczne planowanie dzia lań reprezentacja STRIPS 9 STRIPS reprezentacja akcji Reprezentacj a akcji w STRIPSie jest tzw. schemat operatora, czyli sparametryzowany opis operatora, zawieraj acy zmienne, które w konkretnym przypadku s a podstawiane konkretnymi wartościami. Zapis schematu operatora sk lada si e z: warunków stosowalności operatora (preconditions), w postaci listy pozytywnych litera lów. efektów jego zastosowania, również w postaci koniunkcji litera lów, które mog a być pozytywne lub zanegowane; po wykonania operatora pozytywne litera ly s a dodawane, a negatywne usuwane z opisu stanu. (Oryginalny STRIPS zamiast koniunkcji litera lów pozytywnych i negatywnych mia l dwie listy litera lów: Add list i Delete list.) Przyk ladowy schemat operatora: Akcja: Buy(x, p) Warunki stosowalności: At(p), Sells(p, x), Have($$$) Efekty: Have(x), Have($$$) At(p), Sells(p,x), Have($$$) Buy(x,p) Schemat reprezentacji STRIPS przyk lad Rozważmy zadanie planowania zakupów. Dost epne s a operatory: Go(p1, p2) (udaj si e z miejsca p1 do p2), i Buy(x,p) (kup towar x w miejscu p). W stanie pocz atkowym agent znajduje si e w domu, oraz znane sa mu też fakty niezb edne przy planowaniu zakupów, tj. że poż adane towary (mleko i banany) można kupić w supermarkecie. elem dzia lania agenta b edzie kupienie tych dwóch artyku lów. S0 = {At(Home), Sells(SM, M ilk), Sells(SM, Bananas)} G = {Have(M ilk), Have(Bananas)} Akcja: Go(p1, p2) Akcja: Buy(x, p) Warunki: At(p1) Warunki: At(p), Sells(p, x) Efekty: At(p1), At(p2) Efekty: Have(x) Klasyczne planowanie dzia lań reprezentacja STRIPS 11 Schemat reprezentacji STRIPS ograniczenia W powyższym sformu lowaniu reprezentacja operatora kupowania ignoruje pewien istotny aspekt zagadnienia, a mianowicie p lacenie. Uwzgl ednienie pieni edzy nie jest latwe ponieważ ani reprezentacja STRIPS ani wykorzystywane w niej formu ly logiczne nie obs luguj a arytmetyki. Można próbować: S0 = {At(Home), Have($$$), Sells(SM, M ilk), Sells(SM, Bananas)} Akcja: Buy(x, p) Warunki: At(p), Sells(p, x), Have($$$) Efekty: Have(x), Have($$$) W tym uproszczonym sformu lowaniu zadania agentowi starczy pieni edzy tylko na kupno jednego artyku lu. Do zaplanowania l acznych zakupów mleka i bananów to rozwi azanie jest już niewystarczaj ace. Klasyczne planowanie dzia lań reprezentacja STRIPS 12 Have(x), Have($$$) L Klasyczne planowanie dzia lań reprezentacja STRIPS 10

Schemat reprezentacji STRIPS ograniczenia (cd.) Innym poważnym ograniczeniem j ezyka reprezentacji STRIPS jest, że fakty musz a być wyrażane pozytywnymi litera lami podstawionymi. Na przyk lad, aby poprawnie zapisać operator Go, jego argumentami musz a być miejsca sk ad i dok ad agent ma si e przemieścić. Nie może on rozważać akcji typu: Jedź do sklepu, a wy l acznie typu: Jedź z domu do sklepu. Próba opisania jednoargumentowego operatora Go wymaga laby użycia konstrukcji wykraczaj acej poza schemat STRIPS: Akcja: Go(p) Warunki: {} //brak warunków Efekty: At( ), At(p) Konstrukcje takie jak At( ) (tzn. usuń z reprezentacji bież acego świata wszystkie fakty At(...)) sa cz esto przydatne, i nietrudne do zaimplementowania. Fakt, że s a niedozwolone w STRIPS-ie jest kwesti a jego ogólnej prostoty, a nie świadom a decyzj a projektow a jego twórców. Klasyczne planowanie dzia lań reprezentacja STRIPS 13 Schemat reprezentacji STRIPS ograniczenia (cd.) Oryginalny STRIPS powsta l w czasach wczesnej technologii obliczeniowej. W dodatku zosta l zastosowany w prawdziwym robocie jeżdż acym po laboratorium, analizuj acym obraz otoczenia z kamery, oraz planuj acym i wykonuj acym dzia lania w czasie rzeczywistym. Z konieczności wi ec jego reprezentacja by la skrojona na minimum. zy nie warto by loby jej rozszerzyć? Pomimo iż dziś możliwości mobilnego sprz etu obliczeniowego sa dużo wi eksze, aparat logiki i dowodzenia twierdzeń wprowadzi lyby poziom z lożoności, którego nadal chcemy unikn ać. Istniej a jednak pewne konstrukcje rozszerzaj ace oryginalny schemat STRIPSa, które pozwalaj a na wi eksz a elastyczność opisu, nie wymagaj ac zastosowania pe lnego aparatu logiki. Na przyk lad, logika STRIPSa przyjmuje domyślnie za lożenie świata zamkni etego (WA), tzn. każdy warunek nieobecny jawnie w opisie stanu jest traktowany jako fa lszywy. W konsekwencji, pocz atkowy opis świata sk lada si e tylko z litera lów pozytywnych; negatywnych nie ma potrzeby ani możliwości podawać. Klasyczne planowanie dzia lań reprezentacja STRIPS 14 Schemat reprezentacji ADL STRIPS zosta l rozszerzony w schemat reprezentacji ADL (Action Description Language). ADL dopuszcza negatywne litera ly w opisach stanów, formu ly z lożone z koniunkcji i alternatyw w zapisie celu, a także odrzuca WA. STRIPS Language ADL Language Only positive literals in states: Positive and negative literals in states: Poor Unknown Rich Famous losed World Assumption: Open World Assumption: Unmentioned literals are false. Unmentioned literals are unknown. Effect P Q means Effect P Q means add P and delete Q add P and Q and delete P and Q. Only ground literals in goals: Quantified variables in goals: Rich Famous xat(p1,x) At(P2,x) is the goal of having P1 and P2 in the same place. Goals are conjunctions: Goals allow conjunction and disjunction: Rich Famous Poor (Famous Smart) Effects are conjunctions. onditional effects allowed: when P : E means E is an effect only if P is satisfied. No support for equality. Equality predicate (x = y) is built in. No support for types. Variables can have types, as in (p : Plane). Klasyczne planowanie dzia lań schemat reprezentacji ADL 15 J ezyk PDDL PDDL (Planning Domain Definition Language) jest j ezykiem zapisu problemów planowania wprowadzonym jako standard pozwalaj acy różnym programom rozumieć i rozwi azywać jednolicie opisane zadania. PDDL jest j ezykiem ogólniejszym zarówno od STRIPSa jak i ADL, ale definiuje podzbiory j ezyka dla obu tych schematów reprezentacji. Sk ladnia PDDL jest oparta na j ezyku ommon Lisp. Opis problemu w PDDL sk lada si e z dwóch cz eści, typowo w oddzielnych plikach: opisu dziedziny, tzn. s lownika predykatów i reprezentacji akcji, opisu instancji problemu, tzn. obiektów, stanu pocz atkowego, i specyfikacji celu. Klasyczne planowanie dzia lań j ezyk PDDL 16

PDDL przyk lad Robot zwany Robby może poruszać si e pomi edzy dwoma pokojami, oraz posiada dwa chwytaki, którymi może podnosić pi leczki oraz przenosić je mi edzy tymi pokojami. Opis tej dziedziny: (define (domain gripper-strips) (:predicates (room?r) (ball?b) (gripper?g) (at-robby?r) (at?b?r) (free?g) (carry?o?g)) (:action move :parameters (?from?to) :precondition (and (room?from) (room?to) (at-robby?from)) :effect (and (at-robby?to) (not (at-robby?from)))) Klasyczne planowanie dzia lań j ezyk PDDL 17 (:action pick :parameters (?obj?room?gripper) :precondition (and (ball?obj) (room?room) (gripper?gripper) (at?obj?room) (at-robby?room) (free?gripper)) :effect (and (carry?obj?gripper) (not (at?obj?room)) (not (free?gripper)))) (:action drop :parameters (?obj?room?gripper) :precondition (and (ball?obj) (room?room) (gripper?gripper) (carry?obj?gripper) (at-robby?room)) :effect (and (at?obj?room) (free?gripper) (not (carry?obj?gripper))))) Klasyczne planowanie dzia lań j ezyk PDDL 18 W pewnym zadaniu planowania pocz atkowo robot i wszystkie pi leczki sa w pierwszym pokoju. elem jest przeniesienie ich do drugiego. (define (problem strips-gripper2) (:domain gripper-strips) (:objects rooma roomb ball1 ball2 left right) (:init (room rooma) (room roomb) (ball ball1) (ball ball2) (gripper left) (gripper right) (at-robby rooma) (free left) (free right) (at ball1 rooma) (at ball2 rooma)) (:goal (at ball1 roomb))) Klasyczne planowanie dzia lań j ezyk PDDL 19 Klasyczne planowanie dzia lań j ezyk PDDL 20

Strategie planowania W najprostszym przypadku system planuj acy posuwa si e od pocz atku do końca, i generuje pe lny i ca lkowicie wyspecyfikowany plan dzia lań. Taki system planuj acy jest określany jako total order progression planner. Ze wzgl edu na brak heurystyk ukierunkowuj acych przeszukiwanie, cz esto ch etniej wybieranym wariantem okazuje si e przeszukiwanie od końca, czyli dopasowuj ace akcje agenta do postawionego mu zadania regression planning. Polega on na rozpocz eciu pracy od wybrania akcji końcowej, czyli takiej, która pośród swoich efektów posiada litera l celowy (ponieważ formu la celu może mieć wiele litera lów, wi ec akcji końcowych może być wiele). Nast epnie sprawdza si e, czy sa spe lnione warunki jej zastosowania, a jeśli nie sa, to ich osi agni ecie jest dodawane (lub podstawiane) jako nowy cel planowania. W kolejnym etapie planowania wybierany jest nast epny operator (od końca), i tak aż do osi agni ecia takiego zestawu wymagań, który by lby spe lniony w stanie pocz atkowym. Klasyczne planowanie dzia lań strategie planowania 21 Użycie heurystyk Jednak w praktycznych przypadkach zarówno planowanie wprzód jak i wstecz okazuj a si e zbyt ma lo efektywne. Można je stosować jedynie w po l aczeniu z pewnymi heurystykami, które daje si e sformu lować w sposób ca lkowicie uniwersalny, czyli niezależny od dziedziny problemowej. Na przyk lad, poznana już metoda generowania i rozwi azywania zagadnienia uproszczonego, i traktowania jego kosztu jako oszacowania kosztu zagadnienia oryginalnego, jest przyk ladem takiej heurystyki. Klasyczne planowanie dzia lań strategie planowania 22 Trudne przypadki interakcje pomi edzy podcelami Algorytm planowania powinien wykorzystywać strategi e dziel i rz adź, i budować plany oddzielnie dla niezależnych podcelów, gdy tylko jest to możliwe. Istniej a jednak przypadki trudne, gdzie podcele nie s a niezależne, i ich niezależne planowanie prowadzi do kolizji, jak w poniższej sytuacji, zwanej anomali a Sussmana: "Sussman anomaly" problem A B B A Start State Goal State lear(x) On(x,z) lear(y) lear(x) On(x,z) PutOn(x,y) PutOnTable(x) ~On(x,z) ~lear(y) lear(z) On(x,y) ~On(x,z) lear(z) On(x,Table) + several inequality constraints Klasyczne planowanie dzia lań strategie planowania 23 Krótkie podsumowanie pytania sprawdzaj ace 1. Dlaczego poż adane jest stosowanie specjalistycznych reprezentacji do planowania dzia lań, zamiast reprezentacji w przestrzeni stanów, albo reprezentacji logicznej? 2. Utwórz reprezentacj e STRIPS pozwalaj ac a wyrazić problem studenta, który musi zdać egzaminy z dwóch przedmiotów, i aby zdać każdy egzamin musi najpierw nauczyć si e danego przedmiotu, lecz ucz ac si e jednego, traci wszelk a wiedz e nabyt a wcześniej. Wykorzystuj ac opracowan a reprezentacj e zapisz problem tego studenta. 3. Spróbuj rozwi azać zapisany wcześniej problem studenta, najpierw wykorzystuj ac strategi e wprzód, a nast epnie wstecz. Jeśli w trakcie tej pracy zrozumiesz podstawowy dylemat studiuj acego studenta (troch e podobny do anomalii Sussmana), przemyśl, jakiego rodzaju mechanizm(y) by lby niezb edny(e) aby skutecznie rozwi azywać ten dylemat. Klasyczne planowanie dzia lań podstawowa reprezentacja i strategie 24

Planowanie w przestrzeni planów Alternatywn a reprezentacj e do podstawowego schematu planowania daje użycie przestrzeni planów. Polega ona na utworzeniu i nast epnie stopniowym przekszta lcaniu planu cz eściowo uporz adkowanego, który jest trójk a: Zbiór kroków planu (podstawionych schematów operatorów) Pocz atkowy zbiór kroków zawiera dwa operatory techniczne: operator Start, którego efekty stanowi a opis stanu pocz atkowego, i operator Finish, którego warunki stosowalności stanowi a cel zadania planowania. Niektóre kroki planu mog a nie mieć spe lnionych swoich warunków stosowalności, takie warunki nazywamy otwartymi. Zbiór zwi azków przyczynowych Zwi azki przyczynowe l acz a kroki planu z konkretnymi warunkami stosowalności innych kroków planu. Wskazuj a, że jakiś krok planu wymaga dla spe lnienia swojego warunku stosowalności wykonania innego kroku. Zbiór zwi azków chronologicznych Dodatkowe niezb edne zależności chronologiczne określone przez system. Plan jest kompletny jeśli wszystkie warunki stosowalności kroków planu sa osi agni ete wcześniejszymi krokami, i nie naruszaj a ich inne kroki. 25 Przyk lad: zak ladanie butów Rozważmy przyk lad: chcemy zbudować plan na lożenia na nogi butów (obydwu), lecz warunkiem na lożenia buta na nog e jest wcześniejsze na lożenie skarpetki. Istnieje szereg planów dzia lań w pe lni uporz adkowanych dla tego zadania, lub poniższy plan cz eściowy: Start Start Left Sock Right Sock LeftShoeOn, RightShoeOn Finish LeftSockOn RightSockOn Left Shoe Right Shoe LeftShoeOn, RightShoeOn Finish Pierwszy plan (po lewej) jest punktem startowym planowania, natomiast plan po prawej jest gotowym, ostatecznym rozwi azaniem zadania. 26 Przekszta lcenia planów cz eściowych Operacje przekszta lcania planów: dodanie po l aczenia (przyczynowego) istniej acego kroku planu z otwartym warunkiem (innego kroku), dodanie kroku w celu spe lnienia otwartego warunku innego kroku (z po l aczeniem przyczynowym), wprowadzenie relacji porz adku (chronologicznego) dwóch kroków. 27 28

Przyk lad: zakupy (1) Start At(Home) Sells(HWS,Drill) Sells(SM,Milk) Sells(SM,Ban.) Have(Milk) At(Home) Have(Ban.) Have(Drill) Finish 29 Przyk lad: zakupy (2) Start At(Home) Sells(HWS,Drill) Sells(SM,Milk) Sells(SM,Ban.) At(HWS) Sells(HWS,Drill) Buy(Drill) At(x) Go(SM) At(SM) Sells(SM,Milk) Buy(Milk) Have(Milk) At(Home) Have(Ban.) Have(Drill) Finish 30 Zagrożenia Nie wystarczy zadbać o to, żeby w planie znalaz ly si e kroki spe lniaj ace wszystkie warunki stosowalności wszystkich kroków planu. Warunek spe lniony przez jeden krok planu (Go(Supermarket)) i potrzebny drugiemu krokowi (Buy(Milk)), co wskazuje po l aczenie zwi azkiem przyczynowym móg lby zostać zniweczony w efekcie wykonania jakiegoś innego kroku (Go(Home)), jeśli ten inny krok planu by lby wykonany pomi edzy krokami powi azanymi zwi azkiem przyczynowym. Go(Supermarket) At(Supermarket) Buy(Milk) PROMOTION DEMOTION At(Home) Finish Go(Home) At(Home) Taki inny krok nazywamy zagrożeniem dla zwi azku przyczynowego dwóch kroków planu. Zagrożenia mog a zostać wyeliminowane przez wprowadzenie dodatkowych uporz adkowań chronologicznych. Krok zagrożenia może poprzedzać wcześniejszy krok zwi azku przyczynowego (ang. demotion, pol. degradacja), lub nast epować po późniejszym kroku zwi azku (ang. promotion, pol. promocja). 31 Przyk lad: zakupy (3) Start At(Home) Go(HWS) At(HWS) Sells(HWS,Drill) Buy(Drill) At(HWS) Go(SM) At(SM) Sells(SM,Milk) At(SM) Sells(SM,Ban.) Buy(Milk) Buy(Ban.) At(SM) Go(Home) Have(Milk) At(Home) Have(Ban.) Have(Drill) Finish 32

Algorytm planowania POP Pos luguj ac si e reprezentacj a w przestrzeni planów cz eściowych można sformu lować algorytm POP (Partial Order Planner) konstruuj acy kompletne plany cz eściowo uporz adkowane. function POP(Initial, Goal, Operators) returns Plan Plan Make-Minimal-Plan(Initial, Goal) loop do if Solution?(Plan) then return Plan Sneed, c Select-Subgoal(Plan) hoose-operator(plan, Operators, Sneed, c) Resolve-Threats(Plan) end function Select-Subgoal(Plan) returns Sneed, c Sneed spośród Steps(Plan) wybierz krok z niespe lnionym warunkiem c return Sneed, c 33 procedure hoose-operator(plan, Operators, Sneed, c) Sadd spośród Operators albo Steps(Plan) wybierz krok z efektem c if nie ma takiego kroku then fail do Links(Plan) dodaj po l aczenie przyczynowe Sadd c Sneed do Orderings(Plan) dodaj uporz adkowanie Sadd Sneed if Sadd jest nowo dodanym krokiem spośród Operators then dodaj Sadd do Steps(Plan) dodaj Start Sadd Finish do Orderings(Plan) procedure Resolve-Threats(Plan) for each Sthreat Steps(Plan) który zagraża Si end choose jedno z Demotion: dodaj Sthreat Si do Orderings(Plan) Promotion: dodaj Sj Sthreat do Orderings(Plan) if not onsistent(plan) then fail c Sj Links(Plan) do 34 W lasności algorytmu POP Algorytm POP jest poprawny i kompletny, to znaczy zwraca wy l acznie poprawne plany, i jeśli tylko plan istnieje, to POP go znajdzie (o ile używa przeszukiwania wszerz, lub z iteracyjnym pog l ebianiem). W algorytmie jest szereg elementów wyboru, które mog a być wykonywane niedeterministycznie: wybór kroku Sneed, c i otwartego (niespe lnionego) warunku c wybór kroku Sadd dla spe lnienia Sneed, c wybór kolejności kroków przy rozwi azywaniu zagrożenia Te elementy mog a stanowić punkty nawracania, gdyby algorytm osi agn a l porażk e planowania na skutek: braku możliwości spe lnienia otwartego warunku nierozwi azywalnego konfliktu (kroków planu zagrażaj acych sobie nawzajem) Istnieje ponadto szereg rozszerzeń podstawowej wersji algorytmu, niektóre omówione poniżej. 35 Przyk lad: świat klocków (1) "Sussman anomaly" problem A B B A Start State Goal State lear(x) On(x,z) lear(y) lear(x) On(x,z) PutOn(x,y) PutOnTable(x) ~On(x,z) ~lear(y) lear(z) On(x,y) ~On(x,z) lear(z) On(x,Table) + several inequality constraints 36

Przyk lad: świat klocków (2) START B A On(,A) On(A,Table) l(b) On(B,Table) l() On(A,B) On(B,) FINISH A B 37 Przyk lad: świat klocków (3) START B A On(,A) On(A,Table) l(b) On(B,Table) l() l(b) On(B,z) l() PutOn(B,) On(A,B) On(B,) FINISH A B 38 Przyk lad: świat klocków (4) START B A On(,A) On(A,Table) l(b) On(B,Table) l() PutOn(A,B) clobbers l(b) => order after PutOn(B,) l(b) On(B,z) l() l(a) On(A,z) l(b) PutOn(B,) PutOn(A,B) On(A,B) On(B,) FINISH A B 39 Przyk lad: świat klocków (5) START B A On(,A) On(A,Table) l(b) On(B,Table) l() On(,z) l() PutOn(A,B) clobbers l(b) => order after PutOn(B,) PutOnTable() l(a) On(A,z) l(b) PutOn(A,B) l(b) On(B,z) l() PutOn(B,) PutOn(B,) clobbers l() => order after PutOnTable() On(A,B) On(B,) FINISH A B 40

Planowanie z cz eściowo podstawionymi operatorami W przypadku, gdyby któryś z operatorów użytych w planie nie mia l podstawionych wszystkich parametrów, może si e zdarzyć, że pojawi a si e możliwe zagrożenia, zależne od konkretnych przypisań wartości dla tych parametrów. Można rozszerzyć nieco algorytm POP, aby uwzgl ednia l takie przypadki. procedure hoose-operator(plan, Operators, Sneed, c) Sadd spośród Operators albo Steps(Plan) wybierz krok z efektem cadd takim, że u =Unify(c, cadd,bindings(plan)) if nie ma takiego kroku then fail do Bindings(Plan) dodaj podstawienie u do Links(Plan) dodaj po l aczenie przyczynowe Sadd c Sneed do Orderings(Plan) dodaj uporz adkowanie Sadd Sneed if Sadd jest nowo dodanym krokiem spośród Operators then dodaj Sadd do Steps(Plan) dodaj Start Sadd Finish do Orderings(Plan) 41 procedure Resolve-Threats(Plan) c for each Si Sj Links(Plan) do for each Sthreat Steps(Plan) do for each c Effects(Sthreat) do if Subst(Bindings(Plan),c) = Subst(Bindings(Plan),c ) then choose jedno z Demotion: dodaj Sthreat Si do Orderings(Plan) Promotion: dodaj Sj Sthreat do Orderings(Plan) if not onsistent(plan) then fail end end end Algorytm POP rozszerzony w ten sposób nadal jest poprawny i kompletny. 42 Dalsze rozszerzenia POP Algorytm POP sprawnie radzi sobie z niektórymi zadaniami planowania dzia lań, jednak cz eściowo wynika to z ubogości domeny jego stosowalności, m.in. ubogości j ezyka opisu operatorów z deterministycznymi, niezależnymi efektami, itp. J ezyk ten można rozszerzyć na szereg sposobów: operatory z warunkowymi efektami dzia lania wymagaj a uwzgl ednienia dodatkowych warunków w Resolve-Threats osi aganie zanegowanych celów, potrzebne dla poprzedniego, wymaga sprawnego pos lugiwania si e negacj a, a także wprowadzenia za lożenia świata zamkni etego dla opisu stanu pocz atkowego (aby unikn ać wypisywania faktów, które nie s a w nim spe lnione) warunki stosowalności operatorów z alternatywami uniwersalnie kwantyfikowane warunki stosowalności i efekty operatorów Należy podkreślić, że stosowany j ezyk opisu, pomimo iż zawiera coraz wi ecej elementów rachunku predykatów pierwszego rz edu, nie jest nim. Nadal jest to prosty j ezyk dopuszczaj acy pewne typy klauzul w określonych rolach, i nic wi ecej. Na przyk lad, nie ma w ogóle mowy o alternatywnych efektach operatorów. Algorytmy tutaj stosowane pos luguj a si e jedynie unifikacj a formu l, a nigdy dowodzeniem twierdzeń. 43 Planowanie warunkowe Planowanie warunkowe pozwala uwzgl ednić zarówno różne możliwe efekty dzia lań agenta, jak i fakty nieznane w chwili planowania. Algorytm konstrukcji planów warunkowych POP jest rozszerzeniem algorytmu POP przez uwzgl ednienie: kontekstu (warunków, które musz a być spe lnione) dla kroków planu, kroków warunkowych (które nie powoduj a konkretnych efektów, ale mog a pozyskać wiedz e o ich spe lnieniu), powielonych stanów Finish (dla uwzgl ednienia kontekstów, których nie uwzgl ednia konstruowany plan), i warunkowego rozwi azywania zagrożeń. Algorytm planowania warunkowego można w dalszym ci agu rozszerzyć o wielowartościowe kroki warunkowe (zamiast prostego sprawdzania z wynikiem binarnym), oraz o p etle powtórzeniowe, które s a podobne do kroków warunkowych, tylko zamiast powodować warunkowego wykonania jakiegoś kroku (lub ga l ezi) planu, powoduj a jego/jej warunkowe powtórzenie, i ponowne sprawdzenie warunku. Takie plany maj a silny charakter programów, ich wykonywanie przypomina interpretacj e programów, a konstrukcja planu jest analogiczna do automatycznego pisania programu ze specyfikacji. 44

Krótkie podsumowanie pytania sprawdzaj ace 1. Z jakich elementów sk lada si e reprezentacja problemu dla planowania w przestrzeni planów? zy ma ona jakieś elementy wspólne (albo podobne) do reprezentacji STRIPS? 2. o to jest plan cz eściowo uporz adkowany? Podaj przyk lad takiego planu dla wcześniej rozważanego zagadnienia studenta maj acego do zdania dwa egzaminy. 3. Wymień operacje jakie wykonuje na planach cz eściowo uporz adkowanych system planowania w przestrzeni planów. 4. Na czym polegaj a zagrożenia w planach cz eściowo uporz adkowanych? Jakie zagrożenie może powstać (raczej na pewno powstanie) w trakcie rozwi azywania problemu studenta? 5. Na czym polegaj a niedeterministyczne elementy algorytmu POP i jak a pe lni a w nim rol e? Klasyczne planowanie dzia lań planowanie w przestrzeni planów, algorytm POP 45 Klasyczne planowanie dzia lań planowanie w przestrzeni planów, algorytm POP 46 Grafy planowania Grafy planowania stanowi a zupe lnie inne podejście do planowania dzia lań, którego zalet a jest możliwość zastosowania bardziej przydatnych heurystyk. Dzi eki tym heurystykom możliwe jest zastosowanie szerszej klasy metod przeszukiwania. Możliwe jest również bezpośrednie otrzymanie planu dzia lań z gotowego grafu planowania. Graf planowania sk lada si e z poziomów, odpowiadaj acych krokom w czasie, gdzie pierwszy poziom opisuje stan pocz atkowy S0. Poziomy zbudowane sa naprzemiennie z opisów stanu, i zbiorów akcji. Opisy stanu nie s a kompletnymi opisami jakiegoś rzeczywistego stanu, lecz raczej zbiorami litera lów logicznych, które mog a być elementem opisu stanu, wynikaj acego z jakiejś akcji. Akcje sa podstawionymi operatorami po l aczonymi z jednej strony z litera lami zapewniaj acymi spe lnienie warunków stosowalności, a z drugiej strony z litera lami opisuj acymi wyniki akcji. W dodatku do rzeczywistych operatorów uwzgl edniane sa akcje puste, odpowiadaj ace aksjomatom niezmienniczości. Istotnym ograniczeniem grafów planowania jest brak obs lugi zmiennych. Gdy dziedzina planowania zawiera operatory z argumentami, wtedy musz a one być rozpisane na wszystkie możliwe szczególne przypadki. Klasyczne planowanie dzia lań grafy planowania 47 Grafy planowania przyk lad Init(Have(ake)) Goal(Have(ake) Eaten(ake)) Action(Eat(ake) PREOND: Have(ake) EFFET: Have(ake) Eaten(ake)) Action(Bake(ake) PREOND: Have(ake) EFFET: Have(ake)) S 0 A 0 S 1 A 1 S 2 Bake(ake) Have(ake) Have(ake) Have(ake) Have(ake) Have(ake) Eat(ake) Eat(ake) Eaten(ake) Eaten(ake) Eaten(ake) Eaten(ake) Eaten(ake) Szare luki mi edzy akcjami i litera lami oznaczaj a wzajemne wykluczanie (mutex). Klasyczne planowanie dzia lań grafy planowania 48

Muteksy w grafie planowania Skonstruowany graf planowania nie określa wyboru ani kolejności wykonywanych akcji, a jedynie możliwość wykonywania akcji i osi agania efektów. Dzi eki temu algorytm tworzenia tego grafu jest prosty i efektywny (wielomianowy w zależności od liczby akcji i litera lów), gdy przestrzeń przeszukiwania planów jest eksponencjalna w liczbie litera lów. Algorytm obliczania muteksów określony jest nast epuj acymi regu lami: Mutex istnieje pomi edzy dwoma akcjami na każdym poziomie grafu planowania jeśli zachodzi jeden z warunków: jedna akcja neguje efekty drugiej, jeden z efektów jednej z akcji zaprzecza warunkowi drugiej, jeden z warunków jednej z akcji jest mutex z którymś z warunków drugiej. Mutex istnieje pomi edzy dwoma litera lami na każdym poziomie grafu planowania: (i) jeśli jeden jest negacj a drugiego, albo (ii) jeśli mi edzy każd a par a akcji pozwalaj ac a osi agn ać oba litera ly zachodzi mutex. Klasyczne planowanie dzia lań grafy planowania 49 S 0 A 0 S 1 A 1 S 2 Bake(ake) Have(ake) Have(ake) Have(ake) Have(ake) Have(ake) Eat(ake) Eat(ake) Eaten(ake) Eaten(ake) Eaten(ake) Eaten(ake) Eaten(ake) Zwróćmy uwag e, litera ly Have(ake) i Eaten(ake) sa mutex w poziomie S1, ponieważ jedyny sposób osi agni ecia Have(ake), czyli akcja niezmienniczości, jest muteks z jedyn a akcj a osi agaj ac a Eaten(ake), czyli Eat(ake). Jednocześnie, te litera ly nie sa mutex w poziomie S2, ponieważ pojawi ly si e nowe akcje osi agaj ace te litera ly, i nie wszystkie s a muteks: Bake(ake) i niezmienniczość Eaten(ake). Klasyczne planowanie dzia lań grafy planowania 50 zym s a grafy planowania? Graf planowania jest struktur a, w której każdy poziom Ai zawiera wszystkie akcje, które sa potencjalnie możliwe w Si, z zaznaczeniem, które akcje nie sa jednocześnie możliwe. Fakt, że pewna akcja pojawi la si e w grafie planowania w poziomie Ai nie oznacza, że b edzie możliwe wykonanie tej akcji po i krokach. Jednak najwcześniejszy poziom An, w którym dana akcja si e pojawi la niesie wiadomość, że wykonanie tej akcji nie b edzie możliwe wcześniej niż po n krokach. Każdy poziom Si zawiera wszystkie litera ly, które mog a wynikać z wybrania akcji z poziomu Ai 1, z zaznaczeniem, które pary litera lów nie s a jednocześnie możliwe. Zauważmy, że konstrukcja grafu planowania nie wymaga wybierania akcji, co wymaga loby przeszukiwania kombinatorycznego. Tu jedynie odnajdujemy akcje możliwe, i zaznaczamy muteksami pewne wybory jako niemożliwe. Graf z n poziomami, a akcjami, i l litera lami ma rozmiar O(n(a+l) 2 ), i czas wymagany do jego zbudowania ma tak a sam a z lożoność. Klasyczne planowanie dzia lań grafy planowania 51 Graf planowania jako źród lo heurystyk do przeszukiwania Z grafu planowania można odczytywać przydatne informacje o problemie. Na przyk lad, litera l, którego brak w końcowym stanie grafu jest niemożliwy do osi agni ecia dowolnym planem. Dla przeszukiwania w przestrzeni stanów możemy takiemu stanowi przypisać h(n) =. W przestrzeni planów cz eściowych można wykluczyć każdy plan cz eściowy, który posiada niespe lnialny otwarty warunek. Można uogólnić t e obserwacj e definiuj ac koszt osi agni ecia litera lu celowego jako poziomu w grafie planowania, na którym ten litera l si e po raz pierwszy pojawi l. Latwo zauważyć, że ta definicja jest oszacowaniem rzeczywistej d lugości drogi do osi agni ecia każdego celu, przy czym cz esto może to być oszacowanie optymistyczne. Można wykazać, że tak zdefiniowana heurystyka jest dopuszczalna w sensie algorytmu A*. Jeszcze lepsze oszacowanie daje seryjny graf planowania zawieraj acy muteksy mi edzy wszystkimi parami niepustych akcji, co odzwierciedla konieczność wykonywania akcji krok po kroku i daje odpowiednio d luższy graf. Aby oszacować koszt osi agni ecia koniunkcji celów można obliczać: (i) sum e kosztów, (ii) maksimum, lub (iii) liczb e kroków do stanu, w którym wszystkie cele sa obecne i nie wykluczaj a si e wzajemnie. Ostatnia heurystyka dobrze sprawdza si e w szeregu przypadków z istotnymi zależnościami mi edzy celami. Klasyczne planowanie dzia lań grafy planowania 52

Bezpośrednia generacja planu algorytm GRAPHPLAN function Graphplan(problem) returns solution or failure graph Initial-Planning-Graph(problem) goals Goals[problem] loop do if goals all non-mutex in last level of graph then do solution Extract-Solution(graph, goals, Length(graph)) if solution failure then return solution else if No-Solution-Possible(graph) then return failure graph Expand-Graph(graph, problem) Initial-Planning-Graph tworzy graf ze stanem S0. Expand-Graph dodaje jeden krok do planu: wszystkie możliwe akcje (w l acznie z pustymi), ich wyniki, i oblicza muteksy. Extract-Solution oblicza binarny problem SP którego zmiennymi sa akcje na każdym poziomie, ich wartościami sa: in i out, a wi ezami spe lnienie warunków stosowalności, i obecność wszystkich celów planowania wśród efektów akcji ostatniego poziomu. Sekwencja operatorów z wartości a in tworzy kompletny plan cz eściowo uporz adkowany. Klasyczne planowanie dzia lań algorytm GRAPHPLAN 53 S 0 A 0 S 1 A 1 S 2 At(Spare,Trunk) At(Spare,Trunk) At(Spare,Trunk) Remove(Spare,Trunk) Remove(Spare,Trunk) At(Spare,Trunk) At(Spare,Trunk) Remove(Flat,Axle) At(Flat,Axle) LeaveOvernight Remove(Flat,Axle) At(Flat,Axle) At(Flat,Axle) At(Flat,Axle) At(Flat,Axle) At(Spare,Axle) At(Flat,Ground) At(Spare,Ground) LeaveOvernight At(Spare,Axle) PutOn(Spare,Axle) At(Flat,Ground) At(Flat,Ground) At(Spare,Ground) At(Spare,Ground) At(Spare,Axle) At(Spare,Axle) At(Flat,Ground) At(Flat,Ground) At(Spare,Ground) At(Spare,Ground) Klasyczne planowanie dzia lań algorytm GRAPHPLAN 54 Krótkie podsumowanie pytania sprawdzaj ace 1. o to jest graf planowania, jak jest zbudowany? 2. Jak a rol e pe lni a w grafach planowania muteksy? 3. Skonstruuj graf planowania dla rozważanego wcześniej zagadnienia studenta, który ma do zdania egzaminy z dwóch przedmiotów. Klasyczne planowanie dzia lań grafy planowania, algorytm GRAPHPLAN 55 Planowanie hierarchiczne 56

Planowanie hierarchiczne Klasyczne planowanie dzia lań zak lada, że plany uk ladane s a z akcji atomowych, tzn. elementarnych (najdrobniejszych). W oczywisty sposób ludzie nie tak uk ladaj a plany. Nie bierzemy pod uwag e każdego elementarnego ruchu (który i tak sk lada si e z szeregu skomplikowanych procesów na poziomie mi eśni), tylko operacje wyższego poziomu, dobrane z punktu widzenia trudności zadania i możliwości agenta. Oznacza to planowanie na wyższym poziomie abstrakcji. Na przyk lad, planuj ac wyjazd na wakacje, możemy je rozbić na: (1) podróż tam, (2) pobyt, wypoczynek, rozrywki, (3) podróż z powrotem. Pierwsza akcja: podróż tam może być potem rozważana jako zadanie planowania samo w sobie, sk ladaj ace si e z drobniejszych kroków, które nast epnie b ed a planowane i realizowane za pomoc a jeszcze drobniejszych akcji. Planowanie hierarchiczne 57 W tym schemacie planowanie może wyst apić zarówno przed, jak i w czasie wykonywania akcji. Na przyk lad, elementem akcji podróż z powrotem mog a być: dojazd do dworca kolejowego, jazda poci agiem, przejazd ze stacji do domu. Te kroki musz a być dalej zaplanowane szczegó lowo. Jednak może nie mieć sensu wczesne dok ladne planowanie kroku: dojazd do dworca kolejowego, ponieważ mog a pojawić si e różne warianty, o których agent nie ma pewnej wiedzy na etapie uk ladania ca lego planu przed wyjazdem, np.: może być autobus podstawiony przez hotel, mog a pojawić si e inne osoby ch etne do wspó ldzielenia taksówki, itp. Kluczow a koncepcj a jest tu dekompozycja hierarchiczna, która jest ogólnie cz esto stosowan a technik a przezwyci eżenia z lożoności różnych zjawisk. Programy komputerowe buduje si e z procedur lub modu lów, duże korporacje oraz rz ady różnego poziomu tworz a wydzia ly, biura, itp. Zalet a tego modelu jest, że na każdym poziomie struktury hierarchicznej mamy do czynienia z ma la liczb a akcji drobniejszych, podczas gdy podejście niehierarchiczne musi rozbić ca le zadanie na wielk a liczb e akcji zupe lnie elementarnych. Planowanie hierarchiczne 58 Akcje wysokiego poziomu Opisywany tu schemat nazywa si e hierarchicznymi sieciami zadań (hierarchical task networks, HTN). Jego za lożenia s a takie jak dla klasycznego planowania dzia lań. W laściwe akcje dost epne agentowi nazywa si e akcjami elementarnymi (primitive actions) z wykorzystaniem reprezentacji preconditions/effects. Dodatkowym elementem s a akcje wysokiego poziomu (high-level actions, HLA). Dla każdej HLA może istnieć jedno lub wi ecej rozwini eć (refinement) w sekwencje akcji, z których każda jest akcj a elementarn a albo inn a HLA. W szczególności, w rozwini eciu danej HLA może wyst apić ta sama HLA, z innymi parametrami (rozwini ecie rekurencyjne). Planowanie hierarchiczne 59 Akcje wysokiego poziomu i ich rozwini ecia zawieraj a wiedz e o tym jak można wykonywać różne dzia lania. Na przyk lad, aby dostać si e na lotnisko można jechać w lasnym samochodem, albo taksówk a. Nie wchodz a tu w gr e: kupowanie mleka, ustawianie jednego bloku na drugim, itp. Rozwini ecie HLA zawieraj ace wy l acznie akcje elementarne nazywamy implementacj a tej HLA. Implementacj a planu dzia lań wysokiego poziomu (sekwencji HLA) jest konkatenacja implementacji poszczególnych HLA. Ponieważ w opisach akcji elementarnych znajduj a si e ich warunki i efekty, można latwo określić czy dana implementacja planu wysokiego poziomu osi aga cel dzia lania. Tak b edzie jeśli co najmniej jedna z jego implementacji osi aga ten cel. Znalezienie poprawnego planu dla danego zadania planowania sprowadza si e zatem do znalezienia takiej sekwencji implementacji HLA, która osi aga cel zadania. Można rozważać dwa podejścia: poszukiwanie implementacji HLA, która spe lnia wymagania, i analizowanie samych HLA w celu wyznaczenia planu wysokiego poziomu bez sprawdzania wszystkich implementacji. Planowanie hierarchiczne 60

Poszukiwanie rozwi azań elementarnych Możliwa realizacja planowania HTN: definiujemy jedn a akcj e HLA o nazwie Act, gdzie celem b edzie poszukiwanie jej implementacji osi agaj acej cel zadania. Dla wszystkich akcji elementarnych ai definiujemy rozwini ecie: [ai,act], pozwalaj ace wprowadzać dowolne akcje za pomoc a rekurencji. Dla zatrzymania tej rekursji definiujemy dodatkowe rozwini ecie Act z pust a list a kroków i warunkiem stosowalności równym celowi zadania. Oznacza ono, że gdy cel zosta l osi agni ety, to pusta lista kroków jest w laściwym planem dzia lania. Implementacja takiego planowania wykorzystuj aca przeszukiwanie BFS: Planowanie hierarchiczne 61 Przeszukiwanie hierarchiczne tego typu wykorzystuje wiedz e zawart a w posiadanej kolekcji HLA o tym jak si e wykonuje pewne znane operacje. Dzi eki dobrej reprezentacji można zbudować praktyczne systemy zdolne do wyznaczania pot eżnych planów z niewielkim przeszukiwaniem. Np. system O-Plan (1985) w firmie Hitachi planuj acy prac e linii produkcyjnej z 350 różnymi produktami, i 35 maszynami produkcyjnymi, wykonuj acymi l acznie ponad 2000 różnych operacji. System generowa l 30-dniowe plany produkcji obejmuj ace trzy 8-godzinne zmiany, zawieraj ace dziesi atki milionów kroków. Kluczowa dla planowania HTN jest zatem budowa dobrej biblioteki planów zawieraj acej znane metody implementacji z lożonych operacji wysokiego poziomu. Taka biblioteka może być budowana r ecznie, ale można si e jej dopracować w procesie uczenia si e przez: (1) zapami etywanie planów opracowanych od podstaw, i (2) uogólnianie zbudowanych planów przez pomijanie nieistotnych szczegó lów, i zamienianie ich w parametry planu. Istotn a zalet a planów hierarchicznych jest zrozumia lość ich struktury dla ludzi. Planowanie hierarchiczne 62 Kombinatoryczna moc planowania hierarchicznego Rozważmy problem planowania, którego rozwi azanie zawiera d akcji elementarnych. Z lożoność planowania niehierarchicznego, prograsywnego, z b możliwymi akcjami w każdym stanie wynosi O(b d ). Przyjmijmy wyidelizowany przypadek hierarchiczny, gdzie każda HLA ma r możliwych rozwini eć, każda na k akcji niższego poziomu. Planowanie hierarchiczne 63