METODY HEURYSTYCZNE wykład 1

Transkrypt

METODY HEURYSTYCZNE wykład 1
www.kwmimkm.polsl.pl
www.kwmimkm.polsl.pl
ME3, sem.
sem. I
prowadzą
prowadzący:
cy: dr inż
inż. Witold Beluch (p. 149)
wykł
wykład: 15h
laboratorium: 15h
METODY
HEURYSTYCZNE
ZAJĘ
ZAJĘCIA KOŃ
KOŃCZĄ
CZĄ SIĘ
SIĘ EGZAMINEM
wykład 1
OCENA KOŃ
KOŃCOWA: O=0.65E+0.35L
E - ocena z egzaminu
L - ocena z laboratorium
1
www.kwmimkm.polsl.pl
LITERATURA:
LITERATURA
obydwie oceny muszą
muszą być
być pozytywne!
pozytywne!
2
www.kwmimkm.polsl.pl
Włodzisł
odzisław Duch:
http://www.phys.uni.torun.pl
/~duch/Wyklady
Wyklady//
http://www.phys.uni.torun.pl/~duch/
1. Arabas J., Wykł
Wykłady z algorytmó
algorytmów ewolucyjnych,
ewolucyjnych, WNT, Warszawa, 2003
2. Michalewicz Z., Algorytmy genetyczne + struktury danych = programy
ewolucyjne,
ewolucyjne, WNT, Warszawa, 1996 (1992)
3. Rutkowski L. , Metody i techniki sztucznej inteligencji,
inteligencji, PWN, Warszawa, 2006
4. Tadeusiewicz R., Elementarne wprowadzenie do techniki sieci neuronowych
z przykł
przykładowymi programami,
programami, Akad.
Akad. Oficyna Wyd. PLJ, Warszawa, 1998
5. Bolc L., Cytowski J., Metody przeszukiwania heurystycznego.
heurystycznego. Tom 1,2. PWN,
Warszawa, 1989, 1991.
3
4
www.kwmimkm.polsl.pl
http://wazniak.mimuw.edu.pl
http://wazniak.mimuw.edu.pl//index.php?title=Sztuczna_inteligencja wykł
wykład dotyczą
dotyczący sztucznej inteligencji
HEURYSTYCZNE – CO TO ZNACZY?!
www.kwmimkm.polsl.pl
„Heuristic methods don't work ... if they did,
did,
they would be called algorithms.”
-- Unknown
Z greckiego: heuriskein – znaleźć
znaleźć,, odkryć
odkryć.
Praktyczna, oparta na doś
doświadczeniu, „inteligentna”
inteligentna”
reguł
reguła postę
postępowania, któ
która MOŻ
MOŻE drastycznie uproś
uprościć
cić
lub skró
skrócić
cić proces rozwią
rozwiązywania problemu, gdy metoda
rozwią
rozwiązania:
• nie jest znana;
5
• jest zawił
zawiła i czasochł
czasochłonna.
6
www.kwmimkm.polsl.pl
CO BĘ
BĘDZIE?
W algorytmice:
algorytmice:
• Strategie ślepe
„Niepeł
Niepełnowartoś
nowartościowy”
ciowy” algorytm, któ
który umoż
umożliwia znaznalezienie w akceptowalnym czasie przynajmniej „dostadostatecznie dobrego”
dobrego” przybliż
przybliżonego rozwią
rozwiązania problemu.
• Metoda najszybszego wzrostu
www.kwmimkm.polsl.pl
• Najpierw najlepszy (zachł
(zachłanne, A* i IDA*)
• Symulowane wyż
wyżarzanie
(Choć
Choć nie gwarantuje tego we wszystkich przypadkach).
• Algorytmy genetyczne i algorytmy ewolucyjne
• Sztuczne sieci neuronowe
Metody heurystyczne należą
należą do podstawowych narzę
narzędzi
sztucznej inteligencji,
inteligencji, czę
często uż
używane są
są też
też w ró
różnych
dział
działach badań
badań operacyjnych.
operacyjnych.
• Logika rozmyta i sterowniki rozmyte
• Algorytmy mró
mrówkowe
• Algorytmy immunologiczne ?
7
www.kwmimkm.polsl.pl
• ...
8
www.kwmimkm.polsl.pl
• Jedna z najważ
najważniejszych metod informatyki.
• Czę
ę
stokroć
Cz stokroć utoż
utożsamiane ze sztuczną
sztuczną inteligencją
inteligencją (AI).
• Wiele zadań
zadań praktycznych moż
można traktować
traktować jako
konkretne przypadki ogó
ogólnego zadania przeszukiwania.
PRZESZUKIWANIE
• Rozwią
Rozwiązania mają
mają speł
spełniać
niać pewne ustalone kryteria
i ograniczenia,
ograniczenia,
• Inteligentne techniki obliczeniowe opracowywane do
przeszukiwania mają
mają na celu znajdowanie
zadowalają
zadowalających rozwią
rozwiązań
zań bez peł
pełnego przeglą
przeglądania
wszystkich moż
możliwoś
liwości, czyli:
dokonanie niewyczerpują
niewyczerpującego przeszukiwania
przestrzeni rozwią
rozwiązań
zań.
9
www.kwmimkm.polsl.pl
Ślepe przeszukiwanie:
Strategie ślepe korzystają
korzystają z informacji dostę
dostępnej jedynie
w definicji problemu (nie wykorzystują
wykorzystują wiedzy o problemie):
• przeszukiwanie wszerz;
• strategia jednolitego kosztu;
• przeszukiwanie w głą
b;
głąb;
• przeszukiwanie ograniczone w głą
b;
głąb;
• przeszukiwanie iteracyjnie pogłę
biane;
pogłębiane;
• przeszukiwanie dwukierunkowe;
•…
10
Zadania „łatwe”
atwe” to np.:
np.:
www.kwmimkm.polsl.pl
• Sortowanie.
• Szukanie pierwiastkó
pierwiastków wielomianó
wielomianów.
• Szukanie maksimum funkcji cią
ciągłej i ró
różniczkowalnej.
• Mnoż
ż
enie
macierzy.
Mno
• Sprawdzenie, czy w grafie istnieje cykl Eulera.
Eulera.
Zadania „trudne”
trudne” to np.:
np.:
11
• Szukanie maksimum funkcji niecią
nieciągłej, nieró
nieróżniczkoniczkowalnej,
walnej, zaszumionej,
zaszumionej, zmieniają
zmieniającej się
się w czasie.
• Szukanie najkró
najkrótszej postaci danej formuł
formuły logicznej.
• Rozkł
Rozkładanie liczb na czynniki pierwsze.
• Sprawdzenie, czy w grafie istnieje cykl Hamiltona.
Hamiltona.
12
www.kwmimkm.polsl.pl
ZŁOŻONOŚĆ
ONOŚĆ ALGORYTMU
www.kwmimkm.polsl.pl
• To ilość
ilość zasobó
zasobów niezbę
niezbędna do wykonania algorytmu.
• Mierzona wymaganiami czasowymi T i pamię
pamięciowymi S.
Cykl Eulera:
który przechodzi przez
Eulera: cykl w grafie, któ
każ
każdą krawę
krawędź niezorientowanego grafu dokł
dokładnie
jeden raz
Rzę
ciej spotykane):
Rzędy zł
złożonoś
oności (najczęś
(najczęściej
1 – stał
stała;
log2n – logarytmiczna;
n – liniowa;
n·log2n – liniowoliniowo-logarytmiczna;
2
n – kwadratowa;
n3 – sześ
sześcienna;
nc – wielomianowa;
cn, n! – wykł
wykładnicza.
n – wielkość
wielkość danych algorytmu
•
•
•
•
•
•
•
•
(przez wę
węzły moż
może przechodzić
przechodzić wielokrotnie).
Cykl Hamiltona:
którym każ
każdy
Hamiltona: cykl w grafie, w któ
wierzchoł
wierzchołek grafu wystę
występuje dokł
dokładnie jeden raz.
(znalezienie cyklu Hamiltona o minimalnej sumie wag krawę
krawędzi
jest ró
równoważ
wnoważne rozwią
rozwiązaniu problemu komiwojaż
komiwojażera).
era).
13
www.kwmimkm.polsl.pl
ZŁOŻONOŚĆ
ONOŚĆ ALGORYTMU - przykł
przykład
14
www.kwmimkm.polsl.pl
Za: Zofia Kruczkiewicz,
Kruczkiewicz, Algorytmy i struktury danych, Wykł
Wykład 10
zofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/
zofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/ALG/Algusm10.pdf
wyklady/ALG/Algusm10.pdf
Sortowanie n obiektó
obiektów:
• sprawdzenie wszystkich moż
możliwoś
liwości: O(n!) – wykł
wykładnicza
• algorytm bą
bąbelkowy: O(n2) – kwadratowa
• algorytm szybki - O(n log n)
n) - liniowoliniowo-logarytmiczna
15
PROBLEMY NP
www.kwmimkm.polsl.pl
Problem NP (nondeterministic polynomial):
• problem decyzyjny, dla któ
którego rozwią
rozwiązanie moż
można
zweryfikować
zweryfikować w czasie wielomianowym.
Najwię
Największy problem:
www.kwmimkm.polsl.pl
eksplozja kombinatoryczna liczby moż
możliwych dró
dróg.
Np. zadanie komiwojaż
komiwojażera:
Liczba moż
możliwych tras:
(N - 1)! / 2
Problem P0 jest NPNP-zupeł
zupełny,
ny, gdy:
1. P0 należ
należy do klasy NP,
N=100
N=100 – 1 minuta
N=101
N=101 – 1h40’
1h40’
N=102
N=102 – 7 dni
N=103
N=103 – 2 lata
...
2. Każ
Każdy problem z klasy NP da się
się sprowadzić
sprowadzić w czasie
wielomianowym do problemu P0.
Problem NPNP-trudny speł
spełnia tylko punkt 2.
• Problemy NPNP-zupeł
zupełne maja postać
postać pytania „czy istnieje”
istnieje”.
• Problemy NPNP-trudne to zwykle ich optymalizacyjne
wersje („
(„znajdź
znajdź najmniejszy”
najmniejszy”).
16
17
• warcaby: 1040 węzłów;
• szachy: 10120 węzłów;
• go: 10260 węzłów.
18
www.kwmimkm.polsl.pl
www.kwmimkm.polsl.pl
PRZESZUKIWANIE WSZERZ
1. Utwórz listę węzłów P zawierającą stany początkowe.
2. Niech n będzie pierwszym węzłem w P. Jeżeli P jest puste,
zakończ i zwróć NIEPOWODZENIE.
STRATEGIE
ŚLEPE
3. Jeżeli n jest rozwiązaniem, zatrzymaj i podaj ścieżkę od stanu
początkowego do n - zwróć SUKCES.
4. W przeciwnym przypadku usuń n z P i na końcu listy dopisz
wszystkich potomków n (wygenerowanych z pomocą
zdefiniowanych reguł) zapamiętując dla każdego ścieżkę od
stanu początkowego.
5. Wróć do kroku 2.
20
19
www.kwmimkm.polsl.pl
Metoda ta wykonuje rozwinięcie najpłytszego węzła
spośród tych, które nie były jeszcze rozszerzone
1
2
4
8
H
C
5
D
9
I
10
J
6
E
11
K
1. Utwórz list węzłów P zawierającą stany początkowe.
2. Niech n będzie pierwszym węzłem w P. Jeżeli P jest puste,
zakończ i zwróć NIEPOWODZENIE.
3. Jeżeli n jest rozwiązaniem, zatrzymaj i podaj ścieżkę od stanu
początkowego do n - zwróć SUKCES.
4. W przeciwnym przypadku usuń n z P i na początku listy dopisz
wszystkich potomków n (wygenerowanych za pomocą reguł
produkcji) zapamiętując dla każdego ścieżkę od stanu
początkowego.
5. Wróć do kroku 2.
A
B
12
L
3
7
F
13
M
14
N
G
15
www.kwmimkm.polsl.pl
PRZESZUKIWANIE W GŁĄ
B
GŁĄB
O
21
22
STRATEGIA JEDNOLITEGO KOSZTU
www.kwmimkm.polsl.pl
STRATEGIA JEDNOLITEGO KOSZTU
(UNIFORMUNIFORM-COST SEARCH)
www.kwmimkm.polsl.pl
(UNIFORMUNIFORM-COST SEARCH)
• Wykonuje ekspansję
ekspansję węzła o najmniejszym koszcie
spoś
spośród tych, któ
które nie był
były jeszcze rozszerzone.
• Wykonuje ekspansję
ekspansję węzła o najmniejszym koszcie
spoś
spośród tych, któ
które nie był
były jeszcze rozszerzone.
• Jeś
Jeśli koszt wszystkich wę
węzłów jest jednakowy,
jednakowy, to jest
to ró
równoważ
wnoważne szukaniu wszerz.
wszerz.
S
S 15
1
• Jeś
Jeśli koszt wszystkich wę
węzłów jest jednakowy,
jednakowy, to jest
to ró
równoważ
wnoważne szukaniu wszerz.
wszerz.
S 15
S
1
0
5
A
B
10
5
E
5
C
A
5
B
10
23
5
E
C
A
B
C
1
5
15
5
24
STRATEGIA JEDNOLITEGO KOSZTU
www.kwmimkm.polsl.pl
STRATEGIA JEDNOLITEGO KOSZTU
(UNIFORMUNIFORM-COST SEARCH)
www.kwmimkm.polsl.pl
(UNIFORMUNIFORM-COST SEARCH)
• Wykonuje ekspansję
ekspansję węzła o najmniejszym koszcie
spoś
spośród tych, któ
które nie był
były jeszcze rozszerzone.
• Wykonuje ekspansję
ekspansję węzła o najmniejszym koszcie
spoś
spośród tych, któ
które nie był
były jeszcze rozszerzone.
• Jeś
Jeśli koszt wszystkich wę
węzłów jest jednakowy,
jednakowy, to jest
to ró
równoważ
wnoważne szukaniu wszerz.
wszerz.
S 15
S
1
• Jeś
Jeśli koszt wszystkich wę
węzłów jest jednakowy,
jednakowy, to jest
to ró
równoważ
wnoważne szukaniu wszerz.
wszerz.
S 15
S
1
5
A
B
10
C
5
A
5
E
B
C
5
15
5
A
B
10
E
5
E
11
C
A
B
C
15
5
E
E
11
10
25
www.kwmimkm.polsl.pl
PRZYKŁADOWE
PROBLEMY
27
www.kwmimkm.polsl.pl
ÓSEMKA...
26
www.kwmimkm.polsl.pl
ÓSEMKA
• Przestrzeń
Przestrzeń stanó
stanów:
9!/2 = 181 440 elementó
elementów
• Stan:
Stan: macierz 3x3.
• Operacje:
Operacje: przesuwanie
(najwygodniej: 4 operacje na pustym polu);
• Ruchy:
Ruchy: zbió
zbiór operatoró
operatorów: Od, Og, Ol, Op.
• Zbió
końcowych G.
Zbiór stanó
stanów wyjś
wyjściowych S i koń
• Problem zdefiniowany jest jako tró
trójka (S,O,G).
• Rozwią
Rozwiązanie problemu:
cią
ciąg operatoró
operatorów przekształ
przekształcają
cających S → G.
PROBLEM N KRÓ
KRÓLOWYCH
28
www.kwmimkm.polsl.pl
Algorytmy szukania heurystycznego testuje się
się czę
często na
problemie przesuwanki.
przesuwanki.
Klocków
8
15
24
Rozmiar
przestrzeni stanów
181 440
0.65·1012
0.5·1025
Czas sprawdzenia
wszystkich stanów
0.18 s
6 dni
12 bilionów lat
...zakł
...zakładają
adając sprawdzanie 1·106 stanó
stanów na sekundę
sekundę.
• Stan początkowy: dowolny układ N królowych.
• Operator: przestaw królową na jedno z pustych pól.
• Cel: ustawienie N królowych tak, by żadna nie
atakowała pozostałych.
Dobra funkcja heurystyczna zmniejsza liczbę
liczbę
rozpatrywanych stanó
stanów do <50.
<50.
• Cel dodatkowy: znaleźć wszystkie możliwe
rozwiązania.
29
30
www.kwmimkm.polsl.pl
http://www.mini.pw.edu.pl/miniwyklady/sieci/hetmany.html
http://www.mini.pw.edu.pl/miniwyklady/sieci/hetmany.html
www.kwmimkm.polsl.pl
KRYPTOARYTMETYKA
Zamienić
Zamienić litery na cyfry.
• Stan począ
początkowy:
tkowy: sł
słupek arytmetyczny z literami.
• Operator:
Operator: zamień
zamień jednoznacznie literę
literę na cyfrę
cyfrę.
• Cel:
Cel: zamień
zamień wszystkie litery tak, by operacje na cyfrach
się
się zgadzał
zgadzały.
Np:
31
KOLOROWANIE MAPY
www.kwmimkm.polsl.pl
FORTY
+ TEN
+ TEN
Rozwią
Rozwiązanie:
29786
+ 850
+ 850
__________
__________
SIXTY
31486
www.kwmimkm.polsl.pl
LIS I GĘ
GĘSI
Farmer ma przewieźć
przewieźć lisa, gęś
gęś i ziarno małą
małą łódką
dką na
drugą
drugą stronę
stronę rzeki:
• w łódce mieś
mieści się
się 1 rzecz;
• lis zjada gęś
gęś,, gęś zjada ziarno.
„Gdy w paź
październiku 1852
roku Francis Guthrie
(był
(były student Augustusa
de Morgana)
Morgana) kolorował
kolorował
mapę
mapę Anglii, zauważ
zauważył,
że cztery kolory wystarczą
wystarczą,
Zwią
Związek Australijski
by każ
każde dwa są
sąsiadują
siadujące
hrabstwa ró
różnił
niły się
się barwą
barwą.
Pomyś
wystarczą do pokolorowania dowolnej,
dowolnej,
Pomyślał
lał: Czy cztery barwy wystarczą
nawet najbardziej skomplikowanej mapy? ” (...)
Stan począ
początkowy:
tkowy:
pusto...
16 stanó
stanów w tym:
• 6 niebezpiecznych
• 10 akceptowalnych
Wię
Więcej:
http://www.mimuw.edu.pl
/delta/artykuly
artykuly/delta0604/4barwy.pdf
/delta0604/4barwy.pdf
http://www.mimuw.edu.pl/delta/
33
www.kwmimkm.polsl.pl
GRAF ROZWIĄZAŃ:
32
34
PRAKTYCZNE PROBLEMY
www.kwmimkm.polsl.pl
• Szukanie optymalnej drogi (rutowanie pakietó
pakietów w sieciach
komputerowych, rezerwacje lotnicze itp).
itp).
Dla większej liczby obiektów
(„misjonarze i kanibale”) zadanie
nietrywialne:
wymagane jest tworzenie
etapów pośrednich, chwilowo
oddalających od pożądanego
rozwiązania.
35
• Projektowanie ukł
very-large scale integration).
integration).
układó
adów VLSI (very• Optymalizacja drogi robota w zmiennym środowisku.
• Autonomiczne urzą
urządzenia ratunkowe.
• Plan zajęć
zajęć w szkole.
• Gry komputerowe.
• Dowodzenie twierdzeń
twierdzeń matematycznych.
• Wnioskowanie (znalezienie zależ
zależnoś
ności w bazie wiedzy).
• Systemy diagnozy medycznej.
• Komunikacja z maszyną
maszyną za pomocą
pomocą języka naturalnego.
• Eksploracja danych (data mining).
mining).
36
www.kwmimkm.polsl.pl
DEFINICJA PROBLEMU
www.kwmimkm.polsl.pl
1. Baza danych:
danych: fakty, stany, moż
możliwoś
liwości, opis sytuacji.
2. Moż
Możliwe operacje:
operacje: zmieniają
zmieniają stan bazy danych.
3. Strategia kontrolna:
kontrolna: okreś
określa start, koniec i kolejność
kolejność
operacji.
PROBLEM
I JEGO OPIS
• Cią
Ciąg operacji tworzy sekwencję
sekwencję dział
działań.
• Z każ
każdą operacją
operacją zwią
związany jest pewien koszt.
koszt.
• Należ
yć do minimalizacji cał
całkowitych kosztó
kosztów.
Należy dąż
dąży
37
REPREZENTACJA PROBLEMU
www.kwmimkm.polsl.pl
38
PRZYKŁ
PRZYKŁAD PROBLEMU:
www.kwmimkm.polsl.pl
Zbió
Zbiór konwencji dotyczą
dotyczących opisu pewnej klasy rzeczy.
Odpowiednia reprezentacja – znaczna część
część rozwią
rozwiązania:
• uwidacznia istotne relacje;
• ujawnia wszystkie wię
więzy ograniczają
ograniczające moż
możliwe relacje;
• jest zrozumiał
zrozumiała, kompletna, zwię
zwięzła;
• moż
można ją
ją efektywnie wykorzystać
wykorzystać w modelu komputerowym.
Sformuł
Sformułowanie problemu:
1. Reprezentacja w przestrzeni stanó
stanów.
2. Reprezentacja redukcyjna.
redukcyjna.
Zwykle problemy moż
można konwertować
konwertować z 1 do 2
(i odwrotnie)
39
www.kwmimkm.polsl.pl
•
•
•
•
stany:
stany: miasta {Arad
{Arad,, Sibiu,
Sibiu, Bucharest,
Bucharest, …};
akcje:
.: Arad → Sibiu);
akcje: przejazdy pomię
pomiędzy 2 miastami (np
(np.:
Sibiu);
cel:
cel: Arad → Bucharest;
Bucharest;
koszt akcji:
akcji: odległ
odległość pomię
pomiędzy dwoma miastami.
PRZYKŁ
PRZYKŁAD PROBLEMU:
40
www.kwmimkm.polsl.pl
Montaż
Montaż przy uż
użyciu robota
Reprezentacja problemu:
• stan począ
początkowy:
tkowy: Arad;
Arad;
• stan docelowy:
docelowy: Bukareszt;
• rozwiazanie:
rozwiazanie: ciag przejazdó
przejazdów
Sformuł
Sformułowanie problemu:
(np.
np. Arad→Sibiu→ Fagaras→Bukareszt);
Bukareszt);
• koszt rozwią
pomiędzy kolejnymi miastami.
rozwiązania:
zania: suma km pomię
41
• stany:
czeniach robota,
stany: rzeczywiste wspó
współrzę
rzędne ką
kątów w złą
złączeniach
elementy do zmontowania;
• akcje:
czy robota;
akcje: cią
ciągłe ruchy złą
złączy
• cel: kompletny montaż
montaż;
• koszt akcji:
akcji: czas montaż
montażu.
42
www.kwmimkm.polsl.pl
GRAF:
Uporzą
Uporządkowana para: G = (V
(V, E)
grafy, w któ
których każ
każdy wę
węzeł
zeł ma tylko 1 poprzednika.
• V - niepusty zbió
zbiór wierzchoł
wierzchołków (wę
(węzłów, punktó
punktów);
• E - zbió
zbiór krawę
krawędzi (ł
(łukó
uków).
v
w
v
x
skierowane
(zorientowane)
u
v
y
nieskierowane
(niezorientowane)
43
www.kwmimkm.polsl.pl
Wysokość
Wysokość wierzchoł
wierzchołka (h
(h): maksymalna dł
długość
ugość drogi od
tego wierzchoł
wierzchołka do liś
liścia.
Wysokość
Wysokość drzewa: dł. najdł
najdłuższej drogi od korzenia do liś
liścia.
Głęboko
ść (numer poziomu) wierzchoł
łębokość
wierzchołka (p
(p): długość
ugość drogi
łącz
ącej ten wierzchoł
łączą
wierzchołek z korzeniem.
r
u
v
x
h=3, p=0
q
p
w
s
y
z
q
p
z
y
korzeń
korzeń
r
w
z
x
www.kwmimkm.polsl.pl
DRZEWA:
h=2, p=1
x
w
s
y
z
wierzchoł
wierzchołek
wewnę
wewnętrzny
t
Drzewo to graf:
- nieskierowany;
nieskierowany;
- acykliczny;
- spó
spójny.
liść
liść
• wierzchoł
wierzchołek = stan
• krawę
krawędź = akcja
REPREZENTACJA REDUKCYJNA
44
www.kwmimkm.polsl.pl
Najważ
Najważniejsze nie stany, ale cele (opisy
(opisy problemu).
problemu).
Elementy skł
składowe:
• opis począ
początkowego problemu;
• zbió
zbiór operatoró
operatorów transformują
transformujących dany problem na
problemy czą
cząstkowe;
• zbió
zbiór problemó
problemów elementarnych.
Np.: Wież
Wieże Hanoi:
Hanoi:
Krąż
ki: 1, 2, 3, 4
Krążki:
Koł
Kołki: A, B, C.
t
Koszt czasowy algorytmu: T(n)=2n -1.
h=0, p=3
45
www.kwmimkm.polsl.pl
"W wielkiej świą
wiątyni Benares w Hanoi, pod kopułą
kopułą,, któ
która zaznacza
środek świata, znajduje się
się płytka z brą
brązu, na któ
której umocowane są
są
trzy diamentowe igł
igły, wysokie na łokieć
okieć i cienkie jak talia osy.
Na jednej z tych igieł
igieł, w momencie stworzenia świata, Bó
Bóg umieś
umieścił
cił
64 krąż
ki ze szczerego zł
krążki
złota. Najwię
Największy z nich leż
leży na pł
płytce z brą
brązu,
a pozostał
pozostałe jeden na drugim, idą
idąc maleją
malejąco od najwię
największego do
najmniejszego. Jest to wież
wieża Brahma.
Brahma.
Bez przerwy we dnie i w nocy kapł
ki z jednej
kapłani przekł
przekładają
adają krąż
krążki
diamentowej igł
igły na drugą
drugą, przestrzegają
przestrzegając niewzruszonych praw
Brahma.
ek
Brahma. Prawa te chcą
chcą, aby kapł
kapłan na sł
służbie brał
brał tylko jeden krąż
krążek
na raz i aby umieszczał
umieszczał go na jednej z igieł
igieł w ten sposó
sposób,
by nigdy nie znalazł
ek mniejszy.
znalazł się
się pod nim krąż
krążek
Wówczas, gdy 64 krąż
ki zostaną
krążki
zostaną przeł
przełożone z igł
igły, na któ
której umieś
umieścił
cił
je Bó
Bóg w momencie stworzenia świata, na jedną
jedną z dwó
dwóch pozostał
pozostałych
igieł
igieł, wież
wieża, świą
wiątynia, bramini rozsypią
rozsypią się
się w proch
i w jednym oka mgnieniu nastą
nastąpi koniec świata".
47
Przy 1·
1·106stanó
stanów/s - dla n=64 : 0.5 miliona lat!
Problem:
przesuń n klockó
klocków z A na C.
Problem: przesuń
46
www.kwmimkm.polsl.pl
Podproblemy:
Podproblemy:
• Przesuń
Przesuń stos n-1 klockó
klocków z A na B
• Przesuń
Przesuń jeden klocek z A na C
• Przesuń
Przesuń stos n-1 klockó
klocków z B na C
Problem elementarny:
przesunięcie pojedynczego klocka.
elementarny: przesunię
Opis problemu:
problemu:
• ile jest klockó
klocków na stosie do przesunię
przesunięcia;
• z któ
którego koł
kołka przesuwać
przesuwać;
• na któ
który koł
kołek przesuwać
przesuwać.
48
www.kwmimkm.polsl.pl
http://chemeng.p.lodz.pl
http://chemeng.p.lodz.pl//zylla/
zylla/games/hanoi3p.html
games/hanoi3p.html
www.kwmimkm.polsl.pl
KRYTERIA OCENY STRATEGII SZUKANIA:
• Zupeł
Zupełność
ność — czy zawsze znajduje rozwią
rozwiązanie,
jeś
jeśli ono istnieje?
• Złożoność
oność czasowa — liczba wygenerowanych
węzłów.
• Złożoność
oność pamię
pamięciowa — maksymalna liczba
węzłów w pamię
pamięci.
• Optymalność
Optymalność — czy znajduje rozwią
rozwiązanie
o minimalnym koszcie?
Złożoność
oność czasowa i pamię
pamięciowa mierzone w terminach:
49
www.kwmimkm.polsl.pl
zienie drzewa przeszukiwań
• b — maksymalne rozgałę
rozgałęzienie
przeszukiwań;
ść rozwią
• d — głęboko
łębokość
rozwiązania o najmniejszym koszcie;
bokość
ść drzewa przeszukiwań
• m — maks. głę
głęboko
przeszukiwań (moż
(możliwa ∞).
50
www.kwmimkm.polsl.pl
METODY HEURYSTYCZNE („intuicyjne”
intuicyjne”):
• Strategie heurystyczne korzystają
korzystają z dodatkowej,
heurystycznej funkcji oceny stanu
(np.
cego stanu do celu).
np. szacują
szacującej koszt rozwią
rozwiązania od bieżą
bieżącego
METODY
HEURYSTYCZNE
• Używają
ywają heurystyk, „reguł
reguł kciuka”
kciuka” by okreś
określić
lić, któ
którą
część
część drzewa decyzji rozwijać
rozwijać najpierw.
• Heurystyki to reguł
reguły lub metody, któ
które prawie zawsze
gwarantują
gwarantują podję
podjęcie lepszej decyzji.
decyzji.
51
Podział
Podział metod heurystycznych:
www.kwmimkm.polsl.pl
• Heurystyki wskazują
wskazują dobre (wedł
(według pewnego krytekryterium)
pominąć waż
ważne
rium) kierunki poszukiwania, ale mogą
mogą pominąć
rozwią
rozwiązania.
zania.
52
www.kwmimkm.polsl.pl
Kiedy stosować
stosować przeszukiwanie heurystyczne?
• np.
np. systemy ekspertowe – problem nie posiada
jednoznacznego rozwią
rozwiązania ze wzglę
względu na:
• ogó
ogólne - efektywne dla szerokiego spektrum zadań
zadań;
• szczegó
szczególne – wykorzystują
wykorzystują specyficzną
specyficzną wiedzę
wiedzę z dadanej dziedziny.
• niejednoznaczność
niejednoznaczność zadania (celu);
• nieprecyzyjne lub niepewne dane;
• niepeł
niepełne dane.
Zalety poszukiwań
poszukiwań heurystycznych:
• Przeszukiwanie przestrzeni stanó
stanów z funkcją
funkcją oceny –
• uniknię
uniknięcie eksplozji kombinatorycznej;
gdy istnieją
istnieją dokł
dokładne rozwią
rozwiązania, ale wymogi co do
zasobó
zasobów (pamięć
(pamięć,, czas) są
są zbyt duż
duże.
• satysfakcjonują
satysfakcjonujące (quasi(quasi-optymalne, dobre)
rozwią
rozwiązanie czę
często wystarcza;
wystarcza;
Typowe zastosowania:
• pró
próby znalezienia heurystyki dla danego problemu
czę
często prowadzą
prowadzą do lepszego zrozumienia tematu.
53
• problemy jednoosobowe (np.
np. zagadki logiczne);
• zadania optymalizacji (np.
np. znajdowanie najkró
najkrótszej ścież
cieżki);
• gry dwuosobowe;
• systemy dowodzenia twierdzeń
twierdzeń.
54
FUNKCJA HEURYSTYCZNA:
www.kwmimkm.polsl.pl
www.kwmimkm.polsl.pl
s0
h: Ψ → ℜ
s1
gdzie:
s2
s3
Węzeł
zeł s0 ma 3 potomkó
potomków.
Ψ – zbió
zbiór dozwolonych stanó
stanów {s0, s1, ..., sn},
ℜ – liczby rzeczywiste.
Okreś
Określamy koszty utworzenia węzłów s1, s2 i s3;
Funkcja heurystyczna odwzorowuje stany we wspó
współczynnik ich użytecznoś
yteczności.
ci.
Funkcja heurystyczna odwzorowuje stany s ze zbioru
Ψ na wartoś
żące do oceny wzglę
względnych
wartości h(s) służące
kosztó
kosztów lub zyskó
zysków rozwijania dalszej drogi przez
węzeł
zeł odpowiadają
odpowiadający s.
h(s1) = 0.95
h(s2) = 1.3
h(s3) = 0.6
0.6
Z punktu widzenia danej heurystyki s3 jest najlepszym
kandydatem.
kandydatem.
55
www.kwmimkm.polsl.pl
PRZYKŁ
PRZYKŁADY FUNKCJI HEURYSTYCZNYCH:
• Problem komiwojaż
komiwojażera:
era:
- suma odległ
odległości jaka został
została przebyta do osią
osiągnię
gnięcia
danego miasta;
• Kółko i krzyż
krzyżyk:
yk:
- wartość
wartość 1 dla wierszy, kolumn i przeką
przekątnych, w któ
których
jest symbol danego gracza i moż
możliwa jest wygrana.
- wartość
wartość 2 dla wierszy, kolumn i przeką
przekątnych, w któ
których
są 2 symbole i moż
możliwa jest wygrana.
57
56

Podobne dokumenty