37
Informovan´ e metody prohled´ av´ an´ ı stavov´ eho prostoru Michal Pˇ echouˇ cek Gerstner Laboratory Agent Technology Group, Czech Technical University in Prague http://labe.felk.cvut.cz/~pechouc/KUI/2.pdf

Informovan´e metody prohled´av´an´ı stavov´eho prostoru ...labe.felk.cvut.cz/~tkrajnik/kui2/data/K333/2.pdf · Informovan´e metody prohled´av´an´ı stavov´eho prostoru

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Informovan´e metody prohled´av´an´ı stavov´eho prostoru ...labe.felk.cvut.cz/~tkrajnik/kui2/data/K333/2.pdf · Informovan´e metody prohled´av´an´ı stavov´eho prostoru

Informovane metody prohledavanı stavoveho prostoru

Michal Pechoucek

Gerstner Laboratory Agent Technology Group,Czech Technical University in Prague

http://labe.felk.cvut.cz/~pechouc/KUI/2.pdf

Page 2: Informovan´e metody prohled´av´an´ı stavov´eho prostoru ...labe.felk.cvut.cz/~tkrajnik/kui2/data/K333/2.pdf · Informovan´e metody prohled´av´an´ı stavov´eho prostoru

pInformovane metody prohledavanı stavoveho prostoru

:: implementujı efektivnı metody nalezenı optimalnıho resenı a vyuzıvajı pri tom kvalitativnı

informaci ruznych stavech stavoveho prostoru.

Pri prohledavanı pouzıvame:

� urcitou informaci o konkretnı cene pouzitı daneho stavoveho operatoru

� heuristickou informaci, odhad o vhodnosti pouzitı daneho stavoveho s ohledem na efektivnost

prohledavanı stavoveho prostoru

:: Tyto informace pouzıvame pro navrh heuristickeho algoritmu – Best-First-Search, ktery

vybere vhodny uzel k expanzi. Takovyto uzel vede prohledavanı k optimalnımu resenı. Funguje-li

heuristicky algoritmus dobre, minimalizuje prohledavanı castı stavoveho prostoru, ktera nevedou

k optimalnımu resenı.

� � � � � � � � � � � � � � � � � � � � � /Uvod

Page 3: Informovan´e metody prohled´av´an´ı stavov´eho prostoru ...labe.felk.cvut.cz/~tkrajnik/kui2/data/K333/2.pdf · Informovan´e metody prohled´av´an´ı stavov´eho prostoru

pInformovane metody prohledavanı stavoveho prostoru

� � � � � � � � � � � � � � � � � � � � � /Uvod

Page 4: Informovan´e metody prohled´av´an´ı stavov´eho prostoru ...labe.felk.cvut.cz/~tkrajnik/kui2/data/K333/2.pdf · Informovan´e metody prohled´av´an´ı stavov´eho prostoru

pBreatht First Search

begin

_open <= [Start]

while (_open =/= []) do begin

X <= FIRST(_open)

_open <= _open - [X]

if X = GOAL then return(SUCCESS)

else begin

E <= expand(X)

_open <= _open + E

end

end

return(failure)

end.

� � � � � � � � � � � � � � � � � � � � � /Uvod

Page 5: Informovan´e metody prohled´av´an´ı stavov´eho prostoru ...labe.felk.cvut.cz/~tkrajnik/kui2/data/K333/2.pdf · Informovan´e metody prohled´av´an´ı stavov´eho prostoru

pBest First Search

begin

_open <= [Start]

while (_open =/= []) do begin

X <= BEST(_open)

_open <= _open - [X]

if X = GOAL then return(SUCCESS)

else begin

E <= expand(X)

_open <= _open + E

end

end

return(failure)

end.

� � � � � � � � � � � � � � � � � � � � � /Uvod

Page 6: Informovan´e metody prohled´av´an´ı stavov´eho prostoru ...labe.felk.cvut.cz/~tkrajnik/kui2/data/K333/2.pdf · Informovan´e metody prohled´av´an´ı stavov´eho prostoru

pHodnotıcı Funkce

:: Kdyz se algoritmus snazı vybıra nejlepsı stav pro expanzi (napr. sn) z aktualnıho stavu

(napr. sm) pracuje s nasledujıcımi parametry:

� c(n) – cena aplikace operatoru pro prechod ze stavu n do stavu m

� g(m) – celkova cena, soucet cen vsech operatoru aplikovanych z pocatecnıho stavu az do

stavu m

� h(n) – realna nebo odhadovana celkova cena, soucet vsech operatoru ktere je potreba aplikovat

ze stavu n do cıloveho stavu.

:: je tedy treba navrhnout nasledujıcı hodnotıcı funkci

F : C × G ×H → R

a zajistit, ze ma rozumne chovanı v konkretnı domene.

� � � � � � � � � � � � � � � � � � � � � /Uvod

Page 7: Informovan´e metody prohled´av´an´ı stavov´eho prostoru ...labe.felk.cvut.cz/~tkrajnik/kui2/data/K333/2.pdf · Informovan´e metody prohled´av´an´ı stavov´eho prostoru

pPrıklady hodnotıcı funkce

hillclimbing – kde ∀m, n : f (m, n) = c(n)

� jednoducha na implementaci, rychla, odolna vuci zacyklenı – nicmene casto

uvızne v lokalnım optimu !!!

� � � � � � � � � � � � � � � � � � � � � /Uvod

Page 8: Informovan´e metody prohled´av´an´ı stavov´eho prostoru ...labe.felk.cvut.cz/~tkrajnik/kui2/data/K333/2.pdf · Informovan´e metody prohled´av´an´ı stavov´eho prostoru

pPrıklady hodnotıcı funkce

hillclimbing – kde ∀m, n : f (m, n) = c(n)

� jednoducha na implementaci, rychla, odolna vuci zacyklenı – nicmene casto

uvızne v lokalnım optimu !!!

breadth-first-search – ∀m, n : c(m, n) = 1 existuje-li hrana z m do n. Ze platı f (m,n) =

g(n) + 1

� minimalizuje pocet kroku (hloubku) resenı

� � � � � � � � � � � � � � � � � � � � � /Uvod

Page 9: Informovan´e metody prohled´av´an´ı stavov´eho prostoru ...labe.felk.cvut.cz/~tkrajnik/kui2/data/K333/2.pdf · Informovan´e metody prohled´av´an´ı stavov´eho prostoru

pPrıklady hodnotıcı funkce

hillclimbing – kde ∀m, n : f (m, n) = c(n)

� jednoducha na implementaci, rychla, odolna vuci zacyklenı – nicmene casto

uvızne v lokalnım optimu !!!

breadth-first-search – ∀m, n : c(m, n) = 1 existuje-li hrana z m do n. Ze platı f (m,n) =

g(n) + 1

� minimalizuje pocet kroku (hloubku) resenı

greedy algorithm – ∀m, n : f (m,n) = h(n) existuje-li hrana z m do n. Zde h(n) je heuristicky

odhad vzdalenosti z uzlu n do cıle

� neoptimalnı, neuplny

� � � � � � � � � � � � � � � � � � � � � /Uvod

Page 10: Informovan´e metody prohled´av´an´ı stavov´eho prostoru ...labe.felk.cvut.cz/~tkrajnik/kui2/data/K333/2.pdf · Informovan´e metody prohled´av´an´ı stavov´eho prostoru

pPrıklady hodnotıcı funkce

hillclimbing – kde ∀m, n : f (m, n) = c(n)

� jednoducha na implementaci, rychla, odolna vuci zacyklenı – nicmene casto

uvızne v lokalnım optimu !!!

breadth-first-search – ∀m, n : c(m, n) = 1 existuje-li hrana z m do n. Ze platı f (m,n) =

g(n) + 1

� minimalizuje pocet kroku (hloubku) resenı

greedy algorithm – ∀m, n : f (m,n) = h(n) existuje-li hrana z m do n. Zde h(n) je heuristicky

odhad vzdalenosti z uzlu n do cıle

� neoptimalnı, neuplny

� � � � � � � � � � � � � � � � � � � � � /Uvod

Page 11: Informovan´e metody prohled´av´an´ı stavov´eho prostoru ...labe.felk.cvut.cz/~tkrajnik/kui2/data/K333/2.pdf · Informovan´e metody prohled´av´an´ı stavov´eho prostoru

pPrıklady hodnotıcı funkce

� � � � � � � � � � � � � � � � � � � � � /Uvod

Page 12: Informovan´e metody prohled´av´an´ı stavov´eho prostoru ...labe.felk.cvut.cz/~tkrajnik/kui2/data/K333/2.pdf · Informovan´e metody prohled´av´an´ı stavov´eho prostoru

pPrıklady hodnotıcı funkce

� � � � � � � � � � � � � � � � � � � � � /Uvod

Page 13: Informovan´e metody prohled´av´an´ı stavov´eho prostoru ...labe.felk.cvut.cz/~tkrajnik/kui2/data/K333/2.pdf · Informovan´e metody prohled´av´an´ı stavov´eho prostoru

pPrıklady hodnotıcı funkce

hillclimbing – kde ∀m, n : f (m, n) = c(n)

� jednoducha na implementaci, rychla, odolna vuci zacyklenı – nicmene casto

uvızne v lokalnım optimu !!!

breadth-first-search – ∀m, n : c(m, n) = 1 existuje-li hrana z m do n. Ze platı f (m,n) =

g(n) + 1

� minimalizuje pocet kroku (hloubku) resenı

greedy algorithm – ∀m, n : f (m,n) = h(n) existuje-li hrana z m do n. Zde h(n) je heuristicky

odhad vzdalenosti z uzlu n do cıle

� neoptimalnı, neuplny

A∗ Algoritmus f (n,m) = c(m, n) + g(m) + h(n) = g(n) + h(n)

� � � � � � � � � � � � � � � � � � � � � /Uvod

Page 14: Informovan´e metody prohled´av´an´ı stavov´eho prostoru ...labe.felk.cvut.cz/~tkrajnik/kui2/data/K333/2.pdf · Informovan´e metody prohled´av´an´ı stavov´eho prostoru

pAlgoritmus A∗

� Nastavenı hodnotıcı funkce f ve forme f (n) = g(n) + h(n) je netrivialnı problem protoze

hodnotu h(n) ktera nenı a priori znama je ji treba odhadnout.

� Vzhledem k tomu, ze optimalizujeme chovanı algoritmu, chceme aby byl odhad co nejpresnejsı

– aby hodnota h(n) byla co nejblıze hodnote h∗(n). Funkci h(n) nazyvame heuristickafunkce.

� Hodnotıcı funkce f (n) je odhadem presnych hodnot, ktere vratı funkce f ∗(n) = g∗(n)+h∗(n)

kde g(n) = g∗(n)

� � � � � � � � � � � � � � � � � � � � � /Uvod

Page 15: Informovan´e metody prohled´av´an´ı stavov´eho prostoru ...labe.felk.cvut.cz/~tkrajnik/kui2/data/K333/2.pdf · Informovan´e metody prohled´av´an´ı stavov´eho prostoru

pPrıpustnost Algoritmu A∗

Jake vlastnosti musı myt heuristicka funkce h(n)? Co se stane kdyz bude h(n) > h∗(n)?

A co kdyz h(n) < h∗(n)?

� � � � � � � � � � � � � � � � � � � � � /Uvod

Page 16: Informovan´e metody prohled´av´an´ı stavov´eho prostoru ...labe.felk.cvut.cz/~tkrajnik/kui2/data/K333/2.pdf · Informovan´e metody prohled´av´an´ı stavov´eho prostoru

pPrıpustnost Algoritmu A∗

Jake vlastnosti musı myt heuristicka funkce h(n)? Co se stane kdyz bude h(n) > h∗(n)?

A co kdyz h(n) < h∗(n)?

Aby se algoritmus choval rozumne, tudız aby nasel vzdy jen to optimalnı resenı, musı platit:

∀n : h(n) ≤ h∗(n)

Je-li to pravda, rıkame, ze heuristcka funkce je prıpustna. A∗ algoritmus ma vzdy heuristickou

funkci prıpustnou. A∗ algoritmus vzdy najde optimalnı resenı.

� � � � � � � � � � � � � � � � � � � � � /Uvod

Page 17: Informovan´e metody prohled´av´an´ı stavov´eho prostoru ...labe.felk.cvut.cz/~tkrajnik/kui2/data/K333/2.pdf · Informovan´e metody prohled´av´an´ı stavov´eho prostoru

pPrıpustnost Algoritmu A∗

Jake vlastnosti musı myt heuristicka funkce h(n)? Co se stane kdyz bude h(n) > h∗(n)?

A co kdyz h(n) < h∗(n)?

Aby se algoritmus choval rozumne, tudız aby nasel vzdy jen to optimalnı resenı, musı platit:

∀n : h(n) ≤ h∗(n)

Je-li to pravda, rıkame, ze heuristcka funkce je prıpustna. A∗ algoritmus ma vzdy heuristickou

funkci prıpustnou. A∗ algoritmus vzdy najde optimalnı resenı.

je BFS optimalnı?

� � � � � � � � � � � � � � � � � � � � � /Uvod

Page 18: Informovan´e metody prohled´av´an´ı stavov´eho prostoru ...labe.felk.cvut.cz/~tkrajnik/kui2/data/K333/2.pdf · Informovan´e metody prohled´av´an´ı stavov´eho prostoru

pPrıpustnost Algoritmu A∗

Jake vlastnosti musı myt heuristicka funkce h(n)? Co se stane kdyz bude h(n) > h∗(n)?

A co kdyz h(n) < h∗(n)?

Aby se algoritmus choval rozumne, tudız aby nasel vzdy jen to optimalnı resenı, musı platit:

∀n : h(n) ≤ h∗(n)

Je-li to pravda, rıkame, ze heuristcka funkce je prıpustna. A∗ algoritmus ma vzdy heuristickou

funkci prıpustnou. A∗ algoritmus vzdy najde optimalnı resenı.

je BFS optimalnı?

ano, protoze u BFS f (n) = g(n) + h(n) = g(n). Tudız 0 = h(n) < h∗(n) a platı, ze

heuristika je prıpustna.

� � � � � � � � � � � � � � � � � � � � � /Uvod

Page 19: Informovan´e metody prohled´av´an´ı stavov´eho prostoru ...labe.felk.cvut.cz/~tkrajnik/kui2/data/K333/2.pdf · Informovan´e metody prohled´av´an´ı stavov´eho prostoru

pPrıklad heuristic pro hledanı cesty

� � � � � � � � � � � � � � � � � � � � � /Uvod

Page 20: Informovan´e metody prohled´av´an´ı stavov´eho prostoru ...labe.felk.cvut.cz/~tkrajnik/kui2/data/K333/2.pdf · Informovan´e metody prohled´av´an´ı stavov´eho prostoru

pPrıklad heuristic pro hledanı cesty

� � � � � � � � � � � � � � � � � � � � � /Uvod

Page 21: Informovan´e metody prohled´av´an´ı stavov´eho prostoru ...labe.felk.cvut.cz/~tkrajnik/kui2/data/K333/2.pdf · Informovan´e metody prohled´av´an´ı stavov´eho prostoru

pMonotonnost

heuristicka funkce je monotonnı (lokalne prıpustna) platı-li

i.∀n1, n2, kde n1 expanduje do n2: h(n1)− h(n2) ≤ cost(n1, n2),

kde cost(n1, n2) opravdova cena z n1 do n2

ii. h(goal) = 0.

kazda monotonnı heuristicka funkce je prıpustna.

� � � � � � � � � � � � � � � � � � � � � /Uvod

Page 22: Informovan´e metody prohled´av´an´ı stavov´eho prostoru ...labe.felk.cvut.cz/~tkrajnik/kui2/data/K333/2.pdf · Informovan´e metody prohled´av´an´ı stavov´eho prostoru

pMonotonnost

heuristicka funkce je monotonnı (lokalne prıpustna) platı-li

i.∀n1, n2, kde n1 expanduje do n2: h(n1)− h(n2) ≤ cost(n1, n2),

kde cost(n1, n2) opravdova cena z n1 do n2

ii. h(goal) = 0.

kazda monotonnı heuristicka funkce je prıpustna.

Dukaz:

for n0 → n1 . . . h(n0)− h(n1) ≤ cost(n0, n1) by monotonicity

for n1 → n2 . . . h(n1)− h(n2) ≤ cost(n1, n2) by monotonicity

. . .

for nk−1 → goal . . . h(nk−1)− h(goal) ≤ cost(nk−1, goal)

je-li h(goal) = 0 pak po sectenı vsech radku platı h(n0) ≤ cost(n0, goal)

� � � � � � � � � � � � � � � � � � � � � /Uvod

Page 23: Informovan´e metody prohled´av´an´ı stavov´eho prostoru ...labe.felk.cvut.cz/~tkrajnik/kui2/data/K333/2.pdf · Informovan´e metody prohled´av´an´ı stavov´eho prostoru

pDominance (Informovanost) Heuristiky

Mame-li dve prıpustne heuristiky h1 a h2 tak, ze ∀n : h1(n) ≤ h2(n), pak rıkame, ze

heuristika h2 dominuje (je vıce informovana) nez h1.

� Obe heuristiky naleznou optimalnı resenı, ale h2 potrebuje expandovat mensı prostor nez h1.

Je treba dat pozor na to aby vypocet nebo pouzitı hodne informovane heuristiky nezabral vıce

casu nez prohledanı vetsı casti stavoveho prostoru.

� � � � � � � � � � � � � � � � � � � � � /Uvod

Page 24: Informovan´e metody prohled´av´an´ı stavov´eho prostoru ...labe.felk.cvut.cz/~tkrajnik/kui2/data/K333/2.pdf · Informovan´e metody prohled´av´an´ı stavov´eho prostoru

pHeuristiky pro 8-puzzle

� � � � � � � � � � � � � � � � � � � � � /Uvod

Page 25: Informovan´e metody prohled´av´an´ı stavov´eho prostoru ...labe.felk.cvut.cz/~tkrajnik/kui2/data/K333/2.pdf · Informovan´e metody prohled´av´an´ı stavov´eho prostoru

pPorovnanı Heuristik

Effective Branching Factor: metrika popisujıcı stavovy prostor b∗ je-li pro hloubku d a

celkovy pocet expandovanych uzlu N pak musı platit N = 1 + b∗ + (b∗)2 + · · · + (b∗)d

� � � � � � � � � � � � � � � � � � � � � /Uvod

Page 26: Informovan´e metody prohled´av´an´ı stavov´eho prostoru ...labe.felk.cvut.cz/~tkrajnik/kui2/data/K333/2.pdf · Informovan´e metody prohled´av´an´ı stavov´eho prostoru

pOptimalnı efektivita A∗

� O A∗ rıkame, ze je optimalne efektivnı. To znamena, ze pro libovolnou heuristikou funkci

neexistuje jiny optimalnı algoritmus, ktery by expandoval mene uzlu nez A∗.

� O A∗ vıme, ze je optimalnı, uplny a optimalne efektivnı. Nicmene to neznamena, ze by

byl vhodny na vsechny problemy prohledavanı. Bohuzel pametova narocnost zustava nadale

exponencialne rostoucı (bylo dokazano, ze v prıpade, ze |h(n)− h∗(n)| > O(log h∗(n))).

� Casova vypocetnı narocnost nenı hlavnım problemem A∗. Vzhledem k tom, ze A∗ musı

udrzovat vsechny otevrene uzly v pameti, stava se, ze casto dojde na pretecenı pameti drıv

nez vyprsı cas.

� � � � � � � � � � � � � � � � � � � � � /Uvod

Page 27: Informovan´e metody prohled´av´an´ı stavov´eho prostoru ...labe.felk.cvut.cz/~tkrajnik/kui2/data/K333/2.pdf · Informovan´e metody prohled´av´an´ı stavov´eho prostoru

pZlepsenı pametove narocnosti u A∗

:: IDA∗ – iterative deepening A∗ algoritmus. Pracuje stejne jako IDDFS algoritmus. Mısto

omezenı hloubky prohledavanı algoritmus omezuje prohledavane vetve odhadem minimalnı

hodnoty ohodnocovacı funkce f .

� � � � � � � � � � � � � � � � � � � � � /Uvod

Page 28: Informovan´e metody prohled´av´an´ı stavov´eho prostoru ...labe.felk.cvut.cz/~tkrajnik/kui2/data/K333/2.pdf · Informovan´e metody prohled´av´an´ı stavov´eho prostoru

pZlepsenı pametove narocnosti u A∗

:: IDA∗ – iterative deepening A∗ algoritmus. Pracuje stejne jako IDDFS algoritmus. Mısto

omezenı hloubky prohledavanı algoritmus omezuje prohledavane vetve odhadem minimalnı

hodnoty ohodnocovacı funkce f .

� algoritmus zacına s omezenım prohledavanı na l = h(n0)

� pri kazdem kroku je omezenı l funkcı nejen g ale i h

� omezenı l lze pri kazde iteraci zvysit o vıce nez o 1

1. f limit=f(n 0)

2. do A* with nodes of which f <= f limit

3. if solution found then return(solution)

else f limit = min f(f(OpenList)) and go to the step 2.

� � � � � � � � � � � � � � � � � � � � � /Uvod

Page 29: Informovan´e metody prohled´av´an´ı stavov´eho prostoru ...labe.felk.cvut.cz/~tkrajnik/kui2/data/K333/2.pdf · Informovan´e metody prohled´av´an´ı stavov´eho prostoru

pZlepsenı pametove narocnosti u A∗

:: IDA∗ – iterative deepening A∗ algoritmus. Pracuje stejne jako IDDFS algoritmus. Mısto

omezenı hloubky prohledavanı algoritmus omezuje prohledavane vetve odhadem minimalnı

hodnoty ohodnocovacı funkce f .

� � � � � � � � � � � � � � � � � � � � � /Uvod

Page 30: Informovan´e metody prohled´av´an´ı stavov´eho prostoru ...labe.felk.cvut.cz/~tkrajnik/kui2/data/K333/2.pdf · Informovan´e metody prohled´av´an´ı stavov´eho prostoru

pZlepsenı pametove narocnosti u A∗

:: IDA∗ – iterative deepening A∗ algoritmus. Pracuje stejne jako IDDFS algoritmus. Mısto

omezenı hloubky prohledavanı algoritmus omezuje prohledavane vetve odhadem minimalnı

hodnoty ohodnocovacı funkce f .

:: RBFS – Recursive best first search, rekurzivnı heuristicky algoritmus je klasicky heuri-

sticky algoritmus operujıcı ale v linearnım pametovem prostoru. Omezuje hodnotu f druhou

nejlepsı hodnotou v dane urovni.

� � � � � � � � � � � � � � � � � � � � � /Uvod

Page 31: Informovan´e metody prohled´av´an´ı stavov´eho prostoru ...labe.felk.cvut.cz/~tkrajnik/kui2/data/K333/2.pdf · Informovan´e metody prohled´av´an´ı stavov´eho prostoru

Zerind

Arad

Sibiu

Arad

Timisoara

Fagaras Oradea

Craiova Pitesti Sibiu

Bucharest Craiova Rimnicu Vilcea

Zerind

Arad

Sibiu

Arad

Timisoara

Sibiu Bucharest

Rimnicu VilceaOradea

Zerind

Arad

Sibiu

Arad

Timisoara

Fagaras Oradea Rimnicu Vilcea

Craiova Pitesti Sibiu

646 415 526

526 417 553

646 526

450591

646 526

526 553

418 615 607

447 449

447

447 449

449

366

393

366

393

413

413 417415

366

393

415 450417

417

Rimnicu Vilcea

Fagaras

447

415

447

447

417

(a) After expanding Arad, Sibiu, Rimnicu Vilcea

(c) After switching back to Rimnicu Vilcea and expanding Pitesti

(b) After unwinding back to Sibiu and expanding Fagaras

447

447

Page 32: Informovan´e metody prohled´av´an´ı stavov´eho prostoru ...labe.felk.cvut.cz/~tkrajnik/kui2/data/K333/2.pdf · Informovan´e metody prohled´av´an´ı stavov´eho prostoru

Zerind

Arad

Sibiu

Arad

Timisoara

Fagaras Oradea

Craiova Pitesti Sibiu

Bucharest Craiova Rimnicu Vilcea

Zerind

Arad

Sibiu

Arad

Timisoara

Sibiu Bucharest

Rimnicu VilceaOradea

Zerind

Arad

Sibiu

Arad

Timisoara

Fagaras Oradea Rimnicu Vilcea

Craiova Pitesti Sibiu

646 415 526

526 417 553

646 526

450591

646 526

526 553

418 615 607

447 449

447

447 449

449

366

393

366

393

413

413 417415

366

393

415 450417

417

Rimnicu Vilcea

Fagaras

447

415

447

447

417

(a) After expanding Arad, Sibiu, Rimnicu Vilcea

(c) After switching back to Rimnicu Vilcea and expanding Pitesti

(b) After unwinding back to Sibiu and expanding Fagaras

447

447

Page 33: Informovan´e metody prohled´av´an´ı stavov´eho prostoru ...labe.felk.cvut.cz/~tkrajnik/kui2/data/K333/2.pdf · Informovan´e metody prohled´av´an´ı stavov´eho prostoru

Zerind

Arad

Sibiu

Arad

Timisoara

Fagaras Oradea

Craiova Pitesti Sibiu

Bucharest Craiova Rimnicu Vilcea

Zerind

Arad

Sibiu

Arad

Timisoara

Sibiu Bucharest

Rimnicu VilceaOradea

Zerind

Arad

Sibiu

Arad

Timisoara

Fagaras Oradea Rimnicu Vilcea

Craiova Pitesti Sibiu

646 415 526

526 417 553

646 526

450591

646 526

526 553

418 615 607

447 449

447

447 449

449

366

393

366

393

413

413 417415

366

393

415 450417

417

Rimnicu Vilcea

Fagaras

447

415

447

447

417

(a) After expanding Arad, Sibiu, Rimnicu Vilcea

(c) After switching back to Rimnicu Vilcea and expanding Pitesti

(b) After unwinding back to Sibiu and expanding Fagaras

447

447

Page 34: Informovan´e metody prohled´av´an´ı stavov´eho prostoru ...labe.felk.cvut.cz/~tkrajnik/kui2/data/K333/2.pdf · Informovan´e metody prohled´av´an´ı stavov´eho prostoru

pZlepsenı pametove narocnosti u A∗

:: IDA∗ – iterative deepening A∗ algoritmus. Pracuje stejne jako IDDFS algoritmus. Mısto

omezenı hloubky prohledavanı algoritmus omezuje prohledavane vetve odhadem minimalnı hod-

noty ohodnocovacı funkce f .

:: RBFS – Recursive best first search, rekurzivnı heuristicky algoritmus je klasicky heuristicky

algoritmus operujıcı ale v linearnım pametovem prostoru. Omezuje hodnotu f druhou nejlepsı

hodnotou v dane urovni.

� � � � � � � � � � � � � � � � � � � � � /Uvod

Page 35: Informovan´e metody prohled´av´an´ı stavov´eho prostoru ...labe.felk.cvut.cz/~tkrajnik/kui2/data/K333/2.pdf · Informovan´e metody prohled´av´an´ı stavov´eho prostoru

pZlepsenı pametove narocnosti u A∗

:: IDA∗ – iterative deepening A∗ algoritmus. Pracuje stejne jako IDDFS algoritmus. Mısto

omezenı hloubky prohledavanı algoritmus omezuje prohledavane vetve odhadem minimalnı hod-

noty ohodnocovacı funkce f .

:: RBFS – Recursive best first search, rekurzivnı heuristicky algoritmus je klasicky heuristicky

algoritmus operujıcı ale v linearnım pametovem prostoru. Omezuje hodnotu f druhou nejlepsı

hodnotou v dane urovni.

Zatımco IDA* ma mensı pametove naroky, RFBS najde resenı rychleji, protoze si udrzuje

vetsı OpenList.

� � � � � � � � � � � � � � � � � � � � � /Uvod

Page 36: Informovan´e metody prohled´av´an´ı stavov´eho prostoru ...labe.felk.cvut.cz/~tkrajnik/kui2/data/K333/2.pdf · Informovan´e metody prohled´av´an´ı stavov´eho prostoru

pZlepsenı pametove narocnosti u A∗

:: IDA∗ – iterative deepening A∗ algoritmus. Pracuje stejne jako IDDFS algoritmus. Mısto

omezenı hloubky prohledavanı algoritmus omezuje prohledavane vetve odhadem minimalnı hod-

noty ohodnocovacı funkce f .

:: RBFS – Recursive best first search, rekurzivnı heuristicky algoritmus je klasicky heuristicky

algoritmus operujıcı ale v linearnım pametovem prostoru. Omezuje hodnotu f druhou nejlepsı

hodnotou v dane urovni.

Zatımco IDA* ma mensı pametove naroky, RFBS najde resenı rychleji, protoze si udrzuje

vetsı OpenList.

:: MA∗ – memory bounded A∗ – vyuzıva veskerou dostupnou pamet. Zjednoduseny algorithms

SMA∗ (simplified MA∗) udrzuje pouze urcity pocet uzlu na open-seznamu. je-li plno vyhodı ten

nejhorsı uzel.

� � � � � � � � � � � � � � � � � � � � � /Uvod

Page 37: Informovan´e metody prohled´av´an´ı stavov´eho prostoru ...labe.felk.cvut.cz/~tkrajnik/kui2/data/K333/2.pdf · Informovan´e metody prohled´av´an´ı stavov´eho prostoru

pZlepsenı pametove narocnosti u A∗

:: IDA∗ – iterative deepening A∗ algoritmus. Pracuje stejne jako IDDFS algoritmus. Mısto

omezenı hloubky prohledavanı algoritmus omezuje prohledavane vetve odhadem minimalnı hod-

noty ohodnocovacı funkce f .

:: RBFS – Recursive best first search, rekurzivnı heuristicky algoritmus je klasicky heuristicky

algoritmus operujıcı ale v linearnım pametovem prostoru. Omezuje hodnotu f druhou nejlepsı

hodnotou v dane urovni.

Zatımco IDA* ma mensı pametove naroky, RFBS najde resenı rychleji, protoze si udrzuje

vetsı OpenList.

:: MA∗ – memory bounded A∗ – vyuzıva veskerou dostupnou pamet. Zjednoduseny algorithms

SMA∗ (simplified MA∗) udrzuje pouze urcity pocet uzlu na open-seznamu. je-li plno vyhodı ten

nejhorsı uzel.

IDA∗ a RFBS jsou optimalnı (tzn., nemohou minout nejlepsı resenı), MA∗ a SMA∗ mohou

minout optimum a uvıznout v lokalnım extremu (je-li mez velikosti seznamu OpenList

mala).

� � � � � � � � � � � � � � � � � � � � � /Uvod