Eu sou um estudante de graduação em matemática, e a ciência da computação teórica é um domínio que eu nunca entendi do que se trata, porque não consegui encontrar uma boa leitura sobre o assunto. Quero saber sobre o que realmente é esse domínio, que tipo de tópicos ele está preocupado, que pré-requisitos são necessários para entrar nele etc. Por enquanto, eu só quero saber:
O que é um bom livro introdutório à ciência da computação teórica?
Dado que existe isso. Se não, onde deve começar um matemático que tenha conhecimentos básicos de ciência da computação (isto é, que eles conhecem o básico de uma ou duas linguagens de programação) se quiser entender o que é a ciência da computação teórica? O que você recomenda?
obrigado!
Respostas:
Primeiro, "ciência da computação teórica" significa coisas diferentes para pessoas diferentes. Penso que para a maioria dos usuários deste site, uma caricatura histórica (que reflete algumas tendências sociológicas modernas) é que existe "Teoria A" e "Teoria B" (sem relação implícita de ordem entre eles): A Teoria A consiste na teoria de algoritmos, teoria da complexidade, criptografia e similares. A teoria B consiste em coisas como a teoria das linguagens de programação, a teoria dos autômatos, etc. Dependendo do seu gosto em matemática, você pode preferir um sobre o outro (ou gostar de ambos igualmente). Eu estou mais familiarizado com a "Teoria A", então deixe-me dar algumas referências lá:
Comece com o livro de Sipser. Isso fornecerá uma boa introdução aos autômatos, máquinas de Turing, computabilidade, complexidade de Kolmogorov, P vs NP e algumas outras classes de complexidade. É muito bem escrito (na minha opinião, é um dos livros técnicos mais bem escritos de todos os tempos )
Para algoritmos, tenho uma preferência leve por Kleinberg-Tardos, mas há muitos bons livros introdutórios por aí. Você pode estar especialmente interessado em geometria computacional, que possui seu próprio conjunto de ótimos livros.
Dado que você é um estudante de graduação em matemática, um dos principais ramos do TCS que está faltando nesses livros é a teoria da complexidade algébrica , que geralmente está intimamente relacionada à álgebra (comutativa e não comutativa), teoria da representação, teoria de grupos e geometria algébrica. . Há um texto canônico aqui, que é Burgisser-Clausen-Shokrollahi. É um pouco enciclopédico, por isso pode não ser a melhor introdução, mas eu não tenho certeza que é um livro muito introdutório nesta área. Você também pode conferir as pesquisas de Chen-Kayal-Wigderson e Shiplka-Yehudayoff.
Depois disso, sugiro navegar por livros mais avançados sobre tópicos específicos, dependendo do seu gosto matemático:
Arora-Barak é a teoria da complexidade mais moderna (continua onde o livro de Sipser termina, por assim dizer), oferecendo uma amostra das técnicas envolvidas (mistura de combinatória e álgebra, principalmente)
O livro de Jukna sobre a complexidade da função booleana é semelhante, mas mais aprofundado para a complexidade do circuito booleano, em particular (sabor muito combinatório)
Teoria da complexidade geométrica. Veja aqui ou a introdução de Landsberg para geômetros .
O livro de O'Donnell, Analysis of Boolean Functions, apresenta uma tendência mais analítica de Fourier.
Criptografia. Os aspectos matemáticos mais avançados aqui são tipicamente teoria dos números e geometria algébrica. Embora esses aspectos matemáticos puros representem apenas uma pequena parte da criptografia, eles são importantes que você pode achar interessante. Não sendo minha área, não tenho certeza do que é um bom livro inicial.
Teoria da codificação. Aqui, a teoria matemática varia do empacotamento da esfera (veja o livro de Conway e Sloane) à geometria algébrica (por exemplo, o livro de Stichtenoth). Novamente, não é a minha área, então não tenho certeza se esses são os melhores pontos de partida, mas, folheando-os, você obterá rapidamente o sabor e decidirá se deseja se aprofundar mais.
E existem muitos outros tópicos matemáticos que aparecem apenas na literatura de pesquisa, como conexões com espumas, teoria dos grafos, álgebras C * (deixe-me apenas apontar para a conjectura de Kadison-Singer ), teoria invariante, teoria das representações, quadraturas, e assim por diante. Veja também estas perguntas relacionadas
fonte
A natureza da computação de Cristopher Moore e Stephan Mertens.
fonte