¿Cuáles son los mejores trabajos académicos en informática? ¿Por qué?

Algunos para computación cuántica:

  • Teorema de Solovay-Kitaev (алгоритмы и исправление ошибок ”, УМН, 52: 6 (318) (1997), 53-112 y [quant-ph / 0505030] El algoritmo Solovay-Kitaev) Esto es muy importante para la computación cuántica. Muestra que la complejidad de espacio y tiempo de “compilar” un circuito cuántico arbitrario en un “conjunto de instrucciones” de compuertas cuánticas (básicamente, una colección de compuertas cuánticas tolerantes a fallas prácticamente implementables) es polilogarítmica. Si no fuera así, significaría que perderíamos parte de la mejora de la eficiencia que nos proporcionan los algoritmos cuánticos (en algunos casos, por ejemplo, la búsqueda de Grover, lo negaría por completo o, lo que es peor). Una explicación más profunda: la respuesta de Hadayat Seddiqi a ¿Qué teoremas matemáticos tienen los usos prácticos más importantes de la vida real? (El enlace ruso es donde creo que se especificó originalmente ya que no puedo encontrar ninguna fuente en inglés al respecto, pero el segundo enlace es una revisión de Michael Nielsen que lo explica en términos algorítmicos)
  • Algoritmo de tiempo polinómico para la factorización prima y los logaritmos discretos en una computadora cuántica) Algoritmo de Shor ([quant-ph / 9508027]) Algoritmo de factorización prima de tiempo polinomial que inició la investigación en computación cuántica en la década de 1990. La mayoría de las personas saben sobre esto si saben sobre el control de calidad.
  • Corrección de errores cuánticos (http://www-math.mit.edu/~shor/pa…) Este no es el primer o único documento importante sobre esto, pero es más largo y expone algunas ideas que estaban sucediendo alrededor de ese tiempo Creo que el primer documento sobre corrección de errores también fue de Shor (http://www-math.mit.edu/~shor/pa…). Obviamente, la corrección de errores es clave para hacer cualquier tipo de cálculo, cuántico o clásico (si no puede enviar información de manera confiable, sus cálculos podrían volverse inútiles (por ejemplo, en simulación física)).
  • Cálculo cuántico topológico ([quant-ph / 9707021] Cálculo cuántico tolerante a fallas por cualquiera) Esta podría ser una de las mejores ideas en todo el campo. El control de calidad topológico muestra una manera de hacer cálculos de manera práctica para proteger los qubits de la decoherencia mediante la explotación de las propiedades topológicas de ciertos materiales que exhiben propiedades cuánticas exóticas (efecto Hall cuántico fraccional, para el lector interesado). Sin embargo, los materiales que exhiben esas propiedades exactas no se han encontrado experimentalmente.
  • Algoritmo adiabático ([quant-ph / 0001106] Computación cuántica por evolución adiabática) Este no fue el primer artículo en introducir la idea, pero fue el primero en aclararla y sentó algunas bases de la computación cuántica adiabática, que es el modelo que utilizan los sistemas D-Wave para su chip.

Charles preparó una gran lista para el aprendizaje automático: la respuesta de Charles H Martin a ¿Cuáles son algunos de los mejores trabajos de investigación o libros para el aprendizaje automático?

No puedo hablar por la informática en su conjunto, pero puedo enumerar algunos de mis trabajos favoritos en mi área, lenguajes de programación. Esta lista está claramente sesgada hacia un trabajo más antiguo y fundamental.

Peter Landin (1966), “Los siguientes 700 lenguajes de programación”. (En menos de ocho páginas, Landin presenta varios conceptos importantes y anticipa varias décadas de investigación de lenguajes de programación. Construye una teoría ecuacional para el fragmento puro de una programación de orden superior y explica por qué las características imperativas rompen la teoría. Su lenguaje incluye “puntos de programa”, una función de control que anticipa el operador J y la llamada con continuación actual. No es tan importante, pero sí interesante, es que este es el primero aparición de la regla de fuera de juego para una sangría significativa, que fue adoptada por Haskell y malentendida por Guido van Rossum).

John Reynolds (1972), “Intérpretes de definición para lenguajes de programación de orden superior”. (Reynolds muestra por qué la meta-circularidad realmente no constituye una definición. Un intérprete meta-circular ingenuo no puede especificar el orden de evaluación, porque el orden de evaluación de el lenguaje de los objetos simplemente se hereda del metalenguaje. En cambio, las características interesantes del lenguaje de los objetos deben definirse en términos de características mejor entendidas del metalenguaje; por ejemplo, usa la desfuncionalización para interpretar funciones de orden superior sin usar un orden de orden superior. funciona en el metalenguaje. Luego muestra cómo se puede usar el estilo de paso de continuación para especificar el orden de evaluación del lenguaje objeto sin depender del metalenguaje).

Barbara Liskov y Stephen Zilles (1974) “Programación con tipos de datos abstractos” (Liskov y Zilles sugieren que los programadores deberían poder usar más tipos y operaciones de las que un diseñador de lenguaje consideraría apropiado incluir en un lenguaje, y así proponer datos abstractos tipos como una forma de aumentar la fiabilidad del software).

Dana Scott (1975), “Tipos de datos como enrejados”. (Scott usa el dominio “universal” [matemático] P \ omega [/ matemático] para construir un modelo denotacional del cálculo lambda sin tipo. La característica clave es que el dominio es isomorfo a su propio espacio de funciones continuas, y la continuidad se equipara con la computabilidad).

Gerald Sussman y Guy Steele (1975), “Scheme: An Interpreter for Extended Lambda Calculus” (Al tratar de entender la “actitud de los actores”, Sussman y Steele implementaron Scheme, una forma ejecutable del cálculo lambda sin tipo. En el camino , notaron que los actores son cierres y que el envío de mensajes es una invocación. Muestran cómo las primitivas mínimas de Scheme pueden expresar perfectamente una variedad de estructuras de control e introducen llamadas apropiadas. Vale la pena leer los documentos de seguimiento LAMBDA de Steele y Sussman también).

Luis Damas y Robin Milner (1982), “Esquemas de tipos principales para lenguajes funcionales”. (Este es el documento fundamental para la inferencia de tipos. Damas y Milner dan, para el cálculo lambda extendido con let , un sistema de tipos en el que cada término tipificable tiene un esquema de tipo principal, es decir, el más general. Luego, proporcionan un algoritmo completo y sólido para encontrar esquemas de tipo principal).

Andrew Wright y Matthias Felleisen (1992), “A Syntactic Approach to Type Soundness” (Wright y Felleisen ofrecen una nueva técnica para probar la solidez de tipo que es más fácil que los enfoques anteriores y aplicable a una amplia variedad de características del lenguaje. Explican cómo para proporcionar una semántica operativa que sea adecuada para su técnica y dar varios ejemplos de cómo modelar diferentes características del lenguaje utilizando este estilo de semántica).

More Interesting

¿Cómo habría sido diferente la historia si las primeras computadoras fueran significativamente más poderosas para empezar?

¿Cuáles son algunos temas de investigación recientes sobre diseño de máquinas?

¿Qué se necesita para ser admitido en una de las mejores escuelas de EE. UU. (MIT, CMU, Berkeley o Stanford) para obtener una maestría de CS? CGPA de alrededor de 3, con considerable experiencia en investigación (4 publicaciones internacionales + una pasantía de investigación en IIT KGP). Pasante como ingeniero de software.

¿Cuáles son los principales problemas abiertos con respecto a los algoritmos?

En visión artificial, ¿cómo importa el tipo de datos?

¿Cómo puede un estudiante de doctorado en un programa de aprendizaje automático no superior (con la mayoría de los estudiantes y profesores haciendo investigación aplicada) intentar entrar en una carrera de investigación teórica?

¿Cuáles son algunos algoritmos de alineación de secuencia?

¿Cuáles son algunos temas interesantes en informática?

¿Cómo puede un investigador académico decidir si publica los resultados que podrían meterlo en problemas legales?

¿Cuáles son algunas áreas inexploradas en el campo de la informática?

¿Cuáles son algunas cosas no técnicas que uno debe saber al comenzar a hacer un doctorado en bases de datos o sistemas distribuidos?

Mi trabajo de tesis está relacionado con el aprendizaje automático. ¿Alguien puede sugerir algún trabajo de aprendizaje automático que contenga alguna investigación que pueda completar en los próximos dos meses?

¿Cuáles son los 5 mayores problemas en informática?

¿Cómo se puede comenzar a escribir un trabajo de investigación sobre inteligencia artificial? ¿Qué temas y herramientas debería uno buscar usar?

¿Cuáles son algunos temas candentes en la investigación en nanotecnología?