METODY HEURYSTYCZNE wykład 1

Podobne dokumenty
METODY HEURYSTYCZNE wykład 1

METODY HEURYSTYCZNE wykład 1

METODY. cy: dr inż.. Witold Beluch (p. 149) 15h laboratorium: 15h. prowadzący LITERATURA: Duch: CZĄ SIĘ EGZAMINEM

METODY HEURYSTYCZNE wykład 1

METODY HEURYSTYCZNE wykład 1

Metody przeszukiwania

METODY HEURYSTYCZNE wykład 1


METODY LITERATURA: prowadzący (p. 149) 15h laboratorium: 15h CZĄ SIĘ ZALICZENIEM HEURYSTYCZNE CO TO ZNACZY?! HEURYSTYCZNE. Heuristic. O=0.65k+0.

Rozwiązywanie problemów metodą przeszukiwania

Raport z projektu. Przedmiot: Algorytmy i struktury danych 1 Projekt: Wieża Hanoi Autor: Wojciech Topolski

Heurystyczne metody przeszukiwania

Heurystyki. Strategie poszukiwań

Marcel Stankowski Wrocław, 23 czerwca 2009 INFORMATYKA SYSTEMÓW AUTONOMICZNYCH

Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych

Algorytmy. wer Wojciech Myszka 30 listopada 2008

Elementy kognitywistyki II:

ĆWICZENIE 1: Przeszukiwanie grafów cz. 1 strategie ślepe

Struktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott

Wybrane podstawowe rodzaje algorytmów

Metody algortmiczne (Algorytmy Część IV)

Wstęp do Sztucznej Inteligencji

Matematyczne Podstawy Informatyki

Wprowadzenie do Sztucznej Inteligencji

Struktury danych i złozoność obliczeniowa. Prof. dr hab. inż. Jan Magott

SZTUCZNA INTELIGENCJA

Teoria grafów dla małolatów. Andrzej Przemysław Urbański Instytut Informatyki Politechnika Poznańska

LABORATORIUM 2: Przeszukiwanie grafów cz. 2 strategie heurystyczne

Działanie algorytmu oparte jest na minimalizacji funkcji celu jako suma funkcji kosztu ( ) oraz funkcji heurystycznej ( ).

Podstawy Sztucznej Inteligencji (PSZT)

Wykład 3. Złożoność i realizowalność algorytmów Elementarne struktury danych: stosy, kolejki, listy

Podstawy sztucznej inteligencji

EGZAMIN - Wersja A. ALGORYTMY I STRUKTURY DANYCH Lisek89 opracowanie kartki od Pani dr E. Koszelew

Elementy kognitywistyki II: Sztuczna inteligencja. WYKŁAD V: Agent wciąż szuka rozwiązania (choć już nie na ślepo)

Sztuczna Inteligencja i Systemy Doradcze

Algorytmy Równoległe i Rozproszone Część V - Model PRAM II

Algorytmiczna teoria grafów

Porównanie czasów działania algorytmów sortowania przez wstawianie i scalanie

Struktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott

PRZEWODNIK PO PRZEDMIOCIE

LABORATORIUM 7: Problem komiwojażera (TSP) cz. 2

PRZEWODNIK PO PRZEDMIOCIE

Sztuczna Inteligencja i Systemy Doradcze

KARTA MODUŁU KSZTAŁCENIA

PRZEWODNIK PO PRZEDMIOCIE

Algorytmy i str ruktury danych. Metody algorytmiczne. Bartman Jacek

Wyznaczanie strategii w grach

ĆWICZENIE 1: Przeszukiwanie grafów strategie heurystyczne

Złożoność problemów. 1 ruch na sekundę czas wykonania ok lat 1 mln ruchów na sekundę czas wykonania ok.

Algorytmy i struktury danych

Metoda tabel semantycznych. Dedukcja drogi Watsonie, dedukcja... Definicja logicznej konsekwencji. Logika obliczeniowa.

Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle

Struktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott

Planowanie drogi robota, algorytm A*

Ćwiczenie 1 Planowanie trasy robota mobilnego w siatce kwadratów pól - Algorytm A

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2012/2013

Złożoność obliczeniowa klasycznych problemów grafowych

Struktura danych. Sposób uporządkowania informacji w komputerze.

Przykłady grafów. Graf prosty, to graf bez pętli i bez krawędzi wielokrotnych.

operacje porównania, a jeśli jest to konieczne ze względu na złe uporządkowanie porównywanych liczb zmieniamy ich kolejność, czyli przestawiamy je.

Metody Programowania

Teoria obliczeń i złożoność obliczeniowa

Wstęp do programowania. Drzewa. Piotr Chrząstowski-Wachtel

Optymalizacja. Wybrane algorytmy

Złożoność obliczeniowa zadania, zestaw 2

Sztuczna inteligencja w programowaniu gier

Podstawy Informatyki. Sprawność algorytmów

prowadzący dr ADRIAN HORZYK /~horzyk tel.: Konsultacje paw. D-13/325

Ogólne wiadomości o grafach

Elementy kognitywistyki II: Sztuczna inteligencja. WYKŁAD III: Problemy agenta

Zofia Kruczkiewicz, Algorytmu i struktury danych, Wykład 14, 1

KARTA MODUŁU KSZTAŁCENIA

Metody Optymalizacji: Przeszukiwanie z listą tabu

Algorytmika Problemów Trudnych

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 9 Rekurencja

TEORETYCZNE PODSTAWY INFORMATYKI

Zadania laboratoryjne i projektowe - wersja β

Problemy optymalizacyjne - zastosowania

PRZEWODNIK PO PRZEDMIOCIE

Metody Sztucznej Inteligencji Methods of Artificial Intelligence. Elektrotechnika II stopień ogólno akademicki. niestacjonarne. przedmiot kierunkowy

Programowanie dynamiczne i algorytmy zachłanne

ĆWICZENIE NR 1 WPROWADZENIE DO INFORMATYKI

Wykład 10 Grafy, algorytmy grafowe

Zadanie 1 Przygotuj algorytm programu - sortowanie przez wstawianie.

Programowanie strukturalne

Jeszcze o algorytmach

Metody teorii gier. ALP520 - Wykład z Algorytmów Probabilistycznych p.2

znalezienia elementu w zbiorze, gdy w nim jest; dołączenia nowego elementu w odpowiednie miejsce, aby zbiór pozostał nadal uporządkowany.

3. Podaj elementy składowe jakie powinna uwzględniać definicja informatyki.

Zaawansowane programowanie

Techniki optymalizacji

Tworzenie gier na urządzenia mobilne

WPROWADZENIE DO SZTUCZNEJ INTELIGENCJI

Egzaminy i inne zadania. Semestr II.

TEORETYCZNE PODSTAWY INFORMATYKI

Wykłady z Matematyki Dyskretnej

INFORMATYKA SORTOWANIE DANYCH.

Egzamin, AISDI, I termin, 18 czerwca 2015 r.

Złożoność algorytmów. Wstęp do Informatyki

Transkrypt:

1 METODY HEURYSTYCZNE wykład 1

ME3, sem.. I prowadzący cy: dr inż.. Witold Beluch (p. 149) wykład: 15h laboratorium: 15h ZAJĘCIA KOŃCZ CZĄ SIĘ EGZAMINEM OCENA KOŃCOWA: O=0.65E+0.35L E - ocena z egzaminu L - ocena z laboratorium obydwie oceny muszą być pozytywne! 2

LITERATURA: 1. Arabas J., Wykłady z algorytmów w ewolucyjnych,, WNT, Warszawa, 2003 2. Michalewicz Z., Algorytmy genetyczne + struktury danych = programy ewolucyjne,, WNT, Warszawa, 1996 (1992) 3. Rutkowski L., Metody i techniki sztucznej inteligencji,, PWN, Warszawa, 2006 4. Tadeusiewicz R., Elementarne wprowadzenie do techniki sieci neuronowych z przykładowymi programami, Akad.. Oficyna Wyd. PLJ, Warszawa, 1998 5. Bolc L., Cytowski J., Metody przeszukiwania heurystycznego.. Tom 1,2. PWN, Warszawa, 1989, 1991. 3

Włodzisław Duch: http://www.phys.uni.torun.pl www.phys.uni.torun.pl/~duch/ /~duch/wyklady/ 4

5 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

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

7 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?... 8

9 PRZESZU- KIWANIE

10 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ń.

11 Ś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. 12

13 Eulera: cykl w grafie, który przechodzi przez każdą krawędź niezorientowanego grafu dokładnie jeden raz Cykl Eulera (przez węzły w y może e przechodzić wielokrotnie). Hamiltona: cykl w grafie, w którym każdy wierzchołek ek grafu występuje dokładnie jeden raz. Cykl Hamiltona (znalezienie cyklu Hamiltona o minimalnej sumie wag krawędzi jest równowar wnoważne ne rozwiązaniu zaniu problemu komiwojażera era).

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! 14

15 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

16 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 ). 17

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

19 STRATEGIE ŚLEPE

PRZESZUKIWANIE WSZERZ 20 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 21

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

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 0

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 S A B C 1 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 C 5 15

26 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

27 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: 28

ÓSEMKA... 29 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. 30

31 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 32

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 dowolnej, nawet najbardziej skomplikowanej mapy? (...)..) Więcej: http://www.mimuw.edu.pl www.mimuw.edu.pl/delta/ /delta/artykuly/delta0604/4barwy.pdf 33

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 34

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

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). 36

37 PROBLEM I JEGO OPIS

DEFINICJA PROBLEMU 38 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) 39

PRZYKŁAD PROBLEMU: Sformułowanie owanie problemu: stany: : miasta {Arad{ Arad, Sibiu, Bucharest, }; akcje: : przejazdy pomiędzy 2 miastami (np( np.: Arad Sibiu); cel: Arad Bucharest; koszt akcji: : odległość pomiędzy dwoma miastami. 40

Reprezentacja problemu: stan początkowy tkowy: Arad; stan docelowy: : Bukareszt; rozwiazanie: ciag przejazdów koszt rozwiązania (np. Arad Sibiu Sibiu Fagaras Bukareszt Bukareszt); zania: suma km pomiędzy kolejnymi miastami. 41

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

43 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 44

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 45

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! 46

"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". 47

Problem: przesuń n klocków w z A na C. 48 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ć.

http://chemeng.p.lodz.pl chemeng.p.lodz.pl/zylla/games/hanoi3p.html 49

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 ). 50

51 METODY HEURYSTYCZNE

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

Podział metod heurystycznych: 53 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 zadania optymalizacji (np gry dwuosobowe; systemy dowodzenia twierdzeń. np.. zagadki logiczne); np.. znajdowanie najkrótszej ścieżki); 54

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

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

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