• Nie Znaleziono Wyników

Heurystyczne przeszukiwanie Heurystyczne przeszukiwanie przestrzeni stanprzestrzeni stanóóww

N/A
N/A
Protected

Academic year: 2021

Share "Heurystyczne przeszukiwanie Heurystyczne przeszukiwanie przestrzeni stanprzestrzeni stanóóww"

Copied!
95
0
0

Pełen tekst

(1)

Heurystyczne przeszukiwanie Heurystyczne przeszukiwanie

przestrzeni stan przestrzeni stan ów ó w

Wyk Wykł ład 4 ad 4 Studia In

Studia Inż żynierskie ynierskie

©AM©AM

Realizacja przeszukiwania heurystycznego Realizacja przeszukiwania heurystycznego

•• Systemy eksperckieSystemy eksperckie –

– Gdy problem nie posiada dokłGdy problem nie posiada dokładnego rozwiadnego rozwiąązania ze zania ze wzglęwzględu na swojdu na swojąącharakterystykcharakterystykęę::

**niejednoznacznośćniejednoznacznośćzadania (jaki jest cel, któzadania (jaki jest cel, który mamy ry mamy osi

osiąągngnąćąć?)?)

**nieprecyzyjne lub niepewne dane (błęnieprecyzyjne lub niepewne dane (błędy w danych)dy w danych)

*

*brak wszystkich niezbębrak wszystkich niezbędnych danych (niepednych danych (niepełłne dane)ne dane)

• Algorytmy przeszukiwania z Algorytmy przeszukiwania z numerycznnumerycznąą funkcjąfunkcją oceny oceny stanu

stanu –

– Gdy istniejąGdy istniejądokłdokładne rozwiadne rozwiąązania, ale wymagania zania, ale wymagania zasobowe (pami

zasobowe (pamięćęć, czas) s, czas) sąązbyt duzbyt dużże (kombinatoryczna e (kombinatoryczna eksplozja stan

eksplozja stanóów w problemach rzeczywistych!)w w problemach rzeczywistych!)

(2)

Podstawowe poj

©

Podstawowe poję ęcia teorii graf cia teorii grafó ó w w przeszukiwania

przeszukiwania

•• KorzeKorzeńńgrafugrafu Stan, od kt

Stan, od któórego zaczynamy przeszukiwanie grafu (drzewa) rego zaczynamy przeszukiwanie grafu (drzewa) –– począpoczątkowy stan problemu (instancja problemu)tkowy stan problemu (instancja problemu)

• WierzchołWierzchołek koek końcowy (terminalny)ńcowy (terminalny) Stan, kt

Stan, któóry ma okrery ma okreśślonlonąąwartowartośćśćocenyocenyz punktu widzenia z punktu widzenia wyniku danego zadania (np. pora

wyniku danego zadania (np. porażżka, zwycika, zwycięęstwo, remis w stwo, remis w grze)

grze)

•• LiśćLiść

Dowolny stan w grafie, w kt

Dowolny stan w grafie, w któórym zatrzymujemy proces rym zatrzymujemy proces przeszukiwania i przypisujemy mu

przeszukiwania i przypisujemy mu ocenocenęęheurystycznheurystycznąą

•• WierzchołWierzchołek ek „„wewnwewnęętrznytrzny””

KażKażdy inny stan, ktdy inny stan, któórego rego wartowartośćśćocenyocenyzależzależy od jego y od jego poprzednik

poprzedników lub nastów lub nastęępnikpnikóóww

©AM©AM

Podstawowe poj

Podstawowe poję ęcia teorii graf cia teorii grafó ó w w przeszukiwania c.d.

przeszukiwania c.d.

•• GłęGłębokobokośćść przeszukiwania (aktualna)przeszukiwania (aktualna) Liczba przej

Liczba przejśćśćstanóstanów (ruchw (ruchóów) od korzenia grafu do stanu w) od korzenia grafu do stanu aktualnego

aktualnego

•• BranchingBranchingfactorfactor

Średnia liczba nastŚrednia liczba nastęępnikpnikóów stanu (w stanu (śśrr. liczba ruchó. liczba ruchów w stanie)w w stanie)

•• Drzewa przeszukiwania/DAGDrzewa przeszukiwania/DAG Wi

Więększokszośćść grafgrafóów przeszukiwania to DAG (acykliczne grafy w przeszukiwania to DAG (acykliczne grafy skierowane), cz

skierowane), częśćęśćz nich to drzewaz nich to drzewa

(3)

G

Głęłębokobokośćść przeszukiwania przeszukiwania

Stan ko

Stan końńcowycowy Ocena heurystyczna (liśćOcena heurystyczna (liść)) StanStan Wierzcho

Wierzchołłek ek

„wewnwewnęętrznytrzny”

©AM©AM

Heurystyczne przeszukiwanie Heurystyczne przeszukiwanie

PołąPołączenie czenie wiedzy przedmiotowejwiedzy przedmiotowejdotycządotyczącej danego zadania i cej danego zadania i metod przeszukiwania

metod przeszukiwaniadla efektywnego poszukiwania dla efektywnego poszukiwania rozwi

rozwiąązaniazania

Stosowane w celu ograniczenieStosowane w celu ograniczeniekombinatorycznej eksplozji kombinatorycznej eksplozji stanóstanów w grafie przeszukiwaniaw w grafie przeszukiwania

Nie gwarantuje znalezienia rozwiąNie gwarantuje znalezienia rozwiązania, pozwala jednak zania, pozwala jednak wybiera

wybieraććlub lub odrzucaodrzucaććpewne stany, okreśpewne stany, określajlająąc tym samym c tym samym dalsze kierunki przeszukiwania

dalsze kierunki przeszukiwania

(4)

©

Rola heurystyki w przeszukiwaniu Rola heurystyki w przeszukiwaniu

ZwięZwiększa niepewnoksza niepewnośćśćotrzymania wyniku w procesie konstrukcji otrzymania wyniku w procesie konstrukcji rozwi

rozwiąązania ze wzglzania ze wzglęędu na wykorzystywanie du na wykorzystywanie „„nieformalnejnieformalnej” wiedzy przedmiotowej (zasady, regu

wiedzy przedmiotowej (zasady, regułły, intuicje itp.), kty, intuicje itp.), któórej rej słusznousznośćść/u/użżytecznoytecznośćśćnie do konie do końńca jest znanaca jest znana

Pozwala w naturalny sposóPozwala w naturalny sposób wykorzystywab wykorzystywaććinformacje informacje niepewne i nieprecyzyjne, kt

niepewne i nieprecyzyjne, któóre czre częęsto towarzyszsto towarzysząąprzetwarzaniu przetwarzaniu danych pochodz

danych pochodząących ze cych ze śświata rzeczywistegowiata rzeczywistego

Poprawia efektywnośćPoprawia efektywnośćalgorytmu poszukiwania rozwiąalgorytmu poszukiwania rozwiązania zania danego problemu bezpo

danego problemu bezpośśrednio (przez wskazywanie najlepszych rednio (przez wskazywanie najlepszych kierunk

kierunkóów przeszukiwania) lub pow przeszukiwania) lub pośrednio (przez eliminowanie średnio (przez eliminowanie najmniej obiecuj

najmniej obiecująących kierunkcych kierunkóów)w)

©AM©AM

Gdzie stosujemy przeszukiwanie Gdzie stosujemy przeszukiwanie

heurystyczne?

heurystyczne?

•• Problemy jednoosobowe (np.zagadki logiczne: Problemy jednoosobowe (np.zagadki logiczne:

arytmografy, labirynty, itp.) arytmografy, labirynty, itp.)

•• Problemy optymalizacji (np. nawigacja robota Problemy optymalizacji (np. nawigacja robota -- znajdowanie najkr

znajdowanie najkróótszej tszej śściecieżżki, szeregowanie itd.)ki, szeregowanie itd.)

•• Gry dwuosoboweGry dwuosobowe

•• Systemy dowodzenia twierdzeSystemy dowodzenia twierdzeńń

(5)

Rozmiary przestrzeni:

Rozmiary przestrzeni:

Pe Pełłna na --9!9!

Symetria i powt

Symetria i powtóórzenia rzenia --12 12 7!7!

Heurystyka

Heurystyka --4.5 4.5 99

©AM©AM

Algorytmy przeszukiwania heurystycznego Algorytmy przeszukiwania heurystycznego

•• Problemy jednoosoboweProblemy jednoosobowe –– Algorytm wspinaczkowyAlgorytm wspinaczkowy –

– Algorytm Algorytm Best-Best-firstfirst--searchsearch

– Algorytm AAlgorytm A**

– Algorytm IDAAlgorytm IDA**

•• Gry dwuosoboweGry dwuosobowe –– Algorytm Algorytm min-min-maxmax –– Algorytm Algorytm alfaalfa-beta-beta

(6)

©

Skł Sk ładowe algorytm adowe algorytmó ó w przeszukiwania w przeszukiwania heurystycznego

heurystycznego

• Reprezentacja stanu przestrzeni (silnie zaleReprezentacja stanu przestrzeni (silnie zależna od żna od zastosowania)

zastosowania)

–– Stany startowe (począStany startowe (początkowe, inicjujtkowe, inicjująące)ce) –– Stany końStany końcowe (terminalne)cowe (terminalne)

• Generator nastęGenerator następnikpnikóów stanu (zbiw stanu (zbióór dopuszczalnych r dopuszczalnych operator

operatoróów/akcji/ruchw/akcji/ruchóów)w)

•• Procedura przeszukiwaniaProcedura przeszukiwania

–– Mechanizm wyboru nastęMechanizm wyboru następnego wierzchopnego wierzchołka w grafiełka w grafie –– Mechanizm nawrotóMechanizm nawrotóww

– Mechanizmy wykrywania cykliMechanizmy wykrywania cykli

• Funkcja heurystycznej oceny stanuFunkcja heurystycznej oceny stanu

©AM©AM

Algorytm wspinaczkowy (ang.

Algorytm wspinaczkowy (ang. hill climbing) hill climbing )

procedure

procedurehill_climbing(hill_climbing(initial_stateinitial_state)) begin

begin

current_node

current_node= initial_state= initial_state;; nextnext= [];= [];

ififcurrent_nodecurrent_node==goal goal thenthenreturn(success);return(success);

while

whiletruetruedodo begin

begin

generate all children of

generate all children of current_nodecurrent_node;; if

ifany of children is a goal state thenany of children is a goal state thenreturn(success);return(success);

assign

assign heuristicheuristicvaluevalueto each child state;to each child state;

set

set nextnextto a lowest-to a lowest-valued child of valued child of current_nodecurrent_node;; if

ifvalue of nextvalue of next>>value of value of current_nodecurrent_nodethenthen return(success);

return(success); % % stop! stop! --no improvementsno improvements set current_nodeset current_nodeto to nextnext;;

endend; ; % while% while end.end.

(7)

B-B-55 C-C-55 D-D-66 E

E FF GG HH II JJ

KK LL MM NN OO PP QQ RR

S

S TT UU

©AM©AM

Algorytm wspinaczkowy

Algorytm wspinaczkowy - - przykł przyk ład ad

A-A-66

B-B-55 C-C-55 D-D-66 E

E--44 FF--44 GG HH II JJ

KK LL MM NN OO PP QQ RR

S

S TT UU

(8)

©

Algorytm wspinaczkowy

Algorytm wspinaczkowy - - przykł przyk ład ad

A-A-66

B-B-55 C-C-55 D-D-66 E

E--44 F-F-44 GG HH II JJ

K-K-66 L-L-33 MM NN OO PP QQ RR

S

S TT UU

©AM©AM

Algorytm wspinaczkowy

Algorytm wspinaczkowy - - przykł przyk ład ad

A-A-66

B-B-55 C-C-55 D-D-66 E

E--44 F-F-44 GG HH II JJ

K-K-66 L-L-33 MM NN OO PP QQ RR

S

S TT--22 UU

(9)

B-B-55 C-C-55 D-D-66 E

E--44 F-F-44 GG HH II JJ

K-K-66 L-L-33 MM NN OO PP QQ RR

S

S TT--22 UU

koniec!

koniec!

©AM©AM

Algorytm wspinaczkowy: charakterystyka Algorytm wspinaczkowy: charakterystyka

Cechy szczeg Cechy szczegóólnelne

•• Ocena heurystyczna stanu z reguOcena heurystyczna stanu z regułły traktowana jako koszty traktowana jako koszt

•• MaMałłe wymagania pamięe wymagania pamięciowe (brak historii!)ciowe (brak historii!)

• Brak mechanizmu nawrotBrak mechanizmu nawrotóóww

• NieoptymalnyNieoptymalny

WadyWady

•• Lokalne ekstrema funkcjiLokalne ekstrema funkcji

•• PlateauxPlateaux--brak postębrak postępu w przeszukiwaniupu w przeszukiwaniu

•• Grzbiety funkcji Grzbiety funkcji ––powolny postępowolny postęp w przeszukiwaniup w przeszukiwaniu

?

?

(10)

©

Algorytm wspinaczkowy: metody poprawy Algorytm wspinaczkowy: metody poprawy

•• Nawroty do poprzednich stanNawroty do poprzednich stanóów i prw i próóba wykorzystania ba wykorzystania innych, niemal r

innych, niemal róównie dobrych, nastwnie dobrych, nastęępnikpnikóów jak ten w jak ten pierwotnie wybrany (trzeba zarezerwowa

pierwotnie wybrany (trzeba zarezerwowaććdodatkowądodatkową pamipamięćęć!)!)

•• Wykonywanie "duWykonywanie "dużżych skokych skokóów" tzn. wybieranie operatorw" tzn. wybieranie operatoróów, w, ktktóóre wprowadzajre wprowadzająąogromne zmiany stanu problemu lub, jeśogromne zmiany stanu problemu lub, jeśli li brak takowych, wykonywanie kilku drobnych krok

brak takowych, wykonywanie kilku drobnych krokóów "pod w "pod rzrząąd" w jednym wybranym kierunku przestrzeni stand" w jednym wybranym kierunku przestrzeni stanóóww

•• Wykonywanie kilku krokWykonywanie kilku krokóów w rw w róóżżnych kierunkach, ale bez nych kierunkach, ale bez sprawdzania warto

sprawdzania wartośści osici osiąąganych stanganych stanóóww

• RRóóżżne punkty startowe (stany poczne punkty startowe (stany począątkowe) algorytmutkowe) algorytmu

©AM©AM

Algorytm

Algorytm best- best -first first -search - search (zachł (zach łanny) anny)

procedure

procedurebbestest_first_search(_first_search(initial_stateinitial_state)) begin

begin open

open= [= [initial_stateinitial_state];];

closed closed= [];= [];

while

whileopenopen[] [] dodo begin

begin

remove the leftmost state from

remove the leftmost state from openopen, call it , call it XX;; if

ifXXis goal state is goal state thenthenreturn(success);return(success);

generate all children of generate all children of XX;; put

put XXon closedon closed;;

eliminate any children of

eliminate any children of XXalready on either openalready on either openor closedor closed,, as this will cause loops in the search;

as this will cause loops in the search;

assign

assign heuristic valueheuristic valueto the child state;to the child state;

add the child state to add the child state to openopen;; re

re--order states on order states on openopenaccording to heuristic merit (according to heuristic merit (lowerlowervalues first);values first);

endend

(11)

BB CC DD E

E FF GG HH II JJ

NN OO PP QQ RR S

S

Closed Closed

UU KK LL MM

TT

B-B-55

Ocena stanu Ocena stanu

©AM©AM

Algorytm

Algorytm Best Best -first - first search search - - przykł przyk ład ad

AA

B-B-55 C-C-55 D-D-66 E

E FF GG HH II JJ

NN OO PP QQ RR S

S

OpenOpen

Closed Closed

UU KK LL MM

TT

B-B-55

Ocena stanu Ocena stanu

(12)

©

Algorytm

Algorytm Best Best -first - first search search - - przykł przyk ład ad

AA

B-B-55 C-C-55 D-D-66 E

E--44 F-F-44 GG HH II JJ

NN OO PP QQ RR S

S

OpenOpen

Closed Closed

UU KK LL MM

TT

B-B-55

Ocena stanu Ocena stanu

©AM©AM

Algorytm

Algorytm Best Best -first - first search search - - przykł przyk ład ad

AA

B-B-55 C-C-55 D-D-66 E

E--44 F-F-44 GG HH II JJ

NN OO PP QQ RR S

S

OpenOpen

Closed Closed

UU K-K-66 L-L-33 MM

TT

B-B-55

Ocena stanu Ocena stanu

(13)

B-B-55 C-C-55 D-D-66 E

E--44 F-F-44 GG HH II JJ

NN OO PP QQ RR S

S

Closed Closed

UU K-K-66 L-L-33 MM

T-T-22

B-B-55

Ocena stanu Ocena stanu

©AM©AM

Algorytm

Algorytm Best Best -first - first search search - - przykł przyk ład ad

AA

B-B-55 C-C-55 D-D-66 E

E--44 F-F-44 GG HH II JJ

NN OO PP QQ RR S

S

OpenOpen

Closed Closed

UU K-K-66 L-L-33 MM

T-T-22

B-B-55

Ocena stanu Ocena stanu

(14)

©

Algorytm

Algorytm Best Best -first - first search search - - przykł przyk ład ad

AA

B-B-55 C-C-55 D-D-66 E

E--44 F-F-44 GG HH II JJ

NN OO PP QQ RR S

S

OpenOpen

Closed Closed

UU K-K-66 L-L-33 M-M-44

T-T-22

B-B-55

Ocena stanu Ocena stanu

©AM©AM

Algorytm

Algorytm Best Best -first - first search search - - przykł przyk ład ad

AA

B-B-55 C-C-55 D-D-66 E

E--44 F-F-44 GG HH II JJ

NN OO PP QQ RR S

S

OpenOpen

Closed Closed

UU K-K-66 L-L-33 M-M-44

T-T-22

B-B-55

Ocena stanu Ocena stanu

(15)

B-B-55 C-C-55 D-D-66 E

E--44 F-F-44 G-G-44 HH--33 II JJ

NN OO PP QQ RR S

S

Closed Closed

UU K-K-66 L-L-33 M-M-44

T-T-22

B-B-55

Ocena stanu Ocena stanu

©AM©AM

Algorytm

Algorytm Best Best -first - first search search - - przykł przyk ład ad

AA

B-B-55 C-C-55 D-D-66 E

E--44 F-F-44 G-G-44 HH--33 II JJ

NN O-O-22 P-P-33 QQ RR S

S

OpenOpen

Closed Closed

UU K-K-66 L-L-33 M-M-44

T-T-22

B-B-55

Ocena stanu Ocena stanu

(16)

©

Algorytm

Algorytm Best Best -first - first search search - - przykł przyk ład ad

AA

B-B-55 C-C-55 D-D-66 E

E--44 F-F-44 G-G-44 HH--33 II JJ

NN O-O-22 P-P-33 QQ RR S

S

OpenOpen

Closed Closed

UU K-K-66 L-L-33 M-M-44

T-T-22

B-B-55

Ocena stanu Ocena stanu

©AM©AM

Algorytm

Algorytm Best Best -first - first search search - - przykł przyk ład ad

AA

B-B-55 C-C-55 D-D-66 E

E--44 F-F-44 G-G-44 HH--33 II JJ

NN O-O-22 P-P-33 QQ RR S

S

OpenOpen

Closed Closed

U-U-11 K-K-66 L-L-33 M-M-44

T-T-22

B-B-55

Ocena stanu Ocena stanu

(17)

•• Historia ruchHistoria ruchóów w ––wykrywanie cykli wykrywanie cykli ––lista OPEN i CLOSEDlista OPEN i CLOSED

•• „„WielokierunkoweWielokierunkowe””przeszukiwanie przestrzeniprzeszukiwanie przestrzeni

• Im lepsza ocena heurystyczna stanIm lepsza ocena heurystyczna stanóów, tym mniejszy obszar w, tym mniejszy obszar przeszukiwania

przeszukiwania

WadyWady

•• DuDużże wymagania pamie wymagania pamięęciowe (zciowe (złłoożżonoonośćśćpamiępamięciowa ciowa O(bO(bdd)), , bb––branchingbranchingfactorfactor, , dd––głęgłębokobokośćść przeszukiwania)przeszukiwania)

•• Nieoptymalny (w ogNieoptymalny (w ogóólnym przypadku, ale...)lnym przypadku, ale...)

©AM©AM

Algorytm

Algorytm Best Best -fist - fist- -search search - - przykł przyk ład ad

2 8 1 6 7

3 4 5

2 8 1 6 7 3 4 5

2 8 1 7 6

3 4 5

2 8 1 6 7 5 3 4

2 8 6 1 7 3 4 5

2 8 1 7 6 3 4 5

2 8 1 4 7 6 3 5 2

1 8 7 6 3 4 5

2 8 1 6 7 5 3 4

8 2 6 1 7 3 4 5

8 2 1 7 6 3 4 5

2 8 1 4 7 6 3 5 2

1 8 7 6 3 4 5

2 8 1 7 5

3 6 4 2 8

6 1 7

3 4 5

2 8 7 1 6 3 4 5

2 8 1 4 7 6 3 5 2 3

1 8 7 6 4 5

2 8 1 6 7 5 3 4

8 2 6 1 7 3 4 5 2 6 8 1 7 3 4 5

2 8 6 4 1 7 3 5

2 8 6 7 1

3 4 5 8 2 1 7 6 3 4 5

2 1 4 7 6 8 3 5 1 2

8 7 6 3 4 5 2 8 7 1 6

3 4 5

2 8 1 4 7

3 5 6 2 3

1 8 7 6 4 5

2 8 1 7 5 3 6 4 2 1 8 7 5 3 6 4

2 8 1 5 7

3 6 4

2 1 6 7 5 8 3 4

8 3 2 64

8 6 2

3 4

2 6 8 3 4

2 3 6 84

2 8 6 4 3

2 8 6 4 3 5

2 8 6 7 3 4

2 8 6 7 3 4

8 3 2 1 4

8 1 2

3 4

2 8 7

3 4

2 8 7 1 3 4

1 2 7 8 3 4

1 2 8

3 4 celcel Ocena heurystyczna Ocena heurystyczna: liczba : liczba p

łytek (elementytek (elementóów) poza w) poza swoim po

swoim połłożeniem eniem docelowym docelowym

(18)

©

Ocena heurystyczna

Ocena heurystyczna – – jaka? jaka?

2 8 1 7 6

3 4 5 2 8

1 6 7 7

3 4 5

2 8 1 6 7 5

3 4

55 33 55

PrPróóba 1:ba 1: Liczba pLiczba płłytek poza pozycjami ytek poza pozycjami docelowymi

docelowymi Wada:

Wada: Nie uwzglNie uwzglęędnia dnia „„jak dalekojak daleko”jest każjest każda da płytka od miejsca docelowegoytka od miejsca docelowego

Pr

Próóba 2:ba 2: Suma Suma „„odlegodległłościci”wszystkich płwszystkich płytek od ytek od miejsca docelowego

miejsca docelowego Wada:

Wada:Ignoruje fakt (podobnie jak poprzednia Ignoruje fakt (podobnie jak poprzednia heurystyka),

heurystyka), żże prosta zamiana miejscami dwe prosta zamiana miejscami dwóóch ch p

łytek to wiytek to więęcej nicej niżżdwa ruchydwa ruchy

PrPróóba 3:ba 3: Liczba Liczba „„odwrodwróóconychconych”par ppar płłytek ytek pomno

pomnożżona przez maona przez małły wspóy współłczynnik (np. 2)czynnik (np. 2) Wada:

Wada:Nie uwzglęNie uwzględnia sekwencji ruchdnia sekwencji ruchóóww

66 44 66

00 00 00

Proponowana heurystyczna ocena Proponowana heurystyczna ocena

©AM©AM

Funkcja oceny heurystycznej

Funkcja oceny heurystycznej - - definicja definicja

Funkcj

Funkcjąą oceny heurystycznej nazywamy funkcjęoceny heurystycznej nazywamy funkcję rzeczywistąrzeczywistą okreokreślonślonąą na zbiorze wierzchona zbiorze wierzchołkłów grafu przestrzeni stanw grafu przestrzeni stanóów w postaci:

postaci:

f(f(nn) = ) = gg((nn) + ) + hh((nn)),, gdzie:

gdzie:

g(g(nn)) jest aktualnąjest aktualną długougośćść śściecieżżki od stanu ki od stanu nn do stanudo stanu pocz

począątkowego,tkowego,

h(h(nn)) jest heurystycznym oszacowaniem odległjest heurystycznym oszacowaniem odległości odci od stanu

stanu nndo celu.do celu.

(19)

7 6 5

2 1 8 7 6

3 4 5

2 8 1 4 7 6

3

5 2 8

1 7 6

3 4 5

2 1 8 7 6

3 4 5

2 3 1 8 7 6

4 5 2 8

7 1 6

3 4 5 8

2 1 7 6

3 4 5

1 2 8 7 6

3 4 5 1 2

8 2 7 6

3 4 5

1 2 7 8 2 6

3 4 5 ff((cc) =4) =4

Stan Stan hh f(f(hh) =6) =6

Stan Stan ff

f(f(ff) =5) =5 Stan Stan gg f(f(gg) =6) =6 Stan

Stan ee f(f(ee) =5) =5

Stan Stan ii f f((ii) =7) =7

Stan Stan jj f f((jj) =5) =5

Stan Stan kk f f((kk) =7) =7

Stan Stan ll f f((ll) =5) =5

Stan Stan mm f f((mm) =5) =5

Stan Stan nn f(f(nn) =7) =7 celcel

g(n) = 2 g(n) = 2

g(n) = 3 g(n) = 3

g(n) = 4 g(n) = 4

g(n) = 5 g(n) = 5 ff((nn) = ) = gg((nn) + ) + hh((nn),),

gdzie:

gdzie: gg((nn) rzeczywista ) rzeczywista odleg

odległłoośćśćod startu do stanu od startu do stanu nn,, h

h((nn) liczba p) liczba płłytek (elementytek (elementóów) w) poza swoim po

poza swoim połłożeniem eniem docelowym

docelowym

©AM©AM

Funkcja oceny heurystycznej a algorytm Funkcja oceny heurystycznej a algorytm

Best Best - - first first - - search search

Niech dany b

Niech dany bęędzie algorytm dzie algorytm BestBest--firstfirst--searchsearch z ocenz ocenąą heurystyczn

heurystycznąąpostaci:postaci:

f

f((nn) = ) = gg((nn) + h) + h((nn)),,

•• jejeżżeli dla kaeli dla każżdego stanu dego stanu gg(n(n) = 0) = 0to otrzymujemy tzw. to otrzymujemy tzw.

przeszukiwanie zach

przeszukiwanie zachłłanne anne (brak gwarancji znalezienia (brak gwarancji znalezienia optymalnego rozwi

optymalnego rozwiąązania)zania)

•• jejeżżeli dla kaeli dla każżdego stanu dego stanu hh(n(n) = 0) = 0i gi g((nn) = ) = depthdepth((nn))to to mamy

mamy przeszukiwanie wszerz przeszukiwanie wszerz (mo(możżliwe znalezienie liwe znalezienie optymalnego rozwi

optymalnego rozwiąązania)zania)

(20)

©

Algorytm A

Algorytm A - - definicja definicja

Rozwa

Rozważżmy funkcjmy funkcjęęoceny:oceny:

f

f((nn) = ) = gg((nn) + ) + hh((nn)) gdzie:

gdzie:

nn jest dowolnym stanem odwiedzonym w czasie jest dowolnym stanem odwiedzonym w czasie przeszukiwania,

przeszukiwania, g

g((nn))00 jest kosztem osiąjest kosztem osiągnignięęcia stanu cia stanu nnod począod początku tku przeszukiwania,

przeszukiwania,

h(h(nn) ) 00jest heurystycznym oszacowaniem kosztu przejśjest heurystycznym oszacowaniem kosztu przejścia od cia od stanu

stanu nndo celu.do celu.

JeżJeżeli ta ocena (w peeli ta ocena (w pełnej postaci) jest realizowana łnej postaci) jest realizowana łąłącznie z cznie z algorytmem

algorytmem bestbest-first-first--searchsearch, to rezultat nazywa si, to rezultat nazywa sięęalgorytmem Aalgorytmem A.. Algorytm ten ze wzgl

Algorytm ten ze wzglęędu na warunki wyjadu na warunki wyjaśśnione dalej nie jest w nione dalej nie jest w praktyce stosowany.

praktyce stosowany.

©AM©AM

Algorytm BFS z og

Algorytm BFS z ogó ó lną ln ą funkcją funkcj ą (1) (1)

procedure

procedureAstar_search(initial_state)Astar_search(initial_state) begin

begin open

open= [initial_state];= [initial_state];

closed closed= [];= [];

while

whileopenopen[] do[] do begin

begin

remove the next state from

remove the next state from openopen, call it , call it XX;; if

if XXis a goal state then return(solution path that led to is a goal state then return(solution path that led to XX););

process

process XX, generating all its children;, generating all its children;

for

foreach child of Xeach child of Xdodo casecase

the child is not already on

the child is not already on openopennnor or closedclosed:: ...

...

the child is already on the child is already on openopen:: ...

...

the child is already on the child is already on closedclosed:: ...

...

end

end; ; %case%case put

put XXon on closedclosed;; re

re--order states on order states on openopenaccording to heuristic merit (loweraccording to heuristic merit (lowervalues first);values first);

end

end; ; % while% while return(failure);

return(failure); % open is exhausted% open is exhausted

(21)

end end;;

the child is already on the child is already on openopen:: begin

begin if

ifthe child was reached along shorter path than the state currentthe child was reached along shorter path than the state currently on ly on openopenthenthen give the state on

give the state on openopenthis shorter path value;this shorter path value;

end end;;

the child is already on the child is already on closedclosed:: begin

begin if

ifthe child was reached along shorter path than the state currentthe child was reached along shorter path than the state currently on ly on closedclosedthenthen begin

begin

give the state on

give the state on closedclosedthis shorter path value;this shorter path value;

move the state from

move the state from closedclosedto opento open;; endend

end end;; end

end; ; %case%case ......

©AM©AM

Algorytm A

Algorytm A - - przykł przyk ład ad

AA

B-B-55 C-C-55 D-D-66 E

E--44 FF--44 G-G-44 HH--33 I-I-55 J-J-44

N-N-33 O-O-22 PP--22 Q-Q-44 RR--22 S

S--11

OpenOpen

Closed Closed

UU--00 KK--22 LL--22 MM--22

TT--11

55 5 5 66 4

4

66

4

4 44 33 66 77

3 3 11

4

4 55 22 33 22

11 11 11

11 11

66 koszt koszt operacji operacji

BB--55

Ocena stanu Ocena stanu

(22)

©

Algorytm A

Algorytm A - - przykł przyk ład ad

AA

B-B-55 C-C-55 D-D-66 E

E--44 FF--44 G-G-44 HH--33 I-I-55 J-J-44

N-N-33 O-O-22 PP--22 Q-Q-44 RR--22 S

S--11

OpenOpen

Closed Closed

UU--00 KK--22 LL--22 MM--22

TT--11

55 5 5 66 4

4

66

4

4 44 33 66 77

3 3 11

4

4 55 22 33 22

11 11 11

11 11

1010 1010 1212

66 koszt koszt operacji operacji

BB--55

Ocena stanu Ocena stanu

©AM©AM

Algorytm A

Algorytm A - - przykł przyk ład ad

AA

B-B-55 C-C-55 D-D-66 E

E--44 FF--44 G-G-44 HH--33 I-I-55 J-J-44

N-N-33 O-O-22 PP--22 Q-Q-44 RR--22 S

S--11

OpenOpen

Closed Closed

UU--00 KK--22 LL--22 MM--22

TT--11

55 5 5 66 4

4

66

4

4 44 33 66 77

3 3 11

4

4 55 22 33 22

11 11 11

11 11

13 13

10

10 1212

13 13

66 koszt koszt operacji operacji

BB--55

Ocena stanu Ocena stanu

(23)

B-B-55 C-C-55 D-D-66 E

E--44 FF--44 G-G-44 HH--33 I-I-55 J-J-44

N-N-33 O-O-22 PP--22 Q-Q-44 RR--22 S

S--11

Closed Closed

UU--00 KK--22 LL--22 MM--22

TT--11

4 4

66

4

4 44 33 66 77

3 3 11

4

4 55 22 33 22

11 11 11

11 11

13

13 1313

1212

13

13 1111

66 koszt koszt operacji operacji

BB--55

Ocena stanu Ocena stanu

©AM©AM

Algorytm A

Algorytm A - - przykł przyk ład ad

AA

B-B-55 C-C-55 D-D-66 E

E--44 FF--44 G-G-44 HH--33 I-I-55 J-J-44

N-N-33 O-O-22 PP--22 Q-Q-44 RR--22 S

S--11

OpenOpen

Closed Closed

UU--00 KK--22 LL--22 MM--22

TT--11

55 5 5 66 4

4

66

4

4 44 33 66 77

3 3 11

4

4 55 22 33 22

11 11 11

11 11

13

13 1313

1212

13 13

1212 1313

66 koszt koszt operacji operacji

BB--55

Ocena stanu Ocena stanu

(24)

©

Algorytm A

Algorytm A - - przykł przyk ład ad

AA

B-B-55 C-C-55 D-D-66 E

E--44 FF--44 G-G-44 HH--33 I-I-55 J-J-44

N-N-33 O-O-22 PP--22 Q-Q-44 RR--22 S

S--11

OpenOpen

Closed Closed

UU--00 KK--22 LL--22 MM--22

TT--11

55 5 5 66 4

4

66

4

4 44 33 66 77

3 3 11

4

4 55 22 33 22

11 11 11

11 11

13

13 1313 1313 1717

1212 1313 1717

66 koszt koszt operacji operacji

BB--55

Ocena stanu Ocena stanu

©AM©AM

Algorytm A

Algorytm A - - przykł przyk ład ad

AA

B-B-55 C-C-55 D-D-66 E

E--44 FF--44 G-G-44 HH--33 I-I-55 J-J-44

N-N-33 O-O-22 PP--22 Q-Q-44 RR--22 S

S--11

OpenOpen

Closed Closed

UU--00 KK--22 LL--22 MM--22

TT--11

55 5 5 66 4

4

66

4

4 44 33 66 77

3 3 11

4

4 55 22 33 22

11 11 11

11 11

13

13 1313 1313 1717

13 13

1717

66 koszt koszt operacji operacji

BB--55

Ocena stanu Ocena stanu

(25)

B-B-55 C-C-55 D-D-66 E

E--44 FF--44 G-G-44 HH--33 I-I-55 J-J-44

N-N-33 O-O-22 PP--22 Q-Q-44 RR--22 S

S--11

Closed Closed

UU--00 KK--22 LL--22 MM--22

TT--11

4 4

66

4

4 44 33 66 77

3 3 11

4

4 55 22 33 22

11 11 11

11 11

1717

13

13 1717

13 13

13 13

1717

1414

66 koszt koszt operacji operacji

BB--55

Ocena stanu Ocena stanu

©AM©AM

Algorytm A

Algorytm A - - przykł przyk ład ad

AA

B-B-55 C-C-55 D-D-66 E

E--44 FF--44 G-G-44 HH--33 I-I-55 J-J-44

N-N-33 O-O-22 PP--22 Q-Q-44 RR--22 S

S--11

OpenOpen

Closed Closed

UU--00 KK--22 LL--22 MM--22

TT--11

55 5 5 66 4

4

66

4

4 44 33 66 77

3 3 11

4

4 55 22 33 22

11 11 11

11 11

1717

13

13 1717

1515 1313

1717

12 12

66 koszt koszt operacji operacji

BB--55

Ocena stanu Ocena stanu

(26)

©

Algorytm A

Algorytm A - - przykł przyk ład ad

AA

B-B-55 C-C-55 D-D-66 E

E--44 FF--44 G-G-44 HH--33 I-I-55 J-J-44

N-N-33 O-O-22 PP--22 Q-Q-44 RR--22 S

S--11

OpenOpen

Closed Closed

UU--00 KK--22 LL--22 MM--22

TT--11

55 5 5 66 4

4

66

4

4 44 33 66 77

3 3 11

4

4 55 22 33 22

11 11 11

11 11

1717

13

13 1717

1515 1313

1717

12 12

66 koszt koszt operacji operacji

BB--55

Ocena stanu Ocena stanu

©AM©AM

Algorytm A

Algorytm A - - przykł przyk ład ad

AA

B-B-55 C-C-55 D-D-66 E

E--44 FF--44 G-G-44 HH--33 I-I-55 J-J-44

N-N-33 O-O-22 PP--22 Q-Q-44 RR--22 S

S--11

OpenOpen

Closed Closed

UU--00 KK--22 LL--22 MM--22

TT--11

55 5 5 66 4

4

66

4

4 44 33 66 77

3 3 11

4

4 55 22 33 22

11 11 11

11 11

1717

13

13 1717

1515 1313

1717

66 koszt koszt operacji operacji

BB--55

Ocena stanu Ocena stanu

(27)

B-B-55 C-C-55 D-D-66 E

E--44 FF--44 G-G-44 HH--33 I-I-55 J-J-44

N-N-33 O-O-22 PP--22 Q-Q-44 RR--22 S

S--11

Closed Closed

UU--00 KK--22 LL--22 MM--22

TT--11

4 4

66

4

4 44 33 66 77

3 3 11

4

4 55 22 33 22

11 11 11

11 11

1717 1717

1717

1515 1313

1717

66 koszt koszt operacji operacji

BB--55

Ocena stanu Ocena stanu

©AM©AM

Algorytm A

Algorytm A - - przykł przyk ład ad

AA

B-B-55 C-C-55 D-D-66 E

E--44 FF--44 G-G-44 HH--33 I-I-55 J-J-44

N-N-33 O-O-22 PP--22 Q-Q-44 RR--22 S

S--11

OpenOpen

Closed Closed

UU--00 KK--22 LL--22 MM--22

TT--11

55 5 5 66 4

4

66

4

4 44 33 66 77

3 3 11

4

4 55 22 33 11

11 11 11

11 11

1717 1717

1717

1515

13 13

1717

prawie koniec ; prawie koniec ;--))

66 koszt koszt operacji operacji

BB--55

Ocena stanu Ocena stanu

Cytaty

Powiązane dokumenty

Überlegungen zur Methodologie der Kranken- geschichtsanalyse 1998, S... 153-153; Psychiatrische Krankengeschichte

− pyr a – no significant differences were found in the content of this pigment be- tween the pressed and extracted oils, and between the oils after heat treatment and

On the other hand, the total mercury content of all the fractions extracted from 13 samples of aggregates showed a high variability in the content of this element, with a noticeable

Początkowy dostawy wynosiły 12 milionów ton węgla rocznie, potem gdy w roku 1946 zostały obniżone reparacje z radzieckiej strefy oku- pacyjnej w Niemczech to nasze dostawy

Suppose that the shortest path graph G 艛 consisting of the union of all shortest paths would contain a loop, then the largest link weight of that loop is larger than the sum of

In this research project, which is aimed at the identification, explanation and exploration of the impact of the Internet bubble on the development path of the telecom sector, and

dzy tymi skrajnymi stanowiskami należy umieścić postawy tych normaty- wistów, którzy wyrażają przekonanie, że wydawanie sądów preskryptyw- nych, ocenianie i wartościowanie

Całe życie popierał i reali­ zow ał program ustalony przez KEN, który opierał się na tych zasadach, nieco tylk o przekształconych i dostosowanych do praktyki