VII Teoria grafów II

71
VII Teoria grafów II uczelnia: PJWSTK przedmiot: Matematyka Dyskretna 1 wykładowca: dr Magdalena Kacprzak data: czerwiec 2009 Materiały pomocnicze do wykładu

description

VII Teoria grafów II. Materiały pomocnicze do wykładu. uczelnia: PJWSTK przedmiot: Matematyka Dyskretna 1 wykładowca: dr Magdalena Kacprzak data: czerwiec 2009. Graf planarny. Graf planarny. Graf, który może być narysowany tak, by uniknąć przecinania się krawędzi, nazywamy - PowerPoint PPT Presentation

Transcript of VII Teoria grafów II

Page 1: VII Teoria grafów II

VII Teoria grafów II

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

Materiały pomocnicze do wykładu

Page 2: VII Teoria grafów II

Graf planarny

Page 3: VII Teoria grafów II

Graf planarny

Graf, który może być narysowany tak, by uniknąć

przecinania się krawędzi, nazywamy

grafem planarnym.

Page 4: VII Teoria grafów II

Izomorfizm grafów

Page 5: VII Teoria grafów II

Grafy izomorficzne

Izomorfizmem

grafu G na graf H nazywamy przekształcenie

wzajemnie jednoznaczne :V(G) V(H)

takie, że (u,v) jest krawędzią grafu G wtedy i tylko

wtedy, gdy ((u), (v)) jest krawędzią w grafie H.

Dwa grafy G i H są izomorficzne jeśli istnieje

izomorfizm a z jednego grafu na drugi.

Page 6: VII Teoria grafów II

Grafy izomorficzne - przykład

9

3

2

8

1

4

67

5

(1)(2)

(3)

(4)

(5)

(6)

(8)

(7)

(9)

Page 7: VII Teoria grafów II

Algorytmy przeszukujące

grafy

Page 8: VII Teoria grafów II

Algorytmy przeszukujące grafy w głąb

Page 9: VII Teoria grafów II

Jak się ubierać?

Slipki

Spodnie

Pasek

Buty

Skarpetki

Koszula

Krawat

Marynarka

Zegarek

Page 10: VII Teoria grafów II

Algorytm przeszukiwania w głąb

Dopóki w grafie istnieje wierzchołek biały v to:

1. zapamiętaj wierzchołek v,2. weź ostatni zapamiętany wierzchołek, niech będzie to w i

zaznacz go kolorem szarym (czas wejścia),3. zapamiętaj wszystkie białe wierzchołki sąsiednie z

wierzchołkiem w (w ustalonej kolejności) i jeżeli takie istnieją to przejdź do punktu 2,

4. zaznacz wierzchołek w kolorem czarnym (czas wyjścia),

5. zapomnij o wierzchołku w.  

Page 11: VII Teoria grafów II

Slipki

Spodnie

Pasek

Buty

Skarpetki

Koszula

Krawat

Marynarka

Zegarek

Algorytm przeszukiwania w głąb

sl,-,-sl,1,-sl,1,- sp,-,- b,-,-sl,1,- sp,-,- b,2,-sl,1,- sp,-,- b,2,3sl,1,- sp,-,-sl,1,- sp,4,-sl,1,- sp,4,- pa,-,-sl,1,- sp,4,- pa,5,-sl,1,- sp,4,- pa,5,- m,-,-sl,1,- sp,4,- pa,5,- m,6,-sl,1,- sp,4,- pa,5,- m,6,7

Page 12: VII Teoria grafów II

Slipki

Spodnie

Pasek

Buty

Skarpetki

Koszula

Krawat

Marynarka

Zegarek

Algorytm przeszukiwania w głąb

sl,1,- sp,4,- pa,5,- m,6,7sl,1,- sp,4,- pa,5,-sl,1,- sp,4,- pa,5,8sl,1,- sp,4,-sl,1,- sp,4,9sl,1,-sl,1,10

sk,-,-sk,11,-sk,11,12

Page 13: VII Teoria grafów II

Slipki

Spodnie

Pasek

Buty

Skarpetki

Koszula

Krawat

Marynarka

Zegarek

Algorytm przeszukiwania w głąb

ko,-,-ko,13,-ko,13,- kr,-,-ko,13,- kr,14,-ko,13,- kr,14,15ko,13,-ko,13,16

z,-,-z,17,-z,17,18

Page 14: VII Teoria grafów II

Slipki

Spodnie

Pasek

Buty

Skarpetki

Koszula

Krawat

Marynarka

Zegarek

Algorytm przeszukiwania w głąb

ZegarekKoszulaKrawatSkarpetkiSlipkiSpodniePasekMarynarkaButy

Page 15: VII Teoria grafów II

Algorytmy przeszukujące grafy wszerz

Page 16: VII Teoria grafów II

Algorytm przeszukiwania wszerz

Zakładamy, że każdy wierzchołek możemy pokolorować na biało, szaro i czarno oraz, że na początku wszystkie są białe. Dopóki w grafie istnieje wierzchołek biały v to: zapamiętaj wierzchołek v, weź pierwszy zapamiętany wierzchołek, niech będzie to

w i zaznacz go kolorem szarym (czas wejścia), zapamiętaj wszystkie białe wierzchołki sąsiednie z

wierzchołkiem w (w ustalonej kolejności), zaznacz wierzchołek w kolorem czarnym (czas wyjścia), zapomnij o wierzchołku w i przejdź do punktu 2.

Page 17: VII Teoria grafów II

Slipki

Spodnie

Pasek

Buty

Skarpetki

Koszula

Krawat

Marynarka

Zegarek

Algorytm przeszukiwania wszerz

sl,-,-sl,1,-sl,1,- sp,-,- b,-,-sl,1,2 sp,-,- b,-,-sp,-,- b,-,-sp,3,- b,-,-sp,3,- b,-,- p,-,-sp,3,4 b,-,- p,-,-b,-,- p,-,-b,5,- p,-,-b,5,6 p,-,-p,-,-

Page 18: VII Teoria grafów II

Slipki

Spodnie

Pasek

Buty

Skarpetki

Koszula

Krawat

Marynarka

Zegarek

Algorytm przeszukiwania wszerz

p,-,-p,7,-p,7,- m,-,-p,7,8 m,-,-m,-,-m,9,-m,9,10

sk,-,-sk,11,-sk,11,12

Page 19: VII Teoria grafów II

Slipki

Spodnie

Pasek

Buty

Skarpetki

Koszula

Krawat

Marynarka

Zegarek

Algorytm przeszukiwania wszerz

ko,-,-ko,13,-ko,13,- kr,-,-ko,13,14 kr,-,-kr,-,-kr,15,-kr,15,16

z,-,-z,17,-z,17,18

Page 20: VII Teoria grafów II

Slipki

Spodnie

Pasek

Buty

Skarpetki

Koszula

Krawat

Marynarka

Zegarek

Algorytm przeszukiwania wszerz

SlipkiSpodnieButyPasekMarynarkaSkarpetkiKoszulaKrawatZegarek

Page 21: VII Teoria grafów II

Grafy z wagami

Page 22: VII Teoria grafów II

Graf skierowany z wagami

Graf skierowany bez krawędzi wielokrotnych nazywamy

grafem skierowanym z wagami, jeśli każdej krawędzi jest przyporządkowana pewna liczba, nazywana wagą tej krawędzi.

W konkretnych zastosowaniach może ona być nazywana „kosztem”, „długością”, „pojemnością” itp.

Page 23: VII Teoria grafów II

Waga krawędzi i drogi

Wagi krawędzi w grafie skierowanym G będą wartościami pewnej funkcji W o dziedzinie E(G) i wartościach w zbiorze R.

Wagą drogi e1,e2,...,en w grafie G nazwiemy

sumę i=1,..,nW(ei),

gdzie W(ei) jest wagą krawędzi ei.

Page 24: VII Teoria grafów II

Waga i droga minimalna

Najmniejszą wagę drogi (długości co najmniej 1) prowadzącej z wierzchołka u do wierzchołka v będziemy nazywać

wagą minimalną z u do v i oznaczać symbolem W*(u,v).

Drogę z u do v, mającą minimalną wagę, będziemy nazywać

drogą minimalną.

Page 25: VII Teoria grafów II

Przykład

1 2

4 3

1

0,7

0,1

0,2

0,51,2

W 1 2 3 4

1 1 1

2 0,7

3 0,5 0,1 0,2

4 0,1 1,2

W* 1 2 3 4

1 1 1

2 0,7 1,7

3 0,3 1,3 0,1 0,2

4 0,1 1,1

1

0,1

Page 26: VII Teoria grafów II

Zastosowania

Page 27: VII Teoria grafów II

Szeregowanie zadań

Page 28: VII Teoria grafów II

Pieczenie kiełbasek

- przygotowanie patyków,- przygotowanie kiełbasek,- krojenie chleba,- pieczenie kiełbasek

Jaki jest najmniejszy całkowity czas potrzebny do wykonania wszystkich czynności?

Page 29: VII Teoria grafów II

Pieczenie kiełbasek

35 0

10

15

15

pieczenie

przygotowanie patyków

krojenie chleba

przygotowanie kiełbasek

20

0

5

15

010

Najmniejszy całkowity czas potrzebny do wykonania wszystkich czynności wynosi 35 min.

Page 30: VII Teoria grafów II

Zagadnienie najkrótszej drogi

Page 31: VII Teoria grafów II

Szukanie najkrótszej drogi

Poniższy graf prezentuje pewną mapę. Wierzchołki tego grafu

oznaczają miasta, krawędzie oznaczają drogi łączące te miasta, a

wagi oznaczają długości dróg (lub czas przejazdu lub koszt

przejazdu).

Jaka jest najkrótsza droga z miasta A do miasta L?

D GB J

F IC K

E HA L 9 2 9

2 6 1 6 3

9 2 2

2 3 5

3 4 1 5 5

Page 32: VII Teoria grafów II

Szukanie najkrótszej drogi

Algorytm Dijkstry

{Dane: graf skierowany bez pętli i krawędzi wielokrotnych, którego zbiorem wierzchołków jest {1,...,n}, funkcja W wag krawędzi o wartościach nieujemnych}

{Wynik: wagi minimalne W*(1,j) dla j=2,...,n}

{Zmienne pomocnicze: zbiory L, V oraz funkcja D}

Page 33: VII Teoria grafów II

Szukanie najkrótszej drogi

Niech L:= oraz V:={2,..,n}.Dla iV wykonuj

D(i):=W(1,i)Dopóki V \ L , wykonuj

wybierz k V \ L o najmniejszej wartości D(k)dołącz k do zbioru Ldla każdego j V \ L wykonuj

jeśli D(j) > D(k) + W(k,j), tozastąp D(j) sumą D(k) + W(k,j).

Dla jV wykonujW*(1,j):=D(j).

Page 34: VII Teoria grafów II

Szukanie najkrótszej drogi

L B C D E F G H I J K L 3 2 - 9 - - - - - - - L{C} 3 2 - 8 11 - - - - - -L{B} 3 2 5 7 11 - - - - - -

D GB J

F IC K

E HA L 9 2 9

2 6 1 6 3

9 2 2

2 3 5

3 4 1 5 5

Page 35: VII Teoria grafów II

Szukanie najkrótszej drogi

L B C D E F G H I J K LL{B} 3 2 5 7 11 - - - - - -L{D} 3 2 5 7 11 8 - - - - -L{E} 3 2 5 7 11 8 9 - - - -L{G} 3 2 5 7 11 8 9 - 13 - -

D GB J

F IC K

E HA L 9 2 9

2 6 1 6 3

9 2 2

2 3 5

3 4 1 5 5

Page 36: VII Teoria grafów II

Szukanie najkrótszej drogi

L B C D E F G H I J K LL{G} 3 2 5 7 11 8 9 - 13 - -L{H} 3 2 5 7 10 8 9 - 13 15 18L{F} 3 2 5 7 10 8 9 12 13 15 18L{I} 3 2 5 7 10 8 9 12 13 14 18

D GB J

F IC K

E HA L 9 2 9

2 6 1 6 3

9 2 2

2 3 5

3 4 1 5 5

Page 37: VII Teoria grafów II

9 2 2

2 6 1 6 3

3 4 1 5 5 9 2 9

Szukanie najkrótszej drogi

L B C D E F G H I J K LL{I} 3 2 5 7 10 8 9 12 13 14 18L{J} 3 2 5 7 10 8 9 12 13 14 17L{K} 3 2 5 7 10 8 9 12 13 14 17

D GB J

F IC K

E HA L

2 3 5Waga najkrótszej drogi to 17

Page 38: VII Teoria grafów II

Zadanie chińskiego listonosza

Page 39: VII Teoria grafów II

Zadanie chińskiego listonosza

Jest to zadanie postawione przez chińskiego matematyka Mei-Ku Kwana. Polega ono na tym, by listonosz, który musi doręczyć pocztę, przeszedł jak najkrótszą łączną drogę i powrócił do punktu wyjścia. Musi on przejść przez każda ulicę i unikać przechodzenia przez te same ulice kilka razy.

Page 40: VII Teoria grafów II

Sformułowanie problemu w języku teorii grafów

Graf odpowiada sieci ulic, a waga każdej krawędzi jest długością odpowiedniej ulicy. Zadanie polega na znalezieniu takiej trasy zamkniętej, która całkowita waga jest minimalna i w której każda krawędź występuje co najmniej jeden raz.

Jeśli graf jest eulerowski, to każdy cykl jestżądana trasą zamkniętą.

Page 41: VII Teoria grafów II

Przykład

- W tym szczególnym przypadku mamy do czynienia z grafem, w którym dokładnie 2 wierzchołki B i E mają stopień nieparzysty.

- Możemy zatem wskazać drogę Eulera od B do E.

- Następnie wskazujemy najkrótszą drogę od E do B: E-F-A-B.

- Szukana droga jest połączeniem drogi Eulera z najkrótsza ścieżką. Jej długość, to 77.

F E

A D

B C5

4

538

14

10

6

9

Page 42: VII Teoria grafów II

Przykład

- W tym szczególnym przypadku mamy do czynienia z grafem, w którym dokładnie 2 wierzchołki B i E mają stopień nieparzysty.

- Możemy zatem wskazać drogę Eulera od B do E.

- Następnie wskazujemy najkrótszą drogę od E do B: E-F-A-B.

- Szukana droga jest połączeniem drogi Eulera z najkrótsza ścieżką. Jej długość, to 77.

F E

A D

B C5

4

538

14

10

6

9

Page 43: VII Teoria grafów II

Przykład

- W tym szczególnym przypadku mamy do czynienia z grafem, w którym dokładnie 2 wierzchołki B i E mają stopień nieparzysty.

- Możemy zatem wskazać drogę Eulera od B do E.

- Następnie wskazujemy najkrótszą drogę od E do B: E-F-A-B.

- Szukana droga jest połączeniem drogi Eulera z najkrótsza ścieżką. Jej długość, to 77.

F E

A D

B C5

4

538

14

10

6

9

Page 44: VII Teoria grafów II

Problem komiwojażera

Page 45: VII Teoria grafów II

Problem komiwojażera

Komiwojażer ma do odwiedzenia pewną 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ę?

Page 46: VII Teoria grafów II

Sformułowanie problemu w języku teorii grafów

Rysujemy graf. Wierzchołki tego grafu odpowiadają miastom, krawędzie łączącym je drogom, a waga każdej krawędzi jest długością odpowiedniej drogi. Zadanie polega na znalezieniu cyklu Hamiltona o najmniejszej całkowitej wadze w danym grafie.

Page 47: VII Teoria grafów II

Przykład

F E

A D

B

8

7

62

4

8

9

53

6

Page 48: VII Teoria grafów II

Przykład

C D

B E

A

8

7

62

4

8

9

53

6

Waga drogi = 26

Page 49: VII Teoria grafów II

O przyjaciołach i politykach

Page 50: VII Teoria grafów II

O przyjaciołach i politykach

Przypuśćmy, że w pewnej grupie ludzi każda para przyjaciół ma dokładnie jednego wspólnego przyjaciela. Wtedy z pewnością istnieje osoba („polityk”), która jest przyjacielem wszystkich.

Page 51: VII Teoria grafów II

Sformułowanie problemu w języku teorii grafów

Osoby z rozważanej grupy utożsamiamy z wierzchołkami grafu. Dwa wierzchołki łączymy krawędzią wtedy i tylko wtedy, kiedy odpowiednie osoby się przyjaźnią. Zakładamy, że przyjaźń jest zawsze obustronna, tzn. jeśli u jest przyjacielem v, to v jest przyjacielem u.

Page 52: VII Teoria grafów II

Twierdzenie o przyjaźni

Przypuśćmy, że G jest grafem, w którym dowolna para wierzchołków ma dokładnie jednego wspólnego sąsiada. Istnieje wówczas wierzchołek, który sąsiaduje ze wszystkimi innymi wierzchołkami.

Page 53: VII Teoria grafów II

Kolorowanie grafów

Page 54: VII Teoria grafów II

Kolorowanie wierzchołków

Jeśli G jest grafem bez pętli, to mówimy, że

G jest grafem k-kolorowalnym, jeśli każdemu wierzchołkowi możemy przypisać jeden z kolorów w taki sposób, by sąsiednie wierzchołki mały różne kolory. Jeśli graf G jest k-kolorowalny, ale nie jest (k-1) - kolorowalny, to mówimy, że jest on

k-chromatycznylub, że jego liczba chromatyczna jest równa k.

Page 55: VII Teoria grafów II

Twierdzenie

Jeśli G jest grafem prostym, w którym największym stopniem wierzchołka jest k, to graf G jest (k+1)-kolorowalny.

Page 56: VII Teoria grafów II

Zagadnienie czterech barw

Twierdzenie (Appel i Haken, 1976)Każdy planarny graf prosty jest 4-kolorowalny.

Page 57: VII Teoria grafów II

Kolorowanie map

Czy używając jedynie czterech barw można państwa na dowolnej mapie płaskiej pokolorować w taki sposób, by każde dwa państwa mające wspólny odcinek granicy (nie zaś tylko jeden punkt) różniły się kolorem?

Page 58: VII Teoria grafów II

Twierdzenie o czterech barwach

Każda mapa jest cztero-kolorowalna.

Page 59: VII Teoria grafów II

Twierdzenie o czterech barwach

Każda mapa jest cztero-kolorowalna.

Page 60: VII Teoria grafów II

Twierdzenie o czterech barwach

Każda mapa jest cztero-kolorowalna.

Page 61: VII Teoria grafów II

Strażnicy w muzeum

Page 62: VII Teoria grafów II

Strażnicy w muzeum

Problem postawiony przez Victora Klee w 1973 r.

Przypuśćmy, że dyrektor muzeum chciałby mieć pewność, że wszystkie punkty muzeum znajdują się stale pod obserwacją jednego ze strażników. Strażnicy stoją na ustalonych posterunkach, ale mogą się obracać dookoła. Ilu strażników jest potrzebnych?

Page 63: VII Teoria grafów II

Twierdzenie o galerii sztuki

Do pilnowania dowolnego wielokątnego muzeum o n ścianach wystarczy

n/3 strażników.

x - oznacza część całkowitą liczby x

Page 64: VII Teoria grafów II

Dowód (autorstwa Steve’a Fiska)

Najpierw rysujemy n-3 nie przecinające się przekątne, wybierając je tak, by dokonać triangularyzacji wnętrz muzeum.

Page 65: VII Teoria grafów II

Dowód (autorstwa Steve’a Fiska)

Najpierw rysujemy n-3 nie przecinające się przekątne, wybierając je tak, by dokonać triangularyzacji wnętrz muzeum.

Page 66: VII Teoria grafów II

Dowód (autorstwa Steve’a Fiska)

Powstała figura może być traktowana jako graf, w którym wierzchołkami są narożniki muzeum, a krawędziami będą ściany i narysowane przekątne.

Page 67: VII Teoria grafów II

Dowód (autorstwa Steve’a Fiska)

Ten graf jest trójkolorowalny.- gdy n=3 – oczywiste- gdy n>3 – wybieramy 2 dowolne wierzchołki u i v

połączone przekątną. Dzieli ona cały graf na 2 mniejsze tego samego typu. Korzystamy z zasady indukcji matematycznej i stwierdzamy, że każdy z nich jest 3-kolorowalny. Łącząc oba kolorowania stwierdzamy, że cały graf jest 3-kolorowalny.

Page 68: VII Teoria grafów II

Dowód (autorstwa Steve’a Fiska)

Mamy n wierzchołków pomalowanych 3 kolorami, więc istnieje kolor, którym pomalowano nie więcej niż n/3 wierzchołków.

Page 69: VII Teoria grafów II

Dowód (autorstwa Steve’a Fiska)

Strażników należy ustawić właśnie w tych wierzchołkach. Każdy z trójkątów ma wierzchołek tego koloru, a zatem każdego trójkąta pilnuje co najmniej jeden strażnik.

Page 70: VII Teoria grafów II

Problem otwarty

Przypuśćmy, ze każdy strażnik spaceruje wzdłuż jednej ze ścian muzeum i widzi wszystko, co można zobaczyć z dowolnego punktu leżącego gdziekolwiek na tej ścianie. Ilu (najmniej) takich spacerujących strażników potrzeba, by zapewnić ochronę muzeum?

Page 71: VII Teoria grafów II

Dziękuję za uwagę!