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