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