Jakie książki każdy powinien przeczytać?


229

[ Oś czasu ]


To pytanie ma ten sam duch, co artykuły powinny przeczytać wszyscy i jakie filmy wszyscy powinni oglądać . Prosi o niezwykłe książki z różnych dziedzin informatyki teoretycznej.

Książki mogą być zorientowane na matematykę, ale mogą się okazać przydatne dla informatyków. Przykłady:

  • Prawdopodobieństwo
  • Nierówności
  • Logika
  • Teoria grafów
  • Kombinatoryka
  • Projektowanie i analiza algorytmu
  • Teoria obliczeń / Teoria złożoności obliczeniowej

Proszę poświęcić każdą odpowiedź na książki o tym samym temacie (np. Książki o kombinatoryce).

Uwaga: tytuł może wprowadzać w błąd. Oto wyjaśnienie: Niech X i Y będą dwiema dziedzinami informatyki. Są książki, które wszyscy

  • w polu X należy przeczytać.
  • w polu Y należy przeczytać.
  • w obu polach należy przeczytać.

To pytanie dotyczy wszystkich 3 przypadków. Innymi słowy, NIE jest on specyficzny dla tego ostatniego przypadku.

Edycja: Zgodnie z sugestią Dai Le , proszę również wskazać powód, dla którego lubisz książkę.


Powiązane tematy:


Ponieważ nie mogę odpowiedzieć na pytanie, zrobię to tutaj. Dyskretna matematyka - TTC: Dyskretna matematyka Arthur T. Benjamin. Jest to pakiet wykładów na różne tematy, od Ustaw teorię do Wykresów i prawdopodobieństwa.
Pithikos

Interesujące może być porównanie tej listy niezwykłych książek z listą wprowadzającą z Czy istnieje lista kanonicznych podręczników wprowadzających obejmujących główne gałęzie informatyki? pytanie na reddit / compsci. Niektóre nakładają się, ale na szczęście różnice są wystarczająco znaczące.
Thomas Klimpel

Odpowiedzi:


91

Złożoność obliczeniowa:

Jeśli szukasz najnowszych podręczników o złożoności. Muszą mieć następujące dwa.

Większość treści między tymi dwiema książkami jest porównywalna. Istnieją jednak pewne kluczowe różnice: Goldreich poświęca więcej miejsca na badanie konceptualnych i filozoficznych podstaw teorii złożoności, podczas gdy Arora / Barak obejmuje szerszy wybór tematów, w tym konkretne modele złożoności, obliczenia kwantowe i dolne granice obwodu, które są w większości nieobecne od pierwszego.

Inną opcją jest starszy, ale ponadczasowy, złożony podręcznik:

Książka Papadimitriou jest godna uwagi w rozdziałach obejmujących logikę pierwszego rzędu, a także w klasach SNP, MaxSNP i APX (teoretyczne podstawy twardości aproksymacji), których brakuje w bardziej współczesnych tekstach.0

Kolejny (stosunkowo) stary, ale dość znaczący klasyk to:

Jest to jeden z niewielu / pierwszych podręczników, który wyraźnie zawiera „Pomysł dowodowy:” pomiędzy „Twierdzeniem:” i „Dowód:” i jest jednym z najlepiej napisanych podręczników matematycznych na dowolny temat. Z drugiej strony jest to tylko wstęp do złożoności, poświęcając tylko jeden 50-stronicowy rozdział „zaawansowanym tematom” (w tym przybliżeniu, algorytmom probabilistycznym, IP = PSPACE i kryptografii). Jako pierwsza książka o złożoności lub jako przykład naprawdę doskonałego pisania, ta książka jest świetna .

Scott Aaronson pisze, że ta książka ma „zabawę z popularnej książki z intelektualną przewagą podręcznika”. Opowiada historie i podaje wiele zabawnych przykładów i odniesień (Game of Life oraz wiele innych przykładów maszyn z kompletem Turinga). Nie zagłębia się zbytnio w teorię złożoności, ale ma szeroki zasięg. Na szczególną uwagę zasługują jego związki z fizyką statystyczną.


2
Oprócz osób zainteresowanych porównaniem tych książek ze sobą, mogę również zaoferować recenzję książki Arora / Barak i Goldreich, którą niedawno napisałem dla kolumny recenzji książek SIGACT.
Daniel Apon

1
zobacz także jego ulubione książki Lance Fortnow na Amazon: amzn.com/l/22R1UX0Y9YRT2
Alessandro Cosentino

5
Jedynym komentarzem do książki Sipsera jest to, że czasami używa niestandardowych nazw w opisie teorii obliczalności. Na przykład używa „rozpoznawalny” zamiast „półdecydowalny”. Ale wydaje mi się, że skoro podręcznik jest tak szeroko używany, może stać się już teraz standardem.
Dai Le

4
Właściwie to ogólnie świetny komentarz, @Dai Le. Mogę wymyślić podobne różnice między Goldreich a Arora / Barak. Na przykład Goldreich używa nazwy a Arora / Barak używa nazwy , mimo że obaj mówią o tej samej koncepcji. F N PPCFNP
Daniel Apon

1
Uważam, że Sipser jest znacznie bardziej przydatny niż Papadimitriou do nauczania teorii złożoności, ymmv.
Jeff Burdges

49

Kompletność NP:

Cóż, myślę, że Garey i Johnson's Computers and Intractability: Przewodnik po teorii NP-Completeness znajdzie się wśród najlepszych książek na tej liście.


6
Nadal najlepsze wprowadzenie do teorii złożoności po 30 latach.
Emil

1
po dziesięcioleciach ta książka jest wciąż najbardziej kompletną listą kompletnych problemów NP w jednym miejscu, najwyraźniej prawie encyklopedią, i wielu badaczy cs wydaje się podzielać ten punkt widzenia
wer. 20.12

1
polecam to dodać do FAQ dla ogólnego pytania: „czy mój problem X NP jest kompletny?” z odpowiedzią: „
Najpierw

47

Projektowanie i analiza algorytmów:

Cormen, Thomas H., Charles E. Leiserson, Ronald L. Rivest i Clifford Stein. Wprowadzenie do algorytmów.

R. Motwani, P. Raghavan. Algorytmy randomizowane.

Znalazłem tę książkę sugerowaną przez Ryana Williamsa w MathOverflow: Al Algorytm Design autorstwa Kleinberg & Tardos .

Kolejna doskonała książka Wprowadzenie do algorytmów: kreatywne podejście przez Udi Manber . Ta książka nie jest katalogiem algorytmów; stara się raczej zapewnić czytelnikowi intuicję, aby „rozpoznać strukturę matematyczną w abstrakcyjnych problemach”. (cytowany z recenzji)


7
„Wprowadzenie do analizy algorytmów” Sedgewicka i Flajoleta jest świetne.
Jay

Daniel Spielman wykorzystuje książkę Kleinberga i Tardosa w swoim kursie „Projektowanie i analiza algorytmów”. Wziąłem ją i naprawdę pokochałem tę książkę. Uważam, że jest to bardziej przystępne niż CLRS.
Alex Reinking


41

Systemy typów i semantyka języka programowania:

Typy i języki programowania Benjamina Pierce'a oraz tom uzupełniający Tematy zaawansowane w typach i językach programowania . Zapewniają rzetelny, ale zrozumiały przegląd roli teorii typów w projektowaniu języka programowania, wraz z wykorzystaniem semantyki operacyjnej do wyrażania semantyki języka programowania.


7
Dla bardziej matematycznego spojrzenia na teorię typów, „Wykłady o izomorfizmie Curry-Howarda” Sorensena i Urzyczyna to świetny początek, zapewniający dobry przegląd typowanych lambda-kalkulatorów aż do rachunku konstrukcji i nie tylko.
Dominic Mulligan,

4
Proponuję w tym temacie Fundacje Johna Mitchella dla języków programowania. Jak w poprzednim komentarzu, jest bardziej dojrzały matematycznie.
Artem Pelenitsyn

2
Głosowanie za TAPL. FYI Benjamin Pierce jest jednym z autorów nowej książki „Software Foundation”, która wykorzystuje Coq.
kunjan kshetri

40

Nierówności:

Kolejną cenną książką dla każdego informatyka, który kiedykolwiek chce związać dowolną ilość (a więc wszystkich!), Jest: Klasa mistrzowska Cauchy'ego-Schwarza: Wprowadzenie do sztuki nierówności matematycznych Michaela Steele'a.

Encyklopedyczna książka na ten temat to Słownik nierówności . Chociaż nie jest to książka do czytania od deski do deski, dobrze jest mieć ją do dyspozycji. Zobacz także dodatek do książki.

Ponadto Wikipedia ma doskonałą listę nierówności .

W przypadku konkretnych tematów możesz skonsultować:


1
Jeśli mogę dodać link do czegoś, co sam zebrałem (z wielu różnych źródeł, w tym niektórych z powyższych), oto ściągawka typowych nierówności: lkozma.net/inequalities_cheat_sheet
László Kozma

1
Hardy, Littlewood, Polya, „Nierówności”, klejnot z lat 30. XX wieku (?)
kodlu

38

Ciekawy. Nikt nie wspomniał tomów Sztuka programowania przez Donald E. Knuth . Bardzo szczegółowe podejście do tematów z bardzo dobrymi ćwiczeniami.

W tej książce znalazłem klejnoty takie jak „pobieranie próbek resorvoir”, żeby wymienić tylko jeden przykład.


4
TAOCP jest nadal aktualny, a tom. 4A właśnie zostało wydane.
dbasnett,

33

Jak już wspomniał Sylvain Peyronnet, logika jest ważną częścią teoretycznej informatyki. Jednak nie wystarczy uczyć się logiki z podręczników przygotowanych dla czystych matematyków. Innymi słowy, ważne jest również, aby uczyć się logiki z bardziej „informatycznej” perspektywy.

Teoria modeli skończonych

Chcemy nauczyć się technik dotyczących struktur skończonych. Dobrze wiadomo, że wiele tradycyjnych narzędzi z teorii modeli, np. Zwartość i twierdzenie Löwenheim-Skolem, nie ma zastosowania do modeli skończonych. To prowadzi nas do badania teorii modeli skończonych . W tym obszarze polecam następujące doskonałe książki:

Podobszarem teorii modeli skończonych jest złożoność opisowa , w której chcemy scharakteryzować klasy złożoności według rodzaju logiki potrzebnej do zdefiniowania języków. Ostateczne odniesienie do złożoności opisowej to:

Dowód złożoności

Innym ważnym obszarem logiki w informatyce jest Proof Complexity , badanie trójdrożnej zależności między klasami złożoności, słabymi systemami logicznymi i systemem dowodzenia zdań. Rozważane są następujące dwa powiązane aspekty: (i) złożoność dowodów wzorów zdań, oraz (ii) badanie słabych teorii arytmetyki, zwanych arytmetyką ograniczoną .

Aspekt (i) dotyczy następującego pytania: „Czy istnieje system dowodu zdaniowego, w którym każda tautologia ma dowód wielomianu wielkości tautologii?”

Aspekt (ii) bada systemy logiczne, które wykorzystują ograniczone rozumowanie oparte na pojęciach ze złożoności obliczeniowej. Innymi słowy, możemy przypisać do każdego klasa złożoności teoria logiczna , gdzie provably całkowite funkcje w są dokładnie takie funkcje w klasie złożoność . Jednym z najnowszych osiągnięć jest nowy program badawczy zwany „ograniczoną matematyką odwrotną” zaproponowany przez Stephena Cooka i Phuonga Nguyena, którego celem jest klasyfikacja twierdzeń (interesujących się informatyką) w oparciu o (minimalną) złożoność obliczeniową pojęć potrzebnych do ich udowodnienia. .V C V C C.CVCVCC

Aspekty (i) i (ii) są ściśle powiązane z pojęciem tłumaczenia zdań zaproponowanym w artykule Cooka z 1975 r. , Który wprowadził teorię równań dla funkcji czasu i pokazał, w jaki sposób można przełożyć twierdzenia z na rodziny tautologii, które mają wielomianowe proofy długości w rozszerzonym systemie Frege proof.P VPVPV

Aby uzyskać doskonałe ankiety dotyczące złożoności dowodów, polecam następujące dwie książki:

Książka Cooka i Nguyena jest zasadniczo samowystarczalna, a całe niezbędne tło logiczne podano w rozdziałach 2 i 3. Rozdział 9 jest szczególnie interesujący, ponieważ autorzy wprowadzili niezwykle łatwą metodę definiowania własnej teorii dla dowolnych klas złożoności w . W tej metodzie musimy tylko dodać jeden dodatkowy aksjomat do podstawowej teorii , gdzie aksjomat po prostu stwierdza istnienie rozwiązania pełnego problemu klasy złożoności. Całkiem niesamowite!V 0PV0

Książka Krajíčka jest nieco trudniejsza, ponieważ założył, że czytelnicy znają już logikę matematyczną i teorię modeli (lub chętnie zapoznają się z niezbędnym tłem po drodze). Ale wiele się nauczysz czytając i rozumiejąc tę ​​książkę.


32

Algorytmy losowe:

Prawdopodobieństwo i obliczenia: randomizowane algorytmy i analiza probabilistyczna autorstwa Michaela Mitzenmachera i Eli Upfala.

Świetna książka do wyjaśnienia podstaw algorytmów losowych. Przykłady i dowody są wyjaśnione bardzo jasno i są łatwe do naśladowania. Ćwiczenia są również bardzo fajne.

(odpowiedział Marcos Villagra)

Analiza losowych algorytmów:

Każdy pracujący w algorytmach powinien mieć Koncentracja miary do analizy algorytmów randomizowanych , który jest również dostępny do pobrania w formacie PDF tutaj .


3
Ta książka została zasugerowana w innym temacie (myślę, że Suresh). Uznałem to za doskonałe. Dzięki Aaronowi za wspomnienie o tym tutaj.
MS Dousti,

29

Kryptografia:

Dwotomowa książka „ Podstawy kryptografii” Odeda Goldreicha ( tom 1: podstawowe narzędzia i tom 2: podstawowe aplikacje ) to doskonała książka na ten temat. (Wczesne wersje dostępne na stronie głównej autora ). Dostępna jest również skrócona wersja tej książki.

Kolejną doskonałą książką jest Wprowadzenie do współczesnej kryptografii: zasady i protokoły autorstwa Katza i Lindella.

Dla osób zainteresowanych matematycznym zapleczem kryptografii An Introduction to Mathematical Cryptography autorstwa Hoffsteina i in. jest naturalnym wyborem.

Inne doskonałe książki to:


Tematy szczegółowe:


2
Od czasu ich wprowadzenia w 1993 r. Losowe wyrocznie były szeroko stosowane w literaturze; specjalnie w schematach podpisów. Nie znam książki, która odpowiednio obejmuje ten obszar. Sugestie są mile widziane.
MS Dousti,

1
Książka o losowych wyroczniach byłaby ogromną pomocą. Nie pracuję w kryptografii, ale czytałem Katz / Lindell od przodu do tyłu. Przejście z podręcznika na literaturę kryptograficzną było trudne z tego właśnie powodu. Ponadto @Sadeq, z ciekawości: czy którakolwiek z przeczytanych książek ma dobre relacje z przewijania?
Daniel Apon

1
@Daniel: Teza Martina Gagné'a „Badanie losowego modelu Oracle” (UC Davis, 2008) jest stosunkowo dobrym odniesieniem do losowych wyroczni (choć wciąż daleka od ukończenia). Odnośnie pytania o „przewijanie”: nie znam książki na ten temat, ale wydaje mi się, że całkowicie go zrozumiałem. Czy mógłbyś wyjaśnić, która część wydaje ci się problematyczna? Możesz nawet zapytać o to na osobny temat.
MS Dousti

@Sadeq, jestem skłonny nie zaczynać niezależnego pytania na ten temat, ponieważ stanowiłoby to niewiele więcej niż „Pomoc, co to jest przewijanie?” :) Problematyczne jest to, że przewijanie nie było w podręczniku używanym w kursie kryptograficznym, który wziąłem (tj. Katz / Lindell), więc nigdy nie widziałem wprowadzenia do tej koncepcji. Wiem, że regularnie pojawia się w literaturze na temat kryptografii, ale ponieważ ktoś nie jest aktywnie zaangażowany w badania nad kryptografiami, wątpię, czy przeczytam wystarczającą ilość artykułów, aby uzyskać dobre zrozumienie przewijania po wystarczającym napotkaniu. Może mógłbym zadać pytanie o początki przewijania ...
Daniel Apon,

3
@Daniel: Wprowadzenie mojej książki z jednoczesną wiedzą zerową wyjaśnia przewijanie i trudności, jakie ona powoduje w kontekście tworzenia protokołu. Inne źródła to: (1) Oded Goldreich, Hugo Krawczyk: O składzie systemów dowodu zerowej wiedzy. SIAM J. Comput. 25 (1): 169-192 (1996) i (2) Cynthia Dwork, Moni Naor, Amit Sahai: Równoczesna wiedza zerowa. J. ACM 51 (6): 851–898 (2004).
Alon Rosen,

25

Programowanie funkcjonalne

  • Czysto funkcjonalne struktury danych autorstwa Chrisa Okasaki . Większość książek o strukturach danych zakłada imperatywny język, taki jak C lub C ++. Jednak struktury danych dla tych języków nie zawsze dobrze tłumaczą się na języki funkcjonalne. Ta książka jest jedną z najlepszych prezentacji na temat implementacji struktur danych i algorytmów w funkcjonalnym języku.
  • Programowanie funkcyjne: Praktyka i Teoria przez Bruce J. MacLennan . Pomimo swojej nazwy, ta książka jest bardziej zorientowana na teorię niż na praktykę. Ci, którzy czytają tę książkę, będą mieli znacznie lepszy pogląd na ten temat niż ci, którzy uczą się go poprzez programowanie ad hoc.
  • Perły projektowania algorytmu funkcjonalnego autorstwa Richarda Birda . Zupełnie nowa ekspozycja na ten temat, która przyjmuje podejście oparte na rozwiązywaniu problemów i pokazuje piękno tej dziedziny, prezentując atrakcyjne pomysły w projektowaniu algorytmów funkcjonalnych.
  • Certyfikowane programowanie z typami zależnymi od Adama Chlipali . Jest to jeden z najlepszych zasobów do nauki języka Coq i koncentruje się w szczególności na automatyzacji certyfikacji programów i dowodzenia twierdzeń przy użyciu systemów opartych na logice / regułach. Przykłady są obszerne i łatwe do naśladowania.

21

Algorytmy aproksymacyjne

Książka Algorytmy aproksymacyjne autorstwa Vazirani jest najlepszą książką na ten temat. Inną książką są Algorytmy aproksymacji problemów trudnych dla NP autorstwa Hochbauma.

Oto porównania dwóch recenzentów:

Wykorzystałem książkę Dorit Hochbaum na temat algorytmów aproksymacyjnych dla problemów NP-Hard jako wytyczne dla mojej pracy. Książka Hochbauma jest bez wątpienia wspaniała. Jednak format ankiety zagroził płynnemu przepływowi na rzecz zgromadzenia najlepszych ludzi w terenie. Książka Vazirani rozwiązuje ten problem, zachowując gładkość i elegancję od początku do końca. Doskonałe zestawy problemów, doskonałe wskazówki dla większości problemów, a na końcu książki znajduje się sekcja poświęcona otwartym problemom, co jest naprawdę fajną funkcją.

i

Szukałem książek związanych z rozwiązywaniem problemów NP-zupełnych i NP-trudnych. Jest jeszcze jedna książka Hochbauma i ja też ją mam. Niestety, ta książka jest bardziej książką zorientowaną na badania, ponieważ została napisana przez kilku badaczy. To jak czytanie kilku artykułów naukowych w dwóch twardych okładkach. Oznacza to, że trzeba mieć pewien poziom doświadczenia z algorytmami aproksymacyjnymi.

Najnowsza książka to Projektowanie algorytmów aproksymacyjnych autorstwa Williamsona i Shmoysa.


21

Kombinatoryka

Książki wprowadzające. Każda z poniższych książek może stanowić doskonałe wprowadzenie do tematu:

Bardziej zaawansowane teksty.


21

Kombinatoryka

Chcę zacytować Analytic Combinatorics , autor: Philippe Flajolet i Robert Sedgewick. Zapewnia silne zaplecze matematyczne do wyliczania i analizy algorytmów. Chcę również złożyć hołd Philippe Flajoletowi, który zmarł dwa dni temu i był wielkim matematykiem i informatykiem.


20

Weryfikacja programu


1
Niektóre książki (Manna i Apt i wsp.) Są dość przestarzałe (Manna pochodzi z 1977 r., A Apt i wsp. Od 1991 r.), W dziedzinie weryfikacji programów opartych na logice odnotowano znaczny postęp w ostatniej dekadzie. Niestety, nie ma dostępnego aktualnego tekstu.
Martin Berger,

@MartinBerger Czy są jakieś wskazówki na temat tego, gdzie można się dowiedzieć o tak dużym postępie, jeśli nie ma go w żadnym z najnowszych podręczników?
Mitch

@Mitch Obawiam się, że nie zostało to jeszcze zapisane w podręcznikach. Może zajrzyj do literatury na temat interaktywnych narzędzi, takich jak Isabelle / HOL i Coq. Zobacz także najnowsze narzędzia automatycznej weryfikacji, takie jak „wnioskowanie” Facebooka i teorię, która się za tym kryje.
Martin Berger,

Huth & Ryan jest bardzo przyjazny dla początkujących. Dla kogoś, kto nie jest zaznajomiony z całą rygorystyczną matematyką w CS, to dobry początek. Jest to pierwsza książka, którą przeczytałem o formalnej stronie CS i od tego czasu mnie wciągnęła! To także pierwszy podręcznik, w którym skończyłem wszystkie czytania.
RexYuan

19

Teoria informacji

Teoria informacji, wnioskowanie i algorytmy uczenia się David MacKay

Inne znane podręczniki z teorii informacji można znaleźć na Wikipedii .


Tytuł brzmi „Jakie książki powinien przeczytać każdy?”, Więc zalecenie powinno być wybiórcze. Każdy może znaleźć dużą listę książek na temat „teorii informacji” z Amazon / biblioteki, ale jeśli masz tylko 2-3 opcje, to jakie będą? Powinieneś polecać tylko książki lub artykuły, które przeczytałeś dość uważnie i zawęzić do swoich absolutnych ulubionych!
Dai Le

1
@Dai Le: Masz rację. Myślę, że lista powinna zostać zawężona. (Jestem osobiście odpowiedzialny za wzdęcie listy!) Jest to jednak post społeczności wiki . Dodałem długą listę sugerującą, którzy są kandydatami. Skróć listę, aby uwzględnić tylko najbardziej odpowiednie książki.
MS Dousti

1
@Sadeq: Obawiam się, że rzadko zdarza się, że jedna osoba skraca listę innej osoby. Tak długo, jak post jest w obecnej formie, jest całkowicie bezwartościowy w odniesieniu do celu postu.
Dai Le

@Dai: Masz rację. Ponieważ jednak nie jestem ekspertem od „teorii informacji”, nie mogę samodzielnie przyciąć listy. Mogę: 1) usunąć listę, którą całkowicie dodałem (pozostawiając oryginalną listę), lub 2) dodać notatkę w tekście, aby zwrócić uwagę eksperta. Co sugerujesz?
MS Dousti

@Sadeq: Nie pracuję też nad teorią informacji, w przeciwnym razie pomogłbym skrócić listę. Wiem, że wiele osób, w tym Lance Fortnow, poleca książkę „Thomas M. Cover, Joy A. Thomas. Elementy teorii informacji”. Ale nie jestem pewien, czy wszyscy powinni to przeczytać, czy nie. Myślę, że powinniśmy uszanować oryginalny plakat, ponieważ książka może być jego ulubionym. Dlatego usunięcie całej listy jest dobrym rozwiązaniem. Naprawdę przepraszam, że jestem zbyt bezpośredni. Czy możesz też poprosić ludzi o wyjaśnienie, dlaczego sugerują swoje książki?
Dai Le

19

Algorytmy rozproszone

Rozproszone algorytmy Nancy Lynch Jest to klasyczny tekst napisany przez pioniera przetwarzania rozproszonego;

Wprowadzenie do algorytmów rozproszonych autorstwa Gerarda Tel. Bardzo dobre wprowadzenie, odpowiednie również na studiach licencjackich; koncentruje się na modelu przekazywania wiadomości

Przetwarzanie rozproszone: podstawy, symulacje i zaawansowane tematy autorstwa Hagit Attiya i Jennifer Welch Zawiera zaawansowane materiały, odpowiednie na kursy doktoranckie; omówiono modele przekazywania wiadomości i pamięci współużytkowanej

Projektowanie i analiza algorytmów rozproszonych Autor: Nicola Santoro Książka stosunkowo niedawna, może być stosowana zarówno na poziomie licencjackim, jak i doktorskim; materiały są prezentowane z naciskiem na projekt protokołu


19

Obliczenia kwantowe

  • Obliczanie i Quantum Quantum Information przez Nielsen i Chuang , jest doskonałym odniesienie książka, idealny dla tych, którzy chcą do badań w tej dziedzinie. Jednak na początek trudno jest się uczyć i zdecydowanie nie jest to dla osób uczących się samodzielnie. Ponieważ w książce brakuje przykładów, sugeruję następującą książkę:

  • Obliczenia kwantowe od czasów Demokryta , Scott Aaronson . Tour-de-force o wiele więcej niż informatyka kwantowa, powiązana z fizyką, filozofią itp.

Dwie inne doskonałe książki wprowadzające na ten temat to:



17

Złożoność komunikacji:


Złożoność komunikacji : Eyal Kushilevitz i Noam Nisan.

To klasyczna i bardzo dobrze napisana książka. Chociaż jest już trochę stary, to wciąż najlepsza książka wprowadzająca do tej dziedziny. Ponadto ćwiczenia są niezwykle zabawne i są wykonywane dokładnie po wyjaśnieniu pojęć, aby można było naprawić to, czego się nauczyłeś.

Część losowej złożoności komunikacji należy uzupełnić fragmentami pierwszej książki.


Złożoność komunikacji i obliczenia równoległe Juraj Hromkovič.

Bardzo kompletny, choć czasem trochę trudny do odczytania. Intuicyjne wyjaśnienia są bardzo jasne i bardzo przyjemne. W drugiej części przedstawiono połączenia z obliczeniami równoległymi.


16

Kolejnym, doskonałym do analizy Boolean Fouriera (jak sugeruje tytuł) i obejmującym zarówno podstawy, bardziej zaawansowane tematy i (wiele) aplikacji, jest Analiza funkcji boolowskich autorstwa Ryana O'Donnella (2014). Jest on również dostępny bezpłatnie tutaj .
Klemens C.

16

Algebra obliczeniowa

Jak powiedział Shiva w tej odpowiedzi , literatura w tej dziedzinie jest rozproszona po całym świecie, bez wspólnych terminologii. Przydatne odniesienia można znaleźć, szukając „obliczeń symbolicznych”, „teorii złożoności algebraicznej”, „algebry komputerowej” lub „algebry obliczeniowej”. Jak sugerowano w odpowiedziach na to pytanie ,

Analiza obliczeniowa

Interesujące jest także pole, które zajmuje się obliczeniami rzeczywistych funkcji. Znany również jako „analiza obliczalna” lub „rachunek obliczeniowy”.


16

Kombinatoryka

generowanie funkcji autorstwa Herberta S. Wilfa jest doskonałym wprowadzeniem do teorii funkcji generowania, napisanym płynnie i wypełnionym ćwiczeniami. Jeśli napisze wszystkie swoje książki w ten sposób, nie mogę się doczekać, aż zacznę pisać inną.

Enumerative Combinatorics autorstwa Richarda Stanleya jest świetnym odniesieniem (zaawansowane).

Kombinatoryka: tematy, techniki, algorytmy Petera Camerona i Zaproszenie do dyskretnej matematyki Matouseka i Nesetrila stanowią doskonałe wprowadzenie do kombinatoryki.

Applied Combinatorics autorstwa Robertsa i Tesmana to encyklopedyczne odniesienie do stosowanej kombinatoryki.



14

3
Jak to porównać do „Jak to rozwiązać” G. Polya? Myślę, że przeczytałem radę, że Polya jest oryginalna i znacznie lepsza, ale nie jestem pewna i nie mogę jej odrzucić na interwebach;)
DaveBall aka user750378

2
Polya w „How It Solve It” (HTSI) porusza inny temat niż książka Vellemana. Polya jest rodzajem rozmyślania o tym, jak znaleźć rozwiązania trudnych problemów, podczas gdy Velleman jest podręcznikiem, jak sformalizować rozwiązania przy użyciu konwencji i języka matematyki. HTSI ma informacje o dowodach, ale jest przedstawione w formie „glosariusza” bez struktury, podczas gdy Velleman przedstawia ci systematyczny program ćwiczeń z ćwiczeniami. Oba są warte przeczytania, ale jedno nie zastępuje drugiego.
Nate CK,

13

Teoria liczb

Znalazłem kilka książek często cytowanych w wielu artykułach. Są doskonałe w tym temacie, ale niektóre z nich są dość stare. Oto lista tego, co pamiętam:


Co sądzisz o książce Rosen lub przedrukach Dover?
Mark C

@ Mark: Oni też są dobrzy. Dlaczego nie edytować posta i nie dodać również tych książek?
MS Dousti,



11

Teoria grafów

Wprowadzenie do teorii grafów: Wprowadzenie do teorii grafów autorstwa Westa

Więcej informacji na temat teorii grafów: teoria grafów Bondy i Murty

Obszerna książka zawierająca nowe osiągnięcia, a także stare klasyczne wyniki w teorii grafów:

Teoria grafów: Reinhard Diestel .

W przypadku wykresów na powierzchniach z podejściem kombinatorycznym:

Wykresy na powierzchniach

A w przypadku digrafów:

Digraphs: Teoria, algorytmy i zastosowania


1
Istnieje również Teoria grafów Claude'a Berge, jednego z założycieli teorii grafów. Oraz wykresy i algorytmy autorstwa Michela Minoux i Michela Gondrana.
Lamine

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.