SZTUCZNA INTELIGENCJA ARTIFICIAL INTELLIGENCE

Slides:



Advertisements
Podobne prezentacje
ANALIZA SIECIOWA PRZEDSIĘWZIĘĆ konstrukcja harmonogramu
Advertisements

Instrukcje - wprowadzenie
Uczenie ze wzmocnieniem
Grażyna Mirkowska PJWSTK 15 listopad 2000
Sztuczna Inteligencja Szukanie heurystyczne I
Inteligencja Obliczeniowa Metody oparte na podobieństwie do wzorców.
Wykład 6 Najkrótsza ścieżka w grafie z jednym źródłem
Redukcja sekwentu Huzar, str Dany jest sekwent (1) 1 a+/b+/c, /b+/c, d, b, c+/a+/b, c+/d, /a+/d+/b |- Do sekwentu 1 stosujemy regułę: +|-. Stąd:
Algorytm Dijkstry (przykład)
Inteligencja Obliczeniowa Indukcja reguł - modele.
Inteligencja Obliczeniowa Otwieranie czarnej skrzynki.
Inteligencja Obliczeniowa Sieci dynamiczne.
Inteligencja Obliczeniowa Perceptrony o dużym marginesie błędu
„Program grający w szachy”
Badania operacyjne. Wykład 1
Badania operacyjne. Wykład 2
ALGORYTMY I STRUKTURY DANYCH
Sztuczna Inteligencja Szukanie heurystyczne I
Sztuczna Inteligencja Gry i programy oparte na szukaniu
Sztuczna Inteligencja 2.1 Metody szukania na ślepo
ALGORYTMY GEOMETRYCZNE.
Zagadnienie transportowe
Nieelitystyczne algorytmy ewolucyjnej optymalizacji wielokryterialnej
Zastosowanie programu SYBYL do wygładzania przybliżonych modeli białkowych SEKWENCJA AMINOKWASOWA MODELOWANIE METODĄ DYNAMIKI MONTE CARLO NA TRÓJWYMIAROWEJ.
Sztuczna Inteligencja Szukanie heurystyczne II
Metody Sztucznej Inteligencji w Sterowaniu 2009/2010Optymalizacja miary efektywności działania sztucznych sieci neuronowych Dr hab. inż. Kazimierz Duzinkiewicz,
Metody Sztucznej Inteligencji w Sterowaniu 2009/2010 Metoda propagacji wstecznej Dr hab. inż. Kazimierz Duzinkiewicz, Katedra Inżynierii Systemów Sterowania.
Wykład 2: Upraszczanie, optymalizacja i implikacja
Algorytmy grafowe Reprezentacja w pamięci
SZTUCZNA INTELIGENCJA ARTIFICIAL INTELLIGENCE
SZTUCZNA INTELIGENCJA ARTIFICIAL INTELLIGENCE
Algorytmy genetyczne.
WYKŁAD 7. Spójność i rozpięte drzewa Graf jest spójny, gdy dla każdego podziału V na dwa rozłączne podzbiory A i B istnieje krawędź z A do B. Definicja.
Podstawy programowania
Algorytm mini-max.
Analiza współzależności cech statystycznych
Przegląd podstawowych algorytmów
IV OTWARTE MISTRZOSTWA OPOLA W PROGRAMOWANIU ZESPOŁOWYM
Zadanie programowania liniowego PL dla ograniczeń mniejszościowych
II Zadanie programowania liniowego PL
Zadanie programowania liniowego PL dla ograniczeń mniejszościowych
ALGORYTMY ROZWIĄZYWANIA GIER C.D.
Modelowanie i Identyfikacja 2011/2012 Metoda propagacji wstecznej Dr hab. inż. Kazimierz Duzinkiewicz, Katedra Inżynierii Systemów Sterowania 1 Warstwowe.
Modelowanie i identyfikacja 2010/2011Optymalizacja miary efektywności działania sztucznych sieci neuronowych Dr hab. inż. Kazimierz Duzinkiewicz, Katedra.
Spis treści W świecie algortmów -Budowa algorytmu
SYSTEMY EKSPERTOWE I SZTUCZNA INTELIGENCJA
VII EKSPLORACJA DANYCH
IV EKSPLORACJA DANYCH Zadania eksploracji danych: klasyfikacja
SYSTEMY EKSPERTOWE I SZTUCZNA INTELIGENCJA
II Zadanie programowania liniowego PL
Instrukcje iteracyjne
Obliczalność czyli co da się policzyć i jak Model obliczeń sieci liczące dr Kamila Barylska.
Algorytmy i Struktury Danych
Wyszukiwanie maksimum funkcji za pomocą mrówki Pachycondyla Apicalis.
Ekonometryczne modele nieliniowe
Wspomaganie Decyzji IV
Algorytmy Genetyczne Anna Tomkowska Politechnika Koszalińska
Autor: Michał Salewski
Pętle – instrukcje powtórzeń
SZTUCZNA INTELIGENCJA
SZTUCZNA INTELIGENCJA
Zagadnienia transportowe Katedra Ekonomiki i Funkcjonowania Przedsiębiorstw Transportowych.
Wykład 4 (cz. 1) Pierwsze zastosowania modelowania molekularnego: lokalna i globalna minimalizacja energii potencjalnej.
Sztuczna Inteligencja Szukanie heurystyczne II
Sztuczna Inteligencja Szukanie heurystyczne I
ALGORYTMY I STRUKTURY DANYCH
Sztuczna Inteligencja Gry i programy oparte na szukaniu
Sztuczna Inteligencja Szukanie heurystyczne I
Sztuczna Inteligencja Szukanie heurystyczne II
Zapis prezentacji:

SZTUCZNA INTELIGENCJA ARTIFICIAL INTELLIGENCE WYKŁAD 2 SZUKANIE HEURYSTYCZNE Dr hab. inż. Barbara Dębska, prof. PWSZ KROSNO Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

Główne procedury szukania Ślepe Heurystyczne B&B Rozgałęziaj i ograniczaj Wgłąb Wszerz Best FS Minimax Niedeterministycze Zachłanne GS A* Algorytm wspinaczki Przy stałych kosztach UCS Monte Carlo Algorytmy genetyczne Symulowane wyżarzanie IDA* Iteracyjnie pogłębiane Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

Szukanie heurystyczne Metody szukania heurystycznego Algorytmy iteracyjne  Wspinaczka  Monte Carlo  Symulowane wyżarzanie Definicja funkcji heurystycznej Klasyfikacja algorytmów szukania Najpierw najlepszy  Przesuwanka  Szukanie zachłanne  Szukanie A* Szukanie z więzami Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

Metody szukania heurystycznego Ślepe szukanie nie używa informacji o możliwej strukturze drzewa lub celów; taka informacja może przyczynić się do optymalizacji procesu szukania. Największym problemem w rzeczywistych zastosowaniach jest eksplozja kombinatoryczna liczby możliwych dróg. Szukanie heurystyczne wykorzystuje informacje, które poprawiają efektywność procesu szukania. 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. Przykład szczególny: w sklepie z wieloma kasami dobrą regułą jest: stań przy kasie z najkrótszą kolejką. Ale ... (1) jeśli stoi przy niej osobnik z furą zakupów; (2) lub nie ma przy niej kasjera; (3) lub przyjmują tylko gotówkę a chcesz na kredyt, to nie jest najlepsza decyzja. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

Definicja Funkcji Heurystycznej Funkcja h :   R, gdzie  to zbiór dozwolonych stanów, R to liczby rzeczywiste, 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. Węzeł A ma 3 potomków. h(s1)=0.8, h(s2)=2.0, h(s3)=1.6 Wartości h oznaczają koszty utworzenia węzła; najtaniej jest utworzyć węzeł s1 i ten z punktu widzenia danej heurystyki jest najlepszym kandydatem. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

Najpierw najlepszy (BestFS) Kombinacja szukania w głąb (DFS) i szukania wszerz (BFS). DFS znajduje dobre rozwiązania taniej niż BFS, BFS nie wpada w zamknięte pętle ani ślepe zaułki. Metoda „najpierw najlepszy (BestFS) pozwala połączyć korzyści z obu metod. Jest kilka wariantów tej metody. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

BestFS - przykład Dla przesuwanki użyteczna funkcja heurystyczna mierzy ile kwadratów zajmuje końcowe pozycje. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

BFS1: szukanie zachłanne Szukanie zachłanne (Greedy Search, GS) to jedna z najprostszych strategii BestFS. Funkcja heurystyczna h(n) – ocenia pozostałe koszty dotarcia do celu (np. odległość od celu). Szukanie zachłanne: “ocenianych kosztów dotarcia do celu”. Najpierw rozwijany jest węzeł najbliższy. W problemach szukania drogi możliwe są różne metryki: (1) Najkrótsza odległość Euklidesowa; (2) Odległość Manhattan, poruszanie się tylko po prostych poziomych i pionowych. W innych problemach: oceny podobieństwa. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

BestFS1: przykład zastosowania algorytmu GS do szukania trasy (500) (278) (376) (211) (198) (101) (239) Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

UCS - stałe koszty UCS, Uniform Cost Search – szukanie przy stałych kosztach. Metoda: Rozwijaj węzły o najniższym koszcie; jeśli koszt przekroczy próg cofnij się i idź inną drogą. Jeśli koszt wszystkich dróg jest jednakowy, to zastosuj zwykłe BS. Przykład: koszty są po lewej stronie. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

Programowanie dynamiczne. Zasada „programowania dynamicznego”: Najlepsza droga do celu G przez pośredni węzeł P to najlepsza droga od startu S do P połączona z najlepszą drogą z P do G. Wniosek: szukając najlepszej drogi do celu wystarczy rozpatrywać tylko najkrótszą drogę do P BestFS2: szukanie A* GS minimalizuje koszty dojścia do celu h(n), nie jest to algorytm zupełny ani optymalny. Alternatywą jest minimalizacja g(n) kosztów dojścia do danego węzła – jest to metoda kompletna, optymalna, ale mało efektywna. Metoda A* łączy obydwie funkcje heurystyczne, h(n) oraz g(n) w jednej funkcji heurystycznej oceniającej koszty najtańszego rozwiązania przechodzącego przez węzeł n, tzn. f(n) = g(n) + h(n). Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

BestFS2: algorytm A* Rozpocznij od węzła początkowego i twórz nowe węzły {n} dopóki cel nie zostanie osiągnięty; Posortuj nowe węzły {n} korzystając z funkcji f (n)= g(n) + h(n); Odrzuć ścieżki zapętlone. Wybierz najlepszy węzeł n' Zostaw tylko najtańszą ścieżkę do n'. Jeśli n' jest celem skończ; Jeśli nie, rozwijaj dalsze węzły {n}, łącznie z n' Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

IDA*, czyli A* iteracyjnie pogłębiane. BestFS2: A* Własności: Ponieważ wybierana jest najtańsza droga do danego węzła n żadna inna droga nie może obniżyć całkowitego kosztu (monotoniczność). h(n) powinno być wiarygodną oceną kosztów dojścia do celu – zaniżenie wszystkich koszów nie przeszkadza. Algorytm A* jest w tym przypadku optymalny. IDA*, czyli A* iteracyjnie pogłębiane. Stosuj algorytm szukania w głąb. Oceniaj całkowite koszty f (n)= g(n) + h(n) heurystyką A*. Jeśli f (n) > T cofaj się; T jest tu zmiennym progiem. Jeśli nie znaleziono rozwiązania zwiększ T i powtarzaj. Wady: powtarza część ścieżek, ale i tak końcowe szukanie zajmuje najwięcej czasu. Zalety: niewielka pamięć, jak DS, tylko szybsze. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

Heurystyki dla 8-ki Algorytmy szukania heurystycznego testuje się często na problemie przesuwanki. Dla 8-ki jest 9!/2 lub 181.440 możliwych stanów, (dla 15-ki 653 mld). W procesie szukania dobra funkcja heurystyczna zmniejsza liczbę rozpatrywanych stanów < 50. Dwie funkcje, które nigdy nie przeceniają kosztów: 1. h1 = liczba płytek na złych pozycjach – każdą trzeba przesunąć przynajmniej raz. 2. h2 = suma odległości od celu, metryka Manhattan; każdy ruch zmniejsza odległość od celu o 1; Tutaj: h1=8, h2 = 18 Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

g(n) = odległość od startu do stanu n. Przestrzeń stanów utworzona w czasie heurystycznego szukania rozwiązania dla 8-ki. Przykład. Algorytm A* dla 8-ki: Operacje: f(n) = g(n) + h(n) g(n) = odległość od startu do stanu n. h(n) = liczba elementów na złym miejscu. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

Przeszukiwanie metodą minimax Metoda będzie wyjaśniona na przykładzie części drzewa gry dwuosobowej takiej jak szachy. Korzeń drzewa – reprezentuje pozycję początkową w której ruch ma gracz A, a wartości reprezentują siłę jego pozycji. 999 – oznacza zwycięstwo gracza A; 0 – oznacza zwycięstwo gracza B. (998 - 1) – wartości pośrednie odzwierciedlają względne szanse zwycięstwa gracza A w odpowiedniej pozycji Dla gracza A trzeba wybrać ten jedyny możliwy ruch który maksymalizuje jego szanse zwycięstwa. Najlepsze ruchy ustala się analizując drzewo gry od liści. Jeśli bieżący wierzchołek ojca reprezentuje ruch gracza A, to z wierzchołkiem tym wiąże się maksimum z wartości jego wierzchołków potomnych, a jeśli reprezentuje on ruch gracza B, to bierze się minimum tych wartości. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

Propagacja optymalnej ścieżki w metodzie minimax 74 max 999 110 106 142 5 74 28 87 15 71 56 10 65 78 min 74 10 max 74 78 110 10 71 min 74 15 999 max 74 Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

B&B, rozgałęziaj i ograniczaj. Wybierz na każdym kroku kilka najlepszych węzłów, rozwijaj dopóki wystarczy pamięci - (beam search, szukanie wiązką). Utwórz listę składającą się korzenia Dopóki lista nie jest pusta lub nie osiągnięto węzła celu: Znajdź m węzłów dla którego f(n, m) = najmniejsze rozwiń je tworząc wszystkie węzły potomne jeśli któryś z nich jest celem zakończ dla każdego węzła potomnego n': oceń węzeł funkcją f(n') usuń powtórki Jeśli za wiele węzłów wybierz m najlepszych.  Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

Algorytm wspinaczki Hill-climbing, czyli wspinaczka – idzie w kierunku wzrastającej wartości funkcji heurystycznej. Równoważny szukaniu „najpierw najlepszy”, ale tu zastosowany do optymalizacji parametrów ciągłych, rozwija jedną ścieżkę poszukiwań. Przełamuje impasy (identyczne koszty kilku dróg) w sposób losowy. Pseudokod algorytmu wspinaczki: Oceń stan początkowy; jeśli nie jest to cel wykonaj: Utwórz nowy stan; Jeśli nowy stan jest stanem celu zakończ. Jeśli nowy stan jest bliżej stanu celu przyjmij go; w przeciwnym przypadku zignoruj go. Jeśli nie można utworzyć nowych stanów zatrzymaj się. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

Wady algorytmu wspinaczki: Lokalne minima. Plateaux, czyli równiny. Wąskie grzbiety. W niektórych problemach mogą pomóc wielokrotne starty z przypadkowych punktów. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

Monte Carlo i Symulowane Wyżarzanie Szukanie przypadkowe, nazywane algorytmem British Museum, wybiera przypadkowo węzły. W metodzie Monte Carlo (MC) rozwija się losowo wybrany węzeł. Odpowiada to przypadkowemu tworzeniu różnych fragmentów grafu. Jeśli jest funkcja heurystyczna to można zastosować metodę symulowanego wyżarzania (SA). Powoli studzone kryształy osiągają konfiguracje o minimalnej energii. W MC stosuje się operatory dające stopniowo malejące zmiany - coraz mniejsze skoki parametrów. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

SYMULOWANE WYŻARZANIE Cel: szukanie globalnie optymalnych rozwiązań. Trzeba czasami iść pod górkę ... Akceptuj nowe węzły nawet jeśli ich ocena jest gorsza z prawdopodobieństwem: gdzie: E=f(O)-f(N) ocenia zmiany jakości rozwiązania z O do N. Jest to rozkład energii Boltzmana w układach termodynamicznych - właśnie taki rozkład energii znajdujemy w przyrodzie. Parametr T pełni rolę temperatury Dla dużego T wszystkie zmiany są akceptowalne i jest to ”czyste” MC, dla małego T mamy zmiany wartości rozwiązania tylko jeśli się poprawia. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

PROCES SYMULOWANEGO WYŻARZANIA Zasada przeprowadzania wyżarzania symulowanego została zaczerpnięta z metalurgii: kawałek metalu jest ogrzewany (atomy są wzbudzone termicznie), a następnie pozostawiany do powolnego ostygnięcia. Powolne i regularne chłodzenie się metalu pozwala atomom na obniżenie poziomu swej energii do momentu znalezienia się w stanie metastabilnym (o minimalnej energii). (Gwałtowne ochłodzenie zamroziłoby je na przypadkowych pozycjach, na których aktualnie by się znajdowały). Otrzymana w rezultacie struktura metalu jest silniejsza i bardziej stabilna. Poprzez symulowanie procesu wyżarzania za pomocą programu komputerowego jesteśmy w stanie znaleźć rozwiązania trudnych i złożonych zadań. Zamiast minimalizowania energii bloku metalu (czy maksymalizowania jego wytrzymałości) program minimalizuje lub maksymali-zuje funkcje celu związane z problemem. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

Wysokie uporządkowanie Niska temp. Wysokie uporządkowanie Wysoka temp. Brak uporządkowania studzenie Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

Algorytm SA Określ parametry problemu, koszty operacji itp. Zdefiniuj funkcję energii (heurystyczną). Wybierz początkową temperaturę i schemat chłodzenia. Np. T=100 i co 100 iteracji obniżana jest o 10. Utwórz przypadkowo początkowy węzeł S (np. jakieś nieoptymalne rozwiązanie) lub użyj danego. Twórz przypadkowo nowe węzły modyfikując lub rozwijając istniejące - duże zmiany są początkowo dopuszczalne. Obniżaj temperaturę powoli akceptując tylko zmiany korzystne. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

Pseudokod algorytmu SA X1. x=xo – stan początkowy 2. T=To – temperatura początkowa 3.  Jeżeli T>TK 3.1 wylosuj x’ z otoczenia x 3.2 oblicz J(x’) 3.3 oblicz =J(x’)-J(x) 3.4 gdy 0 ustaw x=x’ przejdź do 3.6 3.5 gdy >0 wylosuj liczbę rand(0,1) jeżeli rand  e-/T ustaw x=x’ 3.6 ustaw T=r  T o ile liczba prób dla danego T przekroczyła zadaną liczbę N lub liczba sukcesów (redukcji J()) przekroczyła M<N. J() – funkcja celu (zwykle  min) r – współczynnik obniżania temperatury, (np. r=0.99) Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

PRZYKŁAD: szeregowanie zadań Rozważając problem szeregowania zadań stajemy przed dylematem jak podzielić n operacji (pogrupowanych w zadania) na m procesorów tak, aby zachowując ograniczenia optymalizować zadane kryterium uszeregowania. Przyjęte ograniczenia: Żadna operacja nie może być wykonywana na więcej niż jednym komputerze Żaden procesor nie może jednocześnie wykonywać więcej niż jedną operację Inne – np.: kolejnościowe lub czasowe: p[l, j] – czas wykonania zadania j na procesorze l Zadania zależne – podlegają ograniczeniom kolejnościowym. Kolejność jest zadawana w postaci grafu zależności. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

Indeksy obok węzłów oznaczają numer zadania i czas jego wykonania Dokonać uszeregowania dziewięciu zadań na dwóch identycznych procesorach, korzystając z poniższego grafu określającego zależność pomiędzy zadaniami. Indeksy obok węzłów oznaczają numer zadania i czas jego wykonania Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

Kolejne wywołanie algorytmu SA 1 Kolejne wywołanie algorytmu SA 2 3 4 Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

Podróż dookoła świata – problem komiwojażera Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

Podróż dookoła świata. Przypadkowa permutacja miast, zaczynając od startu: S1= [Wwa, Dub, Bei, Tok, Los, NY, Sai, Par, Chi, Bom, Cai] T = 100, Koszt = 370 Kolejne przypadkowe rozwiązanie (T = 90; Koszt: 340) S2=[Wwa, Los, Bei, Tok, Dub, NY, Sai, Par, Chi, Bom, Cai] (zamiana Dublin : Los Angeles) Kolejne przypadkowe rozwiązanie (T = 90; Koszt: 377) S3=[Wwa, Los, Bei, Tok, Dub, NY, Par, Chi, Sai, Bom, Cai] (zamiana Saigon : Chicago, przyjęta chociaż gorzej) ...... Kolejne przypadkowe rozwiązanie (T = 10; Koszt: 188) (zamiana tylko jeśli koszt się obniża). Wady: wiele iteracji. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

Porównanie różnych metod dla 8-ki. Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno

Dziekuję za uwagę Dr hab. inż. Barbara Dębska, prof. PWSZ Krosno