• Nie Znaleziono Wyników

Matematyka Dyskretna Wykªad: Sieci Przepªywowe

N/A
N/A
Protected

Academic year: 2021

Share "Matematyka Dyskretna Wykªad: Sieci Przepªywowe"

Copied!
20
0
0

Pełen tekst

(1)

Matematyka Dyskretna

Wykªad: Sieci Przepªywowe

Tomasz Krawczyk

krawczyk@tcs.uj.edu.pl

Kraków, semestr letni 2020/21

(2)

sieci przepªywowe

I Caªkowitoliczbowe sieci przepªywowe: poj¦cia przekroju i przepªywu.

I Twierdzenie Forda-Fulkersona o maksymalnym przepªywie i minimalnym przekroju.

I Grafy  spójno±¢ w grafach.

(3)

sieci przepªywowe  denicja

Sieci¡ przepªywow¡ nazywamy pi¡tk¦ S = (V , E, s, t, c), gdzie:

I ( V , E) jest grafem skierowanym o zbiorze wierzchoªków V i zbiorze kraw¦dzi E (kraw¦d¹ skierowan¡ w (V , E) prowadz¡c¡ od u do v oznaczamy przez ( u, v) ∈ E).

I s, t ∈ V s¡ dwoma wyszczególnionymi wierzchoªkami grafu (V , E),

I

wierzchoªek s, zwany ¹ródªem, mo»e by¢ tylko pocz¡tkiem pewnych kraw¦dzi z (V , E),

I

wierzchoªek t, zwany uj±ciem, mo»e by¢ tylko ko«cem pewnych kraw¦dzi z ( V , E).

I c jest funkcj¡ ze zbioru kraw¦dzi E w zbiór N > 0, zwan¡ funkcj¡

przepustowo±ci.

(4)

przepªyw

Maj¡c dan¡ sie¢ przepªywow¡ S = (V , E, s, t, c), chcemy zazwyczaj wyznaczy¢

maksymalny przepªyw caªkowitoliczbowy w tej sieci.

Funkcj¦ f : E → N

≥0

nazywamy przepªywem caªkowitoliczbowym (w skrócie przepªywem) je»eli f speªnia nast¦puj¡ce warunki:

I f (u, v) 6 c(u, v) dla ka»dej kraw¦dzi (u, v) ∈ E;

warunek ten zwiemy warunek przepustowo±ci dla kraw¦dzi (u, v) ∈ E,

I P

u:(u,v)∈E

f (u, v) = P

w:(v,w)∈E

f (v, w) dla ka»dego wierzchoªka v ∈ V \ {s, t};

warunek ten zwiemy warunkiem zachowania przepªywu dla wierzchoªka v innego ni» ¹ródªo s i uj±cie t sieci S.

Warto±ci¡ funkcji przepªywu f , oznaczan¡ przez val(f ), nazywamy warto±¢:

val(f ) = X

v:(s,v)∈E

f (s, v).

(5)

przekroje

Przekrojem w sieci przepªywowej S nazywamy ka»d¡ par¦ (S, T ), gdzie S, T ( V , speªniaj¡c¡ nastepuj¡ce warunki:

I s ∈ S, t ∈ T ,

I S ∩ T = ∅, S ∪ T = V .

Maj¡c dany przekrój (S, T ) w sieci S:

I przepustowo±ci¡ przekroju (S, T ) nazywamy warto±¢ c(S, T ) zdeniowan¡ jako:

c(S, T ) = X

( u, v) ∈ E : u ∈ S, v ∈ T

c(u, v).

I maj¡c dany przepªyw f w sieci S, przepªywem przez przekrój (S, T ) nazywamy warto±¢ f (S, T ) zdeniowan¡ jako:

f (S, T ) = X ( u, v) ∈ E : u ∈ S, v ∈ T

f (u, v) − X ( v, u) ∈ E : v ∈ T , u ∈ S

f (v, u).

(6)

przekroje

Fakt Niech f b¦dzie dowoln¡ funkcj¡ przepªywu w sieci S. Dla dowlonego przekroju (S, T ) sieci S zachodz¡ nast¦puj¡ce wªasno±ci:

I f (S, T ) 6 c(S, T ).

I val(f ) = f (S, T ) (przepªyw przez ka»dy przekrój sieci jest taki sam i wynosi val(f )).

Dowód.

I Pierwsza wªasno±¢ wynika z denicji przepustowo±ci i przepªywu dla przekroju ( S, T ) oraz z zasady przepustowo±ci f (u, v) 6 c(u, v) dla ka»dej kraw¦dzi (u, v) sieci S.

I Wªasno±¢ drug¡ udowodnimy indukcj¡ po liczbie wierzchoªków w zbiorze S w przekroju (S, T ).

I

Jedynym przekrojem (S, T ) takim, »e |S| = 1, jest przekrój

( S, T ) = ({s}, V \ {s}). Z denicji val(f ) mamy val(f ) = f ({s}, V \ {s}).

(7)

przekroje

Dowód wªasno±ci drugiej (kont.)

I Niech (S, T ) b¦dzie przekrojem takim, »e |S| ≥ 2.

I

Wybierzmy x ∈ S taki, »e x 6= s.

I

Zauwa»my, »e (S

0

, T

0

) = ( S \ {s}, T ∪ {x}) jest przekrojem S

0

takim, »e

| S

0

| < | S|. Z zaªo»enie indukcyjnego, val(f ) = f (S

0

, T

0

).

I

Zauwa»my, »e S

0

∪ T = V \ {x} oraz, »e:

f (S

0

, T

0

) − f (S, T ) = P (u

1

,x) ∈ E

u

1

∈ S

0

f (u

1

, x) − P (x, v

1

) ∈ E

v

1

∈ S

0

f (x, v

1

)

+ P

( u

2

, x) ∈ E u

2

∈ T

f (u

2

, x) − P ( x, v

2

) ∈ E

v

2

∈ T

f (x, v

2

)

= P

u:(u,x)∈E

f (u, x) − P

v:(x,v)∈E

f (x, v)

= 0,

przy czym ostatnia równo±¢ wynika z zasady zachowania przepªywu dla

wierzchoªka x. Wynika st¡d f (S, T ) = f (S

0

, T

0

) = val(f ), co ko«czy

dowód.

(8)

minimalne przekroje

Przekrój (S

0

, T

0

) sieci S nazywamy minimalnym je»eli zachodzi:

c(S

0

, T

0

) = min {c(S, T ) : (S, T ) przekrój w S}.

Wniosek:

Przepustowo±¢ minimalnego przekroju jest naturalnym ograniczeniem górnym na

warto±¢ funkcji przepªywu w sieci.

(9)

±cie»ki powi¦kszaj¡ce

Niech S b¦dzie sieci¡ przepªywow¡, niech f b¦dzie przepªywem w S.

‘cie»k¡ powi¦kszaj¡c¡ przepªyw f w sieci S prowadz¡c¡ od wierzchoªka s do wierzchoªka v

k

nazywamy ci¡g s = v

1

, v

2

, . . . , v

k

speªniaj¡c¡ dla ka»dego i ∈ [k − 1]

warunek:

I albo (v

i

, v

i+1

) ∈ E i f (v

i

, v

i+1

) < c(v

i

, v

i+1

) , (kraw¦d¹ (v

i

, v

i+1

) nazywamy wtedy kraw¦dzi¡ zgodn¡ ze ±cie»k¡ powi¦kszaj¡c¡ v

1

, . . . , v

k

).

I albo (v

i+1

, v

i

) ∈ E i f (v

i+1

, v

i

) > 0, (kraw¦d¹ (v

i

, v

i+1

) nazywamy wtedy kraw¦dzi¡ przeciwn¡ do ±cie»ki powi¦kszaj¡cej v

1

, . . . , v

k

).

Uwagi:

I odnosz¡c sie do ±cie»ki powi¦kszaj¡cej zazwyczaj pomijamy przepªyw f

wzgl¦dem którego ±cie»ka ta jest zdeniowana; przepªyw ten jest zazwyczaj

okre±lony przez kontekst.

(10)

±cie»ki powi¦kszaj¡ce od s do t

Je»eli istnieje ±cie»ka powi¦kszaj¡ca P prowadz¡ca od s do t, to przepªyw f mo»emy polepszy¢ o pewn¡ warto±¢ val ≥ 1:

I powi¦kszaj¡c o val przepªyw f na ka»dej kraw¦dzi (u, v) ±cie»ki P zgodnej z P, I pomniejszaj¡c o val przepªyw f na ka»dej kraw¦dzi (u, v) ±cie»ki P przeciwnej

do ±cie»ki P.

Warto±¢ val jest mo»liwie najwi¦ksz¡ liczb¡ naturaln¡ dobran¡ tak, by zmodykowany przepªyw na ka»dej kraw¦dzi byª nie mniejszy od 0 i nie wi¦kszy od przepustowo±ci tej kraw¦dzi.

Nietrudno jest sprawdzi¢, »e tak poprawiony przepªyw, nazwijmy go f

0

, speªnia warunek przepustowo±ci dla ka»dej kraw¦dzi sieci i warunek przepªywu dla ka»dego wierzchoªka sieci ró»nego od ¹ródªa i uj±cia (jest wi¦c nadal przepªywem), oraz zachodzi równo±¢:

val(f

0

) = val(f ) + val.

Procedur¦ opisan¡ powy»ej nazywamy powi¦kszeniem przepªywu f wzdªu» ±cie»ki

powi¦kszaj¡cej P.

(11)

maksymalny przepªyw - metoda Forda-Fulkersona

Metoda Forda-Fulkersona wyznaczania maksymalnego przepªywu w sieci S (maksymalizujacego warto±¢ val(·)):

I ustaw f (u, v) = 0 dla ka»dej kraw¦dzi (u, v) sieci S,

I dopóki istnieje ±cie»ka P powi¦kszaj¡ca przepªyw f prowadz¡ca od s do t:

I

powi¦ksz przepªyw f wzdªu» ±cie»ki P.

Okazuje si¦, »e przepªyw obliczony metod¡ Forda-Fulkersona jest przepªywem maksymalnym w S (dowód na kolejnych slajdach). Niestety zªo»ono±¢ powy»szego algorytmu mo»e zale»e¢ od warto±ci funkcji c i mo»e by¢ nieograniczona wzgl¦dem rozmiaru digrafu (V , E) w sieci S.

Jedn¡ z realizacji metody Forda-Fulkersona jest algorytm Edmondsa-Karpa. Algorytm ten spo±ród wszystkich mo»liwych ±cie»ek powi¦kszaj¡cych od s do t wybiera ±cie»k¦

najkrótszej dªugo±ci. Taki sposób wybierania ±cie»ek powi¦kszaj¡cych gwarantuje, i»

algorytm dziaªa w czasie O(|V ||E|

2

) .

(12)

maksymalny przepªyw  minimalny przekrój

Twierdzenie (Ford-Fulkerson, 1962)

Niech S = (V , E, s, t, c) b¦dzie sieci¡ przepªywow¡ i niech f b¦dzie przepªywem w S.

Nast¦puj¡ce warunki s¡ sobie równowa»ne:

(1) f jest przepªywem maksymalnym.

(2) W sieci S nie istnieje ±cie»ka powi¦kszaj¡ca przepªyw f prowadz¡ca od s do t.

(3) Para (S, T ), gdzie

S = {v ∈ V : istnieje ±cie»ka powi¦kszaj¡ca f od s do v}

jest przekrojem w sieci S speªniaj¡cym warunek f (S, T ) = c(S, T ).

Dowód:

I (1) > (2): istnienie ±cie»ki powi¦kszaj¡cej przepªyw f prowadz¡cej od s do t gwarantuje, »e mo»emy powi¦kszy¢ przepªyw f o co najmniej 1.

I (3) > (1): wiemy, »e zachodzi f

0

( S, T ) 6 c(S, T ) dla ka»dego przepªywu f

0

w

sieci S. Poniewa» f (S, T ) = c(S, T ) oraz val(f ) = f (S, T ), przepªyw f musi

by¢ maksymalny.

(13)

maksymany przepªyw  minimalny przekrój

Dowód twierdzenia Forda-Fulkersona, implikacja (2)> (3):

I Poniewa» nie istnieje ±cie»ka powi¦kszaj¡ca od s do t, zbiór S nie zawiera t.

I Wprost z denicji ±cie»ek powi¦kszaj¡cych wynika, »e s ∈ S.

I Powy»sze dwa punkty oznaczaj¡, »e (S, T ) jest przekrojem. Wyka»emy teraz, »e f (S, T ) = c(S, T ). Przypomnijmy, »e:

c(S, T ) = P

( u, v) ∈ E : u ∈ S, v ∈ T

c(u, v)

f (S, T ) = P

( u, v) ∈ E : u ∈ S, v ∈ T

f (u, v) − P ( v, u) ∈ E : v ∈ T , u ∈ S

f (v, u) .

(14)

maksymalny przepªyw  minimalny przekrój

Dowód twierdzenia Forda-Fulkersona, implikacja (2)> (3), kontynuacja:

I Zauwa»my teraz, »e:

I

dla ka»dej kraw¦dzi (u, v) ∈ E takiej, »e u ∈ S i v ∈ T zachodzi f (u, v) = c(u, v).

Istotnie, gdyby f (u, v) < c(u, v), ±cie»k¦ powi¦kszaj¡c¡ od s do u mogliby±my poszerzy¢ o kraw¦d¹ (u, v) otrzymuj¡c w ten sposób ±cie»k¦

powi¦kszaj¡c¡ od s do v (kraw¦d¹ (v, u) byªaby kraw¦dzi¡ zgodn¡ z t¡

±cie»k¡ powi¦kszaj¡c¡), co przeczy v /∈ S.

I

dla ka»dej kraw¦dzi (v, u) ∈ E takiej, »e u ∈ S i v ∈ T zachodzi f (v, u) = 0.

Istotnie, gdyby f (v, u) > 0, ±cie»k¦ powi¦kszaj¡c¡ od s do u mogliby±my poszerzy¢ o kraw¦d¹ (v, u) otrzymuj¡c w ten sposób ±cie»k¦

powi¦kszaj¡c¡ od s do v (kraw¦d¹ (v, u) byªaby kraw¦dzi¡ przeciwn¡ do tej ±cie»ki powi¦kszaj¡cej), co przeczy v /∈ S.

I Maj¡c na uwadze dwie poprzednie obserwacje, otrzymujemy f (S, T ) = c(S, T ).

(15)

grafy  denicja

Denicja

Par¦ G = (V , E), gdzie V jest zbiorem a E jest podzbiorem

V2



nazywamy grafem.

Zbiór V nazywamy wierzchoªkami grafu G, zbiór E nazywamy kraw¦dziami grafu G.

Grafy zdeniowane jak powy»ej nazywamy cz¦sto grafami prostymi.

Maj¡c graf G, przyj¦to oznacza¢ przez:

I V (G)  zbiór wierzchoªków grafu G, I E(G)  zbiór kraw¦dzi grafu G.

Przyj¦to równie» pisa¢ uEv je»eli {u, v} ∈ E.

Zazwyczaj grafy przedstawiamy na pªaszczy¹nie R

2

w taki sposób, »e:

I ka»dy wierzchoªek grafu przedstawiamy w postaci punktu pªaszczyzny R

2

, I ka»d¡ kraw¦d¹ {u, v} grafu przedstawiamy w postaci krzywej ci¡gªej ª¡czacej

punkty reprezentuj¡ce wierzchoªki u oraz v rozª¡cznej z pozostaªymi punktami

reprezentuj¡cymi pozostaªe wierzchoªki grafu.

(16)

grafy - komponenty spójne

Niech G b¦dzie grafem.

Denicja

Ci¡g v

1

, . . . , v

k

wierzchoªków grafu nazwiemy ±cie»k¡ w grae G ª¡cz¡c¡ wierzchoªki v

1

oraz v

k

je»eli v

i

Ev

i+1

dla ka»dego i ∈ [k − 1]. ‘cie»ka v

1

, . . . , v

k

jest prosta je»eli v

i

6= v

j

dla ka»dego i 6= j, i, j ∈ [k].

Rozwa»my w grae G relacj¦ ∼ okre±lon¡ na zbiorze V (G):

u ∼ v ⇐⇒ istnieje ±cie»ka od u do v w G.

Nietrudno jest sprawdzi¢, »e ∼ jest relacj¡ równowa»no±ci w zbiorze V (G).

Klasy równowa»no±ci relacji ∼ nazywamy komponentami spójnymi G.

Denicja

Graf G jest spójny je»eli G posiada dokªadnie jeden komponent spójny.

(17)

podgrafy indukowane i podgrafy grafu

Denicja (podgraf G)

Niech G = (V , E) b¦dzie grafem a E

0

b¦dzie podzbiorem kraw¦dzi grafu G. Graf ( V , E

0

) nazywamy podgrafem grafu G .

Denicja (podgraf indukowany G)

Niech G = (V , E) b¦dzie grafem a U b¦dzie podzbiorem wierzchoªków grafu G.

Graf U, E ∩

U2



 nazywamy podgrafem G indukowanym przez zbiór wierzchoªków U. Graf U, E ∩

U2



 oznaczamy przez G[U].

(18)

separatory wierzchoªkowe i kraw¦dziowe grafu

Niech G = (V , E) b¦dzie grafem.

Denicja (separator)

Zbiór S ( V jest separatorem w grae G je»eli podgraf indukowany G[V \ S] ma przynajmniej dwa komponenty spójne.

Denicja (punkt artykulacji)

Wierzchoªek v nazywamy punktem artykulacji w G je»eli {v} jest separatorem w G.

Denicja (separator kraw¦dziowy)

Zbiór S ( E jest separatorem kraw¦dziowym w grae G je»eli graf (V , E \ S) ma przynajmniej dwa komponenty spójne.

W przypadku gdy S jest separatorem w G (wierzchoªkowym lub kraw¦dziowym),

przyj¦to mówi¢, »e usuni¦cie S z grafu rozspójnia graf G.

(19)

k-spójno±¢ grafu

Denicja

Graf G jest k-spójny je»eli |V (G)| > k oraz po usuni¦ciu dowolnych k − 1 wierzchoªków graf G pozostaje spójny.

Denicja

Graf G jest kraw¦dziowo k-spójny je»eli po usuni¦ciu dowolnych k − 1 kraw¦dzi graf G

pozostaje spójny.

(20)

twierdzenie Mengera

Korzystaj¡c z sieci przepªywowych mo»na w do±¢ prosty sposób udowodni¢ twierdzenie Mengera charakteryzuj¡ce grafy k-spójne i kraw¦dziowo k-spójne.

Twierdzenie (Menger, 1927)

Niech G b¦dzie grafem.

I Graf G jest k-spójny wtedy i tylko wtedy, gdy pomi¦dzy dowolnymi dwoma wierzchoªkami x, y ∈ V (G) istnieje k wierzchoªkowo rozª¡cznych ±cie»ek z x do y.

I Graf G jest kraw¦dziowo k-spójny wtedy i tylko wtedy, gdy pomi¦dzy dowolnym

dwoma wierzchoªkami x, y ∈ V (G) istnieje k kraw¦dziowo rozª¡cznych ±cie»ek z

x do y.

Cytaty

Powiązane dokumenty

Rodzin¦ F podzbiorów zbioru [n] nazywamy parami przecinaj¡c¡ si¦ je»eli ka»de dwa zbiory z F maj¡ niepuste

oznacza ten sam obiekt (izomorzm szeregów i ci¡gów); szeregi w sposób bardziej intuicyjny wprowadzaj¡ operacj¦ mno»enia (tak jak mno»enie wielomianów);. operacja splotu

krawczyk@tcs.uj.edu.pl Kraków, semestr letni 2019/20... Interesuje nas liczba

Twierdzenie w drug¡ stron¦ nie zachodzi: istniej¡ grafy z tymi samymi uporz¡dkowanymi sekwencjami stopni, które nie s¡ izomorczne. Denicja

4.11.5 Warto´s´c oczekiwana liczby ró˙znokolorowych

Jest on prze- znaczony dla studentów pierwszego roku kierunku informatyki i zawiera materiał rocz- nego wykładu z matematyki dyskretnej, prowadzonego przeze mnie na

Gracz dostaje wypªat¦ za ka»dym razem, gdy ró»nica mi¦dzy liczb¡ orªów i reszek wynosi b. Zgodnie z twierdzeniem, aby gra byªa sprawiedliwa, opªata za ni¡ musi wynosi¢

Szachownice , n×n po wyrzuceniu dw´och p´ol mo˙zna pokry´c kostkami dom- ina wtedy i tylko wtedy, gdy n jest parzyste i wyrzucone pola sa ,