Planiranje
Section outline
-
Planiranje je veja umetne inteligence, ki se ukvarja z avtomatskim načrtovanjem strategij oz. zaporedij dejanj. Dejanjem v žargonu planiranja pravimo akcije (za razliko od potez pri preiskovanju). Takšne strategije so potrebne za npr. smiselno delovanje avtonomnih robotov ali samovozečih avtomobilov. Tipično se planiranje ukvarja z visokonivojsko kontrolo, npr. v kakšnem zaporedju premikati robota med lokacijami, ne pa z nizkonivojskim nadzorom kako premakniti robota iz točke A v točko B.
Spoznali smo STRIPS način opisa problemske domene, torej situacije in možnih akcij. STRIPS je osnova za veliko večino modernih opisnih jezikov, npr. PDDL. Situacijo opiše kot množico relacij, pri tem se omeji le na tiste relacije, ki imajo nek pomen za reševanje problema. Akcije opiše s predpogoji in učinki, slednje dostikrat delimo na tisti, ki jih akcija ustvari in tiste, ki jih poruši.
Kot dejanski algoritem planiranja smo si pogledali planiranje z regresiranjem ciljev. Le-to izhaja iz rešitve in preiskuje katere akcije so bile potrebne, da je rešitev bila dosežena iz začetne situacije. Pri tem akcije izbira smiselno, torej vedno le tiste, ki nekaj dosežejo v smislu približevanja rešitvi.
Vse naštete pojme smo si ogledali na praktičnem primeru igre Sokoban. Le-to si lahko predstavljamo kot avtomatizirano skladišče. Celotna koda in primeri, vključno s primerjavo s čistim preiskovanjem, je na voljo v priloženem jupyter zvezku.
-
Загружено 2/12/23, 02:59
-