Kliknij tutaj - Wydawnictwa PTM - Polskie Towarzystwo Matematyczne

Transkrypt

Kliknij tutaj - Wydawnictwa PTM - Polskie Towarzystwo Matematyczne
Recenzje
273
skojarzenie, iż narzędzia te są opisane w sposób bardzo szczegółowy tak,
jakby użytkownik nie był oswojony z technologią, a przecież zdecydował
się na korzystanie z kursu online.
Reasumując – omawiany kurs może z pewnością być cenną pomocą
w przekazie oraz porządkowaniu wiedzy z zakresu pięciu ujętych w nim
grup zagadnień. Jednakże jest to bardziej elektroniczny podręcznik niż
kurs e-learningowy.
Maria Zając
Michael Mitzenmacher, Eli Upfal, Metody probabilistyczne
i obliczenia., tłumaczenie E. Szymańska, WNT, Warszawa
2009, 415 str.
Algorytm to z natury rzeczy niezawodny przepis na osiągnięcie określonego celu. Jeżeli wykonamy poprawnie wszystkie
kroki procedury, to na pewno otrzymamy prawidłowy wynik. Tak działa
na przykład powszechnie znany algorytm Euklidesa znajdujący największy wspólny dzielnik dwóch liczb. Skąd wobec tego pomysł wprowadzenia
elementu niepewności w działaniu algorytmu? Wszak zburzy to jego niezawodność. To prawda, ale praktyka pokazuje, że gra jest warta świeczki.
O tym, jak umiejętnie wykorzystać przypadek w konstruowaniu i analizie
algorytmów jest właśnie recenzowana książka.
Oto prosty przykład: mamy dany ciąg n różnych liczb naturalnych.
Naszym zadaniem jest uporządkować te liczby rosnąco. W tym celu
wybierzmy jeden z wyrazów ciągu losowo i porównajmy z nim pozostałe
wyrazy ciągu. W ten sposób otrzymujemy dwa nowe ciągi, z których jeden
zawiera liczby mniejsze od wylosowanego elementu, a drugi większe. Do
każdego z tych ciągów z osobna możemy zastosować tę samą procedurę.
I tak dalej, aż do ostatecznego uporządkowania. Zauważmy, że algorytm
ten zawsze prowadzi do poprawnego rozwiązania. To, co zależy od
przypadku, to liczba kroków tego algorytmu (pojedynczych porównań
dwóch wyrazów). Nietrudno wykazać, że wartość oczekiwana tej zmiennej
losowej nie przekracza 2nHn , gdzie Hn = 1 + 1/2 + 1/3 + · · · + 1/n, czyli
w przybliżeniu O(n log n). Jest to wynik bliski optymalnemu, a prostota
algorytmu i łatwość jego implementacji przesądza o jego użyteczności
i powszechnym stosowaniu w praktyce.
c 2010 Polskie Towarzystwo Matematyczne
274
Recenzje
Algorytmy wykorzystujące losowość, których wynik jest mimo to
zawsze prawidłowy, nazywamy algorytmami typu Las Vegas. Innym
ważnym gatunkiem są algorytmy typu Monte Carlo. Tu rezultat pracy
algorytmu nie zawsze jest prawidłowy. Tego typu algorytm jest użyteczny, o ile prawdopodobieństwo błędnego wyniku jest odpowiednio
ograniczone. Przykładem takiego algorytmu jest prosty test pierwszości
oparty na małym twierdzeniu Fermata. Aby sprawdzić, czy dana liczba
n jest pierwsza, badamy, czy zachodzi kongruencja 2n−1 ≡ 1 (mod n).
Jeżeli nie zachodzi, to n na pewno nie jest liczbą pierwszą. W przeciwnym przypadku może być różnie, ale w praktyce (przy zastosowaniu
dodatkowych usprawnień) prawdopodobieństwo błędu jest znikome.
Opór psychologiczny przed użytkowaniem algorytmów mogących
podawać błędny wynik, skądinąd naturalny u matematyków, łagodzi
być może następujący cytat (pochodzący z książki Abelsona i Sussmana,
Structure and Interpretation of Computer Programs, MIT Press, 1996):
In testing primality of very large numbers chosen at random, the
chance of stumbling upon a value that fools the Fermat test is less than
the chance that cosmic radiation will cause the computer to make an error
in carrying out a ‘correct’ algorithm. Considering an algorithm to be
inadequate for the first reason but not for the second illustrates the difference
between mathematics and engineering.
Oczywiście podręcznik zawiera dalece bardziej wyrafinowane przykłady algorytmów losowych, wraz ze stosownym wprowadzeniem oraz
ogólną prezentacją rozmaitych technik. W istocie spora część książki to
materiał dość zaawansowany, przeznaczony w zasadzie dla doktorantów.
Oprócz metod konstruowania algorytmów losowych, książka zawiera
także wprowadzenie do probabilistycznej analizy algorytmów. W tej
dziedzinie wykorzystuje się teorię prawdopodobieństwa do badania zachowania się algorytmów deterministycznych w zależności od rozkładu
prawdopodobieństwa na przestrzeni danych wejściowych. Okazuje się, że
nawet dla problemów NP-trudnych istnieją algorytmy, które działają efektywnie dla prawie wszystkich instancji. Z tego powodu Autorzy zamieścili
w książce sporo materiału czysto teoretycznego. Znajdujemy w niej takie
perły metody probabilistycznej, jak lokalny lemat Lovásza czy nierówność
Azumy. Rola tego pierwszego narzędzia w informatyce wzrosła ostatnio
znacząco po odkryciu przez Mosera i Tardosa konstruktywnego dowodu
tego lematu. Do tej pory musieliśmy zadowolić się w wielu przypadkach
samym istnieniem pożądanego obiektu – teraz możemy go skonstruować
i to w sposób efektywny. Dla przykładu, wiadomo było dotąd, że każda
Recenzje
275
formuła boole’owska (w postaci koniunkcji alternatyw), w której każda
2k
klauzula ma k literałów, a każda zmienna występuje w co najwyżej 4k
klauzulach, jest spełnialna (to jest jedno ze sztandarowych zastosowań
lokalnego lematu Lovásza). Dzięki odkryciu Mosera i Tardosa możemy
teraz znaleźć odpowiednie wartościowanie za pomocą prostego algorytmu
losowego w oczekiwanym czasie wielomianowym.
Od strony dydaktycznej podręcznik napisany jest prawidłowo. Układ
materiału, zakres, dobór przykładów i zadań jest właściwy. Jego głównym
adresatem są doktoranci i studenci ostatnich lat informatyki, ale także
i matematycy zainteresowani zastosowaniami teorii prawdopodobieństwa
czy teorią obliczeń. Wydaje się, że pozycja ta może stanowić pewną
konkurencję dla klasycznej książki Motwaniego i Raghavana, Randomized
Algorithms, Cambridge University Press, 1995. Bardzo dobrze się stało,
że została przetłumaczona na język polski.
Jarosław Grytczuk (Kraków)
Wojciech Guzicki, Piotr Zakrzewski, Wykłady
ze wstępu do matematyki. Wprowadzenie do
teorii mnogości, PWN, Warszawa 2005, 356 str.
Wstęp do matematyki. Zbiór zadań, PWN, Warszawa 2005, 120 str.
Książka Wojciecha Guzickiego i Piotra Zakrzewskiego jest, jak nazwa
wskazuje, podręcznikiem do przedmiotu wykładanego tradycyjnie na
pierwszym roku studiów matematycznych pod nazwą Wstęp do matematyki. Podręczniki do tego przedmiotu pisano już wcześniej. Najbardziej
znaną, i – jak się zdaje – najczęściej polecaną przez wykładowców, jest
opublikowana w roku 1968 książka Heleny Rasiowej Wstęp do matematyki współczesnej, wydawana jeszcze do dziś przez PWN. Nieco później,
w roku 1970, opublikowano nakładem PWN książkę Juliana Musielaka
pod niemal tym samym tytułem Wstęp do matematyki. Również za podręcznik do wstępu do matematyki trzeba uznać pierwszą część (wydanej
ostatnio ponownie) książki Kazimierza Kuratowskiego Wstęp do teorii
mnogości i topologii, która po raz pierwszy ukazała się w roku 1955.
Ostatnio, w roku 2007, Wstęp do matematyki wydał Jan Kraszewski,
a w roku 2006 Elementy teorii mnogości – Jarosław Górnicki (patrz
c 2010 Polskie Towarzystwo Matematyczne