Où en savoir plus sur ce qu'est l'informatique théorique?


15

Je suis un étudiant diplômé en mathématiques, et l'informatique théorique est un domaine dont je n'ai jamais compris de quoi il s'agit parce que je n'ai pas pu trouver une bonne lecture sur le sujet. Je veux savoir de quoi il s'agit réellement dans ce domaine, de quel type de sujets il s'agit, quelles conditions préalables sont nécessaires pour s'y lancer, etc. Pour l'instant, je veux juste savoir:

Qu'est-ce qu'un bon livre d'introduction à l'informatique théorique?

Étant donné qu'il existe une telle chose. Sinon, par où commencer un mathématicien qui a des connaissances de base en informatique (c'est-à-dire qu'il connaît les bases d'un ou deux langages de programmation) s'il veut comprendre de quoi parle l'informatique théorique? Que recommandez-vous?

Merci!


1
Grande question. Je suis vraiment perdu. Le CS théorique est tellement vaste et diversifié, je doute que quiconque ait tenté de tout étudier en un seul endroit. Il existe des livres d'introduction, tels que "Theory of Computation" de Sipser ou "Algorithms" de Dasgupta, Papadimitriou et Vazirani. Mais ce sont comme des préalables de premier cycle et ne donneront pas une idée de ce qu'est actuellement le TCS "..."
usul

6
La question est beaucoup trop large. On pourrait alors également se demander: "Où en savoir plus sur ce qu'est la mathématique?". Il faut donc se pencher sur les domaines du TCS qui sont proches des mathématiques, comme la théorie de la complexité, la cryptographie, l'approximation. Disons que la complexité des circuits n'est qu'une partie de la combinatoire extrême. Le livre de Sipser est en effet génial: c'est une vue de mathématiciens au TCS (une petite partie, il va sans dire); Sipser lui-même est en fait un mathématicien.
Stasys

2
Le texte à venir d'Avi Wigderson est une excellente ressource: math.ias.edu/avi/book
András Salamon

Réponses:


29

Premièrement, «l'informatique théorique» signifie différentes choses pour différentes personnes. Je pense que pour la plupart des utilisateurs de ce site, une caricature historique (qui reflète certaines tendances sociologiques modernes) est qu'il y a "Théorie A" et "Théorie B" (sans relation d'ordre implicite entre eux): La Théorie A se compose de la théorie de algorithmes, théorie de la complexité, cryptographie et similaires. La théorie B se compose de choses comme la théorie des langages de programmation, la théorie des automates, etc. Selon vos goûts en mathématiques, vous pouvez préférer l'une à l'autre (ou les deux également). Je connais mieux la "Théorie A", alors laissez-moi vous donner quelques références:

  • Commencez avec le livre de Sipser. Cela vous donnera une bonne introduction aux automates, aux machines de Turing, à la calculabilité, à la complexité de Kolmogorov, au P vs NP et à quelques autres classes de complexité. Il est très bien écrit (à mon avis, c'est l'un des meilleurs livres techniques jamais écrits )

  • Pour les algorithmes, j'ai une légère préférence pour Kleinberg-Tardos, mais il existe de nombreux bons livres d'introduction. Vous pourriez être particulièrement intéressé par la géométrie informatique, qui a son propre ensemble de grands livres.

  • Étant donné que vous êtes un étudiant diplômé en mathématiques, une branche majeure du TCS qui manque dans ces livres est la théorie de la complexité algébrique , qui est souvent étroitement liée à l'algèbre (commutative et non commutative), à ​​la théorie de la représentation, à la théorie des groupes et à la géométrie algébrique. . Il y a un texte canonique ici, qui est Burgisser-Clausen-Shokrollahi. C'est un peu encyclopédique, donc ce n'est peut-être pas la meilleure introduction, mais je ne suis pas sûr qu'il y ait vraiment un livre d'introduction dans ce domaine. Vous pouvez également consulter les enquêtes de Chen-Kayal-Wigderson et Shiplka-Yehudayoff.

Après cela, je vous suggère de parcourir des livres plus avancés sur des sujets particuliers, selon votre goût mathématique:

  • Arora-Barak est une théorie de la complexité plus moderne (continue sur la fin du livre de Sipser, pour ainsi dire), vous donnant un aperçu des techniques impliquées (mélange de combinatoire et d'algèbre, principalement)

  • Le livre de Jukna sur la complexité de la fonction booléenne fait de même, mais plus en profondeur pour la complexité du circuit booléen en particulier (très combinatoire en saveur)

  • Théorie de la complexité géométrique. Voir ici ou l'introduction de Landsberg pour les géomètres .

  • Le livre d'O'Donnell, Analysis of Boolean Functions, a un penchant plus analytique de Fourier.

  • Cryptographie. Les aspects mathématiques les plus avancés ici sont généralement la théorie des nombres et la géométrie algébrique. Bien que ces aspects mathématiques purs ne représentent qu'une petite partie de la cryptographie, ils sont importants et pourraient vous intéresser. N'étant pas ma région, je ne suis pas sûr de ce qu'est un bon livre de départ ici.

  • Théorie du codage. Ici, la théorie mathématique va de l'emballage de sphères (voir le livre de Conway et Sloane) à la géométrie algébrique (par exemple, le livre de Stichtenoth). Encore une fois, pas mon domaine, donc je ne suis pas sûr que ce soient les meilleurs points de départ, mais en les feuilletant, vous obtiendrez rapidement la saveur et déciderez si vous voulez approfondir.

Et puis il y a beaucoup d'autres sujets mathématiques qui n'apparaissent que dans la littérature de recherche, comme les connexions avec les mousses, la théorie des graphes, les algèbres C * (permettez-moi de vous indiquer la conjecture de Kadison-Singer ), la théorie invariante, la théorie des représentations, les quadratures, et ainsi de suite. Voir aussi ces questions connexes


2
Un bon livre de départ pour la cryptographie est Introduction à la cryptographie moderne par Katz-Lindell: cs.umd.edu/~jkatz/imc.html - Une option alternative (plus ancienne) est Foundations of Cryptography par Goldreich: wisdom.weizmann.ac.il /~oded/foc-book.html
Daniel Apon

4

La nature du calcul par Cristopher Moore et Stephan Mertens.


J'adore ce livre - je ne recommande pas dans ma réponse la plupart du temps sur toute sa longueur, même si bien sûr on peut toujours choisir les chapitres à lire.
Joshua Grochow
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.