LOS FUNDAMENTOS DE LA INTELIGENCIA ARTIFICIAL

Anuncio
FUNDAMENTOS E HISTORIA DE LA INTELIGENCIA ARTIFICIAL
La Inteligencia Artificial es un campo relativamente joven, es heredera de diversas
ideas, puntos de vista y técnicas de otras disciplinas. Durante mas de de 2000 años de
tradición en filosofía han surgido diversas teorías del razonamiento y del aprendizaje,
simultáneamente con el punto de vista que la mente se reduce al funcionamiento de un
sistema físico. Durante mas de 400 años de matemática. Han surgido teorías formales
relacionadas con la lógica, probabilidad, toma de decisiones y la computación. La
psicología ofrece herramientas que permiten la investigación de la mente humana, así
como un lenguaje científico para expresar las teorías que se van obteniendo. La
lingüística ofrece teorías sobre la estructura y significado del lenguaje. Y por ultimo la
ciencia de la computación, de la que se toman las herramientas que permiten que la IA
sea una realidad.
Filosofía (desde el 428 a.C.)
Todo empieza con el nacimiento de Platón en 428 a.C. La Temática de su obra es
diversa: política, matemáticas, física, astronomía y diversas ramas de la filosofía.
Juntos, Platón, Sócrates, su maestro y Aristóteles, su alumno, sentaron las bases de gran
parte del pensamiento y cultura occidentales. El filosofo Hubert Dreyfus (1979, p.67)
afirma que: “Bien podría afirmarse que la historia de la inteligencia artificial comienza
en el año 450 a.C.”, cuando Platón cita un dialogo en el que Sócrates le pregunta a
Eutidemo: “Desearía saber cual es la característica de la piedad que hace que una acción
se pueda considerar como pía… y así la observe y me sirva de norma para juzgar tus
acciones y las de otros.” . En otras palabras, lo que Sócrates deseaba era un algoritmo
que le permitirá diferenciar la piedad de la impiedad. Aristóteles dio un paso mas al
formular con mayor precisión las leyes que gobiernan la parte racional de la mente.
Concebió un sistema informal de silogismos para el razonamiento adecuado, los que en
principio permiten generar mecánicamente conclusiones, asumiendo ciertas premisas
iniciales. Aristóteles consideraba que no todas las partes de la mente estaban gobernadas
por procesos lógicos. Consideraba también la noción de una razón intuitiva.
Ahora que se tiene la idea de un conjunto de reglas mediante las que se explica
el funcionamiento de la mente (o por lo menos, de una parte de ella), el siguiente paso
consiste en considerar la mente como un sistema físico. Habría que esperar hasta Rene
Descartes (1596-1650) para contar con un estudio claro de la diferencia entre mente y
materia y los problemas que originan. El problema de concepción meramente física de
la mente es que en ella parece no caber el libre albedrío: si la mente esta sujeta por
completo a leyes físicas, no tiene mas libre albedrío que una roca al “decidir” caer hacia
el centro de la tierra. No obstante ser un denodado defensor de la capacidad del
razonamiento. Descartes propuso la noción de dualismo. Sostenía que existe una parte
de la mente (o del alma o del espirito) que esta al margen de la naturaleza, exenta de la
influencia de las leyes físicas.
Por el contrario, consideraba que en los animales no había tal dualidad; se les podría
concebir como si fueran máquinas.
Una alternativa al dualismo es el materialismo, que considera que todo el mundo
(cerebro y mente incluidos) funciona sujeto a leyes físicas. Probablemente haya sido
Wilhelm Leibnitz (1646-1716) quien llevara por primera vez el punto de vista
materialista a una conclusión lógica y construyera un dispositivo mecánico cuyo
propósito era la realización de operaciones mentales. Desafortunadamente, la
formulación de su lógica resulto ser muy débil, por lo que el generador mecánico de
conceptos no logro dar ningún resultado interesante.
Es posible optar por una posición intermedia, la que permite aceptar que la
mente tiene una base física, pero que rechaza que esta pueda explicarse reduciéndola a
un mero proceso físico. Es decir, procesos mentales y conciencia forman parte del
mundo físico, pero inherentemente no se les puede llegar a aprehender, están más allá
de la comprensión racional. Algunos filósofos que critican la IA han asumido esta
posición.
Matemáticas (aproximadamente desde el año 800)
Los filósofos delimitaron las más importantes ideas relacionadas con la IA, pero para
pasar de allí a una ciencia formal era necesario contar con una formalización
matemática en tres áreas principales: computación, lógica y probabilidad. La idea de
expresar un calculo mediante un algoritmo formal se remonta a la época de al-jwarizmi,
matemático árabe del siglo IX, con cuyas obras se introdujeron en Europa los números
arábigos y el algebra.
La lógica data, por lo menos, desde Aristóteles; su naturaleza era más filosófica que
matemática, hasta que George Boole (1815-1864) introdujo su lenguaje formal para
hacer inferencias lógicas en 1847. El método de Boole no estaba del todo completo,
pero era bastante bueno, pues basto con la contribución de otros para llenar huecos
faltantes. En 1879, Gottlob Frege (1848-1825) creo una lógica que, excepto por algunos
cambios en la notación, constituye la lógica de primer orden que se utiliza actualmente
como sistema básico de representación del conocimiento. Alfred Tarski (1902-1983)
introdujo una teoría de referencia que enseña como relacionar objetos de una lógica con
los objetos del mundo real. El paso siguiente consistió en definir los limites de lo que
podría hacerse con la lógica y la computación.
A David Hilbert (1862-1943), gran matemático por derecho propio, se le recuerda más
bien por los problemas que no pudo resolver. En 1900 propuso una lista de 23
problemas que acertadamente predijo ocuparían a los matemáticos durante todo ese
siglo. En el último de ellos se pregunta si existe un algoritmo que permita determinar la
validez de cualquier proposición lógica en la que figuren los números naturales: el
famoso Entscheidungsproblem, o problema de decisión. Básicamente, lo que Hilbert
preguntaba es si había límites fundamentales en la capacidad de los procedimientos
efectivos de demostración. En 1930, Kart Godel (1906-1978) demostró que existe un
procedimiento eficiente para demostrar cualquier aseveración verdadera en la lógica de
primer orden de Frege y Rusell; sin embargo, con la lógica de primer orden no era
posible capturar el principio de la inducción matemática necesario para la
caracterización de los números naturales. En 1931 demostró que en efecto existen
límites reales. Mediante su teorema de incompletez demostró que en cualquier lenguaje
que tuviera la capacidad suficiente para expresar las propiedades de los números
naturales, existen aseveraciones verdaderas indecidibles: no es posible definir su validez
mediante ningún algoritmo.
El fundamental resultado anterior se puede interpretar también como la
indicación de que existen algunas funciones de los números enteros que no se pueden
representar mediante un algoritmo, es decir, no se pueden calcular. Lo anterior motivo a
Alan Turing (1912-1954) a tratar de caracterizar exactamente aquellas funciones que si
eran susceptibles de ser calculadas. La noción anterior en realidad es algo problemática,
porque no es posible dar una definición formal a la noción de un calculo o de un
procedimiento efectivo. No obstante lo anterior, la tesis Church-Turing (en la que se
afirma que la maquina de Turing (Turing, 1936) puede calcular cualquier función
calculable) goza de aceptación generalizada en cuanto definición suficiente. Turing
demostró también que existen algunas funciones que no es posible calcular mediante la
máquina del mismo nombre. Por ejemplo, ninguna maquina puede decidir en general si
un programa dado producirá una respuesta a determinada entrada, o si seguirá
calculando definitivamente.
Si bien la indecidibilidad y la incalculabilidad son importantes para comprender
el proceso del cálculo, la noción de la intratabilidad tuvo repercusiones más
importantes. En términos generales, se dice que una clase de problema se denomina
intratable si el lapso necesario para la resolución de casos particulares de dicha clases
crece al menos exponencialmente con el tamaño de tales casos. La diferencia entre
crecimiento polinominal y exponencial de la complejidad fue destacado por vez primera
a mediados de la década de los años 60 (Cobham, 1964; Edmons, 1965). Es importante
porque un crecimiento exponencial implica la imposibilidad de resolver en un tiempo
razonable casos de tamaño reducido. Es por ello que deberá optarse por dividir el
problema general de la producción de la conducta inteligente en subproblemas que si
sean tratables en vez de manejar problemas intratables. El segundo concepto
importante en la teoría de la complejidad es la reducción, también surgido en la década
de los 60 (Dantzing, 1960; Edmonds, 1962). Una reducción es la transformación general
de una clase de problemas a otra, de manera que la solución de la primera clase se
obtenga reduciendo esta a problemas que pertenecen la segunda y resolviendo estos.
¿Cómo saber que se trata de un problema intratable? Mediante la Teoría de la
completez NP, propuesta por vez primera por Steven Cook (1971) y Richard Kart
(1972). Estos demostraron la existencia de grandes clases de problemas canónicos de
razonamiento y búsqueda combinatoria que son NP completos. Toda clase de problemas
a la que una clase de problema NP completo pueda reducirse posiblemente sea
intratable. (Si bien aun no se ha demostrado que los problemas NP completos sean
necesariamente intratables, pocos son los teóricos que opinarían lo contrario). Los
resultados anteriores contrastan notoriamente con el entusiasmo por los “supercerebros
electrónicos” tan característico con la aparición de las computadoras. A pesar de cada
vez mayor velocidad de las computadoras, una prudente y esmerada utilización de
recursos caracterizara a los sistemas inteligentes. De manera sucinta: el mundo es un
ejemplo de problema de dimensiones colosales.
Además de la lógica y del cálculo, la tercera gran contribución de las
matemáticas a la IA es la teoría de la probabilidad. Fue el italiano Gerolamo Cardano
(1501-1576) quien concibiera primero la noción de probabilidad y la presento como
posibles resultados de los juegos de apuesta. Antes de el, se veía el resultado de estos
juegos como consecuencia de la voluntad de los dioses, mas que producto del azar. La
probabilidad se convirtió pronto en parte invaluable de las ciencias cuantitativas, al
ayudar en el manejo de mediciones con incertidumbre y teorías incompletas. Pierre
Fermat (1601-1665), Blas Pascal (1623-1662), James Bernoulli (1654-1705), Pierres
Laplace (1749-1827) y otros más hicieron avanzar esta teoría e introdujeron nuevos
métodos estadísticos. Bernoulli concibió otra forma de considerar la probabilidad, como
un “grado subjetivo de creencia”, más que como un índice objetivo de resultados. De
esta forma, las probabilidades subjetivas se van actualizando conforme surgen nuevas
evidencias. Thomas Bayes (1702-1761) propuso una regla para la actualización de las
probabilidades subjetivas a la luz de las nuevas evidencias (publicada póstumamente en
1763). La regla de Bayes y el campo del análisis bayesiano, constituyen el fundamento
sobre el que se apoya el enfoque moderno de abordar el razonamiento incierto en los
sistemas de la IA. Ambas versiones se basan en el mismo conjunto de axiomas. La obra
Foundations of Statistics (Fundamentos de estadísticas) de Savage (1954) es un útil guía
para introducirse en el tema.
Al igual que en el caso de la lógica, es necesario establecer una conexión entre
razonamiento probabilística y acción. En la teoría de las decisiones, propuesta por vez
primera por John Von Neumann y Oskar Morgenstern (1944), se combinan la teoría de
la probabilidad con la teoría de la utilidad (que ofrece un marco de referencia formal y
completo para especificar las preferencias de un agente) y se cuenta así con la primera
teoría general que permite discernir entre acciones buenas y acciones malas. La teoría
de las decisiones es la sucesora matemática del utilitarismo y constituye la base teórica
de muchos de los diseños de agente de la presente obra.
Psicología (desde el año 1879)
Se afirma que la psicología científica se inicio con los trabajos del medico alemán
Hermann Von Helmholtz (1821-1894) y su discípulo Wilhelm Wundt (1832-1920).
Helmholtz utilizó el método científico en el estudio de la vista humana, y su Handbook
of Physiological Optics (Manual de óptica fisiológica) todavía en nuestros días se
considera como “el único tratado mas importante actual sobre la física y la fisiología de
la vista humana” (Nalga, 1993, p. 15). En 1879, el mismo año que Frege dio a conocer
su lógica de primer orden, Wundt inicio el primer laboratorio de psicología
experimental en la Universidad de Leipzig. Wundt ponía mucho énfasis en la
realización de experimentos
controlados cuidadosamente en los que sus operarios
realizaban tareas de percepción o asociación al tiempo que sometía a introspección sus
procesos mentales. Los meticulosos controles evolucionaron durante un buen trecho
hasta convertir a la psicología en una ciencia; vale la pena observar que, al irse
difundiendo su metodología, se produjo un curioso fenómeno: se observo que lo datos
obtenidos de las introspecciones en un laboratorio dado coincidan con las teorías
prevalecientes en dicho laboratorio. El movimiento conductista de John Watson (18781958) y de Edward Lee Thordike (1874-1949) fue una respuesta contra el subjetivismo
y rechazada sistemáticamente toda teoría en la que intervinieran procesos mentales,
arguyendo que la introspección no aportaba una evidencia confiable.
Los conductistas se abocaron en el estudio exclusivo de mediciones objetivas de las
percepciones (o estímulos) experimentadas por animales y de los resultados obtenidos
(o respuestas). Elaboraciones de tipo mental como el conocimiento, creencias, objetivos
y pasos del razonamiento quedaron descartados por considerarlos “psicología popular”
no científica. El conductismo hizo muchos descubrimientos en relación con las ratas y
los pichones, pero tuvo menos éxito en la comprensión de los seres humanos. Aun así,
su influencia en la psicología fue notable (especialmente en EUA) desde
aproximadamente 1920 hasta 1960.
La noción de que el cerebro posee y procesa información, característica principal
de la psicología cognoscitiva, se remonta, por lo menos, a las obras de William James
(1842-1910). Helmholtz ponía énfasis en que la percepción entrañaba cierto tipo de
inferencia lógica inconsciente. Esta posición cognoscitiva se vio empañada por el
conductismo hasta 1943, año de la publicación de la obra de Kenneth Craik, The Nature
of Explanation (La naturaleza de la explicación). Craik encontró la pieza faltante entre
el estimulo y la respuesta. Afirma que creencias, objetivos y pasos del razonamiento son
validos y útiles elementos en una teoría del comportamiento humano
y son tan
científicos como, por ejemplo, las nociones de presión y temperatura para describir los
gases, no obstante que estos estén formados por moléculas que no tienen ni presión ni
temperatura. Craik establece tres condiciones fundamentales para los agentes basados
en el conocimiento: (1) el estimulo deberá ser traducido a una representación interna,
(2) esta representación se debe manipular mediante procesos cognoscitivos para así
derivar nuevas representaciones internas y (3) estas, a su vez, se retraducen en acciones.
Dejo muy claro por qué consideraba que eran los requisitos idóneos del diseño de un
agente:
Si el organismo contiene en su cabeza un “modelo a pequeña escala” de la
realidad externa y de todas sus posibles acciones, será capaz de probar diversas
opciones, decidir cual es la mejor, preparar su reacción ante situaciones futuras antes de
que estas surjan, emplear lo aprendido de experiencias pasadas en situaciones del
presente y del futuro y, en toda situación, reaccionar ante los imponderables que tenga
que enfrentar de manera satisfactoria, eficiente y sin riesgos. (Craik, 1943).
Un agente diseñado de esta manera podría, por ejemplo, planificar un prolongado viaje
considerando varias rutas posibles, comparándolas y eligiendo la mejor, antes de
emprender el viaje. A partir de la década de los años 60 la posición afín al
procesamiento de la información ha dominado la psicología. Actualmente muchos
psicólogos aceptan casi de manera táctica que “una teoría cognoscitiva deberá ser como
un programa de computadora” (Anderson, 1980). Es decir, que tal teoría deberá definir
la cognición que transportan las señales de entrada.
En los inicios de ambas, no existía una distinción tajante entre IA y ciencia
cognoscitiva. Era frecuente ver programas de IA caracterizados como si fueran
resultados psicológicos, sin aclarar exactamente que tipo de conducta humana estaban
modelando. Sin embargo, ya durante la década anterior, existe una mas clara
delimitación metodológica y el objetivo de los estudios esta definido en un campo o en
otro.
Ingeniería computacional (desde el año 1940)
Para que la inteligencia artificial pueda
ser una realidad se necesitan dos cosas:
inteligencia y un artefacto. La computadora se reconoce unánimente como el artefacto
con mayores posibilidades de manifestar inteligencia. La computadora electrónica
digital moderna fue inventada de manera independiente y casi simultáneamente por
científicos de tres países enfrascados en la segunda guerra mundial. La primera
computadora moderna que se echo a andar fue la Health Robinson, construida en 1940
por el equipo de Alan Turing y cuyo propósito era el desciframiento de los mensajes de
los alemanes. Cuando estos cambiaron el código por uno mas complicado, los
reveladores electromecánicos de la Robinson resultaron demasiado lentos y se
construyo una nueva maquina con bulbos, la Colossus. Estaba terminada en 1943 y para
el fin de la guerra, ya se empleaban cotidianamente diez Colossus.
La primera computadora programable en operación fue la Z-3, inventada por
Honrad Zuse en Alemania, en 1941. Zuse invento números de punto flotante para
utilizarlos en la Z-3. En 1945 invento el Plankalkul, primer lenguaje de programación
de alto nivel. No obstante que Zuse tenia el apoyo del Tercer Reich para que aplicase su
maquina en el diseño de aeronaves, la jerarquía militar no concedió tanta importancia a
la computación como su contraparte británica.
En Estados Unidos, John Atanasoff y su discípulo de postgrado, Clifford Berry,
armaron la primera computadora electrónica, la ABC, entre 1940 y 1942 en la
universidad del estado de Iowa. El proyecto no recibió mucho apoyo y quedo
abandonado luego de que Atanasoff se volcara a la investigación militar en Washington.
En calidad de investigación secreta militar se iniciaron otros dos proyectos
de
computación: un equipo bajo la dirección de Howard Aiken diseño en Harvard las
computadoras Mark I, II y III; mientras en la universidad de Pennsylvania, un equipo
que incluía a John Mauchly y John Eckert diseño la ENIAC. Se trataba de la primera
computadora digital, electrónica, para uso general. Uno de sus primeros trabajos fue el
calculo de tablas de disparos de artillería; en su versión posterior, llamada EDVAC, se
atendió la sugerencia hecha por John Von Neumman de usar un programa almacenado,
para que los técnicos no tuvieran que estar apresuradamente moviendo clavijas de
conmutación cada vez que tuvieran que correr un nuevo programa.
Quizás el avance más notable fue la aparición de la IBM 701, construida en 1952
por Nathaniel Rochester y su grupo. Fue la primera computadora que rindiera
dividendos a su fabricante. La IBM se convirtió así en una de las compañías mas
grandes del mundo y sus ventas de computadoras ascendieron a $1.5 billones de dólares
estadounidenses por año. Actualmente, en Estados Unidos, la industria de la
computación (incluyendo software y servicios) representa aproximadamente 10% de su
producto interno bruto.
Con cada nueva generación de hardware de computación se han logrado
aumentos en velocidad y capacidad y descensos en precio. La ingeniería computacional
ha experimentado un notable éxito y por lo general, logra duplicar eficiencia cada dos
años, sin que prevea un fin de esta tendencia a corto plazo. Los grandes volúmenes de
maquinas en paralelo prometen la adición de muchos ceros mas al rendimiento global
alcanzable.
Desde luego que antes de que apareciera la computadora ya había dispositivos
de cálculo. El ábaco tiene una antigüedad aproximada de 7000 años. A mediados del
siglo XVII, Blas Pascal construyo una maquina para sumar y restar llamada Pascalina.
En 1694, Leibnitz la mejoro y construyo un dispositivo mecánico que multiplicaba
mediante la adición repetida. Los progresos se interrumpieron durante un siglo hasta
que Charles Babbage (1792-1871) aspiraba a lograr que los logaritmos se calcularan
mediante maquina. Diseño una para este propósito, pero nunca logro concluir su
proyecto. En vez de este se dedico al diseño de la maquina analítica, para la que
Babbage invento las nociones de memoria direccionable, programas almacenados y
saltos condicionales. No obstante que la idea de las maquinas programables no era
nueva (en 1805 Joseph Marie Jacquard invento un telar que se podía programar
utilizando tarjetas perforadas), la maquina de Babbage era el primer artefacto que tenia
las características necesarias para la computación universal. La colega de Babbage, Ada
Lovelace, hija del poeta lord Byron, diseño programas para la maquina analítica e
incluso especulo sobre la posibilidad de que la maquina jugara ajedrez o compusiera
música. Lovelace fue así el primer programador del mundo y la primera de los muchos
que tuvieron que absorver enormes déficits por exceso de costos y que también
tuvieron, finalmente, que abandonar un ambicioso proyecto. Doron Swade y sus colegas
demostraron que el diseño básico de Babbage era viable, y echaron a andar un modelo
recurriendo solo a las técnicas mecánicas disponibles en la época de Babbage (Swade,
1993). La idea de Babbage era correcta, pero el carecía de los recursos de una
organización que le hubieran permitido construir su maquina.
La IA debe mucho también al área de software de la informática, pues la ha
dotado de sistemas operativos, lenguajes de programación y herramientas necesarias
para escribir programas modernos (así como disertaciones sobre estos). Sin embargo, tal
deuda esta compensada: la investigación en el área de la IA ha producido muchas ideas
novedosas que han ido a parar a la informática, como es el caso del tiempo compartido,
los interpretes interactivos, los datos tipo lista vinculada, la administración automática
de memoria y algunos de los conceptos clave de la programación orientada a objetos y
los entornos de desarrollo de programa integrado con graficas de interfaces de usuario.
Lingüística (desde el año 1957)
En 1957, B. F. Skinner publicó Verbal Behavior (Conducta verbal), una vasta y
detallada explicación del enfoque conductista al aprendizaje del lenguaje, escrito por el
más destacado experto de este campo. Curiosamente, una reseña sobre este libro obtuvo
tanto público como la obra misma y, además, provoco el casi total desinterés por esta.
El reseñista era Noam Chomsky, quien acababa de publicar un libro sobre su propia
teoría, Syntactic Structures (Estructuras sintácticas). Chomsky demostró como la teoría
conductista no abordaba el tema de la creatividad en el lenguaje: no explicaba como es
posible que un niño sea capaz de entender y construir oraciones que nunca antes ha
escuchado. La teoría de Chomsky (basada en modelos sintácticos que se remontaban al
lingüista hindú Panini, aproximadamente 350 A.C.) si podía explicar lo anterior y, a
diferencia de teorías anteriores, poseía la formalidad suficiente como para permitir su
programación.
Estudios posteriores en el campo de la lingüística hicieron patente que los problemas
eran mas complejos que lo considerado en 1957. El lenguaje es algo ambiguo; son
muchas las cosas que, aunque no se expresen, se interpretan tácitamente. Es decir, para
comprender un lenguaje se necesita también comprender el tema y contexto de lo que se
esta hablando, no basta con comprender la estructura de las oraciones empleadas. Lo
anterior podrá parecer obvio, pero a principios de la década de los 60 era algo que no se
había ponderado. Gran parte de los primeros trabajos de investigación en el área de la
representación del conocimiento (el estudio de cómo poner el conocimiento en una
forma con la cual la computadora pueda razonar) estaban vinculados al lenguaje y sus
fuentes de información eran las investigaciones realizadas por los lingüistas, a su vez
relacionadas con décadas de trabajo en el análisis filosófico del lenguaje.
La lingüística moderna y la IA “nacieron” al mismo tiempo, por lo que la primera no
desempeño un papel determinante en el desarrollo de la IA. Más bien ambas crecieron
juntas y se cruzaron en un campo híbrido denominado lingüística computacional o
procesamiento del lenguaje natural, y que se concentra en el problema del uso del
lenguaje.
Descargar