5 Automatické plánování
- určit aplikovatelné akce a spočítat stav po akci
- simulovat dopředné a zpětné plánování
- vyřešit kazy v plánování v prostoru plánů
- sestavit plánovací graf a poznat mutexy
5.1 Ukázka: letecká přeprava
Stav je množina platných faktů, například At(C1, SFO). Akce má předpoklady a efekty. Plán je posloupnost akcí, která převede počáteční stav do stavu splňujícího cíl.
Akce je aplikovatelná ve stavu , pokud a . Výsledek je
Platí uzavřený svět: co ve stavu není, neplatí.
Start: At(C1, SFO), At(C2, JFK), At(P1, SFO), At(P2, JFK). Cíl: At(C1, JFK), At(C2, SFO). Operátory Load, Unload a Fly. Sestav plán.
Řešení
Load(C1, P1, SFO)Load(C2, P2, JFK)Fly(P1, SFO, JFK)Fly(P2, JFK, SFO)Unload(C1, P1, JFK)Unload(C2, P2, SFO)
Dvojice akcí jsou nezávislé, takže jako paralelní plán má délku 3.
5.2 Dopředné a zpětné plánování
Dopředné začíná ve startu a zkouší aplikovatelné akce. Větvící faktor bývá velký a mnoho akcí je k ničemu.
Zpětné začíná v cíli a bere jen relevantní akce: akce musí splnit aspoň jeden literál cíle a žádný nesmí smazat. Inverzní aplikace je
5.3 Plánování v prostoru plánů
Místo stavů se upravuje částečný plán: akce, precedence, vazby proměnných a kauzální podmínky. Algoritmus opravuje kazy.
- Otevřený cíl: akce potřebuje předpoklad, který nikdo nezajistil. Léčba: najít nebo přidat akci a kauzální podmínku.
- Hrozba: akce může smazat předpoklad kauzální vazby . Léčba: dát před , za , nebo vazbou proměnných zajistit, že se literály neunifikují.
5.4 Plánovací graf
Střídají se stavové vrstvy a akční vrstvy . Vrstva je sjednocením všeho, co může platit. No-op akce přenáší atom do další vrstvy.
Dvě akce jsou ve vzájemném vyloučení, pokud jedna maže předpoklad nebo efekt druhé, nebo mají předpoklady v mutexu. Dva atomy jsou v mutexu, pokud všechny dvojice akcí, které je produkují, jsou v mutexu.
Vrstvy monotónně rostou a mutexy ubývají. Graphplan rozšiřuje graf, dokud cíl není v poslední vrstvě bez mutexů, a pak zpětně extrahuje plán. Neúspěšné cíle si pamatuje jako nogoody. Expanze je polynomiální.
5.5 Další přístupy
- SATPlan: časová expanze na kroků, proměnná pro atom a akci v každém čase.
- HTN: hierarchická dekompozice úloh, jako SHOP2.
5.6 Kvíz
5.7 Příklady na procvičení
Vyjmenuj aplikovatelné akce ve stavu At(P1, JFK), At(P2, SFO) bez nákladu, pokud jsou jediná letiště JFK a SFO.
Řešení
Jen lety: Fly(P1, JFK, SFO), Fly(P1, JFK, JFK), Fly(P2, SFO, JFK), Fly(P2, SFO, SFO). Zadání nezakazuje let na stejné letiště.
5.8 Tahák
- Aplikovatelná: , .
- .
- Zpětně: relevantní akce, .
- PSP: otevřený cíl, hrozba a její tři léčby.
- Graf: střídání vrstev, no-op, mutexy, monotonie.
- SATPlan: časová expanze.