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