metody heurystyczne wykład 1 - politechnika Śląska me3 wyklad 1.pdf · 6 w algorytmice:...

54
www.imio.polsl.pl M M ETODY ETODY H H EURYSTYCZNE EURYSTYCZNE wyk wyk ł ł ad 1 ad 1

Upload: others

Post on 20-Aug-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

www.imio.polsl.pl

1

MMETODYETODYHHEURYSTYCZNEEURYSTYCZNE

wykwykłład 1ad 1

www.imio.polsl.pl

2

prowadzprowadząącycy:: dr dr hab. hab. ininżż. Witold Beluch . Witold Beluch (p. 149)(p. 149)

ME3, ME3, semsem. I. I

wykwykłład: ad: 15h15hlaboratorium: laboratorium: 15h15h

OCENA KOOCENA KOŃŃCOWA: COWA: O=0.65O=0.65kk+0.35L+0.35Lkk -- ocena z kolokwiom koocena z kolokwiom końńcowegocowegoL L -- ocena z laboratoriumocena z laboratorium

obydwie oceny obydwie oceny muszmusząą bybyćć pozytywnepozytywne!!

ZAJZAJĘĘCIACIA KOKOŃŃCZCZĄĄ SISIĘĘ ZALICZENIEMZALICZENIEM

www.imio.polsl.pl

33.. ArabasArabas J., J., WykWykłłady z algorytmady z algorytmóów ewolucyjnychw ewolucyjnych, WNT, Warszawa, 2003, WNT, Warszawa, 2003

2.2. MulawkaMulawka J., J., Systemy ekspertoweSystemy ekspertowe, WNT, Warszawa, 1997, WNT, Warszawa, 1997

11.. RutkowskiRutkowski L. , L. , Metody i techniki sztucznej inteligencjiMetody i techniki sztucznej inteligencji, PWN, Warszawa, 2006, PWN, Warszawa, 2006

4.4. TadeusiewiczTadeusiewicz R., R., Elementarne wprowadzenie do techniki sieci neuronowych Elementarne wprowadzenie do techniki sieci neuronowych z przykz przykłładowymi programamiadowymi programami, , AkadAkad. Oficyna Wyd. PLJ, Warszawa, 1998. Oficyna Wyd. PLJ, Warszawa, 1998

..

LITERATURALITERATURA:

www.imio.polsl.pl

4

WWłłodzisodzisłławaw Duch: Duch: http://http://www.is.umk.plwww.is.umk.pl/~duch//~duch/WykladyWyklady//index.htmlindex.html

http://http://wazniak.mimuw.edu.plwazniak.mimuw.edu.pl//index.php?title=Sztuczna_inteligencjaindex.php?title=Sztuczna_inteligencja --wykwykłład dotyczad dotycząący sztucznej inteligencjicy sztucznej inteligencji

www.imio.polsl.pl

55

HEURYSTYCZNE HEURYSTYCZNE –– CO TO ZNACZY?!CO TO ZNACZY?!

Z greckiego: Z greckiego: heuriskeinheuriskein –– znaleznaleźćźć, odkry, odkryćć. .

Praktyczna, oparta na doPraktyczna, oparta na dośświadczeniu, wiadczeniu, „„inteligentnainteligentna””reguregułła posta postęępowania, ktpowania, któóra ra MOMOŻŻEE drastycznie uprodrastycznie uprośściciććlub lub skrskróócicićć proces rozwiproces rozwiąązywania problemu, gdy metoda zywania problemu, gdy metoda rozwirozwiąązania:zania:

•• nie jest znana;nie jest znana;

•• jest zawijest zawiłła i czasocha i czasochłłonna.onna.

„„HeuristicHeuristic methodsmethods don'tdon't workwork ... ... ifif theythey diddid, , theythey wouldwould be be calledcalled algorithmsalgorithms..””

---- UnknownUnknown

www.imio.polsl.pl

66

W W algorytmicealgorytmice: :

„„NiepeNiepełłnowartonowartośściowyciowy”” algorytm, ktalgorytm, któóry umory umożżliwia liwia znazna--lezienielezienie w akceptowalnym czasie przynajmniej w akceptowalnym czasie przynajmniej „„dostadosta--tecznietecznie dobregodobrego”” przybliprzybliżżonego rozwionego rozwiąązania problemu. zania problemu.

((ChoChoćć nie gwarantuje tego we wszystkich przypadkachnie gwarantuje tego we wszystkich przypadkach).).

Metody heurystyczne naleMetody heurystyczne należążą do podstawowychdo podstawowych narznarzęędzidzisztucznej inteligencjisztucznej inteligencji, cz, częęsto usto użżywane sywane sąą teteżż w rw róóżżnych nych dziadziałłach ach badabadańń operacyjnychoperacyjnych. .

www.imio.polsl.pl

77

•• Strategie Strategie śślepelepe

•• Metoda najszybszego wzrostuMetoda najszybszego wzrostu

•• Najpierw najlepszy (zachNajpierw najlepszy (zachłłanne, A* i IDA*)anne, A* i IDA*)

•• Symulowane wySymulowane wyżżarzaniearzanie

•• Algorytmy genetyczne i algorytmy ewolucyjneAlgorytmy genetyczne i algorytmy ewolucyjne

•• Sztuczne sieci neuronoweSztuczne sieci neuronowe

•• Logika rozmyta i sterowniki rozmyteLogika rozmyta i sterowniki rozmyte

•• Algorytmy mrAlgorytmy mróówkowewkowe

•• Algorytmy immunologiczne ?Algorytmy immunologiczne ?

•• ......

CO BCO BĘĘDZIE?DZIE?

www.imio.polsl.pl

88

•• Wiele zadaWiele zadańń praktycznych mopraktycznych możżna traktowana traktowaćć jako jako konkretne przypadki ogkonkretne przypadki ogóólnego zadania przeszukiwania.lnego zadania przeszukiwania.

•• RozwiRozwiąązania majzania mająą spespełłnianiaćć pewne ustalone pewne ustalone kryteria kryteria i ograniczeniai ograniczenia,,

•• Inteligentne techniki obliczeniowe opracowywane do Inteligentne techniki obliczeniowe opracowywane do przeszukiwania majprzeszukiwania mająą na celu na celu znajdowanie znajdowanie zadowalajzadowalająących rozwicych rozwiąązazańń bez pebez pełłnego przeglnego przegląądaniadaniawszystkich mowszystkich możżliwoliwośści, czyli: ci, czyli:

dokonanie dokonanie niewyczerpujniewyczerpująącegocego przeszukiwaniaprzeszukiwaniaprzestrzeni rozwiprzestrzeni rozwiąązazańń. .

•• Jedna z najwaJedna z najważżniejszych metod informatyki.niejszych metod informatyki.•• CzCzęęstokrostokroćć utoutożżsamiane ze sztucznsamiane ze sztucznąą inteligencjinteligencjąą (AI).(AI).

PRZESZUKIWANIEPRZESZUKIWANIE

www.imio.polsl.pl

99

ŚŚlepe przeszukiwanie:lepe przeszukiwanie:

Strategie Strategie śślepe korzystajlepe korzystająą z informacji dostz informacji dostęępnej pnej jedynie jedynie w definicji problemuw definicji problemu ((nie wykorzystujnie wykorzystująą wiedzy o problemie):wiedzy o problemie):

•• przeszukiwanie wszerz;przeszukiwanie wszerz;•• strategia jednolitego kosztu;strategia jednolitego kosztu;•• przeszukiwanie w gprzeszukiwanie w głąłąb;b;•• przeszukiwanie ograniczone w gprzeszukiwanie ograniczone w głąłąb;b;•• przeszukiwanie iteracyjnie pogprzeszukiwanie iteracyjnie pogłęłębiane;biane;•• przeszukiwanie dwukierunkowe;przeszukiwanie dwukierunkowe;•• ……

www.imio.polsl.pl

1010

Zadania Zadania „„łłatweatwe”” to np.:to np.:•• Sortowanie.Sortowanie.•• Szukanie pierwiastkSzukanie pierwiastkóów wielomianw wielomianóów.w.•• Szukanie maksimum funkcji ciSzukanie maksimum funkcji ciąąggłłej i rej i róóżżniczkowalnej.niczkowalnej.•• MnoMnożżenie macierzy.enie macierzy.•• Sprawdzenie, czy w grafie istnieje cykl Sprawdzenie, czy w grafie istnieje cykl EuleraEulera..

Zadania Zadania „„trudnetrudne”” to np.:to np.:•• Szukanie maksimum funkcji nieciSzukanie maksimum funkcji nieciąąggłłej, ej, niernieróóżżniczkoniczko--

walnejwalnej, , zaszumionejzaszumionej, zmieniaj, zmieniająącej sicej sięę w czasie.w czasie.•• Szukanie najkrSzukanie najkróótszej postaci danej formutszej postaci danej formułły logicznej.y logicznej.•• RozkRozkłładanie liczb na czynniki pierwsze.adanie liczb na czynniki pierwsze.•• Sprawdzenie, czy w grafie istnieje cykl Hamiltona.Sprawdzenie, czy w grafie istnieje cykl Hamiltona.

www.imio.polsl.pl

1111

Cykl Hamiltona:Cykl Hamiltona: cykl w grafie, w cykl w grafie, w ktktóórym karym każżdy wierzchody wierzchołłek grafu ek grafu wystwystęępuje dokpuje dokłładnie jeden raz. adnie jeden raz. (znalezienie cyklu Hamiltona o minimalnej (znalezienie cyklu Hamiltona o minimalnej sumie wag krawsumie wag krawęędzi jest rdzi jest róównowawnoważżne ne rozwirozwiąązaniu zaniu problemu komiwojaproblemu komiwojażżeraera).).

Cykl Cykl EuleraEulera:: cykl w grafie, ktcykl w grafie, któóry przechodzi przez ry przechodzi przez kakażżddąą krawkrawęęddźź niezorientowanego grafu dokniezorientowanego grafu dokłładnie adnie jeden raz jeden raz

(przez w(przez węęzzłłyy momożżee

przechodziprzechodzićć wielokrotnie).wielokrotnie).

www.imio.polsl.pl

1212

ZZŁŁOOŻŻONOONOŚĆŚĆ ALGORYTMUALGORYTMU•• To To iloilośćść zasobzasobóóww niezbniezbęędna do wykonania algorytmu.dna do wykonania algorytmu.•• Mierzona wymaganiami Mierzona wymaganiami czasowymiczasowymi TT i i pamipamięęciowymiciowymi SS..

RzRzęędy zdy złłoożżonoonośści ci (najcz(najczęśęściej spotykane):ciej spotykane):•• 11 –– stastałła;a;•• loglog22nn –– logarytmiczna;logarytmiczna;•• nn –– liniowa;liniowa;•• nn··loglog22nn –– liniowoliniowo--logarytmiczna;logarytmiczna;•• nn22 –– kwadratowa;kwadratowa;•• nn33 –– szesześścienna;cienna;•• nncc –– wielomianowa;wielomianowa;•• ccnn, n!, n! –– wykwykłładnicza.adnicza.

nn –– wielkowielkośćść danych algorytmudanych algorytmu

www.imio.polsl.pl

1313

ZZŁŁOOŻŻONOONOŚĆŚĆ ALGORYTMU ALGORYTMU -- przykprzykłładad

Sortowanie Sortowanie nn obiektobiektóów:w:

•• sprawdzenie wszystkich mosprawdzenie wszystkich możżliwoliwośści: ci: OO((nn!) !) –– wykwykłładniczaadnicza

•• algorytm balgorytm bąąbelkowy: belkowy: OO((nn22) ) –– kwadratowakwadratowa

•• algorytm szybki algorytm szybki -- OO((nn log nlog n) ) -- liniowoliniowo--logarytmicznalogarytmiczna

www.imio.polsl.pl

1414

Za: Za: Zofia Zofia KruczkiewiczKruczkiewicz, Algorytmy i struktury danych, Wyk, Algorytmy i struktury danych, Wykłład 10 ad 10 zofia.kruczkiewicz.staff.iiar.pwr.wroc.plzofia.kruczkiewicz.staff.iiar.pwr.wroc.pl//wykladywyklady/ALG/Algusm10.pdf/ALG/Algusm10.pdf

www.imio.polsl.pl

1515

PROBLEMY NPPROBLEMY NPProblem NPProblem NP ((nondeterministicnondeterministic polynomialpolynomial):):•• problem decyzyjny, dla ktproblem decyzyjny, dla któórego rozwirego rozwiąązanie mozanie możżna na

zweryfikowazweryfikowaćć w czasie wielomianowym. w czasie wielomianowym.

Problem PProblem P00 jest jest NPNP--zupezupełłnyny, gdy:, gdy:1.1. PP00 nalenależży do klasy NP,y do klasy NP,

2.2. KaKażżdy problem z klasy NP da sidy problem z klasy NP da sięę sprowadzisprowadzićć w czasie w czasie wielomianowym do problemu Pwielomianowym do problemu P00..

Problem Problem NPNP--trudnytrudny spespełłnia tylko punkt 2.nia tylko punkt 2.

•• Problemy NPProblemy NP--zupezupełłne maja postane maja postaćć pytania pytania „„czy istniejeczy istnieje””..•• Problemy NPProblemy NP--trudne to zwykle ich optymalizacyjne trudne to zwykle ich optymalizacyjne

wersje (wersje („„znajdznajdźź najmniejszynajmniejszy””).).

www.imio.polsl.pl

1616

Np.Np. zadanie komiwojazadanie komiwojażżera:era:

NajwiNajwięększy problem:kszy problem:eksplozja kombinatorycznaeksplozja kombinatoryczna liczby moliczby możżliwych drliwych dróóg.g.

Liczba moLiczba możżliwych tras:liwych tras:(N (N -- 1)! / 21)! / 2

N=N=100100 –– 1 minuta1 minutaN=N=101101 –– 1h401h40’’N=N=102102 –– 7 dni7 dniN=N=103103 –– 2 lata2 lata

... ...

•• warcaby: warcaby: 10104040 wwęęzzłłóów;w;•• szachy: szachy: 1010120120 wwęęzzłłóów;w;•• go: go: 1010260260 wwęęzzłłóów.w.

www.imio.polsl.pl

17

STRATEGIE STRATEGIE ŚŚLEPELEPE

www.imio.polsl.pl

1818

PRZESZUKIWANIE WSZERZPRZESZUKIWANIE 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.

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.

www.imio.polsl.pl

1919

Metoda ta wykonuje rozwinięcie najpłytszego węzłaspośród tych, które nie były jeszcze rozszerzone

B

A

D E

H I J K

F G

L M N O

C

1

2 3

4 5 6 7

8 9 10 11 12 13 14 15

www.imio.polsl.pl

20

PRZESZUKIWANIE W GPRZESZUKIWANIE W GŁĄŁĄBB

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.

www.imio.polsl.pl

2121

Metoda ta wykonuje rozwinięcie najpłytszego węzłaspośród tych, które nie były jeszcze rozszerzone

B

A

D E

H I J K

F G

L M N O

C

1

2 3

4 5 6 7

8 9 10 11 12 13 14 15

www.imio.polsl.pl

22

STRATEGIA JEDNOLITEGO KOSZTU STRATEGIA JEDNOLITEGO KOSZTU ((UNIFORMUNIFORM--COSTCOST SEARCH) SEARCH)

•• Wykonuje ekspansjWykonuje ekspansjęę wwęęzzłła o a o najmniejszym koszcienajmniejszym koszciespospośśrróód tych, ktd tych, któóre nie byre nie byłły jeszcze rozszerzone.y jeszcze rozszerzone.

•• JeJeśśli koszt wszystkich wli koszt wszystkich węęzzłłóów jest w jest jednakowyjednakowy, to jest , to jest to rto róównowawnoważżne ne szukaniu wszerzszukaniu wszerz..

A B

S

E

C

1

10

515

55

S0

www.imio.polsl.pl

23

STRATEGIA JEDNOLITEGO KOSZTU STRATEGIA JEDNOLITEGO KOSZTU ((UNIFORMUNIFORM--COSTCOST SEARCH) SEARCH)

•• Wykonuje ekspansjWykonuje ekspansjęę wwęęzzłła o a o najmniejszym koszcienajmniejszym koszciespospośśrróód tych, ktd tych, któóre nie byre nie byłły jeszcze rozszerzone.y jeszcze rozszerzone.

•• JeJeśśli koszt wszystkich wli koszt wszystkich węęzzłłóów jest w jest jednakowyjednakowy, to jest , to jest to rto róównowawnoważżne ne szukaniu wszerzszukaniu wszerz..

A B

S

E

C

1

10

515

55

S

A B C1 5 15

www.imio.polsl.pl

24

STRATEGIA JEDNOLITEGO KOSZTU STRATEGIA JEDNOLITEGO KOSZTU ((UNIFORMUNIFORM--COSTCOST SEARCH) SEARCH)

•• Wykonuje ekspansjWykonuje ekspansjęę wwęęzzłła o a o najmniejszym koszcienajmniejszym koszciespospośśrróód tych, ktd tych, któóre nie byre nie byłły jeszcze rozszerzone.y jeszcze rozszerzone.

•• JeJeśśli koszt wszystkich wli koszt wszystkich węęzzłłóów jest w jest jednakowyjednakowy, to jest , to jest to rto róównowawnoważżne ne szukaniu wszerzszukaniu wszerz..

A B

S

E

C

1

10

515

55

A B

S

C5 15

11

E

www.imio.polsl.pl

25

STRATEGIA JEDNOLITEGO KOSZTU STRATEGIA JEDNOLITEGO KOSZTU ((UNIFORMUNIFORM--COSTCOST SEARCH) SEARCH)

•• Wykonuje ekspansjWykonuje ekspansjęę wwęęzzłła o a o najmniejszym koszcienajmniejszym koszciespospośśrróód tych, ktd tych, któóre nie byre nie byłły jeszcze rozszerzone.y jeszcze rozszerzone.

•• JeJeśśli koszt wszystkich wli koszt wszystkich węęzzłłóów jest w jest jednakowyjednakowy, to jest , to jest to rto róównowawnoważżne ne szukaniu wszerzszukaniu wszerz..

A B

S

E

C

1

10

515

55

A B

S

C15

11

E10

EE

www.imio.polsl.pl

26

PRZYKPRZYKŁŁADOWE ADOWE PROBLEMYPROBLEMY

www.imio.polsl.pl

2727

ÓÓSEMKASEMKA

•• PrzestrzePrzestrzeńń stanstanóóww::9!/2 = 181 440 element9!/2 = 181 440 elementóów w

•• StanStan: macierz 3x3.: macierz 3x3.•• OperacjeOperacje: przesuwanie : przesuwanie

(najwygodniej: 4 operacje na pustym polu);(najwygodniej: 4 operacje na pustym polu);

•• RuchyRuchy: zbi: zbióór operatorr operatoróów: w: OOdd, , OOgg, , OOll, , OOpp..

•• ZbiZbióór stanr stanóów wyjw wyjśściowych ciowych SS i koi końńcowych cowych GG. .

•• Problem zdefiniowany jest jako Problem zdefiniowany jest jako trtróójkajka ((SS,,OO,,GG))..•• RozwiRozwiąązaniezanie problemu: problemu:

ciciąąg operatorg operatoróów przeksztaw przekształłcajcająących cych SS →→ GG..

www.imio.polsl.pl

28

KlockówRozmiar

przestrzeni stanówCzas sprawdzenia wszystkich stanów

8 181 440 0.18 s15 0.65·1012 6 dni24 0.5·1025 12 bilionów lat

ÓÓSEMKA...SEMKA...

...zak...zakłładajadająąc sprawdzanie c sprawdzanie 11··101066 stanstanóów na sekundw na sekundęę. .

Algorytmy szukania heurystycznego testuje siAlgorytmy szukania heurystycznego testuje sięę czczęęsto na sto na problemie problemie przesuwankiprzesuwanki. .

Dobra funkcja heurystyczna zmniejsza liczbDobra funkcja heurystyczna zmniejsza liczbęęrozpatrywanych stanrozpatrywanych stanóów do w do <50<50..

KlockówRozmiar

przestrzeni stanówCzas sprawdzenia wszystkich stanówKlocków

Rozmiar przestrzeni stanów

Czas sprawdzenia wszystkich stanów

8 181 440 0.18 s15 0.65·1012 6 dni

KlockówRozmiar

przestrzeni stanówCzas sprawdzenia wszystkich stanów

8 181 440 0.18 s

www.imio.polsl.pl

29

PROBLEM PROBLEM NN KRKRÓÓLOWYCHLOWYCH

• 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.

• Cel dodatkowy: znaleźć wszystkie możliwe rozwiązania.

www.imio.polsl.pl

30

http://http://www.mini.pw.edu.pl/miniwyklady/sieci/hetmany.htmlwww.mini.pw.edu.pl/miniwyklady/sieci/hetmany.html

www.imio.polsl.pl

3131

KRYPTOARYTMETYKAKRYPTOARYTMETYKA

ZamieniZamienićć litery na cyfry.litery na cyfry.

•• Stan poczStan począątkowytkowy: s: słłupek arytmetyczny z literami.upek arytmetyczny z literami.

•• OperatorOperator: zamie: zamieńń jednoznacznie literjednoznacznie literęę na cyfrna cyfręę..

•• CelCel: zamie: zamieńń wszystkie litery tak, by operacje na cyfrach wszystkie litery tak, by operacje na cyfrach sisięę zgadzazgadzałły.y.

FORTYFORTY+ TEN+ TEN+ TEN+ TEN

____________________

SIXTYSIXTY

Np: Np: 2978629786+ 850+ 850+ 850+ 850

____________________

3148631486

RozwiRozwiąązanie: zanie:

www.imio.polsl.pl

3232

ZwiZwiąązzekek AustralijskiAustralijski

KOLOROWANIE MAPYKOLOROWANIE MAPY

„„Gdy w paGdy w paźździerniku 1852 dzierniku 1852 roku roku FrancisFrancis GuthrieGuthrie(by(byłły student y student AugustusaAugustusade de MorganaMorgana) kolorowa) kolorowałłmapmapęę Anglii, zauwaAnglii, zauważżyyłł, , żże cztery kolory wystarcze cztery kolory wystarcząą, , by kaby każżde dwa sde dwa sąąsiadujsiadująące ce hrabstwa rhrabstwa róóżżniniłły siy sięę barwbarwąą. . PomyPomyśślalałł: : Czy cztery barwy wystarczCzy cztery barwy wystarcząą do pokolorowania do pokolorowania dowoldowol--nejnej, , nawet najbardziej skomplikowanej mapy? nawet najbardziej skomplikowanej mapy? ”” (.(...)..)

WiWięęcej:cej:http://http://www.mimuw.edu.plwww.mimuw.edu.pl/delta//delta/artykulyartykuly/delta0604/4barwy.pdf/delta0604/4barwy.pdf

www.imio.polsl.pl

3333

LIS I GLIS I GĘĘSISIFarmer ma przewieFarmer ma przewieźćźć lisa, glisa, gęśęś i ziarno mai ziarno małąłą łłóódkdkąą na na

drugdrugąą stronstronęę rzeki:rzeki:•• w w łłóódce miedce mieśści sici sięę 1 rzecz;1 rzecz;•• lis zjada glis zjada gęśęś, , ggęśęś zjada ziarno.zjada ziarno.

Stan poczStan począątkowytkowy::

pusto...pusto...

16 stan16 stanóóww w tym:w tym:•• 6 niebezpiecznych6 niebezpiecznych•• 10 akceptowalnych10 akceptowalnych

www.imio.polsl.pl

3434

GRAF ROZWIĄZAŃ:

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.

www.imio.polsl.pl

3535

PRAKTYCZNE PROBLEMYPRAKTYCZNE PROBLEMY•• Szukanie optymalnej drogi Szukanie optymalnej drogi ((rutowanierutowanie pakietpakietóów w sieciach w w sieciach

komputerowych, rezerwacje lotnicze komputerowych, rezerwacje lotnicze itpitp).).

•• Projektowanie ukProjektowanie ukłładadóów VLSI w VLSI ((veryvery--largelarge scalescale integrationintegration).).

•• Optymalizacja drogi robota w zmiennym Optymalizacja drogi robota w zmiennym śśrodowisku.rodowisku.•• Autonomiczne urzAutonomiczne urząądzenia ratunkowe.dzenia ratunkowe.•• Plan zajPlan zajęćęć w szkole.w szkole.•• Gry komputerowe.Gry komputerowe.•• Dowodzenie twierdzeDowodzenie twierdzeńń matematycznych.matematycznych.•• Wnioskowanie (znalezienie zaleWnioskowanie (znalezienie zależżnonośści w bazie wiedzy).ci w bazie wiedzy).•• Systemy diagnozy medycznej.Systemy diagnozy medycznej.•• Komunikacja z maszynKomunikacja z maszynąą za pomocza pomocąą jjęęzyka naturalnego.zyka naturalnego.•• Eksploracja danych Eksploracja danych (data (data miningmining).).

www.imio.polsl.pl

3636

PROBLEM PROBLEM I JEGO OPISI JEGO OPIS

www.imio.polsl.pl

3737

DEFINICJA PROBLEMUDEFINICJA PROBLEMU

1.1. Baza danychBaza danych: fakty, stany, mo: fakty, stany, możżliwoliwośści, opis sytuacji. ci, opis sytuacji.

2.2. MoMożżliwe operacjeliwe operacje: zmieniaj: zmieniająą stan bazy danych. stan bazy danych.

3.3. Strategia kontrolnaStrategia kontrolna: okre: okreśśla start, koniec i kolejnola start, koniec i kolejnośćśćoperacji. operacji.

•• CiCiąąg operacji tworzy g operacji tworzy sekwencjsekwencjęę dziadziałłaańń..

•• Z kaZ każżddąą operacjoperacjąą zwizwiąązany jest pewien zany jest pewien kosztkoszt..

•• NaleNależży dy dążążyyćć do do minimalizacjiminimalizacji cacałłkowitychkowitych kosztkosztóóww..

www.imio.polsl.pl

3838

REPREZENTACJA PROBLEMUREPREZENTACJA PROBLEMUZbiZbióór konwencji dotyczr konwencji dotycząących opisu pewnej klasy rzeczy. cych opisu pewnej klasy rzeczy.

11. Reprezentacja . Reprezentacja w przestrzeni stanw przestrzeni stanóóww..22. Reprezentacja . Reprezentacja redukcyjnaredukcyjna..

Odpowiednia reprezentacjaOdpowiednia reprezentacja –– znaczna czznaczna częśćęść rozwirozwiąązania: zania:

•• uwidacznia istotne relacje;uwidacznia istotne relacje;

•• ujawnia wszystkie wiujawnia wszystkie więęzy ograniczajzy ograniczająące moce możżliwe relacje; liwe relacje;

•• jest zrozumiajest zrozumiałła, kompletna, zwia, kompletna, zwięęzzłła; a;

•• momożżna jna jąą efektywnie wykorzystaefektywnie wykorzystaćć w modelu komputerowym.w modelu komputerowym.

Zwykle problemy moZwykle problemy możżna konwertowana konwertowaćć z 1 do 2z 1 do 2(i odwrotnie)(i odwrotnie)

www.imio.polsl.pl

Neamt

Iasi

Vaslui

Hirsova

Eforie

UrziceniBucharest

Giurgiu

Pitesti

FagarasSibiu

Rimnicu Vilcea

CraiovaDobreta

Mehadia

Lugoj

Timisoara

Arad

Zerind

Oradea

151

71

75

140

99

80118

111

70

75120

146

138

97

101

211

85

90

98

142

92

87

86

3939

PRZYKPRZYKŁŁAD PROBLEMU:AD PROBLEMU:

SformuSformułłowanie problemu:owanie problemu:•• stanystany: miasta {: miasta {AradArad, , SibiuSibiu, , BucharestBucharest, , ……};};•• akcjeakcje: przejazdy pomi: przejazdy pomięędzy 2 miastami (np.: dzy 2 miastami (np.: AradArad →→ SibiuSibiu););•• celcel: : AradArad →→ BucharestBucharest;;•• koszt akcjikoszt akcji: odleg: odległłoośćść pomipomięędzy dwoma miastami.dzy dwoma miastami.

www.imio.polsl.pl

4040

Reprezentacja problemu:Reprezentacja problemu:•• stan poczstan począątkowytkowy: : AradArad;;•• stan docelowystan docelowy: Bukareszt;: Bukareszt;•• rozwiazanierozwiazanie: : ciagciag przejazdprzejazdóów w

(np. (np. AradArad→→SibiuSibiu→→ FagarasFagaras→→BukaresztBukareszt););•• koszt rozwikoszt rozwiąązaniazania: : suma km pomisuma km pomięędzy kolejnymi miastami.dzy kolejnymi miastami.

Neamt

Iasi

Vaslui

Hirsova

Eforie

UrziceniBucharest

Giurgiu

Pitesti

FagarasSibiu

Rimnicu Vilcea

CraiovaDobreta

Mehadia

Lugoj

Timisoara

Arad

Zerind

Oradea

151

71

75

140

99

80118

111

70

75

120

146

138

97

101

211

85

90

98

142

92

87

86

Neamt

Iasi

Vaslui

Hirsova

Eforie

UrziceniBucharest

Giurgiu

Pitesti

FagarasSibiu

Rimnicu Vilcea

CraiovaDobreta

Mehadia

Lugoj

Timisoara

Arad

Zerind

Oradea

151

71

75

140

99

80118

111

70

75

120

146

138

97

101

211

85

90

98

142

92

87

86

www.imio.polsl.pl

4141

PRZYKPRZYKŁŁAD PROBLEMU:AD PROBLEMU:MontaMontażż przy uprzy użżyciu robotayciu robota

SformuSformułłowanie problemu:owanie problemu:•• stanystany: rzeczywiste wsp: rzeczywiste wspóółłrzrzęędne kdne kąąttóów w zw w złąłączeniach robota, czeniach robota,

elementy do zmontowania;elementy do zmontowania;•• akcjeakcje: ci: ciąąggłłe ruchy ze ruchy złąłączy robota;czy robota;•• cel:cel: kompletny montakompletny montażż;;•• koszt akcjikoszt akcji: czas monta: czas montażżu.u.

www.imio.polsl.pl

4242

GRAF:GRAF:GG = (= (VV, , EE))

•• VV -- niepusty zbiniepusty zbióór wierzchor wierzchołłkkóóww (w(węęzzłłóów, punktw, punktóów);w);

•• EE -- zbizbióór krawr krawęędzi (dzi (łłukukóów).w).

vv ww

xxzz

yy

skierowaneskierowane(zorientowane)(zorientowane)

vv ww

xxzz

yy

nieskierowanenieskierowane(niezorientowane)(niezorientowane)

UporzUporząądkowana para:dkowana para:

www.imio.polsl.pl

4343

DRZEWA:DRZEWA:grafy, w ktgrafy, w któórych karych każżdy wdy węęzezełł ma tylko ma tylko 1 poprzednika.1 poprzednika.

korzekorzeńń

wierzchowierzchołłekekwewnwewnęętrznytrzny

liliśćść

rr

yy zz

pp

uu ww

qq

ttss

xxvv

•• wierzchowierzchołłek = ek = stanstan•• krawkrawęęddźź = = akcjaakcja

DrzewoDrzewo to graf:to graf:-- nieskierowanynieskierowany;;-- acykliczny;acykliczny;-- spspóójny.jny.

www.imio.polsl.pl

4444

rr

yy zz

pp

uu ww

qq

ttss

xxvv

WysokoWysokośćść wierzchowierzchołłka (ka (hh): ): maksymalna dmaksymalna dłługougośćść drogi od drogi od tego wierzchotego wierzchołłka do lika do liśścia.cia.

WysokoWysokośćść drzewadrzewa:: ddłł. najd. najdłłuużższejszej drogidrogi od korzenia do liod korzenia do liśścia. cia.

GGłęłębokobokośćść (numer poziomu) wierzcho(numer poziomu) wierzchołłka (ka (pp):): ddłługougośćść drogi drogi łąłączcząącej ten wierzchocej ten wierzchołłek z korzeniem.ek z korzeniem.

hh=3,=3, pp=0=0

hh=2,=2, pp=1=1

hh=0,=0, pp=3=3

www.imio.polsl.pl

4545

REPREZENTACJA REDUKCYJNAREPREZENTACJA REDUKCYJNA

NajwaNajważżniejsze nie stany, ale cele (niejsze nie stany, ale cele (opisy problemuopisy problemu).).Elementy skElementy skłładowe:adowe:•• opis poczopis począątkowego problemu;tkowego problemu;•• zbizbióór operatorr operatoróów transformujw transformująących dany problem na cych dany problem na

problemy czproblemy cząąstkowe;stkowe;•• zbizbióór problemr problemóów elementarnych.w elementarnych.Np.: Np.: WieWieżże Hanoie Hanoi: :

KrKrążążki: ki: 11, , 22, , 33, , 44KoKołłki: ki: AA, , BB, , CC. .

Koszt czasowy algorytmu:Koszt czasowy algorytmu: TT((nn)=2)=2nn --11..Przy 1Przy 1··101066stanstanóów/s w/s -- dla dla nn=64=64 : 0.5 miliona lat!: 0.5 miliona lat!

www.imio.polsl.pl

4646

"W wielkiej "W wielkiej śświwiąątyni tyni BenaresBenares w Hanoi, pod kopuw Hanoi, pod kopułąłą, kt, któóra zaznacza ra zaznacza śśrodek rodek śświata, znajduje siwiata, znajduje sięę ppłłytka z brytka z brąązu, na ktzu, na któórej umocowane srej umocowane sąątrzy diamentowe igtrzy diamentowe igłły, wysokie na y, wysokie na łłokieokiećć i cienkie jak talia osy. i cienkie jak talia osy.

Na jednej z tych igieNa jednej z tych igiełł, w momencie stworzenia , w momencie stworzenia śświata, Bwiata, Bóóg umieg umieśściciłł64 kr64 krążążki ze szczerego zki ze szczerego złłota. Najwiota. Najwięększy z nich lekszy z nich leżży na py na płłytce z brytce z brąązu, zu, a pozostaa pozostałłe jeden na drugim, ide jeden na drugim, idąąc malejc malejąąco od najwico od najwięększego do kszego do najmniejszego. Jest to wienajmniejszego. Jest to wieżża a BrahmaBrahma. .

Bez przerwy we dnie i w nocy kapBez przerwy we dnie i w nocy kapłłani przekani przekłładajadająą krkrążążki z jednej ki z jednej diamentowej igdiamentowej igłły na drugy na drugąą, przestrzegaj, przestrzegająąc niewzruszonych praw c niewzruszonych praw BrahmaBrahma. Prawa te chc. Prawa te chcąą, aby kap, aby kapłłan na san na słłuużżbie brabie brałł tylko jeden krtylko jeden krążążek ek na raz i aby umieszczana raz i aby umieszczałł go na jednej z igiego na jednej z igiełł w ten sposw ten sposóób, b, by nigdy nie znalazby nigdy nie znalazłł sisięę pod nim krpod nim krążążek mniejszy. ek mniejszy.

WWóówczas, gdy 64 krwczas, gdy 64 krążążki zostanki zostanąą przeprzełłoożżone z igone z igłły, na kty, na któórej umierej umieśściciłłje Bje Bóóg w momencie stworzenia g w momencie stworzenia śświata, na jednwiata, na jednąą z dwz dwóóch pozostach pozostałłych ych igieigiełł, wie, wieżża, a, śświwiąątynia, bramini rozsypitynia, bramini rozsypiąą sisięę w proch w proch i w jednym oka mgnieniu nasti w jednym oka mgnieniu nastąąpi koniec pi koniec śświata". wiata".

www.imio.polsl.pl

4747

ProblemProblem: : przesuprzesuńń nn klockklockóów z w z AA na na CC..

PodproblemyPodproblemy::•• PrzesuPrzesuńń stosstos nn--11 klockklockóów z w z AA na na BB•• PrzesuPrzesuńń jeden klocek z jeden klocek z AA na na CC•• PrzesuPrzesuńń stos stos nn--11 klockklockóów z w z BB na na CC

Problem elementarnyProblem elementarny: : przesuniprzesunięęcie pojedynczego klocka.cie pojedynczego klocka.

Opis problemuOpis problemu: : •• ile jest klockile jest klockóów na stosie do przesuniw na stosie do przesunięęcia;cia;•• z ktz któórego korego kołłka przesuwaka przesuwaćć;;•• na ktna któóry kory kołłek przesuwaek przesuwaćć..

www.imio.polsl.pl

4848

KRYTERIA OCENY STRATEGII SZUKANIA:KRYTERIA OCENY STRATEGII SZUKANIA:•• ZupeZupełłnonośćść —— czy zawsze znajduje rozwiczy zawsze znajduje rozwiąązanie,zanie,

jejeśśli ono istnieje?li ono istnieje?•• ZZłłoożżonoonośćść czasowaczasowa —— liczba wygenerowanych liczba wygenerowanych

wwęęzzłłóów.w.•• ZZłłoożżonoonośćść pamipamięęciowaciowa —— maksymalna liczba maksymalna liczba

wwęęzzłłóów w pamiw w pamięęci.ci.•• OptymalnoOptymalnośćść —— czy znajduje rozwiczy znajduje rozwiąązanie zanie

o minimalnym koszcie?o minimalnym koszcie?

ZZłłoożżonoonośćść czasowa i pamiczasowa i pamięęciowa mierzone w terminach:ciowa mierzone w terminach:•• bb —— maksymalne rozgamaksymalne rozgałęłęzienie drzewa przeszukiwazienie drzewa przeszukiwańń;;•• dd —— ggłęłębokobokośćść rozwirozwiąązania o najmniejszym koszcie;zania o najmniejszym koszcie;•• mm —— maks. gmaks. głęłębokobokośćść drzewa przeszukiwadrzewa przeszukiwańń (mo(możżliwa liwa ∞∞).).

www.imio.polsl.pl

4949

METODY HEURYSTYCZNEMETODY HEURYSTYCZNE ((„„intuicyjneintuicyjne””))::

•• Strategie heurystyczne korzystajStrategie heurystyczne korzystająą z dodatkowej, z dodatkowej, heurystycznejheurystycznej funkcji oceny stanufunkcji oceny stanu((np. np. szacujszacująącejcej koszt rozwikoszt rozwiąązania od biezania od bieżążącego stanu do celucego stanu do celu).).

•• UUżżywajywająą heurystyk, heurystyk, „„reguregułł kciukakciuka”” by okreby okreśślilićć, , ktktóórrąączczęśćęść drzewa decyzjidrzewa decyzji rozwijarozwijaćć najpierw. najpierw.

•• Heurystyki to reguHeurystyki to regułły lub metody, kty lub metody, któóre re prawie zawszeprawie zawszegwarantujgwarantująą podjpodjęęcie cie lepszejlepszej decyzjidecyzji..

•• Heurystyki wskazujHeurystyki wskazująą dobre (weddobre (wedłług pewnego ug pewnego krytekryte--riumrium) kierunki poszukiwania, ale mog) kierunki poszukiwania, ale mogąą pominpominąćąć waważżne ne rozwirozwiąązaniazania..

www.imio.polsl.pl

5050

PodziaPodziałł metod heurystycznych:metod heurystycznych:

•• ogogóólnelne -- efektywne dla szerokiego spektrum zadaefektywne dla szerokiego spektrum zadańń;;

•• szczegszczegóólnelne –– wykorzystujwykorzystująą specyficznspecyficznąą wiedzwiedzęę z z dada--nejnej dziedziny.dziedziny.

Zalety poszukiwaZalety poszukiwańń heurystycznych:heurystycznych:•• unikniuniknięęcie eksplozjicie eksplozji kombinatorycznej;kombinatorycznej;

•• satysfakcjonujsatysfakcjonująące (quasice (quasi--optymalne, dobre) optymalne, dobre) rozwirozwiąązanie czzanie częęsto sto wystarczawystarcza;;

•• prpróóby znalezienia heurystyki dla danego problemu by znalezienia heurystyki dla danego problemu czczęęsto prowadzsto prowadząą do do lepszego zrozumienialepszego zrozumienia tematu.tematu.

www.imio.polsl.pl

5151

Kiedy stosowaKiedy stosowaćć przeszukiwanie heurystyczne?przeszukiwanie heurystyczne?•• np. systemy ekspertowe np. systemy ekspertowe –– problem nie posiada problem nie posiada

jednoznacznego rozwijednoznacznego rozwiąązania ze wzglzania ze wzglęędu na:du na:•• niejednoznacznoniejednoznacznośćść zadania (celu);zadania (celu);•• nieprecyzyjne lub niepewne dane;nieprecyzyjne lub niepewne dane;•• niepeniepełłne dane.ne dane.

•• Przeszukiwanie przestrzeni stanPrzeszukiwanie przestrzeni stanóów z funkcjw z funkcjąą ocenyoceny ––gdy istniejgdy istniejąą dokdokłładne rozwiadne rozwiąązania, ale wymogi co do zania, ale wymogi co do zasobzasobóów (pamiw (pamięćęć, czas) s, czas) sąą zbyt duzbyt dużże.e.

Typowe zastosowania:Typowe zastosowania:•• problemy jednoosobowe problemy jednoosobowe (np. zagadki logiczne)(np. zagadki logiczne);;•• zadania optymalizacji zadania optymalizacji (np. znajdowanie najkr(np. znajdowanie najkróótszej tszej śściecieżżki);ki);

•• gry dwuosobowe;gry dwuosobowe;•• systemy dowodzenia twierdzesystemy dowodzenia twierdzeńń..

www.imio.polsl.pl

5252

FUNKCJA HEURYSTYCZNA:FUNKCJA HEURYSTYCZNA:

gdzie:gdzie:

ΨΨ –– zbizbióór dozwolonych stanr dozwolonych stanóów w {{ss00, , ss11, ..., , ..., ssnn}},,ℜℜ –– liczby rzeczywiste.liczby rzeczywiste.

hh:: ΨΨ →→ ℜℜ

Funkcja heurystyczna odwzorowuje Funkcja heurystyczna odwzorowuje stanystany we we wspwspóółł--czynnikczynnik ichich uużżytecznoytecznośścici..

Funkcja heurystyczna odwzorowuje stanyFunkcja heurystyczna odwzorowuje stany s s ze zbioru ze zbioru ΨΨ na wartona wartośścici hh((ss)) ssłłuużążące do oceny wzglce do oceny wzglęędnych dnych kosztkosztóów lub zyskw lub zyskóów rozwijania dalszej drogi przez w rozwijania dalszej drogi przez wwęęzezełł odpowiadajodpowiadająący cy ss..

www.imio.polsl.pl

5353

WWęęzezełł ss00 ma ma 3 3 potomkpotomkóóww..

OkreOkreśślamy lamy koszty utworzeniakoszty utworzenia wwęęzzłłóów w ss11, , ss22 i i ss33; ;

h(h(ss11)) = = 0.950.95

h(h(ss22)) == 11..3 3

h(h(ss33)) = 0.= 0.66Z punktu widzenia danej heurystykiZ punktu widzenia danej heurystyki ss33 jest najlepszym jest najlepszym kandydatemkandydatem..

ss22 ss33

ss00

ss11

www.imio.polsl.pl

5454

PRZYKPRZYKŁŁADY FUNKCJI HEURYSTYCZNYCH:ADY FUNKCJI HEURYSTYCZNYCH:

•• Problem komiwojaProblem komiwojażżeraera: : -- suma odlegsuma odległłoośści jaka zostaci jaka zostałła przebyta do osia przebyta do osiąągnignięęcia cia

danego miasta;danego miasta;

•• KKóółłko i krzyko i krzyżżykyk: :

-- wartowartośćść 11 dla wierszy, kolumn i przekdla wierszy, kolumn i przekąątnych, w kttnych, w któórych rych jest symbol danego gracza i mojest symbol danego gracza i możżliwa jest wygrana.liwa jest wygrana.

-- wartowartośćść 22 dla wierszy, kolumn i przekdla wierszy, kolumn i przekąątnych, w kttnych, w któórych rych ssąą 2 symbole i mo2 symbole i możżliwa jest wygrana.liwa jest wygrana.