M4, sem.. VIII MTODY HURYTYZN wykład prowadzący: dr inż. Witold eluch (p. 49) konsultacje: poniedziałek 8 wtorek 4-3 -0 00 3 2 wykład: h ćwiczenia: h ON KOŃOW: 6% - ON Z GZMINU 3% - ON Z ĆWIZŃ obydwie oceny muszą być pozytywne! ZJĘI KOŃZ ZĄ IĘ GZMINM LITRTUR:. rabas J., Wykłady z algorytmów ewolucyjnych,, WNT, Warszawa, 2003 2. Michalewicz Z., lgorytmy genetyczne + struktury danych = programy ewolucyjne,, WNT, Warszawa, 996 (992) 3. Rutkowski L., Metody i techniki sztucznej inteligencji,, PWN, Warszawa, 2006 4. Tadeusiewicz R., lementarne wprowadzenie do techniki sieci neuronowych z przykładowymi programami, kad.. Oficyna Wyd. PLJ, Warszawa, 998. olc L., ytowski J., Metody przeszukiwania heurystycznego.. Tom,2. PWN, Warszawa, 989, 99. 3 4 LITRTUR: Włodzisław Duch: http://www.phys.uni.torun.pl www.phys.uni.torun.pl/~duch/ /~duch/wyklady/. olc L., ytowski J., Metody przeszukiwania heurystycznego. Tom,2. PWN, Warszawa, 989, 99. 6
HURYTYZN O TO ZNZY?! Heuristic methods don't work... if they did, they would be called algorithms. -- Unknown Z greckiego: heuriskein znaleźć, odkryć. W algorytmice: Niepełnowartościowy algorytm, który umożliwia znalezienie w akceptowalnym czasie przynajmniej dostatecznie dobrego przybliżonego rozwiązania problemu. (hoć nie gwarantuje tego we wszystkich przypadkach). Praktyczna, oparta na doświadczeniu, inteligentna reguła postępowania, która MOŻ drastycznie uprościć lub skrócić proces rozwiązywania problemu, gdy metoda rozwiązania: nie jest znana; jest zawiła i czasochłonna. 7 Metody heurystyczne należą do podstawowych narzędzi sztucznej inteligencji, często używane są też w różnych działach badań operacyjnych. 8 O ĘDZI? trategie ślepe Metoda najszybszego wzrostu Najpierw najlepszy (zachłanne, * i ID*) ymulowane wyżarzanie lgorytmy genetyczne i algorytmy ewolucyjne ztuczne sieci neuronowe Logika rozmyta i sterowniki rozmyte lgorytmy mrówkowe lgorytmy immunologiczne?... 9 PRZZU- KIWNI 0 Jedna z najważniejszych metod informatyki. zęstokroć utożsamiane ze sztuczną inteligencją (I). Ślepe przeszukiwanie: Wiele zadań praktycznych można traktować jako konkretne przypadki ogólnego zadania przeszukiwania. Rozwiązania mają spełniać pewne ustalone kryteria i ograniczenia, Inteligentne techniki obliczeniowe opracowywane do przeszukiwania mają na celu znajdowanie zadowalających rozwiązań bez pełnego przeglądania wszystkich możliwości, czyli: dokonanie niewyczerpującego przeszukiwania przestrzeni rozwiązań. trategie ślepe korzystają z informacji dostępnej jedynie w definicji problemu (nie wykorzystują wiedzy o problemie): przeszukiwanie wszerz; strategia jednolitego kosztu; przeszukiwanie w głąb; przeszukiwanie ograniczone w głąb; przeszukiwanie iteracyjnie pogłębiane; przeszukiwanie dwukierunkowe; 2 2
Zadania łatwe to np.: ortowanie. zukanie pierwiastków wielomianów. zukanie maksimum funkcji ciągłej i różniczkowalnej. Mnożenie macierzy. prawdzenie, czy w grafie istnieje cykl ulera. ykl ulera: cykl w grafie, który przechodzi przez każdą krawędź niezorientowanego grafu dokładnie jeden raz (przez węzły może przechodzić wielokrotnie). Zadania trudne to np.: zukanie maksimum funkcji nieciągłej, nieróżniczkowalnej, zaszumionej, zmieniającej się w czasie. zukanie najkrótszej postaci danej formuły logicznej. Rozkładanie liczb na czynniki pierwsze. ykl Hamiltona: cykl w grafie, w którym każdy wierzchołek grafu występuje dokładnie jeden raz. (znalezienie cyklu Hamiltona o minimalnej sumie wag krawędzi jest równoważne rozwiązaniu problemu komiwojażera). prawdzenie, czy w grafie istnieje cykl Hamiltona. 3 4 ZŁOŻONOŚĆ LGORYTMU To ilość zasobów niezbędna do wykonania algorytmu. Mierzona wymaganiami czasowymi T i pamięciowymi. Rzędy złożoności (najczęściej spotykane): stała; log 2 n logarytmiczna; n liniowa; n log 2 n liniowo-logarytmiczna; n 2 kwadratowa; n 3 sześcienna; n c wielomianowa; c n, n! wykładnicza. ZŁOŻONOŚĆ LGORYTMU - przykład ortowanie n obiektów: algorytm bąbelkowy: O(n 2 ) kwadratowa; algorytm szybki - O(n log n) - liniowo-logarytmiczna; sprawdzenie wszystkich możliwości: O(n!) wykładnicza. n wielkość danych algorytmu 6 PROLMY NP Problem NP (nondeterministic polynomial): problem decyzyjny, dla którego rozwiązanie można zweryfikować w czasie wielomianowym. Problem P 0 jest NP-zupełny, gdy:. P 0 należy do klasy NP, 2. Każdy problem z klasy NP da się sprowadzić w czasie wielomianowym do problemu P 0. Problem NP-trudny spełnia tylko punkt 2. Największy problem: eksplozja kombinatoryczna liczby możliwych dróg. Np. zadanie komiwojażera: Liczba możliwych tras: (N - )! / 2 N=00 minuta N=0 h40 N=02 7 dni N=03 2 lata... Problemy NP-zupełne maja postać pytania czy istnieje. Problemy NP-trudne to zwykle ich optymalizacyjne wersje ( znajdź najmniejszy ). 7 warcaby: 0 40 węzłów; szachy: 0 20 węzłów; go: 0 260 węzłów. 8 3
PRZZUKIWNI WZRZ TRTGI ŚLP. 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óć NIPOWODZNI. 3. Jeżeli n jest rozwiązaniem, zatrzymaj i podaj ścieżkę od stanu początkowego do n - zwróć UK. 4. W przeciwnym przypadku usuń nz Pi 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.. Wróć do kroku 2. 9 20 Metoda ta wykonuje rozwinięcie najpłytszego węzła spośród tych, które nie były jeszcze rozszerzone PRZZUKIWNI W GŁĄ 2 3 4 6 7 D F G 8 9 0 2 3 4 H I J K L M N O. 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óć NIPOWODZNI. 3. Jeżeli n jest rozwiązaniem, zatrzymaj i podaj ścieżkę od stanu początkowego do n - zwróć UK. 4. W przeciwnym przypadku usuń nz Pi 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.. Wróć do kroku 2. 2 22 Metoda ta wykonuje rozwinięcie najgłębszego węzła spośród tych, które nie były jeszcze rozszerzone D H I J K 2 9 3 6 0 3 4 7 8 2 4 F G L M N O TRTGI JDNOLITGO KOZTU (UNIFORM-OT RH) Wykonuje ekspansję węzła o najmniejszym koszcie spośród tych, które nie były jeszcze rozszerzone. Jeśli koszt wszystkich węzłów jest jednakowy, to jest to równoważne szukaniu wszerz. 0 0 23 24 4
TRTGI JDNOLITGO KOZTU (UNIFORM-OT RH) Wykonuje ekspansję węzła o najmniejszym koszcie spośród tych, które nie były jeszcze rozszerzone. Jeśli koszt wszystkich węzłów jest jednakowy, to jest to równoważne szukaniu wszerz. 0 TRTGI JDNOLITGO KOZTU (UNIFORM-OT RH) Wykonuje ekspansję węzła o najmniejszym koszcie spośród tych, które nie były jeszcze rozszerzone. Jeśli koszt wszystkich węzłów jest jednakowy, to jest to równoważne szukaniu wszerz. 0 2 26 TRTGI JDNOLITGO KOZTU (UNIFORM-OT RH) Wykonuje ekspansję węzła o najmniejszym koszcie spośród tych, które nie były jeszcze rozszerzone. Jeśli koszt wszystkich węzłów jest jednakowy, to jest to równoważne szukaniu wszerz. 0 0 PRZYKŁDOW PROLMY 27 28 ÓMK ÓMK... Przestrzeń stanów: 9!/2 = 8 440 elementów tan: macierz 3x3. Operacje: przesuwanie (najwygodniej: 4 operacje na pustym polu); Ruchy: zbiór operatorów: O d, O g, O l, O p. Zbiór stanów wyjściowych i końcowych G. Problem zdefiniowany jest jako trójka (,O,G). Rozwiązanie problemu: lgorytmy szukania heurystycznego testuje się często na problemie przesuwanki. Klocków 0. 0 2 2 bilionów lat ciąg operatorów przekształcających G. 29 30 8 24 Rozmiar przestrzeni stanów 8 440 0.6 0 2 zas sprawdzenia wszystkich stanów 0.8 s 6 dni...zakładając sprawdzanie 0 6 stanów na sekundę. Dobra funkcja heurystyczna zmniejsza liczbę rozpatrywanych stanów do <0.
PROLM N KRÓLOWYH http://www.mini.pw.edu.pl/miniwyklady/sieci/hetmany.html tan początkowy: dowolny układ N królowych. Operator: przestaw królową na jedno z pustych pól. el: ustawienie N królowych tak, by żadna nie atakowała pozostałych. el dodatkowy: znaleźć wszystkie możliwe rozwiązania. 3 32 KRYPTORYTMTYK KOLOROWNI MPY Zamienić litery na cyfry. tan początkowy: słupek arytmetyczny z literami. Operator: zamień jednoznacznie literę na cyfrę. el: zamień wszystkie litery tak, by operacje na cyfrach się zgadzały. Np: FORTY + TN + TN IXTY Rozwiązanie: 29786 + 80 + 80 3486 33 Gdy w październiku 82 roku Francis Guthrie (były student ugustusa de Morgana) kolorował mapę nglii, zauważył, że cztery kolory wystarczą, by każde dwa sąsiadujące hrabstwa różniły się barwą. Związek ustralijski Pomyślał: zy cztery barwy wystarczą do pokolorowania dowolnej, nawet najbardziej skomplikowanej mapy? (...) Więcej: http://www.mimuw.edu.pl/delta/artykuly/delta0604/4barwy.pdf 34 LI I GĘI Farmer ma przewieźć lisa, gęś i ziarno małą łódką na drugą stronę rzeki: w łódce mieści się rzecz; lis zjada gęś, gęś zjada ziarno. tan początkowy: GRF ROZWIĄZŃ: 6 stanów w tym: 6 niebezpiecznych 0 akceptowalnych pusto... 3 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. 36 6
PRKTYZN PROLMY zukanie optymalnej drogi (rutowanie pakietów w sieciach komputerowych, rezerwacje lotnicze itp). Projektowanie układów VLI (very-large scale integration). Optymalizacja drogi robota w zmiennym środowisku. utonomiczne urządzenia ratunkowe. Plan zajęć w szkole. Gry komputerowe. Dowodzenie twierdzeń matematycznych. Wnioskowanie (znalezienie zależności w bazie wiedzy). ystemy diagnozy medycznej. Komunikacja z maszyną za pomocą języka naturalnego. ksploracja danych (data mining). PROLM I JGO OPI... 37 38 DFINIJ PROLMU. aza danych: fakty, stany, możliwości, opis sytuacji. 2. Możliwe operacje: zmieniają stan bazy danych. 3. trategia kontrolna: określa start, koniec i kolejność operacji. iąg operacji tworzy sekwencję działań. Z każdą operacją związany jest pewien koszt. Należy dążyć do minimalizacji całkowitych kosztów. 39 RPRZNTJ PROLMU Zbiór konwencji dotyczących opisu pewnej klasy rzeczy. Odpowiednia reprezentacja znaczna część rozwiązania: uwidacznia istotne relacje; ujawnia wszystkie więzy ograniczające możliwe relacje; jest zrozumiała, kompletna, zwięzła; można ją efektywnie wykorzystać w modelu komputerowym.. Reprezentacja w przestrzeni stanów. 2. Reprezentacja redukcyjna. Zwykle problemy można konwertować z do 2 (i odwrotnie) 40 PRZYKŁD PROLMU: formułowanie problemu: stany: miasta {rad, ibiu, ucharest, }; akcje: przejazdy pomiędzy 2 miastami (np.: rad ibiu); cel: rad ucharest; Reprezentacja problemu: stan początkowy: rad; stan docelowy: ukareszt; rozwiazanie: ciag przejazdów (np. rad ibiu Fagaras ukareszt); koszt rozwiązania: suma km pomiędzy kolejnymi miastami. koszt akcji: odległość pomiędzy dwoma miastami. 4 42 7
PRZYKŁD PROLMU: Montaż przy użyciu robota GRF: Uporządkowana para: G = (V, ) V - niepusty zbiór wierzchołków (węzłów, punktów); -zbiór krawędzi (łuków). v w v w formułowanie problemu: stany: rzeczywiste współrzędne kątów w złączeniach robota, elementy do zmontowania; akcje: ciągłe ruchy złączy robota; cel: kompletny montaż; koszt akcji: czas montażu. 43 44 x y skierowane (zorientowane) z x y nieskierowane (niezorientowane) z DRZW: grafy, w których każdy węzeł ma tylko poprzednika. v u p x Drzewo to graf: - nieskierowany; - acykliczny; r w y q s z t korzeń wierzchołek wewnętrzny węzeł terminalny (liść) wierzchołek = stan krawędź = akcja Wysokość wierzchołka (h): maksymalna długość drogi od tego wierzchołka do liścia. Wysokość drzewa: dł. najdłuższej drogi od korzenia do liścia. Głębokość (numer poziomu) wierzchołka (p): długość drogi łączącej ten wierzchołek z korzeniem. -spójny. 4 46 v u p x r w y h=3, p=0 q s z h=2, p= t h=0, p=3 RPRZNTJ RDUKYJN Najważniejsze nie stany, ale cele (opisy problemu). lementy składowe: opis początkowego problemu; zbiór operatorów transformujących dany problem na problemy cząstkowe; zbiór problemów elementarnych. Np.: Wieże Hanoi: Koszt czasowy algorytmu: T(n)=2 n -. Krążki:, 2, 3, 4 Kołki:,,. Przy 0 6 stanów/s - dla n=64 : 0. miliona lat! 47 "W wielkiej świątyni enares w Hanoi, pod kopułą, która zaznacza środek świata, znajduje się płytka z brązu, na której umocowane są trzy diamentowe igły, wysokie na łokieć i cienkie jak talia osy. Na jednej z tych igieł, w momencie stworzenia świata, óg umieścił 64 krążki ze szczerego złota. Największy z nich leży na płytce z brązu, a pozostałe jeden na drugim, idąc malejąco od największego do najmniejszego. Jest to wieża rahma. ez przerwy we dnie i w nocy kapłani przekładają krążki z jednej diamentowej igły na drugą, przestrzegając niewzruszonych praw rahma. Prawa te chcą, aby kapłan na służbie brał tylko jeden krążek na raz i aby umieszczał go na jednej z igieł w ten sposób, by nigdy nie znalazł się pod nim krążek mniejszy. Wówczas, gdy 64 krążki zostaną przełożone z igły, na której umieścił je óg w momencie stworzenia świata, na jedną z dwóch pozostałych igieł, wieża, świątynia, bramini rozsypią się w proch i w jednym oka mgnieniu nastąpi koniec świata". 48 8
Problem: przesuń n klocków z na. Podproblemy: Przesuń stos n- klocków z na Przesuń jeden klocek z na Przesuń stos n- klocków z na http://chemeng.p.lodz.pl/zylla/games/hanoi3p.html Problem elementarny: przesunięcie pojedynczego klocka. Opis problemu: ile jest klocków na stosie do przesunięcia; z którego kołka przesuwać; na który kołek przesuwać. 49 0 KRYTRI ONY TRTGII ZUKNI: Zupełność czy zawsze znajduje rozwiązanie, jeśli ono istnieje? Złożoność czasowa liczba wygenerowanych węzłów. Złożoność pamięciowa maksymalna liczba węzłów w pamięci. Optymalność czy znajduje rozwiązanie o minimalnym koszcie? Złożoność czasowa i pamięciowa mierzone w terminach: b maksymalne rozgałęzienie drzewa przeszukiwań; d głębokość rozwiązania o najmniejszym koszcie; m maks. głębokość drzewa przeszukiwań (możliwa ). MTODY HURYTYZN 2 MTODY HURYTYZN: trategie heurystyczne korzystają z dodatkowej, heurystycznej funkcji oceny stanu (np. szacującej koszt rozwiązania od bieżącego stanu do celu). Podział metod heurystycznych: ogólne - efektywne dla szerokiego spektrum zadań; szczególne wykorzystują specyficzną wiedzę z danej dziedziny. Używają heurystyk, reguł kciuka by określić, którą część drzewa decyzji rozwijać najpierw. Heurystyki to reguły lub metody, które prawie zawsze gwarantują podjęcie lepszej decyzji. Heurystyki wskazują dobre (według pewnego kryterium) kierunki poszukiwania, ale mogą pominąć ważne rozwiązania. 3 Zalety poszukiwań heurystycznych: uniknięcie eksplozji kombinatorycznej; satysfakcjonujące (quasi-optymalne, dobre) rozwiązanie często wystarcza; próby znalezienia heurystyki dla danego problemu często prowadzą do lepszego zrozumienia tematu. 4 9
Kiedy stosować przeszukiwanie heurystyczne? ystemy ekspertowe problem nie posiada jednoznacznego rozwiązania ze względu na: niejednoznaczność zadania (celu); nieprecyzyjne lub niepewne dane; niepełne dane. Przeszukiwanie przestrzeni stanów z funkcją oceny gdy istnieją dokładne rozwiązania ale wymogi co do zasobów (pamięć, czas) są zbyt duże. Typowe zastosowania: problemy jednoosobowe (np. zagadki logiczne); zadania optymalizacji (np. znajdowanie najkrótszej ścieżki); gry dwuosobowe; FUNKJ HURYTYZN: h: Ψ R gdzie: Ψ zbiór dozwolonych stanów {s 0, s,..., s n }, R liczby rzeczywiste. Funkcja heurystyczna odwzorowuje stany we współczynnik ich użyteczności. Funkcja heurystyczna odwzorowuje stany s ze zbioru Ψ na wartości h(s) służące do oceny względnych kosztów lub zysków rozwijania dalszej drogi przez węzeł odpowiadający s. systemy dowodzenia twierdzeń. 6 s s 0 Węzeł s 0 ma 3 potomków. s 2 s 3 PRZYKŁDY FUNKJI HURYTYZNYH: Problem komiwojażera: suma odległości jaka została przebyta do osiągnięcia danego miasta. Określamy koszty utworzenia węzłów s, s 2 i s 3 ; h(s ) = 0.9 h(s 2 ) =.3 h(s 3 ) = 0.6 Z punktu widzenia danej heurystyki s 3 jest najlepszym kandydatem. 7 Kółko i krzyżyk: -wartość dla wierszy, kolumn i przekątnych, w których jest symbol danego gracza i możliwa jest wygrana. -wartość 2 dla wierszy, kolumn i przekątnych, w których są 2 symbole i możliwa jest wygrana. 8 0