1 / 26

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

ZNAJDOWANIE NAJKRÓTSZYCH DRÓG oraz NAJNIŻSZYCH i NAJKRÓTSZYCH DRZEW WSTĘP DO OBLICZEŃ NA GRAFACH. Maciej M. Sysło Uniwersytet Wrocławski Uniwersytet UMK w Toruniu syslo@ii.uni.wroc.pl. Algorytm, algorytmika.

emile
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ZNAJDOWANIE NAJKRÓTSZYCH DRÓG oraz NAJNIŻSZYCH i NAJKRÓTSZYCH DRZEW WSTĘP DO OBLICZEŃ NA GRAFACH Maciej M. Sysło Uniwersytet Wrocławski Uniwersytet UMK w Toruniu syslo@ii.uni.wroc.pl informatyka +

  2. Algorytm, algorytmika 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-ChorezmiIX w. Algorytmika – dziedzina zajmująca się algorytmami i ich własnościami informatyka +

  3. Algorytmy a informatyka Informatyka – 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 +

  4. Grafy i algorytmy Plan: • Przykłady pojawiania się grafów • siatki 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 +

  5. Grafy – przykłady występowania – wielościany • Leonhard Euler (1707-1783) – 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: 8 + 6 = 2 + 12 informatyka +

  6. Grafy – przykłady występowania – grafy Eulera, 1 • Leonhard Euler (1707-1783) – 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 +

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

  8. Kolorowanie map 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 +

  9. Drzewa w informatyce Drzewo algorytmu Drzewa – 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 +

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

  11. 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ą! Tomek Bartek ??? Tylko dwa dodatkowe mecze! ??? Bartek Tomek Witek Tolek Bolek Bartek Romek Tomek Zenek Felek Witek Tolek informatyka +

  12. Sieci dróg samochodowych, kolejowych, lotniczych … informatyka +

  13. Grafy Hamiltona • 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 +

  14. Zastosowanie – najkrótsza trasa premiera, 1 Problem: 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 +

  15. Zastosowanie – najkrótsza trasa premiera, 2 Wartoś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! = 1307674368000/1015 sek. = ok. 0.01 sek. 48! = 1,2413915592536072670862289047373*1061/1015 = 3*1038 lat 25! = 15511210043330985984000000/1015 sek. = 15511210043 sek. = = 179528 dni = 491 lat informatyka +

  16. Zastosowanie – najkrótsza trasa premiera, 3 Trudno 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 +

  17. Krótkie kody – kompresja Huffman 0 1110 110 1111 10 Kody: ASCII a: 01100001 b: 01100010 d: 01101100 k: 01101011 r: 01110010 01110100111101100111010 abrakadabra 24znaki 88znaków

  18. Krótkie kody – kompresja Drzewo 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

  19. Reprezentacje grafów w komputerze M.M. Sysło

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

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

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

  23. 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 +

  24. 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 +

More Related