Científico informático canadiense (nacido en 1941)
Alfred Vaino Aho (nacido el 9 de agosto de 1941) es un científico informático canadiense mejor conocido por su trabajo en 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 mucho tiempo Jeffrey Ullman son los destinatarios del Premio Turing 2020 , generalmente reconocido como la más alta distinción en ciencias de la computación . [5]
Carrera
Aho recibió una licenciatura (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 Bell Labs 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, ha ocupado 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 extender 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 paralela [11] , particularmente en aplicaciones biológicas. [12]
Después de graduarse en Princeton, Aho se unió al Centro de Investigación de Ciencias de la Computación de los Laboratorios Bell, donde diseñó algoritmos eficientes de expresión regular y de coincidencia de patrones de cadenas que implementó en las primeras versiones de las herramientas de Unixegrep
y fgrep
. El fgrep
algoritmo se conoce como el algoritmo Aho-Corasick ; se utiliza en varios sistemas de búsqueda bibliográfica, incluido el desarrollado por Margaret J. Corasick, y en otras aplicaciones de búsqueda de cadenas. [13]
En Bell Labs, Aho trabajó en estrecha colaboración 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 de abajo hacia arriba para crear el generador de 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 de analizador léxico lex . [16] Las herramientas lex y yacc y sus derivados se han utilizado para desarrollar los front-end 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 codificaban la teoría relevante para el diseño de compiladores. Su libro de texto de 1977 Principles of Compiler Design tenía un dragón verde en la portada y se lo conoció como "el libro del dragón verde". En 1986, Aho y Ullman se unieron a Ravi Sethi 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 lo hizo Monica Lam para crear "el libro del dragón púrpura ". Los libros del dragón se utilizan para cursos universitarios, así como para referencias industriales. [18]
En 1974, Aho, John Hopcroft y Ullman escribieron The Design and Analysis of Computer Algorithms [19] , donde codificaron algunas de sus primeras investigaciones sobre algoritmos. Este libro se convirtió en uno de los libros más citados en informática durante varias décadas y ayudó a estimular la creación de algoritmos y estructuras de datos como asignatura 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 de Lenguajes y Compiladores 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 numerosos honores prestigiosos, incluida la Medalla John von Neumann del IEEE y la membresía en la Academia Nacional de Ingeniería y la Academia Nacional de Ciencias . Fue elegido miembro de la Academia Estadounidense de Artes y Ciencias en 2003. [24] Tiene doctorados honorarios 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 Computación y la Información de la Fundación Nacional de Ciencias. Es expresidente del Grupo de Interés Especial sobre Algoritmos y Teoría de la Computabilidad de la ACM . [27] Aho, Hopcroft y Ullman fueron co-receptores del Premio C&C 2017 otorgado por NEC Corporation. [28] Él y Ullman fueron nombrados receptores 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 al Gran Maestro de la Sociedad de Graduados de Columbia en 2003. [29] [30]
Libros
- AV Aho y JD Ullman , La teoría del análisis sintáctico, la traducción y la compilación, vol. 1, Análisis sintáctico. Prentice Hall, 1972. ISBN 0-13-914556-7
- AV Aho (ed.) Corrientes en la teoría de la computación. Prentice Hall, 1973. ISBN 0-13-195651-5 [31]
- AV Aho y JD Ullman , La teoría del análisis sintáctico, la traducción y la compilación, vol. 2, Compilación. 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, Reading, 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 , Compilers: Principles, Techniques, and Tools (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 Matemática
- ^ Aho, A.; Gottlob, G. (2014). "Un asiento en primera fila para la transformación editorial de Communications ". Communications of the ACM . 57 (4): 5. doi :10.1145/2582611. S2CID 21553189.
- ^ Aho, AV (1990). "Algoritmos para encontrar patrones en cadenas". Handbook of Theoretical Computer Science . MIT Press. págs. 255–300.
- ^ "Noticias de TI, carreras, tecnología empresarial, reseñas". Computerworld . Archivado desde el original el 29 de mayo de 2008. Consultado el 18 de mayo de 2023 .
- ^ El premio Turing de la ACM honra a los innovadores que dieron forma a las bases de los compiladores y algoritmos de lenguajes de programación. Consultado el 31 de marzo de 2021.
- ^ "Creación de programas confiables a partir de programadores no confiables" (PDF) . Excellentia .
- ^ Fitchard, Kevin (31 de marzo de 2021). «Al Aho y Jeffrey Ullman de Bell Labs fueron galardonados con el prestigioso premio Turing». Nokia Bell Labs . 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 premio C&C 2017 del Grupo B" (PDF) . The NEC C&C Foundation . Archivado (PDF) del 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 anidada". 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". Ciencias de la Computación 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 clase en 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.
- ^ Aho, 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.
- ^ Aho, AV; Johnson, SC; 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: Geek of the Week». Red Gate Software . Consultado el 19 de enero de 2018 .
- ^ Lesk, ME; Schmidt, E. "Lex – A Lexical Analyzer Generator" (Lex: un generador de analizador léxico) . Consultado el 16 de agosto de 2010 .
- ^ Levine, John R .; Mason, Tony; Brown, Doug (1992). lex & yacc (2.ª ed.). O'Reilly . págs. 1–2. ISBN. 1-56592-000-7.
- ^ "DYOL: Design Your Own Language — corpus — Dragon Books — Purple Dragon". slebok.github.io . Consultado el 3 de abril de 2021 .
- ^ 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.
- ^ ab Ibaraki, Stephen . "Jeffrey Ullman y Alfred Aho, ganadores del premio ACM AMTuring 2020". forbes.com . Consultado el 3 de abril de 2021 .
- ^ Aho, AV; Kernighan, BW; Weinberger, PJ (1979). "Awk — un lenguaje de escaneo y procesamiento 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 Académico para Alfred Aho".
- ^ "Libro de miembros, 1780–2010: Capítulo A" (PDF) . Academia Estadounidense de las Artes y las Ciencias. Archivado (PDF) desde el original el 10 de mayo de 2011 . Consultado el 6 de abril de 2011 .
- ^ ab "DLS – Alfred Aho". Cheriton School of Computer Science . 16 de febrero de 2017. Consultado el 3 de abril de 2021 .
- ^ Do, Liz. "'Premio Nobel de la informática': el exalumno de Ingeniería de la U de T Alfred Aho recibe el premio AM Turing". utoronto.ca . Consultado el 3 de abril de 2021 .
- ^ "La breve supresión de pruebas por parte de Estados Unidos provoca ira". The New York Times . 17 de febrero de 1987 . Consultado el 10 de noviembre de 2015 – vía Safari.
- ^ "Ceremonia de entrega 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 .
- ^ "Watch: Computer Scientist Alfred Aho". Fundación Simons . 18 de julio de 2013. Consultado el 3 de abril de 2021 .
- ^ "Lista maestra de destinatarios". Sociedad de graduados de Columbia . Consultado el 15 de abril de 2023 .
- ^ Corrientes en la teoría de la computación, editado por Alfred V. Aho. Autores colaboradores: Ronald V. Book [y otros]. OCLC 976868524 . Consultado el 1 de abril de 2021 – vía 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
- Hola, Alfred Vaino en zbMATH
- Alfred V Aho en la Biblioteca Digital ACM