Recursos para matemáticos que esperan aprender más informática

14

Antecedentes :

Estoy llegando al final de mi maestría en matemáticas y comenzaré un doctorado en lógica en agosto. Mientras más lógica estudio, más informática teórica estoy expuesta, por ejemplo, teoría de la recursión, cálculo lambda, pero el CS subyacente está debajo de la alfombra. Mis principales áreas de interés, la teoría de conjuntos y la teoría de categorías, también tienen aplicaciones en informática, pero hasta ahora solo las he estudiado desde el punto de vista de las matemáticas puras.

Problema:

Mi falta de experiencia en informática a veces hace que sea difícil ver la motivación o la intuición detrás de lo que está sucediendo o cómo se podría aplicar. Me las arreglo, pero siento que sería más saludable diversificarse un poco ... se me ocurre que, en beneficio de mi investigación futura, debería aprender algo de informática.

La mayoría de los libros de CS que he visto no han sido muy adecuados para mis propósitos, ya que son demasiado básicos y poco técnicos, o presuponen el tipo de antecedentes de CS que no tengo. Parecen estar dirigidos a personas que saben bastante de informática pero que tienen pocos conocimientos matemáticos: mi situación es todo lo contrario.

Pregunta:

¿Qué libros u otros recursos hay que podrían ayudar a un matemático convertido en lógico en su objetivo de obtener un conocimiento práctico de la informática (teórica)?

Estoy buscando algo más saludable que unas pocas charlas en seminarios y más en profundidad que The New Turing Omnibus , pero no tengo el tiempo ni los recursos para hacer otro título universitario. (Puede ser que estoy pidiendo algo que no existe).

Lo siento si la pregunta es demasiado vaga o mal planteada. Sentí que era más adecuado aquí que en MSE, pero estaré encantado de migrarlo si es necesario.

Clive Newstead
fuente
2
La informática teórica tiene mucho más sentido si uno es un buen programador, o al menos razonable, porque, en cierto sentido, todo (la mayoría) de TCS es una formalización (y simplificación) de lo que hacen los programadores que trabajan. Teníamos un hilo sobre asuntos relacionados
Martin Berger
1
esto fue respondido en matemática informática para matemáticos, pero tal vez haya espacio para una versión
TCS.se
2
Para la computabilidad y la teoría de la complejidad básica, ¿qué tal la Introducción de Sipser a la Teoría de la Computación? Me sorprende que no haya encontrado libros orientados matemáticamente, porque hay muchos de ellos. Por ejemplo, Arora y Barak y Goldreich tienen libros recientes de teoría de la complejidad disponibles en línea, y estoy seguro de que hay muchos libros de teoría matemática track-b por ahí.
Sasho Nikolov
2
La informática es bastante grande; puedes reducirlo? Parece que está interesado principalmente en la computabilidad, la teoría de tipos / lenguajes de programación y quizás la teoría de la complejidad; suena bien?
usul
Puede encontrar el Manual de lógica en informática útil como referencia.
Radu GRIGore

Respuestas:

11

Básicamente, está solicitando recursos que le permitan convertir su conocimiento existente de lógica, teoría de la recursión y teoría de la categoría en conocimiento sobre informática teórica. Sugeriría mirar la teoría de la realizabilidad, especialmente a través de sus conexiones con la teoría de topos y la teoría de prueba categórica .

Aquí hay un puñado de sugerencias; Mi consejo es elegir uno y profundizar. Con la excepción del libro de Taylor (que explica esto), mis sugerencias asumen que has estado expuesto a suficiente cálculo lambda y teoría de categorías para haber visto interpretaciones categóricas del cálculo lambda de tipo simple.

  • El libro de Paul Taylor Fundamentos prácticos de las matemáticas

    En mi opinión, esta es probablemente la mejor introducción técnica a la relación entre lógica, teoría de categorías y computación. Casi no supone requisitos previos, pero se mete en aguas bastante profundas muy rápidamente y seguramente gravará (y mejorará) su madurez matemática.

  • Notas de Wesley Phoa Introducción a las fibras, teoría de topos, topos efectivos y conjuntos modestos

    Estas son algunas notas de clase que Wesley Phoa escribió. Si es categóricamente fluido, estas notas ofrecen un camino realmente rápido para comprender algunas de las construcciones más importantes en la realizabilidad y la teoría de topos (es decir, la construcción de topos efectivos).

  • Libro de Bart Jacobs Lógica categórica y teoría de tipos

    Esta es una de las referencias definitivas sobre la semántica categórica de la teoría de tipos. También es muy grande.

Al mismo tiempo que está leyendo uno de estos libros, le aconsejo que descargue y aprenda a usar el lenguaje de programación Agda . Este lenguaje implementa las sofisticadas teorías de tipos descritas anteriormente, y en mi opinión, es increíblemente útil ver cómo las construcciones semánticas, a menudo bastante sutiles, se liquidan en la teoría de tipos.

Andrej Bauer probablemente pueda darte mejores consejos. Quizás pueda ser persuadido para publicar. :)

Neel Krishnaswami
fuente
4

Los dos libros que vienen a la mente son

Introducción a la teoría de la computación por Sipser

y

Introducción a los algoritmos por Cormen et al.

Estoy de acuerdo con usul, quien dijo que la informática teórica es un área amplia y que podríamos darle mejores referencias si fuera más específico sobre lo que quiere aprender.

Kevin A. Wortman
fuente
1
No recomendaría la introducción detallada a los algoritmos . Si uno desea ser introducido con las técnicas algorítmicas básicas, recomendaría uno de los Algoritmos de Dasgupta, Papadimitriou y Vazirani, el Diseño de Algoritmo de Kleinberg y Tardos, o El Diseño y Análisis de Algoritmos de Kozen. Introducción a la teoría de la computación por Sipser es obviamente una gran elección. También agregaría un libro sobre Complejidad Computacional (encuentro que los de Papdimitriou, Arora y Barak y Goldreich son excelentes).
Bruno
1
Mi preferencia personal es la Teoría de la Computación de Kozen (de estilo bastante matemático, y con una mayor cobertura de lógica y computabilidad) sobre Sipser (que tiene un estilo mucho más cercano a un libro de informática aplicada).
András Salamon