50 likes | 144 Views
Monotónne (konzistentné) heuristiky. Cestou k tomu je zavedenie monotónnych heuris-tík, ktoré umožňujú riešiť aj problém opakujúceho sa generovania vrcholu – potom zložitosť bude definovaná počtom operácií expandovania. Vieme, že platí g * (n) + h * (n) ≥ h * (s) , alebo
E N D
Monotónne (konzistentné) heuristiky • Cestou k tomu je zavedenie monotónnych heuris-tík, ktoré umožňujú riešiť aj problém opakujúceho sa generovania vrcholu – potom zložitosť bude definovaná počtom operácií expandovania. • Vieme, že platí g*(n) + h*(n) ≥ h*(s), alebo k(s, n) + h*(n) ≥ h*(s), čo by ako forma trojuholníkovej nerovnosti malo platiť pre každú dvojicu vrcholov, nielen pre s a n. • Teda by malo platiť aj h*(n) ≤ k(n, n´) + h*(n´), pre každé n, n´.
Monotónne (konzistentné) heuristiky II • Definícia: Heuristiku h nazveme konzistentnou, ak pre každé n, n´ platí h(n) ≤ k(n, n´) + h(n´). • Definícia: Heuristiku h nazveme monotónnou, ak platí h(n) ≤ c(n, n´) + h(n´), kde n´ je synom n. • Dá sa indukciou dokázať, že z monotónnosti vyplýva konzistentnosť • Veta 8. Monotónnosť a konzistentnosť sú ekviva- lentné vlastnosti. • Veta 9. Každá konzistentná heuristika je aj prípustná.
Monotónne (konzistentné) heuristiky III Veta 10. Algoritmus A* riadený monotónnou heuristikou nájde optimálne cesty do všetkých expandovaných vrcholov, t.j. g(n) = g*(n), pre všetky vrcholy n zo zoznamu ZATVOR. Dôkaz: Sporom. Nech algoritmus vybral na expandovanie vrchol n, pre ktorý g(n) > g*(n), z toho vyplýva na optimálnej ceste musí byť ešte jeden vrchol, ktorý patrí do OTVOR, nech n´ je najplytší taký. Potom sa ukáže, že f(n´)<f(n), takže mal byť vybraný n´, čo je spor.
Monotónne (konzistentné) heuristiky IV • Veta 11. Z monotónnosti vyplýva, že postupnosť hodnôt f vrcholov expandovaných algoritmom A* je neklesajúca. Dôkaz: uvažujme dva po sebe expandované vrcholy, ten druhý buď už bol v OTVOR alebo tam teraz prišiel. • Veta 12: Nech h je monotónna, potom nutná podmienka na expandovanie vrcholu je g*(n) + h(n) ≤ C*a postačujúca podmienka expandovania je g*(n) + h(n) < C*. Dôkaz: nutná podmienka vyplýva z vety 3 a vety 10.
Monotónne (konzistentné) heuristiky V Postačujúca podmienka je založená na neklesajúcom charaktere g* + h pozdĺž optimálnej cesty P a využitím monotónnosti heuristiky h. • Monotónnosť nie je výnimočná, skôr bežná vlastnosť medzi prípustnými heuristikami. • Dôsledok vety 12: Ak h2(n) ≥ h1(n) a obe sú mo-notónne, potom A2* prevažne dominuje nad A1*, okrem vrcholov, pre ktoré h1(n) = h2(n) = C* - g*(n). Dôkaz: uvažujme vrchol n, ktorý expanduje A2* a nie algoritmus A1*.