• Nie Znaleziono Wyników

Recenzje ROCZNIKI POLSKIEGO TOWARZYSTWA MATEMATYCZNEGO Seria III. MATEMATYKA STOSOWANA XXVIII (1986)

N/A
N/A
Protected

Academic year: 2021

Share "Recenzje ROCZNIKI POLSKIEGO TOWARZYSTWA MATEMATYCZNEGO Seria III. MATEMATYKA STOSOWANA XXVIII (1986)"

Copied!
4
0
0

Pełen tekst

(1)

ROCZNIKI POLSKIEGO TOWARZYSTWA MATEMATYCZNEGO Seria III. MATEMATYKA STOSOWANA XXVIII (1986)

Recenzje

A. V. Aho, J.E. Hopcroft, J.D. Ullman

Projektowanie i analiza algorytmów komputerowych PWN, Warszawa 1983, stron 588

nakład 5000 egz,. cena 220 zł ISBN 83-01-04109-9

Tłumaczyli Lech Banachowski, Antoni Kreczmar, Wojciech Rytter (The design and analysis of Computer algorithms)

Addison Wesley Publishing Co 1974.

Nareszcie! Zaintrygowanemu czytelnikowi spieszymy donieść, że wresz- cie jest dostępna w języku polskim książka panów Aho, Hopcrofta i Ullmana o złożoności obliczeniowej algorytmów. Omawiana książka jest ważnym wydarzeniem w życiu społeczności informatycznej. Można to stwierdzić, obserwując jak często jest cytowana. Można też zaobser- wować w jak istotny sposób zmienia postawę czytelnika dotąd nie zaz-

[139]

(2)

140 RECENZJE

najomionego ze złożonością obliczeniową. Całe grupy badaczy, nauczy- cieli akademickich uznały, że wskazania tej książki są bardzo ważne i zmodyfikowały programy swoich prac. W Polsce książka ta miała od- zew przede wszystkim w środowiskach uniwersyteckich. Obecnie stworzo' no &zansę, by ze złożonością obliczeniową mogli zetknąć się wszyscy użytkownicy komputerów w Polsce. Książka jest napisana dostępnie.

Nie wymaga znajomości uniwersyteckiego kursu matematyki. Głównym jednak narzędziem stosowanym w tej książce jest abstrakcja matema- tyczna i metoda dedukcyjna. Wśród podobnych pozycji (np. książka Knutha,The art of programming) ta książka wyróżnia się zwięzłością, przemyślanym wyborem materiału i elegancją. Istnieją też wersje bar- dziej uproszczone, przez tych samych autorów i książka S. Baase. Te ostatnie mogą stanowić materiał dla studentów niższych lat studiów.

Książkę rozpoczynają bardzo syntetycznie (w formie tabelek) uję- te argumenty przemawiające za tym, że warto podjąć trud obniżenia kosztu algorytmu, jaki zamierzamy stosować. W tym też miejscu czy- telnik będzie mógł stwierdzić, że nie każda funkcja programowalna jest obliczalna za pomocą komputera. Funkcje programowalne, których koszt obliczeń rośnie wykładniczo nie są obliczalne na żadnym kom- puterze.

W dwunastu rozdziałach przedstawiono następujące zagadnienia:

Rozdział 1: Złożoność algorytmu, wpływ złożoności algorytmu na rozmiar zadania rozwiązywalnego w danym zasobie komputerowym, przy- śpieszenie technologiczne komputera daje zysk tylko dla algorytmów o koszcie wielomianowym. Różne modele obliczeń i ich porównanie.

Rozdział 2: Struktury danych i metody projektowania efektywnych algorytmów. Grafy. Drzewa. Rekursja. Dziel i zwyciężaj. Podzadania równego rozmiaru. Programowanie dynamiczne.

(3)

RECENZJE 141

Rozdział 3: Sortowanie. Ouicksort, heapsort i inne algorytmy.

Rozdział 4: (Przynajmniej ten rozdział warto przeczytać!) Ope- racje na zbiorach skończonych. Haszowanie. Drzewa binarnych poszu- kiwań. Słowniki i kolejki priorytetowe.

Rozdział 5: Działania na grafach. Szukanie w głąb. Znajdowanie dróg. Domknięcie tranzytywne. Najkrótsze drogi.

Rozdział 6: Mnożenie macierzy, rozwiązywanie układów równań.

Wyznaczniki.

Rozdział 7: Szybka transformacja Fouriera. Zastosowania - ilo- czyn wielomianów, algorytm Shttnhagego-Strassena.

Rozdział 8: Arytmetyka - pierścienie wielomianów i liczb całko- witych.

Rozdział 9: Algorytmy wyszukiwania tekstu wzorca.

Rozdział 10: Zadania trudne. Problemy

P = JT9?

Rozdział 11: Przykłady zadań, które wymagają wykładniczego czasu i pamięci.

Rozdział 12: Jak oszacować minimalną ilość operacji niezbędnych dla rozwiązania zadania (w złożoności arytmetycznej)?

Czy warto czytać tę książkę? Parę lat temu kupiłem egzemplarz tej książki za 300 zł, a więc wielokrotnie drożej i jestem z tego nabytku do dziś bardzo zadowolony. Z uwag krytycznych należałoby wymienić niewielkie powtórzenia, posługiwanie się Pidgin ALGOL-em

językiem nie istniejącym, a co gorsze niedobrym do reprezentacji struktur danych. Autorzy napisali co prawda skróconą wersję swej książki dla programistów, posługując się PASCAL-em, ale zamiar ten chybił celu i został skrytykowany. Można by też postulować wprowa- dzenie abstrakcyjnych typów danych przez aksjomatyczne definicje i

(4)

142 RECENZJE

uściślenie dowodów poprawności algorytmów, ale ... dobrej kawy nie należy przesładzaó.

Przekład jest staranny i starannie wydrukowany. Pod adresem tłumaczy można jednak zgłosić następującą pretensję. Książka uka- zuje się w Polsce w 10 lat po jej napisaniu. Przez ten czas wiele się zmieniło. Tłumacze czasami informują (bardzo lakonicznie) o now- szych rozwiązaniach, ale to nie wystarcza. Wydaje mi się, że w ist- niejącej sytuacji w niemal każdym rozdziale można by było dopisać cd. uwag bibliograficznych, należałoby przy tym pomyśleć o dostęp- ności cytowanych pozycji w naszych bibliotekach. Irytujący dla mnie

jest przykład z algorytmem HGCD, o którym tłumacz informuje, że jest błędny i że poprawna wersja znajduje się w ... Informacja bibliogra- ficzna w tym przypadku jest niepełna i co gorsza pozycja nie jest dostępna. Tłumacze i wydawnictwo powinni w tej sytuacji zastanowić się nad lepszym rozwiązaniem. W obecnej wersji zmarnowano parę kilo- gramów papieru na wydrukowanie algorytmu, o którym wiemy, że jest błędny i ... kropka. Nie umiem też sobie odpowiedzieć na pytanie, czy opóźnienie 10-letnie jest koniecznością. Czy nie dałoby się wy- drukować szybciej wersji oryginalnej na użytek polski? Pewnie jest to trudne, ale zainteresowani posługują się językiem angielskim.

Propozycja ta ma znacznie szerszy krąg adresatów. Inne pytanie to kwestia oprawy. Czy nie można tej pozycji, do której czytelnik bę- dzie wracał wielokrotnie wydać w sztywnych okładkach?

Omawiana książka w moim przekonaniu wywrze wielki wpływ na śro- dowisko. Za parę lat inaczej, mam nadzieję, będzie się myśleć w oś- rodkach obliczeniowych o jakości algorytmów.

ANDRZEJ SALWICKI

Cytaty

Powiązane dokumenty

Pokazać, że każdy operator śladowy jest iloczynem dwu operatorów

➤ Soczewka może wytwarzać obraz przedmiotu tylko dlatego, że może ona odchylać promienie świetlne; ale może ona odchylać promienie świetlne tylko wtedy, gdy jej

Niech punkt I będzie środkiem okręgu wpisanego w trójkąt ABC, zaś D, E, F niech będą punktami przecięcia dwusiecznych kątów A, B, C trójkąta ABC odpowiednio z bokami BC, AC

Kiedy wszystkiego się nauczyłem i swobodnie posługiwałem się czarami, to czarnoksiężnik znów zamienił mnie w człowieka... 1 Motywacje i przykłady dyskretnych układów dynamicz-

Oczywiście jest, jak głosi (a); dodam — co Profesor Grzegorczyk pomija (czy można niczego nie pominąć?) — iż jest tak przy założeniu, że wolno uznać

Jeśli uczeń prawidłowo rozwiąże zadanie inną niż proponowana metodą, otrzymuje maksymalną liczbę punktów.. Rozwiązania Zasady

informuję, że Pracodawca powziął zamiar wypowiedzenia umowy o pracę zawartej na czas nieokreślony pracownikowi Alojzemu Pale, zatrudnionemu na stanowisku operatora obrabiarki

W uzasadnieniu postanowienia sąd podał, że co prawda materiał dowodowy wskazuje na duże prawdopodobieństwo, że podejrzany dopuścił się popełnienia zarzucanego