• Nie Znaleziono Wyników

Algorytmiczna teoria grafów Podstawowe pojęcia i klasy grafów dr Hanna Furmańczyk

N/A
N/A
Protected

Academic year: 2021

Share "Algorytmiczna teoria grafów Podstawowe pojęcia i klasy grafów dr Hanna Furmańczyk"

Copied!
34
0
0

Pełen tekst

(1)

Algorytmiczna teoria grafów

Podstawowe pojęcia i klasy grafów

dr Hanna Furmańczyk

(2)

Grafy nieskierowane

Definicja

Graf nieskierowany (graf)G = (V , E ) jest to uporządkowana para składająca się z niepustego skończonego zbioru wierzchołków V oraz zbioru krawędzi E , gdzie krawędzie to nieuporządkowane pary wierzchołków:

E ⊆ {{u, v }|u, v ∈ V }.

Przykład 1: G = (V , E ):

V = {v1, v2, v3, v4, v5}

E = {{v1, v2}, {v2, v3}, {v3}, {v3, v4}, {v2, v4}, {v4, v5}, {v2, v5}, {v2, v5}}.

{v2, v4}, {v4, v5}, {v2, v5}, xxxxxx}.

e2

e5 e4 e8 e7

e6 e1

v2 e3

v3

v5 v4 v1

(3)

Definicja

Rządgrafu G = (V , E ), ozn. przez n, jest to |V |.

Rozmiargrafu G = (V , E ), ozn. przez m, jest to |E |.

Graf z Przykładu 1 jest rzędu 5 oraz ma rozmiar 8.

Definicja

Relacja I = {(v , e) ∈ V × E : v ∈ e} to relacja incydencji.

Zatem, jeśli v ∈ e, wówczas:

wierzchołek v jest incydentny z krawędzią e w grafie G ; krawędź e jest incydentnaz wierzchołkiem v w grafie G .

(4)

W grafie z Przykładu 1:

e2

e5 e4 e8 e7

e6

e1 v3

v5 v4 v1

wierzchołek v1 jest incydentny z e1, v3 jest incydentny z e3, e4, itd.;

krawędź e2 jest incydentna z v2 i v3, e3 jest incydentna z v4, itd.

(5)

Rozróżniamy trzy typy krawędzi:

pętle, czyli krawędzie incydentne z dokładnie jednym wierzchołkiem;

krawędzie jednokrotne;

krawędzie wielokrotne(równoległe,multikrawędzie).

W grafie z Przykładu 1:

e2

e5 e4 e8 e7

e6 e1

v2 e3

v3

v5 v4 v1

krawędź e3 jest pętlą;

krawędź e1 jest krawędzią jednokrotną, itd.;

krawędź e jest krawędzią wielokrotną.

(6)

Grafy nieskierowane dzielimy na grafyproste(bez pętli i

multikrawędzi),multigrafy(bez pętli) oraz pseudografy(pozostałe grafy).

(7)

Krawędzie e, ˆe ∈ E sąsiadująze sobą w grafie = G (V , E ) wtedy i tylko wtedy, gdy e ∩ ˆe 6= ∅.

Wierzchołki u, v ∈ V sąsiadująze sobą w G = (V , E ) wtedy i tylko wtedy, gdy u = v i {v } ∈ E lub u 6= v i {u, v } ∈ E .

W grafie z Przykładu 1:

e2

e5 e4 e8 e7

e6 e1

v2 e3

v3

v5 v4 v1

krawędź e1 jest sąsiednia z e2, krawędź e3 jest sąsiednia z e4, itd.;

krawędź jest sąsiednia sama z sobą;

wierzchołek v1 jest sąsiedni z v2, a v3 jest sąsiedni z samym

(8)

Zbiór N(v ) = {u ∈ V : u sąsiaduje z v } tosąsiedztwo wierzchołka v w grafie G = (E , V ).

Zbiór N[v ] = N(v ) ∪ {v } todomknięte sąsiedztwo wierzchołka v .

W grafie z Przykładu 1:

e2

e5 e4 e8 e7

e6 e1

v2 e3

v3

v5 v4 v1

N(v1) = {v2}, N[v1] = {v1, v2};

N(v3) = N[v3] = {v2, v3, v4}.

(9)

Definicja

Stopieńwierzchołka v w grafie G = (E , V ), ozn. degG(v ), to liczba incydentnych z nim krawędzi [pętla liczona jest podwójnie].

Wierzchołki stopnia 0 noszą nazwę wierzchołkówizolowanych, a wierzchołki stopnia 1 toliście (wierzchołkiwiszące).

W grafie z Przykładu 1:

e2

e5 e4 e8 e7

e6 e1

v2 e3

v3

v5 v4 v1

degG(v1) = 1, czyli v1 jest liściem;

degG(v3) = 4.

(10)

Liczba ∆(G ) = maxv ∈V degG(v ) dla danego grafu G = (E , V ) nosi nazwęmaksymalnego stopnia(bądźstopnia); natomiast stopień minimalnygrafu G to δ(G ) = minv ∈VdegG(v ).

W grafie z Przykładu 1:

e2

e5 e4 e8 e7

e6 e1

v2 e3

v3

v5 v4 v1

∆(G ) = 5, δ(G ) = 1

(11)

Przykład 2

e2

e1 e5

e3

e4

e2 e1

e3

e2 e1 e5 e3 v1

v2 v3

v5

v4 G1

v1

v2 v3 G2

v3

v5

v4 G3

v1

v2 v3

v5 v4 G4

(12)

Graf G = (V (G ), E (G )) jestpodgrafemgrafu H = (V (H), E (H)) (H jestnadgrafem grafu G ) wtedy i tylko wtedy, gdy

V (G ) ⊆ V (H), E (G ) ⊆ E (H).

Jeżeli G jest podgrafem H, to piszemy G ⊆ H. Podgraf G jest podgrafemwłaściwym (nadgraf H grafu G jest nadgrafem właściwym), jeśli G 6= H.

(13)

e2

e1 e5

e3

e4

e2 e1

e3

e2 e1 e5 e3 v1

v2 v3

v5

v4 G1

v1

v2 v3 G2

v3

v5

v4 G3

v1

v2 v3

v5 v4 G4

Np. G4 jest podgrafem właściwym G1 (G4( G1).

Np. G1 jest nadgrafem właściwym G2, G3 i G4.

(14)

Dla niepustego zbioru U ⊂ V , podgraf grafu G = (V , E ) powstały przez usunięcie z niego wierzchołków należących do V \ U i wszystkich incydentnych z nimi krawędzi topodgraf indukowany przez zbiór U.

ozn. G |U lub G [U];

jeżeli G jest rzędu przynajmniej 2 i v ∈ V , to G − v = G [V \ {v }];

jeżeli U ( V , to G − U = G [V \ U];

Podgraf grafu G powstały poprzez usunięcie z niego krawędzi oznaczamy przez G − e.

Podgraf grafu G powstały poprzez usunięcie z niego krawędzi należących do zbioru F ⊆ E oznaczamy przez G − F .

(15)

e2

e1 e5

e3

e4

e2 e1

e3

e2 e1 e5 e3 v1

v2 v3

v5

v4 G1

v1

v2 v3 G2

v3

v5

v4 G3

v1

v2 v3

v5 v4 G4

G2 = G1− {v4, v5} = G1[{v1, v2, v3}];

G4 = G1− e4.

(16)

Grafy G i H sąidentyczne(G = H), jeśli V (G ) = V (H) oraz E (G ) = E (H).

Definicja

Dwa multigrafy G1 = (V1, E1) i G2 = (V2, E2) sąizomorficzne, jeżeli istnieje wzajemnie jednoznaczna odpowiedniość h : V1→ V2 pomiędzy wierzchołkami G1 i wierzchołkami G2 taka, że

{u, v } ∈ E1⇔ {h(u), h(v )} ∈ E2. Zapisujemy G1 ∼= G2

Ogólnie: grafy izomoroficzne można traktować jak identyczne (mają taką samą reprezentację graficzną z dokładnością do etykiet).

(17)

4

3 1 2

5

6 7

8

9 10

d c a b

e

f g

h

i j

G H

Czy G ∼= H? Odp.: TAK

(18)

4

3 1 2

5

6 7

8

9 10

d c a b

e

f g

h

i j

G H

Czy G ∼= H?

(19)

4

3 1 2

5

6 7

8

9 10

d c a b

e

f g

h

i j

G H

Czy G ∼= H?

Odp.: TAK

(20)

4

3 2 1

5

6 7

8

9 10

d c a b

e

f g

h

i j

1 2 3 4 5 6 7 8 9 10

a b c d e f g h i j

(21)

Twierdzenie

Jeżeli dwa multigrafy G1 = (V1, E1) i G2 = (V2, E2) są izomorficzne, to:

G1 i G2 mają tyle samo wierzchołków: |V1| = |V2|.

G1 i G2 mają tyle samo krawędzi: |E1| = |E2|.

dla dowolnego k multigrafy G1 i G2 mają tyle samo wierzchołków stopnia k.

Czy to wystarczy, aby dwa grafy były izomorficzne? Odp.: NIE

(22)

Twierdzenie

Jeżeli dwa multigrafy G1 = (V1, E1) i G2 = (V2, E2) są izomorficzne, to:

G1 i G2 mają tyle samo wierzchołków: |V1| = |V2|.

G1 i G2 mają tyle samo krawędzi: |E1| = |E2|.

dla dowolnego k multigrafy G1 i G2 mają tyle samo wierzchołków stopnia k.

Czy to wystarczy, aby dwa grafy były izomorficzne?

(23)

Twierdzenie

Jeżeli dwa multigrafy G1 = (V1, E1) i G2 = (V2, E2) są izomorficzne, to:

G1 i G2 mają tyle samo wierzchołków: |V1| = |V2|.

G1 i G2 mają tyle samo krawędzi: |E1| = |E2|.

dla dowolnego k multigrafy G1 i G2 mają tyle samo wierzchołków stopnia k.

Czy to wystarczy, aby dwa grafy były izomorficzne?

Odp.: NIE

(24)

c

b a

d

g f e

h

3

2 1

4

7 6 5

8

G H

|E (G )| = |E (H)|

ciąg stopni dla grafu G : (3, 3, 3, 3, 2, 2, 2, 2) ciag stopni dla grafu H: (3, 3, 3, 3, 2, 2, 2, 2)

jednak G 6∼= H

(25)

c

b a

d

g f e

h

3

2 1

4

7 6 5

8

G H

|V (G )| = |V (H)|

|E (G )| = |E (H)|

ciąg stopni dla grafu G : (3, 3, 3, 3, 2, 2, 2, 2) ciag stopni dla grafu H: (3, 3, 3, 3, 2, 2, 2, 2)

jednak G 6∼= H

(26)

c

b a

d

g f e

h

3

2 1

4

7 6 5

8

G H

|V (G )| = |V (H)|

|E (G )| = |E (H)|

ciag stopni dla grafu H: (3, 3, 3, 3, 2, 2, 2, 2) jednak G 6∼= H

(27)

c

b a

d

g f e

h

3

2 1

4

7 6 5

8

G H

|V (G )| = |V (H)|

|E (G )| = |E (H)|

ciąg stopni dla grafu G : (3, 3, 3, 3, 2, 2, 2, 2) ciag stopni dla grafu H: (3, 3, 3, 3, 2, 2, 2, 2)

jednak G 6∼= H

(28)

c

b d

g f e

h

3

2 4

7 6 5

8

|V (G )| = |V (H)|

|E (G )| = |E (H)|

ciąg stopni dla grafu G : (3, 3, 3, 3, 2, 2, 2, 2) ciag stopni dla grafu H: (3, 3, 3, 3, 2, 2, 2, 2)

jednak G 6∼= H

(29)

Problem izomorfizmu grafów jest bardzo ważny, np. ze względu na zastosowania. Jednakże dotychczas nie jest znany wielomianowy algorytm rozstrzygający, czy dane dwa grafy są izomorficzne.

(30)

Twierdzenie (Lemat o uściskach dłoni) Niech G = (V , E ) będzie grafem. Wówczas

X

v ∈V

degG(v ) = 2|E |.

Sumując stopnie wierzchołków grafu liczymy, ile jest w sumie krawędzi incydentnych z jego wierzchołkami. Każda krawędź zostanie policzona dwukrotnie, zatem suma stopni równa się

podwojonej liczbie krawędzi. 

(31)

Twierdzenie (Lemat o uściskach dłoni) Niech G = (V , E ) będzie grafem. Wówczas

X

v ∈V

degG(v ) = 2|E |.

Dowód

Sumując stopnie wierzchołków grafu liczymy, ile jest w sumie krawędzi incydentnych z jego wierzchołkami. Każda krawędź zostanie policzona dwukrotnie, zatem suma stopni równa się

podwojonej liczbie krawędzi. 

(32)

Liczba d (G ) =

P

v ∈VdegG(v )

|V | jest to średni stopieńgrafu G = (V , E ).

(33)

Ciągi grafowe

Definicja

Ciąg c liczb naturalnych jest ciągiemgraficznym, jeśli istnieje graf prosty, którego stopnie wierzchołków odpowiadają elementom ciągu c.

Twierdzenie (Havel 1955, Hakimi 1962)

Rozważmy następujące dwa nierosnące ciągi liczb naturalnych: (1) s, t1, . . . , ts, d1, . . . , dk,

(2) t1− 1, . . . , ts− 1, d1, . . . , dk.

Wówczas ciąg (1) jest ciągiem graficznym wtedy i tylko wtedy, gdy ciąg (2) jest ciągiem graficznym.

Na przykład ciąg (3, 2, 2, 2, 1) jest graficzny, podczas gdy ciągi (3, 3, 3, 1, 1) oraz (4, 4, 4, 4, 2) już nie są graficzne.

(34)

Ciągi grafowe

Definicja

Ciąg c liczb naturalnych jest ciągiemgraficznym, jeśli istnieje graf prosty, którego stopnie wierzchołków odpowiadają elementom ciągu c.

Twierdzenie (Havel 1955, Hakimi 1962)

Rozważmy następujące dwa nierosnące ciągi liczb naturalnych:

(1) s, t1, . . . , ts, d1, . . . , dk, (2) t1− 1, . . . , ts − 1, d1, . . . , dk.

Wówczas ciąg (1) jest ciągiem graficznym wtedy i tylko wtedy, gdy ciąg (2) jest ciągiem graficznym.

Na przykład ciąg (3, 2, 2, 2, 1) jest graficzny, podczas gdy ciągi

Cytaty

Powiązane dokumenty

Uporządkowane kolorow anie wierzchołków grafów

Graf prosty bez podgrafów będących cyklami to las (inaczej: graf acyk- liczny ); las będący grafem spójnym to drzewo.. Drzewo stopnia 0, 1 lub 2

jest większy od obecnego koloru c(u) nie koliduje z kolorami wierzchołków ze stosu jeżeli uda się pokolorować, to:. sprawdzamy, czy pokolorowano już wszystkie wierzchołki

wtedy, kiedy nie można wskazać ścieżki powiększającej, a nie mamy jeszcze przelewu maksymalnego.. Niezbędny jest systematyczny sposób generowania ścieżek powiększających -

Dwa grafy są homeomorficzne jeśli mogą być otrzymane z tego samego grafu poprzez umieszczenie nowych wierzchołków stopnia dwa na jego krawędziach (krawędź zastępowana

Za pomocą symboli arytmetycznych i symboli rachun- ku zdań zapisać następujące twierdzenia arytmetyki liczb rzeczywistych.. (a) Jeśli liczba jest różna od zera, to (jest ujemna

Jak wcze´sniej wspomnieli´smy, drzewa spinaj ¾ ace otrzymane w wyniku dzia÷ ania algorytmu Drzewo mo· zna traktowa´c jako uporz ¾ adkowane drzewa z wyró· znionym korzeniem.. Porz

Jeśli graf G jest planarny, to zawiera wierzchołek stopnie niewi ekszego