Reševanje problemov v prostoru stanj • Predstavitev problemov s prostorom stanj • Strategije preiskovanja prostora stanj • Algoritem A* in njegove lastnosti Predstavitev problemov s prostorom stanj • Prostor stanj (angl. state-space): splošna shema za predstavljanje problemov • Formalno: graf G = (V, E) • Vozlišča: problemske situacije • Povezave: poteze, akcije, koraki, … • Rešitve: zaporedja potez • Reševanje problema: preiskovanje prostora stanj 1 Opredelitev konkretnega problema Problem opredelimo: • s prostorom stanj • z začetnim vozliščem • s ciljnim pogojem (ki določa ciljna vozlišča) Primer: prelaganje kock (Bratko, 1989) 2 Prostor stanj (Bratko, 1989) Primeri rešitev (Bratko, 1989) 3 Primer 2: igra 8 ploščic (8-puzzle) (Bratko, 1989) Prostor stanj (Bratko, 1989) 4 Prostor stanj in drevo preiskovanja (Bratko, 1989) Strategije preiskovanja prostora stanj • Neinformirano (slepo) iskanje: – iskanje v globino – iskanje v širino • Usmerjeno iskanje: – iskanje iskanje po načelu najprej najboljši 5 Iskanje v globino (angl. depth-first search) (Bratko, 1989) Iskanje v širino (angl. breadth-first search) (Bratko, 1989) 6 Usmerjeno iskanje • Tudi: iskanje po načelu najprej najboljši (angl. best-first search) • Cena povezav v prostoru stanj: c(n, n’) • Ocena (težavnosti) vozlišč: f(n) • Poseben primer: f(n) = g(n) + h(n) Hevristična funkcija • f(n) = g(n) + h(n) • h(n) … hevristična funkcija (znanje o problemu) (Bratko, 1989) 7 Algoritem A* • Za razliko od “slepega” preiskovanja (v globino, širino) vozlišča izbiramo glede na oceno težavnosti poti do ciljnega vozlišča: najprej najobetavnejša Primer: iskanje najkrajše poti (Bratko, 1989) 8 Lastnosti algoritma A* • Ocena (hevristika) h je popolna, če velja: h ≤ h* (h* je dejanska cena poti od trenutnega do ciljnega vozlišča, ki je v splošnem ne poznamo) • A* s popolno hevristično funkcijo je popoln (najde optimalno rešitev, če ta obstaja) • V praksi: h spodnja meja za h* (zaradi popolnosti) in čim bliže h* (zaradi učinkovitosti) Vprašanja • Kako se obnaša algoritem A*, če uporabimo trivialno hevristično oceno h=0? • Kakšna bi bila primerna hevristična ocena za igro 8 ploščic (8-puzzle)? 9 Literatura • Bratko, I. (1989). Prolog in umetna inteligenca. Ljubljana: Društvo matematikov, fizikov in astronomov Slovenije. • Russell, S., Norvig, P. (2010). Artificial Intelligence: A Modern Approach, Third edition. Upper Saddle River, NJ: Prentice Hall. 10
© Copyright 2024