IA Mc Carthy LISP Programación MIT

John McCarthy y el lenguaje de programación LISP

Comenzamos una nueva sección en la cual iremos explicando brevemente algunos de los conceptos y personajes más relevantes en el mundo de la Inteligencia Artificial.

En el primer artículo de esta serie hablaremos de John McCarthy, considerado el padre de la Inteligencia Artificial y además es el creador unos de los lenguajes de programación más relacionado con la IA, el LISP.

En 1956, en una conferencia celebrada en el Dartmouth College, Nuevo Hampshire, que reunía a grandes personalidades de las Matemáticas y la Física, se hablaba sobre cómo encontrar la forma de que una máquina pudiera razonar como un humano a la hora de resolver problemas. Uno de los ponentes y organizadores era John McCarthyy cuando subió al escenario utilizó un nuevo terminó para definir las nuevas técnicas de poder dotar a una máquina de inteligencia: lo llamó Inteligencia Artificial.

John McCarthy nació en Boston en 1927 y desde pequeño le había interesado el funcionamiento del cerebro y las matemáticas. En 1951 recibió su doctorado en Matemáticas de la Universidad de Princeton acabando como profesor en Standforden 1962 hasta su retiro. John conoció en la misma conferencia de Dartmouth a otro grande de la IA, Marvin Minsky y ambos fundaron el departamento de IA del MIT, aunque luego John volvería a Standford para formar su propio departamento en la Universidad de Stanford llamado SAIL.

Este laboratorio jugaría un rol fundamental en el desarrollo de técnicas relacionadas con la visión artificial, razonamiento y otras técnicas cuyo objetivo final era e imitar el funcionamiento del cuerpo humano y el cerebro. De SAIL saldrían grandes personalidades que luego fundaron compañías como Sun Microsystem o CISCO. Como curiosidad, John solía invitar a miembros del famoso Homebrew Computer Club a diferentes sesiones en las cuales él mismo explicaba los nuevos avances de su laboratorio. Entre esos visitantes estaban Steve Wozniak y Steve Jobs, fundadores de Apple.

John McCarthy, (al que todos llamaban “uncle John”, a pesar de tener fama de ser una persona brusca), también aportó un gran avance al mundo de la computación cuando durante su estancia en el MIT en 1961. Propuso un método para optimizar y gestionar los recursos de un ordenador (mainframe por aquella época) que llamó time-sharing. Esta técnica permitía al sistema operativo asignar recursos de CPU y memoria entre los diferentes usuarios de forma concurrente. Resultó ser un gran avance en la computación, ya que permitía que muchos usuarios pudieran interactuar de forma simultánea en un mismo ordenador. LISP (LISt Processor) apareció de forma casi natural a la vez que la IA ya que fue el resultado de la concentración de diferentes ideas entre 1956 y 1958.

Algunas de estas ideas fueron obtenidas de otros lenguajes de programación como el Fortran pero además incorporaba nuevas técnicas como, por ejemplo, la computación simbólica frente a la numérica (de la cual derivó la programación simbólica), las estructuras de listas en la memoria del ordenador (su componente fundamental), el uso recursivo de expresiones de condición, el “recolector” de basura (garbage collector, encargado básicamente de liberar la memoria de los datos no utilizados), las estructuras de datos de árbol y un largo etc. La notación de escritura de programa en LISP está influenciada directamente por el método de cálculo lambda, el cual hace que LISP tenga esa estructura de programación diferente, más orientado a las matemáticas, que el resto de lenguajes de programación.

LISP fue evolucionando poco a poco como un completo lenguaje a medida que en el laboratorio del MIT se utilizaba para implementar técnicas para probar teoremas, resolución de problemas matemáticos, teoría de juegos, etc. Las cuales fueron perfeccionando el lenguaje hasta convertirlo en el lenguaje oficial de la época para la IA.

programación

Algunos de los programas más conocidos en el mundo de la IA fueron desarrollados en LISP. Por ejemplo el famoso ELIZA, un programa de ordenador orientado al lenguaje natural desarrollado por Josep Weizenbaum también en el MIT. ELIZA permitía entablar una conversación entre un humano y la máquina que simulaba ser un terapeuta.

Otro programa muy conocido y que además forma parte de los cimientos que sustentan los actuales asistentes digitales como Siri o Cortana, es SHRDLU. Este programa fue desarrollado por Terry Winograd (el profesor tutor de Larry Page, cofundador de Google, en la Universidad de Standford) y programado en LISP por Marvin Minsky. El objetivo final del programa era desarrollar técnicas que permitieran a un programa de ordenador tomar decisiones y obedecer órdenes directamente partiendo de un dialogo natural entre el humano y la máquina utilizando el idioma inglés.

La pregunta ahora es, una vez que ya vemos la importancia en la historia de la IA y cómo funciona a nivel básico LISP, ¿alguien lo utiliza hoy día? La respuesta es sí. De hecho, LISP es bastante querido por grandes hackers de la informática. Veamos algunos de ellos:

Paul Graham: fundador de Y-Combinator. Programó el código fuente de su startup en LISP.

Robert Tappan Morris: autor del primer gusano que infectó Internet, escribió el código Fuente de su pequeña compañía (Viaweb) en LISP.

Alan Kay: pionero de los sistemas operativos orientados a objetos creó el lenguaje Smalltalk en LISP.

Edsger Wybe Dijkstra: pionero en el diseño de sistemas operativos y concurrencia escribió la mayor parte de sus ensayos en LISP.

LISP también vive a día de hoy en entornos de producción de algunas empresas y organizaciones. Por ejemplo Reddit y HackerNews funcionan en LISP y otros lenguajes de programación más actuales que están directamente relacionados con la IA y el Big Data como R y Julia también están basados en LISP.

Como se puede observar, LISP está lejos de ser un lenguaje obsoleto y aunque hoy día existen lenguajes de programación que funcionan mejor con las técnicas actuales de IA como Tensorflow, LISP es un lenguaje que funciona muy bien para entender los conceptos básicos de la IA como la resolución de problemas, la programación simbólica o la recursividad.

Para finalizar, no podemos olvidar que John McCarthy fue galardonado con el prestigioso ACM Turing Award en 1971 con su hoy día clásico trabajo “The Present State of Research on Artificial Intelligence”. John nos dejó el 24 de octubre de 2011 pero sus trabajos le han otorgado el honor de ser el padre de la IA y unos de los padres de la computación moderna.

¡Si quieres saber más sobre Inteligencia Artificial no te pierdas los entresijos de Movistar Home!

Sobre el autor

RELACIONADOS