ALHE Jarosław Arabas Podstawowe pojęcia

Podobne dokumenty
Programowanie proceduralne INP001210WL rok akademicki 2017/18 semestr letni. Wykład 3. Karol Tarnowski A-1 p.

Algorytmy, reprezentacja algorytmów.

Algorytm. Krótka historia algorytmów

Algorytmy i złożoność obliczeniowa. Wojciech Horzelski

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

ALHE Jarosław Arabas. Przeszukiwanie przestrzeni ścieżek w grafie. Algorytm A*

Algorytm. Algorytmy Marek Pudełko

Algorytm. Słowo algorytm pochodzi od perskiego matematyka Mohammed ibn Musa al-kowarizimi (Algorismus - łacina) z IX w. ne.

Algorytm. Słowo algorytm pochodzi od perskiego matematyka Mohammed ibn Musa al-kowarizimi (Algorismus - łacina) z IX w. ne.

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

Wykład 3. Metoda dziel i zwyciężaj

Podstawy Programowania Algorytmy i programowanie

Algorytm selekcji Hoare a. Łukasz Miemus

Algorytm. Krótka historia algorytmów

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 1. Karol Tarnowski A-1 p.

Optymalizacja. Wybrane algorytmy

Efektywność algorytmów

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 1

REKURENCJA W JĘZYKU HASKELL. Autor: Walczak Michał

Algorytmy i struktury danych

Konstruktor kopiujacy

Zaawansowane algorytmy i struktury danych

Macierze - obliczanie wyznacznika macierzy z użyciem permutacji

XIII International PhD Workshop OWD 2011, October 2011 METODA REEINGINEERINGU ORGANIZACJI Z WYKORZYSTANIEM SYMULATORA PROCESÓW BIZNESOWYCH

Technologie Informacyjne

Wykład IV Algorytmy metody prezentacji i zapisu Rzut oka na język PASCAL

Dydaktyka matematyki III-IV etap edukacyjny (wykłady) Wykład nr 6: Nauczanie algorytmów w szkole Semestr zimowy 2018/2019

Sortowanie przez scalanie

Techniki optymalizacji

Programowanie dynamiczne i algorytmy zachłanne

Wstęp do programowania

PDF stworzony przez wersję demonstracyjną pdffactory Pro Program 15

Plan. Zakres badań teorii optymalizacji. Teoria optymalizacji. Teoria optymalizacji a badania operacyjne. Badania operacyjne i teoria optymalizacji

ALHE Z11 Jarosław Arabas wykład 11

Matematyczne Podstawy Informatyki

Tablice mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011

1. Dyscypliny filozoficzne. Andrzej Wiśniewski Wstęp do filozofii Materiały do wykładu 2015/2016

22+d+e marca, gdy d+e 9. d+e-9 kwietnia, gdy d+e>9

Zajęcia nr 5 Algorytmy i wskaźniki. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

Podstawowe algorytmy i ich implementacje w C. Wykład 9

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

Algorytmy sortowania w języku C. Autor: mgr inż. Sławomir Samolej. Zagadnienie 1. (Sortowanie)

Harmonogramowanie przedsięwzięć

Algorytmy i złożoności. Wykład 3. Listy jednokierunkowe

Tytuł pracy dyplomowej

Algorytmika i programowanie. dr inż. Barbara Fryc Wyższa Szkoła Informatyki i Zarządzania w Rzeszowie

Wstęp do programowania

Kontrola przebiegu programu

Złożoność obliczeniowa algorytmu ilość zasobów komputera jakiej potrzebuje dany algorytm. Pojęcie to

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

EDU TALENT - serwis pomocy w pisaniu prac magisterskich i licencjackich dla studentów

Projektowanie i Analiza Algorytmów

Wstęp do programowania

Algorytmy przeszukiwania

Metoda poszukiwania TABU w zastosowaniu do optymalizacji harmonogramu dostaw sieci dystrybucji towarów. Przykład przemysłu meblarskiego

Zaawansowane programowanie

Wstęp do programowania

SZTUCZNA INTELIGENCJA

Metody numeryczne w przykładach

Wskaźniki. nie są konieczne, ale dają językowi siłę i elastyczność są języki w których nie używa się wskaźników typ wskaźnikowy typ pochodny:

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

Wybrane podstawowe rodzaje algorytmów

ALHE. prof. Jarosław Arabas semestr 15Z

1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami

EGZAMIN MATURALNY 2011 INFORMATYKA

Algorytmy i Struktury Danych, 2. ćwiczenia

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

E-I-0002-s3. Matematyka dyskretna. Informatyka I stopień (I stopień / II stopień) ogólno akademicki (ogólno akademicki / praktyczny)

KARTA PRZEDMIOTU. 10. WYMAGANIA WSTĘPNE: wiadomości i umiejętności z zakresu matematyki z semestru 1

Strategia "dziel i zwyciężaj"

Wstęp do programowania

Wrocław, Wstęp do informatyki i programowania: liczby pierwsze. Wydział Matematyki Politechniki Wrocławskiej.

Sposoby przedstawiania algorytmów

Informacje wstępne #include <nazwa> - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char

Umiejscowienie kierunku w obszarze kształcenia

L.O. św. Marii Magdaleny w Poznaniu, O POŻYTKACH PŁYN ACYCH Z RZUCANIA MONETA. Tomasz Łuczak

KIERUNKOWE EFEKTY KSZTAŁCENIA

Matematyka Dyskretna Discrete Mathematics. Informatyka I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

Operatory logiczne. Podstawowe operatory logiczne, składanie wyrażeń z użyciem operatorów logicznych

Algorytmy i schematy blokowe

Klasy abstrakcyjne i interfejsy

Wykład 1_2 Algorytmy sortowania tablic Sortowanie bąbelkowe

Analiza numeryczna Kurs INP002009W. Wykłady 6 i 7 Rozwiązywanie układów równań liniowych. Karol Tarnowski A-1 p.

KARTA PRZEDMIOTU. zaliczenie na ocenę

Bazy danych wykład dwunasty. dwunasty Wykonywanie i optymalizacja zapytań SQL 1 / 36

FOLIA POMERANAE UNIVERSITATIS TECHNOLOGIAE STETINENSIS Folia Pomer. Univ. Technol. Stetin. 2009, Oeconomica 275 (57), 53 58

Zaawansowane algorytmy i struktury danych

PLAN STUDIÓW STACJONARNYCH PIERWSZEGO STOPNIA MATEMATYKA. od roku akademickiego 2015/2016

Wstęp do programowania

Zaawansowane programowanie

ZADANIA Z MATEMATYKI DLA STUDENTÓW KIERUNKÓW EKONOMICZNYCH

Algorytmy sortujące i wyszukujące

5. Podstawowe algorytmy i ich cechy.

Proste algorytmy w języku C

Szeregowanie zadań. Wykład nr 2. dr Hanna Furmańczyk. 12 października 2014

Optimizing Programs with Intended Semantics

Patrycja Prokopiuk. Zastosowanie rachunku prawdopodobieństwa w Pokerze Pięciokartowym

Zadanie 5 - Algorytmy genetyczne (optymalizacja)

Podstawy programowania. Wykład: 8. Wskaźniki. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Laboratorium z przedmiotu Programowanie obiektowe - zestaw 04

Transkrypt:

ALHE Jarosław Arabas Podstawowe pojęcia

Rozwiązywanie zadań przez przeszukiwanie Sortowanie tablicy liczb in situ void sort (int *tab, unsigned n){ } int i=1,j=0,sorted=0; do{ sorted=1; for(j=0;j<n-i;++j){ if (tab[j+1]<tab[j]){ int temp=tab[j]; tab[j]=tab[j+1];tab[j+1]=temp; sorted=0;} ++i; }while(i<n &&!sorted);

Zbiór rozwiązań 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Związki między rozwiązaniami Tablice są do siebie podobne, gdy różnią się niewielką liczbą pól 1 1 1 1

Przestrzeń rozwiązań 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Funkcja celu w jakim stopniu cel jest spełniony/niespełniony Liczba par liczb, które nie spełniają pożądanej relacji porządku pary nie spełniają 1 pary spełniają Wartość funkcji celu wynosi

Rozwiązanie zadań przez przeszukiwanie przestrzeni rozwiązań Posortowanie tablicy jest równoważne znalezieniu cyklu przekształceń prowadzących do finalnej postaci jest to zatem zadanie znalezienia ścieżki w przestrzeni przeszukiwań, której punkt początkowy jest początkowym stanem tablicy, a punkt końcowy jest posortowaną tablicą

Przykładowa ścieżka 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 5 5 6 5 1

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Funkcja kosztu (celu, użyteczności) 1 0 1 5 5 6 5 1

Ścieżka w przestrzeni przeszukiwań 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 6 1 5 1 5 1 1 1 Serializacja przestrzeni przeszukiwań

Dixit Algorizmi

Dixit Algorizmi Abu Abdullah Muhammad ibn Musa al-chuwarizmi perski matematyk, astronom, geograf i kartograf żyjący w IX wieku Urodzony w Chiwie, w latach 81-8 żył w Bagdadzie. الجبر فارسی: صفحهای از کتاب المختصر فی حساب الجبر والمقابله اثر خوارزمی Liber Algebrae et Almucabola Rozwiązywanie równań do kwadratowego włącznie Od tytułu jego książki pochodzi nazwa algebra

Algorytmy Heurystyczne Algorytm uporządkowany zbiór operacji prowadzących do osiągnięcia zamierzonego celu (rozwiązania zadania) Na tym wykładzie nie będziemy się zajmować algorytmami w tym sensie Będziemy się zajmować algorytmami w sensie uporządkowanych zbiorów operacji realizujących pewną metodę przeszukiwania przestrzeni Zajmujemy się zadaniami praktycznie nierozwiązywalnymi

Zadania łatwe i trudne 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 Hierarchia problemów decyzyjnych NP P NP-zupełne 1 1 1 1 1 1 5 Problem łatwy: 1 1 1 1 1 1 5 5 6 Każda ścieżka wzdłuż nierosnącej funkcji celu prowadzi do celu Długość w/w ścieżki wielomianowo zależy od ilości danych Liczność sąsiedztwa punktu wielomianowo zależy od ilości danych

Metody heurystyczne Heuristic methods refer to experience-based techniques for problem solving, learning, and discovery. Where an exhaustive search is impractical, heuristic methods are used to speed up the process of finding a satisfactory solution. Examples of this method include using a rule of thumb, an educated guess, an intuitive judgment, or common sense. (Wikipedia) Heurystyka jest metodą, która często daje dość dobre rozwiązania i wykorzystuje wiedzę dziedzinową

Metaheurystyki W latach 1990, nastąpiła moda na algorytmy genetyczne/ewolucyjne Zaczęto wymyślać wiele nowych technik inspirowanych naturą, które nie były ewolucyjne W społeczeństwach zachodu istotna jest pociągająca narracja, nośna metafora. Z tego względu, opisując algrytm, odwoływano się do żargon wywiedzionego z metafory. Aby ogarnąć chaos nazewniczy, potrzebowano pewnej nazwy. Nie do końca wiadomo kto (Fred Glover?) wpadł na pomysł, żeby nazwą tą były metaheurystyki

Co robi meta w metaheurystyce? Andronikos z Rodos (I w. p.n.e.) - filozof grecki, arystotelik, dziesiąty po Arystotelesie scholarcha Lykeionu Uporządkował nabytą przez Apellikona i przewiezioną przez Sullę do Rzymu bibliotekę Arystotelesa. Za jego scholarchatu szkoła perypatetycka rozpoczęła działalność filologiczną. Był wydawcą i jednym z pierwszych komentatorów pism Arystotelesa i Teofrasta. Prawdopodobnie jest także twórcą tytułu dzieła Arystotelesa Metafizyka, od którego pochodzi pojęcie metafizyki. (Wikipedia) Metaheurystyka jest nazwą metod, które nastąpiły po tym, gdy nazwa heurystyka przestała być modna.

Rys historyczny

Rys historyczny Typowe spojrzenie na metaheurystyki: Metody inspirowane naturą [i kulturą] Konsekwencje + Nośna metafora (dobry PR) Kontrowersyjny żargon Chromosomy, memy, tabu, limfocyty, pszczoły, mrówki, świetliki, bakterie, galaktyki (cdn.) trudna analiza porównawcza maskarada, redundancja rozwiązań i teorii (lub jej braku)

Pieter Bruegel Starszy, 156

Cele przedmiotu Krótkie omówienie popularnych metaheurystyk Analiza porównawcza metaheurystyk Samodzielna praca z metaheurystykami

Filozofia przedmiotu rozwiązywanie problemów przez przeszukiwanie przestrzeni potencjalnych rozwiązań metaheurystyki jako sposób realizacji przeszukiwania wprowadzenie na potrzeby przedmiotu ogólnego schematu metaheurystyki, którego uszczegółowieniem są poszczególne algorytmy powiązanie z elementami teorii prawdopodobieństwa i statystyki przekazanie przede wszystkim intuicji algorytmów bardziej inżynierski niż naukowy punkt widzenia

Nie ma nic bardziej praktycznego, niż dobra teoria Powtarzali to m.in. Karl Popper, Jeremy Bentham, Kurt Lewin, Gustav Kirchhoff, Albert Einstein, Ludwig Boltzmann, Włodzimierz Lenin, Leonid Breżniew

Nie ma nic bardziej praktycznego, niż dobra teoria Cechy dobrej teorii: - uzasadnia wybór algorytmu - pozwala przewidzieć zachowanie się algorytmu - pozwala na zaprojektowanie algorytmu

Literatura El Ghazali Talbi: Metaheuristics. From design to implementation, Wiley, 009 Krzysztof Trojanowski: Metaheurystyki praktycznie, WSISIZ, 008 (wyd. II) Sean Luke, Essentials of Metaheuristics, available online, 01 International Journal of Metaheuristics http://www.metaheuristics.net/