12.3. Tervkészítés és cselekvés nemdeterminisztikus problémakörökben

Eddig csak klasszikus tervkészítési (classical planning) környezeteket vettünk figyelembe, amelyek teljesen megfigyelhetők, statikusak és determinisztikusak. Mindezeken túl feltételeztük, hogy a cselekvésleírások megfelelők és teljesek. Ilyen körülmények között egy ágens először tervez, majd „becsukott szemmel” végrehajtja a tervet. Egy bizonytalan környezetben másrészről az ágensnek az érzékeit is fel kell használnia, hogy kövesse a történéseket a terv végrehajtása alatt, valamint szükség esetén módosítsa vagy helyettesítse a tervet, amennyiben valami váratlan dolog történik.

Az ágensnek meg kell küzdenie mind a nem teljes, hiányos (incomplete), mind pedig a nem megfelelő, hibás (incorrect) információkkal. A nem teljesség abból következik, hogy a világ vagy csak részben megfigyelhető, vagy nemdeterminisztikus, vagy mindkettő. Például az irodaszerszekrény ajtaja vagy be van zárva, vagy nincs. Az egyik kulcsom vagy kinyitja az ajtót, vagy nem, már amennyiben be van zárva. Ráadásul ismereteim e hiányosságainak vagy tudatában vagyok, vagy nem. Ebből kifolyólag a világról alkotott modellem gyenge, de helyes. Másrészről a nem helyesség azért lép fel, mert a világ nem szükségszerűen felel meg a róla alkotott modellemnek. Például én hihetem, hogy a kulcsom kinyitja az irodaszerszekrényt, de ebben tévedhetek is, ha a zárakat kicserélték. A helytelen információ kezelési képességének hiányában az ágens olyan buta lehet, mint egy ganajtúró bogár (2.2.3. szakasz - Mindentudás, tanulás és autonómia részben), ami még az után is megpróbálja a ganajgolyót bedugni a fészkébe, hogy a golyót eltávolították a fogásából.

A teljes és korrekt ismeretek megszerzésének lehetősége attól függ, hogy mennyi nemdeterminisztikusság van a világban. Korlátos nemdeterminisztikusság (bounded indeterminacy) esetén a cselekvéseknek megjósolhatatlan következményei lehetnek, de a lehetséges következményeket felsorolhatjuk a cselekvésleíró axiómákban. Például amikor feldobunk egy pénzt, jogosan feltételezhetjük, hogy a kimenetele vagy fej, vagy írás lesz. Egy ágens kezelheti a korlátos nemdeterminisztikusságot úgy, hogy a terveket az összes lehetséges körülményre felkészíti. Nem korlátos nemdeterminisztikusság (unbounded indeterminacy) esetén azonban az előfeltételek vagy hatások halmaza vagy nem ismert, vagy túl nagy ahhoz, hogy kimerítően felsoroljuk. Ez az eset áll fenn a nagyon összetett vagy dinamikus problémakörökben, mint amilyenek például az autóvezetés, a gazdaságos tervezés vagy a hadműveletek. Egy ágens csak úgy kezelheti a nem korlátos nemdeterminisztikusságot, ha felkészítjük arra, hogy átdolgozza a terveit és/vagy a tudásbázisát. A nem korlátos nemdeterminisztikusság közeli rokonságban van a 10. fejezetben tárgyalt kvalifikációs problémával (qualification problem) (az összes előfeltétel felsorolásának lehetetlenségével, amire egy valódivilág-beli cselekvésnek szüksége van, hogy a szándékolt hatást elérje).

A nemdeterminisztikusság kezelésére négy tervkészítő módszer létezik. Az első kettő a korlátos nemdeterminisztikusság, a második kettő pedig a nem korlátos nemdeterminisztikusság esetén használható:

  • Érzékelőmentes tervkészítés (sensorless planning): ez a más néven alkalmazkodó tervkészítésnek (conformant planning) nevezett módszer normál, szekvenciális terveket készít, melyeket érzékelés nélkül kell végrehajtani. Az érzékelésmentes tervkészítő algoritmusnak biztosítania kell, hogy a terv a célt minden lehetséges körülmény között elérje függetlenül a valós induló állapottól és a cselekvések aktuális kimeneteleitől. Az érzékelésmentes tervkészítés a kényszerítésen (coercion) alapul, alapgondolata, hogy a világ erőszakkal egy megadott állapotba vihető még akkor is, ha az ágensnek csak részleges információi vannak az aktuális állapotról. A kényszerítés nem mindig lehetséges, így az érzékelésmentes tervkészítés gyakran alkalmazhatatlan. Az érzékelőmentes feladatmegoldást, amely magában foglalja a hiedelem állapottérben történő keresést, a 3. fejezetben mutattuk be.

  • Feltételes tervkészítés (conditional planning): a más néven eshetőségi tervkészítés (contingency planning) módszere a korlátos nemdeterminizmust kezeli úgy, hogy egy feltételes tervet készít, amely a különböző eshetőségekhez különböző ágakat tartalmaz. Csakúgy, mint a klasszikus tervkészítésben, az ágens először tervez, majd végrehajtja az elkészített tervet. Az ágens érzékelő cselekvéseket épít a tervbe, hogy ellenőrizze a megfelelő feltételeket, így meghatározhatja, hogy a terv mely részét hajtsa végre. A légi szállítási feladatkörben például olyan terveink lehetnek, amelyek a következőket mondják: „ellenőrizd, hogy az SFO repülőtér használható-e. Ha igen, repülj oda; egyébként repülj Oaklandba”. A feltételes tervkészítéssel a 12.4. alfejezet foglalkozik.

  • Végrehajtás monitorozás és újratervezés (execution monitoring and replanning): ebben a megközelítésben az ágens bármely ezt megelőző tervkészítő technikát felhasználhat (klasszikus, érzékelőmentes vagy feltételes), de használ egy végrehajtás monitorozást (execution monitoring), amely eldönti, hogy a terv használható-e az aktuális állapotban, vagy újra kell gondolni. Újratervezés (replanning) akkor történik, amikor valami hiba lép fel. Ily módon az ágens a nem korlátos nemdeterminisztikusságot is kezelni képes. Például ha az újratervező ágens nem látta előre az SFO lezárásának lehetőségét, észreveheti ezt a szituációt, amikor fellép, és a tervkészítő által új útvonalat találhat a célhoz. Az újratervező ágenseket a 12.5. alfejezetben tárgyaljuk.

  • Folytonos tervkészítés (continuous planning): minden eddig látott tervkészítő arra készült, hogy elérje a célt, és megálljon. A folytonos tervkészítő egy életen keresztüli működésre van tervezve. Kezelni képes a környezetben fellépő nem várt körülményeket még akkor is, ha azok az ágenst egy tervkészítés közepén érik. A célújraformálás (goal formulation) által képes kezelni a célok elhagyását, illetve új célok keletkezését is. A folytonos tervkészítést a 12.6. alfejezetben tárgyaljuk.

Vegyünk egy példát, hogy megvilágítsuk a különböző ágensek közötti különbségeket. A probléma a következő: a kiinduló állapotban adott egy szék, egy asztal és néhány doboz festék. A színe semminek sem ismert, és olyan állapotot kell elérni, ahol az asztal és a szék színe azonos.

A klasszikus tervkészítő ágens nem tudja kezelni ezt a problémát, mert a kiinduló állapot nem teljesen specifikált, azaz nem tudjuk, hogy milyen színűek a bútorok.

Az érzékelőmentes tervkészítő ágensnek egy olyan tervet kell találni, ami érzékelés nélkül működik a terv végrehajtása során. A megoldás, hogy bármelyik festékesdobozt nyitjuk ki, a festéket mind az asztalra, mind a székre alkalmazzuk. Így kényszerítjük (coercing) őket, hogy azonos színűek legyenek (még akkor is, ha az ágens nem tudja, hogy ez milyen szín). A kényszerítés akkor helyénvaló, ha az előzetes információk gyűjtése drága vagy lehetetlen. Például az orvosok gyakran egy széles spektrumú antibiotikumot használnak ahelyett, hogy egy feltételes tervet készítenének, ami egy vérvizsgálatot hajt végre, megvárja az eredményeket, és utána egy specifikus antibiotikumot alkalmaz. Ezt az indokolja, hogy a vérteszt rendszerint nagy költséggel és késedelemmel jár.

A feltételes tervkészítő ágens jobb tervet készíthet: először megvizsgálja az asztal és a szék színét, majd ha ezek már eleve azonosak, a terv kész. Ha nem, megnézi a festékesdobozok címkéit, ha ezek közt talál olyan színűt, mint amilyen a színe bármelyik bútordarabnak, akkor ezt a festéket alkalmazza a másikon. Egyébként befesti mindkét darabot bármelyik színnel.

Az újratervező ágens a feltételes tervkészítővel azonos tervet készíthet vagy elsőre egy jóval kevesebb ágat tartalmazót, majd amennyiben szükséges, a végrehajtási időben tölti fel a többit. A cselekvésleírások nem megfelelőségét szintén kezelni tudja. Például tegyük fel, hogy a Fest(tárgy, szín) cselekvésnek a Szín(tárgy, szín) determinisztikus hatást tulajdonítjuk. Egy feltételes tervkészítő feltételezi, hogy a következmény teljesül, ha a cselekvést végrehajtottuk, de az újratervező ágens ellenőrizheti a hatást és ha az nem igaz (talán mivel az ágens figyelmetlen volt és kihagyott egy részt), újra tervezhet és újra festhet egy részt. Ehhez a példához az 12.5. szakasz - Végrehajtás monitorozása és újratervezése részben visszatérünk.

A folytonos tervkészítő ágens a nem várt események kezelésén túl újra is tervezhet, ha mondjuk a „legyen ebéd az asztalon” új célt illesztjük be, azaz a festési tervet el kell halasztani.

A valódi világban az ágensek a különböző megközelítések kombinációit használják. Az autógyártók pótkereket és tartalék légzsákokat árulnak, amelyek fizikai megtestesítői a feltételes tervágaknak, melyeket a defektek vagy az ütközések kezelésére készítettek. Másrészről a legtöbb autóvezető soha nem veszi figyelembe ezeket a lehetőségeket, így a defektekre vagy az ütközésekre mint újratervező ágensek reagálnak. Általánosságban az ágensek csak azokra az eshetőségekre készítenek feltételes tervet, amelyeknek fontos hatásai vannak, és nem elhanyagolható eséllyel okoznak hibát. Így egy autóvezetőnek, aki a Szaharán keresztül kíván utazni, igencsak figyelembe kell vennie a lerobbanás lehetőségét, míg egy áruházba vezető út jóval kevesebb megelőző tervezést igényel.

Az ebben a fejezetben bemutatott ágensek a nemdeterminisztikusság kezelésére készültek, de nem alkalmasak arra, hogy mérlegeljenek a sikeresség valószínűsége és a terv elkészítésének költsége tekintetében. A 16. fejezet további eszközöket biztosít az ilyen problémák kezelésére.