¿Qué documentos deberían leer todos?


454

Esta pregunta es (inspirada por) / (vergonzosamente robada) una pregunta similar en MathOverflow , pero espero que las respuestas aquí sean bastante diferentes.

Todos tenemos trabajos favoritos en nuestras propias áreas teóricas. De vez en cuando, uno encuentra un papel tan sorprendente (por ejemplo, importante, convincente, aparentemente simple, etc.) que uno quiere compartirlo con todos. ¡Así que enumere estos documentos aquí! No tienen que ser de informática teórica: cualquier cosa que creas que podría atraer a la comunidad es una buena respuesta.

Puedes dar tantas respuestas como quieras; ¡por favor ponga un papel por respuesta ! Además, tenga en cuenta que esto es wiki comunitario, ¡así que vote por todo lo que quiera!

(Tenga en cuenta que ha habido una pregunta previa sobre artículos en complejidad teórica de recursión pero que es bastante especializada).


65
En las respuestas, me gustaría ver más énfasis en si realmente es una buena idea leer el documento original hoy en día (o si tiene mucho más sentido leer una exposición moderna de un libro de texto). Con demasiada frecuencia he visto documentos de TCS que son verdaderamente seminales, pero prefiero salvar a mis colegas del dolor de tratar de descifrar la redacción original, que con demasiada frecuencia es un resumen de conferencia de 10 páginas escrito con prisa, con referencias a una "versión completa" que nunca apareció ...
Jukka Suomela

77
Sí, espero que esté claro que los documentos de este tipo no son buenos para la lista (si quieres compartirlo con todos, entonces no debería ser un dolor de leer)
Ryan Williams

30
Demasiadas personas solo publican frases. Cualquiera puede publicar cientos de documentos únicos sin pensarlo. Publique por qué cree que todos deberían leer esos documentos. Esto significa justificar por qué deberían leer ese documento en lugar de la escritura de otra persona de ese resultado , y qué es tan asombroso sobre el documento que todos deberían leerlo.
Robin Kothari

Buena pregunta. Mi opinión es que si quieres entender las mentes de los inventores, y posiblemente entender cómo inventar cosas, tienes que leer sus propias palabras. Cuanto más trabajas, más te acercas a su proceso de pensamiento real.
ixtmixilix

Respuestas:



145

El artículo de 1936 que posiblemente inició la informática en sí:

  • Alan Turing, "Sobre números computables, con una aplicación al problema Entscheidungs", Actas de la London Mathematical Society s2-42, 230–265, 1937. doi: 10.1112 / plms / s2-42.1.230

En solo 36 páginas, Turing formula (pero no nombra) la Máquina de Turing, reformula el famoso Primer teorema de incompletitud de Gödel en términos de computación, describe el concepto de universalidad y en el apéndice muestra que la computabilidad de las máquinas de Turing es equivalente a la computabilidad de funciones definibles (según lo estudiado por Church y Kleene).λ


77
También es muy accesible y legible ...
Sariel Har-Peled

25
y con él The Annotated Turing por Charles Petzold [Muy recomendado]
Pratik Deoghare


123

" Reflexiones sobre la confianza en la confianza " de Ken Thompson . Corto, dulce y alucinante.


55
Además, muy accesible. Lo leí hace bastante tiempo, cuando básicamente no tenía experiencia en CS, no tenía experiencia en programación y ni siquiera sabía qué era un compilador.
Jörg W Mittag el

1
"La semana pasada, el Googler Ken Thompson recibió el Premio Japón en Información y Comunicaciones por sus primeros trabajos en el sistema operativo UNIX". (src: publicación de Buzz de la vida humana en Google)
Sebastián Grignoli

44
Creo que este artículo sería bastante difícil de digerir sin al menos saber qué es un compilador.
Fixee

2
En el documento, creo que las figuras 2.1 y 2.2 se intercambian.
Dennis

1
No estoy de acuerdo: nada impresionante o alucinante en este documento. TL; DR 6 páginas de mediados de los 80 sobre "la necesidad de cambiar el código penal para comenzar a castigar a los piratas informáticos [como ladrones o ladrones]". Oh sí, menciona un quine , sin llamarlo por su nombre.
c69

94

Lo que todo informático debe saber sobre la aritmética de coma flotante

Este artículo explica y refuerza la noción de que el punto flotante no es mágico. Explica el desbordamiento, el subflujo, qué son los números desnormalizados, qué son los NaN, qué es inf y todas las cosas que implican. Después de leer este documento, sabrá por qué a == a + 1.0 puede ser verdadero, por qué a == a puede ser falso, por qué ejecutar su código en dos máquinas diferentes puede darle dos respuestas diferentes, por qué sumar números en una diferente el orden puede darle un orden de diferencia de magnitud y todas las cosas extrañas que suceden en el mundo de mapear un conjunto infinitamente infinito de números en un conjunto finito contable.

Una versión editada también está disponible en la web.


3
Por favor, arregle el enlace. Esta roto.
Oscar Mederos

1
Desde que Oracle adquirió Sun, arruinó la mayoría de los enlaces de la página web de Sun. Aunque puede llegar al documento original desde aquí .
systemfault


1
Se corrigió el enlace roto.
Ryan

85

Cómo leer un periódico de Keshav . También puede descargar el documento desde aquí .


Buena lectura de hecho.
Anthony Labarre

Siempre pienso que los trabajos de investigación de CS están escritos en algún idioma extranjero.
Berlin Brown,

3
¡Muy bien! Vale la pena ponerlo en el lema del sitio para asegurarse de que ningún estudiante se lo pierda.
Vag

El segundo enlace está roto actualmente
Christopher Manning

2
Este es mi favorito de la lista. También tenga en cuenta que este es un documento vivo, a diferencia de la mayoría de los documentos que no reciben actualizaciones después de su publicación.
Dennis

67

Caminos, árboles y flores de J. Edmonds. Este artículo sobre el problema clásico de optimización combinatoria no solo está bien escrito, sino que también establece que la noción de "algoritmos de tiempo polinomial" es esencialmente un sinónimo de eficiencia.


61

Reducibilidad entre problemas combinatorios por Richard Karp. El documento contiene lo que a menudo se conoce como "los 21 problemas originales de NP completos" de Karp. En muchos sentidos, este documento realmente motivó el estudio de la integridad de NP al demostrar su aplicabilidad a un dominio más amplio. Muy legible


66
Me gusta este artículo, pero algunas de las reducciones son realmente incompletas y difíciles de seguir. Vea cualquier texto de complejidad para más detalles.
András Salamon

2
@Andras Salamon Estoy de acuerdo al 100%.
Tayfun Pay

52

Hartmanis y Stearns, "Sobre la complejidad computacional de los algoritmos" , Transactions of the American Mathematical Society 117: 285–306 (1965)

Este fue el primer artículo que tomó en serio el estudio de la complejidad del tiempo, y seguramente fue el impulso principal para el premio Turing conjunto de Hartmanis y Stearns. Si bien sus definiciones iniciales no son exactamente lo que usamos hoy, el documento sigue siendo extremadamente legible. Realmente tienes la sensación de cómo eran las cosas en la antigua frontera del "Salvaje Oeste" de los años 60.



51

Computadoras Mecánicas Cuánticas (PDF) por Richard Feynman.

Presenta la idea de la computación cuántica, describe los circuitos cuánticos, explica cómo los circuitos clásicos pueden ser simulados por los circuitos cuánticos, y muestra cómo los circuitos cuánticos pueden calcular funciones sin muchos qubits de basura (usando la computación).

Luego muestra cómo cualquier circuito clásico puede codificarse en un Hamiltoniano independiente del tiempo. Su prueba también se aplica a los circuitos cuánticos, por lo tanto, muestra que los Hamiltonianos en evolución en el tiempo son difíciles de BQP. Su construcción hamiltoniana también se utiliza en la prueba de la versión cuántica del teorema de Cook-Levin, probada por Kitaev, que muestra que el hamiltoniano k-local es QMA completo.


El enlace no es válido. ¿Tienes otra fuente? editar> Buscado en google: wjzeng.net/Ref/Feynman_QuantumMechanicalComputers.pdf ¿Es este?
Klaim

Ese es. Agregué un nuevo enlace y un enlace a su página en el sitio web del editor.
Robin Kothari

¿Existieron las nociones de BQP y QMA cuando Feynman escribió este artículo? ¿O hay un documento reciente que dibuja esta conexión? ¿Alguna referencia / exposición de este hecho de que k-local hamiltoniano es QMA completo?
Anirbit

48

Gráficos expansores y sus aplicaciones, S. Hoory, N. Linial y A. Wigderson es una encuesta extremadamente agradable sobre gráficos expansores. No sorprende que haya ganado el Premio AMS Conant 2008.

Quiero recordar que los gráficos de expansión son el ingrediente clave en los avances recientes en TCS, por ejemplo.

y no tan reciente:


1
Debe estar atento a los preacondicionadores combinatorios o de apoyo. Los gráficos expansores incluso se usan en el análisis numérico actual.
shuhalo


44

Me sorprende que a nadie se le ocurran los "Algunos resultados óptimos de inaproximabilidad" de Hastad (JACM 2001; originalmente STOC 1997). Este documento histórico se ha escrito tan bien que puede llegar a él con poco más que madurez matemática y le hará querer aprender varias cosas bien, como sus técnicas de Fourier, repetición paralela, dispositivos y demás.


44

O((logN)3)O(exp((649b)13(logb)23))


42

La Teoría de lo aprendible de Les Valiant (1984) estableció la agenda de la teoría del aprendizaje durante décadas, ¡y es un documento agradable y legible!

También hay una explicación bastante intuitiva en el documento que lo hace divertido y convincente. Varias partes de este documento todavía se citan habitualmente en las conversaciones COLT / ALT.




37

La complejidad de los procedimientos de prueba de teoremas de Stephen A. Cook. Este artículo demuestra que todos los lenguajes decididos por las máquinas de Turing no deterministas de polytime pueden reducirse (Cook-) al conjunto de tautologías proposicionales.

La importancia de este resultado es (al menos) doble: primero, muestra que existen problemas en NP que son al menos tan difíciles como toda la clase, los problemas completos de NP ; Además, proporciona un ejemplo concreto de tal problema, que luego puede reducirse a otros para demostrar que están completos.

Hoy en día, las reducciones de Karp se usan más comúnmente que las reducciones de Cook, pero la prueba principal de este documento se puede adaptar fácilmente para mostrar que SAT es NP- completo con respecto a las reducciones de Karp.


77
Este es uno de esos documentos de conferencia para el que nunca apareció una versión de revista, pero definitivamente vale la pena volver a este: bien escrito y lleno de excelentes comentarios secundarios.
András Salamon


36

CAR Hoare, una base axiomática para la programación de computadoras .

Del resumen: en este artículo se intenta explorar los fundamentos lógicos de la programación de computadoras mediante el uso de técnicas que se aplicaron primero en el estudio de la geometría y luego se extendieron a otras ramas de las matemáticas.

Tiene seis páginas que son bastante fáciles de seguir.


34

Alon, Matias y Szegedy, La complejidad espacial de aproximar los momentos de frecuencia , JCSS 58 (1): 137-147, 1999.

Este papel bastante mágico fue el primero en formalizar algoritmos de transmisión y probar rigurosos límites superiores e inferiores para tareas fundamentales en el modelo de transmisión. Sus técnicas son simples, sus pruebas son hermosas y su impacto ha sido profundo. El trabajo le valió a Alon, Matias y Szegedy el Premio Gödel en 2005.


Dang. Iba a agregar este :)
Suresh Venkat

30

El artículo de Immerman que prueba el teorema ahora conocido como el teorema Immerman-Szelepcsényi, es un gran ejemplo de papel fácil de leer, inteligente y corto. Me encanta la historia contada en la introducción.

N. Immerman, El espacio no determinista está cerrado bajo complementación, SIAM Journal on Computing 17, 1988, pp. 935–938.


1
Para ser justos, el artículo de Szelepcsényi, "El método de enumeración forzada para autómatas no deterministas", es igual de bueno.
Lev Reyzin


27

Russell Impagliazzo's A Personal View of Average-Case Complexity . Este es un gran trabajo porque está escrito de manera inteligente y resume el estado de cosas en cinco "mundos" donde nuestras conjeturas sobre la complejidad se resuelven de varias maneras, dando consecuencias en el mundo real en cada caso.



24

Extractores y generadores pseudoaleatorios de Luca Trevisan. En este documento, el buen extractor de aleatoriedad se construye mediante códigos de corrección de errores y diseños combinatorios. La construcción es bastante fácil de entender, pero es completamente sorprendente, porque no es obvio en absoluto cuál es la conexión entre extractores, códigos y diseños.

Después de todo, es un buen ejemplo de un resultado en TCS que requiere algunos combinatorios sofisticados.


24

Cómo escribir una prueba , por Leslie Lamport.


55
Leí esto y leí El lamento de un matemático de Lockhart ( maa.org/devlin/LockhartsLament.pdf ). En mi humilde opinión, creo que la estrategia que sugiere Lamport va en contra de lo que argumenta Lockhart sobre la belleza de las matemáticas.
Marcos Villagra

55
Muy interesante lectura. Entiendo su opinión, pero si no me equivoco, Lamport dirige su mensaje a las personas que tienen una "educación matemática" mayor que las que apunta Lockhart, que tiene como objetivo ayudar a los estudiantes a desarrollar el gusto por las matemáticas. También admitiré que seguir un formato estricto hace que las pruebas sean bastante aburridas de leer, pero estoy de acuerdo con Lamport en la idea de las pruebas por niveles: no siempre quieres / necesitas / tienes tiempo para leer todo en detalle, e incluso cuando hacer, tener un resumen de lo que vendrá puede ser muy útil. Mucho más que esos "fáciles de ver / claramente / wlog / ..." ;-)
Anthony Labarre


19

Si puedo citar a Sarah Palin sobre este tema: "Todos ellos".

Más en serio, creo que la mayoría de los documentos no deberían leerse en el original. A medida que pasa el tiempo, la gente descubre una mejor manera de entender y presentar el problema / solución original. Excepto por el documento original de Turing, que es de importancia histórica, no recomendaría leer la mayoría de los documentos originales si hay un trabajo de seguimiento que lo haya limpiado. En particular, muchas cosas se presentan mucho mejor en los libros que en el original.


16
Este comentario es cierto en general, pero Ryan solicita explícitamente ejemplos para los que esto no es cierto. Hay muchos documentos clásicos que contienen conjeturas aún no probadas, técnicas que se han pasado por alto o resultados que tienden a ser olvidados pero que podrían desempolvarse y ponerse en nuevos usos.
András Salamon

12
Estoy en desacuerdo. Es cierto que los documentos originales a veces son ilegibles y los trabajos secundarios dan una mejor exposición de los resultados, pero a veces los documentos originales contienen ideas que se omiten en trabajos posteriores. También leer artículos originales puede enseñarnos cómo se le ocurrió la idea al autor. Echa un vistazo a esta publicación de Timothy Chow en MO: mathoverflow.net/questions/28268/do-you-read-the-masters
Kaveh

44
Es genial cuando esto sucede. Simplemente afirmo que es algo raro.
Sariel Har-Peled

66
Dices "Todos ellos", pero ¿entonces no discutes por "Ninguno de ellos"?
Peter Taylor

2
@ Peter Taylor, creo que por eso se menciona a Sarah. :)
Radu GRIGore

18

Chomsky analiza cómo los modelos matemáticos pueden usarse para describir el lenguaje natural, desde un punto de vista lingüístico.


3
Por cierto, no estoy abogando por este documento, solo editado para corregir errores tipográficos y agregar un enlace. Prefiero el artículo de Gold si uno quiere un artículo clásico sobre el lenguaje.
András Salamon

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.