{PRIVADO } ANEXO A. PERSPECTIVAS DE LA IA "Puede considerarse que una máquina es inteligente si puede pasar por un ser humano en una prueba ciega" Alan Turing. La vida está llena de problemas. La búsqueda de soluciones de algunos genera teorías y métodos o estrategias. Tenemos la capacidad para ello, pero hace falta tiempo, es lo que decimos. El computador por la rapidez para efectuar cálculos y realizar búsquedas se emplea como herramienta fundamental. Sin embargo, hay que decirle al computador cómo debe procesar, qué debe procesar y cuándo debe hacerlo. No piensa, no decide, no razona, quizás algún día lo haga, pero por ahora hay que simular procesos para que ocurra esto, requiriéndose imaginación, creatividad y conocimiento, por supuesto inteligencia. ¿Qué es la inteligencia artificial? En una primera aproximación, se define como la rama de la computación que estudia la automatización del comportamiento inteligente. Otra definición sería: Es un campo de estudio que se enfoca a la explicación y emulación de la conducta inteligente en función de procesos computacionales. La investigación en este campo ha llevado al desarrollo de lenguajes, métodos y herramientas, como hallar formalismos para representación del conocimiento y procesos que lo emplearían; lenguajes, estructuras de datos y técnicas de programación utilizados para la implementación de ese conocimiento. Pero las definiciones anteriores no son completas al referirse a la inteligencia, algo muy difícil de precisar. A pesar que para las personas es "obvio" distinguir cuando un comportamiento es inteligente, la intuición que avala este juicio resulta imposible de describir con el suficiente grado de detalle para utilizarse como criterio formal de la supuesta inteligencia de una máquina. Se necesitan, por tanto, criterios más elaborados para delimitar los problemas que caen dentro de la esfera de la inteligencia artificial (IA) y validar los resultados de los programas construidos para resolverlos. Al tomar el ser humano como modelo de comportamiento inteligente, el objetivo sería reproducir en el computador la eficacia de sus reacciones frente a tareas o situaciones complejas. La base para obtener un rendimiento aceptable del computador es el paradigma de comunicación hombre-máquina. Un lenguaje de programación tiene cerca de 80 palabras claves, cada una con significado preciso y sin ambigüedad. Los computadores o las máquinas ejecutan las instrucciones escritas sin cometer errores, sin realizar una Inteligencia artificial comunicación con el usuario, sin hallar alternativas ni presentar explicaciones. Para superar las limitaciones se desarrollan herramientas que facilitan una comunicación natural y le permiten a la máquina escoger su "propia" estrategia. Aunque las aplicaciones en lenguaje natural han logrado mejores resultados, éstas limitan el dominio para alimentar el sistema solamente con información relevante. Uno de los principales objetivos de los investigadores en IA es la reproducción automática del razonamiento humano1, para contestar preguntas como: ¿puede ser inteligente una máquina?, ¿podría pensar una máquina?, ¿cómo sería el proceso de aprendizaje en la máquina?2 Teniendo en cuenta que una máquina no puede aprender sin el hombre; por tanto, es un sistema medio mecánico, medio humano, se deben modelar los diferentes procesos del ser humano que establecen métodos de aprendizaje. En el proceso del desarrollo de la IA es fundamental la simbiosis del ser humano con la máquina. Aunque nadie pronostica con precisión lo que se podría esperar en el futuro, es evidente que los computadores que posean inteligencia tendrán repercusiones muy importantes en la vida. Desde el momento mismo en que fue consciente el ser humano de la razón que poseía, la ha aprovechado de manera "más o menos" eficiente; siempre ha buscado librase de las tareas pesadas y complejas que debe realizar, y esto le ha generado un esfuerzo continuo que poco a poco ha dado sus frutos. La historia de la ciencia nos enseña que la verificabilidad y, por tanto, la fiabilidad del conocimiento humano nuevo ha sido una constante preocupación del ser humano. Para profundizar un poco más sobre la IA, es necesario iniciar por discutir, ¿qué es inteligencia? Aunque no se ha llegado a ningún acuerdo sobre su definición, se toman diferentes connotaciones como: * * * * * La capacidad para usar herramientas. La habilidad de razonar3. El poder de razonamiento. La habilidad para recibir, procesar y producir conocimiento. La capacidad para resolver problemas y lograr fines. 1 La manera más directa de observar el razonamiento es el lenguaje de un protocolo. Un protocolo es la descripción en lenguaje (generalmente escrito) del comportamiento observado en un proceso cognitivo. 2 Una de las críticas más fuertes a la IA, es que las máquinas no son inteligentes hasta que no sean capaces de aprender a hacer cosas nuevas y a adaptarse a nuevas situaciones, en lugar de limitarse a hacer aquellas actividades para que se les programan. Al preguntarnos si un computador es capaz de aprender. ¿Qué decimos exactamente con aprender y qué mecanismos son los necesarios para llevar a cabo dicha actividad? En IA se han propuesto numerosos mecanismos para llevar a cabo un tipo de aprendizaje; sin embargo, resulta difícil determinar un aprendizaje sólo al tratar de resolver problemas. 3 Por razonar se entiende la actividad mental en que a partir de dos o más relaciones se llega a establecer una relación nueva. Luis Carlos Torres Soler 222 Reseña histórica de la IA * La capacidad para aprender de la experiencia. La interpretación de conceptos como razonamiento, pensar, aprender, conciencia, juicios de valor, etcétera, produce perplejidad y deben dilucidarse mediante la contribución de la filosofía, de la sicología genética, la neurofisiología que estudian el desarrollo de las funciones mentales. Inteligencia: facultad de entender o conocer. Esta breve manera de definir la inteligencia parece ser demasiado simplista y carente de la profundidad que algo tan complejo y abstracto debiera de tener; sin embargo, al comienzo es necesario presentar lo complejo de la manera más sencilla, para así contar con una base pequeña pero sólida en la cual fundamentar el desarrollo del estudio que nos llevará primero a darnos cuenta que está definido en realidad, envuelve más de lo inicialmente señalado y, posteriormente comprender totalmente su significado más amplio. El conocimiento va más allá de la visión del objeto o sujeto, se refiere también a las características internas o comportamiento del sujeto y de sus reacciones a los estímulos del medio y de las relaciones con otros sujetos. Marvin Minsky dice: En todo caso, ¿qué es inteligencia? Es sólo una palabra con que nos referimos a los procesos desconocidos con los cuales nuestro cerebro resuelve problemas que consideramos difíciles. Sin embargo, cuando logramos dominar una habilidad, ya no nos impresiona ni mistificamos el hecho que otras personas hagan la misma tarea. Por ello, el significado de inteligencia nos parece tan escurridiza: no describe algo definido, sino únicamente el horizonte temporal de nuestra ignorancia en cuanto a cómo funciona la mente. Por tanto, para muchos es la característica que distingue al ser humano de las demás especies; pueden plantearse definiciones con el objeto de determinar una base que ha servido para el estudio que se ha realizado. Inteligencia es la capacidad para estar en un mundo y tener conciencia de la existencia 4. o Inteligencia es la capacidad de un sistema para incrementar su conocimiento y la creación de métodos para solucionar problemas5. o Capacidad de comportarse autónoma y decisivamente ante cualquier situación, observar relaciones y características, realizar acciones para llegar 4 De algún modo, se considera la inteligencia como una abstracción de ciertos tipos de comportamiento. A través del comportamiento se detecta la inteligencia, aun cuando por medio del comportamiento se deducen capacidades intelectuales y la capacidad para adquirir una habilidad implica el potencial para comportarse de un modo determinado. 5 Cualquier tipo de sistema, también los biológicos, complejos, ecológicos, formales, ... Universidad Nacional de Colombia 223 Inteligencia artificial a otra situación. o Capacidad mental de actuar con base en un fin, en forma racional, adaptándose a un ambiente complejo. o Capacidad de un ser vivo o máquina de ordenar información, amplias observaciones, experiencias, descubrir interrelaciones para abstraer de esta forma cosas y poderlas ligar entre sí [Alexander Sporl, 1971]. Hay varios modos de razonar y de considerar situaciones complejas: deducción, inducción, abducción. Deducción. Permite obtener conclusiones por reglas al comprobar las premisas. Deducir lógicamente nueva información relacionada con información conocida. Ejemplo. Dadas las premisas: Todos los conejos son mamíferos Todos los mamíferos tienen riñones Se deduce: Todos los conejos tienen riñones. La característica definitoria de un argumento válido es su imposibilidad que sean verdaderas todas las premisas y la conclusión falsa, porque la información que existe en la conclusión ya está almacenada en las premisas. 6 Inducción . Produce reglas generales a partir de observaciones al comportamiento de objetos, situaciones o procesos particulares. Ejemplo: Dada la premisa: Todos los cuervos vistos son negros. se induce la conclusión Todos los cuervos, vistos o no, son negros. La característica definitoria de un argumento es que la información contenida en la conclusión va más allá de la información contenida en las premisas. Por tanto, puede ser que los argumentos inductivos fallen por ser verdaderas sus premisas y falsas las conclusiones. De hecho, se tiene conocimiento que a veces las inferencias inductivas han fallado (¡existen cuervos grises!) 6 El principio de inducción fue propuesto por David Hume (1711-1776) Luis Carlos Torres Soler 224 Reseña histórica de la IA La inducción es particularmente un razonamiento por analogía (se comparan situaciones casi similares con parámetros desconocidos). Abducción. Forma de deducción que permite inferencia "pausible". Por pausible se entiende que la conclusión puede deducirse de la información disponible, aunque no haya sido del todo probada. Estas clases de razonamiento pueden utilizarse de un modo analítico (el razonamiento se divide en submódulos) o de un modo sintético. Los métodos para razonar no son pocos. La iteración significa repetir la misma secuencia de razonamiento hasta alcanzar una condición final; la recursión consiste en una forma particular del razonamiento de volver sobre sí mismo. Cuando se hace un razonamiento, sustituimos casi la totalidad de la realidad por un modelo, es decir, un sistema conceptual que contiene únicamente una representación abstracta de algunos de los atributos del sistema sobre el cual razonamos. Por tal motivo, el ser humano ha llegado a aceptar que la inteligencia no es exclusiva de él y se hace necesario hablar de inteligencia animal, inteligencia sistémica e incluso de inteligencia asociada a una máquina7. Así, los científicos orientan sus esfuerzos al desarrollo de modelos, desde luego computacionales, para identificar la forma en que el ser humano representa el conocimiento y la forma en que razona, aprende y crea. La posibilidad de existencia de máquinas pensantes ha estado presente entre nosotros, pero no nos ponernos de acuerdo en el sentido de la palabra pensar. Si se define pensar como "algo orgánico y natural en el cerebro que permite tomar decisiones o deliberar", se diría que los computadores no llegarán a pensar. A la postre, se tendrá que adoptar determinaciones que satisfagan la necesidad de contar con comunicación clara. En la naturaleza puede observarse que todos los fenómenos responden a sus propias leyes, pero que estas leyes pueden estar diseminadas en diferentes individuos. Un buen ejemplo de esto es una colonia de hormigas: se conoce que dentro de la información que contienen las neuronas de cada hormiga no se encuentra cómo construir un hormiguero y, sin embargo, todas las hormigas en conjunto logran maravillosas obras de arte. Pero entonces, ¿dónde está dicha información? Sin duda, la respuesta es que la información está en sus elementos (hormigas), su interacción y química en el cerebro. Un caso similar es el de las abejas. En general, en la naturaleza, todo el tiempo se dan muestras de comportamiento 7 Sistémica al determinar el comportamiento inteligente como un todo, ya sea grupo o ecosistema. El comportamiento inteligente está relacionado con la habilidad para construir, describir, interpretar, comparar, modificar y utilizar estructuras complejas. Igualmente, existen otros términos que buscan determinar mejor cómo es el comportamiento, como: inteligencia emocional, inteligencia estratégica, inteligencia competitiva, ... No se entra a discutir ni a plantear aspectos de la inteligencia dados por Howard Gardner. Universidad Nacional de Colombia 225 Inteligencia artificial inteligente: la supervivencia de las especies más fuertes y la adaptación de la naturaleza como un todo8. La llegada a este punto hace surgir otra pregunta: ¿dónde está la diferencia de la inteligencia humana con la de otras especies? Sin duda, no hay otra especie con capacidad de formar conceptos generales o imaginar mundos hipotéticos que permitan proyectar futuros para elegir las mejores opciones. El hecho que los símbolos puedan actuar en los procesos mentales brinda cierta independencia mental respecto a la realidad: podemos crear universos artificiales, donde sucedan acontecimientos ficticios caracterizados por los detalles que se nos ocurra asignarles. Sin embargo, los símbolos, de los cuales emana toda esa prodigalidad, están profundamente unidos a la realidad. Alan Mathison Turing (1912-1954) es considerado el padre de la teoría de la computación y de la IA. Entre las capacidades humanas que involucran las facultades intelectuales, la de mayor relevancia es dialogar en su propia lengua. Precisamente esa capacidad fue la que el matemático Alan Turing utilizó como base para plantear la validación de una máquina inteligente en su famoso ensayo "Computing machinery and intelligence" (1950), uno de los primeros trabajos encaminados a plantear este objetivo. Se trataba de un test. El test propone un criterio empírico para comparar el desempeño de un computador al de un humano en un "juego de imitación" en que el computador trata de hacerse pasar por un humano. En su versión más simple, el dispositivo experimental consta de un interrogador humano que puede comunicarse con un computador y una contraparte humana por medio de una terminal (o cualquier dispositivo de transmisión de texto). Se le pide al interrogador, que está aislado y no tiene la posibilidad de mirar o hablar directamente con sus interlocutores, que distinga cuál de ellos es el humano, basándose sólo en las respuestas a las preguntas hechas a través de la terminal. Si dialogando de esta manera el computador logra engañar al interrogador, puede asumirse que es inteligente. El aspecto más interesante de este test es que establece una noción objetiva de inteligencia que evita entrar en debates filosóficos sobre su "verdadera" naturaleza. A pesar de sus ventajas, el test de Turing es vulnerable a varias críticas justificadas que impiden considerarlo como único criterio de validación de inteligencia: El juego de imitación obliga al computador a reproducir no sólo las destrezas del comportamiento humano, sino también sus flaquezas. Para no ser detectado, el computador debe cometer el mismo tipo de errores que un humano, por ejemplo, en el caso de operaciones aritméticas complejas. Esto es contraproducente desde el punto de vista tecnológico. Lo que realmente importa en un sistema de diálogo es la ergonomía de la 8 En los seres humanos y para efectos de supervivencia, los individuos formulan hipótesis sobre las que construyen interpretaciones del mundo. Tales interpretaciones concluyen en teorías sobre las cuales se apoya la supervivencia. Las teorías tienen su coherencia; normalmente, un orden de las cosas es inteligencia (aunque también lo es el caos). Luis Carlos Torres Soler 226 Reseña histórica de la IA comunicación, y no que el computador sea capaz de hacerse pasar por humano. Hay un sesgo a problemas que dependen de las capacidades de procesamiento simbólico. No se pueden evaluar capacidades perceptuales o de destreza manual. El test se basa enteramente en la inteligencia humana. Esto restringe innecesariamente el tipo de inteligencia que puede implementarse en un computador. El test indica si un programa cumple o no el criterio de inteligencia, pero en caso de falla no entrega herramientas para corregir defectos y orientar su desarrollo. Tampoco permite realizar validaciones parciales, indispensables desde el punto de vista de la ingeniería de software, si se considera la complejidad de los sistemas inteligentes. La IA se aborda de una manera más general, analizando los distintos objetivos que justifican su estudio. El nacimiento de la IA se atribuye a la conferencia en 1956 organizada por John McCarthy, del Dartmouth College en New Hampshire9, y quien convenció a Marvin Minsky (fundador del laboratorio de IA en el MIT), Nathaniel Rochester (de IBM) y Claude Shannon (de los laboratorios BELL) para que le ayudaran a congregar investigadores interesados; asistieron entre otros, Treonchard More, Arthur Samuel que había escrito un programa de juego de damas capaz de aprender de su propia experiencia, Ray Solomonoff, Frank Rosenblat y Oliver Selfridge que estudiaba el reconocimiento visual por computador. Allen Newell (primer presidente de la AAAI Asociación Americana de Inteligencia Artificial), J.Cliff Shaw y Herbert Simon, premio nobel, de la Carnegie Mellon. Allí se acuña el termino "artificial intelligence". A partir del grupo inicial, se formaron grandes "escuelas", quizá con diferentes enfoques pero proponiéndose entender la inteligencia humana y usar las máquinas para adquirir conocimiento y resolver problemas considerados como intelectualmente difíciles. Debe considerarse, sin embargo, que el primer trabajo de IA fue realizado por Warren McCulloch y Walter Pitts (1943), quienes propusieron un modelo constituido por neuronas artificiales (A logical calculus of the ideas environment in nervous activity)10, insinuando la posibilidad de aprendizaje por redes de neuronas definidas para tal propósito. Donald Hebb (1949) presentó una sencilla regla (regla de Debb) para modificar las intensidades de las conexiones entre neuronas, ampliando la capacidad de aprendizaje por las redes neuronales. Sin embargo, hay que reconocer otros hechos 9 Esta conferencia rindió honor a Alan Turing. Turing nació en Londres en junio 23 de 1912. En 1937, en la Sociedad de Matemáticas dicto su célebre conferencia de los números computables en la que planteó la idea de una máquina que podría procesar por medio de un reglamento (programa), también propuso el concepto de las máquinas teóricas, las cuales podrían contestar a cualquier pregunta de un interlocutor. El 7 de junio de 1954 se envenenó e hizo célebre el silogismo: "Turing cree que las máquinas piensan. Turing se acuesta con los hombres. Luego las máquinas no piensan". 10 Se abreviaron tres fuentes: conocimiento sobre fisiología y funcionamiento de neuronas, análisis formal de la lógica proposicional y teoría de computación. Universidad Nacional de Colombia 227 Inteligencia artificial históricos que contribuyeron notablemente. Charles Babbage, nacido en 1792, inventó máquinas para calcular, así como la Máquina diferencial y la Máquina analítica. Ada Lovelace, colega de Babbage, demostró características de la Máquina analítica. Algunos hechos importantes para el desarrollo de la IA, además de los enunciados, se muestran a continuación, esto no constituye un resumen completo de las actividades y procesos realizados pero sí aporta una visión de los resultados fundamentales. 1918. Karel Capek acuña el término "robot", que significa "trabajador" en checo. La lengua inglesa mantiene la palabra desde 1923. 1935. John Von Neuman desarrolla su teorema "mínimos y máximos" utilizado en juegos. 1936. Shannon demuestra elementos de la lógica booleana a partir de circuitos. 1937. Vannevar Bush construye el Analizador diferencial analógico en el MIT. 1939. Turing publica sus trabajos sobre la máquina que lleva su nombre. 1940. Atanasoff y Berry construyen el primer ordenador eléctrico, el ABC. 1942. Primer ordenador en Gran Bretaña (Robinson) basado en relays para decodificar mensajes de los Nazi a partir de algoritmos de Turing. 1943. Se construye en Alemania el primer ordenador programable. 1944. Aiken termina la construcción de "Mark I", primer ordenador programable en Norteamérica. 1946. Vannevar Bush publica "As we may think ...", o "Cabría imaginar ... ", en Atlantic Monthly el cual sienta las bases de lo que hoy conocemos como Hipertexto, Multimedia e Hipermedia. Eckert & Mauchley construye, "ENIAC", ordenador digital programable. Shannon desarrolla la Teoría de la Información base fundamental de la Informática y varias de sus áreas. 1947. Shannon propone el primer programa de ajedrez. 1950. Turing publica "Computing machinery and Intelligence" en el que proponía pruebas para reconocer "comportamientos inteligentes"; se simulaba el comportamiento del cerebro humano, dado que la inteligencia de un sistema vendría dado por la sensación de capacidad para procesar conocimiento recibido desde terminales distantes conectadas. Claude Shannon y Alan Mathison Turing se ocupaban de escribir programas de ajedrez para computadores convencionales al estilo Von Newman11. 11 La condición del ordenador como simulacro de ciertas funciones cerebrales es tan obvio, que Von Neumann se puso a estudiar en 1955-56 neurología, para poder copiar el modelo estructural simplificado del cerebro humano, fruto de cuya investigación surgió un ciclo de conferencias sobre cerebro y ordenador. Von Neumann subrayó el funcionamiento digital de las neuronas, a las que calificó como "órganos digitales básicos", ya que generan y propagan impulsos nerviosos (bioeléctricos) unitarios. Pero hizo notar también que el sistema nervioso aventaja al ordenador en tamaño-densidad operacional, en capacidad de memoria y en disipación de energía, aunque su velocidad es menor y su fatiga mayor que las del ordenador. Estas observaciones de Von Neumann, efectuadas en 1956, siguen siendo correctas, a pesar Luis Carlos Torres Soler 228 Reseña histórica de la IA 1951. Eckert & Mauchley comercializan UNIVAC el primer ordenador en venta. Marvin Minsky y Dean Edmonds construyeron el primer computador con redes neuronales. 1952. Arthur Samuel escribió una serie de programas para el juego de damas. 1955. Newell y Simon desarrollaron "The Logic Theorist", programa considerado por muchos como el primero de IA; el programa representaba cada problema en estructura de árbol e intentaba solucionarlo al seleccionar las ramas que más probablemente llevaban a la solución. Newell, Shaw y Simon con el llamado GPS (General Purpose Systems) buscaban demostrar proposiciones de la lógica y crean "IPL-II" considerado el primer lenguaje de programación para IA. El GPS era un sistema en el que el usuario definía un entorno en función de una serie de objetos y los operadores que se podían aplicar sobre ellos. Este programa era capaz de trabajar con las torres de hanoi, con criptoaritmética y otros problemas similares, operando, claro está, con microcosmos formalizados que representaban los parámetros dentro de los cuales se podían resolver problemas. El GPS manejaba reglas heurísticas (aprender a partir de sus propios descubrimientos) que lo conducían hasta el destino deseado mediante el método del ensayo y error. 1956. En la conferencia de Darmouth se aprueba el nombre de Inteligencia artificial. 1958. Ulam desarrolla "MANIAC I", programa de ajedrez que logra derrotar a un ser humano. McCarthy definió el lenguaje de alto nivel LISP y publicó el artículo Programas con sentido común (Programs with common sense), en el que escribió tal vez el primer sistema de IA completo el Escucha consejos. Roger Schank promovió el análisis del lenguaje a fin de interpretar el significado de las palabras. En IBM, Nathaniel Rochester y sus colegas produjeron algunos programas de IA. Friedberg explora el paradigma para la solución de problemas basado en la teoría de la evolución. Los primeros pasos de la computación evolutiva estaban basados en la premisa que efectuando una serie de pequeñas mutaciones a un programa en código de máquina se podría generar un programa con buen desempeño en la realización de cualquier tarea sencilla. 1959. Herbert Gelertner, de IBM, construyó el demostrador automático de teoremas de geometría. La década del 60 vio sentar los principios básicos de la investigación en ideas de resolución de problemas, como del nacimiento de los sistemas expertos (SE). 1960. Chomsky escribe "Estructuras sintácticas". McCarthy mejora el lenguaje LISP, para procesamiento simbólico de la información. Robert K. Lindsay, desarrolla un programa orientado a la lectura de oraciones en inglés y la extracción de conclusiones a partir de su interpretación, se denomina "Sad Sam". Alex Bernstein desarrolla un programa para el juego de ajedrez. Sería un antepasado de la máquina "Deep Blue"12. 1961. Minsky y McCarthy crean el laboratorio de IA en el MIT. Se desarrolla SAINT (Simbolic Automatic INTegrator) por James Slagle el cual se orienta a la demostración simbólica en el área del álgebra. del gran progreso tecnológico ocurrido. 12 El 10/02/96, el programa Deep Blue derrota a Garry Kasparov; este programa valora 5 millones de posiciones en 30 minutos. Esta máquina continua su desarrollo. En noviembre del 2006, la máquina Deep Fritz derrota al campeon muldial de ajedrez, Kranmik. Universidad Nacional de Colombia 229 1962. Inteligencia artificial Rosenblatt introduce el Perceptron. Bernie Widrow (1960) y Frank Rosenblatt reforzaron los métodos de aprendizaje de Hebb a través de las redes neuronales Adaline y Perceptron, respectivamente. Rosenblatt demostró el famoso Teorema de convergencia del Perceptron, con lo que afirmó que su algoritmo de aprendizaje podía aprender cualquier función, siempre y cuando tal aprendizaje fuese factible. 1963. EL programa de ajedrez de Samuel gana juegos contra grandes jugadores. McCarthy se muda a Standford donde funda el laboratorio de IA. 1964. Bertrand Raphael construye el sistema SIR (Semantic Information Retrieval) el cual era capaz de comprender oraciones en inglés. 1965. Se desarrollan los primeros robots industriales. ARPA da un fondo de investigación de dos millones de dólares al laboratorio de IA del MIT. 1966. Quillian desarrolla las Redes semánticas como modelo de representación del conocimiento. Minsky escribe "Steps Toward Artificial Intelligence". 1968. Bobrow desarrolla STUDENT. Se comienza el desarrollo de BBNLisp en BBN. Buchanan, Feigenbaum y Lederberg comienzan el proyecto DENDRAL, el primer Sistema Experto. 1969. Iva Sutherland hace demostración del primer monitor en forma de casco para realidad virtual. Se celebró el primer congreso internacional de IA. Bryson y Ho proponen algoritmos de aprendizaje de retropopagación (backpropagation). 1970. Simon predice "para 1985 los ordenadores serán capaces de realizar cualquier trabajo que un hombre pueda hacer". Apareció la revista Artificial Intelligence. 1971. Dreyfus argumenta en contra de la IA. 1973. Donald Michie funda el laboratorio de IA en Edinburgo. Minsky publica "Semantic Information Processing". William Woods construyó el sistema LUNAR (programa de lenguaje natural utilizado por personas distintas al autor, sistema que realiza una tarea). Minsky y Papert critican el Perceptron. Colmerauer desarrolla PROLOG lenguaje basado en la lógica como esquema de representación para el desarrollo de programas de IA, quizás el lenguaje de IA más popular por mucho tiempo. 1974. Winograd crea SCHRDLU. Dreyfus publica "What Computers Can't Do". 1975. Minsky propone la noción de Frame (marco) para la representación del conocimiento. 1977. Se desarrolla el lenguaje SmallTalk en Xerox PARC. Shank y Abelson desarrollan los guiones (scripts), base de muchas técnicas actuales de la IA y la Informática en general. Roger Shank, en Yale, reforzó la importancia del conocimiento en el área de la comprensión del lenguaje natural. 1978. Edward Shortliffe escribe su tesis con MYCIN, un sistema experto muy conocido. Se desarrolla el primer robot controlado por ordenador. 1979. Minsky publica "A Framework for Representing Knowledge". Se establece la red SUMEX-AIM para aplicaciones de la IA en medicina. 1980. La DARPA lanza un programa de financiación para el procesamiento y comprensión de Luis Carlos Torres Soler 230 Reseña histórica de la IA imágenes. 1981. Greenblatt crea "CONS" el primer ordenador con arquitectura para LISP. Kurzweil introduce su máquina lectora. Lenat introduce su "Automated Matematician". Xerox comienza a desarrolla ordenadores LISP. Raj Reddy funda el Instituto de Robótica en la Universidad Carnegie Mellon. Primera conferencia de la AAAI (American Association on Artificial Intelligence) en Stanford, y primera Conferencia de Lisp y programación funcional de la ACM. Kazuhiro Fuchi anuncia el proyecto japonés de quinta generación de ordenadores. El PSL (Portable Standard Lisp) puede ejecutarse sobre varias plataformas. Se construyen máquinas LISP por Xerox, LMI y Simbolics, las cuales soportan Programación Orientada a Objetos. Se sientan las bases del Common Lisp con aspectos comunes de las familias: Lisp machine, MacLisp, NIL, S-1 Lisp, Spice Lisp y Scheme. 1982. John Hopfield resucita las redes neuronales. Feigenbaum y McCorduck publican "The Fifth Generation". 1983. Steele publica "Common Lisp the Language". La comunidad europea comienza el programa ESPRIT. Gold Hill crea el Golden Commom Lisp. 1984. General Motors y Campbell's Soup dejan de usar Lisp para sus Sistemas Expertos. Un robot de la Kawasaki mata a un mecánico japonés en un mal funcionamiento. 1985. Se funda el Media Lab en el MIT. Minsky publica "The Society of Mind". 1987. Teknowledge, una compañía dedicada al desarrollo de sistemas en IA, abandona Lisp y Prolog por el lenguaje C. El robot jugador de tenis de mesa de Anderson le gana a un ser humano. 1988. La máquina de ajedrez HiTech de CMU compite en un torneo de nivel master. La policía de Dallas usa un robot para entrar en las casas. 1989. Primera conferencia de la OOPSLA sobre programación orientada a objetos, en la cual se presenta CLOS, Lisp Orientado a Objetos, como lenguaje independiente de la comunidad de Lisp e IA. 1990. IBM desarrolla shells para Lisp, Prolog y Sistemas expertos y entra a la AAAI. McClelland y Rumelhart publican "Parallel Distributed Processing" (Redes Neuronales). Aparecen compañías dedicadas al desarrollo de Redes Neuronales. Existen alrededor de 2000 Sistemas Expertos en el mundo. Sistema experto XCON de DEC capaz de configurar ordenadores realizando el trabajo de 300 personas, basándose para esto en 10.000 reglas. 1991. Japón establece su sistema AFIS para la identificación automática de huellas digitales. 1992. El chip del 386 ofrece una velocidad a los PCs comparable a la de las máquinas Lisp. Minsky y Papert publican una revisión de "Perceptrons". Se establecen los lenguajes Orientados a Objetos. La compañía TI anuncia imcroExplorer una máquina Lisp con tecnología Macintosh. Steele publica la segunda edición de "Common lisp the Language". 1993. Apple Computer introduce el lenguaje Dylan, de la familia Lisp, como su visión del futuro en la programación. X3J13 crea una propuesta para la Sociedad Americana de Common Lisp. 1994. La versión para tiempo real del lenguaje CLOS, Lisp con Objetos, de Harlequin se utiliza en sistema de intercambio de AT&T. Universidad Nacional de Colombia 231 Inteligencia artificial 2000. Lenguajes, robots, armas, etc., con herramientas de inteligencia artificial se desarrollan en diferentes institutos o centros de investigación, en general apoyados gubernamentalmente, especialmente para el desarrollo de nuevas armas de ataque y defensa. Los robots que se construyen tienen diferentes finalidades; para yudar en situaciones de desastre, como jugadores de fútbol, tenis o ajedrez, como mascotas, etc. Las investigaciones interesantes en la historia de la humanidad y que constituirían base para el desarrollo de lo que hoy se conoce como IA, es lo relacionado con la mente. Dichos estudios se remontan a la época de los griegos, principalmente con los filósofos de la escuela epicúrea y médicos de la escuela hipocrática. Sin embargo, fue el padre del racionalismo moderno René Descartes, quien dio el primer paso hacia el estudio, al concebir el pensamiento como el resultado de un mecanismo. Descartes, llegó a la conclusión que mente y cuerpo eran dos cosas totalmente diferentes. Por consiguiente, dividió los actos humanos en dos categorías: Mecánicos y racionales. Obviamente, los actos mecánicos eran aquellos que podían ser imitados por los autómatas: caminar, comer, tocar la flauta, etc. Los actos racionales por el contrario no podían ser imitados: juicio, voluntad, elección. Descartes, debatiéndose por aclarar la naturaleza de la mente y el cuerpo, declaró en su día, que los animales eran máquinas maravillosas. Los seres humanos también lo eran, salvo que ellos poseían una mente. Es importante aclarar que la distinción entre seres humanos y cualquier otra forma de vida es básicamente la idea propuesta por Descartes y la mayoría de científicos como Leibniz, Hobbes, Locke, Hume, ¿...el hombre tiene la capacidad de pensar, es inteligente, racional...? Lógicamente, Descartes ni los otros tenían porque tener en cuenta que esta diferenciación no es totalmente aplicable a las máquinas creadas actualmente y a las cuales se les atribuye inteligencia. Ahora, dado el caso de poder crear máquinas inteligentes y teniendo en cuenta que la diferenciación principal de los seres humanos y las demás especies es la capacidad de pensar, razonar. Se pensó que la IA puede proveer herramientas y métodos para solucionar problemas complejos, con lo cual se buscó construir sistemas que aumentaran la inteligencia humana13, o por lo menos ayudaran al ser humano. Así es como nació los sistemas para expertos; por ello, el nexo existente entre la IA y los SE es muy cercano. Entre 1965 y 1970 se inicia el desarrollo de los primeros sistemas expertos. Minsky (1970-1975) supervisó el trabajo de estudiantes que eligieron problemas limitados cuya solución parecía requerir inteligencia. Estos trabajos vinieron a ser conocidos como micromundos. El más famoso de los micromundos fue el de los bloques. El mundo de los bloques fue la morada del proyecto de visión de David Huffman (1971), de los trabajos sobre la visión y la propagación de restricciones de Adolfo Guzmán y David Waltz (1975), de la teoría del aprendizaje de Patrick Winston (1970), del programa para 13 La capacidad para aprender de una persona depende de la interacción que tenga con su medio, es decir, de las experiencias que adquiera porque ellas le facilita determinar dónde y cómo aplicar una teoría. Luis Carlos Torres Soler 232 Reseña histórica de la IA la comprensión del lenguaje natural de Terry Winograd (1972) y del planificador de Scott Fahlman (1974). Varias definiciones de IA se han dado, entre las que se destacan: Marvin Minsky: es la disciplina de hacer máquinas que hagan cosas que realizadas por el hombre requieran de "inteligencia". Patrick H. Winston: es el estudio de las ideas que permiten a los computadores realizar aquello que hace a las personas parecer inteligentes (percibir, razonar y actuar). Eliane Rich, Kevin Knight: es el estudio de cómo lograr que los computadores hagan cosas que, por ahora, los seres humanos pueden hacer mejor. Nills Nilson: son los procesos comunes que reúnen percepción y conocimiento. Bruce Buchanan - Edward Feigenbaum: es la parte de la ciencia de la computación que investiga los procesos simbólicos, razonamiento no algorítmico y representación de conocimiento para ser utilizados en máquinas. Schalkoff: una disciplina que se enfoca a la explicación y emulación de la conducta inteligente en función de los programas computacionales. Al observar las definiciones anteriores, no existe un acuerdo total, pero en este texto se considera la más apropiada la enunciada por Buchanan-Feigenbaun porque encierra conceptos muy utilizados en IA, como programación no algorítmica y representación de conocimiento que siempre han sido las bases principales para obtener resultados en las investigaciones sobre ésta, aunque pierda validez cuando se aplica a ejemplos específicos14. Algunas propuestas posteriores para replicar el razonamiento fue construir estructuras del cerebro, hoy redes neuronales (neural networks), como las de: Hopfield (1982) quien utilizó técnicas de la mecánica estadística para analizar las propiedades de almacenamiento y optimización de las redes; David Rumelhart y Geoffrey Hinton (1982), quienes mejoraron los modelos de la memoria basados en redes neuronales; también los de Ackley, Hinton y Sejnowski en 1985, quienes emplean modelos autómatas para almacenamiento de información y así acelerar el proceso de aprendizaje. 14 El trabajo repetitivo constituye preocupación de grandes hombres de todas las épocas. Aristóteles, el cerebro de más vasta concepción en la historia del pensamiento, refiriéndose a una forma particular de la tarea repetitiva acuño una frase que aun tiene vegencia, "Cuando los telares tejan por sí mismos, habrá terminado la esclavitud del hombre". Universidad Nacional de Colombia 233 Inteligencia artificial Los trabajos de Judea Pearl (1982) y su libro Probabilistic Reasoning and Intelligent Systems, señaló el uso de la probabilidad y de la teoría de decisiones en IA. Eric Horvitz y David Heckerman (1986) sirvieron para promover la noción de sistemas expertos normativos: es decir, los que actúan racionalmente de acuerdo con las leyes de la teoría de decisiones, sin que intenten imitar a los expertos humanos. David Chapman (1987) continuó los trabajos tempranos de Austin Tate (1977) en el área de la planeación, formalizando las teorías existentes al respecto. Nace el formalismo de red de creencia que obedece a la necesidad de poder razonar eficientemente ante una combinación de evidencias inciertas. Allen Newell, John Laird y Paul Rosenbloom (1990) desarrollaron el sistema SOAR, que representa la arquitectura de sistema total en IA. Similares revoluciones se producen en robótica, visión artificial, aprendizaje maquinal, redes neuronales y representación del conocimiento. Se desarrollaron a la par distintas técnicas para modelar la inteligencia: sistemas expertos, lógica fuzzy -Difusa- (Zadeh, 1965), redes neuronales artificiales (retomando las ideas de McCulloch y Pitts), algoritmos genéticos (evolución artificial), agentes inteligentes (inteligencia artificial distribuida), y muchas otras ramas con menor popularidad (Machine Learning, Theorem Proving). Además, estas "ramas" interaccionan para atacar problemas con sistemas híbridos (como redes neurodifusas). Actualmente es muy común construir sobre teorías ya existentes que proponer teorías totalmente novedosas, tomar como base rigurosos teoremas o sólidas evidencias experenciales más que la invención, y demostrar la utilidad de las aplicaciones en el mundo real. Objetivos de la IA Los investigadores en IA se concentran principalmente en la resolución de problemas, el control automático, las bases de datos inteligentes, la ingeniería del software, el reconocimiento de patrones para la comprensión y síntesis del habla, el proceso de imágenes, la visión artificial y, fundamentalmente, la representación del conocimiento, la conceptualización cognitiva y la comprensión del lenguaje natural. Uno de los principales objetivos de los investigadores de IA es la reproducción automática del razonamiento humano. Una definición más adecuada de la IA puede deducirse de la siguiente pregunta: ¿para qué sirve? Existen dos orientaciones básicas para responder esta interrogante: * Como herramienta científica. El objetivo es simular en el computador modelos del comportamiento de sistemas inteligentes naturales (en particular humanos) para verificar empíricamente su validez. 234 Luis Carlos Torres Soler Reseña histórica de la IA Esta simulación es indispensable porque los sistemas son complejos para obtener predicciones analíticas precisas de su corportamiento. Las áreas que más se benefician con esta herramienta son la sicología cognitiva y la neurobiología. Esto no significa que los aspectos computacionales sean secundarios, ya que todo comportamiento inteligente implica un procesamiento de información que es legítimo estudiar desde un punto de vista puramente computacional. Además, los mecanismos naturales investigados pueden enriquecer el arsenal de métodos de la computación (como en el caso de las redes neuronales). * Como herramienta tecnológica. El objetivo es resolver en el computador problemas difíciles, que se sabe están al alcance de sistemas inteligentes naturales, pero para los cuales no existe una descripción algorítmica satisfactoria. Los problemas incluidos dentro de esta categoría se caracterizan, en general, por la dificultad de disponer de toda la información necesaria para resolverlos sin ambigüedad. Ya sea que haya demasiada información que considerar (por ejemplo, ajedrez), ya sea que esté incompleta o inconsistente (por ejemplo, lenguaje verbal), ya sea que se halle muy poco estructurada (por ejemplo, análisis de imágenes). En estos casos, es interesante reproducir las capacidades de procesamiento observadas en los sistemas naturales, aunque no necesariamente modelando sus mecanismos internos. Para abordar los objetivos planteados por la IA se ha recurrido a diversas técnicas específicas como: la representación y modelización de conocimiento, la generación de planes de acción, el aprendizaje (deductivo, inductivo) y adquisición de conocimiento. Uno de los problemas que surgieron en el inicio de la IA fueron los cálculos exhaustivos que limitaban el conocimiento que se podía procesar, es decir, se calculaban todas las posibles soluciones para luego elegir la óptima. Aparecieron los primeros algoritmos de poda. Tal vez, no se contaba con herramientas apropiadas. Tanto el hardware como el software estaban adaptados al cálculo numérico y no al campo simbólico. Entonces se inició el desarrollo de lenguajes especializados para la IA, como PLANNER, LISP (de John McCarthy), CONVICER, PROLOG, SMALLTALK, entre otros. Los informáticos hablan a través de símbolos. La lingüística es objeto de numerosos trabajos que ponen en práctica la trayectoria expuesta al respecto, de los cuales ha resultado la lingüística cuantitativa y ha dado lugar a realizaciones sobre traducción automática. Las herramientas buscaban dos fines básicos: * Hacer computadores más útiles. * Entender los principios que hacen posible la inteligencia. Esto porque, en un momento dado, la IA se ha convertido en una etapa avanzada de la informática, ha pretendido ocuparse de la producción de modelos y programas del Universidad Nacional de Colombia 235 Inteligencia artificial llamado comportamiento inteligente. Como se ha mencionado, su origen tuvo lugar porque se carecía de algoritmos que describieran algunas actividades cognitivas muy sencillas aparentemente para el humano como reconocer visualmente un objeto, traducir un breve texto, encontrar una palabra en el diccionario tan rápidamente como puede teclearse. Con el transcurso del tiempo se ha visto que las aplicaciones tecnológicas en las que los métodos de IA se usan, han demostrado que pueden resolver gran cantidad de problemas a tal punto que se han creado sistemas que: * * * * * Permiten al usuario preguntarle a una base de datos en lenguaje natural. Reconocen objetos de una escena por medio de aparatos de visión artificial. Generan palabras a partir de textos computarizados. Reconocen e interpretan un vocabulario de palabras humanas. Resuelven problemas en una variedad de campos usando conocimiento experto codificado. Áreas de investigación Representación del conocimiento. Busca el descubrimiento de métodos expresivos y eficientes de representar conocimiento sobre hechos del mundo real. La representación del conocimiento es importante ya que, en alguna medida, cualquier actividad computacional inteligente depende de ella. Los sistemas de representación del conocimiento ofrecen los beneficios de las bases de datos orientadas a objetos y las capacidades de las bibliotecas de hipertextos, proveyendo una mayor expresividad y algoritmos más poderosos para recuperación y actualización de información. Todo comportamiento inteligente implica un uso intensivo de información. Por tanto, una de las preocupaciones centrales de la IA se refiera a cómo representar la información o, para enfatizar la complejidad de su estructura, el conocimiento necesario para que el computador pueda operar inteligentemente. El enfoque más difundido se basa en la hipótesis del sistema de símbolos físicos que plantea que la actividad inteligente, tanto en el humano como en el computador, se logra a través del uso de: 1. Patrones de símbolos para representar aspectos significativos de un dominio de problema. 2. Operaciones sobre patrones para generar soluciones potenciales a problemas. 3. Mecanismos de búsqueda para seleccionar la mejor solución entre las posibilidades generadas. Esta hipótesis distingue a los patrones formados mediante la combinación de símbolos del medio físico. Si la inteligencia depende sólo de la estructura de un sistema de 236 Luis Carlos Torres Soler Reseña histórica de la IA símbolos, cualquier medio físico que permita implementarlo, en particular un computador, puede lograr un comportamiento inteligente. Métodos de aprendizaje automático. Extienden las técnicas estadísticas con el fin de posibilitar la identificación de un amplio rango de tendencias generales a partir de un conjunto de datos de entrenamiento. Estos métodos pueden utilizarse en la construcción de interfases adaptables a las necesidades de usuarios individuales, programas que descubran regularidades importantes en el contenido de bases de datos distribuidas y sistemas de adquisición automática de modelos de las capacidades de nuevos servicios. Planificación. Se usa para enfrentar el desarrollo de algoritmos que construyen y ejecutan automáticamente secuencias de comandos primitivos a fin de alcanzar ciertas metas de alto nivel. A través del razonamiento sobre modelos formales de las capacidades y contenidos de los servicios de red y las bases de datos, los sistemas de planificación inteligente permiten enfocar las actividades de recolección de información en direcciones beneficiosas. Debido a que los sistemas de planificación toman como entrada una especificación declarativa de algún objetivo, ellos también pueden utilizarse en el mejoramiento de las interfaces, permitiéndoles a los usuarios especificar lo que éstos desean hacer, y luego computando las acciones requeridas para alcanzar el objetivo y determinando cuándo éstas deben ejecutarse. Razonamiento. Hacer uso de principios estadísticos para desarrollar codificaciones de información incierta. En esta área se han desarrollado algoritmos para soportar razonamiento diagnóstico, inferencias causales y evaluación de compromisos entre el costo de un plan y la satisfacción de los objetivos. Las técnicas de razonamiento pueden aplicarse al desarrollo de sistemas que utilizan registros de comportamiento para construir perfiles probabilísticos de los objetivos del usuario y a la evaluación de compromisos entre objetivos conflictivos del usuario. Arquitecturas de agentes. Buscan la integración de otras áreas de la IA con el objeto de crear agentes inteligentes, entidades robustas, capaces de comportamiento autónomo y en tiempo real. Aplicaciones potenciales de estos agentes son los asistentes personales, consejeros y guías en el desarrollo de proyectos y el aprendizaje. La investigación sobre coordinación y colaboración multiagentes ha permitido el desarrollo de técnicas para la representación de las capacidades de otros agentes y la especificación del conocimiento necesario para la colaboración entre éstos. El desarrollo de algoritmos de negociación posibilita la identificación de áreas potenciales de interés compartido entre agentes y la computación de acuerdos que incrementan la utilidad para todos los participantes, aspecto crucial en el caso de redes de agentes artificiales interconectados y sistemas más flexibles de comunicación hombre-máquina. Desarrollo de ontologías. Persigue la creación de catálogos de conocimiento explícito, formal y multipropósito para ser utilizados por sistemas inteligentes. Por ejemplo, un catálogo sobre aeronáutica contendrá definiciones de conceptos como aviones, alerones Universidad Nacional de Colombia 237 Inteligencia artificial y aeropuertos. La creación de sistemas de vocabulario compartido es importante ya que provee las conceptualizaciones y el conocimiento básico requerido para la comunicación y colaboración entre distintos agentes, tanto humanos como automatizados. El trabajo en desarrollo de ontología difiere del de representación del conocimiento en que este último está centrado en la forma de los métodos de representación y en los métodos que utilizan dichas formas, mientras que el primero se centra en el contenido. Procesamiento de voz y lenguaje. Busca la creación de sistemas que se comunican con la gente en lenguajes naturales (por ejemplo, español escrito y/o hablado). Los sistemas de procesamiento de voz podrían revolucionar las interfaces de usuario, especialmente en el campo de la computación móvil. El análisis de textos podría permitir el desarrollo de mecanismos de indexación y recuperación de información más eficientes. Síntesis y comprensión de imágenes. Se usan en la producción de algoritmos para el análisis de fotografías, diagramas y vídeos, así como de técnicas para el despliegue visual de información cuantitativa y estructurada. Entre las potenciales aplicaciones en este ámbito se encuentran la extracción de contenido semántico para uso en el examen y búsqueda de imágenes, el desarrollo de esquemas de compresión inteligentes para el almacenamiento y transmisión de imágenes biomédicas y la generación de escenas artificiales realistas a partir de modelos extraídos de imágenes del mundo real. Además de los métodos generales de la computación, en IA se utilizan técnicas específicas que se diferencian del enfoque algorítmico clásico. El enfoque clásico da por hecho que se dispone de toda la información necesaria para llegar siempre a una solución óptima del problema abordado. En IA, las decisiones se basan en un conocimiento parcial que no garantiza encontrar el óptimo. La inteligencia consiste precisamente en saber sacar el máximo provecho a la información disponible para tratar de obtener el resultado deseado. Dicho en forma gradual, un sistema es más inteligente cuanto menos información requiera analizar para llegar a un determinado resultado y cuanto mejor sea este resultado. Esta definición permite abarcar a la mayoría de los métodos de la IA y pone de manifiesto el compromiso entre exhaustividad del análisis y calidad del resultado que los caracteriza: se sacrifica la seguridad de obtener soluciones óptimas por la ventaja de poder operar con información incompleta. Las técnicas computacionales desarrolladas dentro de este marco metodológico son llamadas heurísticas (de una raíz griega que significa hallar). Una heurística es una estrategia de resolución de problemas que permite orientar la búsqueda de la solución haciendo un análisis selectivo de las posibilidades más relevantes según la información disponible. A pesar de no garantizar siempre la mejor solución, una buena heurística debería permitir hallar una solución muy cercana al óptimo en la mayoría de los casos. 238 Luis Carlos Torres Soler Reseña histórica de la IA Aplicaciones Los computadores se emplean en: los negocios, la ingeniería, las granjas, la minería, los hospitales, el hogar. Pero, ¿qué pueden hacer los computadores en el área de la IA? • • • • • Resolver problemas. Los computadores realizan cálculos aritméticos a increíble velocidad; actualmente hay programas que efectúan cálculo integral y mucho más, como la resolución de problemas mecánicos. Ayudan a los expertos a analizar y diseñar. Algunos programas sirven para auxiliar a los médicos para analizar ciertos tipos de enfermedad, otros para entender el funcionamiento de circuitos electrónicos y otros más nos auxilian en la configuración de los módulos que conforman sistemas complejos de equipo de cómputo. Entender inglés. Para el ser humano, la manera natural de comunicarse es a través del lenguaje. Esto ha motivado un gran interés por desarrollar esta misma habilidad en los computadores. Para el entendimiento de un lenguaje natural escrito como el inglés, se utiliza, entre otras, la técnica de palabras clave; esta técnica intenta inferir el significado de la comunicación a partir del propio significado de las palabras clave, pero ha probado su ineficiencia en contextos donde las palabras clave utilizadas pueden tener múltiples significados. Entender imágenes. Computadores equipados con los dispositivos adecuados (cámaras de Tv, ...) pueden ver lo suficiente para tratar con un espacio limitado, los objetos que ahí se encuentran y la relación que guarda uno respecto al otro. Manufacturar productos. Actualmente máquinas de propósito específico auxilian en trabajos que el ser humano considera peligroso, aburrido o poco remunerado. Pasar de máquinas de propósito específico a robots inteligentes requiere agregar muchas capacidades, una de ellas es la de razonar acerca del movimiento en tres dimensiones, tal como el requerido para mover una caja de un estante a otro en un almacén. "¿Es posible evaluar por adelantado las consecuencias de una investigación?" Albert Einstein. Los Sistemas Expertos (SE) proveen a los usuarios conclusiones acerca de áreas especializadas, como diagnosticar enfermedades, evaluar potenciales depósitos de mineral, sugerir estructuras para complejos químicos orgánicos, proveer consejos de cómo usar otros sistemas de computación, ayudar en investigaciones y apoyo a la toma de decisiones, detección de situaciones posibles..., auxiliares en reparación de..., asesores en administración financiera, detección de problemas en máquinas controladas por computador, pronósticos meteorológicos, consejos para..., asistencia a compositores. La lista de aplicaciones de los SE crece sorprendentemente día tras día, buscando cambiar la metodología de programación que hasta ahora se ha llevado a cabo en la mayoría de organizaciones: la algorítmica. Universidad Nacional de Colombia 239 Inteligencia artificial Los SE pueden, desde cierta perspectiva, considerarse agentes basados en conocimiento. En teoría, estos sistemas son capaces de razonar siguiendo pasos comparables con los que sigue un especialista (médico, biólogo, geólogo, matemático, ...), cuando resuelve un problema de su área. La programación de SE incluye como aspecto fundamental la representación del conocimiento para ser utilizado por el sistema y de cómo sería su interpretación y manipulación lógica por medio de mecanismos de inferencia, que permiten deducir conocimiento15. Una definición de SE es: "Un programa de computador que utiliza conocimiento y procedimientos de inferencia para resolver problemas que son lo suficientemente difíciles y requieren experticia humana significante para su solución. El conocimiento de un sistema experto consiste de hechos y heurísticas" (Feigenbaum) Entre los importantes tipos de aplicaciones de SE se tienen: Generación de documentos. Produce documentos por selección e integración en forma adecuada de partes apropiadas de texto, gráficos y metodologías. Para producir un documento tal como un testamento o contrato o un libro, el sistema encadena las necesidades del cliente. Con un plan que tiene especificado, el SE direcciona esas necesidades y entonces produce un documento. En algunas situaciones simples, el sistema selecciona y ordena partes usadas del texto para construir el documento, guiado por el conocimiento de cómo los elementos del plan deben encadenarse. En situaciones más complejas, como contratos comerciales o de manejo legal, el sistema con el plan organiza el documento y sugiere contingencias que el usuario puede contemplar o cambiar. Interpretación. Consiste en encontrar el significado de los datos de entrada obtenidos por sensores o tecleados por el usuario. Interpreta el contexto de una pregunta o problema. Anticipa las consecuencias legales de acciones propuestas y predice los efectos de cambio. Cuando los datos no son ciertos, exactos o incompletos, la tarea de interpretación se complica, por lo que hay que dotar al SE de conocimiento para resolver este tipo de problemas. En derecho, se interpreta la autoridad, anticipando las consecuencias legales y las acciones propuestas; predice el efecto por cambios de la ley. Estos sistemas contienen estatus legal y regulaciones colocadas en la BC, de manera que el usuario determinará los efectos al ejecutar el programa y cambiar algunas reglas. El usuario podrá, del mismo modo, hallar elementos para determinar la legalidad de 15 Por ello el constructor de Sistemas Expertos debe comenzar por identificar y recoger, del experto humano, el conocimiento que éste utiliza: conocimiento teórico, y sobretodo, conocimiento empírico adquirido en la práctica. Luis Carlos Torres Soler 240 Reseña histórica de la IA posiciones particulares y las consecuencia legales. Para predecir el efecto de cambios en la legislación, el usuario modifica hechos para reflejar los cambios propuestos y el SE analiza casos previos reflejando las alteraciones que pueden ocurrir. Predicción. Concluye posibles consecuencias de situaciones dadas; por ejemplo, prever el clima. Diagnóstico. Consiste en identificar causas que provocan un problema a partir de una serie de datos. Para un diagnóstico es necesario la interpretación de los datos. Existen dos formas para dar el diagnostico: la primera, "seleccionar" el mejor diagnóstico de entre un conjunto de diagnósticos predefinidos; y la segunda, "construir" el diagnóstico. Reparación, corrección o terapia. Consiste en la proposición de las acciones correctoras necesarias para la resolución de un problema. Debe tenerse previamente un diagnóstico. Los SE en reparación tienen que cumplir: que la respuesta sea lo más rápida y económica posible, en orden y que pueda evitar efectos secundarios. Monitoreo. Consiste en la comparación continua de señales y/o datos de entrada de un sistema contra valores que actúan como criterio de normalidad o estándares. Un SE en derecho organiza las actividades y periódicamente inspecciona la BC de hechos legales, humanos o especiales por cambios en la ley para disponer si afectan a clientes y la actividad de los casos. Planeación. Es la realización de planes o secuencias de acciones. Un ejemplo es la asignación de aviones a diferentes rutas y configuración de los asientos de cada vuelo. Instrucción. Diagnostica, depura y corrige el comportamiento de una persona en el proceso de enseñanza aprendizaje; por ejemplo, entrenamiento de empleados. Administración de casos. Los SE organizan información de casos, estiman su valor y sugieren tácticas y estrategias de negociación y disposición. Por ejemplo, en un nivel local, los sistemas encuentran y resumen argumentos a travéz de proposiciones particulares. A un nivel mayor sugiere tácticas y estrategias para la negociación y el establecimiento de casos. Este tipo de aplicación posee mucha información para casos muy complejos. Administración de litigaciones en gran escala, tal como pleitos por créditos son muy complejos. Casos con grandes riesgos económicos y comerciales son tan complejos que una sola persona no puede reconocer y entender todos los hechos legales, como presentar las soluciones posibles. El conjunto de SE en derecho se halla en un gran número de actividades de administración para inspeccionar y revisar periódicamente las BC. Se encargan de Universidad Nacional de Colombia 241 Inteligencia artificial identificarle al usuario los efectos por cambios en leyes; por ejemplo, los clientes solicitan ayuda legal en la planeación, de contratos económicos o testamentos al darse cambios en leyes, indicándoles a los apoderados cuándo deben realizarse modificaciones sustanciales. Simulación. La principal característica de los SE es "simular el razonamiento, comportamiento lógico o inteligencia de un experto"; son procesos complejos. Indudablemente, los SE en simulación son eficaces allí donde los métodos numéricos no lo son, bien por la complejidad o bien por la naturaleza del problema a resolver. Diseño. Propone soluciones basado en una BC que contiene y es capaz de explicarlas, proponer alternativas, detallar las ventajas e inconvenientes de cada solución; por ejemplo, diseño de revistas, productos, etcétera. Educación. En la década del 60, se desarrolló la enseñanza asistida por computador con teorías algorítmicas, basadas en el planteamiento sicológico de la enseñanza programada. Hoy día, los SE, tras un diagnóstico, controlan los errores en las respuestas que da un alumno y lo guía para que aprenda más. Ya se anotó que entre 1965 y 1972 se inició el desarrollo de los primeros SE. Muchos de ellos de un alcance muy limitado. En esta etapa, se marcaron dos líneas de investigación: los métodos de búsqueda heurísticos y los métodos de deducción automática. La formalización de los procesos de búsqueda heurística fue realizada por Newell y Simon. En las técnicas de deducción automática se modela el conjunto de condiciones descriptivas de un problema y los mecanismos de transformación, mediante fórmulas de cálculo de predicados en un espacio de estados posibles. Como resultado de este proceso, Robinson, en 1965, formuló la regla universal de inferencia de resolución y unificación. El primer SE se denominó DENDRAL, fue desarrollado por Edward Feigenbaum, Bruce Buchanam y Joshua Lederberg en 1967 y se utiliza para resolver problemas de estructura química molecular. Es un intérprete de espectograma de masa. El Instituto de investigaciones de Stanford (1969) desarrolló el proyecto de robótica de Shakey, el primer proyecto que demostró la total integración del razonamiento lógico y la actividad física. En la década del 70 aparece el SE MYCIN, el más influyente, que se desarrolló para diagnóstico y terapia de enfermedades infecciosas bacterianas en la sangre. Era capaz de diagnosticar transtornos en la sangre y recetar la correspondiente medicación. La representación del conocimiento era mediante reglas de producción con factores de incertidumbre desarrollado por Feigenbaum, Buchanan y Eduard Shortliffe en la Universidad de Stanford. Feigenbaum (1971) dio inicio al proyecto de programación heurística. Sistemas expertos como MACSYMA, PROSPECTOR, MOLGEN, INTERNIST y CASNET desarrollado para el diagnóstico y tratamiento de la glaucoma, emplearon la representación del conocimiento mediante redes semánticas. 242 Luis Carlos Torres Soler Reseña histórica de la IA Etapa de prototipos (1970-1977). Es una etapa de consolidación. En ella se construyeron SE que hasta hoy se estudian, y de los cuales se han utilizado sus formalismos de representación del conocimiento y de inferencia para la construcción de otros SE. Etapa de experimentación (1977-1981). Es una etapa en la cual se empiezan a consolidar ideas obtenidas anteriormente, sobre todo en lo que respecta a la representación del conocimiento. Comienzan a aparecer los "esqueletos" (shells) o sistemas esenciales para la construcción de SE. Etapa de industrialización (1981-a la fecha). Esta etapa se caracteriza por la difusión de los SE, el surgimiento de los lenguajes especializados como EMYCIN, EXPERT, OPS5,... Además, comienzan a surgir empresas dedicadas al desarrollo y comercialización de SE16. Otros sistemas de gran trascendencia son: PUFF. Diagnostica enfermedades pulmonares (empleado en el Pacific Medical Center de San Francisco, EEUU). SACON. Se utiliza en ingeniería estructural. DART. Construido en la Universidad de Stanford con participación de IBM, diagnostica fallas en sistemas computacionales. MACSYMA. Asistencia a ingenieros y científicos en la solución de ecuaciones matemáticas complejas. R1/XCOM. Desarrollado por Digital Equipment Corporation para realizar configuraciones de computadores VAX. CADUCEUS. De la Universidad de Pittsburgh, diagnostica medicina interna. CALLISTO. De la Universidad de Carnegie-Mellon, modela y proyecta grandes proyectos. PROSPECTOR. De SRI International, prospecta yacimientos minerales (permitió descubrir un depósito de molibdeno con valor superior a US$100 millones). 16 Muchos son los SE vacíos (shell o software que sirven para involucrar el conocimiento necesario) que podemos encontrar en el "mercado": EMYCIN (Essential Mycin), MYCIN94, OPS83, ESDE/VM (Expert System Development Environment), KEE (Knowledge Engineering Environment), EXSYS Professional (Expert System), ART-ENTERPRISE, S1, MED1, NEXPERT OBJECT, PCPLUS, GURU, KES (Knowledge Expert System), KAS (Konwlegde Aplication System), IC (Intelligente Compiler), MICROEXPERT, CRYSTAL, ICARUS, entre otros. Universidad Nacional de Colombia 243 Inteligencia artificial EURISKO. Programa que perfecciona su propio cuerpo de reglas heurísticas automáticamente, por inducción. SHRDLU. De Terry Winograd, profesor de Stanford, programa que era capaz de manipular formas simuladas de objetos como si fuesen piezas de Lego (famoso juego danés de construcción por bloques) PIP, ABEL, ... A esta lista podemos agregar una gran cantidad de aplicaciones militares y médicas. La historia de la IA ha sido testigo de ciclos de éxito, injustificado optimismo y la consecuente desaparición de entusiasmo y apoyos financieros. También ha existido ciclos caracterizados por la introducción de nuevos y creativos enfoques y de un sistemático perfeccionamiento de los mejores. Han surgido debates sobre si la IA ha dado (o dará) todo lo que prometía en un principio. Aunque muchas metas son ambiciosas, indudablemente ha resuelto una infinidad de problemas que hubiese sido mucho más complicado (o imposible) resolver de otra forma. Otro punto es ser una disciplina nueva y "difusa" como para haber una definición formal y concisa sobre los planes y metas a mediano y largo plazo. Como se vio, cada quien cree en cosas distintas y es muy difícil llegar a un consenso. Algunas de las metas a mediano plazo son, entre muchas, el control de tráfico en vías rápidas, resumen de textos (summarization), búsqueda inteligente de información, asistentes digitales personales. De hecho, ya hay muchos prototipos de estos sistemas, sólo falta que funcionen fuera de una simulación. Estos avances, obviamente, se basan en las tendencias ya establecidas, haciéndoles modificaciones cuando es necesario, o algunas veces creando una nueva rama. Pero a largo plazo (¡aquí es donde se especula!), los avances chocan más con los límites éticos, morales y filosóficos, que con los tecnológicos. ¿Las máquinas podrán ser más inteligentes que sus creadores? Algunos dirían que una máquina no sabe más que el que la hizo. ¿Pero si le enseñamos a aprender? ¿No es lo que sucede cuando decimos que "el alumno supera al maestro"? Tomemos, por ejemplo, un sistema que prueba teoremas. Los primeros de este tipo fueron creados en el decenio del 60. ¿Se podrá hacer un sistema, que, dados los axiomas de un sistema, deduzca todos sus teoremas, habidos y por haber, y demostrarlos? ¿Quién utilizaría tal cantidad de información? Definitivamente, una máquina tendría que comprenderla. Pero hasta ahora todos los computadores son electrónicos, y basadas en el modelo de la máquina de Turing, von Newman, ... ¿Habrá otros tipos de computadores (biológicos, químicos, atómicos)? ¿Otros modelos de máquinas? ¡Y hay quienes dicen que la ciencia está llegando a su fin! (Quizá para el ser humano tal y como lo conocemos). 244 Luis Carlos Torres Soler Reseña histórica de la IA Tal vez, a fin de cuentas, sí podemos demostrar la razón en términos de razón. Dándole toda la vuelta a la ciencia. Con la matemática explicar la física, con ésta la química, con ésta la biología, con ésta la sicología, con ésta la filosofía, con esta la matemática. A pesar, como Gödel, finalmente podremos decir que la ciencia sí es completa (o por lo menos, cíclica, y se comprende a sí misma). Resumen En el campo de la inteligencia artificial (IA) se distinguen dos tendencias: una que intentan simular el funcionamiento del cerebro humano y, la de los que realizan proyectos de máquinas inteligentes sin preocuparse especialmente de su semejanza con el comportamiento del individuo. De esta forma se ha podido determinar los fines reales de la IA: entender la inteligencia humana natural y utilizar máquinas que puedan absorber conocimiento con el que se puedan resolver problemas intelectualmente complicados. Sin embargo, a pesar del sano entusiasmo que conlleva el desarrollo de sistemas tan sorprendentes, existen otros tipos de intereses que buscan sustituir la mente humana en la toma de decisiones bajo la argumentación de motivos como el siguiente: La velocidad y la fiabilidad, con el fin de evitar la subjetividad inherente del ser humano. Es así, como la IA, prácticamente desde que comienza a ser factible, está ligada al estudio. De hecho, gran parte de sus investigadores han sido profesores de universidades americanas tan prestigiosas como el MIT, que es el Instituto Tecnológico de Massachusetts, Stanford en California, la universidad de Carnegie, de Wisconsin, de Washington, Universidad de Edimburgo, Upsala en Suecia, la de París, entre muchas otras y prestigiosos laboratorios. Ahora es claro, que bajo estos objetivos los desarrollos científicos serían de invalorable ayuda, por ejemplo, en la educación. La inteligencia artificial (IA), aunque promete grandes desarrollos para la humanidad, ha sido enfocada en aplicaciones militares entre otras, que van precisamente en contra del objetivo planteado inicialmente. En algunos aspectos se plantea la posibilidad de limitar el campo de acción del desarrollo de la IA. Universidad Nacional de Colombia 245