INTELIGENCIA ARTIFICIAL Prof. Constantino Malagón 26 de junio de 2002 Resumen Este artículo es una introducción a la inteligencia articial, desde sus fundamentos históricos a la investigación actual 1 Introducción El propósito general de la Inteligencia Articial (IA) es hacer computacional el conocimiento humano por procedimientos simbólicos o conexionistas [1]. Estas dos formas se corresponden con los dos paradigmas de la IA: el paradigma clásico o simbólico, programable y basado en el supuesto del conocimiento explicable por procedimientos de manipulación de símbolos, y el paradigma conexionista, autoprogramable por aprendizaje y donde el conocimiento viene representado por la propia estructura de la red neuronal articial. Ya se ha apuntado uno de los problemas fundamentales de la IA: la representación del conocimiento. ¾Cómo representamos el conocimiento en nuestro cerebro? o ¾cómo lo tratamos y hacemos accesible a cada uno de los módulos que conforman nuestro sistema cognitivo? El resultado que buscamos es un programa de ordenador sobre una máquina especíca desarrollado a partir de un modelo del conocimiento que supuestamente usaba eloperador humano que realizaba esa tarea [1]. Las tareas que aborda la IA se pueden clasicar en tres tipos: 1. Dominios formales, donde lo que se pretende es solucionar problemas mediante modelos de búsquedas en un espacio de estados, ya sean modelos de tipo algorítmico o heurístico. Estos problemas pueden ser juegos como el ajedrez o problemas lógico-matemáticos, como puedan ser la demostración de teoremas. 2. Dominios técnicos, donde usaremos conocimiento cientíco-técnico, posiblemente educido de un experto e intentaremos solucionar problemas del tipo de diagnósticos médicos, programación de robots, etc... Típicamente hablamos de sistemas expertos y de sus posibles aplicaciones. 1 3. Dominios cognitivos, en los que se intenta comprender el comportamiento de nuestro cerebro y sus funciones cognitivas (razonar, oír, hablar, incluso emocionarnos) emulando dichos procesos con modelos computacionales. Aquí conuyen las investigaciones de psicólogos, neurocientícos, lósofos, antropólogos e investigadores en IA en un campo muy reciente que se conoce con el nombre de Ciencia Cognitiva. Podemos llamarlo vida articial y hablaremos de ello en el siguiente punto. 2 Vida articial Se estudian los aspectos más comunes del comportamiento humano, es decir, qué hacemos en nuestra vida diaria y posiblemente de forma rutinaria, es decir, sin darnos cuenta. Como veremos estas tareas aparentemente simples que realizan los seres vivos son las más difíciles de simular. Hablamos y comprendemos lo que nos hablan con aparente facilidad, evitamos obstáculos cuando conducimos y recordamos hechos que nos pasaron en nuestra niñez, y nos emocionamos con ellos. El punto fundamental que subyace a estas simulaciones es si como dicen Maturana y Varela, todo conocer depende de la estructura que conoce. O en términos computacionales, qué relación hay entre el hardware (sustrato neuronal del cerebro) y el software (conocimiento interno cognitivo). La hipótesis fuerte de la IA supone que todos estos procesos físicos son reducibles a un nivel simbólico, y que por lo tanto la incapacidad para simular los procesos cognitivos se debe a que no disponemos de losprogramas adecuados. La hipótesis débil de la IA supone que nunca podremos simular todos los procesos computacionalmente debido a que faltaría tener el mismo sustrato biológico (que supone fundamental en dichos procesos) y la misma historia evolutiva. Podríamos hacer un símil diciendo que podremos hacer que un ordenador sea igual que un ser vivo (típicamente un ser humano) si conseguimos hacer un ordenador hecho con neuronas biológicas que nazcan y mueran, les demos un ambiente donde criarse y una familia que les de cariño, y se reproduzcan haciendo que los ordenadores mejor adaptados permanezcan en vez de los menos adaptados (de hecho hay una corriente muy nueva en la IA que se llama computación evolutiva, y que intenta emular este proceso de evolución con computadores). ¾Cuándo tenemos pues un problema de IA? 1. Cuando no exista una solución analítica o algorítmica conocida. 2. Cuando existan demasiadas posibilidades que hagan difícil el cómputo y podamos usar estrategias heurísticas para reducir ese cálculo. 3. Cuando es difícil el tratamiento de la información y posiblemente ese conocimiento sea incompleto. 4. Cuando nos enfrentemos a un problema que necesite el uso de un concimiento de sentido común. 2 Y todo con un aspecto fundamental que no debemos olvidar: sin aprendizaje (simbólico o conexionista) no hay IA. 3 Perspectiva histórica de la IA Para una revisisión histórica de la Inteligencia Articial podríamos empezar con la invención del computador, y situarnos en el año 1941, año en que el alemán Konrad Zuse construyó el primer computador programable, basado en válvulas de vacío y relés. Este hecho pasó desapercibido debido al aislamiento que se impuso a Alemania después de la Segunda Guerra Mundial. Por el mismo tiempo en Inglaterra el llamado grupo de Bletchey (porque se estudió en el centro secreto Bletchey Park, Buckinghampshire) se construyó Colossus, un computador también electrónico cuyo n era descifrar mensajes codicados. Debido a este n especíco se le conoce como computador de propósito especial, mientras que el computador de Zuse era de propósito general. Después de la guerra,en 1948, se construyó en la Universidad de Manchester un computador de propósito general llamado Mark I, que además se convirtió en el primer computador que se comercializó y el primero que funcionaba con un programa almacenado (mediante tarjetas perforadas). El primer computador que se construyó en Estados Unidos fue el ENIAC (acrónimo que signica Computador e Integrador numérico Electrónico). El ENIAC lo construyeron en la Universidad de Pennsylvania John Mauchly y J. Presper Eckert en 1945 (casi dos años después que el Colossus), pero se programaba mediante la manipulación de los cables e interruptores que lo formaban, es decir, había que cablearlo para cada tarea. El verdadero respaldo lo recibió del apoyo de Von Newman, por entonces una de las más reputadas e inuyentes matemático y lógico de la época, y que le llevó luego a formular su celebre arquitectura en la que se basan todos los computadores actuales, la llamada arquitectura de Von Newman. Después Mauchly y Eckert construyeron el BINAC, que ya funcionaba con un programa almacenado, y más tarde se comercializó el primer computador americano llamado UNIVAC. En 1952 apareció el IBM 701, construido por Nathaniel Rochester y su grupo, fue comercializado y aportó grandes benecios a IBM que le hizo pasar a ser una de las empresas más grandes del mundo. A partir de aquí el avance de las ciencias de la computación se hizo imparable hasta alcanzar el grado de desarrollo actual. Pasemos ahora a la evolución propia de la IA. Vamos a distinguir el proceso histórico en 5 etapas: 3.1 Neurocibernética La IA comenzó siendo computación neuronal con el trabajo teórico de Warren McCulloch y Walter Pitts Ün cálculo lógico de las ideas inmanentes en la actividad nerviosa", escrito en 1943 y donde describían lo que llamaron neurona articial básica, y donde demostraban que una red de neuronas formales de McCullogh-Pitts es equivalente a una máquina de Turing de cinta nita. Si 3 la red es programable entonces es equivalente a una máquina universal. Este trabajo funda las bases de la neurocomputación o estudio y desarrollo de las redes de neuronas articiales. Se pone énfasis en la estructura física subyacente, es decir, hacen coincidir estructura y función. Y ésto se contrapone a la distinción que sí hacían Weiner (cuyo artículo en 1943 junto con Arturo Rosenblueth y Julian Bigelow Conducta, propósito y teleología dió el nombre Cybernetics a la primera etapa) o Alan Turing entre información y máquina física, es decir, tratan la información como puramente formal sin dimensión física. Otro trabajo reseñable es el de Kenneth Craik The nature of explanation, que introdujo la idea de razonamiento abductivo (aquel que parte de un efecto, por ejemplo unos síntomas, y se busca la causa que lo provocó -la enfermedad-). En 1949 Donald O. Hebbs escribió La Organización de la conducta, que sugirió un método para que las redes neuronales aprendiesen. Y en 1950 Alan Turing propuso su famoso Test para intentar reconocer la inteligencia en las máquinas. Podemos considerar estos trabajos como fundacionales de la IA, y a partir de 1956 la IA simbólica pasa a ser la corriente dominante en la IA, oscureciendo por completo a la IA conexionista. 3.2 Periodo clásico En 1950 empezó a proponerse (Newell y Simon) la idea de que las máquinas podían manipular símbolos que representasen conceptos al igual que datos numéricos. En 1955 Allen Newell, Herbert Simon y J.C. Shaw escribieron el primer programa de IA que llamaron Logic Theorist; este programa probaba teoremas usando una combinación de búsqueda y reglas. En particular probó algunos teoremas de los Principia Mathematica de B. Russell y A. N. Whitehead, algunos de los cuales de forma más elegante que los propios autores. La programacón la hicieron con un lenguaje de su invención llamado IPL (Information Processing Language) orientado al manejo de símbolos. En 1956 tuvo lugar la famosa conferencia de Dartmouth sobre máquinas inteligentes promovida por Marvin Minsky y que pretendía servir como punto de encuentro y de debate entre investigadores de la IA. La conferencia resultó menos productiva de lo que Misnky pretendía, pero puso los pilares sobre lo que después se fundamentaría la IA (además de dar el nombre de Inteligencia Articial a la nueva disciplina). Además en ella Newell y Simon presentaron su programa, y tuvo un gran impacto por los resultados obtenidos y por lo relativamente poco conocidos que eran sus creadores para el resto de investigadores. Los asistentes fueron John McCarthy (profesor del MIT y creador del lenguaje LISP en 1958, con el que se construyen hoy en día la mayoría de sistemas expertos); el ya reseñado Marvin Minsky, uno de los padres de la IA, Claude Shanon, Nathaniel Rochester, ray Solomono, Oliver Selfridge, Trenchand Moore, Arthur Samuel (que desarrolló programas para jugar al ajedrez), Herbert Simon y Allen Newell. En 1958 John McCarthy y Marvin Misnky fundan el laboratorio de Inteligencia Articial en el MIT. En 1959 Newell y Simon desarrollan el programa GPS (General Problem Solver); incorporaba medios de búsqueda heurística para re4 solver problemas en entornos formales (demostración de teoremas, operaciones albebráicas y triginométricas,...). Se basaba en la técnica de análisis "mediosnes", que busca reducir la diferencia entre el estado inicial y el estado meta mediante la selección de una secuencia de operadores que hagan mínima esa diferencia. "Todos los trabajos de esta época (1956-década de los 60) se centraron en problemas propios de dominos formales ("micromundos"), que no dejaban de ser idealizaciones del mundo real: demostraciópn de teoremasen cálculo proposicional, estrategias heurísticas en juegos, planicación de acciones y trayectorias en el mundo de los bloques y probleams de juegos (misioneros y caníbales, el problemas de las ocho reinas,...). en todos los casos la Ia se entiende como búsqueda en un espacio de estados y se supone que no es necesario mucho conocimiento especíco sobre el dominio, haciendo énfasis en las estrategias de control usadas para guiar la búsqueda."[1] A partir de 1960 se empiezan a apuntar las limitaciones de los micromundos idealizados como escenario de los problemas, y se empieza a resaltar la importancia de la información del domino y la forma de representar esa información. Incluso se vuelve la mirada hacia los prgramas de sentido común (McCarthy), realizando programas que aprendan de la experiencia y sean capaces de deducir consecuencias más o menos inmediatas de hechos que conzcan o se le digan. 3.3 Periodo de los sistemas basados en conocimiento Como decíamos a partir de los años 70 se empieza a estudiar la información que debemos tener de un dominio más o menos general y la forma de representarlo (en especial una controversia sobre si la lógica formal podía servir como medio de representacióndel conocimiento). Es la época del predominio de los sistemas basados en conocimiento (SBC) y de los sistemas expertos (SE). Lo que se pretendía era modelar el conocimiento sobre un dominio (extraído de un experto en el caso de los SE), e inferir con ese conocimiento (aunque restringidos endominios especícos y a menudo cientíco- técnicos como la medicina). Durante estos años se desarrollaron numerosos sistemas como SHRDLU (por Terry Winograd), y Robots que operaban en mundos restringidos (como mundos de bloques), o ya más recientemente sistemas como MYCIN o PROSPECTOR, programados con reglas (sistemas basados en reglas de producción) y con tratamiento de la incertidumbre, o redes semánticas, introducidas por Ross Quillian en 1968. Se desarrollaron varios métodos para representar el conocimiento: 1. Lógica formal: se postuló la existencia de un sistema formal que nos serviría para representar el conocimiento y realizar inferencias sobre él. Con el tiempo se vió que lógica clásica o de primer orden no parecía adecuada para explicar el razonamiento de sentido común, o los diferentes sesgos producidos en tareas como la de las cuatro tarjetas de Wason. Y debido a ello se desarrollaron otros sistemas lógicos que incluían las lógicas modales o las lógicas multivaluadas y difusas, que eran generalizaciones 5 de la lógica de primer orden, y por lo tanto, reducibles a ella en el límite clásico. Todavía sigue la controversia sobre si poseemos o no un sistema lógico formal con el cual razonamos, y la dependencia semántica de éstos razonamientos. 2. Reglas de producción: lo que se hace es programar sistemas que operen con reglas del tipo si..entonces, y razonamientos basados en silogismos como el modus ponens. Ejemplos de estos sistemas (casi siempre sistemas expertos) son MYCIN, EMYCIN, PROSPECTOR, CASNET, CENTAUR y un largo etcétera. 3. Redes semánticas: introducidas como ya hemos dicho por Quillian y que actuaban a modo de deniciones de un diccionario, y en las que esas deniciones pueden entrecruzarse para denir otras. se organizaban en redes de conceptos compuestos por nodosy enlazadas por relaciones o arcos. 4. Marcos: desarrollado por Marvin Minsky en 1974 como forma de representar el conocimiento y a partir de los modelos de memoria de Bsrttlet. Consisten en un conjunto de esquemas ordenados jerárquicamente que describen de forma estructurada nuestro conocimiento y que llevan asociados el conocimiento implícito relativo a esas situaciones (tan característico de los seres humanos). Análogos a éstos son los guiones y planes, sólo que ahora la estructuración en vez de ser por clases o categorías, lo es de forma temporal. 3.4 Periodo del renacimiento del conexionismo El ocaso del conexionismo vino dado por nua crítica al modelo de perceptrón lineal de Rosenblatt realizada por Minsky y Papert en 1956 en su libro Perceptrons, en el que demostraban la imposibilidad de separar funciones no lineales por medio de un perceptrón lineal (aunque ya Rosenblatt lo apuntó antes). No fue hasta 1968 cuando Rumelhart, McClelland y el grupo PDP (Parallel Distributed Proccessing) desarrollaron el perceptrón multicapa y el algoritmo de aprendizaje por retropropagación de errores (o BP: backpropagation), mediante el cual pudieron solucionar el problema de la separación de la función XOR. Desde entonces han sido muchos los modelos basados en redes neuronales que se han propuesto, desde el modelo de Hopeld a las redes competitivas y los mapas autoorganizados de Teuvo Kohonen. Referencias [1] Mira, José. Boticario J. G. (1995). Aspectos básicos de la IA. Ed. Sanz y Torres. [2] Russell, Stuart. Norving, Peter (1996). Inteligencia Articial. Un enfoque moderno. Ed. Prentice Hall. 6 [3] Rich, Elaine. Knight, Kevin (1994). Inteligencia Articial. Ed. McGraw Hill. [4] Copeland, Jack (1993). Inteligencia Articial. Ed. Alianza Universidad. [5] Hofstadter, Douglas R. (1979). Gödel, Escher y Bach. Un eterno y grácil bucle. Tusquets editores. 7