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: