inżynierskie metody numeryczne

Slides:



Advertisements
Podobne prezentacje
Modelowanie i symulacja
Advertisements

Metody optymalizacyjne w logistyce
Ilustracja obliczania całek oznaczonych metodą Monte Carlo
Metody numeryczne część 1. Rozwiązywanie układów równań liniowych.
DOMINOWANIE W GRAFACH Magdalena Lemańska.
Uczenie ze wzmocnieniem
IV Tutorial z Metod Obliczeniowych
Metody rozwiązywania układów równań liniowych
Wykład 6 Najkrótsza ścieżka w grafie z jednym źródłem
Zadanie z dekompozycji
Algorytm Dijkstry (przykład)
Badania operacyjne. Wykład 1
Wykład no 11.
Metoda węzłowa w SPICE.
WYKŁAD 2. Kolorowanie wierzchołków
WYKŁAD 7. Spójność i rozpięte drzewa
PROPOZYCJA PROJEKTÓW hp1d, hp2d, hp3d
Sieci Hopfielda.
Wstęp do interpretacji algorytmów
Dr Anna Kwiatkowska Instytut Informatyki
Metody Symulacyjne w Telekomunikacji (MEST) Wykład 4: Generowanie zdarzeń  Dr inż. Halina Tarasiuk p. 337, tnt.tele.pw.edu.pl.
Algorytmy genetyczne.
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.
Algorytm mini-max.
POJĘCIE ALGORYTMU Pojęcie algorytmu Etapy rozwiązywania zadań
Algorytmy.
SKIEROWANE Marek Bil Krzysztof Fitrzyk Krzysztof Godek.
Graf - jest to zbiór wierzchołków, który na rysunku przedstawiamy za pomocą kropek oraz krawędzi łączących wierzchołki. Czasami dopuszcza się krawędzie.
Elementy Rachunku Prawdopodobieństwa i Statystyki
Algorytmy i struktury danych
MECHANIKA NIEBA WYKŁAD r.
Algorytmy i struktury danych
Badania operacyjne Wykład 5.
EXCEL Wykład 4.
SYSTEMY EKSPERTOWE I SZTUCZNA INTELIGENCJA
Algorytmika.
Algorytmy i Struktury Danych
Wyszukiwanie maksimum funkcji za pomocą mrówki Pachycondyla Apicalis.
Metody numeryczne szukanie pierwiastka metodą bisekcji
Metody matematyczne w inżynierii chemicznej Wykład 3. Całkowanie numeryczne.
Algorytmy- Wprowadzenie do programowania
EXCEL Wstęp do lab. 4. Szukaj wyniku Prosta procedura iteracyjnego znajdowania niewiadomej spełniającej warunek będący jej funkcją Metoda: –Wstążka Dane:
Metody matematyczne w inżynierii chemicznej
PLANARNOŚĆ i KOLOROWANIE MAP. Problem Jaka jest minimalna liczba kolorów, za pomocą których można pokolorować obszary województw na mapie Polski tak,
Algorytmy Genetyczne Anna Tomkowska Politechnika Koszalińska
WĘDRÓWKI PO GRAFACH Obchody Eulera Cykle Hamiltona.
Metody nieinkluzyjne: Metoda iteracji prostej.
NP-zupełność Problemy: rozwiązywalne w czasie wielomianowym - O(nk)
Metody rozwiązywania układów równań liniowych
Wstęp do interpretacji algorytmów
Optymalizacja Monte-Carlo - algorytmy inspirowane przyrodniczo (algorytmy genetyczne, symulowane wyżarzanie, stadne strategie obliczeniowe) Przykład 2.
W technice: inżynieria obliczeniowa: modelowanie i symulacja zjawisk i urządzeń. badania i optymalizacji procesów produkcyjnych oraz produktów. Obliczenia.
Optymalizacja wg podejścia „kolonii mrówek”
Symulacje obliczeniowe: w technice: inżynieria obliczeniowa: modelowanie i symulacja zjawisk i działania urządzeń. badania i optymalizacji procesów produkcyjnych.
inżynierskie metody numeryczne
Wstęp do programowania Wykład 4
yi b) metoda różnic skończonych
Modelowanie matematyczne – złożoność obliczeniowa, teoria a praktyka
Pojęcia podstawowe c.d. Rachunek podziałów Elementy teorii grafów
Zagadnienia transportowe Katedra Ekonomiki i Funkcjonowania Przedsiębiorstw Transportowych.
© Prof. Antoni Kozioł, Wydział Chemiczny Politechniki Wrocławskiej MATEMATYCZNE MODELOWANIE PROCESÓW BIOTECHNOLOGICZNYCH Temat – 5 Modelowanie różniczkowe.
Algorytmy, sposoby ich zapisu.1 Algorytm to uporządkowany opis postępowania przy rozwiązywaniu problemu z uwzględnieniem opisu danych oraz opisu kolejnych.
Jak można wykorzystać swoją wiedzę z Matlaba
Metody matematyczne w Inżynierii Chemicznej
inżynierskie metody numeryczne D10/230,
Analiza numeryczna i symulacja systemów
Algorytmy i struktury danych
* PROCESÓW TECHNOLOGICZNYCH
POJĘCIE ALGORYTMU Wstęp do informatyki Pojęcie algorytmu
Zapis prezentacji:

inżynierskie metody numeryczne D11/106, bszafran@agh.edu.pl konsultacje: środy 8:30-10:00 http://galaxy.uci.agh.edu.pl/~bszafran/imn10 cel przedmiotu: przygotowanie do pracy w zakresie numerycznego modelowania zjawisk i urządzeń stosowanego w zagadnieniach techniki (inżynierii) i nauki symulacje obliczeniowe: w technice: inżynieria obliczeniowa: modelowanie i symulacja zjawisk i urządzeń. badania i optymalizacji procesów produkcyjnych oraz produktów. w nauce: interpretacja i przewidywanie danych doświadczalnych, zrozumienie obserwacji, przewidywanie nowych zjawisk. Modelowanie naukowe/inżynieryjne: metody podobne, różnica w celu oraz obiekcie badań Do pierwszego wykładu – wstęp, program, organizacja zajeć, oceny

Metody badani układów/zjawisk/urządzeń: Metody teoretyczne (modele rozwiązywane ściśle - analityczne) ograniczone do prostych problemów (w nauce – te akurat są często najważniejsze) lub wyidealizowanych modeli. Idealizacja oparta na intuicji, które bywa błędna. Badania doświadczalne nieodzowne i najważniejsze, ale drogie (i / lub czasochłonne) często same w sobie nie pozwalają na zrozumienie zjawiska przydatne wsparcie ze strony obliczeń ścisłych lub przybliżonych Symulacje numeryczne pozwalają na rozwiązywanie dokładnych równań z kontrolowalną dokładnością często do wykonania taniej i szybciej niż badania doświadczalne pozwalają prześledzić wyniki w funkcji dowolnych parametrów – pełna informacja o możliwych do osiągnięcia własnościach

Tematyka wykładu: głównie rozwiązywanie równań różniczkowych: zwyczajnych i cząstkowych. Równania różniczkowe – opis zjawisk wprowadzony w XVIII / XIX w. Problemy rozwiązywalne analitycznie – nieliczne. [np. Równania dynamiki płynów znane od połowy XIX wieku Navier/Stokes - od stosunkowo niedawna są rozwiązywane poza najprostszymi przypadkami] Metody numeryczne – przybliżone i wydajne rozwiązania równań. -- równie stare jak same równania Metoda Eulera – XVIII w. Metody Rungego-Kutty, Galerkina – początek XX wieku. Kwadratury Newtona, Gaussa – stara historia (odkrycie Neptuna – połowa XIX wieku wynik symulacji numerycznej). Nowsza historia: szybka transformata Fouriera, iteracje wielosiatkowe, niejawne metody RK Stosowanie metod numerycznych – ograniczone i żmudne przed wynalezieniem komputerów.

Znaczenie modelowania numerycznego rosło i będzie rosło z rozwojem sprzętu ... Rok FLOPS Pamięć EDSAC (lampowy) 102 2kB 1997 ASCI Red (symulator eksplozji jądrowych) 1012 300 GB 2002 NEC Earth Simulator (modelowanie klimatu) 1013 10 TB 2009 IBM Blue Gene / Q 1015 500 TB oraz metod obliczeniowych (za M. Schaeferem, computational engineering) Rok Tempo rachunków 1970 Eliminacja Gaussa 1 1975 Metoda Gaussa-Seidla 15 1980 Nadrelaksacja 250 1985 Metoda gradientów sprzężonych 1 k 1990 Metody wielosiatkowe 5 k 2000+ Siatka adaptowana 50 k

Symulacje numeryczne są ze swej natury interdyscyplinarne (matematyka, metody numeryczne, nauki ścisłe, konkretna dziedzina inżynierii / nauki + programowanie) - gdzie trzeba będę starał się podawać elementarną wiedzę z zakresu fizyki opisywanych zjawisk. Matematyka numeryczna Informatyka Symulacja numeryczne Fizyka/Chemia Dziedzina pochodzenia problemu (inżynieria/nauka) Tylko w ujęciu inter – symulacje są użyteczne (interesujące)

Miejsce numeryki w rozwiązywaniu problemów Problem (naukowy/inżynieryjny) Rozwiązanie Dane doświadczalne, modele matematyczne Analiza i interpretacja Weryfikacja i korekta modelu Równania różniczkowe / warunki brzegowe wartości użyteczne / mierzalne Przetworzona informacja *** Generacja siatki, dyskretyzacja (czasu / obszaru całkowania) Obróbka danych *** * Algebraiczne algorytmy numeryczne ** programowanie *** Układy równań algebraicznych Rozwiązanie numeryczne (milion liczb) *** *wykład (FDM,FVM,FEM,BEM) ** wykład (ten lub KSN) *** laboratorium

Szczegółowy program wykładu: galaxy.uci.agh.edu.pl/~bszafran/imn10/planw10.pdf Literatura: Press, Numerical Recipes (The art of scientific computing). Haupt, Practical Genetic Algorithms. Weinberger, A first course in partial differential equations. Koonin, Computational Physics. Solin, Partial Differential Equations and the Finite Element Method. Zienkiewicz, Finite Element Method, its basis & fundamentals. Lienhard, A Heat Transfer Textbook. Sabersky, Fluid flow : a first course in fluid mechanics. Quarteroni, Numerical mathematics. Trefethen, Finite difference and spectral methods for ordinary and partial differential equations. Cichoń, Metody Obliczeniowe. Sewell, The numerical solution of ordinary and partial differential equations. Evans, Numerical Methods for Partial Differential Equations R.Grzymkowski, A.Kapusta, I. Nowak, D. Słota, Metody Numeryczne, Zagadnienia Brzegowe Schafer, Computational Engineering, Introduction to Numerical Methods

Laboratorium: staramy się aby związek wykładu z laboratorium był bliski 1:1 Tematy (za treść odpowiedzialny – wykładowca) - na stronie http://galaxy.uci.agh.edu.pl/~bszafran/imn10 Podane jest w tej chwili około 10 tematów – ich treść może się zmieniać, ale nie później niż 7 dni przed zajęciami laboratoryjnymi. 4 Grupy: Wtorek 14:30-17:30 dr inż. Małgorzata Krawczyk Środa 18-21 dr inż. Przemysław Gawroński Środa 14:30-17:30 dr inż. Krzysztof Malarz Środa 18-21 dr inż. Maciej Wołoszyn

Ocena z laboratorium: Średnia arytmetyczna z aktywności i raportów. Aktywność: oceniana na podstawie wyników i źródeł przesłanych prowadzącemu pod koniec zajęć. Raporty: pełne, lecz możliwe krótkie opisy uzyskanych wyników. Ocena raportu: za kompletne i poprawne wyniki uzyskać można do 60% : za adekwatny komentarz wyników 20% : za sensowny, samodzielnie napisany i zwięzły wstęp oraz wnioski – po 10% (zwięzły znaczy – nie dłuższy niż 6 zdań). Raport należy przysłać prowadzącemu w terminie 14 dni (w semestrze zimowym 7 dni) od zakończenia zajęć. Raporty przysłane później nie będą punktowane.

Ocena z laboratorium: Student ma prawo do dwukrotnego poprawiania zajęć laboratoryjnych. zamiast zajęć poprawkowych: anulujemy każdemu studentowi dwie najgorsze oceny z aktywności / raportu

Egzamin: pisemny (test), 5 zadań do rozwiązania. Przystąpić mogą osoby z zaliczonymi obydwoma semestrami lab. Ocena: 1/3 średniej z zaliczeń + 2/3 wyniku testu Dla potrzeb egzaminu średnia z zaliczeń policzona będzie z górnych widełek dla danej oceny: Regulamin AGH: 91 – 100% bardzo dobry (5.0); 81 – 90% plus dobry (4.5); 71 – 80% dobry (4.0); 61 – 70% plus dostateczny (3.5); 50 – 60% dostateczny (3.0); Przykład: osoba z dwoma czwórkami rozwiązuje 2 zadania na 5 1/3  80% + 2/3  40% >50 % Wniosek: dobre zaliczenie bardzo pomaga zdać egzamin (3.5 + 5)/2 = (70%+100%)/2 = 85%

Zwolnienie z egzaminu: Student, którego średnia z zaliczeń laboratoryjnych będzie odpowiadała 4.5 (>80%) - może zostać zwolniony z egzaminu [średnia z zaliczeń zostaje wpisana wtedy jako wynik egzaminu]: Pary ocen uprawniających do zwolnienia z egzaminu: + 4.5 4 + 5 → 4.5 3.5 + 5 4.5 + 5 → 5 5 + 5

Obecny plan laboratorium: Zajęcia 1: algorytm kolonii mrówek Zajęcia 2: symulowane wygrzewanie ( Środki przeszkód do zadania 2). Zajęcia 3: wariacyjne MC z algorytmem Metropolisa dla równania Poissona Zajęcia 4: schematy jawne i niejawne dla rrz Zajęcia 5: ekstrapolacja Richardsona: szacowanie błędów i automatyczny dobór kroku czasowego Zajęcia 6: problemy sztywne Zajęcia 7: niejawne metody RK Zajęcia 8: problem brzegowy 1D, metoda Numerowa Zajęcia 9: iteracja wielosiatkowa dla równania Laplace'a Zajęcia 10: metody relaksacyjne Zajęcia 11: przepływ potencjalny Zanim dojdziemy do równań różniczkowych – mniej twarde rachunki, być może mniej ważne – ale nie mniej ciekawe niż główny wątek wykładu ... Zaczynamy od mrówek ...

optymalizacja kombinatoryczna – dla zmiennej dyskretnej Przykład: najkrótsza sieć (kanalizacyjna, energetyczna, światłowodowa) dla miast powiatowych województwa małopolskiego:

optymalizacja kombinatoryczna – dla zmiennej dyskretnej Przykład: najkrótsza sieć (kanalizacyjna, energetyczna, światłowodowa) dla miast powiatowych województwa małopolskiego: Województwo zakodowane w postaci grafu – poszukiwane najkrótsze drzewo spinające. 31

optymalizacja kombinatoryczna – dla zmiennej dyskretnej Przykład: najkrótsza sieć (kanalizacyjna, energetyczna, światłowodowa) dla miast powiatowych województwa małopolskiego: Województwo zakodowane w postaci grafu – poszukiwane najkrótsze drzewo spinające. 31 Rozwiązanie:

optymalizacja kombinatoryczna – dla zmiennej dyskretnej Przykład: najkrótsza sieć (kanalizacyjna, energetyczna, światłowodowa) dla miast powiatowych województwa małopolskiego: Województwo zakodowane w postaci grafu – poszukiwane najkrótsze drzewo spinające. 31 rozwiązanie dane przez algorytm zachłanny Kruskula : tworzymy las dodając po kolei najkrótsze krawędzie tak aby nie utworzyć pętli: dostaniemy najlepsze rozwiązanie a. zachłanny: kieruje się regułą maksymalnego zysku w najbliższym kroku (w szachach sukcesów nie odnosi) Rozwiązanie:

Limanowa-Nowy Sącz C 4 1 K T 4 2 B 4 3 3 1 4 2 3 6 M 3 2 4 5 W 4 2 L 6 31 3 1 4 2 3 6 M 3 2 4 5 W 4 2 L 6 5 2 3 4 3 S 3 6 G 5 7 N S N T

Wadowice-Chrzanów C 4 1 K T 4 2 B 4 3 3 1 4 2 3 6 M 3 2 4 5 W 4 2 L 6 31 3 1 4 2 3 6 M 3 2 4 5 W 4 2 L 6 5 2 3 4 3 S 3 6 G 5 7 N S N T

Myślenice-Kraków G T N S L B K M W C 3 6 4 5 2 7 1 31

Bochnia-Limanowa C G T N S L B K M W 3 6 4 5 2 7 1 31

Wadowice-Myślenice C 4 1 K T 4 2 B 4 3 3 1 4 2 3 6 M 3 2 4 5 W 4 2 L 6 31 3 1 4 2 3 6 M 3 2 4 5 W 4 2 L 6 5 2 3 4 3 S 3 6 G 5 7 N S N T

Nowy Sącz-Gorlice C 4 1 K T 4 2 B 4 3 3 1 4 2 3 6 M 3 2 4 5 W 4 2 L 6 31 3 1 4 2 3 6 M 3 2 4 5 W 4 2 L 6 5 2 3 4 3 S 3 6 G 5 7 N S N T

bezpośrednie połączenie CK już się nie przyda Kraków-Bochnia C 4 1 K 4 2 T B 4 3 31 3 1 4 2 3 6 M 3 2 4 5 W 4 2 L 6 5 2 3 4 3 S 3 6 G 5 7 N S N T

M-NT B-T G T N S L B K M W C 3 6 4 5 2 7 1 31

Algorytm zachłanny – skuteczny więc - problem najkrótszego 31 Algorytm zachłanny – skuteczny więc - problem najkrótszego drzewa spinającego jest łatwy. Rozwiązanie: Złożoność dla najlepszej implementacji O(|V|log|V|), V – liczba wierzchołków

Problem najkrótszej drogi z wierzchołka A do wszystkich pozostałych w grafie (przeszukiwanie grafu wszerz z oznaczaniem wierzchołków) Każda krawędź ma wagę (długość) – ustalone i definiujące problem Wierzchołkowi przypisujemy: Wagę: najkrótsza znaleziona odległość z wierzchołka A Kolor: biały oznacza, że waga tymczasowa, czarny, że ustalona (krócej nie będzie) Etykietę: którędy do A Wagi, kolory i etykiety wierzchołków zmieniają się w czasie działania algorytmu 0) Oznacz wszystkie wierzchołki kolorem białym. Przypisz wierzchołkowi startowemu (A) wagę 0 Znajdź i zaczerń biały wierzchołek v o najmniejszej wadze Dla każdego B - białego wierzchołka przyległego do v: jeśli waga B > waga v + waga krawędzi (v,B) lub jeśli waga B nie została wcześniej zdefiniowana waga B:=waga v + waga krawędzi (v,B) oraz ustaw etykietę B na v Jeśli są jeszcze białe wierzchołki idź do 1 (złożoność V2)

przykład: najkrótsze trasy z Gorlic do pozostałych miast 1) Gorlice malujemy na czarno, miastom sąsiednim nadajemy wagi – odległości od Gorlic i indeks G. G T N S L B K M W C 3 6 4 5 2 7 1 2) Szukamy białego miasta o najmniejszej wadze i malujemy je na czarno (Nowy Sącz), wagę czarnego miasta ustalamy (mniejszej nie będzie) G T N S L B K M W C 3 6 4 5 2 7 1 3) sąsiedzi Nowego Sącza otrzymują próbne wagi i etykiety G T N S L B K M W C 3 6 4 5 2 7 1 9

4) Najmniejszą wagę ma teraz Tarnów, 5) Następnie Limanowa C G T N S L B K M W C 3 6 4 5 2 7 1 9 8 4 1 8 9 T K T 4 2 B 4 4 4 5 G 3 1 4 2 do Bochni z Gorlic bliżej przez Tarnów niż przez Limanową 3 6 M 9 1 L ? 3 2 4 5 W 4 2 1 1 L L 5 9 N S 6 5 2 3 4 3 S 3 6 5 7 G N S 3 6 G N T 9 3 N S 6) Bochnia 7) Po Nowy Targu – Myślenice, z nich bliżej do Wadowic G T N S L B K M W C 3 6 4 5 2 7 1 9 8 ? do Myślenic jednak bliżej przez Limanową

ostatecznie Np.: z Chrzanowa do Gorlic trafimy po etykietach

Np.: z Chrzanowa do Gorlic trafimy po etykietach ostatecznie Np.: z Chrzanowa do Gorlic trafimy po etykietach Zamiast stosować algorytmu można zrobić model z nitek i koralików, potem naciągnąć koraliki oznaczające Chrzanów i Gorlice

Algorytm zachłanny dla komiwojażera: Widzieliśmy, że dwa ważne problemy mają efektywne, deterministyczne, dokładne rozwiązanie Niektóre problemy są jednak obiektywnie trudne (nie istnieje algorytm o złożoności wielomianowej): wybór najkrótszej zamkniętej trasy przez wszystkie miasta (problem komiwojażera): Odwiedzić wszystkie miasta w cyklu zamkniętym w takiej kolejności aby pokonana trasa była najkrótsza. algorytm deterministyczny rozwiązujący problem dokładny z wielomianową złożonością nie istnieje, gdy problem o dużym rozmiarze należy rozwiązać – stosuje się podejścia heurystyczne lub Monte Carlo Algorytm zachłanny dla komiwojażera: ruszaj do najbliższego miasta, którego jeszcze nie odwiedziłeś. - rozsądny: wyeliminuje przynajmniej długie przejazdy bez zatrzymywania się Klasyczny problem testowy dla algorytmów optymalizacyjnych

Zachłanne rozwiązanie nie jest optymalne (choć nie najgorsze) Rozwiązanie zachłanne: start ze Szczecina: Najlepsze PL: 46 miast Szukana jest permutacja - przejrzeć wszystkie N! - niewykonalne 46!=5502622159812088949850305428800254892961651752960000000000 najlepszy algorytm dokładny: złożoność rzędu 2N –lepiej niż N!, ale wciąż wiele 246=70368744177664 Gdy problem zbyt trudny by go rozwiązać dokładnie przy pomocy algorytmu deterministycznego – można zadowolić się przybliżonym (heurystycznym) lub próbować je poprawić przy pomocy MC

Problem obiektywnie trudny = gdy najlepszy deterministyczny algorytm nie zakończy swojego działania w skończonym czasie  klasy złożoności obliczeniowej Problemy decyzyjne: z odpowiedzią tak/nie Problemy NP Schemat obowiązuje pod warunkiem że PNP P NP-zupełne NP – można łatwo sprawdzić odpowiedź (w czasie wielomianowym) zadanie rozkładu na czynniki pierwsze liczby 136117223861 nieznany jest wielomianowy algorytm (na komputer klasyczny) ale jeśli ktoś nam poda odpowiedź 1047291299709 - szybko sprawdzimy. P – problemy, dla których znane jest rozwiązanie o wielomianowej złożoności (nie ma dowodu, że PNP.) NP – zupełne (najtrudniejsze) – można do nich sprowadzić dowolny problem z NP z nadkładem wielomianowym. Jeśli jeden z problemów NP.-zupełnych zostanie rozwiązany w czasie wielomianowym, to P=NP.

Problemy NP P NP-zupełne F Faktoryzacja jest NP, wydaje się, że nie jest P i że nie jest NP-zupełna. [„Wydaje się, że nie P” na tyle bardzo, że protokół klucza publicznego RSA oparty na niewykonalności faktoryzacji w krótkim czasie] NP.-zupełne: problem spełnialności binarnego układu logicznego, problem komiwojażera, izomorfizmu grafów, kliki, kolorowania wierzchołków grafu i inne. W praktyce problemy, które nie są P – stają się niemożliwe do dokładnego rozwiązania dla dużych rozmiarów zadania

Cykl (zamknięta ścieżka) Eulera najkrótsza trasa z A do B – problem łatwy (bo wielomianowy algorytm znany) najkrótsza trasa po wszystkich miastach – problem trudny (bo algorytm wielomianowy nieznany) Inna znana para pozornie podobnych problemów o skrajnie różnej złożoności obliczeniowej: problem istnienia cyklu Eulera i cyklu Hamiltona Cykl (zamknięta ścieżka) Eulera Zadanie: zaplanować trasę spaceru: przejść po każdym moście dokładnie raz i wrócić do punktu wyjścia (odwiedź wszystkie krawędzie grafu dokładnie raz)

Cykl Eulera w grafie istnieje wtedy i tylko wtedy gdy wszystkie jego wierzchołki są stopnia parzystego 3 stopień wierzchołka = liczba przyległych krawędzi 5 3 3 przy każdym przejściu przez wierzchołek używamy 2 krawędzi Jeśli istnieje to parzyste stopnie Jeśli parzyste stopnie to można wskazać cykl E zaczynamy spacer od dowolnego wierzchołka usuwając z grafu przebyte krawędzie, wrócimy do wierzchołka startowego bez rozspójniania grafu

Cykl Hamiltona odwiedzić wszystkie wierzchołki bez powtarzania przemarszu przez żadną z krawędzi wracając do punktu wyjścia (nie trzeba korzystać z każdej krawędzi, co wcale nie ułatwia zadania, bo problem istnienia CH – np.-zupełny ) graf planarny (rzut środkowy dwunastościanu)

cykl Hamiltona dla dwunastościanu

Jeśli wiemy, że problem NP-zupełny, a rozmiar problemu duży Jeśli wiemy, że problem NP-zupełny, a rozmiar problemu duży – poszukajmy rozwiązania przybliżonego Metoda dokładna nie zadziała w skończonym czasie. Jeśli nie wiemy jak szukać- poszukajmy losowo. Lecz: Całkiem ślepe przeszukiwanie losowe nie różni się od przeglądania wszystkich rozwiązań: prawdopodobieństwo znalezienia najlepszego jest żadne, a i rozsądnego znikome. Problem komiwojażera dla 20 miast w pd-wsch Polsce Wszystkich permutacji jest 20!=2432902008176640000. Najlepsza trasa znaleziona po 1000 000 prób (długość 89.12 [j.umowne] ) Widać, że kiepska: 1) skrzyżowane trasy 2) krócej będzie Tarnów-Nowy Sącz-Kraków Katowice

Najlepsza trasa znaleziona po 1000 000 losowaniach (długość 89. 12 [j Najlepsza trasa znaleziona po 1000 000 losowaniach (długość 89.12 [j.umowne] ) Algorytm zachłanny start z Częstochowy 68.73 Wniosek: jeśli przeszukiwanie MC ma być skuteczne – nie może być całkiem losowe

Optymalizacja wg podejścia „kolonii mrówek” Dorigo M, Gambardella LM BIOSYSTEMS 43 73 1997 Mrówki zostawiają na swojej trasie szlak zapachowy (feromonowy). Pozostałe mrówki starają się go śledzić. źródło rysunków: Eberhart,Shi,Kennedy: Swarm Intelligence Ręcznie położony szlak zapachowy Ślad zapachowy: 1) wyznacza trasę między mrowiskiem a źródłem pożywienia 2) pozwala na jej optymalne wytyczenie 3) umożliwia adaptację do zmieniającego się środowiska

Dodatnie sprzężenie zwrotne źródło rysunków: Eberhart,Shi,Kennedy: Swarm Intelligence Dodatnie sprzężenie zwrotne (najsilniejszy ślad na najkrótszej drodze).

Szlak zapachowy i adaptacja trasy dla zmienionego otoczenia wstawiona przeszkoda losowo na prawo/lewo ? ? Na krótszej drodze szlak feromonowy szybciej domknięty Dodatnie sprzężenie zwrotne Dorigo M, Gambardella LM BIOSYSTEMS 43 73 1997

Algorytm kolonii mrówek dla problemu komiwojażera Założenia: 1 W metodzie: grupa przemieszczających się wędrowców symulujących zachowanie mrówek 2 Preferowany szlak o największym nasileniu feromonu 3 Wzrost feromonu na najkrótszej trasie 4 Komunikacja między mrówkami przez szlak feromonowy 5 Strategia najbliższego sąsiada włączona w algorytm (mrówki kierują się nie tylko feromonem, ale również starają się dostać do miast raczej bliżej niż dalej położonych) Sztuczne mrówki potrafią więcej niż prawdziwe: (1) Pamiętają swoją trasę (2) Ustalają, która przeszła najkrótszą drogę

t(i,j) = f(i,j) / [d(i,j)]b Miasta połączone w graf pełny: krawędź między wierzchołkami i oraz j opisana (1) długością d(i,j) stała, definiuje problem (2) natężeniem feromonu f(i,j) zmienia się w trakcie nauki Z długości (stałej) i feromonu (zmiennego) budujemy funkcję preferowanego ruchu: t(i,j) = f(i,j) / [d(i,j)]b im większe t(i,j) tym większe będzie pstwo przejścia z i do j – parametr [znaczenie feromonu/długości krawędzi] =0 tylko feromon, duże b -tylko długość optymalne: b=2

Mrówki wykonują wiele obiegów przed każdym z nich są losowo rozmieszczane po miastach

? Parametr q0 z przedziału (0,1). Wybór mrówki: jest w mieście i do którego miasta iść? i Tu nie pójdzie bo już była Każda krawędź opisana przez t(i,j) ? mrówka kieruje się doświadczeniem zdobytym przez mrowisko, nawet gdy wybór miasta następuje przy użyciu generatora liczb losowych Parametr q0 z przedziału (0,1). q0 – jeśli wysokie mrówki bardziej skłonne korzystać z doświadczenia społeczności – jeśli niskie mrówki chętniej eksperymentują z nowymi trasami Losujemy q z przedziału (0,1): jeśli q<q0 [doświadczenie] mrówka idzie do nie odwiedzonego jeszcze miasta j, dla którego t(i,j) = max jeśli q>q0 [eksploracja] miasto j jest losowane z rozkładem, w którym prawdopodobieństwo jest proporcjonalne do t(i,j) wstawic jutro jak zrobic generator, w ktorym pstwo proporcjonalne do t optymalne q0=0.9

Stworzyć dyskretny generator losowy o zadanym rozkładzie miasto j jest losowane z rozkładem, w którym prawdopodobieństwo jest proporcjonalne do t(i,j) Stworzyć dyskretny generator losowy o zadanym rozkładzie dysponując generatorem o rozkładzie równomiernym z przedziału (0,1) powiedzmy że dla ustalonego i mamy: t(i,4)=1.05, t(i,2)=t(i,3)=.81, t(i,1)=.195 liczymy rozkład pstwa: p(i,j)=t(i,j)/suma i p 4 35% 3 27% 2 27% 1 11% Tworzymy tablicę dystrybuanty rozkładu 1 2 3 4 P(0)=0 P(1)=0.11 P(2)=0.38 P(3)=0.65 P(4)=1 Losujemy liczbę l z przedziału (0,1) z rozkładem równomiernym. Uznajemy, że wylosowany został osobnik i+1 (słownie i plus pierwszy), jeśli

Odkładanie feromonu na krawędziach : globalne i lokalne Ma preferować najkrótszy szlak. Następuje na całej trasie gdy mrówki wykonają pełen obieg i porównają długości swoich tras. Najkrótsza w jednym obiegu: czerwona Feromon na każdej z krawędzi należącej do najkrótszej trasy zostaje zmieniony wg. f(i,j):=(1-a)f(i,j)+a/D dla wszystkich krawędzi (i,j) na najkrótszej trasie, D – długość najkrótszej trasy – parametr z (0,1) a = 0 - ostatni przebieg ignorowany =1 ignorowane doświadczenie z poprzednich przebiegów zazwyczaj optymalne około a=0.1

f(i,j):=(1-a)f(i,j)+a/D Odkładanie feromonu na krawędziach : globalne i lokalne 1) Globalne (zachęcające, wykonywane po każdym obiegu) f(i,j):=(1-a)f(i,j)+a/D D – długość najkrótszej trasy Lokalne (zniechęcające, wykonywane po każdym kroku) Ma zniechęcać mrówki w przed poruszaniem się po dokładnie tej samej trasie (w tym samym obiegu) tym samym stymulując pozostałe do poszukiwań. Następuje na krawędzi (i,j) po przejściu mrówki z i do j. Feromon na krawędzi (i,j): f(i,j):=(1-a)f(i,j)+a/p p – parametr zniechęcający (p=ML, M-liczba miast, L-długość trasy wg. heurystyki najbliższego sąsiada)

Algorytm kolonii mrówek dla problemu komiwojażera wprowadzamy problem – graf pełny o N wierzchołkach. z długościami krawędzi d(i,j). Na krawędzi (i,j) ustawiamy początkowy poziom feromonu f(i,j)=1/[d(i,j)]b rozmieszczamy m mrówek w losowo wybranych miastach każda z mrówek przechodzi z miasta i do miasta j, którego jeszcze nie odwiedziła z pstwem q0 miasto j jest wybierane tak aby t(i,j) max z pstwem 1-q0 miasto wybierane jest losowo z rozkładem danym funkcją preferencji. przy przejściu mrówka odkłada feromon lokalnie (zniechęcająco) na krawędzi (i,j) powtarzamy N razy każda z mrówek kończy obieg po pełnym obiegu mrówki porównują swoje trasy. feromon jest odkładany globalnie po najkrótszej trasie (zachęcająco na wszystkich krawędziach trasy) powtarzamy dopóki długość trasy ulega skróceniu

Dobór parametru q0 Wyniki (rozkład prawdopodobieństwa zmienia się z czasem) Losowe tylko rozmieszczanie mrówek przed każdym obiegiem Eksploracja przydaje się żeby przyspieszyć zbieżność. okres nauki

Optymalna liczba mrówek Okres nauki

Społeczność uczy się najkrótszej trasy cd: 20 miast PL południowo-wschodnia trasa optymalna – na niebiesko czerwone – krawędzie najbardziej preferowane [ max t(i,j) ] 10 iteracja 25 iteracja 500 iteracja Tylko 2 najbardziej preferowane krawędzie nie należą do trasy optymalnej: Przemyśl-Rzeszów, Katowice-Częstochowa Tylko 3 najbardziej preferowane krawędzie należą do trasy optymalnej. Przypadkowe zagęszczenie w okolicach Lublina i Świdnika Wszystkie najbardziej preferowane należą do trasy optymalnej

Bartłomiej Urbaniec: 20 krawędzi o największej funkcji preferencji w kolejnych iteracjach 20 najczęściej używanych krawędzi parametry b=2, q0=0.2, m=10

Trasy mrówek w ostatniej iteracji (Bartłomiej Urbaniec)

Bartłomiej Urbaniec: Zastosowanie algorytmu dla problemu najkrótszej drogi (do problemu rozwiązywanego przez prawdziwe mrowisko – który stanowił inspirację dla stworzenia algorytmu) wprowadzamy prostokątna siatkę punktów punkty nie są łączone w graf pełny łączymy krawędziami tylko najbliższych sąsiadów punkt czerwony przeszkoda długość czerwonych krawędzi ustawiany nieskończona pozostałe d(i,j)=1 3) mrówka wybiera spośród (zazwyczaj) 4 możliwości ruchu 4) pozwalamy jej wracać do punktów już odwiedzonych 5) nakładamy ograniczenie na maksymalną liczbę kroków

250 1 obieg 50 750