VII Teoria grafów – podstawy

101
VII Teoria grafów – podstawy uczelnia: PJWSTK przedmiot: Matematyka Dyskretna 1 wykładowca: dr Magdalena Kacprzak data: maj 2009 Materiały pomocnicze do wykładu

description

VII Teoria grafów – podstawy. Materiały pomocnicze do wykładu. uczelnia: PJWSTK przedmiot: Matematyka Dyskretna 1 wykładowca: dr Magdalena Kacprzak data: maj 2009. Grafy zorientowane i niezorientowane. Przykład 1. Dwa pociągi i jeden most – problem wzajemnego wykluczania się. - PowerPoint PPT Presentation

Transcript of VII Teoria grafów – podstawy

Page 1: VII Teoria grafów – podstawy

VII Teoria grafów – podstawy

uczelnia: PJWSTKprzedmiot: Matematyka Dyskretna 1wykładowca: dr Magdalena Kacprzakdata: maj 2009

Materiały pomocnicze do wykładu

Page 2: VII Teoria grafów – podstawy

Grafy zorientowane i niezorientowane

Page 3: VII Teoria grafów – podstawy

Przykład 1

Page 4: VII Teoria grafów – podstawy

Dwa pociągi i jeden most – problem wzajemnego wykluczania się

Page 5: VII Teoria grafów – podstawy

Dwa pociągi i jeden most – graf możliwych tranzycji

WW11,,RR,,BB22

AA11,,GG,,AA22

AA11,,GG,,WW22

BB11,,RR,,WW22

WW11,,GG,,WW22

WW11,,GG,,AA22

AA11,,RR,,BB22 BB11,,RR,,AA22

W – pociąg czekaB – pociąg jest na mościeA – pociąg nie jest na moście

G – światło jest zielone

R – światło jest czerwone

Page 6: VII Teoria grafów – podstawy

Dwa pociągi i jeden most – przykładowe obliczenie

WW11,,RR,,BB22

AA11,,GG,,AA22

AA11,,GG,,WW22

BB11,,RR,,WW22

WW11,,GG,,WW22

WW11,,GG,,AA22

AA11,,RR,,BB22 BB11,,RR,,AA22

W – pociąg czekaB – pociąg jest na mościeA – pociąg nie jest na moście

G – światło jest zielone

R – światło jest czerwone

Page 7: VII Teoria grafów – podstawy

Dwa pociągi i jeden most – drzewo możliwych obliczeń

A1GA2

A1GW2 W1GA2

B1RW2 W1RB2W1RB2 A1GA2B1RW2

W1GW2 A1RB2 W1GW2

A1GA2

B1RA2

Page 8: VII Teoria grafów – podstawy

Przykład 2

Page 9: VII Teoria grafów – podstawy

1

1

1 1 0 1

0 1 0

1

Sieć logiczna

Czy istnieje wartościowanie spełniające formułęz (x y) (x y)?

x zy

Page 10: VII Teoria grafów – podstawy

Przykład 3

Page 11: VII Teoria grafów – podstawy

Algorytm

X := X+1

X := 2,5

Czy X >100? STOPTAK

NIE

Page 12: VII Teoria grafów – podstawy

Przykład 4

Page 13: VII Teoria grafów – podstawy

Mapa drogowa

Page 14: VII Teoria grafów – podstawy

Graf zorientowany

Grafem zorientowanym (digrafem albo grafem skierowanym)

nazywamy parę uporządkowaną G=(V,E),

gdzie V jest niepustym zbiorem, E podzbiorem produktu VV. Elementy zbioru V nazywamy węzłami lub wierzchołkami grafu, a elementy zbioru E nazywamy krawędziami grafu.

Page 15: VII Teoria grafów – podstawy

Graf jako relacja

Każdy graf jednoznacznie wyznacza pewną relację binarną w zbiorze V,

(x,y)r wttw (x,y)E.Odwrotnie, każda relacja binarna r w zbiorze X, wyznacza jednoznacznie graf zorientowany, którego węzłami są elementy zbioru X, a krawędziami uporządkowane pary (x,x') należące do r.

Page 16: VII Teoria grafów – podstawy

Relacja sąsiedztwa

Relację r będziemy nazywać relacją sąsiedztwa.

Wierzchołki połączone krawędzią będziemy nazywać sąsiednimi.

O krawędzi (x,x') mówimy, że jest incydentna

z wierzchołkami x i x'.

Page 17: VII Teoria grafów – podstawy

Pętle

Wierzchołek x  nazywamy początkiem, a x' końcem krawędzi (x,x'). Krawędź, której początek jest identyczny z końcem nazywa się pętlą w grafie.

Page 18: VII Teoria grafów – podstawy

Przykład

21

6

4

57

3

Zbiór wierzchołków:V={1,2,3,4,5,6,7}

Zbiór krawędzi:E={(1,1),(1,2),(2,2),(2,1),(3,3),(4,4,),(5,5),(5,6),(6,6),(6,5),(7,7)}

Pętle: (1,1), (2,2,), (3,3,) itp..

Page 19: VII Teoria grafów – podstawy

Graf skończony

Powiemy, że graf zorientowany jest skończony,

jeśli zbiór jego wierzchołków jest skończony.

Page 20: VII Teoria grafów – podstawy

Stopnie wierzchołków

Dla każdego wierzchołka grafu zorientowanego definiujemy

stopień wejściowy d+(v) i stopień wyjściowy d-(v)

wierzchołka v następująco:

Page 21: VII Teoria grafów – podstawy

Stopnie wierzchołków

d+(v) jest liczbą krawędzi, których końcem jest v, tzn. liczbą krawędzi wchodzących do v,

d-(v) jest liczbą krawędzi, których początkiem jest v, tzn. liczbą krawędzi wychodzących z wierzchołka v.

Page 22: VII Teoria grafów – podstawy

Przykład

21

6 5

7

3

Ilość wierzchołków wychodzących z wierzchołka 2d+(2)=1

Ilość wierzchołków wchodzących do wierzchołka 2d-(2)=2

Page 23: VII Teoria grafów – podstawy

Lemat

Niech G=(V,E) będzie grafem zorientowanym skończonym. Wtedy   

vV d+(v) = vV d

-(v).

Page 24: VII Teoria grafów – podstawy

Przykład2

1

6 5

7

3

vV d+(v) =

d+(1)+ d+(2)+d+(3)+d+(5)+d+(6)+d+(7)=1+1+2+1+2+1=8

vV d-(v) =

d-(1)+ d-(2)+d-(3)+d-(5)+d-(6)+d-(7)=2+2+0+1+2+1=8

Page 25: VII Teoria grafów – podstawy

Graf niezorientowany

Powiemy, że graf G=(V,E) jest niezorientowany,

jeżeli relacja sąsiedztwa tego grafu jest symetryczna, tzn. dla dowolnych dwóch wierzchołków v,v'V,

(v,v')E wttw (v',v)E.

Page 26: VII Teoria grafów – podstawy

Lemat o uściskach dłoni

Jeśli pewne osoby witają się, podając sobie dłonie, to łączna liczba uściśniętych dłoni jest parzysta – dlatego, że w każdym uścisku uczestniczą dokładnie dwie dłonie.

Page 27: VII Teoria grafów – podstawy

Lemat (Leonard Euler - 1736)

W każdym grafie niezorientowanym suma stopni wszystkich wierzchołków jest liczbą parzystą i jest równa podwojonej liczbie krawędzi.

Page 28: VII Teoria grafów – podstawy

Lemat

Każdy graf niezorientowany ma parzystą liczbę wierzchołków stopnia nieparzystego.

Page 29: VII Teoria grafów – podstawy

Reprezentacja macierzowa

Page 30: VII Teoria grafów – podstawy

Macierz sąsiedztwa

Jeśli G jest grafem, którego wierzchołki są

oznakowane liczbami ze zbioru {1,2,...,n},

to

macierzą sąsiedztwa

jest macierz wymiaru nn, której wyraz o

indeksach i, j jest równy liczbie krawędzi

łączących wierzchołek i z wierzchołkiem j.

Page 31: VII Teoria grafów – podstawy

Macierz sąsiedztwa i incydencji - przykład

4

31

2

0110

1001

1001

0110

Macierz sąsiedztwa

Page 32: VII Teoria grafów – podstawy

Typy grafów

Page 33: VII Teoria grafów – podstawy

Graf prosty

Graf prosty jest to graf spełniający warunki:

graf niezorientowany bez pętli, dowolne dwa wierzchołki mogą być

połączone co najwyżej jedną krawędzią.

Page 34: VII Teoria grafów – podstawy

Graf prosty - przykład

Niemcy

Francja

Czechy

Polska

Austria

Relacja sąsiedztwa między państwami

Page 35: VII Teoria grafów – podstawy

Multigraf

Grafy, w których istnieją wierzchołki połączone więcej niż jednąkrawędzią nazywamy

multigrafami.

Page 36: VII Teoria grafów – podstawy

Multigraf - przykład

21

6 5

7

3

Page 37: VII Teoria grafów – podstawy

Graf regularny i pełny

Grafy, których wszystkie wierzchołki mają ten sam stopień nazywamy

regularnymi.

Graf, w którym każdy wierzchołek jest połączony krawędzią z każdym innym, nazywamy grafem

pełnym.

Page 38: VII Teoria grafów – podstawy

Graf regularny - przykład

Page 39: VII Teoria grafów – podstawy

Graf pełny - przykład

Niech A={Asia, Krysia, Piotr}, r = {(a,b): a lubi b}

Asia

Krysia Piotr

Page 40: VII Teoria grafów – podstawy

Graf dwudzielny

Grafem dwudzielnymnazywamy graf G, w którym zbiór wierzchołków może być podzielny na dwa rozłączne zbiory A i B w taki sposób, że każda krawędź grafu łączy wierzchołek zbioru A z wierzchołkiem zbioru B.

Page 41: VII Teoria grafów – podstawy

Graf dwudzielny - przykład

Page 42: VII Teoria grafów – podstawy

Podgraf

Podgrafem grafu G =(V,E) nazywamy graf 

G' =(V',E‘) taki, że V' jest podzbiorem zbioru V, a zbiór krawędzi E' składa się ze wszystkich tych krawędzi zbioru E, których końce należą do wybranego zbioru wierzchołków V'.

Page 43: VII Teoria grafów – podstawy

Podgraf - przykład

Niech A={Asia, Krysia, Piotr}, r = {(a,b): a lubi b}

Asia

Krysia Piotr

Podgraf

Page 44: VII Teoria grafów – podstawy

Zastosowania

Page 45: VII Teoria grafów – podstawy

Przykład 1: Sześć osób na przyjęciu

Page 46: VII Teoria grafów – podstawy

Problem

Udowodnij, że w dowolnej grupie sześciu osób zawsze istnieją albo trzy osoby znające się nawzajem, albo trzy osoby, z których żadna nie zna pozostałych dwóch.

Page 47: VII Teoria grafów – podstawy

Opis problemu w teorii grafów

v

x

y

z osoby znają sięosoby nie znają się

Page 48: VII Teoria grafów – podstawy

Rozwiązanie

v

x

y

z

v

x

y

z

v

x

y

z

3 osoby znające się nawzajem

Page 49: VII Teoria grafów – podstawy

Rozwiązanie

v

x

y

z

3 osoby, z których żadna nie zna pozostałych

Page 50: VII Teoria grafów – podstawy

Przykład 2: Twierdzenie

o kojarzeniu małżeństw

Page 51: VII Teoria grafów – podstawy

Problem kojarzenia małżeństw

Jeśli dany jest skończony zbiór dziewcząt, z których każda zna pewną liczbę chłopców, to jakie warunki muszą być spełnione, by każda dziewczyna mogła poślubić któregoś ze znanych jej chłopców?

Page 52: VII Teoria grafów – podstawy

Opis problemu w teorii grafów

d3

d2

c1

d1

c2

c4

c3

Page 53: VII Teoria grafów – podstawy

Opis problemu w teorii grafów

d3

d2

c1

d1

c2

c4

c3

Page 54: VII Teoria grafów – podstawy

Twierdzenie (Philip Hall - 1935)

Warunkiem koniecznym i wystarczającym na to, by problem kojarzenia małżeństw miał rozwiązanie, jest, by dla każdego zbioru k dziewcząt, wszystkie one łącznie znały co najmniej k chłopców, gdzie 1 k m oraz m jest liczbą wszystkich dziewcząt.

Page 55: VII Teoria grafów – podstawy

Drogi i cykle

Page 56: VII Teoria grafów – podstawy

Droga

Niech G=(V,E) będzie grafem. Drogą

w grafie G nazywamy ciąg wierzchołków v0,v1, ..., vn taki, że kolejne wierzchołki

ciągu są połączone krawędzią, tzn. (vi,vi+1)E dla każdego i=0,1,...,n-1.

Page 57: VII Teoria grafów – podstawy

Droga-przykład

WW11,,RR,,BB22

AA11,,GG,,AA22

AA11,,GG,,WW22

BB11,,RR,,WW22

WW11,,GG,,WW22

WW11,,GG,,AA22

AA11,,RR,,BB22 BB11,,RR,,AA22

Page 58: VII Teoria grafów – podstawy

Długość drogi i droga zamknięta

Długość drogi, to liczba krawędzi, przez które droga przechodzi.

Jeśli v0=vn, to powiemy, że droga jest

zamknięta.

Page 59: VII Teoria grafów – podstawy

Cykl

Jeśli wszystkie wierzchołki drogi zamkniętej są różne z wyjątkiem pierwszego i ostatniego wierzchołka, to taką drogę nazywamy

cyklem.

Page 60: VII Teoria grafów – podstawy

Cykl-przykład

WW11,,RR,,BB22

AA11,,GG,,AA22

AA11,,GG,,WW22

BB11,,RR,,WW22

WW11,,GG,,WW22

WW11,,GG,,AA22

AA11,,RR,,BB22 BB11,,RR,,AA22

Page 61: VII Teoria grafów – podstawy

Droga prosta

Drogę nazwiemy prostą,

jeżeli  wierzchołki, przez które przechodzi są parami różne. 

Droga prosta nigdy nie przechodzi dwukrotnie po tej samej krawędzi.

Page 62: VII Teoria grafów – podstawy

Droga acykliczna

Jeśli droga nie zawiera cyklu, to nazywamy ją

acykliczną.

Page 63: VII Teoria grafów – podstawy

Lemat

Jeżeli w grafie G istnieje droga łącząca dwa różne wierzchołki u i v, to istnieje też droga prosta i acykliczna prowadząca od u do v.

Page 64: VII Teoria grafów – podstawy

Relacja osiągalności

Niech G=(V,E) będzie dowolnym grafem. Relacją osiągalności

w grafie G nazywamy relację binarną r w zbiorze wierzchołków grafu, taką że(u,v)r wttw w grafie G istnieje droga prowadząca od u do v. 

Page 65: VII Teoria grafów – podstawy

Relacja osiągalności-przykład

WW11,,RR,,BB22

AA11,,GG,,AA22

AA11,,GG,,WW22

BB11,,RR,,WW22

WW11,,GG,,WW22

WW11,,GG,,AA22

AA11,,RR,,BB22 BB11,,RR,,AA22

Stan osiągalny

Page 66: VII Teoria grafów – podstawy

Spójność i acykliczność

Page 67: VII Teoria grafów – podstawy

Graf spójny

Powiemy, że graf niezorientowany jest spójny

wtedy i tylko wtedy, gdy  dowolne dwa wierzchołki grafu są połączone drogą.

Page 68: VII Teoria grafów – podstawy

Graf który nie jest spójny-przykład

Page 69: VII Teoria grafów – podstawy

Graf który jest spójny-przykład

Page 70: VII Teoria grafów – podstawy

Lemat

Jeżeli  G=(V,E) jest grafem niezorientowanym, spójnym, o n wierzchołkach, to ma co najmniej n-1 krawędzi.

Page 71: VII Teoria grafów – podstawy

Spójna składowa grafu

Spójny podgraf grafu, który nie jest zawarty w żadnym większym spójnym podgrafie nazywa się

spójną składową grafu. 

Page 72: VII Teoria grafów – podstawy

Spójna składowa grafu-przykład

Spójna składowagrafu

Page 73: VII Teoria grafów – podstawy

Graf acykliczny

Powiemy, że graf jest acykliczny

wttw nie istnieje cykl w tym grafie.

Page 74: VII Teoria grafów – podstawy

Lemat

Niech G=(V,E) będzie grafemniezorientowanym, acyklicznym, o n wierzchołkach, to G ma co najwyżej n-1 krawędzi.

Page 75: VII Teoria grafów – podstawy

Droga Eulera

Page 76: VII Teoria grafów – podstawy

Problem mostów królewieckich

Przez Królewiec przepływała rzeka, w której rozwidleniach znajdowały się dwie wyspy. Ponad rzeką przerzucono siedem mostów, z których jeden łączył obie wyspy, a pozostałe mosty łączyły wyspy z brzegami rzeki. Czy można przejść kolejno przez wszystkie mosty tak, żeby każdy przekroczyć tylko raz i wrócić do miejsca, z którego się wyruszyło?

Page 77: VII Teoria grafów – podstawy

Problem mostów królewieckich

Czy można przejść dokładnie jeden raz przez każdy z siedmiu mostów?

Page 78: VII Teoria grafów – podstawy

Problem mostów królewieckich

Czy można przejść dokładnie jeden raz przez każdy z siedmiu mostów?

Page 79: VII Teoria grafów – podstawy

Droga Eulera

Drogą Eulera nazywamy drogę w grafie, któraprzechodzi przez wszystkie krawędzie i przez każdą dokładnie raz.

Page 80: VII Teoria grafów – podstawy

Cykl Eulera

Jeżeli ta droga jest cyklem, to nazywamy ją

cyklem Eulera.

Graf posiadający cykl Eulera nazywamyEulerowskim.

Page 81: VII Teoria grafów – podstawy

Twierdzenie

Warunkiem koniecznym i dostatecznym na to, by skończony graf niezorientowany i spójny posiadał cykl Eulera jest by wszystkie wierzchołki tego grafumiały rząd parzysty.

Page 82: VII Teoria grafów – podstawy

Twierdzenie

Warunkiem koniecznym i dostatecznym na to by w grafie niezorientowanym skończonym i spójnym istniała droga Eulera łącząca wierzchołki A i B jest by jedynymi wierzchołkami rzędównieparzystych były co najwyżej wierzchołki A i B.

Page 83: VII Teoria grafów – podstawy

Wniosek

Jeśli każdy wierzchołek ma rząd parzysty, to taki graf posiada cykl i drogę Eulera. Jeśli w grafie są wierzchołki rzędu nieparzystego, to albo są dokładnie dwa takie wierzchołki i wtedy istnieje łącząca je droga Eulera, albo nie istnieje żadna droga Eulera w tym grafie.

Page 84: VII Teoria grafów – podstawy

Droga Hamiltona

Page 85: VII Teoria grafów – podstawy

Problem komiwojażera

Komiwojażer ma do odwiedzenia pewna liczbę miast. Chciałby dotrzeć do każdego z nich i wrócić do miasta, z którego wyruszył. Dane są również odległości między miastami. Jak powinien zaplanować trasę podróży, aby w sumie przebył możliwie najkrótsza drogę?

12

11

10

3

57

10

9

73

Page 86: VII Teoria grafów – podstawy

Droga Hamiltona

Drogą Hamiltona w grafie G nazywamy drogę przechodzącą przez wszystkie wierzchołki grafu i to przez każdy wierzchołek dokładnie raz.

Page 87: VII Teoria grafów – podstawy

Czy ten graf posiada ścieżkę Hamiltona?

Page 88: VII Teoria grafów – podstawy

Czy ten graf posiada ścieżkę Hamiltona?

Page 89: VII Teoria grafów – podstawy

Cykl Hamiltona

Jeżeli droga ta jest cyklem, to nazywamy ją

cyklem Hamiltona.

Graf posiadający cykl Hamiltona nazywamy Hamiltonowskim.

Page 90: VII Teoria grafów – podstawy

Uwaga

Nie jest znany żaden warunek konieczny i dostateczny na to, by graf  był Hamiltonowski. Nie jest też znany żaden efektywny algorytm znajdowania drogi lub cyklu Hamiltona.

Page 91: VII Teoria grafów – podstawy

Drzewa

Page 92: VII Teoria grafów – podstawy

Przykład - Pierwsi Piastowie

Bolesław II Śmiały

Czcibor

Ziemomysł

Mieszko I

Bolesław I Chrobry

OttonBezprym Mieszko II

Władysław I Herman

Kazimierz I Odnowiciel

Page 93: VII Teoria grafów – podstawy

Drzewo możliwych obliczeń

A1GA2

A1GW2 W1GA2

B1RW2 W1RB2W1RB2 A1GA2B1RW2

W1GW2 A1RB2 W1GW2

A1GA2

B1RA2

Page 94: VII Teoria grafów – podstawy

Drzewo

Drzewem nazywamy  graf niezorientowany, spójny  i acykliczny.

Page 95: VII Teoria grafów – podstawy

Korzeń drzewa

W drzewie wyróżniamy zwykle jeden wierzchołek i nazywamy go

korzeniem. Każdy inny wierzchołek jest połączony dokładnie jedną drogą z korzeniem.

Wszystkie wierzchołki znajdujące się w takiej samej odległości od korzenia tworzą w tym drzewie

poziom.

Page 96: VII Teoria grafów – podstawy

Poprzednik i następnik

Jeśli dwa wierzchołki x, y są połączone krawędzią i x znajduje się na poziomie niższym (bliżej korzenia) niż y, towierzchołek x nazywamy poprzednikiem, albo ojcem wierzchołka y, a y nazywamy następnikiem lub synem wierzchołka x.

Page 97: VII Teoria grafów – podstawy

Liście i wierzchołki wewnętrzne

Wierzchołki, które nie mają następników nazywa się

liśćmi drzewa, a pozostałe wierzchołki –

wierzchołkami wewnętrznymi.

Page 98: VII Teoria grafów – podstawy

Drzewo-przykład

korzeń

poziom

ojciec

liśćliśćliść liść

syn

Page 99: VII Teoria grafów – podstawy

Drzewo binarne

Drzewo, w którym każdy wierzchołek wewnętrzny ma co najwyżej dwa następniki nazywamy

drzewem binarnym.

Page 100: VII Teoria grafów – podstawy

Wysokość drzewa

Długość najdłuższej drogi od korzenia do liścia nazywamy

wysokością drzewa.

Page 101: VII Teoria grafów – podstawy

Twierdzenie

Każde drzewo o n wierzchołkach ma dokładnie n-1 krawędzi.