informático canadiense
Alfred Vaino Aho (nacido el 9 de agosto de 1941) es un informático canadiense mejor conocido por su trabajo sobre lenguajes de programación , compiladores y algoritmos relacionados, y sus libros de texto sobre el arte y la ciencia de la programación informática. [2] [3] [4]
Aho fue elegido miembro de la Academia Nacional de Ingeniería en 1999 por sus contribuciones a los campos de algoritmos y herramientas de programación.
Él y su colaborador de toda la vida, Jeffrey Ullman, recibieron el Premio Turing 2020 , generalmente reconocido como la más alta distinción en ciencias de la computación . [5]
Carrera
Aho recibió un BASc. (1963) en Ingeniería Física de la Universidad de Toronto , luego una maestría (1965) y un doctorado. (1967) en Ingeniería Eléctrica/Ciencias de la Computación de la Universidad de Princeton . [6] Realizó investigaciones en los Laboratorios Bell de 1967 a 1991, y nuevamente de 1997 a 2002 como vicepresidente del Centro de Investigación de Ciencias de la Computación. [7] Desde 1995, ocupa la Cátedra Lawrence Gussman de Ciencias de la Computación en la Universidad de Columbia . Se desempeñó como presidente del departamento de 1995 a 1997, y nuevamente en la primavera de 2003. [8]
En su tesis doctoral, Aho creó gramáticas indexadas [9] y el autómata de pila anidada [10] como vehículos para ampliar el poder de los lenguajes libres de contexto , pero conservando muchas de sus propiedades de decidibilidad y cierre. Una aplicación de las gramáticas indexadas es el modelado de sistemas de reescritura paralelos, [11] particularmente en aplicaciones biológicas. [12]
Después de graduarse de Princeton, Aho se unió al Centro de Investigación de Ciencias de la Computación de Bell Labs, donde ideó algoritmos eficientes de expresión regular y coincidencia de patrones de cadenas que implementó en las primeras versiones de las herramientas Unixegrep
y fgrep
. El fgrep
algoritmo se conoce como algoritmo de Aho-Corasick ; lo utilizan varios sistemas de búsqueda bibliográfica, incluido el desarrollado por Margaret J. Corasick, y otras aplicaciones de búsqueda de cadenas. [13]
En Bell Labs, Aho trabajó estrechamente con Steve Johnson y Jeffrey Ullman para desarrollar algoritmos eficientes para analizar y traducir lenguajes de programación. [14] Steve Johnson utilizó los algoritmos de análisis LALR ascendentes para crear el generador del analizador de sintaxis yacc , [15] y Michael E. Lesk y Eric Schmidt utilizaron los algoritmos de coincidencia de patrones de expresiones regulares de Aho para crear el generador del analizador léxico lex. . [16] Las herramientas lex y yacc y sus derivados se han utilizado para desarrollar las interfaces de muchos de los compiladores de lenguajes de programación actuales. [17]
Aho y Ullman escribieron una serie de libros de texto sobre técnicas de compilación que codificaron la teoría relevante para el diseño de compiladores. Su libro de texto de 1977 Principios de diseño de compiladores tenía un dragón verde en la portada y se conoció como "el libro del dragón verde". En 1986, Ravi Sethi se unió a Aho y Ullman para crear una nueva edición, "el libro del dragón rojo" (que se mostró brevemente en la película Hackers de 1995 ), y en 2006 también se unió Monica Lam para crear "el libro del dragón púrpura ". Los libros del dragón se utilizan para cursos universitarios y como referencias de la industria. [18]
En 1974, Aho, John Hopcroft y Ullman escribieron El diseño y análisis de algoritmos informáticos , [19] codificando algunas de sus primeras investigaciones sobre algoritmos. Este libro se convirtió en uno de los libros de informática más citados durante varias décadas y ayudó a estimular la creación de algoritmos y estructuras de datos como curso central en el plan de estudios de informática. [20]
Aho también es ampliamente conocido por su coautoría del lenguaje de programación AWK con Peter J. Weinberger y Brian Kernighan (la "A" significa "Aho"). [21] A partir de 2010, [actualizar]los intereses de investigación de Aho incluyen lenguajes de programación, compiladores, algoritmos y computación cuántica . Forma parte del grupo de investigación Language and Compilers de la Universidad de Columbia. [22]
En total, sus obras han sido citadas 81.040 veces y tiene un índice h de 66, al 8 de mayo de 2019. [23]
Aho ha recibido muchos honores prestigiosos, incluida la Medalla John von Neumann del IEEE y membresía en la Academia Nacional de Ingeniería . Fue elegido miembro de la Academia Estadounidense de Artes y Ciencias en 2003. [24] Tiene doctorados honoris causa de la Universidad de Waterloo , [25] de la Universidad de Helsinki , [25] y de la Universidad de Toronto . [26] Es miembro de la Asociación Estadounidense para el Avance de la Ciencia , ACM , Bell Labs e IEEE . [20]
Aho se ha desempeñado dos veces como presidente del Comité Asesor de la Dirección de Ingeniería y Ciencias de la Información y la Computación de la Fundación Nacional de Ciencias. Fue presidente del Grupo de Interés Especial de ACM sobre Algoritmos y Teoría de Computabilidad . [27] Aho, Hopcroft y Ullman fueron co-receptores del Premio C&C 2017 otorgado por NEC Corporation. [28] Él y Ullman fueron nombrados ganadores del Premio Turing 2020 el 31 de marzo de 2021. [5]
Enseñanza
Aho ha enseñado en la Universidad de Columbia en la ciudad de Nueva York desde 1995. Ganó el premio Great Teacher Award de la Sociedad de Graduados de Columbia en 2003. [29] [30]
Libros
- AV Aho y JD Ullman , La teoría del análisis, la traducción y la compilación, vol. 1, análisis. Prentice Hall, 1972. ISBN 0-13-914556-7
- AV Aho (ed.) Corrientes en la teoría de la informática. Prentice Hall, 1973. ISBN 0-13-195651-5 [31]
- AV Aho y JD Ullman , La teoría del análisis, la traducción y la compilación, vol. 2, compilando. Prentice-Hall, 1973. ISBN 978-0-13-914564-3
- Aho, Alfred V.; Hopcroft, John E .; Ullman, Jeffrey D. (1974). El diseño y análisis de algoritmos informáticos . Addison-Wesley. ISBN 978-0-201-00029-0.
- AV Aho y JD Ullman , Principios de diseño de compiladores. Addison-Wesley, 1977. ISBN 0-201-00022-9
- AV Aho, JE Hopcroft , JD Ullman , Estructuras de datos y algoritmos. Addison-Wesley, 1983. ISBN 0-201-00023-7
- AV Aho, R. Sethi , JD Ullman , Compiladores: principios, técnicas y herramientas . Addison-Wesley, Lectura MA 1986. ISBN 0-201-10088-6
- AV Aho, BW Kernighan y PJ Weinberger , El lenguaje de programación AWK. Addison-Wesley, 1988. ISBN 978-0-201-07981-4
- AV Aho y JD Ullman , Fundamentos de la informática. WH Freeman/Computer Science Press, 1992. ISBN 978-0-7167-8233-9 [32] [33]
- AV Aho, MS Lam , R. Sethi y JD Ullman , Compiladores: principios, técnicas y herramientas , segunda edición. Addison-Wesley, 2007. ISBN 978-0-321-48681-3
Referencias
- ^ Alfred Vaino Aho en el Proyecto de genealogía de matemáticas
- ^ Ah, A.; Gottlob, G. (2014). "Un asiento de primera fila para la transformación editorial de Comunicaciones ". Comunicaciones de la ACM . 57 (4): 5. doi : 10.1145/2582611. S2CID 21553189.
- ^ Aho, AV (1990). "Algoritmos para encontrar patrones en cadenas". Manual de informática teórica . Prensa del MIT. págs. 255–300.
- ^ "Noticias de TI, carreras, tecnología empresarial, reseñas". Mundo informático . Archivado desde el original el 29 de mayo de 2008 . Consultado el 18 de mayo de 2023 .
- ^ ab El premio ACM Turing honra a los innovadores que dieron forma a los cimientos de los algoritmos y compiladores de lenguajes de programación. Consultado el 31 de marzo de 2021.
- ^ "Creación de programas confiables a partir de programadores no confiables" (PDF) . Excelenteia .
- ^ Fitchard, Kevin (31 de marzo de 2021). "Al Aho y Jeffrey Ullman de Bell Labs fueron honrados con el prestigioso premio Turing". Laboratorios Nokia Bell . Archivado desde el original el 1 de abril de 2021 . Consultado el 3 de abril de 2021 .
- ^ "Perfil y logros detallados de los ganadores del Grupo B del Premio C&C 2017" (PDF) . La Fundación NEC C&C . Archivado (PDF) desde el original el 20 de enero de 2022.
- ^ Aho, AV (1968). "Gramáticas indexadas: una extensión de las gramáticas libres de contexto". Revista de la ACM . 15 (4): 647–671. doi : 10.1145/321479.321488 . S2CID 9539666.
- ^ Aho, AV (1969). "Autómatas de pila anidados". Revista de la ACM . 16 (3): 383–406. doi : 10.1145/321526.321529 . S2CID 685569.
- ^ Rambow, Owen; Satta, Giorgio (28 de julio de 1999). "Paralelismo independiente en sistemas de reescritura paralela de copia finita". Informática Teórica . 223 (1–2): 87–120. doi :10.1016/S0304-3975(97)00190-4. ISSN 0304-3975.
- ^ Culik, Karel; Maibaum, TSE (1974). "Sistemas de reescritura paralela en términos". En Loeckx, Jacques (ed.). Autómatas, Lenguajes y Programación . Apuntes de conferencias sobre informática. vol. 14. Berlín, Heidelberg: Springer. págs. 495–510. doi :10.1007/978-3-662-21545-6_38. ISBN 978-3-662-21545-6.
- ^ Ah, Alfred V.; Corasick, Margaret J. (junio de 1975). "Coincidencia eficiente de cadenas: una ayuda para la búsqueda bibliográfica". Comunicaciones de la ACM . 18 (6): 333–340. doi : 10.1145/360825.360855 . S2CID 207735784.
- ^ Ah, AV; Johnson, Carolina del Sur; Ullman, JD (1977). "Generación de código para expresiones con subexpresiones comunes". Revista de la ACM . 24 : 146-160. doi : 10.1145/321992.322001 . S2CID 2614214.
- ^ Morris, Richard (1 de octubre de 2009). "Stephen Curtis Johnson: friki de la semana". Software de puerta roja . Consultado el 19 de enero de 2018 .
- ^ Lesk, YO; Schmidt, E. "Lex: un generador de analizadores léxicos" . Consultado el 16 de agosto de 2010 .
- ^ Levine, John R .; Masón, Tony; Marrón, Doug (1992). lex y yacc (2 ed.). O'Reilly . págs. 1–2. ISBN 1-56592-000-7.
- ^ "DYOL: Diseña tu propio lenguaje - corpus - Dragon Books - Purple Dragon". slebok.github.io . Consultado el 3 de abril de 2021 .
- ^ Ah, Alfred V.; Hopcroft, John E .; Ullman, Jeffrey D. (1974). El diseño y análisis de algoritmos informáticos . Addison-Wesley. ISBN 978-0-201-00029-0.
- ^ ab Ibaraki, Stephen . "Jeffrey Ullman y Alfred Aho, ganadores del premio ACM AMTuring 2020". forbes.com . Consultado el 3 de abril de 2021 .
- ^ Ah, AV; Kernighan, BW; Weinberger, PJ (1979). "Awk: un lenguaje de procesamiento y escaneo de patrones". Software: práctica y experiencia . 9 (4): 267. CiteSeerX 10.1.1.80.4787 . doi :10.1002/spe.4380090403. S2CID 29399630.
- ^ "Lenguajes y compiladores". landc.cs.columbia.edu . Consultado el 18 de mayo de 2023 .
- ^ "Registro de Google Scholar de Alfred Aho".
- ^ "Libro de miembros, 1780-2010: Capítulo A" (PDF) . Academia Estadounidense de Artes y Ciencias. Archivado (PDF) desde el original el 10 de mayo de 2011 . Consultado el 6 de abril de 2011 .
- ^ ab "DLS - Alfred Aho". Escuela Cheriton de Ciencias de la Computación . 16 de febrero de 2017 . Consultado el 3 de abril de 2021 .
- ^ Hazlo, Liz. "'Premio Nobel de informática: 'Alfred Aho, ex alumno de ingeniería de la U of T, recibe el premio AM Turing ". utoronto.ca . Consultado el 3 de abril de 2021 .
- ^ "La breve supresión de las pruebas por parte de Estados Unidos despierta la ira". Los New York Times . 17 de febrero de 1987 . Consultado el 10 de noviembre de 2015 a través de Safari.
- ^ "Ceremonia de premios C&C 2017". Fundación NEC C&C . Archivado desde el original el 10 de julio de 2018 . Consultado el 3 de abril de 2021 .
- ^ "Ver: el informático Alfred Aho". Fundación Simons . 18 de julio de 2013 . Consultado el 3 de abril de 2021 .
- ^ "Lista maestra de destinatarios". Graduados de la Sociedad de Columbia . Consultado el 15 de abril de 2023 .
- ^ Corrientes en la teoría de la informática, editado por Alfred V. Aho. Autores contribuyentes: Ronald V. Book [y otros]. OCLC 976868524 . Consultado el 1 de abril de 2021 a través de worldcat.org.
- ^ Fundamentos de la informática. OCLC 24669768 . Consultado el 1 de abril de 2021 a través de worldcat.org.
- ^ Fundamentos de la informática. OCLC 797873166 . Consultado el 1 de abril de 2021 a través de worldcat.org.
Enlaces externos
- Aho, Alfred Vaino en zbMATH
- Alfred V Aho en la Biblioteca Digital ACM