ELEMENTY TEORII GRAFÓW
Podstawowe definicje Definicja Grafem niezorientowanym (nieskierowanym) nazywamy parę G=(V, E) taką, że E{ {u,v} : (u,vV) ( uv ) } Definicja Grafem zorientowanym (skierowanym) nazywamy parę G=(V, E) taką, że E{ <u,v> : ( u,vV) } E VV UWAGA: E – zbiór krawędzi V – zbiór wierzchołków Jeśli krawędź e grafu G jest postaci e={u, v} ( e=<u,v> ), to mówimy, że krawędź jest incydentna z wierzchołkami u, v, oraz że wierzchołki u i v sąsiadują ze sobą
Grafy – reprezentacje w postaci wykresów Przykład: Drugi wykład, reprezentacje graficzne relacji 5 7 1 2 3 4 8 v1 v2 v3 v4 v5 v1 v2 v3 v4 v5 v6 v7 Przykład: W szczególności graf jako rysunek przedstawiający funkcję UWAGA: Reprezentacje graficzne grafów – wykresy, które odpowiednio zinterpretowane zawierają dodatkowe użyteczne dla nas informacje: mapy drogowe, schematy blokowe, rysunki obwodów.
Podstawowe definicje –cd. Stopień wierzchołka – liczba krawędzi incydentnych z danym wierzchołkiem UWAGA: Wierzchołek stopnia 0 (zerowego) nazywamy izolowanym Drogą – w grafie G=(V, E) nazywamy, ciąg wierzchołków v1, v2, .., vk takich, że {vi, vi+1} E (<vi, vi+1> E ) i{1,..k-1} Wierzchołki v1i vk nazywane są odpowiednio początkiem i końcem drogi, a liczbę k nazywamy długością drogi Cyklem – w grafie G=(V, E) nazywamy drogę dla, której v1= vk (początek i koniec drogi się pokrywają) UWAGA: Kwestie terminologiczne Droga – ścieżka Cykl – droga zamknięta UWAGA: Pętla – krawędź {u,u}={u} – z tylko jednym końcem (w naszej definicji zakładaliśmy ( uv ) – chwilowo możemy o tym zapomnieć <u,u>
Droga i cykl UWAGA: Kwestie terminologiczne cd. – nie ma jednej przyjętej terminologii dla teorii grafów – w różnych pozycjach literatury jest różnie. Czasami droga zamknięta i cykl to niezupełnie to samo. My wprowadzimy pojecie drogi i cyklu elementarnego Drogą elementarną – w grafie G nazywamy drogę v1, v2, .., vk , taką że vivj dla każdej pary i,j{1,..,k}, takiej że ij Cyklem elementarnym – w grafie G nazywamy drogę v1, v2, .., vk , taką że v1= vk oraz wierzchołki v1, v2, .., vk-1 są różne Przykład: st(7)=0; 7 – wierzchołek izolowany st(4)=3; 1 2 3 4 5 6 7 4,3,5,4 – cykl elementarny droga 1,2,4,3,6,3,4, bo każde (1,2), (2,4)..... należy do E 2,4,3,6 - droga elementarna cykl 1,2,4,3,6,3,4,2,1
Graf acykliczny UWAGA: Jeśli dopuścimy, aby dwie rożne krawędzie łączyły te same wierzchołki, to otrzymujemy tzw. multigraf. Podobnie z tzw. pętlami w grafie skierowanym dopuszczamy istnienie tzw. pętli <v,v>. W grafie nieskierowanym nie, ponieważ jednym z warunków na krawędź jest uv; bez tego ograniczenia pętla w grafie nieskierowanym byłaby dopuszczalna Graf G, nie mający cykli elementarnych, nazywamy grafem acyklicznym Przykład: Drzewo może być przykładem grafu acyklicznego W zbiorze wierzchołków grafu G=(V, E) definiuje się relację A określoną następująco: AVV <u,v>A u jest sąsiedni z v UWAGA: Powyższa definicja obowiązuje dla grafów skierowany i nieskierowanych
Reprezentacja macierzowa Zakładamy, że wiemy co to jest macierz oraz jak są zdefiniowane podstawowe operacje na macierzach Przypominamy sobie, że relacje reprezentowaliśmy w postaci wykresu (to był graf ! ) oraz/lub macierzy Definicja Niech G=(V, E) będzie grafem skończonym skierowanym lub nieskierowanym. Niech V={v1, v2, .., vn}. Macierzą sąsiedztwa grafu G, nazywamy macierz kwadratową Mnn , w której każdy wyraz M[i,j] oznacza liczbę krawędzi od wierzchołka vi do vj Przykłady: 1 2 3 4
Reprezentacja macierzowa Stwierdzenie Każdej relacji binarnej R określonej w zbiorze skończonym S odpowiada skończony graf skierowany G bez krawędzi wielokrotnych UWAGA: Macierzą relacji odwrotnej R-1, dla relacji R jest macierz transponowana do macierzy relacji R Mnożenie (n-krotne) macierzy sąsiedztwa grafu skierowanego G pozwala na określenie (zliczenie) liczby dróg długości n, prowadzących z wierzchołka vi do vj Jest to liczba stojąca na przecięciu i-tego wiersza i j-tej kolumny Drogi długości 2: MM Drogi długości 3: M2M : Drogi długości n: Mn-1M pamiętamy, że mnożenie macierzy nie jest przemienne
Przykład pamiętamy, że macierze A i B muszą być odpowiednich Przykłady: 1 2 4 3 Przypominając wzór na kolejne wyrazy macierzy będącej wynikiem mnożenia, pamiętamy, że macierze A i B muszą być odpowiednich rozmiarów W naszym przypadku mamy macierze kwadratowe, zatem „problem wymiaru” nie istnieje
Zastosowanie ekonomiczne Scenariusze rozwoju miast – strategie, jak się rozwijać (miasta, uczelnie, regiony, województwa itd.) Rozpatruje się cztery typy czynników mających wpływ na rozwój badanego podmiotu: ekonomiczne i finansowe (np..inflacja, sytuacja finansowa) technologiczne i przemysłowe (np.. inwestowanie, konkurencyjność ) socjo-demograficzne (np. liczba pracujących, kompetencje) instytucjonalne (warunki prawne, koszty pracy, jakość prawa) zmiennych jest około 50, ale czasem i 100 Tworzy się macierz kwadratową wpływu (wzajemnego zmiennych); czyli mamy graf skierowany Szuka się wpływu maksymalnie długości 7 (podnosimy do 7 potęgi !!) Po podsumowaniu wierszy i posortowaniu otrzymujemy najbardziej istotne czynniki rozwoju (wpływające na inne czynniki)
Podgraf, izomorfizm grafów Definicja Podgrafem grafu G=(V, E) nazywamy dowolny graf G`=(V`,E`) taki, że: V`V, E`E Definicja Dwa grafy G i H są izomorficzne (ozn. G H ), jeśli istnieje izomorfizm h z jednego grafu na drugi. Przekształcenie h-1 jest również izomorfizmem Definicja (dla grafów bez krawędzi wielokrotnych) Izomorfizmem grafu G=(V(G), E(G)) na graf H=(V(H),E(H)) nazywamy przekształcenie wzajemnie jednoznaczne h:V(G) V(H) takie, że: {u,v}E(G) {h(u),h(v)}E(H) ( <u,v>E(G) <h(u),h(v)>E(H) ) UWAGA: Grafy izomorficzne są „właściwie takie same”. Grafy izomorficzne różnią się nazwami krawędzi i wierzchołków; ich rysunki są identyczne (obroty są nieważne)
Drogi i cykle jeszcze raz Definicja Drogę nazywamy acykliczną, jeśli podgraf składający się z wierzchołków i krawędzi tej drogi jest acykliczny Twierdzenie Jeśli u i v są różnymi wierzchołkami grafu G i jeśli istnieje w grafie G droga z u do v, to istnieje droga elementarna acykliczna z u do v. Twierdzenie Jeśli u i v są różnymi wierzchołkami grafu acyklicznego G, to istnieje co najwyżej jedna droga elementarna w G prowadząca z u do v. Dowód: (hip.) istnieje więcej niż jedna droga elementarna; Dr – zbiór dróg Wybierzmy z tego zbioru drogę elementarną (u,v) o najmniejszej długości Weźmy dwie drogi elementarne z u do v, które poza u i v nie mają wspólnych wierzchołków – wtedy łącząc obie drogi otrzymamy cykl – graf jest acykliczny, więc mamy sprzeczność; Zatem takie drogi muszą przechodzić przez jakiś (co najmniej jeden) wspólny wierzchołek w
Niezmienniki izomorfizmu Dowód cd.: Zatem takie drogi muszą przechodzić przez jakiś (co najmniej jeden) wspólny wierzchołek w Wtedy drogi z u do v tworzą albo dwie różne drogi elementarne z u do w, albo dwie różne drogi elementarne z w do v – zakładając, że są to drogi z w do v i rozumując dalej, dojdziemy do momentu, w którym pewne wierzchołki będą z sobą sąsiadowały i będą do nich prowadziły dwie drogi elementarne – ale wtedy graf nie będzie acykliczny u v w Niezmiennikami izomorfizmu są: liczba wierzchołków, liczba krawędzi, liczba pętli, liczba dróg elementarnych danej długości Oznaczmy przez Dk(G) liczbę wierzchołków stopnia k w grafie G, wtedy niezmiennikiem izomorfizmu jest również ciąg liczb (D0(G), D1(G), D2(G),...)
Graf regularny i pełny Definicja Graf G nazywamy regularnym, jeśli wszystkie wierzchołki w tym grafie mają ten sam stopień Definicja Grafy nie mające pętli i krawędzi wielokrotnych oraz takie, że każdy wierzchołek jest połączony krawędzią z każdym innym wierzchołkiem, nazywamy grafami pełnymi Przykład: Stwierdzenie Graf pełny o n wierzchołkach ma wszystkie wierzchołki stopnia n-1 – czyli jest grafem regularnym UWAGA: Grafy regularne o tej samej liczbie wierzchołków nie muszą być izomorficzne. Wszystkie grafy pełne o n wierzchołkach są ze sobą izomorficzne (ozn. Kn)
Twierdzenie Twierdzenie Dla dowolnego grafu G=(V, E) prawdziwe są następujące warunki: Suma stopni wierzchołków grafu jest dwa razy większa od liczby jego krawędzi b) D1(G)+2D2(G)+3D3(G)+....=2|E| Dowód: Każda krawędź dodaje 2 do sumy stopni – co z pętlą tutaj jest problem, bo to zależy od przyjętej definicji. Jeśli dopuszczamy pętle, to automatycznie w definicji stopnia wierzchołka pętle zliczamy dwa razy b) W całkowitej sumie stopni udział Dk(G) wierzchołków stopnia k wynosi kDk(G)
Poruszanie się po krawędziach Definicja Drogę elementarną zawierającą wszystkie krawędzie grafu G nazywamy drogą Eulera w G UWAGA: Leonard Euler 1736 – problem mostów królewskich – zbudował graf w którym obszary lądu zastąpiono wierzchołkami, a mosty krawędziami grafu Definicja Cykl elementarny zawierający wszystkie krawędzie grafu G nazywamy cyklem Eulera
Twierdzenie Eulera – graf nieskierowany Definicja Graf nazywamy spójnym, jeśli każda para różnych wierzchołków jest połączona drogą w tym grafie Twierdzenie Skończony graf spójny, w którym każdy wierzchołek ma stopień parzysty, posiada cykl Eulera Algorytm Fleury`ego (znajdowanie drogi lub cyklu Eulera – ciąg krawędzi ES) - laboratorium Stwierdzenie Niech e będzie krawędzią w grafie spójnym G. Następujące warunki są równoważne: Graf G\{e} jest spójny e jest krawędzią w pewnym cyklu w grafie G e jest krawędzią w pewnej zamkniętej drodze elementarnej w grafie G
Przechodzenie przez wierzchołki Definicja Drogę nazywamy drogą Hamiltona, jeśli przechodzi ona przez każdy wierzchołek grafu dokładnie raz (William Hamilton) Definicja Drogę zamkniętą, która przechodzi przez każdy wierzchołek grafu dokładnie raz (z wyjątkiem ostatniego wierzchołka), nazywamy cyklem Hamiltona Przykłady: Graf ma drogę Hamiltona, ale nie ma cyklu Hamiltona Graf hamiltonowski po dodaniu krawędzi dalej jest hamiltonowski
Przechodzenie przez wierzchołki cd. Nie ma efektywnej metody znajdowania cykli Hamiltona – problem ten jest szczególnym przypadkiem problemu komiwojażera (gdzie krawędzie mają wagi) Twierdzenie Jeśli G=(V,E) nie ma pętli ani krawędzi wielokrotnych oraz |V|=n3, st(v) n/2 dla każdego vV, to graf G jest hamiltonowski Twierdzenie Jeśli G=(V,E) jest grafem, w którym nie ma pętli ani krawędzi wielokrotnych oraz |V|=n i |E|0.5((n-1)(n-2)+2), to graf G jest hamiltonowski
Grafy skierowane Dwa szczególne typy wierzchołków: źródło (wierzchołek, do którego nie dochodzi żadna krawędź) ujście (wierzchołek, który nie jest początkiem żadnej krawędzi) Stopnie wierzchołków podzielimy na stopnie wejściowe (sti(v)) oraz stopnie wyjściowe (sto(v)) sti(v)+sto(v)=st(v) <- tutaj lepiej widać ideę zliczania pętli jako 2 Twierdzenie Eulera – graf skierowany Załóżmy, że G=(V, E) jest skończonym grafem skierowanym i spójnym, wówczas istnieje droga (skierowana) zamknięta w grafie G, przechodząca przez wszystkie krawędzie grafu G, wttw sti(v)=sto(v) dla każdego vV
Grafy skierowane cd. Definicje G=(V,E) - skierowany S(v)={u V : istnieje krawędź z v do u} - następników wierzchołka v R(v)={u V : istnieje droga długości co najmniej 1 z v do u} – wierzchołki osiągalne z wierzchołka v Etykietowanie uporządkowane – Dany jest graf skierowany G=(V, E), |V|=n, jeśli wszystkie n wierzchołków zostało ponumerowanych w taki sposób, że i>j; jeśli istnieje droga z wierzchołka o etykiecie i do wierzchołka o etykiecie j, to takie etykietowanie nazywamy uporządkowanym Twierdzenie Skończony acykliczny graf uporządkowany ma etykietowanie uporządkowane
Grafy skierowane z wagami Poza osiągalnością wierzchołków interesuje nas teraz koszt dojścia do danego wierzchołka – w szczególności różne drogi i różne koszty Definicja Graf skierowany z wagami Graf skierowany bez krawędzi wielokrotnych nazywamy g.s. z wagami, jeśli każdej krawędzi przyporządkowana jest pewna liczba nazywana wagą tej krawędzi. mamy zatem pewną funkcję W:E(G)R , która eE(G) W(e)=wi w szczególności każdej drodze możemy przyporządkować wagę drogi Definicja Waga drogi Wagą drogi e1,e2,..,em w grafie skierowanym bez krawędzi wielokrotnych G nazywamy sumę i
Grafy skierowane z wagami cd. Przykłady: a b c d
Grafy skierowane z wagami cd. Przykłady: a b c d drogi najkrótsze
Grafy skierowane z wagami Definicje Droga minimalna Najmniejszą wagą drogi (długości co najmniej jeden) prowadzącą z wierzchołka u do v nazywać będziemy drogą minimalną W*(u,v) Załóżmy, że jeśli nie istnieje droga z u do v, to W*(u,v)= Wniosek Graf skierowany G jest acykliczny, jeśli dla każdego wierzchołka vV W*(v,v)=