Teoria grafów dla małolatów

Podobne dokumenty
Teoria grafów dla małolatów. Andrzej Przemysław Urbański Instytut Informatyki Politechnika Poznańska

Elementy teorii grafów Elementy teorii grafów

Matematyczne Podstawy Informatyki

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA

Matematyka dyskretna

Drzewa. Jeżeli graf G jest lasem, który ma n wierzchołków i k składowych, to G ma n k krawędzi. Własności drzew

Algorytmy grafowe. Wykład 1 Podstawy teorii grafów Reprezentacje grafów. Tomasz Tyksiński CDV

TEORIA GRAFÓW I SIECI

Graf. Definicja marca / 1

Teoria grafów podstawy. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

Grafy dla każdego. dr Krzysztof Bryś. Wydział Matematyki i Nauk Informacyjnych Politechnika Warszawska.

Matematyczne Podstawy Informatyki

Suma dwóch grafów. Zespolenie dwóch grafów

Matematyczne Podstawy Informatyki

Matematyka dyskretna. Andrzej Łachwa, UJ, B/14

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

G. Wybrane elementy teorii grafów

Temat 9. Zabłocone miasto Minimalne drzewa rozpinające

E: Rekonstrukcja ewolucji. Algorytmy filogenetyczne

6. Wstępne pojęcia teorii grafów

Kolorowanie wierzchołków Kolorowanie krawędzi Kolorowanie regionów i map. Wykład 8. Kolorowanie

TEORETYCZNE PODSTAWY INFORMATYKI

Wprowadzenie Podstawy Fundamentalne twierdzenie Kolorowanie. Grafy planarne. Przemysław Gordinowicz. Instytut Matematyki, Politechnika Łódzka

MATEMATYKA DYSKRETNA - MATERIAŁY DO WYKŁADU GRAFY

TEORIA GRAFÓW I SIECI

Grafy (3): drzewa. Wykłady z matematyki dyskretnej dla informatyków i teleinformatyków. UTP Bydgoszcz

Digraf. 13 maja 2017

Czy istnieje zamknięta droga spaceru przechodząca przez wszystkie mosty w Królewcu dokładnie jeden raz?

SPÓJNOŚĆ. ,...v k. }, E={v 1. v k. i v k. ,...,v k-1. }. Wierzchołki v 1. v 2. to końce ścieżki.

Droga i cykl Eulera Przykłady zastosowania drogi i cyku Eulera Droga i cykl Hamiltona. Wykład 4. Droga i cykl Eulera i Hamiltona

Grafem nazywamy strukturę G = (V, E): V zbiór węzłów lub wierzchołków, Grafy dzielimy na grafy skierowane i nieskierowane:

Teoria grafów II. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

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

Przykłady grafów. Graf prosty, to graf bez pętli i bez krawędzi wielokrotnych.

Złożoność obliczeniowa klasycznych problemów grafowych

Minimalne drzewa rozpinające

Porównanie algorytmów wyszukiwania najkrótszych ścieżek międz. grafu. Daniel Golubiewski. 22 listopada Instytut Informatyki

KURS MATEMATYKA DYSKRETNA

Programowanie obiektowe

Zad. 1 Zad. 2 Zad. 3 Zad. 4 Zad. 5 SUMA

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

Marek Miszczyński KBO UŁ. Wybrane elementy teorii grafów 1

Rzut oka na współczesną matematykę spotkanie 9-10: Zagadnienie czterech barw i teoria grafów

Grafy co o ich rysowaniu wiedzą przedszkolaki i co z tego wynika dla matematyków

Programowanie obiektowe

Wykład 4. Droga i cykl Eulera i Hamiltona

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA

Algorytmiczna teoria grafów

Zagadki Lilavati. grafy. Dla klas II V Czas trwania: 45 minut

Wstęp do programowania. Drzewa. Piotr Chrząstowski-Wachtel

Ilustracja S1 S2. S3 ściana zewnętrzna

Kombinowanie o nieskończoności. 2. Wyspy, mosty, mapy i kredki materiały do ćwiczeń

Algorytmy Równoległe i Rozproszone Część V - Model PRAM II

Drzewa spinające MST dla grafów ważonych Maksymalne drzewo spinające Drzewo Steinera. Wykład 6. Drzewa cz. II

Metody Programowania

Matematyka dyskretna. Andrzej Łachwa, UJ, /14

Wykłady z Matematyki Dyskretnej

Indukowane Reguły Decyzyjne I. Wykład 3

Algorytmy i Struktury Danych.

6a. Grafy eulerowskie i hamiltonowskie

Drzewa rozpinajace, zbiory rozłaczne, czas zamortyzowany

Wyznaczanie optymalnej trasy problem komiwojażera

a) 7 b) 19 c) 21 d) 34

Programowanie sieciowe. Tadeusz Trzaskalik

Podstawowe pojęcia dotyczące drzew Podstawowe pojęcia dotyczące grafów Przykłady drzew i grafów

AiSD zadanie trzecie

Ogólne wiadomości o grafach

Reprezentacje grafów nieskierowanych Reprezentacje grafów skierowanych. Wykład 2. Reprezentacja komputerowa grafów

Podstawowe własności grafów. Wykład 3. Własności grafów

MATEMATYKA DYSKRETNA - KOLOKWIUM 2

Matematyka dyskretna. Andrzej Łachwa, UJ, /15

Kolorowanie wierzchołków

Szkoła Podstawowa nr 151 w Krakowie. Barbara Doncer

Algorytmika Problemów Trudnych

Tomasz M. Gwizdałła 2012/13

Grafy i sieci w informatyce - opis przedmiotu

Lista 6 Problemy NP-zupełne

Matematyczne podstawy informatyki Mathematical Foundations of Computational Sciences. Matematyka Poziom kwalifikacji: II stopnia

Siedem cudów informatyki czyli o algorytmach zdumiewajacych

Cała prawda o powierzchniach

Modele i narzędzia optymalizacji w systemach informatycznych zarządzania

Teoria obliczeń i złożoność obliczeniowa

MODELE SIECIOWE 1. Drzewo rozpinające 2. Najkrótsza droga 3. Zagadnienie maksymalnego przepływu źródłem ujściem

Matematyka dyskretna - 7.Drzewa

Matematyka Dyskretna. Andrzej Szepietowski. 25 czerwca 2002 roku

Podstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno

Zofia Kruczkiewicz, Algorytmu i struktury danych, Wykład 14, 1

ELEMENTY TEORII WĘZŁÓW

(4) x (y z) = (x y) (x z), x (y z) = (x y) (x z), (3) x (x y) = x, x (x y) = x, (2) x 0 = x, x 1 = x

Drzewa poszukiwań binarnych

Opracowanie prof. J. Domsta 1

METODY OPTYMALIZACJI. Tomasz M. Gwizdałła 2018/19

Algorytmy aproksymacyjne i parametryzowane

Matematyka dyskretna - 8. Egzaminy próbne. Uwaga! Niektórych z tych zadań nie obejmuje program dla studiów zaocznych - proszę się tym nie niepokoić -

Algorytmy kombinatoryczne w bioinformatyce

Załącznik KARTA PRZEDMIOTU. KARTA PRZEDMIOTU Wydział Automatyki, Elektroniki i Informatyki, Rok akademicki: 2009/2010

10. Elementy kombinatoryki geometrycznej: suma kątów wielokąta,

PRZEWODNIK PO PRZEDMIOCIE

Matematyka od zaraz zatrudnię

7. Teoria drzew - spinanie i przeszukiwanie

Transkrypt:

Teoria grafów dla małolatów Andrzej P.Urbański Instytut Informatyki Politechnika Poznańska Wstęp Matematyka w szkole podstawowej kojarzy się przede wszystkim z arytmetyką, ale współcześni matematycy rzadko nią się zajmują. Wynika to stąd, że arytmetyka pozwala spojrzeć na rzeczywistość zaledwie z jednego, bardzo wąskiego, punktu widzenia, a współczesna rzeczywistość jest bardzo skomplikowana i wymaga rozważenia różnych punktów widzenia. Takim innym punktem widzenia jest teoria grafów, która najprościej rzecz ujmując zajmuje się opisywaniem połączeń między rzeczami. Z teoretycznego punktu widzenia obojętne jest czy rzeczami są domy łączące się siecią ulic, czy komputery połączone kablami lub satelitami w sieć komputerową. Podobnie jak obojętne jest czy liczymy domy lub odległości pomiędzy domami czy robimy to samo z komputerami w przypadku arytmetyki. Podstawowe pojęcia Są dwa elementarne pojęcia teorii grafów: - wierzchołek - zaznaczany zazwyczaj kółkiem; - krawędź - zaznaczana zazwyczaj kreską. W podstawowej teorii krawędzie zawsze łączą ze sobą dokładnie dwa wierzchołki, przy czym wyróżniamy dwa podstawowe rodzaje grafów: - zorientowane - z krawędziami reprezentowanymi krzywymi ze strzałkami; - niezorientowane - z krawędziami reprezentowanymi krzywymi bez strzałek. 1

Komunikacja Chyba najprostszym przykładem grafu może być sieć dróg łączących miasta. Wierzchołki reprezentują tu poszczególne miasta a krawędzie bezpośrednie połączenia drogowe. Przypisanie nazw miast wierzchołkom grafu nazywamy etykietowaniem, a przypisywanie odległości drogowych krawędziom - etykietowaniem krawędzi. Od razu widać, że taki graf będzie nieskierowany ponieważ szosą można jeździć w obydwu kierunkach. Jednak w szczególnych sytuacjach oraz w przypadku planów miast będziemy mieć do czynienia z grafami skierowanymi, gdyż wiele dróg komunikacyjnych jest jednokierunkowych. W mieście możemy wierzchołkami grafu reprezentować skrzyżowania, a krawędziami ulice. Krawędzie poza długościami reprezentowanych ulic mogą jeszcze mieć przypisane nazwy. Znajomości 2

Grafy mogą też reprezentować niewidoczne gołym okiem powiązania. Takim przykładem niech będą znajomości w szkole. Dzieci w szkole są reprezentowane wierzchołkami grafu. Jeśli jedno dziecko zna imię drugiego to od wierzchołka reprezentującego znającego do znanego biegnie skierowana krawędź grafu. Na przykład: Z rysunku wynika, że nie wszyscy się znają a nawet istnieją dwie różne grupy nie znających się osób. To też jest jeden graf, o którym mówimy, że nie jest spójny i zawiera dwie składowe spójności. Wracając jeszcze do przykładu z siecią ulic, gdy możemy z każdego miejsca przejechać do każdego innego to mówimy, że graf jest silnie spójny. Chyba dla każdego oczywiste jest, że ta własność powinna być spełniona w każdym mieście. Przy wielu zmianach komunikacyjnych może się zdarzyć, że nie będzie spełniona i wtedy zbadanie tej własności grafu wystarczy by wykryć błąd uniemożliwiający komunikację w mieście. Również ciekawym przykładem jest graf odpowiadający sytuacji gdy każdy zna każdego. Odpowiada temu graf zawierający wszystkie możliwe połączenia pomiędzy parami wierzchołków. Nazywamy go kliką, co oznacza, że nie tylko my rozpatrywaliśmy zastosowanie grafu do odzwierciedlenia stosunków międzyludzkich. Słynne ścieżki We wspaniałej książce matematycznej mego dzieciństwa LILAVATI autor podaje przykład grafu odzwierciedlającego połączenia komunikacyjne przez mosty w Krółewcu: Słynne zadanie o mostach w Królewcu (tak się nazywało gdy należało jeszcze do Polski, obecnie Kaliningrad) ułożył Euler w roku 1759. Postawił mianowicie pytanie, czy można po siedmiu mostach łączących dzielnice miasta z wyspą na Pregole odbyć spacer w ten sposób, by przejść kolejno przez wszystkie mosty nie przechodząc po żadnym więcej niż jeden raz. 3

Proszę spróbować ale i tak się to nie uda, bo dla odpowiadającego temu grafowi nie ma tak zwanej ścieżki Eulera co łatwo udowodnić matematycznie. Łatwo nawet tak zaprogramować komputer, że dla zadanego grafu (np. można zadać układ mostów Poznania czy Szczecina) program szybko sprawdzi czy zadanie jest możliwe do wykonania czy nie. Inną ścieżką jest ścieżka Hamiltona, która w odróżnieniu od ścieżki Eulera ma przebiegać przez wszystkie wierzchołki grafu. Jeśli mamy powrócić w to samo miejsce to taką ścieżkę nazywamy cyklem. Komiwojażer Szczególnym przypadkiem cyklu Hamiltona jest problem komiwojażera. Jego nazwa wzięła się z omawianej już interpretacji grafu jako sieci dróg czy ulic, z których każda etykietowana jest długością lub czasochłonnością podróży. Zgodnie z definicją cyklu Hamiltona należy więc znaleźć taką trasę, która przebiega przez wszystkie miejscowości i wraca do miejscowości wyjściowej. Odpowiada to więc dokładnie zadaniu komiwojażera, który na przykład rozwozi towary do sklepów. Jeśli taką trasę należy odbywać codziennie to choćby niewielkie skrócenie drogi komiwojażera prowadzi do znaczących oszczędności choćby na zużytym paliwie. I właśnie na znalezieniu najkrótszego cyklu Hamiltona polega to matematyczne zadanie komiwojażera. Zadanie to należy do grupy problemów optymalizacyjnych tj. takich, że poszukujemy rozwiązania, które daje najmniejszą lub największą wartość określonej cechy. Często zadania optymalizacji nie dają się rozwiązać bez konieczności przejrzenia i porównania wielu rozwiązań. Tak też wydaje się być z problemem komiwojażera. Nie zostało to co prawda jeszcze udowodnione matematycznie ale gdyby tak nie było to również wiele innych problemów dawałoby się łatwo rozwiązać, co jest wysoce nieprawdopodobne wobec ogromu wysiłków podjętych dla znalezienia szybkich algorytmów dla wielu pokrewnych problemów. Bez przecinania Mamy trzy domki i do każdego z nich należy podłączyć przewód wody, gazu i prądu ale tak by żadne dwa nie przecinały się. 4

Okazuje się, że to proste z pozoru zadanie jest nierozwiązywalne. Mamy tu do czynienia z grafem o sześciu wierzchołkach i połączeniach pomiędzy dwiema grupami po trzy wierzchołki w każdym. Jeśli nasze zadanie dałoby się rozwiązać oznaczałoby to, że mamy do czynienia z grafem planarnym, ale nasz graf nie jest planarny, co już dawno wykazano. W praktyce badamy czy grafy są planarne i poszukujemy podziałów grafu na planarne podgrafy, gdy na przykład projektujemy ścieżki płytek drukowanych czy układów scalonych, które nie mogą się przecinać w jednej płaszczyźnie by nie było zwarć elektrycznych. Podobnie jak trudno projektować dom z połączeniami odległych pokoi bez korzystania z pokoi pośrednich. Pewne grafy nie dadzą się tu zastosować. Inny czy taki sam? Dość trudno jest stwierdzić na podstawie odręcznych rysunków czy dwa grafy są zupełnie różne czy w gruncie rzeczy (po pominięciu etykiet) takie same (mówimy, że są izomorficzne). Okazuje się, że również dla komputera zadanie porównywania grafów jest prawie równie niełatwe jak zadanie komiwojażera. Ciekawym pytaniem jest ile różnych grafów można utworzyć dla zadanej liczby wierzchołków. Nie zawsze umiemy na nie odpowiedzieć z użyciem własnej głowy i często uciekamy się do pomocy komputera by wyznaczał te liczby wyznaczając wprost grafy dla kolejno rosnąch liczb lub dla wielkości losowych. Ilu sąsiadów? Można też zajmować się grafami, które mają ograniczoną lub ściśle określoną liczbę wierzchołków sąsiadujących z każdym. Odpowiada to na przykład konstrukcji pokoi w budynkach lub cząstek z jakich składa się nasz świat i my sami. Jeśli połączymy to z wyznaczaniem różnych grafów z poprzedniego rozdziału uzyskamy odpowiedzi na szereg ciekawych pytań o budowie materii, na przykład różnych kryształów. Drzewa i lasy Szczególnym rodzajem grafu są drzewa. Nazwa bierze się stąd, że graf taki można narysować tak jak drzewo od korzenia aż po liście. Z korzenia wychodzą konary, które dzielą się na gałęzie, a następnie gałązki by zakończyć się liśćmi. W takich grafach nie występują cykle, to jest z każdego miejsca do każdego innego można dojść tylko jedną drogą. Drzewa mają ogromne zastosowania w informatyce do szybkiego wyszukiwania informacji z ogromnego ich zbioru, wtedy stosujemy zazwyczaj drzewa binarne tj. takie, że z jednego wierzchołka drzewa w dół odchodzą co najwyżej dwie krawędzie. 5

Lasem nazywamy graf, który składać się może z wielu drzew. Matematyczny zapis dla grafów Przedstawianie grafów w postaci rysunków jest bardzo poglądowe ale można w ten sposób przedstawiać co najwyżej przykłady grafów. Matematycy wymyślili dla grafów notację, która pozwala określać różne własności grafów. Grafem nazywamy więc parę ( V, E ) gdzie V jest zbiorem wierzchołków a E zbiorem krawędzi. Dla grafu niezorientowanego E jest zbiorem dwuelementowych zbiorów, a każdy z jego elementów pochodzi ze zbioru wierzchołków. W przypadku grafu zorientowanego mamy do czynienia z relacją: E nad parą elementów ze zbioru V. (wtedy ważna jest kolejność) Książki o grafach Sz.Jeleński LILAVATI, Państwowe Zakłady Wydawnictw Szkolnych, Warszawa 1971. Sz.Jeleński Śladami Pitagorasa, Wydawnictwa Szkolne i Pedagogiczne, Warszawa 1995. Encyklopedia szkolna - matematyka, Wydawnictwa Szkolne i Pedagogiczne, Warszawa, 1989. R.S.Garfinkel, G.L.Nemhauser Programowanie całkowitoliczbowe, Państwowe Wydawnictwa Naukowe, Warszawa 1978. A.V.Aho,J.E.Hopcroft,J.D.Ullman Projektowanie i analiza algorytmów komputerowych, Państwowe Wydawnictwa Naukowe, Warszawa 1983. N.Deo Teoria grafów i jej zastosowania w technice i informatyce, Państwowe Wydawnictwa Naukowe, Warszawa, 1980. J.L.Kulikowski Zarys teorii grafów, Państwowe Wydawnictwo Naukowe, Warszawa 1986. E.M.Reingold, J.Nievergelt, N.Deo Algorytmy kombinatoryczne, Państwowe Wydawnictwo Naukowe, Warszawa, 1985. 6

K.T.Balińska Algorithms for random graphs with bounded degree (Algorytmy dla losowych grafów z ograniczonym stopniem wierzchołków), Politechnika Poznańska, Poznań, 1996. J.Błażewicz Złożoność obliczeniowa algorytmów i problemów szeregowania zadań, Politechnika Poznańska, Poznań, 1979. W.Lipski Kombinatoryka dla programistów, Wydawnictwa Naukowo-Techniczne, Warszawa 1982. J.Błażewicz Złożoność obliczeniowa problemów kombinatorycznych, Wydawnictwa Naukowo-Techniczne, Warszawa, 1988. 7