ZNAJDOWANIE NAJKRÓTSZYCH DRÓG oraz NAJNIŻSZYCH i NAJKRÓTSZYCH DRZEW WSTĘP DO OBLICZEŃ NA GRAFACH

1 2 ...
Author: Krzysztof Chwalisz
0 downloads 0 Views

1

2 ZNAJDOWANIE NAJKRÓTSZYCH DRÓG oraz NAJNIŻSZYCH i NAJKRÓTSZYCH DRZEW WSTĘP DO OBLICZEŃ NA GRAFACHMaciej M. Sysło Uniwersytet Wrocławski Uniwersytet UMK w Toruniu informatyka +

3 Algorytm, algorytmika algorytm od Muhammad informatyka +Algorytm – opis rozwiązania krok po kroku postawionego problemu lub sposobu osiągnięcia jakiegoś celu Pierwszy algorytm – algorytm Euklidesa 300 p.n.e algorytm od Muhammad ibn Musa al-Chorezmi IX w. Algorytmika – dziedzina zajmująca się algorytmami i ich własnościami informatyka +

4 Algorytmy a informatykaInformatyka – jedna z definicji: dziedzina wiedzy i działalności zajmująca się algorytmami Donald E. Knuth: Mówi się często, że człowiek dotąd nie zrozumie czegoś, zanim nie nauczy tego – kogoś innego. W rzeczywistości, człowiek nie zrozumie czegoś (algorytmu) naprawdę, zanim nie zdoła nauczyć tego – komputera. Ralf Gomory (IBM): Najlepszym sposobem przyspieszania komputerów jest obarczanie ich mniejszą liczbą działań (szybszymi algorytmami) informatyka +

5 Grafy i algorytmy informatyka + Plan: Przykłady pojawiania się grafówsiatki wielościanów mosty królewieckie – figury jednobieżne malowanie map drzewa w informatyce sieci dróg cykle Hamilton Przykłady trudnych problemów szukanie trasy objazdu Problemy, które mają efektywne algorytmy szukanie najniższych drzew – krótkich kodów komputerowe reprezentacje grafów problemy najkrótszych dróg problem najkrótszego drzewa informatyka +

6 Grafy – przykłady występowania – wielościanyLeonhard Euler ( ) – Ojciec Teorii Grafów: Podał zależność między liczbą wierzchołków. krawędzi i ścian w wielościanach Sześcian Spłaszczony sześcian Wierzchołki Krawędzie Ściany Wzór Eulera: Liczba wierzchołków + liczba ścian = 2 + liczba krawędzi n + f = 2 + m dla sześcianu: = informatyka +

7 Grafy – przykłady występowania – grafy Eulera, 1Leonhard Euler ( ) – Ojciec Teorii Grafów: 1736: Problem mostów Królewieckich Czy istnieje droga, która zawiera każdy most (każdą krawędź) dokładnie raz? Do każdego wierzchołka, z wyjątkiem dwóch, tyle samo razy musimy wyjść, ile razy wchodzimy informatyka +

8 Grafy – przykłady występowania – grafy Eulera, 2Leonhard Euler ( ) – Ojciec Teorii Grafów: 1736: Problem mostów Królewieckich Figury unikursalne, jednobieżne informatyka +

9 Kolorowanie map informatyka + Problem czterech kolorów (1852):Czy każdą mapę można pomalować 4 kolorami? Mapa województw Graf województw Pomalowany graf 1976: K. Appel. W. Haken i J. Koch (programista) Pierwszy dowód – z wykorzystaniem komputera informatyka +

10 Drzewa w informatyce informatyka + Drzewo algorytmuDrzewa – grafy spójne bez cykli Drzewa obliczeń Zastosowanie: ONP Odwrotna Notacja Polska Jan Łukasiewicz (1920) (6 + 3)*(5 – 3*4) (x2+ y2)/(a – b) informatyka +

11 Drzewa w algorytmice – wyłanianie zwycięzcyPorównania – mecze Tomek Ośmiu zawodników: 7 meczy n zawodników: n – 1 meczy Bartek Tomek Bartek Witek Tomek Tolek Bartek Romek Bolek Witek Tomek Zenek Tolek Felek informatyka +

12 A jak znaleźć drugiego najlepszego zawodnika w turnieju?Tomek Czy jest nim Bartek? Bo przegrał z Tomkiem? Ale Bartek nie grał z drugą połową! Bartek Tomek ??? Tylko dwa dodatkowe mecze! Bartek Witek ??? Tomek Tolek Bartek Romek Bolek Witek Tomek Zenek Tolek Felek informatyka +

13 Sieci dróg samochodowych, kolejowych, lotniczych …informatyka +

14 Grafy Hamiltona informatyka + William R. Hamilton (1805-1865):1859: cykl Hamiltona – przechodzi przez każdy wierzchołek dokładnie raz Dwunastościan foremny Siatka (graf) dwunastościanu Cykl Hamiltona informatyka +

15 Zastosowanie – najkrótsza trasa premiera, 1Problem: Znajdź najkrótszą trasę dla Premiera przez wszystkie miasta wojewódzkie. Rozwiązanie: Premier zaczyna w Stolicy a inne miasta może odwiedzać w dowolnej kolejności. Tych możliwości jest: 15*14*13*12*11*…*2*1 = 15! (15 silnia) W 1990 roku było: 48*47*46*…*2*1 = 48! (48 silnia) informatyka +

16 Zastosowanie – najkrótsza trasa premiera, 2Wartości funkcji n! Rosną BARDZO SZYBKO Prezydent Stanów Zjednoczonych ma problem ze znalezieniem najkrótszej trasy objazdu Stanów. Na superkomputerze o mocy 1 PFlops – ile trwa obliczanie n! 15! = /1015 sek. = ok sek. 48! = 1, *1061/1015 = 3*1038 lat 25! = /1015 sek. = sek. = = dni = 491 lat informatyka +

17 Zastosowanie – najkrótsza trasa premiera, 3Trudno sprawdzić, jak dobre jest to rozwiązanie w stosunku do najlepszego, bo go nie znamy. Zły wybór Algorytmy przybliżone szukania rozwiązań: Metoda zachłanna – najbliższy sąsiad – mogą być bardzo złe Meta-heurystyki: algorytmy genetyczne – krzyżowanie i mutowanie rozwiązań algorytmy mrówkowe – modelowanie feromonów informatyka +

18 Krótkie kody – kompresjaKody: ASCII a: b: d: k: r: Huffman 110 1111 10 abrakadabra 88 znaków 24 znaki

19 Krótkie kody – kompresjaDrzewo Huffmana Litery i ich częstości Kody Krótsze dla często występujących liter Algorytm Huffmana: Powtarzaj, aż zostanie jedna liczba: Wybierz dwie najmniejsze częstości i dodaj ich sumę do ciągu M.M. Sysło

20 Reprezentacje grafów w komputerzeM.M. Sysło

21 Najkrótsze drogi M.M. Sysło

22 Najkrótsze drzewa M.M. Sysło

23 Najlepszym sposobem przyspieszania komputerów Konkluzja Najlepszym sposobem przyspieszania komputerów jest obarczanie ich mniejszą liczbą działań (szybszymi algorytmami) [Ralf Gomory, IBM]

24 Pokrewne zajęcia w Projekcie Informatyka +Wykład+Warsztaty (Wszechnica Poranna): Wprowadzenie do algorytmiki i programowania – wyszukiwanie i porządkowanie informacji Proste rachunki wykonywane za pomocą komputera. Techniki algorytmiczne – przybliżone (heurystyczne) i dokładne. Wykłady (Wszechnica Popołudniowa): Czy wszystko można policzyć na komputerze? Porządek wśród informacji kluczem do szybkiego wyszukiwania. Dlaczego możemy się czuć bezpieczni w sieci, czyli o szyfrowaniu informacji. Znajdowanie najkrótszych dróg, najniższych drzew, najlepszych małżeństw informatyka +

25 Pokrewne zajęcia w Projekcie Informatyka +Kursy (24 godz.) – Wszechnica na Kołach: Algorytmy poszukiwania i porządkowania. Elementy języka programowania Różnorodne algorytmy obliczeń i ich komputerowe realizacje Grafy, algorytmy grafowe i ich komputerowe realizacje  Kursy (24 godz.) – Kuźnia Informatycznych Talentów – KIT dla Orłów: Przegląd podstawowych algorytmów Struktury danych i ich wykorzystanie Zaawansowane algorytmy Tendencje – Wykłady  Algorytmy w Internecie, K. Diks Czy P = NP, czyli jak wygrać milion dolarów w Sudoku, J. Grytczuk Między przeszłością a przyszłość informatyki, M.M Sysło informatyka +

26