Quali libri dovrebbero leggere tutti?


229

[ Cronologia ]


Questa domanda ha lo stesso spirito di quali documenti dovrebbero leggere tutti e quali video dovrebbero guardare tutti . Richiede libri notevoli in diverse aree dell'informatica teorica.

I libri possono essere orientati alla matematica, ma potresti trovarlo fantastico per uno scienziato informatico. Esempi:

  • Probabilità
  • disuguaglianze
  • Logica
  • Teoria dei grafi
  • combinatorio
  • Progettazione e analisi dell'algoritmo
  • Teoria della computazione / Teoria della complessità computazionale

Si prega di dedicare ogni risposta a libri dello stesso argomento (ad es. Libri sulla combinatoria).

Nota: il titolo potrebbe essere fuorviante. Ecco un chiarimento: che X e Y siano due campi dell'informatica. Ci sono libri che tutti

  • nel campo X dovrebbe leggere.
  • nel campo Y dovrebbe leggere.
  • in entrambi i campi dovrebbe leggere.

Questa domanda cerca tutti e 3 i casi. In altre parole, NON è specifico per quest'ultimo caso.

Modifica: come suggerito da Dai Le , ti preghiamo di evidenziare anche il motivo (i) che ti piace del libro.


Argomenti correlati:


Dal momento che non posso rispondere alla domanda, lo farò qui. Discrete Mathematics - TTC: Discrete Mathematics di Arthur T. Benjamin. È un pacchetto di lezioni su vari argomenti, da Set Theory a Graphs and Probability.
Pithikos,

Potrebbe essere interessante confrontare questo elenco di libri straordinari con l'elenco dei libri introduttivi del Esiste un elenco dei manuali introduttivi canonici che coprono i principali rami dell'informatica? domanda su reddit / compsci. C'è qualche sovrapposizione, ma per fortuna le differenze sono sufficientemente significative.
Thomas Klimpel,

Risposte:


91

Complessità computazionale:

Se stai cercando libri di testo recenti di complessità. I seguenti due devono avere.

La maggior parte del contenuto tra questi due libri è comparabile. Tuttavia, esistono alcune differenze chiave: Goldreich dedica più spazio all'esplorazione delle basi concettuali e filosofiche della teoria della complessità, mentre Arora / Barak copre una più ampia selezione di argomenti, tra cui modelli concreti di complessità, calcolo quantico e limiti inferiori del circuito che sono per lo più assenti dal primo.

Un'altra opzione, un libro di testo più vecchio ma senza tempo nella complessità è:

Il libro di Papadimitriou è notevole per i capitoli che trattano la logica del primo ordine, nonché per le classi SNP, MaxSNP e APX (le basi teoriche della durezza dell'approssimazione), che mancano nei testi più moderni.0

Un altro classico (comparativamente) vecchio, ma piuttosto notevole è:

Questo è uno dei pochi / primi libri di testo che include esplicitamente "Proof Idea:" tra "Teorema:" e "Proof:", ed è uno dei libri di testo matematici meglio scritti su qualsiasi argomento. D'altra parte, è solo un'introduzione alla complessità, dedicando solo un capitolo di 50 pagine a "argomenti avanzati" (inclusi approssimazione, algoritmi probabilistici, IP = PSPACE e cripto). Come primo libro sulla complessità o come esempio di scrittura davvero eccellente, questo libro è fantastico .

Scott Aaronson scrive che questo libro ha "il divertimento di un libro popolare con il peso intellettuale di un libro di testo". Racconta storie e fornisce molti esempi e riferimenti divertenti (Game of Life e molti altri esempi per macchine complete di Turing). Non approfondisce troppo la teoria della complessità ma ha una grande ampiezza. Particolarmente degne di nota sono le sue connessioni con la fisica statistica.


2
A parte chi è interessato a come questi libri si confrontano tra loro, posso anche offrire questa recensione di Arora / Barak e Goldreich che ho scritto di recente per la rubrica di recensioni di libri SIGACT.
Daniel Apon,

1
vedi anche l'elenco di Lance Fortnow dei suoi libri preferiti sulla Computational Complexity su Amazon: amzn.com/l/22R1UX0Y9YRT2
Alessandro Cosentino,

5
L'unico commento sul libro di Sipser è che a volte usa nomi non standard quando copre la teoria della calcolabilità. Ad esempio, usa "riconoscibile" anziché "semi-decidibile". Ma suppongo che dal momento che il libro di testo è così ampiamente usato, potrebbe ormai diventare standard.
Dai Le

4
In realtà, questo è un commento eccellente in generale, @Dai Le. Mi vengono in mente differenze simili tra Goldreich e Arora / Barak. Ad esempio, Goldreich usa il nome e Arora / Barak usa il nome , anche se entrambi parlano dello stesso concetto. F N PPCFNP
Daniel Apon,

1
Ho trovato Sipser molto più utile di Papadimitriou per insegnare davvero la teoria della complessità, ymmv.
Jeff Burdges il

49

NP-Completezza:

Bene, suppongo che Garey e Johnson's Computers and Intractability: A Guide to the Theory of NP-Completeeness saranno trovati tra i libri migliori in questo elenco.


6
Ancora la migliore introduzione alla teoria della complessità dopo 30 anni.
Emil,

1
dopo decenni questo libro è ancora l'elenco più completo di problemi NP completi in un posto, apparentemente quasi un'enciclopedia, e molti ricercatori
CS

1
consiglio di aggiungerlo alle FAQ per una domanda generale, "il mio problema X NP è completo?" con risposta, "1 ° controlla questo libro 1 ° e poi torna da noi"
vzn

47

Progettazione e analisi di algoritmi:

Cormen, Thomas H., Charles E. Leiserson, Ronald L. Rivest e Clifford Stein. Introduzione agli algoritmi.

R. Motwani, P. Raghavan. Algoritmi randomizzati.

Ho trovato questo libro suggerito da Ryan Williams su MathOverflow: Algorithm Design di Kleinberg & Tardos .

Un altro libro eccellente è Introduzione agli algoritmi: un approccio creativo di Udi Manber . Questo libro non è un catalogo di algoritmi; piuttosto, cerca di fornire al lettore l'intuizione di "riconoscere la struttura matematica in problemi astratti". (citato da una recensione)


7
"Un'introduzione all'analisi degli algoritmi" di Sedgewick e Flajolet è grandiosa.
Jay,

Daniel Spielman usa il libro di Kleinberg e Tardos nel suo corso "Design and Analysis of Algorithms". L'ho preso e ho adorato il libro. L'ho trovato molto più accessibile di CLRS.
Alex Reinking,


41

Tipo di sistemi e semantica del linguaggio di programmazione:

Tipi e linguaggi di programmazione di Benjamin Pierce e il volume di follow-up Argomenti avanzati su tipi e linguaggi di programmazione . Forniscono una panoramica solida ma comprensibile del ruolo della teoria dei tipi nella progettazione del linguaggio di programmazione, insieme all'uso della semantica operativa per esprimere la semantica del linguaggio di programmazione.


7
Per una prospettiva più matematica sulla teoria dei tipi, "Lezioni sull'isomorfismo di Curry-Howard" di Sorensen e Urzyczyn è un ottimo inizio, che fornisce una buona panoramica dei lambda-calcoli digitati fino al Calcolo delle Costruzioni, e oltre.
Dominic Mulligan,

4
Vorrei suggerire le basi di John Mitchell per i linguaggi di programmazione su questo argomento. Come nel commento precedente, è matematicamente più maturo.
Artem Pelenitsyn,

2
Upgrade per TAPL. FYI Benjamin Pierce è uno degli autori di un nuovo libro "Software Foundation" che utilizza Coq.
kunjan kshetri,

40

Le disuguaglianze:

Un altro libro prezioso per chiunque in informatica che abbia mai voluto limitare qualsiasi quantità (quindi, tutti!) È: La Master Class di Cauchy-Schwarz: un'introduzione all'arte delle disuguaglianze matematiche di Michael Steele.

Un libro enciclopedico sull'argomento è Un dizionario delle disuguaglianze . Anche se questo non è un libro per leggere da copertina a copertina, è bene averlo a tua disposizione. Vedi anche il supplemento del libro.

Inoltre, Wikipedia ha un eccellente elenco di disuguaglianze .

Per argomenti specifici, è possibile consultare:


1
Se posso aggiungere un link a qualcosa che ho raccolto io stesso (da molte fonti diverse tra cui alcune delle precedenti), ecco un cheat sheet di disuguaglianze comuni: lkozma.net/inequalities_cheat_sheet
László Kozma,

1
Hardy, Littlewood, Polya, "Disuguaglianze", una gemma degli anni '30 (?)
kodlu,

38

Interessante. Nessuno ha menzionato volumi di The Art of Computer Programming di Donald E. Knuth . Un trattamento molto dettagliato degli argomenti con ottimi esercizi.

Ho trovato gemme come "campionamento resorvoir" in questo libro solo per citare un esempio.


4
TAOCP è ancora rilevante e Vol. 4A è appena stato rilasciato.
dbasnett,

33

Come già accennato da Sylvain Peyronnet, la logica è una parte importante dell'informatica teorica. Tuttavia, non è sufficiente imparare la logica dai libri di testo su misura per i matematici puri. In altre parole, è anche importante imparare la logica da una prospettiva più "informatica".

Teoria del modello finito

Vogliamo apprendere tecniche che si occupano di strutture finite. È noto che molti strumenti tradizionali della teoria dei modelli, ad esempio la compattezza e il teorema di Löwenheim-Skolem, non sono applicabili ai modelli finiti. Questo ci porta allo studio della teoria dei modelli finiti . Per quest'area, raccomando i seguenti eccellenti libri:

Un'area secondaria della teoria dei modelli finiti è la complessità descrittiva , in cui vogliamo caratterizzare le classi di complessità in base al tipo di logica necessaria per definire i linguaggi. Il riferimento definitivo per la complessità descrittiva è:

Complessità dimostrativa

Un'altra importante area della logica nell'informatica è Proof Complexity , uno studio della relazione a tre vie tra classi di complessità, sistemi logici deboli e sistema di prova proposizionale. Vengono considerati i seguenti due aspetti correlati: (i) la complessità delle prove delle formule proposizionali e (ii) lo studio delle teorie deboli dell'aritmetica, chiamata aritmetica limitata .

L'aspetto (i) ha a che fare con la seguente domanda: "Esiste un sistema di prova proposizionale in cui ogni tautologia ha una prova del polinomio dimensionale nella dimensione della tautologia?"

Aspetto (ii) studia sistemi logici che usano ragionamenti ristretti basati su concetti di complessità computazionale. In altre parole, si assegna ad ogni classe di complessità una teoria logica , dove le dimostrabilmente totali funzioni sono esattamente le funzioni nella classe complessità . Uno sviluppo recente è un nuovo programma di ricerca chiamato "matematica inversa limitata" proposto da Stephen Cook e Phuong Nguyen, in cui l'obiettivo è classificare i teoremi (di interesse per l'informatica) sulla base della (minima) complessità computazionale dei concetti necessari per dimostrarli .V C V C CCVCVCC

Gli aspetti (i) e (ii) sono strettamente correlati alla nozione di traduzione proposizionale proposta nel documento di Cook del 1975 , che introduceva la teoria dell'equazione per le funzioni del poliltime e mostrava come i teoremi in possono essere tradotti in famiglie di tautologie che hanno prove di lunghezza polinomiali nel sistema di prova Frege esteso.P VPVPV

Per eccellenti sondaggi sulla complessità delle prove, raccomando i seguenti due libri:

Il libro di Cook e Nguyen è essenzialmente autonomo e tutto il necessario background logico è riportato nei Capitoli 2 e 3. Il Capitolo 9 è particolarmente interessante poiché gli autori hanno introdotto un metodo estremamente semplice per definire la tua teoria per qualsiasi classe di complessità all'interno di . In questo metodo, abbiamo solo bisogno di aggiungere un ulteriore assioma a una teoria di base , in cui l'assioma afferma semplicemente l'esistenza di una soluzione a un problema completo della classe di complessità. Piuttosto sorprendente!V 0PV0

Il libro di Krajíček è un po 'più impegnativo poiché ha presunto che i lettori abbiano già familiarità con la logica matematica e la teoria dei modelli (o che siano abbastanza disposti a imparare le basi necessarie lungo la strada). Ma imparerai molto leggendo e comprendendo questo libro.


32

Algoritmi randomizzati:

Probabilità e informatica: algoritmi randomizzati e analisi probabilistica di Michael Mitzenmacher ed Eli Upfal.

Ottimo libro per spiegare le basi degli algoritmi randomizzati. Gli esempi e le prove sono spiegati in modo molto chiaro e sono facili da seguire. Inoltre, gli esercizi sono molto divertenti da fare.

(risposta di Marcos Villagra)

Analisi di algoritmi randomizzati:

Chiunque lavori con algoritmi dovrebbe avere Concentrazione di misura per l'analisi di algoritmi randomizzati , che è disponibile anche per il download in formato PDF qui .


3
Questo libro è stato suggerito in un altro argomento (penso di Suresh). L'ho trovato eccellente. Grazie ad Aaron per averlo menzionato qui.
MS Dousti,

29

Crittografia:

Il libro in due volumi Foundations of Cryptography di Oded Goldreich ( Volume 1: Strumenti di base e Volume 2: Applicazioni di base ) è un eccellente libro sull'argomento. (Prime bozze disponibili dalla homepage dell'autore .) È disponibile anche una versione abbreviata di questo libro.

Un altro libro eccellente è Introduzione alla crittografia moderna: principi e protocolli di Katz & Lindell.

Per coloro che sono interessati agli sfondi matematici della crittografia, Introduzione alla crittografia matematica di Hoffstein et al. è la scelta naturale.

Altri libri eccellenti sono:


Argomenti specifici:


2
Dalla loro introduzione nel 1993, gli oracoli casuali sono stati ampiamente utilizzati in letteratura; specialmente negli schemi di firma. Non conosco un libro che copra adeguatamente quest'area. Suggerimenti sono ben accetti
MS Dousti,

1
Un libro sugli oracoli casuali sarebbe di grande aiuto. Non lavoro in criptovaluta, ma ho letto Katz / Lindell da cima a fondo. Il passaggio dal libro di testo alla letteratura crittografica è stato difficile a causa di questo motivo specifico. Inoltre, @Sadeq, per curiosità: qualcuno dei libri che hai letto ha una buona copertura del riavvolgimento?
Daniel Apon,

1
@Daniel: la tesi di Martin Gagné "A Study of the Random Oracle Model" (UC Davis, 2008) è un riferimento relativamente buono sugli oracoli casuali (anche se ancora lungi dall'essere completo). Per quanto riguarda la domanda sul "riavvolgimento": non conosco un libro a riguardo, ma penso di averlo capito completamente. Potresti per favore elaborare quale parte ti sembra problematica? Puoi anche chiederlo su un argomento separato.
MS Dousti,

@Sadeq, sono propenso a non iniziare una domanda indipendente al riguardo, perché equivarrebbe a poco più di "Aiuto, che cos'è il riavvolgimento?" :) La parte problematica è che il riavvolgimento non era nel libro di testo usato nel corso di crittografia che ho seguito (ad esempio Katz / Lindell), quindi non ho mai visto un'introduzione al concetto. Sono consapevole che si presenta regolarmente nella letteratura crittografica, ma come qualcuno non attivamente coinvolto nella ricerca crittografica, dubito che leggerò abbastanza documenti per ottenere una solida comprensione del riavvolgimento solo incontrandolo abbastanza. Forse potrei fare una domanda sulle origini del riavvolgimento ...
Daniel Apon,

3
@Daniel: L'introduzione del mio libro concomitante conoscenza zero spiega il riavvolgimento e le difficoltà da esso indotte nel contesto della composizione del protocollo. Altre fonti sono: (1) Oded Goldreich, Hugo Krawczyk: sulla composizione dei sistemi a prova di conoscenza zero. SIAM J. Comput. 25 (1): 169-192 (1996) e (2) Cynthia Dwork, Moni Naor, Amit Sahai: conoscenza zero simultanea. J. ACM 51 (6): 851-898 (2004).
Alon Rosen,

25

Programmazione Funzionale

  • Strutture di dati puramente funzionali di Chris Okasaki . La maggior parte dei libri sulle strutture di dati assume un linguaggio imperativo come C o C ++. Tuttavia, le strutture di dati per queste lingue non sempre si traducono bene in lingue funzionali. Questo libro è una delle migliori esposizioni sull'implementazione di strutture dati e algoritmi in un linguaggio funzionale.
  • Programmazione funzionale: pratica e teoria di Bruce J. Maclennan . Nonostante il suo nome, questo libro è più orientato alla teoria che alla pratica. Coloro che leggeranno questo libro avranno una visione molto migliore dell'argomento rispetto a coloro che lo imparano con la programmazione ad hoc.
  • Pearls of Functional Algorithm Design di Richard Bird . Una nuovissima esposizione sull'argomento, che adotta l'approccio della soluzione del problema e mostra la bellezza del campo esibendo idee interessanti nella progettazione di algoritmi funzionali.
  • Programmazione certificata con tipi dipendenti da Adam Chlipala . È una delle migliori risorse per l'apprendimento di Coq e si concentra in particolare su come automatizzare la certificazione dei programmi e la dimostrazione del teorema utilizzando sistemi basati su logica / regole. Gli esempi sono estesi e facili da seguire.

21

Algoritmi di approssimazione

Il libro Approximation Algorithms di Vazirani è il miglior libro sull'argomento. Un altro libro è Approssimation Algorithms for NP-Hard Problems di Hochbaum.

Ecco i confronti di due revisori:

Ho usato il libro di Dorit Hochbaum sugli algoritmi di approssimazione per problemi NP-Hard come guida per il mio lavoro. Il libro di Hochbaum è senza dubbio eccezionale. Tuttavia, il formato del sondaggio ha compromesso un flusso regolare a favore di riunire le migliori persone sul campo. Il libro di Vazirani lo corregge essendo così liscio ed elegante dall'inizio alla fine. Set di problemi eccellenti, suggerimenti eccellenti per la maggior parte dei problemi, e alla fine del libro c'è una sezione dedicata ai problemi aperti, che è una caratteristica davvero interessante.

e

Ho cercato libri relativi alla risoluzione di problemi NP-completi e NP-difficili all'incirca. C'è un altro libro di Hochbaum e anch'io ho questo. Sfortunatamente, quel libro è più un libro orientato alla ricerca in quanto è stato scritto da diversi ricercatori. È come leggere diversi articoli di ricerca in due copertine rigide. Ciò significa che bisogna avere una sorta di livello intermedio di esperienza con gli algoritmi di approssimazione.

Un libro recente è La progettazione di algoritmi di approssimazione di Williamson e Shmoys.


21

combinatorio

Libri introduttivi. Uno dei seguenti libri può essere un'ottima introduzione all'argomento:

Testi più avanzati.


21

combinatorio

Voglio citare Analitica Combinatoria , di Philippe Flajolet e Robert Sedgewick. Fornisce un solido background matematico per l'enumerazione e l'analisi degli algoritmi. Voglio anche rendere omaggio a Philippe Flajolet, che è morto due giorni fa ed era un grande matematico e scienziato informatico.


20

Verifica del programma


1
Alcuni dei libri (Manna e Apt et al.) Sono piuttosto datati (Manna è del 1977 e Apt et al. Del 1991), il campo della verifica dei programmi basati sulla logica ha registrato importanti progressi nell'ultimo decennio. Purtroppo, non è disponibile un testo aggiornato.
Martin Berger,

@MartinBerger Qualche suggerimento su dove si potrebbero apprendere questi importanti progressi, se non è presente nei libri di testo recenti?
Mitch,

@Mitch temo che non sia stato ancora scritto nei libri di testo. Forse dai un'occhiata ad alcune pubblicazioni sugli strumenti interattivi come Isabelle / HOL e Coq. Guarda anche i recenti strumenti di verifica automatica come "infer" di Facebook e la teoria alla base.
Martin Berger,

Huth & Ryan è molto adatto ai principianti. Per qualcuno che non ha molta familiarità con tutta la rigorosa matematica in CS è un buon inizio. È il primo libro che ho letto sul lato formale di CS e da allora mi ha appassionato! È anche il primo libro di testo che ho effettivamente finito tutte le letture.
RexYuan

19

Teoria dell'Informazione

Teoria dell'informazione, inferenza e algoritmi di apprendimento di David MacKay

Altri libri di testo famosi sulla teoria dell'informazione possono essere trovati su Wikipedia .


Il titolo è "Quali libri dovrebbero leggere tutti?", Quindi la raccomandazione dovrebbe essere selettiva. Chiunque può trovare un grande elenco di libri sulla "teoria dell'informazione" da Amazon / biblioteca, ma se hai solo 2-3 scelte, quali saranno? Dovresti solo raccomandare libri o articoli che hai letto con molta attenzione e ridotto ai tuoi preferiti assoluti!
Dai Le

1
@Dai Le: hai ragione. Penso che l'elenco dovrebbe essere ristretto. (Sono personalmente responsabile del gonfiamento dell'elenco!) Tuttavia, questo è un post wiki della community . Ho aggiunto una lunga lista che suggerisce quali sono i candidati. Taglia l'elenco per includere solo i libri più appropriati.
MS Dousti,

1
@Sadeq: temo raramente che una persona taglierà l'elenco di un'altra persona. Finché il post è ancora nella forma corrente, è completamente inutile rispetto allo scopo del post.
Dai Le

@Dai: hai ragione. Ma, dal momento che non sono un esperto di "teoria dell'informazione", non posso tagliare la lista da solo. Posso: 1) cancellare la lista che ho aggiunto del tutto (lasciando la lista originale), oppure 2) aggiungere un avviso nel testo per attirare l'attenzione di un esperto. Che cosa suggerisci?
MS Dousti,

@Sadeq: Neanche io lavoro sulla teoria dell'informazione, altrimenti aiuterei a tagliare la lista. So che il libro "Thomas M. Cover, Joy A. Thomas. Elementi di teoria dell'informazione" è raccomandato da molti tra cui Lance Fortnow. Ma non sono sicuro che tutti dovrebbero leggerlo o no. Penso che dovremmo rispettare il poster originale poiché il libro potrebbe essere il suo preferito. Quindi eliminare l'intera lista è una buona opzione. Mi scuso davvero per essere troppo semplice. Potresti anche chiedere alle persone di spiegare perché suggeriscono i loro libri?
Dai Le

19

Algoritmi distribuiti

Algoritmi distribuiti di Nancy Lynch Questo è un classico testo scritto da un pioniere del calcolo distribuito;

Introduzione agli algoritmi distribuiti di Gerard Tel Ottima introduzione, adatta anche a corsi di livello universitario; focalizzato sul modello di passaggio dei messaggi

Calcolo distribuito: fondamenti, simulazioni e argomenti avanzati di Hagit Attiya e Jennifer Welch Questo contiene materiali avanzati, adatti a corsi di dottorato; vengono discussi sia i modelli di passaggio messaggi che quelli di memoria condivisa

Progettazione e analisi di algoritmi distribuiti di Nicola Santoro Un libro relativamente recente, può essere utilizzato sia a livello universitario che a livello di dottorato; i materiali sono presentati con enfasi sul design del protocollo


19

Informatica quantistica

Altri due eccellenti libri introduttivi sull'argomento sono:



17

Complessità comunicativa:


Complessità comunicativa di Eyal Kushilevitz e Noam Nisan.

Questo è un libro classico e ben scritto. Anche se un po 'vecchio ormai, è ancora il miglior libro introduttivo sul campo. Inoltre, gli esercizi sono estremamente divertenti e vengono dati esattamente dopo aver spiegato i concetti in modo da poter correggere ciò che hai appena imparato.

La parte della complessità della comunicazione randomizzata dovrebbe essere integrata con parti del primo libro.


Complessità della comunicazione e calcolo parallelo di Juraj Hromkovič.

Molto completo, anche se a volte un po 'difficile da leggere. Le spiegazioni intuitive sono esercizi molto chiari e molto belli. Nella seconda parte presenta le connessioni al calcolo parallelo.


16

Un altro, ottimo per l'analisi booleana di Fourier (come suggerisce il titolo) e che copre sia le basi, gli argomenti più avanzati e (molte) applicazioni, è Analisi delle funzioni booleane , di Ryan O'Donnell (2014). È disponibile online gratuitamente anche qui .
Clemente C.

16

Algebra computazionale

Come ha detto Shiva in questa risposta , le letterature in questo campo sono sparse ovunque, senza terminologie comuni. Si possono trovare riferimenti utili cercando "calcolo simbolico", "teoria della complessità algebrica", "algebra del computer" o "algebra computazionale". Come suggerito nelle risposte a questa domanda ,

Analisi computazionale

Un campo interessante anche, che si occupa di calcoli in funzioni reali. Conosciuto anche come "analisi calcolabile" o "calcolo calcolabile".


16

combinatorio

La generatologia è di Herbert S. Wilf un'eccellente introduzione alla teoria della generazione di funzioni, scritta in modo fluido e ricca di esercizi. Se scrive tutti i suoi libri in questo modo, non vedo l'ora di iniziare con un altro.

La combinatoria enumerativa di Richard Stanley è un ottimo riferimento (avanzato).

Combinatoria: argomenti, tecniche, algoritmi di Peter Cameron e Invito alla matematica discreta di Matousek e Nesetril sono ottime introduzioni alla combinatoria.

La Combinatoria Applicata di Roberts e Tesman è un riferimento enciclopedico sulla combinatoria applicata.



14

3
Come si confronta con "Come risolverlo" di G. Polya? Penso di aver letto il consiglio che Polya è l'originale e molto meglio, ma non sono sicuro e non riesco a trovarlo negli interwebs;)
DaveBall aka user750378

2
"How to Solve It" (HTSI) di Polya affronta un argomento diverso rispetto al libro di Velleman. Polya è una sorta di ruminazione su come trovare soluzioni a problemi difficili, mentre Velleman è un libro di testo su come formalizzare soluzioni usando le convenzioni e il linguaggio della matematica. HTSI ha informazioni sulle prove, ma è presentato in una sorta di "glossario" senza struttura, mentre Velleman ti presenta un curriculum sistematico con esercizi. Vale la pena leggere entrambi, ma uno non sostituisce l'altro.
Nate CK,

13

Teoria dei numeri

Ho trovato numerosi libri citati frequentemente in molti articoli. Sono eccellenti in materia, ma alcuni sono piuttosto vecchi. Ecco un elenco di ciò che ricordo:


Cosa ne pensi del libro di Rosen o delle ristampe di Dover?
Segna C

@Mark: anche loro sono bravi. Perché non modificare il post e aggiungere anche quei libri?
MS Dousti,



11

Teoria dei grafi

Per l'introduzione alla teoria dei grafi: Introduzione alla teoria dei grafi di West

Maggiori informazioni sulla teoria dei grafi: Graph Theory di Bondy e Murty

Il libro completo che contiene nuovi sviluppi e vecchi risultati classici nella teoria dei grafi:

Teoria dei grafi: Reinhard Diestel .

Per grafici su superfici con approccio combinatorio:

Grafici su superfici

E per digrafi:

Digraphs: Theory, Algorithms and Applications


1
C'è anche The Theory of Graphs di Claude Berge, uno dei fondatori della teoria dei grafi. E grafici e algoritmi di Michel Minoux e Michel Gondran.
Lamine,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.