31 de octubre de 2022

Kathleen Booth creó el lenguaje ensamblador y fue pionera de la inteligencia artificial. Ha muerto a los 100 años

Kathleen Booth creó el lenguaje ensamblador y fue pionera de la inteligencia artificial. Ha muerto a los 100 años

Este fin de semana se ha conocido la noticia del fallecimiento, a finales de septiembre, de Kathleen Booth, pionera de la informática y creadora del lenguaje ensamblador. Nacida en Reino Unido en 1922 (muere, por tanto, centenaria), obtuvo un doctorado en Matemáticas Aplicadas en 1950, tras haber estudiado la arquitectura de computación de Von Neumann junto a su creador (John Von Neumann, sí, el del Proyecto Manhattan).

Kathleen ya había co-diseñado junto a su compañero de investigación y marido, Andrew Booth (sí, el del algoritmo de multiplicación de Booth), una de las primeras computadoras de la historia (ARC) y ambos decidieron incorporar las aportaciones de Von Neumann al diseño de ARC2.

Es triste codificar en ensamblador, pero más triste es recablear

Pero Kathleen hizo algo más: escribir un libro titulado 'Coding for A.R.C.' donde presentaba el primer 'lenguaje ensamblador' (decimos "el primer" porque el ensamblador no es multiplataforma: varía necesariamente según la arquitectura del chip usado).

Recordemos que, unos pocos años antes, durante la Segunda Guerra Mundial, los estadounidenses habían creado la computadora ENIAC, cuya programación se realizaba girando conmutadores y recableando físicamente elementos del ordenador. Por aquel entonces, el único "lenguaje" que le venía a alguien a la mente al hablar de estas máquinas era el binario.

Así que Kathleen ideó una manera de agrupar pequeños conjuntos de instrucciones en binario y vincularlos a un 'mnemónico', una instrucción escrita en texto [más o menos] 'comprensible para humanos' (aunque no especialmente intuitiva). Quedaban inaugurados así los lenguajes "de bajo nivel", que permiten ejercer un control directo sobre el hardware, un control que va diluyéndose según aumenta el 'nivel' del lenguaje (Ensamblador > C > JavaScript).

Ensamblador
Ejemplo de código en ensamblador (Loyola Marymount University)

Mucho GPT-3 de OpenAI, pero todo empezó con ella y sus colegas

Pero, incluso antes de inventar el ensamblador, en 1947, Kathleen Booth había puesto los ojos en otro campo de la computación que resulta complicado pensar siquiera que existiese en ese momento: el procesamiento de lenguaje natural (es decir, uno de los principales campos de la inteligencia artificial).

Dos décadas más tarde escribió otro libro, 'Automatic Digital Calculators', en el que describe algunos de los algoritmos en los que ella y sus compañeros habían estado trabajando con el objetivo de lograr traducciones técnicas precisas (calidad literaria al margen), abordando aspectos como el procesamiento de raíces y terminaciones de palabras.

Recordemos que, antes de que las primeras investigaciones sobre IA alcanzaran su techo a mediados de los 70 (el 'invierno de la IA') del que sólo se pudo empezar a salir a partir de mediados de los 90 con el uso de redes neuronales, hubo 20 años de significativos avances en el campo.

¿Y sabéis qué? Que nuestra protagonista también fue protagonista escribiendo el primer programa de simulación de una red neuronal: ya entonces (1958/59) sospechaba que la clave residía en imitar la forma en que las mentes animales reconocen patrones.

De hecho, cuando (40 años después) la IA se encontraba a las puertas de su reactivación científica y económica, Kathleen Booth firmó su último artículo académico junto a su hijo, Ian J. M. Booth, en el que seguía apostando por las redes neuronales: "Uso de redes neuronales para identificar mamíferos marinos" (1993, cuando ya tenía 71 años y llevaba década y media retirada).

Vía | The Register & Hackaday

-
La noticia Kathleen Booth creó el lenguaje ensamblador y fue pionera de la inteligencia artificial. Ha muerto a los 100 años fue publicada originalmente en Genbeta por Marcos Merino .



☞ El artículo completo original de Marcos Merino lo puedes ver aquí

No hay comentarios.:

Publicar un comentario