Contribuciones de Alan Turing a la informática

34

Alan Turing , uno de los pioneros de la informática (teórica), hizo muchas contribuciones científicas seminales a nuestro campo, incluida la definición de máquinas de Turing, la tesis de Church-Turing, la indecidibilidad y la prueba de Turing. Sin embargo, sus descubrimientos importantes no se limitan a los que enumeré.

En honor a su centenario, pensé que sería bueno pedir una lista más completa de sus importantes contribuciones a la informática, para poder apreciar mejor su trabajo.

Entonces, ¿cuáles son las contribuciones importantes / influyentes de Alan Turing a la informática?

rev. Lev Reyzin
fuente
2
quisiera algunas Q como esta, pero este foro parece apropiado en un nivel, pero irónicamente no es el mejor lugar. El problema es que, inevitablemente, el nivel de investigación CS se ha expandido / movido enormemente más allá de lo que Turing estudió en las décadas posteriores a su contribución. por lo tanto, una Q relacionada con la historia de Turing tendría que ser redactada con mucho cuidado para encajar aquí. ya ha enumerado sus principales contribuciones en la pregunta, entonces, ¿qué queda por responder? contribuciones no en la lista? serían algo oscuros y no tan importantes ...
vzn
1
vea también este q / a relacionado sobre si las máquinas de Turing influyeron en la creación de modelos de autómatas posteriores en CS . la corriente más alta respuesta calificado por Jeffe afirma notable que hubo no una conexión histórica, es decir, los investigadores posteriores que inventaron modelos clave autómatas CS verificable fueron no inspirados directamente por Turing!
vzn
1
Gracias por los consejos. Por cierto, pensé que habíamos acordado que la historia de TCS es el tema de este sitio, de ahí la etiqueta. En cuanto a las otras contribuciones de Turing, quizás algunas sigan siendo importantes, pero no cambian el mundo.
Lev Reyzin

Respuestas:

16

¡Esta pregunta es muy similar a pedir las contribuciones de Newton a la física, o las de Darwin a la biología! Sin embargo, hay un aspecto interesante a la pregunta que muchos comentaristas ya han aprovechado: a saber, que, además de las enormes contribuciones que todo el mundo conoce, hay un montón de pequeñas contribuciones que la mayoría de la gente no sabe sobre --- así como muchos puntos de vista que consideramos más "moderno", pero que Turing demostró en varios comentarios que entendió perfectamente. (Por cierto, lo mismo es cierto de Newton y Darwin).

Algunos ejemplos que me gustan (además de los mencionados anteriormente):

En "Computing Machinery and Intelligence", Turing incluye una discusión bastante moderna sobre los beneficios de los algoritmos aleatorios:

    Probablemente sea aconsejable incluir un elemento aleatorio en una máquina de aprendizaje. Un elemento aleatorio es bastante útil cuando buscamos la solución de algún problema. Supongamos, por ejemplo, que queremos encontrar un número entre 50 y 200 que sea igual al cuadrado de la suma de sus dígitos, podríamos comenzar en 51 y luego intentar 52 y continuar hasta obtener un número que funcionó. Alternativamente, podríamos elegir números al azar hasta que tengamos uno bueno. Este método tiene la ventaja de que no es necesario realizar un seguimiento de los valores que se han probado, pero la desventaja de que uno puede probar el mismo dos veces, pero esto no es muy importante si hay varias soluciones. El método sistemático tiene la desventaja de que puede haber un enorme bloqueo sin ninguna solución en la región que deba investigarse primero, Ahora el proceso de aprendizaje puede considerarse como una búsqueda de una forma de comportamiento que satisfaga al maestro (o algún otro criterio). Dado que probablemente haya una gran cantidad de soluciones satisfactorias, el método aleatorio parece ser mejor que el sistemático. Cabe señalar que se utiliza en el proceso análogo de la evolución.

Aparentemente, Turing también fue la primera persona en usar una computadora digital para buscar contraejemplos de la Hipótesis de Riemann, ver aquí .

Además de los resultados técnicos de la tesis doctoral de Turing de 1939 (mencionada por Lev Reyzin), esa tesis es extremadamente notable por introducir los conceptos de oráculos y relativización en la teoría de la computabilidad. (¡Algunas personas desearían que Turing nunca hubiera hecho eso, pero yo no soy uno de ellos! :-D)

Finalmente, si bien esto es básico, parece que nadie ha mencionado aún la prueba de la existencia de máquinas de Turing universales ; esa es una contribución distinta de definir el modelo de máquina de Turing, formular la Tesis de Turing de la Iglesia o demostrar la insolubilidad de la Entscheidungsproblem, aunque podría decirse que es el más "directamente" relevante de cualquiera de ellos en el curso de la revolución informática.

Scott Aaronson
fuente
27

No sabía de esto hasta hace poco.

1) ¡La descomposición LU de una matriz se debe a Turing! Considerando lo fundamental que es la descomposición de LU, esta es una contribución que merece ser destacada y conocida más ampliamente (1948).

2) Turing fue el primero en crear un "algoritmo de papel" para el ajedrez. En ese momento, las primeras computadoras digitales todavía se estaban construyendo (1952).

La programación de ajedrez ha tenido un grupo ilustre de personas asociadas con Shannon, Turing, Herb Simon, Ken Thompson, etc. Los dos últimos ganaron el Premio Turing. Y Simom, por supuesto, ganó el Nobel también. (A Shannon se le ocurrió una forma de evaluar una posición de ajedrez en 1948).

V Vinay
fuente
44
No sabía sobre el resultado de la descomposición de LU. Eso es genial ! ¿Hay una referencia?
Suresh Venkat
2
Suresh, he agregado la referencia a la descomposición LU.
V Vinay
1
No es cierto que Turing escribió el primer programa de ajedrez, este honor parece ir a Konrad Zuse , el inventor de la primera computadora. Escribió un simple programa de ajedrez 'en papel' como punto de referencia para su Plankalkuel , el primer lenguaje de programación de alto nivel. Mira aquí y aquí . Lo sentimos, no existen buenas descripciones en inglés de este trabajo.
Martin Berger
21

Como se mencionó en la pregunta, Turing fue fundamental para definir algoritmos y computabilidad, por lo que fue una de las personas que ayudó a ensamblar la lente algorítmica. Sin embargo, creo que su mayor contribución fue ver la ciencia a través de la lente algorítmica y no solo la computación en aras de la computación.

Durante la Segunda Guerra Mundial, Turing utilizó la idea de la computación y las computadoras electromecánicas (en oposición a las humanas) para ayudar a crear la bomba Turing-Welchman y otras herramientas y técnicas formales para hacer criptoanálisis. Comenzó la transformación de la criptología, la forma de arte, a la criptografía, la ciencia, que completó Claude Shannon. Alan Turing vio la criptología a través de lentes algorítmicos.

En 1948, Turing siguió a su interés en el cerebro, para crear la primera red neuronal artificial de aprendizaje . Lamentablemente, su manuscrito fue rechazado por el director de la NPL y no publicado (hasta 1967). Sin embargo, precedió tanto al aprendizaje hebbiano (1949) como a los perceptrones de Rosenblatt (1957) que típicamente asociamos con ser las primeras redes neuronales. Turing previó los fundamentos del conexionismo (todavía un gran paradigma en la ciencia cognitiva) y la neurociencia computacional. Alan Turing vio el cerebro a través de lentes algorítmicos.

En 1950, Turing publicó su famosa maquinaria e inteligencia informática y lanzó la IA. Esto tuvo un efecto transformador en la psicología y la ciencia cognitiva, que continúan viendo la cognición como un cálculo en representaciones internas. Alan Turing veía la mente a través de lentes algorítmicos.

Finalmente en 1952 (como mencionó @vzn) Turing publicó The Chemical Basis of Morphogenesis. Este se ha convertido en su trabajo más citado. En él, hizo (y comenzó a responder) la pregunta: ¿cómo se desarrolla un embrión esféricamente simétrico en un organismo no esféricamente simétrico bajo la acción de la difusión química de morfógenos que preserva la simetría? Su enfoque en este artículo fue muy físico, pero algunos de los enfoques tenían un aire de TCS; Su artículo hizo declaraciones cualitativas rigurosas (válidas para varias constantes y parámetros) en lugar de declaraciones cuantitativas basadas en constantes y parámetros específicos (en algunos campos: potencialmente imposibles de medir). Poco antes de su muerte, continuaba este estudio trabajando en las ideas básicas de lo que se convertiría en simulaciones de vida artificial, y un tratamiento de biología más discreto y de ecuación no diferencial. En una entrada de blogEspeculo sobre cómo desarrollaría la biología si tuviera más tiempo. Alan Turing comenzó a ver la biología a través de lentes algorítmicos.

Creo que la mayor contribución de Turing (y a menudo ignorada) a la informática fue mostrar que podemos obtener una gran visión al ver la ciencia a través de la lente algorítmica. Solo puedo esperar que honremos a su genio al continuar su trabajo.


Preguntas relacionadas

Artem Kaznatcheev
fuente
13

Una contribución menos conocida es el estimador de Good-Turing para estimar la fracción de una población "aún no vista" cuando se toman muestras. Esto se usa en biodiversidad.

Suresh Venkat
fuente
11

El documento de Turing sobre Verificar una rutina grande que se presentó en una conferencia en Cambridge en 1949 antecede al razonamiento formal sobre los programas desarrollados por Floyd y Hoare durante casi dos décadas. El documento tiene solo tres páginas y contiene la idea de usar invariantes para probar las propiedades de los programas y la buena base para probar la terminación.

¿Cómo se puede verificar una rutina en el sentido de asegurarse de que sea correcta?

Para que el hombre que verifica no tenga una tarea demasiado difícil, el programador debe hacer una serie de afirmaciones definitivas que pueden verificarse individualmente y de las cuales se deduce fácilmente la corrección de todo el programa.

Vijay D
fuente
Así que Turing inventó las pruebas unitarias :)
Lev Reyzin
1
No en ese papel. Él está presentando un método estático para probar la corrección funcional y la terminación.
Vijay D
7

A Turing le interesó e hizo un trabajo fundamental en los patrones de reacción química-difusión. Esta área de investigación se ha expandido sustancialmente desde que comenzó a investigarla. se ha demostrado que tiene vínculos con la computabilidad, por ejemplo, en un sentido "Turing completo" [1]. las reacciones químicas se pueden modelar con ecuaciones diferenciales no lineales complejas, por lo que, en cierto sentido, se ha demostrado que las ecuaciones diferenciales no lineales con suficiente complejidad pueden simular máquinas de Turing. derivado de su artículo de 1951 "base química de la morfogénesis" [4]

[1] la cinética química es universal en Turing por Magnasco en PRL 97

[2] Estructuras de Turing en reacciones químicas simples.

[3] Patrones de Turing en sistemas de reacción química lineal con difusión cruzada no lineal por Franz

[4] bases químicas de la morfogénesis, wikipedia

vzn
fuente
5

Aquí hay otro que encontré en el blog de Scott Aaronson (y el Q + A se toma de allí):

En su doctorado. tesis, Turing estudió la pregunta (Fα es una teoría):

Dada una máquina de Turing METRO que corre por siempre, ¿hay siempre un α ordinal tal que Fα prueba que METRO corre por siempre?

Turing demostró:

Dada cualquier máquina de Turing METRO que se ejecuta para siempre, hay una codificación de sus axiomas (Fω+1) eso prueba que METRO corre por siempre.

Desafortunadamente, las definiciones y los detalles técnicos son más difíciles de resumir, pero la publicación vinculada al blog hace un buen trabajo al explicarlos.

Lev Reyzin
fuente
1

Aquí hay una encuesta / retrospectiva en línea amplia, altamente investigada / detallada de 9p sobre las contribuciones específicas y más generales / más extensas de Turing en los Avisos de la Sociedad Matemática Estadounidense por SB Cooper para el centésimo aniversario, Incomputabilidad después de Alan Turing . Algunas otras contribuciones mencionadas en esta encuesta:

  • Errores de redondeo en documentos de procesos de matriz , 1948. influyentes en el análisis numérico y la computación científica en la teoría de la computación

  • informe no publicado de 1948 del Laboratorio Nacional de Física, Intelligent Machinery describe un modelo conexionista temprano , similar y contemporáneo con las famosas redes neuronales McCulloch y Pitts .

  • señala que el análisis y la teoría de la morfogénesis de Turing pueden considerarse como la base intelectual temprana de la teoría posterior masiva (y aún en curso / activa) en la autoorganización y los fenómenos emergentes .

(etc.)

vzn
fuente
acabo de notar que Cooper y Leeuwen tienen un nuevo libro completo: Alan Turing: su trabajo e impacto
vzn