Spis treści i przykładowy fragment

Transkrypt

Spis treści i przykładowy fragment
ZOBACZ matematyka-dyskretna.pl
Spis treci
Przedmowa
XI
Wprowadzenie
XIII
0.1
Czym jest matematyka dyskretna? . . . . . . . . . . . . . . . XIII
0.2
Podstawowa literatura . . . . . . . . . . . . . . . . . . . . . . XIV
1
2
3
Rekurencja
1.1
Wiee Hanoi . . . . . . . . . . . . . . . . . .
1.2
Notacja asymptotyczna . . . . . . . . . . . .
1.3
Liczby trójktne . . . . . . . . . . . . . . . .
1.4
Liczby Fibonacciego . . . . . . . . . . . . .
1.5
Równanie charakterystyczne . . . . . . . . .
1.6
Rekurencja liniowa niejednorodna . . . . . .
1.7
Ruina gracza . . . . . . . . . . . . . . . . .
1.8
Szybkie mnoenie i rekurencje „dziel i rzd”
wiczenia . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
1
1
7
10
11
19
23
27
34
42
.
.
.
.
.
.
.
.
.
.
47
48
51
55
57
58
62
65
65
67
71
Elementy rachunku prawdopodobiestwa
3.1
Prawdopodobiestwo dyskretne . . . . . . . . . . . . . . . .
3.2
Paradoks urodzin . . . . . . . . . . . . . . . . . . . . . . . .
3.3
Zasada wczania i wyczania . . . . . . . . . . . . . . . . .
73
74
79
84
Kombinatoryka
2.1
Permutacje . . . . . . . . . .
2.2
Silnia . . . . . . . . . . . . .
2.3
Wariacje . . . . . . . . . . .
2.4
Permutacje z powtórzeniami
2.5
Kombinacje . . . . . . . . .
2.6
Wspóczynniki dwumianowe .
2.7
Wspóczynniki wielomianowe
2.8
Zasada szuadkowa . . . . .
2.9
Ukadanie domina . . . . . .
wiczenia . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
VIII
Spis treci
3.4
Szaliki kibiców Korony Kielce . .
3.5
Problem sadowienia goci . . . .
3.6
Prawdopodobiestwo warunkowe
3.7
Twierdzenie Bayesa . . . . . . .
wiczenia . . . . . . . . . . . . . . . . .
4
5
6
. . .
. . .
. .
. . .
. . .
.
.
.
.
.
.
.
.
.
.
87
91
94
95
98
Wicej kombinatoryki
4.1
Grupa permutacji . . . . . . . . . . . . . . . . . . . . . . .
4.2
Liczby Stirlinga . . . . . . . . . . . . . . . . . . . . . . . .
4.3
Liczby Bella . . . . . . . . . . . . . . . . . . . . . . . . . .
4.4
Triangulacja wielokta i liczby Catalana . . . . . . . . . . .
4.5
Partycje liczb . . . . . . . . . . . . . . . . . . . . . . . . .
4.6
Kompendium najczstszych problemów kombinatorycznych
wiczenia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
101
101
103
107
110
113
121
122
Grafy
5.1
Spacer Eulera . . . . . . . . . . .
5.2
Grafy Hamiltona . . . . . . . . . .
5.3
Kalejdoskop grafów . . . . . . . .
5.4
Izomor
zm grafów . . . . . . . . .
5.5
Grafy planarne . . . . . . . . . .
5.6
Ile jest grafów? . . . . . . . . . .
5.7
Przeszukiwanie grafów . . . . . . .
5.8
Grafy z wagami . . . . . . . . . .
5.9
Jeszcze o wieach Hanoi . . . . .
5.10 Drzewo Steinera . . . . . . . . . .
5.11 „May wiat” . . . . . . . . . . . .
5.12 Kolorowanie wierzchokowe grafów
5.13 Kolorowanie krawdziowe grafów .
5.14 Liczby Ramseya . . . . . . . . . .
5.15 Kojarzenie maestw . . . . . . .
5.16 Drzewa etykietowane . . . . . . .
5.17 Notacja polska . . . . . . . . . . .
5.18 Sieci zdarze . . . . . . . . . . . .
5.19 Przepywy w sieciach . . . . . . .
wiczenia . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
125
127
139
142
144
146
151
152
155
164
166
173
176
185
188
189
192
197
199
202
208
.
.
.
.
.
.
213
. 213
. 215
. 218
. 223
. 224
. 230
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Algorytmy
6.1
Czym jest algorytm . . . . . . . . . . . . . . .
6.2
Automaty skoczone . . . . . . . . . . . . . .
6.3
Maszyna Turinga . . . . . . . . . . . . . . . .
6.4
Problem 196 . . . . . . . . . . . . . . . . . . .
6.5
Lodziarz z Piczowa i algorytm genetyczny . .
6.6
Klasy
kacja zoonoci problemów decyzyjnych
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Spis treci
IX
wiczenia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
7
Wskazówki i odpowiedzi do
7.1
Rozdzia 1 . . . . . . .
7.2
Rozdzia 2 . . . . . . .
7.3
Rozdzia 3 . . . . . . .
7.4
Rozdzia 4 . . . . . . .
7.5
Rozdzia 5 . . . . . . .
7.6
Rozdzia 6 . . . . . . .
wicze
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
239
. 239
. 249
. 254
. 261
. 266
. 272
Bibliograa
273
Skorowidz
277
Przedmowa
Niniejsza ksika, przeznaczona dla studentów informatyki oraz wykadowców i prowadzcych wiczenia, przedstawia najwaniejsze i najpotrzebniejsze zagadnienia matematyki dyskretnej, koncentrujc si na rekurencji, zaawansowanej
kombinatoryce i klasycznym rachunku prawdopodobiestwa, grafach i algorytmach na grafach oraz sieciach, a take na wybranych elementach teorii algorytmów i ich zoonoci. Ambicj autora jest ukazanie istoty tumaczonego problemu w powizaniu z elementarnym przeprowadzeniem pocztkujcego studenta,
po dzisiejszej szkole redniej zazwyczaj do sabo obytego z technikami matematycznymi, poprzez szczegóy rachunkowe. Preferowan metod dydaktyczn
jest, w miar moliwoci, cieka od szczegóu do ogóu: najpierw ukazywany
i rozwizywany jest pewien typowy problem z danego dziau, a nastpnie przedstawiana jest ogólna teoria z de
nicjami, twierdzeniami, wnioskami, przykadami i uogólnieniami. W ten sposób wykadana abstrakcja znajduje wczeniejsze
ugruntowanie w bardziej intuicyjnym przykadzie „z ycia”, co powinno uatwi
zrozumienie i docenienie praktycznego znaczenia wykadanego materiau. Niemniej, niektóre problemy, których wykad nie unika, atwe nie s i naley przez
nie mozolnie przebrn z kartk i oówkiem w zaciszu domowym. Zgodnie z maksym „uczy bawic” wiele zagadnie ma charakter rekreacyjny, co rekompensuje
woony trud w wymagajcych i moe mniej atrakcyjnych, cho wanych, czciach wykadu. Przy caym ukierunkowaniu na przystpno, wykad dotyczy
matematyki i jej konkretnych zastosowa, zatem w jego ledzeniu niezbdna jest
stosowna koncentracja i doza samozaparcia.
Wykad przeznaczony jest dla studentów pierwszego roku informatyki, wobec czego wymagana wiedza matematyczna niezbdna do jego ledzenia nie wykracza w zasadzie poza podstawowy program szkoy redniej. Warto jednak zawczasu przypomnie sobie ten materia z podrczników szkolnych, w szczególnoci jego cz dyskretn: podstawy logiki, teorii mnogoci, kombinatoryki i rachunku prawdopodobiestwa. Materia zahacza te nieco o zazwyczaj biegnce
równolegle lub z wyprzedzeniem standardowe wykady algebry i analizy matematycznej, w szczególnoci uywa elementarnej znajomoci funkcji, ukadów
równa liniowych, macierzy, cigów i szeregów, obliczania granic, a take pewnych elementów rachunku róniczkowego i cakowego, jak rozwinicie Taylora,
caka gaussowska itp.
XII
Przedmowa
Zadaniem wykadu, oprócz przekazu stosownej porcji wiedzy, aparatu pojciowego i typowych technik analizowania problemów matematyki dyskretnej, jest
równie nauczenie logicznego mylenia, „kombinowania”, sprytu matematycznego.
Dlatego te na kocu kadego rozdziau podane s niekoniecznie atwe problemy,
majce na celu wcignicie studenta w t pasjonujc matematyk. Wiele z tych
zada wymaga pomysu, a ich rozwizywanie czstokro stawia na równi studenta i profesora, z t jedyn rónic, e profesor mia ju okazj duej myle
nad podobnymi zagadnieniami w swojej karierze! Wskazówki bd rozwizania
trudniejszych zada zawarte s na kocu ksiki.
I jeszcze jedno. Studenci, pamitajcie:
Pytania nie s niedyskretne, odpowiedzi czasem tak.
Oscar Wilde
Ksika jest pisemn wersj wykadów Matematyka dyskretna, wygoszonych przez autora dla studentów pierwszego roku informatyki na Wydziale
Matematyczno-Przyrodniczym Uniwersytetu Jana Kochanowskiego w Kielcach
w latach 2005–2014.
Autor pragnie podzikowa dr. Przemysawowi Kocikowi oraz studentom
informatyki Uniwersytetu Jana Kochanowskiego w Kielcach za uwagi i korekt
tekstu.
166
Rozdzia 5. Grafy
Rysunek 5.32: Przykadowe euklidesowe drzewo Steinera. Ciemne punkty oznaczaj oryginalne
wierzchoki grafu (studzienki naftowe), a janiejsze punkty wierzchoki dodane (trójniki)
cieki midzy skrajnymi wierzchokami grafu Hanoi. W tym celu mona zastosowa np. algorytm 5.6, ale poniewa zoono tego algorytmu ronie z kwadratem
liczby wierzchoków, czyli w naszym przypadku jak (9n ), procedura jest duo
wolniejsza ni zoono (2n ) optymalnego algorytmu Hanoi 1.1. Widzimy tu
wic namacalnie praktyczn rol posiadania algorytmu optymalnego dla danego
problemu. Nie zawsze jednak jestemy w takiej komfortowej sytuacji.
Uogólnienie problemu Wie Hanoi na przypadek czterech prtów (tzw. amigówka Reve’a, zob. zad. 5.13) prowadzi do grafu w naturalny sposób reprezentowalnego w trzech wymiarach przestrzennych. Okazuje si, e nie jest to tzw.
piramida Sierpiskiego (uogólnienie trójkta Sierpiskiego na trzy wymiary), ale
duo bardziej skomplikowany obiekt. Graf zawiera bowiem znacznie wicej pocze midzy stanami ni piramida Sierpiskiego i ten fakt czyni jego analiz
dramatycznie bardziej skomplikowanym zadaniem. Dla duych n problem znalezienia najkrótszej cieki z naronika do naronika dla tego grafu jest trudny.
Moemy go oczywicie rozwiza, stosujc np. algorytm Dijkstry, ale dla duego
n jest to bardzo czasochonne. Istnieje nieudowodniona hipoteza o optymalnym
algorytmie dla amigówki Reve’a, sprawdzona komputerowo do n 30 [42].
5.10
Drzewo Steinera
Rozwamy nastpujcy problem nafciarza z Teksasu: n studzienek pompujcych
rop naftow naley poczy rurami w taki sposób, aby ich sumaryczna dugo bya jak najmniejsza. Rury moemy prowadzi dowolnie, co wicej, moemy je czy/rozgazia trójnikami. Koszt jednostki dugoci wszystkich rur
jest jednakowy. Zagadnienie jest istotnie róne od opisanego wczeniej problemu
znajdowania minimalnego drzewa spinajcego, poniewa czenie rur powoduje
powstawanie dodatkowych wierzchoków, których pooenie jest optymalizowane.
Ilustracja przedstawiona jest na rys. 5.32. Ciemne punkty oznaczaj oryginalne
wierzchoki grafu, odpowiadajce pooeniom studzienek naftowych, a janiejsze
punkty oznaczaj wierzchoki dodane, czyli poczenia rur za pomoc trójników.
5.10. Drzewo Steinera
167
Zagadnienie nosi nazw problemu drzewa Steinera20 . Sformuowanie matematyczne jest nastpujce:
Def. 5.34 (euklidesowe drzewo Steinera). Niech waga krawdzi bdzie równa
odlegoci euklidesowej wierzchoków. Mamy n oryginalnych wierzchoków o ustalonych pooeniach na paszczynie. W jaki sposób rozmieci pomocnicze wierzchoki, zwane wierzchokami Steinera, i jak dobra krawdzie, aby znale minimalne drzewo spinajce grafu zawierajcego wierzchoki ustalone i pomocnicze.
Rozwaa si te uogólnienia problemu na inne metryki oraz na przypadek trójwymiarowy. Problem znalezienia minimalnego drzewa Steinera jest trudny21 (patrz
rozdz. 6.6). Ze wzgldu na jego due znaczenie praktyczne w zagadnieniach optymalizacyjnych jest przedmiotem intensywnych bada algorytmicznych.
Rozwamy na pocztek najprostsz sytuacj, gdy mamy tylko trzy oryginalne wierzchoki grafu. Problem sprowadza si wic do znalezienia punktu na
paszczynie, dla którego suma odlegoci od trzech wierzchoków trójkta jest
minimalna. To geometryczne zagadnienie zostao postawione przez Fermata i
rozwizane w 1640 r. przez Torricelliego22 oraz niezalenie przez innych wspóczesnych mu matematyków. Szukany punkt Torricelliego jest wierzchokiem Steinera
dla przypadku grafu o trzech oryginalnych wierzchokach.
Zamiast przytacza skdind eleganckie geometryczne rozwaania siedemnastowiecznych matematyków, w celu rozwizania problemu Fermata posuymy
si prawami mechaniki i skonstruujemy komputer analogowy, który w zadziwiajco prosty sposób znajdzie optymalne rozwizanie. Komputer analogowy to urzdzenie, które wykonuje obliczenia nie poprzez dziaania na liczbach, ale dziki
zastosowaniu w sprytny sposób elementów mechanicznych, elektronicznych itp.
Oto nasz komputer rozwizujcy problem Fermata (podobn maszynk zaproponowali Pick23 i Pólya24 , zob. [43]):
Alg. 5.9 (komputer analogowy dla problemu Fermata).
1. Wywier wiertark w stole trzy otwory w miejscach odpowiadajcym wierzchokom trójkta.
2. Przewlecz przez otwory trzy kawaki nici i zwi je w jednym punkcie nad
stoem (wygodniej jest przewlec jeden kawaek nici przez otwory 1 i 2, i dowiza do kawaek przechodzcy przez otwór 3).
3. Pod stoem przywi do kadej nici ciarek o takiej samej wadze tak, aby
móg luno zwisa.
Jakob Steiner (1796–1863), szwajcarski matematyk.
Naley do klasy zoonoci NP.
22 Evangelista Torricelli (1608–1647), woski zyk i matematyk, skonstruowa barometr rtciowy.
23 Georg Alexander Pick (1859-1942), austriacki matematyk.
24 George Pólya (1887-1985), wgierski matematyk, istotnie przyczyni si do rozwoju teorii
liczb, kombinatoryki i rachunku prawdopodobiestwa.
20
21
168
Rozdzia 5. Grafy
Rysunek 5.33: Moliwe sytuacje dla rozwizania problemu Fermata: punkt Torricelliego (jasny
kolor) jest w innym pooeniu ni wierzchoki trójkta (lewa strona) lub pokrywa si z pooeniem jednego z wierzchoków trójkta
4. Ukad ustawi si w pooeniu równowagi. Punkt zwizania nici jest punktem
Torricelliego!
Dlaczego to dziaa? Z mechaniki wiemy, e ukad dy do stanu równowagi,
w którym energia potencjalna jest jak najmniejsza. Dla jednego ciaa wielko
ta równa si iloczynowi jego masy i wysokoci ponad ustalonym poziomem (np.
podogi). Dla kilku cia energia potencjalna si dodaje. W naszym przypadku
wynosi wic
mh1 + mh2 + mh3 = m(h1 + h2 + h3 ),
gdzie m jest mas kadego ciarka, a hi odlegoci i-tego ciarka od podogi.
Tak wic suma odlegoci od podogi, h1 +h2 +h3 , osiga w równowadze minimaln warto. Wówczas sumaryczna dugo nici pod stoem jest jak najwiksza,
a tym samym na stole jak najmniejsza. A o to wanie chodzi w znajdowaniu
drzewa Steinera!
Przy wykonywaniu algorytmu 5.9, w zalenoci od tego jak ulokowane s
wierzchoki trójkta, moliwe s dwie sytuacje: pooenie punktu Torricelliego
bdzie inne ni pooenia wierzchoków trójkta lub bdzie si pokrywa z którym z nich (rys. 5.33). Posumy si teraz dalej prawami mechaniki i dorysujmy
siy dziaajce na punkt zwizania nici. Poniewa punkt ten jest w spoczynku,
siy na dziaajce musz si równoway. Warto kadej z tych si jest taka
sama, gdy równa si ciarowi uwizanego do nici ciarka, a wszystkie ciarki
s jednakowe. Aby doszo do zrównowaenia trzech si o jednakowej wartoci,
kt midzy nimi musi wynosi 120o25 . Warunek ten nosi nazw warunku kta.
Zauwamy te, e aby moga zaj sytuacja z lewej strony rys. 5.34, wszystkie
kty rozwaanego trójkta musz by mniejsze od 120o. Jeli tak nie jest (prawa
strona rys. 5.34), wówczas punkt Torricelliego pokrywa si z tym wierzchokiem
trójkta, w którym kt jest wikszy od 120o .
Wyprowadzilimy wic nastpujce twierdzenie dla problemu Fermata:
Dla nieobeznanych ze szkoln zyk, siy dodajemy jak wektory. Aby suma trzech wektorów o równej dugoci wyniosa zero, kt midzy nimi musi wynosi 120 o .
25
5.10. Drzewo Steinera
169
Rysunek 5.34: To samo, co na rys. 5.33, z dorysowanymi siami. W sytuacji z lewej strony
kty midzy siami wynosz 120o . Na rysunku po prawej stronie mniejsza warto trzeciej siy
wynika z oddziaywania nici z otworem w stole
Tw. 5.12 (warunek kta dla problemu Fermata). Jeli wszystkie katy trójkta s mniejsze ni 120o, wówczas punkt Torricelliego jest w takim pooeniu, e
odcinki czce go z wierzchokami trójkta tworz kty 120 o. Jeli jeden z któw
trójkta jest wikszy ni 120o , wtedy punkt Torricelliego pokrywa si z wierzchokiem tego kta.
Teraz przejdmy do ogólnego problemu Steinera o n oryginalnych wierzchokach. Dodatkow komplikacj w stosunku do przeanalizowanego przypadku z n = 3 jest moliwo rónych topologii pocze. Zilustrowane jest to na
rys. 5.35. Dwa górne rysunki pokazuj optymalne rozwizania dla dwóch topologii, gdzie krawdzie si nie krzyuj. Liczby na rysunkach wskazuj dugo
uzyskanego drzewa Steinera. W dolnej czci rysunku ukazana jest sytuacja topologii, gdzie krawdzie si krzyuj. W tym przypadku optymalne rozwizanie
(proces dochodzenia do niego jest schematycznie zaznaczony strzakami od lewej
do prawej strony) uzyskane jest dla przekrywajcych si wierzchoków Steinera.
Natomiast najlepszym rozwizaniem dla rozwaanego przykadu jest topologia
z górnej prawej czci rysunku. Tak wic mamy tu de facto dwa problemy: znale wszystkie topologie, oraz dla kadej topologii znale optymalne pooenia
wierzchoków Steinera.
Podamy teraz uyteczne fakty dotyczce problemu Steinera o n oryginalnych
wierzchokach. Dla prostoty zliczania traktujemy pokrywajce si wierzchoki
Steinera jako oddzielne wierzchoki poczone krawdzi o dugoci 0. Zauwamy te, e wierzchoki oryginalne s limi drzewa Steinera oraz e wierzchoki
Steinera maj stopie 3.
Tw. 5.13. Drzewo Steinera o n oryginalnych wierzchokach ma n 2 wierzchoków Steinera, 2n 3 krawdzi oraz tn = (2n 5)!! moliwych topologii.
170
Rozdzia 5. Grafy
Dowód: Dowód jest indukcyjny. Teza zachodzi dla n = 3, co widzimy z lewej
czci rys. 5.33. Nastpnie zakadamy, e twierdzenie zachodzi dla n 1 oryginalnych wierzchoków. W kroku indukcyjnym dodajemy par wierzchoek oryginalny – wierzchoek Steinera, poczone krawdzi. W oczywisty sposób liczba
wierzchoków Steinera wzrasta o 1, a liczba krawdzi o 2, bo jedna krawd zostaa przecita. To dowodzi dwóch pierwszych czci twierdzenia, pozostaje wzór
na liczb topologii. Nowy wierzchoek Steinera moemy umieci na dowolnej
z 2n 5 krawdzi (zob. rys. 5.36 i 5.37). Tak wiec tn = (2n 5)tn1 i liczba
topologii wynosi (2n 5) · (2n 7) . . . 3 · 1.
Moemy teraz przystpi do konstrukcji komputera analogowego dla ogólnego problemu drzewa Steinera. W porównaniu z algorytmem 5.9 dla n = 3
mamy tu dwie rónice: musimy rozway róne topologie, ponadto nie moemy
wiza nici na stae, bo uniemoliwioby to zmian odlegoci midzy punktami
Steinera. Postpowanie jest nastpujce:
Alg. 5.10 (komputer analogowy dla problemu Steinera).
1. Przygotuj n jednakowych ciarków.
2. Wywier wiertark w stole otwory w miejscach odpowiadajcym oryginalnym
wierzchokom grafu.
3. Przewlecz przez dowolne dwa otwory ni, pod stoem przywi do obu koców
ciarki.
2.36877
2.26519
2.40672
Rysunek 5.35: Róne topologie pocze dla problemu Steinera o czterech oryginalnych wierzchokach. Liczby ukazuj otrzyman dugo drzewa Steinera dla danej topologii
5.10. Drzewo Steinera
171
Rysunek 5.36: Ilustracja kroku indukcyjnego przy zliczaniu topologii dla n = 4. Nowy wierzchoek Steinera mona umieci na kadej krawdzi grafu o n = 3, tj. na (2n 5)!! = 3 sposoby
4. Do nici na stole przywi za pomoc ptelki kolejn ni (zob. lewa strona
rys. 5.38) w taki sposób, aby moga si luno przesuwa. Jej koniec wpu
do niezajtego otworu i pod stoem przywi ciarek (zamiast ptelek mona
te uy spinaczy jako haczyków).
5. Powtórz poprzedni krok n 3 razy, tak aby przez kady otwór przechodzia
jedna ni.
6. Dziki dziaaniu si grawitacji na ciarki ukad ustawi si w pooeniu równowagi. Zanotuj sumaryczn dugo drzewa Steinera L.
Rysunek 5.37: To samo, co na rys. 5.36 dla n = 5, dajcego 5!! = 15 topologii. Grafy w kadym
wierszu utworzone s poprzez dodanie wierzchoka Steinera na krawdziach jednego z grafów
z rys. 5.36
172
Rozdzia 5. Grafy
2.76486
2.35878
Rysunek 5.38: Sposób wizania nici dla wybranej topologii (lewa strona) oraz wynik rachunku
wykonanego przez komputer analogowy (prawa strona). Liczba na rysunku podaje sumaryczn dugo drzewa. Górna cz: topologia z drugiego wiersza i drugiej kolumny rys. 5.36,
dolna cz: topologia z drugiego wiersza i pierwszej kolumny rys. 5.36, dajca rozwizanie
optymalne
7. Powtórz kroki 3-6 dla kadej z (2n 5)!! topologii (to jest uciliwa cz
tego algorytmu!).
8. Przypadek z najmniejsz wartoci L jest optymalnym rozwizaniem problemu Steinera. Punkty poczenia nici ustawione s w wierzchokach Steinera.
Przykad dziaania algorytmu dla n = 5 przedstawiony jest na rys. 5.38. W górnej czci rysunku rozwaona jest topologia z drugiego wiersza i drugiej kolumny
rys. 5.36. Po lewej stronie pokazany jest sposób powizania nici z ptelkami
umoliwiajcymi zmian wzajemnych odlegoci midzy punktami Steinera. Po
uruchomieniu komputera ukad ustawi si w pooeniu równowagi, jak w prawej
górnej czci rysunku. W rozwaanej topologii dwa wierzchoki Steinera przekrywaj si. Liczba na rysunku wskazuje sumaryczn dugo drzewa Steinera.
Przypadek topologii z górnej czci rysunku nie jest optymalny. Dla topologii
z drugiego wiersza i pierwszej kolumny rys. 5.36 ta dugo jest krótsza, co ukazane jest w dolnej czci rys. 5.38. Sprawdziwszy 15 topologii, przekonujemy si,
e to rozwizanie jest istotnie optymalne. Mona ogólnie pokaza, e jeli dwa
punkty Steinera pokrywaj si, to rozwizanie z t topologi nie jest optymalne.
5.11. „May wiat”
173
Ze wzgldu na konieczno rozwaania wielu topologii, nasz komputer analogowy nie jest zbyt praktyczny w zastosowaniu dla wikszych wartoci n ni,
powiedzmy, 6. Jest jednak bardzo uyteczny dla przeprowadzenia ogólnych rozwaa. Na rys. 5.38 widzimy, e nici wokó wierzchoków Steinera nieprzekrywajcych si z innymi wierzchokami tworz kty 120o. Wynika to z zasad mechaniki,
przy czym dyskusja jest analogiczna jak w przypadku z rys. 5.34. Mamy wic
nastpujce uogólnienie Tw. 5.12:
Tw. 5.14 (warunek kta dla problemu Steinera). W drzewie Steinera
krawdzie wychodzce z wierzchoków Steinera nieprzekrywajcych si z innymi
wierzchokami tworz kty 120o . Jeli punkt Steinera pokrywa si z wierzchokiem
oryginalnym, to kt midzy wychodzcymi ze krawdziami jest wikszy od 120 o .
Jako ciekawostk wspomnimy inny komputer analogowy stosowany do rozwizywania problemu Steinera, który uywa baniek mydlanych [44]! Wykorzystane jest tu zjawisko napicia powierzchniowego. Urzdzenie skada si z dwóch
identycznych równolegych przeroczystych pyt (np. z pleksi), w których w miejscach odpowiadajcych oryginalnym wierzchokom grafu przewiercone s otwory,
a w nich umocowane s (prostopadle do pyt) prty. Cao urzdzenia zanurza
si w roztworze myda. Po wycigniciu midzy prtami nacignite s bony mydlane. Miejsca styku bon z paszczyzn pyty ukadaj si w krawdzie grafu.
Widzimy, e tworz si równie wierzchoki Steinera, odpowiadajce poczeniom bon mydlanych. Napicie powierzchniowe dziaa analogicznie do nici z ciarkami z opisanego wyej mechanicznego komputera analogowego. Dy ono
do zminimalizowania cakowitej powierzchni bony mydlanej, co przy ustalonej
odlegoci midzy pytami jest równowane minimalizacji dugoci powstaego
drzewa. Podobnie jak dla nici w wersji mechanicznej, równowaga si prowadzi
do poczenia bon pod ktem 120o w izolowanych wierzchokach Steinera oraz
do któw wikszych ni 120o , jeli wierzchoek pokrywa si z prtem. Komputer
mydlany wybiera topologi pocze przy kadej próbie na chybi tra, wic nie
sprawujemy nad tym kontroli, ale przynajmniej nie musimy mudnie wiza nici
jak w komputerze mechanicznym!
5.11
„May wiat”
Koncepcje teorii grafów mona z powodzeniem stosowa do badania sieci spoecznych [45]. W roku 1967 Stanley Milgram26 przeprowadzi nastpujcy eksperyment: sporód mieszkaców miast Boston, Wichita i Omaha zarekrutowano
uczestników bdcych osobami „startowymi” i „kocowymi” dowiadczenia. Do
osób startowych wysano pakiety informacyjne, wyjaniajce celowo projektu,
Stanley Milgram (1933–1984), amerykaski psycholog i socjolog, znany z dowiadcze
dotyczcych „posuszestwa autorytetowi” oraz „Maego wiata”.
26
174
Rozdzia 5. Grafy
120
100
80
60
40
20
n
1
2
3
4
5
6
7
8
9
10
Rysunek 5.39: Wyniki niedawnego dowiadczenia „Maego wiata” z pracy [46], gdzie uczestnicy
kontaktowali si za pomoc poczty elektronicznej. Na osi poziomej liczba kroków, na pionowej
liczba wiadomoci, które osigny cel. Najwicej wiadomoci dotaro ju po n = 4 krokach,
a dla 95% wiadomoci wystarczyo 6 lub mniej kroków
a take niezbdne podstawowe informacje personalne o osobie kocowej, do której osoba startowa miaa dotrze za pomoc acucha korespondencji. Zadanie
polegao na wysaniu zaczonej karty pocztowej do dobrze znanej osoby (zdeniowanej, jako osoba, z któr jest si „na ty” 27 ), wybranej zgodnie z intuicj, e
zbliy nas do osoby-celu. Kolejne osoby w acuchu byy instruowane, aby postpowa tak samo, przesyajc pakiet dalej. W rezultacie osoba kocowa, jeli
acuch nie pk po drodze, otrzymywaa od osoby, z któr jest „na ty”, przesyk wraz z list osób porednich. Wyniki jednego z serii dowiadcze Milgrama
byy nastpujce: na 296 przesyek 232 nie doszy do celu, co jest do typow
przypadoci bada socjologicznych. Natomiast sporód 64, które doszy (22%),
znamienny by jeden fakt. rednia (dokadniej mediana) liczby przesya wyniosa zaledwie 5.5. Inne dowiadczenia, wielokrotnie powtarzane take przez
innych badaczy, potwierdziy ten fakt. Zatem, aby dotrze do innej osoby poprzez acuch znajomoci, wystarczy rednio 5-6 pocze, co nazwano równie
„szecioma stopniami oddalenia” (ang. six-degree separation): rednio, do prawie
kadej osoby na wiecie (prezydent Barrack Obama, Doda, Tomasz Adamek, kasjerka w Tesco) mona dotrze za pomoc zaledwie ok. szeciu „znajomociowych”
kroków!
W jzyku teorii grafów sformuowalibymy problem nastpujco.
Hipoteza 5.1 (sze stopni oddalenia). Utwórzmy graf, którego wierzchokami s ludzie, a krawd czy dwa wierzchoki wtedy i tylko wtedy, gdy te osoby
s „na ty”. Dla prawie wszystkich losowo wybranych par wierzchoków tego grafu
istnieje czca je droga o redniej dugoci ok. 6.
W Stanach Zjednoczonych jest to pokany krg znajomych, bo w wikszoci rodowisk
wszyscy z wszystkimi prawie natychmiast przechodz „na ty”!
27
5.11. „May wiat”
175
Dowiadczenia Milgrama byy realizacj wczeniejszych pomysów sigajcych roku 1929, kiedy Frigyes Karinthy28 opublikowa opowiadanie „acuchy”,
zawierajce omawiane koncepcje szeciu stopni oddalenia i kurczcego si wiata. Obecnie, w dobie internetu i globalnej wioski, dowiadczenia nad sieciami
spoecznymi s intensywnie kontynuowane i poszerzane. Nie trzeba ju wydawa
pienidzy na znaczki! Rysunek 5.39 pokazuje wynik takiego eksperymentu [46],
gdzie 24000 ochotników próbowao skontaktowa si za pomoc poczty elektronicznej z 18 wybranymi osobami-celami. Dla 384 osób, którym kontakt si uda,
wystarczyo zaledwie kilka kroków, ze redni dugoci 4.01. Wyniki zdaj si
wic potwierdza wnioski Milgrama. Bolczk tego typu dowiadcze jest jednak
bardzo wysoki wskanik przerwania acucha, np. kto myli, e to spam, nie
ma czasu, z zasady nie wypenia ankiet itp. W dowiadczeniu z rys. 5.39 prawdopodobiestwo przerwania w kadym kroku wynosi a 60%. W zwizku z tym
jest bardzo maa szansa, aby dugie acuchy wiadomoci nie zostay przerwane.
W eksperymencie [46] zaledwie ok. 1.6% zainicjowanych acuchów wiadomoci
osigno swój cel, podczas gdy w dowiadczeniu Milgrama byo to „a” 22%.
Ten efekt jest podstaw uzasadnionej krytyki hipotezy 5.1 w podanym sformuowaniu. Prawd jest, e dla tych wiadomoci, które osigny cel, wystarczyo
kilka kroków, natomiast ich liczba wydaje si istotnie zalee od prawdopodobiestwa przerwania acucha. Dokadniejsza analiza hipotezy wymagaaby wic
duej próbki danych i wikszej sumiennoci uczestników.
Bardzo ciekawym aspektem dowiadcze dotyczcych „Maego wiata” jest
istota dziaania algorytmu znajdujcego poczenie. Jest on oparty na „kolektywnej inteligencji” spoeczestwa. Ludzie, majcy tylko lokaln wiedz o swoich bezporednich znajomych, s w stanie przekaza w kilku krokach informacj
praktycznie do kadego mieszkaca Ziemi.
W spoecznoci matematyków odpowiednikiem szeciu stopni oddalenia jest
tzw. liczba Erdsa29 . Znany z ekscentrycznego zachowania Erds wspópracowa
z setkami matematyków, czstokro w zamian za „wikt i opierunek”. W hodzie koledzy zdeniowali liczb Erdsa E w nastpujcy sposób: sam Erds ma
E = 0, wspóautorzy jego publikacji E = 1, wspóautorzy wspóautorów niebdcy wspóautorami Erdsa E = 2 itd. Indukcyjnie, dany matematyk posiada
E = k, jeli ma wspólne publikacje z kim o E = k 1, a nie ma publikacji
z nikim o E k 2.
Rysunek 5.40 pokazuje, ilu znamy matematyków o danej liczbie Erdsa.
rednia tego rozkadu wynosi 4.65, a mediana 5, w cakowitej zgodnoci z hipotez „szeciu stopni oddalenia”. Dane zostay skrupulatnie zebrane przy wykorzystaniu elektronicznych baz danych publikacji matematycznych, wic nie s obarczone problemem przerwania acucha komunikacji w oryginalnym eksperymencie Milgrama czy jego e-mailowej wersji. Wedug http://www.oakland.edu/enp/
Frigyes Karinthy (1887-1938), wgierski pisarz i poeta.
Paul Erd
s (1913-1996), wgierski matematyk. Opublikowa a 1525 prac z kombinatoryki,
teorii grafów, teorii mnogoci, analizy matematycznej i rachunku prawdopodobiestwa.
28
29
176
Rozdzia 5. Grafy
105
10
4
NE
1000
100
10
1
0
2
4
6
8
10
12
E
Rysunek 5.40: Rozkad liczby Erd
sa E: N (E) jest liczb matematyków posiadajcych dan
warto E (dane z http://www.oakland.edu/enp/)
ok. 268000 matematyków ma liczb Erdsa, 50000 opublikowao prace wspóautorskie, ale nie maj liczby Erdsa, ponadto 84000 opublikowao jedynie prace
jednoautorskie.
5.12
Kolorowanie wierzchokowe grafów
Wyobramy sobie nastpujcy problem praktyczny: musimy uoy podzia godzin dla studentów pierwszego roku informatyki na Uniwersytecie Jana Kochanowskiego w Kielcach. Studenci wybieraj po kilka z oferowanych przedmiotów:
1) zagadnienia kolorowania grafów, 2) podstawy sztucznej inteligencji, 3) wprowadzenie do sieci spoecznych, 4) ochrona drzew i lasów, 5) pracownia gier komputerowych, 6) historia buntu maszyn, 7) geograa Jawy, 8) lektorat c++, 9) aerobik w wodzie. Zaómy, e zajcia odbywaj si w przedziaach czasowych
8:00-9:00, 9:00-10:00 itd. Pytanie jest nastpujce: Jaka jest najmniejsza liczba
przedziaów czasowych, aby móc uoy podzia godzin w taki sposób, by wszyscy
studenci mogli uczestniczy w zajciach, na które si zapisali?
Niech owe dziewi oferowanych przedmiotów stanowi wierzchoki grafu G.
Z denicji, dwa wierzchoki s poczone krawdzi (s ssiednie), jeli istnieje
student, który wybra obydwa odpowiadajce im przedmioty. W tej sytuacji
zajcia z tych przedmiotów nie mog odbywa si jednoczenie, zatem krawd
oznacza relacj „niemoliwej jednoczesnoci”. Przegldamy zgoszenia studentów
i sporzdzamy odpowiedni graf. Powiedzmy, e wyglda on w nastpujcy sposób:

Podobne dokumenty