270 likes | 464 Views
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.
E N D
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 +
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 +
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 +
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 +
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 +
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 +
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 +
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 +
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 +
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 +
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 +
Sieci dróg samochodowych, kolejowych, lotniczych … informatyka +
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 +
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 +
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 +
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 +
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
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
Reprezentacje grafów w komputerze M.M. Sysło
Najkrótsze drogi M.M. Sysło
Najkrótsze drzewa M.M. Sysło
Konkluzja Najlepszym sposobem przyspieszania komputerów jest obarczanie ich mniejszą liczbą działań (szybszymi algorytmami) [Ralf Gomory, IBM]
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 +
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 +