Donald Knuth - Donald Knuth

Donald Knuth
KnuthAtOpenContentAlliance.jpg
Knuth en 2005
Nació
Donald Ervin Knuth

( 01/10/1938 )10 de enero de 1938 (83 años)
Milwaukee, Wisconsin , Estados Unidos
Nacionalidad americano
Educación
Conocido por
Esposos) Nancy Jill Carter
Niños 2
Premios
Carrera científica
Los campos
Instituciones Universidad de Stanford ,
Universidad de Oslo
Tesis Semicampos finitos y planos proyectivos  (1963)
Asesor de doctorado Marshall Hall, Jr.
Estudiantes de doctorado
Sitio web cs .stanford .edu / ~ knuth

Donald Ervin Knuth ( / k ə n ü θ / kə- Nooth ; nacen de enero de 10, 1938) es un americano científico de la computación , matemático y profesor emérito en la Universidad de Stanford . Recibió en 1974 el premio ACM Turing , considerado informalmente como el premio Nobel de informática. Knuth ha sido llamado el "padre del análisis de algoritmos ".

Es autor de la obra en varios volúmenes The Art of Computer Programming . Contribuyó al desarrollo del análisis riguroso de la complejidad computacional de algoritmos y sistematizó técnicas matemáticas formales para ello. En el proceso también popularizó la notación asintótica . Además de las contribuciones fundamentales en varias ramas de la informática teórica , Knuth es el creador del sistema de composición tipográfica TeX , el lenguaje de definición de fuentes y el sistema de representación METAFONT relacionados , y la familia de tipos de letra Computer Modern .

Como escritor y erudito, Knuth creó los sistemas de programación de computadoras WEB y CWEB diseñados para fomentar y facilitar la programación alfabetizada , y diseñó las arquitecturas de conjuntos de instrucciones MIX / MMIX . Knuth se opone firmemente a la concesión de patentes de software , habiendo expresado su opinión a la Oficina de Patentes y Marcas Registradas de los Estados Unidos y a la Organización Europea de Patentes .

Biografía

Vida temprana

Knuth nació en Milwaukee , Wisconsin , de Ervin Henry Knuth y Louise Marie Bohning. Describe su herencia como "alemán luterano del medio oeste". Su padre era dueño de una pequeña imprenta y enseñaba contabilidad. Donald, un estudiante de Milwaukee Lutheran High School , pensó en formas ingeniosas de resolver problemas. Por ejemplo, en octavo grado, participó en un concurso para encontrar el número de palabras que las letras en "Ziegler's Giant Bar" podrían reorganizarse para crear; los jueces habían identificado 2.500 palabras de ese tipo. Con el tiempo ganado fuera de la escuela debido a un dolor de estómago fingido, y resolviendo el problema de otra manera, Knuth usó un diccionario completo y determinó si cada entrada del diccionario se podía formar usando las letras de la frase. Usando este algoritmo, identificó más de 4.500 palabras y ganó el concurso. Como premios, la escuela recibió un televisor nuevo y suficientes barras de chocolate para que comieran todos sus compañeros.

Educación

Knuth recibió una beca en física para el Case Institute of Technology (ahora parte de la Case Western Reserve University ) en Cleveland , Ohio, y se inscribió en 1956. También se unió al Capítulo Beta Nu de la fraternidad Theta Chi . Mientras estudiaba física en Case, Knuth conoció la IBM 650 , una de las primeras computadoras comerciales . Después de leer el manual de la computadora, Knuth decidió reescribir el código de ensamblaje y compilador de la máquina utilizada en su escuela, porque creía que podía hacerlo mejor.

En 1958, Knuth creó un programa para ayudar al equipo de baloncesto de su escuela a ganar sus partidos. Asignó "valores" a los jugadores para medir su probabilidad de obtener puntos, un enfoque novedoso sobre el que informaron más tarde Newsweek y CBS Evening News .

Knuth fue uno de los editores fundadores de la revista Case Institute's Engineering and Science Review , que ganó un premio nacional como mejor revista técnica en 1959. Luego cambió de física a matemáticas y recibió dos títulos de Case en 1960: su licenciatura en ciencias, y al mismo tiempo un maestro en ciencias por un premio especial de la facultad, quien consideró su trabajo excepcionalmente sobresaliente.

En 1963, con el matemático Marshall Hall como asesor, obtuvo un doctorado en matemáticas del Instituto de Tecnología de California .

Trabajo temprano

Después de recibir su doctorado, Knuth se unió a la facultad de Caltech como profesor asistente.

Aceptó el encargo de escribir un libro sobre compiladores de lenguajes de programación informática . Mientras trabajaba en este proyecto, Knuth decidió que no podía tratar adecuadamente el tema sin antes desarrollar una teoría fundamental de la programación informática, que se convirtió en El arte de la programación informática . Originalmente planeó publicar esto como un solo libro. Cuando Knuth desarrolló su esquema para el libro, llegó a la conclusión de que necesitaba seis volúmenes, y luego siete, para cubrir completamente el tema. Publicó el primer volumen en 1968.

Justo antes de publicar el primer volumen de El arte de la programación informática , Knuth dejó Caltech para aceptar un empleo en la División de Investigación de Comunicaciones del Instituto de Análisis de Defensa , entonces ubicada en el campus de la Universidad de Princeton , que estaba realizando investigaciones matemáticas en criptografía para respaldar la Seguridad Nacional. Agencia .

En 1967, Knuth asistió a una conferencia de la Sociedad de Matemáticas Industriales y Aplicadas y alguien le preguntó qué hacía. En ese momento, la informática se dividió en análisis numérico, inteligencia artificial y lenguajes de programación. Basado en su estudio y el libro El arte de la programación informática , Knuth decidió que la próxima vez que alguien le preguntara diría, "Análisis de algoritmos".

Knuth luego dejó su puesto para unirse a la facultad de la Universidad de Stanford en 1969, donde ahora es profesor emérito de Ciencias de la Computación Fletcher Jones.

Escrituras

Knuth es escritor, además de informático.

El arte de la programación informática ( TAOCP )

"La mejor manera de comunicarse de un ser humano a otro es a través de la historia".

-  Donald Knuth

En la década de 1970, Knuth describió la informática como "un campo totalmente nuevo sin identidad real. Y el estándar de las publicaciones disponibles no era tan alto. Muchos de los artículos que se publicaban eran simplemente erróneos ... Así que una de mis motivaciones era poner en claro una historia que había sido muy mal contada ".

De 1972 a 1973, Knuth pasó un año en la Universidad de Oslo entre personas como Ole-Johan Dahl . Aquí estaba para escribir el séptimo volumen de su serie de libros, un volumen que iba a tratar sobre lenguajes de programación. Sin embargo, Knuth solo había terminado los dos primeros volúmenes cuando llegó a Oslo y, por lo tanto, pasó el año en el tercer volumen, junto a la enseñanza. El tercer volumen de la serie salió justo después de que Knuth regresara a Stanford en 1973.

Para 2011, se habían publicado los primeros tres volúmenes y la primera parte del volumen cuatro de su serie. Concrete Mathematics: A Foundation for Computer Science 2nd ed., Que se originó con una expansión de la sección de preliminares matemáticos del Volumen 1 de TAoCP , también se ha publicado. En abril de 2020, Knuth dijo que está trabajando duro en la parte B del volumen 4 y anticipa que el libro tendrá al menos las partes A a F.

Otros trabajos

Knuth es también el autor de números surreales , una novela corta matemática sobre John Conway 's teoría de conjuntos de construcción de un sistema alternativo de números. En lugar de simplemente explicar el tema, el libro busca mostrar el desarrollo de las matemáticas. Knuth quería que el libro preparara a los estudiantes para realizar una investigación original y creativa.

En 1995, Knuth escribió el prólogo del libro A = B de Marko Petkovšek , Herbert Wilf y Doron Zeilberger . Knuth también es un colaborador ocasional de acertijos lingüísticos en Word Ways: The Journal of Recreational Linguistics .

Knuth también se ha adentrado en las matemáticas recreativas . Contribuyó artículos al Journal of Mathematics recreativos a partir de la década de 1960, y fue reconocido como un contribuyente importante en Joseph Madachy 's Matemáticas en vacaciones .

Knuth también ha aparecido en varios videos de Numberphile y Computerphile en YouTube donde ha discutido temas desde escribir Surreal Numbers hasta por qué no usa el correo electrónico.

Obras sobre sus creencias religiosas

Además de sus escritos sobre informática, Knuth, un luterano , también es autor de 3:16 Bible Texts Illuminated , en el que examina la Biblia mediante un proceso de muestreo sistemático , a saber, un análisis del capítulo 3, versículo 16 de cada libro. Cada verso va acompañado de una interpretación en arte caligráfico, aportada por un grupo de calígrafos bajo la dirección de Hermann Zapf . Posteriormente, fue invitado a dar una serie de conferencias en el MIT sobre sus puntos de vista sobre la religión y la informática detrás de su proyecto 3:16, lo que resultó en otro libro, Things a Computer Scientist Rarely Talks About , donde publicó las conferencias "God and Computer Ciencia " .

Opinión sobre patentes de software

Knuth se opone firmemente a la política de otorgar patentes de software para soluciones triviales que deberían ser obvias, pero ha expresado puntos de vista más matizados para soluciones no triviales como el método del punto interior de la programación lineal . Ha expresado su desacuerdo directamente tanto con la Oficina de Patentes y Marcas Registradas de los Estados Unidos como con la Organización Europea de Patentes .

Reflexiones informáticas

Knuth da conferencias informales unas cuantas veces al año en la Universidad de Stanford , que tituló "Computer Musings". Fue profesor invitado en el Departamento de Ciencias de la Computación de la Universidad de Oxford en el Reino Unido hasta 2017 y miembro honorario del Magdalen College .

Programación

Composición tipográfica digital

En la década de 1970, los editores de TAOCP abandonaron Monotype en favor de la fotocomposición . Knuth se sintió tan frustrado con la incapacidad del último sistema para acercarse a la calidad de los volúmenes anteriores, que se compusieron con el sistema anterior, que se tomó un tiempo para trabajar en la tipografía digital y creó TeX y Metafont .

Programación alfabetizada

Mientras desarrollaba TeX, Knuth creó una nueva metodología de programación, a la que llamó programación alfabetizada , porque creía que los programadores deberían pensar en los programas como obras de literatura. "En lugar de imaginar que nuestra tarea principal es instruir a una computadora sobre lo que debe hacer, concentrémonos en explicar a los seres humanos lo que queremos que haga una computadora".

Knuth incorporó la idea de la programación alfabetizada en el sistema WEB . La misma fuente WEB se usa para tejer un archivo TeX y para enredar un archivo fuente Pascal . Estos, a su vez, producen una descripción legible del programa y un binario ejecutable, respectivamente. Una iteración posterior del sistema, CWEB , sustituye a Pascal con C .

Knuth usó WEB para programar TeX y METAFONT, y publicó ambos programas como libros: The TeXbook , que se publicó originalmente en 1984, y The METAFONTbook , que se publicó originalmente en 1986. Casi al mismo tiempo, LaTeX , la macro ahora ampliamente adoptada paquete basado en TeX, fue desarrollado por primera vez por Leslie Lamport , quien luego publicó su primer manual de usuario en 1986.

Música

Knuth es organista y compositor . En 2016 completó una pieza musical para órgano titulada Fantasia Apocalyptica , que describe como "traducción del texto griego del Apocalipsis de San Juan el Divino en música". Se estrenó en Suecia el 10 de enero de 2018.

Vida personal

Donald Knuth se casó con Nancy Jill Carter el 24 de junio de 1961, mientras estudiaba en el Instituto de Tecnología de California. Tienen dos hijos: John Martin Knuth y Jennifer Sierra Knuth.

nombre chino

El nombre chino de Knuth es Gao Dena ( chino simplificado :高 德纳; chino tradicional :高 德納; pinyin : Gāo Dénà ). En 1977, Frances Yao le dio este nombre , poco antes de hacer un viaje de 3 semanas a China . En la traducción al chino de 1980 del Volumen 1 de The Art of Computer Programming ( chino simplificado :计算机 程序 设计 艺术; chino tradicional :電腦 程式 設計 藝術; pinyin : Jìsuànjī chéngxù shèjì yìshù ), Knuth explica que adoptó su nombre chino porque quería ser conocido por el creciente número de programadores informáticos en China en ese momento. En 1989, su nombre chino se colocó encima de la Revista de Ciencia y Tecnología de Computadores 's cabecera, que Knuth dice 'me hace sentir cerca de todos los chinos, aunque no puedo hablar su idioma'.

Preocupaciones de salud

En 2006, a Knuth le diagnosticaron cáncer de próstata . Se sometió a una cirugía en diciembre de ese año y afirmó, "un poco de radioterapia ... como precaución, pero el pronóstico es bastante bueno", como informó en su video autobiográfico.

Humor

Knuth solía pagar una tarifa de búsqueda de $ 2.56 por cualquier error tipográfico o errores descubiertos en sus libros, porque "256 centavos es un dólar hexadecimal " y $ 0.32 por "sugerencias valiosas". Según un artículo de Technology Review del Instituto Tecnológico de Massachusetts , estos cheques de recompensa de Knuth se encuentran "entre los trofeos más preciados de la informática". Knuth tuvo que dejar de enviar cheques reales en 2008 debido a un fraude bancario, y ahora le da a cada buscador de errores un "certificado de depósito" de un saldo que cotiza en bolsa en su ficticio "Banco de San Serriffe ".

Una vez advirtió a un corresponsal: "Tenga cuidado con los errores en el código anterior; sólo he probado que es correcto, no lo he probado".

Knuth publicó su primer artículo "científico" en una revista escolar en 1957 bajo el título "El sistema de pesos y medidas de Potrzebie ". En él, definió la unidad fundamental de longitud como el grosor de Mad No. 26, y llamó a la unidad fundamental de fuerza "whatmeworry". Mad publicó el artículo en el número 33 (junio de 1957).

Para demostrar el concepto de recursividad , Knuth se refirió intencionalmente entre "Definición circular" y "Definición circular" en el índice de El arte de la programación informática , Volumen 1 .

El prefacio de Matemáticas concretas tiene el siguiente párrafo:

Cuando DEK enseñó Matemáticas concretas en Stanford por primera vez, explicó el título un tanto extraño diciendo que era su intento de enseñar un curso de matemáticas que era difícil en lugar de suave. Anunció que, contrariamente a las expectativas de sus colegas, no iba a enseñar la Teoría de los agregados, ni el Teorema de incrustación de Stone , ni siquiera la compactación Stone-Čech . (Varios estudiantes del departamento de ingeniería civil se levantaron y salieron silenciosamente de la habitación).

En la Conferencia TUG 2010, Knuth anunció un sucesor satírico basado en XML de TeX, titulado "iTeX" ( pronunciado  [iː˨˩˦tɛks˧˥] , interpretado con un timbre), que admitiría características como unidades irracionales escaladas arbitrariamente , Impresión 3D , entrada de sismógrafos y monitores cardíacos, animación y sonido estereofónico.

Premios y honores

En 1971, Knuth recibió el primer premio ACM Grace Murray Hopper . Ha recibido varios otros premios, incluidos el Premio Turing , la Medalla Nacional de la Ciencia , la Medalla John von Neumann y el Premio Kyoto .

Knuth fue elegido miembro distinguido de la British Computer Society (DFBCS) en 1980 en reconocimiento a las contribuciones de Knuth al campo de la informática.

En 1990 recibió el título académico único en su tipo de Profesor de El arte de la programación informática , que desde entonces ha sido revisado a Profesor emérito de El arte de la programación informática .

Knuth fue elegido miembro de la Academia Nacional de Ciencias en 1975. También fue elegido miembro de la Academia Nacional de Ingeniería en 1981 por organizar vastas áreas temáticas de informática para que sean accesibles a todos los segmentos de la comunidad informática. En 1992, se convirtió en asociado de la Academia de Ciencias de Francia . También ese año, se retiró de la investigación y la docencia regulares en la Universidad de Stanford para terminar El arte de la programación informática . Fue elegido miembro extranjero de la Royal Society (ForMemRS) en 2003 .

Knuth fue elegido Fellow (primera clase de Fellows) de la Society for Industrial and Applied Mathematics en 2009 por sus destacadas contribuciones a las matemáticas. Es miembro de la Academia Noruega de Ciencias y Letras . En 2012, se convirtió en miembro de la American Mathematical Society y miembro de la American Philosophical Society . Otros premios y honores incluyen:

Publicaciones

Una breve lista de sus publicaciones incluye:

El arte de la programación informática :

  1. ——— (1997). El arte de la programación informática . 1: Algoritmos fundamentales (3ª ed.). Addison-Wesley Professional. ISBN 978-0-201-89683-1.
  2. ——— (1997). El arte de la programación informática . 2: Algoritmos seminuméricos (3ª ed.). Addison-Wesley Professional. ISBN 978-0-201-89684-8.
  3. ——— (1998). El arte de la programación informática . 3: Clasificación y búsqueda (2ª ed.). Addison-Wesley Professional. ISBN 978-0-201-89685-5.
  4. ——— (2011). El arte de la programación informática . 4A: Algoritmos combinatorios. Addison-Wesley Professional. ISBN 978-0-201-03804-0.
  5. ——— (2005). MMIX: una computadora RISC para el nuevo milenio . 1, fascículo 1. ISBN 978-0-201-85392-6.
  6. ——— (2008). El arte de la programación informática . 4, Fascículo 0: Introducción a los algoritmos combinatorios y las funciones booleanas. ISBN 978-0-321-53496-5.
  7. ——— (2009). El arte de la programación informática . 4, fascículo 1: trucos y técnicas bit a bit, diagramas de decisión binaria. ISBN 978-0-321-58050-4.
  8. ——— (2005). El arte de la programación informática . 4, Fascículo 2: Generación de todas las tuplas y permutaciones. ISBN 978-0-201-85393-3.
  9. ——— (2005). El arte de la programación informática . 4, Fascículo 3: Generación de todas las combinaciones y particiones. ISBN 978-0-201-85394-0.
  10. ——— (2006). El arte de la programación informática . 4, fascículo 4: Generación de todos los árboles: historia de la generación combinatoria. ISBN 978-0-321-33570-8.
  11. ——— (2018). El arte de la programación informática . 4, Fascículo 5: Preliminares matemáticos Redux, Backtracking, Dancing Links. ISBN 978-0-134-67179-6.
  12. ——— (2015). El arte de la programación informática . 4, fascículo 6: satisfacción. ISBN 978-0-134-39760-3.

Computadoras y tipografía (todos los libros son de tapa dura a menos que se indique lo contrario):

  1. ——— (1984). Computadoras y tipografía . A, el TeXbook. Reading, MA : Addison-Wesley. ISBN 978-0-201-13447-6., x + 483pp.
  2. ——— (1984). Computadoras y tipografía . A, el TeXbook. Reading, MA : Addison-Wesley. ISBN 978-0-201-13448-3. (tapa blanda).
  3. ——— (1986). Computadoras y tipografía . B, TeX: El programa. Reading, MA : Addison-Wesley. ISBN 978-0-201-13437-7., xviii + 600pp.
  4. ——— (1986). Computadoras y tipografía . C, el METAFONTbook. Reading, MA : Addison-Wesley. ISBN 978-0-201-13445-2., xii + 361pp.
  5. ——— (1986). Computadoras y tipografía . C, el METAFONTbook. Reading, MA : Addison-Wesley. ISBN 978-0-201-13444-5. (tapa blanda).
  6. ——— (1986). Computadoras y tipografía . D, METAFONT: El programa. Reading, MA : Addison-Wesley. ISBN 978-0-201-13438-4., xviii + 566pp.
  7. ——— (1986). Computadoras y tipografía . E, Tipografías modernas informáticas. Reading, MA : Addison-Wesley. ISBN 978-0-201-13446-9., xvi + 588pp.
  8. ——— (2000). Computadoras y tipografía . Conjunto en caja AE. Reading, MA : Addison-Wesley. ISBN 978-0-201-73416-4.

Libros de artículos coleccionados:

  1. ——— (1992). Programación alfabetizada . Notas de lectura. Stanford, CA : Centro para el estudio del lenguaje y la información —CSLI. ISBN 978-0-937073-80-3.
  2. ——— (1996). Artículos seleccionados sobre informática . Notas de lectura. Stanford, CA : Centro para el estudio del lenguaje y la información — CSLI. ISBN 978-1-881526-91-9.
  3. ——— (1999). Tipografía digital . Notas de lectura. Stanford, CA : Centro para el estudio del lenguaje y la información — CSLI. ISBN 978-1-57586-010-7.
  4. ——— (2000). Artículos seleccionados sobre análisis de algoritmos . Notas de lectura. Stanford, CA : Centro para el estudio del lenguaje y la información — CSLI. ISBN 978-1-57586-212-5.
  5. ——— (2003). Artículos seleccionados sobre lenguajes informáticos . Notas de lectura. Stanford, CA : Centro para el estudio del lenguaje y la información — CSLI. ISBN 978-1-57586-381-8., ISBN  1-57586-382-0 ( tapa blanda)
  6. ——— (2003). Artículos seleccionados sobre matemáticas discretas . Notas de lectura. Stanford, CA : Centro para el estudio del lenguaje y la información — CSLI. ISBN 978-1-57586-249-1., ISBN  1-57586-248-4 ( tapa blanda)
  7. Donald E. Knuth, Artículos seleccionados sobre diseño de algoritmos (Stanford, California: Centro para el estudio del lenguaje y la información — CSLI Lecture Notes, núm. 191), 2010. ISBN  1-57586-583-1 (tela), ISBN  1 -57586-582-3 ( tapa blanda )
  8. Donald E. Knuth, Documentos seleccionados sobre diversión y juegos (Stanford, California: Centro para el estudio del lenguaje y la información — CSLI Lecture Notes, núm. 192), 2011. ISBN  978-1-57586-585-0 (tela), ISBN  978-1-57586-584-3 ( tapa blanda)
  9. Donald E. Knuth, Compañero de los documentos de Donald Knuth (Stanford, California: Centro para el estudio del lenguaje y la información — CSLI Lecture Notes, núm. 202), 2011. ISBN  978-1-57586-635-2 (tela) , ISBN  978-1-57586-634-5 ( tapa blanda)

Otros libros:

  1. Graham, Ronald L ; Knuth, Donald E .; Patashnik, Oren (1994). Matemáticas concretas: una base para la informática (Segunda ed.). Reading, MA: Addison-Wesley. ISBN 978-0-201-55802-9. Señor  1397498 . xiv + 657 págs.
  2. Knuth, Donald Ervin (1974). Números surrealistas: cómo dos exalumnos se volvieron hacia las matemáticas puras y encontraron la felicidad total: una novela matemática . Addison-Wesley. ISBN 978-0-201-03812-5.
  3. Donald E. Knuth, The Stanford GraphBase: A Platform for Combinatorial Computing (Nueva York, ACM Press) 1993. Segunda impresión de bolsillo 2009. ISBN  0-321-60632-9
  4. Donald E. Knuth, 3:16 Bible Texts Illuminated (Madison, Wisconsin: AR Editions), 1990. ISBN  0-89579-252-4
  5. Donald E. Knuth, Cosas de las que rara vez habla un científico informático (Centro para el estudio del lenguaje y la información — CSLI Lecture Notes no 136), 2001. ISBN  1-57586-326-X
  6. Donald E. Knuth, MMIXware: Una computadora RISC para el tercer milenio (Heidelberg: Springer-Verlag— Lecture Notes in Computer Science, no. 1750), 1999. viii + 550pp. ISBN  978-3-540-66938-8
  7. Donald E. Knuth y Silvio Levy, The CWEB System of Structured Documentation (Reading, Massachusetts: Addison-Wesley), 1993. iv + 227pp. ISBN  0-201-57569-8 . Tercera edición 2001 con soporte de hipertexto, ii + 237 págs.
  8. Donald E. Knuth, Tracy L. Larrabee y Paul M. Roberts, Escritura matemática (Washington, DC: Asociación matemática de América), 1989. ii + 115pp
  9. Daniel H. Greene y Donald E. Knuth, Matemáticas para el análisis de algoritmos (Boston: Birkhäuser), 1990. viii + 132pp.
  10. Donald E. Knuth, Mariages Stables: et leurs Relations avec d'autres problèmes combinatoires (Montreal: Les Presses de l'Université de Montréal) , 1976. 106pp.
  11. Donald E. Knuth, Axiomas y cascos (Heidelberg: Springer-Verlag — Lecture Notes in Computer Science, núm. 606), 1992. ix + 109pp. ISBN  3-540-55611-7

Ver también

Referencias

Bibliografía

enlaces externos