Metody przeszukiwania

Podobne dokumenty
Heurystyki. Strategie poszukiwań

Grafy i ich reprezentacja

Algorytm genetyczny (genetic algorithm)-

Wybrane podstawowe rodzaje algorytmów

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

Heurystyczne metody przeszukiwania

Sztuczna Inteligencja i Systemy Doradcze

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

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

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

Algorytmy genetyczne

Algorytmy genetyczne

Podstawy sztucznej inteligencji

Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne)

Podstawy Sztucznej Inteligencji (PSZT)

Algorytmy ewolucyjne - algorytmy genetyczne. I. Karcz-Dulęba

Algorytmy ewolucyjne (3)

Zadanie 5 - Algorytmy genetyczne (optymalizacja)

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

Algorytmy genetyczne. Materiały do laboratorium PSI. Studia stacjonarne i niestacjonarne

Algorytmy genetyczne. Materiały do laboratorium PSI. Studia niestacjonarne

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

Rozwiązywanie problemów metodą przeszukiwania

Algorytm Genetyczny. zastosowanie do procesów rozmieszczenia stacji raportujących w sieciach komórkowych

Algorytmy ewolucyjne 1

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

Algorytmy ewolucyjne NAZEWNICTWO

Problem Komiwojażera - algorytmy metaheurystyczne

MIO - LABORATORIUM. Imię i nazwisko Rok ak. Gr. Sem. Komputer Data / EC3 VIII LAB...

Algorytmy genetyczne. Paweł Cieśla. 8 stycznia 2009

Optymalizacja. Wybrane algorytmy

Algorytmy stochastyczne, wykład 01 Podstawowy algorytm genetyczny

Planowanie drogi robota, algorytm A*

6. Klasyczny algorytm genetyczny. 1

Wstęp do Sztucznej Inteligencji

SZTUCZNA INTELIGENCJA

SZTUCZNA INTELIGENCJA

ĆWICZENIE 1: Przeszukiwanie grafów strategie heurystyczne

WPROWADZENIE DO SZTUCZNEJ INTELIGENCJI

Obliczenia ewolucyjne - plan wykładu

Algorytmy genetyczne w optymalizacji

Przeszukiwanie przestrzeni rozwiązań, szukanie na ślepo, wszerz, wgłąb

Elementy kognitywistyki II:

PLAN WYKŁADU OPTYMALIZACJA GLOBALNA OPERATOR KRZYŻOWANIA ETAPY KRZYŻOWANIA

Algorytmy ewolucyjne (2)

Algorytmy ewolucyjne. wprowadzenie

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

Wyznaczanie optymalnej trasy problem komiwojażera

Algorytmy stochastyczne, wykład 02 Algorytmy genetyczne

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik

ALGORYTMY GENETYCZNE ćwiczenia

ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ

CZYM JEST SZTUCZNA INTELIGENCJA? REPREZENTACJA WIEDZY SZTUCZNA INTELIGENCJA PROJEKTOWANIE ALGORYTMÓW I METODY SZTUCZNEJ INTELIGENCJI

Techniki optymalizacji

Wykład2,24II2010,str.1 Przeszukiwanie przestrzeni stanów powtórka

Problemy z ograniczeniami

Generowanie i optymalizacja harmonogramu za pomoca

Podstawy sztucznej inteligencji

Algorytmy genetyczne. Dariusz Banasiak. Katedra Informatyki Technicznej Wydział Elektroniki

Sztuczna Inteligencja i Systemy Doradcze

Techniki optymalizacji

Porównanie algorytmów wyszukiwania najkrótszych ścieżek międz. grafu. Daniel Golubiewski. 22 listopada Instytut Informatyki

Odkrywanie algorytmów kwantowych za pomocą programowania genetycznego

Podstawy sztucznej inteligencji

Podejście memetyczne do problemu DCVRP - wstępne wyniki. Adam Żychowski

Algorytmy ewolucyjne. Łukasz Przybyłek Studenckie Koło Naukowe BRAINS

Zadanie 1: Piętnastka

Ogólne wiadomości o grafach

Algorytmy stochastyczne laboratorium 03

Katedra Informatyki Stosowanej. Algorytmy ewolucyjne. Inteligencja obliczeniowa

Algorytmy Mrówkowe. Daniel Błaszkiewicz. 11 maja Instytut Informatyki Uniwersytetu Wrocławskiego

OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA

Algorytmy i str ruktury danych. Metody algorytmiczne. Bartman Jacek

ALGORYTMY GENETYCZNE (wykład + ćwiczenia)

PLAN WYKŁADU OPTYMALIZACJA GLOBALNA ZADANIE KOMIWOJAŻERA METODY ROZWIĄZYWANIA. Specyfika zadania komiwojażera Reprezentacje Operatory

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

Równoważność algorytmów optymalizacji

Zaawansowane programowanie

Algorytmy genetyczne w interpolacji wielomianowej

Algorytmy genetyczne jako metoda wyszukiwania wzorców. Seminarium Metod Inteligencji Obliczeniowej Warszawa 26 X 2005 mgr inż.

Zadania laboratoryjne i projektowe - wersja β

Aproksymacja funkcji a regresja symboliczna

Dobór parametrów algorytmu ewolucyjnego

Algorytmy metaheurystyczne podsumowanie

Algorytmy zachłanne. dr inż. Urszula Gałązka

Algorytmy genetyczne (AG)

Modyfikacje i ulepszenia standardowego algorytmu genetycznego

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

WABOT CZYM JEST SZTUCZNA INTELIGENCJA? SZTUCZNA INTELIGENCJA REPREZENTACJA WIEDZY KNOWLEDGE SOUP PROBLEM

Algorytmy genetyczne

SZTUCZNA INTELIGENCJA

Algorytmy i struktury danych

Inspiracje soft computing. Soft computing. Terminy genetyczne i ich odpowiedniki w algorytmach genetycznych. Elementarny algorytm genetyczny

METODY SZTUCZNEJ INTELIGENCJI algorytmy ewolucyjne

przetworzonego sygnału

Zaawansowane programowanie

KARTA PRZEDMIOTU. 1. Informacje ogólne. 2. Ogólna charakterystyka przedmiotu. Algorytmy i struktury danych, C3

Wstęp do programowania

Techniki optymalizacji

Metody Programowania

Transkrypt:

Metody przeszukiwania

Co to jest przeszukiwanie Przeszukiwanie polega na odnajdywaniu rozwiązania w dyskretnej przestrzeni rozwiązao. Zwykle przeszukiwanie polega na znalezieniu określonego rozwiązania w grafie rozwiązao. Przykładowe zastosowania: gry w szachy, warcaby, Przesówanka, Problem komiwojażera itp

Definicja problemu Trzy elementy potrzebne do zdefiniowania problemu: 1. Baza danych: fakty, stany, możliwości, opis sytuacji. 2. Możliwe operacje: zmieniają stan bazy danych. 3. Strategia kontrolna: start, koniec i kolejnośd operacji. Ciąg operacji tworzy sekwencję działao, od stanu początkowego do stanu koocowego (celu). Z każdą operacją związany jest pewien koszt. W procesie szukania należy dążyd do minimalizacji całkowitych kosztów. Źródło W. Duch wykład AI

Pojęcia Przeszukiwanie kompletne algorytm przeszukiwania jest kompletny jeśli gwarantuje odnalezienie rozwiązania w grafie, o ile takie rozwiązanie istnieje Algorytm przeszukiwania niekompletny jeśli nie gwarantuje odnalezienie rozwiązania Przeszukiwanie zupełne odwiedza wszystkie możliwe stany Optymalnośd rozwiązania odnalezione jest najprostsze rozwiązanie (np. znalezione rozwiązanie w przesuwance gwarantuje minimalna ilośd kroków - przesunięd)

Typy metod przeszukiwania Przeszukiwanie ślepe gdy nie mamy żadnej wiedzy/oceny jakości znalezionego rozwiązania Przeszukiwanie heurystyczne gdy potrafimy jakoś ocenid proces przeszukiwania

Przeszukiwanie ślepe Przeszukiwanie wszerz Przeszukiwanie wgłąb Przeszukiwanie ograniczone wgłąb Przeszukiwanie iteracyjnie pogłębianie Przeszukiwanie dwukierunkowe

Przeszukiwanie wszerz Żródło: Arkadiusz Wojna, http://www.mimuw.edu.pl/~awojna/sid/

Żródło: Arkadiusz Wojna, http://www.mimuw.edu.pl/~awojna/sid/ Przeszukiwanie wszerz Właściwości: Zupełnośd: tak - jeśli skooczona liczba krawędzi b (b max. Liczba rozgałęzieo drzewa przeszukiwao) Złożonośd czasowa: O(b d+1 ) wykładnicza względem głębokości d (d-głębokośd rozwiązania o najmniejszym koszcie) Złożonośd pamięciowa: O(b d+1 ) przechowuje każdy węzeł w pamięci Optymalnośd: tak jeśli koszty przejśd są równe

Przeszukiwanie wgłąb Żródło: Arkadiusz Wojna, http://www.mimuw.edu.pl/~awojna/sid/

Żródło: Arkadiusz Wojna, http://www.mimuw.edu.pl/~awojna/sid/ Przeszukiwanie wgłąb Właściwości Zupełnośd: tak (jeśli przestrzeo skooczona, w szczególności gdy skooczona głebokośd) Złożonośd czasowa: O(b m ) wykładnicza m-liczba wierzchołków, dobra metoda jeśli gęste rozwiązania Złożonośd pamięciowa: O(bm) liniowa Optymalnośd: nie znalezione rozwiązanie nie koniecznie jest optymalne

Przeszukiwanie ograniczone wgłąb To samo co wgłąb ale ograniczona i zdefiniowana maksymalna głebokośd

Żródło: Arkadiusz Wojna, http://www.mimuw.edu.pl/~awojna/sid/ Przeszukiwanie iteracyjne pogłębianie Przeszukiwanie ograniczone wgłąb ale stopniowo zwiększamy głębokośd

Żródło: Arkadiusz Wojna, http://www.mimuw.edu.pl/~awojna/sid/ Przeszukiwanie iteracyjne pogłębianie Właściwości Zupełnośd: tak Złożonośd czasowa: O(b d ) Złożonośd pamięciowa: O(bd) Optymalnośd: tak jeśli równy koszt przejśd

Przeszukiwanie dwukierunkowe Do zastosowao jeśli znamy start i rozwiązanie a szukamy ścieżki prowadzącej do rozwiązania Równolegle szukanie od startu i od rozwiązania

Żródło: Arkadiusz Wojna, http://www.mimuw.edu.pl/~awojna/sid/ Przeszukiwanie dwukierunkowe Właściwości Zupełnośd: tak (jeśli szukanie wszerz) Złożonośd czasowa: O(b d/2 ) Złożonośd pamięciowa: O(b d/2 ) Optymalnośd: tak jeśli szukanie wszerz

Metody heurystyczne W odróżnieniu od szukania ślepego wykorzystujemy wiedzę o przeszukiwanej przestrzeni oceniając znalezione rozwiązania Problem metod ślepych - eksplozja kombinatoryczna liczby możliwych Szukanie heurystyczne wykorzystuje informacje, które poprawiają efektywnośd procesu szukania.

Funkcja heurystyczna 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. Funkcja heurystyczna ocenia jakośd każdego każdy z węzłów: h(s1) = 1.5 h(s2) = 2.3 h(s3) = 1.53 To gdzie iśd najpierw?

Metody heurystyuczne Pierwszy najlepszy Przeszukiwanie zachłanne Przeszukiwanie A* inne Iteracyjne poprawianie Algorytm wspinaczki Algorytmy genetyczne inne

Przeszukiwanie zachłanne Algorytm przeszukiwania, w którym zachłannie rozwija się każde rozwiązanie prognozujące lokalnie na danym etapie najlepsze rozwiązanie cząstkowe. Przykład: problem komiwojażera każdorazowo odwiedzamy najbliższe nieodwiedzone miasto.

Żródło: Arkadiusz Wojna, http://www.mimuw.edu.pl/~awojna/sid/ Przeszukiwanie zachłanne Funkcja heurystyczna: h(n) odległośd w linii prostej z miasta n do Bukaresztu. Zadanie: znaleźd optymalną trasę z Arad do Bukaresztu

Przeszukiwanie zachłanne Graf rozwiązao

Przeszukiwanie zachłanne Graf rozwiązao Problem! Rozwiązanie nie jest optymalne!!!

Żródło: Arkadiusz Wojna, http://www.mimuw.edu.pl/~awojna/sid/ Przeszukiwanie zachłanne Właściwości Zupełnośd: nie Złożonośd czasowa: O(b m ) dobór odpowiedniej heurystyki Złożonośd pamięciowa: O(b m ) Optymalnośd: nie

Przeszukiwanie A* Podobne do przeszukiwania zachłannego ale zmodyfikowana (rozszerzona) heurystyka: f(n) = h(n) + g(n) h(n) koszt dotarcia do celu g(n) koszt dotarcia od startu do danego węzła f(n) unika stanów do których ponieśliśmy duży koszt dotarcia

Żródło: Arkadiusz Wojna, http://www.mimuw.edu.pl/~awojna/sid/ Przeszukiwanie A*

Żródło: Arkadiusz Wojna, http://www.mimuw.edu.pl/~awojna/sid/ Przeszukiwanie A* Właściwości Zupełnośd: tak jeśli heurystyka dopuszczalna Złożonośd czasowa: Złożonośd pamięciowa: Optymalnośd: tak

Żródło: Arkadiusz Wojna, http://www.mimuw.edu.pl/~awojna/sid/ Algorytm wspinaczki Podobnie jak przeszukiwanie zachłanne ale analizujemy gradient funkcji celu -> idziemy tam gdzie największy gradient (zastosowanie tam gdzie optymalizacja parametrów ciągłych) Problem minimum lokalnych -> konieczne wielostarty

Algorytmy genetyczne Inspirowane procesami ewolucyjnymi, czyli preferowanie osobników najlepiej dostosowanych Pojęcia: Genotyp reprezentacja binarna przestrzeni stanów określa sposób kodowani informacji (które bity za co odpowiadają) Fenotyp reprezentacja odpowiadająca reprezentacji binarnej chromosom - pojedynczy osobnik populacji pojedynczy stan/węzeł zakodowany w postaci binarnej, (w algorytmach ewolucyjnych nie koniecznie reprezentacja binarna) Populacja zbiór jednocześnie rozpatrywanych węzłów - osobników Potomstwo Populacja powstała na podstawie poprzedniej populacji Generacja określona, któraś z kolei populacja

Algorytmy genetyczne Źródło: http://www.chemia.uj.edu.pl/~sulka/ais/012.html

Algorytmy genetyczne Sposób działania:

Algorytmy genetyczne Krzyżowanie wymiana informacji pomiędzy dwoma osobnikami - wysokie prawdopodobieostwo zajścia zdarzenia Mutacja zmiana stanu jednego z bitów na losowej pozycji - małe prawdopodobieostwo zajścia zdarzenia

Algorytmy genetyczne Selekcja - Reguła ruletki: 1. Oceo każdego z osobników F i 2. Stwórz koło (obwód odpowiada sumie F i ) wycinki koła są proporcjonalne do F i, 3. Wylosuj liczbę x z zakresu 0-360st. 4. Sprawdź który wycinek wylosowałeś. (większy wycinek = większe prawdopodobieostwo wylosowania)

Koniec