• Nie Znaleziono Wyników

Algorytmika Problemów Trudnych Wykªad 6

N/A
N/A
Protected

Academic year: 2021

Share "Algorytmika Problemów Trudnych Wykªad 6"

Copied!
26
0
0

Pełen tekst

(1)

Algorytmika Problemów Trudnych

Wykªad 6 Tomasz Krawczyk

krawczyk@tcs.uj.edu.pl

Kraków, semestr letni 2019/20

(2)

plan wykªadu

Techniki Konstrukcji Algorytmów Parametryzowanych i Wykªadniczych:

I Programowanie Dynamiczne.

I Zasada wª¡cze« i wyª¡cze«.

I Color Coding.

(3)

Programowanie Dynamiczne

Programowanie dynamiczne jest to technika projektowania algorytmów (zazwyczaj optymalizacyjnych) oparta na podziale zadania na podproblemy wzgl¦dem pewnych parametrów.

Z optymalnych rozwi¡za« podproblemów dla maªych parametrów mo»na otrzyma¢

rozwi¡zania dla parametrów wi¦kszych.

W odró»nieniu od techniki Dziel i Zwyci¦»aj rozwi¡zywane podproblemy nie musz¡ by¢

rozª¡czne.

(4)

Problem Drzewa Steinera

Problem Drzewa Steinera:

Wej±cie: Graf wa»ony G = (V , E) z wagami w : E → R

≥0

, zbiór wierzchoªków K, rzeczywista liczba dodatnia W .

Wyj±cie: TAK wtedy i tylko wtedy, gdy istnieje podgraf spójny H grafu G taki, »e K ⊂ V (H) oraz w(H) 6 W , gdzie w(H) to sumaryczna waga kraw¦dzi w H.

Uwagi:

I Je»eli instancja problemu drzewa Steinera ma rozwi¡zanie, to istnieje

rozwi¡zanie H b¦d¡ce poddrzewem w G (rozwi¡zanie takie zwie si¦ drzewem

Steinera dla zbioru terminali K).

(5)

Drzewo Steinera  Programowanie Dynamiczne

Zaªo»enie:

I Ka»dy terminal K ma stopie« 1 w grae G.

Dla ka»dego oryginalnego terminala t w grae G dodajemy nowy terminal t

0

, kraw¦d¹ {t, t

0

} , ustawiamy wag¦ kraw¦dzi {t, t

0

} na 0, i ustawiamy

K = (K \ {t}) ∪ {t

0

} . Algorytm:

Parametry: D ⊆ K, v ∈ V \ K.

Dla ka»dego D ⊆ T oraz dla ka»dego v ∈ V \ T algorytm oblicza T [D, v], gdzie:

T [D, v] = drzewo Steinera o minimalnej wadze ª¡cz¡ce wszystkie wierzchoªki ze zbioru D ∪ {v},

w kolejno±ci po rosn¡cych rozmiarach zbioru D, zgodnie z nast¦puj¡cymi reguªami:

I dla zbiorów jednoelementowych D = {t} oraz v ∈ V \ K ustaw

T [{t}, v] = dist(t, v), gdzie dist(t, v) to dªugo±¢ najkrótszej ±cie»ki z t do v w G,

I dla pozostaªych (co najmniej dwuelementowych) podzbiorów D ⊂ K ustaw:

T [D, v] = min

∅6=D0(D,w ∈V \K

T [D

0

, w] + T [D \ D

0

, w] + dist(v, w).

(6)

Drzewo Steinera  Programowanie Dynamiczne

Mamy wykaza¢, »e:

T [D, v] = min

∅D0(D,w ∈V \K

T [D

0

, w] + T [D \ D

0

, w] + dist(v, w).

Wyka»emy najpierw:

T [D, v] ≥ min

∅6=D0(D,w ∈V \K

T [D

0

, w] + T [D \ D

0

, w] + dist(v, w).

I Niech H b¦dzie minimalnym drzewem Steinera dla zbioru D ∪ {v} o wadze T [D, v]. Zaªó»my, »e v jest korzeniem H.

I Niech w b¦dzie wierzchoªkiem z V (H), który jest najbli»ej wierzchoªka v i który ma co najmniej dwoje dzieci w H (taki wierzchoªek istnieje, gdy» terminale maj¡

stopie« 1 w G oraz |D| ≥ 2). Mo»e si¦ zdarzy¢, »e w = v.

I Niech w

0

b¦dzie jednym z dzieci w w H i niech D

0

b¦d¡ tymi terminalami t z D, których jedyna ±cie»ka w H prowadz¡ca z t do u zawiera w

0

.

I Drzewo H dzielimy wtedy na ±cie»k¦ z v do w, drzewo Steinera o minimalnej wadze dla zbioru terminali D

0

∪ { w}, drzewo Steinera o minimalnej wadze dla (D \ D

0

) ∪ {w}. St¡d otrzymujemy:

T [D, v] = T [D

0

, w] + T [D \ D

0

, w] + dist(v, w), co dowodzi:

T [D, v] ≥ min

∅6=D0(D,w ∈V \K

T [D

0

, w] + T [D \ D

0

, w] + dist(v, w).

(7)

Drzewo Steinera  Programowanie Dynamiczne

Mamy wykaza¢, »e:

T [D, v] = min

∅D0(D,w ∈V \K

T [D

0

, w] + T [D \ D

0

, w] + dist(v, w).

Pozostaªo wykaza¢, »e:

T [D, v] 6 min

∅6=D0(D,w ∈V \K

T [D

0

, w] + T [D \ D

0

, w] + dist(v, w).

I Powy»sza nierówno±¢ wynika st¡d, »e kraw¦dzie najkrótszej ±cie»ki z v do w, wraz z kraw¦dziami drzewa Steinera dla zbioru terminali D

0

∪ { w} oraz kraw¦dziami drzewa Steinera dla zbioru terminali (D \ D

0

) ∪ { w} stanowi¡

podgraf spójny zawieraj¡cy D ∪ {v}. Ich sumaryczna waga jest wi¦c wi¦ksza

b¡d¹ równa T [D, v].

(8)

Drzewo Steinera  Programowanie Dynamiczne

Czas dziaªania algorytmu:

I Warto±¢ T [D, v] obliczamy iteruj¡c si¦ po wszystkich wªa±ciwych podzbiorach D oraz wszystkich wierzchoªkach z V \ K, co mo»emy zrobi¢ w czasie

2

|D|

n operacji I Sumaryczny czas dziaªania algorytmu to

n

2

X

D⊆K

2

|D|

= 3

|K|

n

2

.

Wniosek:

Problem obliczania minimalnego Drzewa Steinera jest w klasie FPT je»eli parametrem

jest liczba terminali.

(9)

Zasada Wª¡cze« i Wyª¡cze«

Niech U b¦dzie zbiorem, zwanym uniwersum, za± A

1

, . . . , A

n

b¦d¡ podzbiorami U.

Zasada wª¡cze« i wyª¡cze« pozwala nam obliczy¢ moc zbiorów S

ni=1

A

i

oraz T

ni=1

A

i

, zgodnie z nast¦puj¡cymi wzorami:

| S

n

i=1

A

i

| = P

∅6=X ⊆[n]

(− 1)

|X |+1

| T

i∈X

A

i

|,

| T

n

i=1

A

i

| = P

X ⊆[n]

(− 1)

|X |

| T

i∈X

( U \ A

i

)|, przy czym zakªada si¦, »e T

i∈X

( U \ A

i

) = U dla X = ∅.

I Pierwsza z to»samo±ci dowodzona jest na Matematyce Dyskretnej.

I Druga wynika z równo±ci:

n

\

i=1

A

i

= U \ [

n

i=1

( U \ A

i

)

i z zastosowania pierwszej to»samo±ci.

(10)

Drzewo Steinera  Zasada Wª¡cze« i Wyª¡cze«

Na kolejnych slajdach poka»emy algorytm, który w czasie 2

|K|

poly(n) rozwi¡»e problem drzewa Steinera w grae niewa»onym.

Algorytm korzysta z zasady wª¡cze« i wyª¡cze« oraz programowania dynamicznego.

W tym celu najpierw zdeniujemy:

I drzewa uporz¡dkowane,

I spacery rozgaª¦ziaj¡ce si¦ w grae G.

(11)

Drzewo Steinera  Zasada Wª¡cze« i Wyª¡cze«

Par¦ (T , root), gdzie T jest drzewem a root wierzchoªkiem w T , nazywamy drzewem ukorzenionym z korzeniem w wierzchoªku root.

Maj¡c dane drzewo ukorzenione (T , root) w sposób naturalny wprowadzamy w drzewie T relacje bycia ojcem oraz bycia dzieckiem.

Trójk¦ (T , root, {π

v

: v ∈ V (T )}), gdzie (T , root) jest drzewem ukorzenionym, za±

dla ka»dego wierzchoªka v ∈ V (T ) drzewa π

v

jest liniowym porz¡dkiem dzieci v, nazywamy drzewem uporz¡dkowanym.

Niech T b¦dzie drzewem a G b¦dzie grafem. Odwzorowanie f : V (T ) → V (G) nazywamy homomorzmem z drzewa T w graf G je»eli dla ka»dej kraw¦dzi {u, v} w T , para {f (u), f (v)} jest kraw¦dzi¡ w G.

Innymi sªowy, homomorzm f z T w G mapuje wierzchoªki T w wierzchoªki G tak, »e

ka»da kraw¦d¹ z T przechodzi w kraw¦d¹ G.

(12)

Drzewo Steinera  Zasada Wª¡cze« i Wyª¡cze«

Niech G b¦dzie grafem, v

0

wierzchoªkiem z G, za± l liczb¡ naturaln¡.

Spacerem rozgaª¦ziaj¡cym si¦ o pocz¡tku w v

0

i dªugo±ci l w grae G nazywamy par¦

(( T , root, {π

v

: v ∈ V (T )}), f ), gdzie:

I ( T , root, {π

v

: v ∈ V (T )}) jest drzewem uporz¡dkowanym takim, »e |E(T )| = l (drzewo t ma l kraw¦dzi i l + 1 wierzchoªków).

I f jest homomorzmem z drzewa T w graf G speªniaj¡cym warunek f (root) = v

0

.

Spacery rozgaª¦ziaj¡ce po grae G mo»na wygodnie interpretowa¢ jako:

I spacery, w którym ka»dy spacerowicz (pocz¡tkowo tylko 1) mo»e si¦ dowolnie wiele razy rozdziela¢ na ka»dym etapie spaceru,

I spacery z psem na smyczy.

(13)

Drzewo Steinera  Zasada Wª¡cze« i Wyª¡cze«

Spacer z psem na smyczy po grae G:

I Rozwa»my algorytm DFS dziaªaj¡cy na drzewie T , który rozpoczyna si¦ w wierzchoªku root, i w którym dzieci ka»dego wierzchoªka v drzewa T s¡

odwiedzane zgodnie z kolejno±ci¡ zadan¡ przez π

v

,

I Spacer z psem to spacer po grae G b¦d¡cy obrazem dziaªania algorytmu DFS opisanego powy»ej na drzewie T .

I Dla ka»dej kraw¦dzi drzewa T algorytm DFS przechodzi przez t¦ kraw¦d¹ dokªadnie dwa razy:

I

je»eli algorytm DFS idzie od wierzchoªka v do dziecka u wierzchoªka v w drzewie T , pies przemieszcza si¦ od wierzchoªka f (v) do wierzchoªka f (u) w grae G i rozwija smycz,

I

je»eli algorytm DFS (przy wychodzeniu z rekursji) idzie od dziecka u wierzchoªka v do wierzchoªka v w T , pies przemieszcza si¦ z f (u) do f (v) i zwija smycz.

I Tym samym, pies rozpoczyna i ko«czy w v

0

, biega wzdªu» kraw¦dzi G, rozwija i zwija smycz dokªadnie l razy.

Innymi sªowy:

I spacery rozgaª¦ziaj¡ce si¦ o pocz¡tku w v

0

i dªugo±ci l w grae G odpowiadaj¡

spacerom z psem po grae G rozpoczynaj¡ce si¦ i ko«cz¡ce w v

0

, w których

smycz jest rozwijana i zwijana dokªadnie l razy.

(14)

Drzewo Steinera  Zasada Wª¡cze« i Wyª¡cze«

Zaªó»my, »e K = {v

1

, . . . , v

k

, v

k+1

} jest zbiorem wierzchoªków terminalnych.

Obserwacja:

W grae G istnieje drzewo Steinera dla zbioru terminali K o liczbie kraw¦dzi l wtedy i tylko wtedy, gdy w G istnieje spacer z psem dªugo±ci l rozpoczynaj¡cy si¦ w v

k+1

i odwiedzaj¡cy wszystkie pozostaªe wierzchoªki terminalne v

1

, . . . , v

k

.

Dowód:

I drzewo Steinera dla K o liczbie kraw¦dzi l mo»na w sposób oczywisty

przeksztaªci¢ w rozgaª¦ziaj¡cy si¦ spacer dªugo±ci l rozpoczynaj¡cy si¦ w v

k+1

i odwiedzaj¡cy wszystkie wierzchoªki v

1

, . . . , v

k

,

I rozgaª¦ziaj¡cy si¦ spacer dªugo±ci l rozpoczynaj¡cy si¦ w v

k+1

i odwiedzaj¡cy

wszystkie wierzchoªki v

1

, . . . , v

k

gwarantuje istnienie drzewa Steinera dla zbioru

{ v

1

, . . . , v

k+1

} liczno±ci l.

(15)

Drzewo Steinera  Zasada Wª¡cze« i Wyª¡cze«

Jak sprawdzi¢, czy w grae G istnieje rozgaª¦ziaj¡cy si¦ spacer dªugo±ci l rozpoczynaj¡cy si¦ w v

k+1

i odwiedzaj¡cy wszystkie wierzchoªki v

1

, . . . , v

k

.

Niech:

U = rozgaª¦ziaj¡ce si¦ spacery dªugo±ci l zaczynaj¡ce si¦ w v

k+1

, A

i

= spacery z U odwiedzaj¡ce wierzchoªek v

i

.

Wtedy:

T

k

i=1

A

i

= rozgaª¦ziaj¡ce si¦ spacery dªugo±ci l zaczynaj¡ce si¦ w v

k+1

i odwiedzaj¡ce wszystkie wierzchoªki v

1

, . . . , v

k

.

A zatem, problem istnienia drzewa Steinera zostaª sprowadzony do przetestowania, czy

zbiór T

ki=1

A

i

jest niepusty.

(16)

Drzewo Steinera  Zasada Wª¡cze« i Wyª¡cze«

Korzystaj¡c z zasady wª¡cze« i wyª¡cze«:

|

\

k i=1

A

i

| = X

X ⊆[k]

(− 1)

|X |

| \

i∈X

( U \ A

i

)|

moc zbioru T

ki=1

A

i

mo»emy obliczy¢ w czasie 2

k

poly(n) o ile tylko w czasie wielomianowym od n potramy obliczy¢ moc zbioru T

i∈X

( U \ A

i

) dla ka»dego X ⊆ [k].

Zauwa»my, »e T

i∈X

( U \ A

i

) to zbiór wszystkich spacerów z psem dªugo±ci l zaczynaj¡cych si¦ w v

k+1

, które nie odwiedzaj¡ wierzchoªków {v

i

: i ∈ A

i

} .

Innymi sªowy, s¡ to spacery rozgaª¦ziaj¡ce si¦ dªugo±ci l rozpoczynaj¡ce si¦ w v

k+1

na

grae G indukowanym przez zbiór wierzchoªków V \ {v

i

: i ∈ X }.

(17)

Drzewo Steinera  Zasada Wª¡cze« i Wyª¡cze«

Ostatecznie, aby rozwi¡za¢ problem w czasie 2

k

poly(n) wystarczy wykaza¢, »e w czasie poly(n) mo»emy zliczy¢ rozgaª¦ziaj¡ce si¦ spacery dªugo±ci l w grae G rozpoczynaj¡ce si¦ w wierzchoªku v.

Oznaczmy przez:

T [v, l] − liczba spacerów dªugo±ci l na grae G o pocz¡tku w v.

Warto±ci T [v, l] mo»emy policzy¢ programowaniem dynamicznym. Istotnie:

I dla ka»dego v ∈ V (G) mamy T [v, 0] = 1, I dla ka»dego v ∈ V (G) oraz v ∈ V (G) mamy:

T [v, l] = X

u ∈ N(v), l

1

+ l

2

= l − 1

T [u, l

1

] · T [v, l

2

],

gdzie N(u) to zbiór s¡siadów v w G. Istotnie, ka»dy rozgaª¦ziaj¡cy si¦ spacer S dªugo±ci l rozpoczynaj¡cy si¦ w v zawiera w sobie dwa rozgaª¦ziaj¡ce si¦

spacery, pierwszy dªugo±ci l

1

w pierwszym wierzchoªku odwiedzanym przez psa

innym ni» v, drugi dªugo±ci l

2

rozpoczynaj¡cy si¦ w wierzchoªku v w momencie

pierwszego powrotu psa do v.

(18)

Color coding

Technika Color coding konstrukcji algorytmów parametryzowanych:

I jest szczególnie przydatna przy wyszukiwaniu pewnej maªej struktury w wi¦kszej strukturze,

I opiera si¦ na losowym kolorowaniu du»ej struktury i wykazaniu, »e z pewnym niezerowym prawdopodobie«stwem maªa struktura pokoloruje si¦ w sposób, który umo»liwi szybkie jej wyszukanie.

Uwagi:

I Algorytmy oparte na technice Color Coding, pomimo i» z natury s¡ algorytmami randomizowanymi, zazwyczaj mo»na zdezorganizowa¢ (sprawi¢, by byªy deterministyczne).

I Technika ta jest do±¢ mocna, aby wykaza¢, »e problem jest w klasie FPT.

Niestety, algorytmy, które bazuj¡ na tej metodzie w praktyce dziaªaj¡ wolno.

(19)

Najdªu»sze ‘cie»ki w Grae

Problem Najdªu»szej ‘cie»ki:

Wej±cie: : Graf G oraz parametr k.

Wyj±cie: : TAK wtedy i tylko, gdy w G istnieje ±cie»ka dªugo±ci k.

Problem Najdªu»szej Indukowanej ‘cie»ki:

Wej±cie: : Graf G oraz parametr k.

Wyj±cie: : TAK wtedy i tylko, gdy w G istnieje ±cie»ka indukowana dªugo±ci k.

Problem Najdªu»szej Indukowanej ‘cie»ki jest W[1]-trudny.

Poka»emy, »e Problem Najdªu»szej ‘cie»ki jest w klasie FPT.

(20)

Najdªu»sza ‘cie»ka w Grae - Color Coding

Poka»emy najpierw algorytm randomizowany dla Problemu Najdªu»szej ‘cie»ki dziaªaj¡cy w czasie (2e)

k

n

O(1)

.

Algorytm ten jest algorytmem Monte Carlo (z jednostronnym bª¦dem):

I je»eli w G jest ±cie»ka dªugo±ci k, algorytm odpowie TAK z prawdopodobie«stwem co najmniej

1e

,

I je»eli w G nie ma ±cie»ki dªugo±ci k, algorytm zawsze odpowie NIE.

(21)

Najdªu»sza ‘cie»ka w Grae - Color Coding

Algorytm LONGEST PATH:

I Niech (G, k) b¦dzie instancj¡ wej±ciow¡,

I Przypisz ka»demu wierzchoªkowi v ∈ V (G) kolor wylosowany w sposób jednostajny ze zbioru {1, . . . , k} = [k],

I Zwerykuj deterministycznie, czy G ma ró»nobarwn¡ ±cie»k¦: zwró¢ TAK/NIE je»eli taka ±cie»ka istnieje/nie istnieje.

Uwagi:

I Je»eli w G nie istnieje ±cie»ka dªugo±ci k, algorytm zwraca zawsze NIE.

I Poka»emy algorytm programowania dynamicznego werykuj¡cy istnienie ró»nobarwnej ±cie»ki w czasie O(2

k

) n.

I Wyka»emy, »e je»eli w grae G istnieje ±cie»ka dªugo±ci k, to

prawdopodobie«stwo jej poprawnego pokolorowania jest wi¦ksze od

e1k

. Prawdopodobie«stwo bª¦du jest wi¦c mniejsze od (1 −

e1k

) .

I Powtarzaj¡c algorytm LONGEST PATH e

k

razy, prawdopodobie«stwo bª¦du mo»emy ograniczy¢ do

1e

:

P(algorytm pomyli si¦ w e

k

próbach ) 6 (1 − 1

e

k

)

ek

6 e

1 ek·ek

= 1

e .

(22)

Najdªu»sza ‘cie»ka w Grae - Color Coding

Lemat

Je»eli w grae G istnieje ±cie»ka P dªugo±ci k, to Algorytm LONGEST PATH przypisze wierzchoªkom P ró»ne kolory z prawdopodobie«stwem co najmniej

e1k

. Dowód:

I Liczba wszystkich kolorowa« ±cie»ki P: k

k

. I Liczba ró»nobarwnych kolorowa«: k!.

I Korzystaj¡c z nierówno±ci k! > (

ke

)

k

prawdopodobie«stwo, »e ±cie»ka P jest ró»nobarwna mo»na ograniczy¢ od doªu przez

k!

k

k

>



k e



k

k

k

=

 1 e



k

.

(23)

Najdªu»sza ‘cie»ka w Grae - Color Coding

Algorytm testowania, czy pokolorowany k kolorami graf G posiada ró»nobarwn¡

±cie»k¦ na k wierzchoªkach.

Programowanie Dynamiczne:

I dla ka»dego zbioru kolorów C ⊆ [k] oraz dla ka»dego wierzchoªka v ∈ V trzymamy warto±¢ logiczn¡ T [C, v] okre±lon¡ nast¦puj¡co:

T [C, v] = TRUE ⇐⇒ istnieje ±cie»ka dªugo±ci |C| o ko«cu w v wykorzystuj¡ca wszystkie kolory z C . I maj¡c obliczone warto±ci T [C

0

, v] dla zbiorów C

0

liczno±ci mniejszej od C

mo»emy wykorzysta¢ zale»no±¢

T [C, v] =

 W{ T [C \ kolor(v), u] : {u, v} ∈ G} je»eli kolor(v) ∈ C,

FALSE w przeciwnym przypadku.

(24)

Najdªu»sza ‘cie»ka w Grae

Twierdzenie

Istnieje algorytm Monte Carlo rozwi¡zuj¡cy Problem Najdªu»szej ‘cie»ki dziaªaj¡cy

w czasie (2e)

k

n

O(1)

.

(25)

Doskonaªe Rodziny Haszuj¡ce

Denicja

Rodzin¦ funkcji F ze zbioru [n] w zbiór k nazywamy ( n, k) doskonaª¡ rodzin¡

haszuj¡c¡ je»eli dla ka»dego zbioru S rozmiaru k istnieje funkcja f ∈ F taka, »e f (S) = [k].

Twierdzenie

Dla ka»dych warto±ci parametrów n, k istnieje (n, k) doskonaªa rodzina haszuj¡ca

rozmiaru e

k

k

O(log k)

log n, któr¡ mo»na skonstruowa¢ w czasie e

k

k

O(log k)

n log n.

(26)

Zbiory Uniwersalne

Denicja

Rodzin¦ podzbiorów U zbioru [n] nazywamy ( n, k) zbiorem uniwersalnym je»eli dla ka»dego zbioru S rozmiaru k rodzina {S ∩ U : U ∈ U} zawiera wszystkie 2

k

podzbiory S.

Twierdzenie

Dla ka»dych warto±ci parametrów n, k istnieje (n, k)-zbiór uniwersalny rozmiaru

2

k

k

O(log k)

log n, który mo»na skonstruowa¢ w czasie 2

k

k

O(log k)

n log n.

Cytaty

Powiązane dokumenty

Wniosek: Problemy: Kliki, Ró»nobarwnej Kliki, Zbioru Niezale»nego, Ró»nobarwnego Zbioru Niezale»nego wzajemnie si¦ do siebie redukuj¡ (w sposób parametryzowany).. Uwaga:

Ogólnie, i-t¡ warstw¡ grafu G nazywamy pierwsz¡ warstw¦ grafu planarnego powstaªego z G przez usuni¦cie wierzchoªków z warstw od 1 do i −

Ogólnie, i-t¡ warstw¡ grafu G nazywamy pierwsz¡ warstw¦ grafu planarnego powstaªego z G przez usuni¦cie wierzchoªków z warstw od 1 do i −

krawczyk@tcs.uj.edu.pl Kraków, semestr letni 2020/21.. Algorytmy wykªadnicze dla SAT

Algorytm A dla problemu P jest algorytmem pseudowielomianowym je»eli czas jego dziaªania jest wielomianowy w zale»no±ci od rozmiaru wej±cia przy zaªo»eniu, »e liczby na

I Zaokr¡glij (losowo) rozwi¡zanie rzeczywiste do rozwi¡zania caªkowitoliczbowego i udowodnij, »e nie jest du»o gorsze od optymalnego... Rozwa»my sieci z

Nietrudno jest zauwa»y¢, »e odwzorowanie tak okre±lone jest bijekcj¡ ze zbioru wszystkich kraw¦dzi wstecznych w zbiór wszystkich trójk¡tów T dla których X T

Trasa komiwoja»era jest unormowana je»eli wchodzi i wychodzi do ka»dego kwadratu podziaªu tylko i wyª¡cznie przez przej±cia tego kwadratu.. Niestety, istniej¡ takie zbiory punktów