inteligencia artificial

159
Inteligencia Artificial _________________________________________________________________________ 1 INTELIGENCIA ARTIFICIAL

Upload: aadg85

Post on 13-Dec-2015

35 views

Category:

Documents


11 download

DESCRIPTION

Documento Historia de la Inteligencia Artificial

TRANSCRIPT

Page 1: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________1

INTELIGENCIA ARTIFICIAL

Page 2: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________2

INDICE INTRODUCCIÓN ................................................................................................................... 6 UNIDAD 1 .............................................................................................................................. 7 

FUNDAMENTOS ................................................................................................................ 8 1.1.- El propósito de la Inteligencia Artificial y su evolución histórica................. 8 1.2.- Las habilidades cognoscitivas según la psicología. Teorías de la inteligencia (conductismo, Gardner). ...................................................................... 21 1.3.- El proceso de razonamiento según la lógica (Axiomas, Teoremas, demostración)............................................................................................................. 22 1.4.- El modelo de adquisición del conocimiento según la filosofía. .................. 29 1.5.- El modelo cognoscitivo. ................................................................................... 31 1.6.- El modelo del agente inteligente.................................................................... 32 1.7.- El papel de la heurística................................................................................... 34 Cuestionario de evaluación....................................................................................... 36 

UNIDAD 2 ............................................................................................................................ 37 REPRESENTACIÓN DEL CONOCIMIENTO Y RAZONAMIENTO ................................ 38 

2.1.- Mapas conceptuales. ........................................................................................ 38 2.2.- Redes semánticas. ............................................................................................ 40 2.3.- Razonamiento monótono. ............................................................................... 45 2.4.- La lógica de predicados: sintaxis, semántica, validez e inferencia. .......... 46 2.5.- La demostración y sus métodos..................................................................... 52 2.6.- El método de resolución de Robinson. .......................................................... 54 2.7.- Conocimiento no-monótono y otras lógicas. ................................................ 58 2.8.- Razonamiento probabilístico. .......................................................................... 63 2.9.- Teorema de Bayes............................................................................................ 64 Cuestionario de evaluación....................................................................................... 68 

UNIDAD 3 ............................................................................................................................ 69 SISTEMAS DE RAZONAMIENTO LÓGICO ................................................................... 70 

3.1.- Reglas de producción....................................................................................... 70 3.2.- Sintaxis de las reglas de producción. ............................................................ 72 - A1 ٨ A2. ... ٨ An => C - representación objeto-atributo-valor........................... 72 3.3.- Semántica de las reglas de producción......................................................... 73 3.4.- Arquitectura de un sistema de Producción (SP) (ó Sistemas Basados en Reglas, SBR). .............................................................................................................. 77 3.5.- Ciclo de vida de un sistema de Producción. ................................................. 88 Cuestionario de evaluación....................................................................................... 91 

UNIDAD 4 ............................................................................................................................ 92 BÚSQUEDA Y SATISFACCIÓN DE RESTRICCIONES ................................................. 93 

4.1.- Problemas y espacios de estados. ................................................................. 93 4.2.- Espacios de estados determinísticos y espacios no determinísticos....... 100 4.3.- Búsqueda sistemática. ................................................................................... 103 4.4.- Satisfacción de restricciones. ........................................................................ 117 4.5.- Resolución de problemas de juegos. ........................................................... 120 

Page 3: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________3

Cuestionario de evaluación..................................................................................... 126 CONCLUSIÓN .................................................................................................................... 128 ANEXOS ............................................................................................................................. 129 

Anexo A Minería de datos. .......................................................................................... 129 Anexo B Robótica ......................................................................................................... 130 Anexo C Prolog ............................................................................................................. 147 Anexo D Cláusulas de Horn ........................................................................................ 152 Anexo E Tres en raya .................................................................................................. 153 

BIBLIOGRAFÍA .................................................................................................................. 155 

Page 4: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________4

ÍNDICE DE FIGURAS Figura 1. Ejemplo de un problema resuelto por el programa ANALOGY de Evans…………..12 Figura 2. Esquema del mundo de los bloques, SHRDLU (Winograd, 1972)…….……………. 13 Figura 3. Los agentes interactúan con el medioambiente sensores y efectores……………. 32 Figura 4. El mundo de la aspiradora con dos localizaciones solamente……………………….. 33 Figura 5. Tabla parcial de una función de agente sencilla para el mundo de la aspiradora………………………………….……….…………………….…………………………………………. 34 Figura 6. Mapa conceptual………………………………………….………………….………………………. 38 Figura 7. Mapa conceptual sobre los mapas conceptuales……………………………….………... 39 Figura 8. Una red general………………….…………………………………………………………………... 41 Figura 9. Una red semántica……………………..……………………………………………………………. 42 Figura 10. Red semántica con vínculos ES-UN y UN-TIPO-DE………………………….…………. 43 Figura 11. Tabla de verdad…………………………………………………………………………….………. 51 Figura 12. Cláusulas padre básicas………………………………………………………….………………. 58 Figura 13. Ejemplo de una tabla con el trío OAV (objeto-atributo-valor)……..………………. 73 Figura 14. Estructura de un símbolo o signo……………………………………………………..……… 74 Figura 15. Características de los sistemas de producción……………………………………..……. 78 Figura 16. Estructura de un sistema basado en conocimiento……………………………..……… 79 Figura 17. Ciclo de vida de un Sistema de Producción……………………………………………….. 90 Figura 18. Ejemplo de un grafo………………………..…………………………………………………….. 96 Figura 19. Grafica de estado para una máquina expendedora de bebidas gaseosas que acepta monedas de 25 y 5 centavos………………………………………..……………………………… 98 Figura 20. El espacio de estado para el problema del mono y los plátanos………………..… 99 Figura 21. Árbol de búsqueda…………….…………………………………………………………………. 104 Figura 22. Árbol de búsqueda………………………………..……………………………………………… 106

Page 5: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________5

Figura 23. Árbol de búsqueda con costos asociados………………..…………………………….… 111 Figura 24. Ejemplo de n-reinas………………………..………………………………………………….… 120 Figura 25. Planificación de corte………………..………………………………………………………….. 120 Figura 26. Árbol para minimax………………….………………………………………………………….. 124 Figura 27. Poda alfa-beta………………………………………..……………………………………………. 125

Page 6: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________6

INTRODUCCIÓN La Inteligencia Artificial es una ciencia orientada al diseño y construcción de máquinas que implementen tareas propias de humanos dotados de inteligencia natural. La Inteligencia Artificial ha pasado de ser un pequeño aspecto de la ciencia informática a ser quizás la aportación más importante a la informática desde el transistor. Este cambio se basa en cuatro factores fundamentales: el éxito de los sistemas expertos, que fueron los primeros productos de la Inteligencia Artificial de auténtico impacto comercial, el bien conocido compromiso de los japoneses con la Inteligencia Artificial, la lenta pero firme integración de las técnicas de la Inteligencia Artificial en las aplicaciones existentes y, finalmente, el hecho de que ha llegado la hora de la Inteligencia Artificial. La Inteligencia Artificial ha tenido siempre como modelo natural las funcionalidades inteligentes del hombre, focalizándose en distintos aspectos. Su primera motivación, que data de tiempo atrás, fue intentar construir máquinas que pudieran pensar como el ser humano, o al menos, emularlo en alguna capacidad que denotara cierta inteligencia. La Inteligencia Artificial ofrece perspectivas interesantes ya que es capaz de suministrar metodologías que permiten realizar de forma automática algunas de las tareas realizadas típicamente por los humanos. La Inteligencia Artificial esta ayudando a expandir el horizonte del tratamiento de la información. Parte de esta expansión se debe a la extensión de las fronteras de la tecnología. Desde el microprocesador al impacto del procesamiento en paralelo, vía redes neuronales, todo apunta a la expansión de las técnicas computacionales.

Page 7: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________7

UNIDAD 1

FUNDAMENTOS

Page 8: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________8

UNIDAD 1

FUNDAMENTOS

1.1.- El propósito de la Inteligencia Artificial y su evolución histórica. Durante más 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 de que la mente se reduce al funcionamiento de un sistema físico. Durante más de 400 años de matemáticas, han surgido teorías formales relacionadas con la lógica, probabilidad, teoría 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. La ciencia de la computación de la que se toman herramientas que permiten que la Inteligencia Artificial sea una realidad. Los filósofos (desde el año 400 a. C.) tuvieron en mente la Inteligencia Artificial al concebir a la mente con maneras diversas como una máquina que funciona a partir del conocimiento codificado en un lenguaje interno y al considerar que el pensamiento servía para determinar cuál era la acción correcta que había que emprender. Las matemáticas proveyeron las herramientas para manipular las aseveraciones de certeza lógica así como las inciertas de tipo probabilista. Así mismo prepararon el terreno para el manejo del razonamiento con algoritmos. Los psicólogos reforzaron la idea de que los humanos y otros animales podían ser considerados como máquinas para el procesamiento de información. Los lingüistas demostraron que el uso de un lenguaje se ajusta dentro de este modelo. La ingeniería de cómputo ofreció el dispositivo que permite hacer realidad las aplicaciones de la Inteligencia Artificial. Los programas de Inteligencia Artificial por lo general son extensos y no funcionarían sin los grandes avances de velocidad y memoria apartadas por la industria de cómputo. Las ciencias que aportan a la Inteligencia Artificial son: filosofía, matemáticas, psicología, lingüística y ciencias de la computación.

Page 9: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________9

Historia de la Inteligencia Artificial Génesis de la Inteligencia Artificial (1943-1955) Warren McCulloch y Walter Pitts (1943) han sido reconocidos como los autores del primer trabajo de Inteligencia Artificial. Partieron de tres fuentes: conocimientos sobre la fisiología básica y funcionamiento de las neuronas en el cerebro, el análisis formal de la lógica proposicional de Rusell y Whitehead y la teoría de la computación de Turing. Propusieron un modelo constituido por neuronas artificiales, en el que cada una de ellas se caracterizaba por estar “activadas” o “desactivadas”; la “activación” se daba como respuesta a la estimulación producida por una cantidad suficiente de neuronas vecinas [1]. El estado de una neurona se veía como “equivalente, de hecho, a una proposición con los estímulos adecuados”. Mostraron, por ejemplo, que cualquier función de cómputo podría calcularse mediante una red de neuronas interconectadas, y que todos los conectores lógicos (and, or, not, etc.) se podrían implementar utilizando estructuras de red sencillas. McCulloch y Pitts también sugirieron que redes adecuadamente definidas podrían aprender. Donald Hebb (1949) propuso y demostró una sencilla regla de actualización para modificar las intensidades de las conexiones entre neuronas. Su regla, ahora llamada de aprendizaje Hebbiano o de Hebb, sigue vigente en la actualidad. Dos estudiantes graduados en el Departamento de Matemáticas de Princeton, Marvin Minsky y Dean Edmonds, construyeron la primera computadora a partir de una red neuronal en 1951, el SNARC, como se llamó, utilizaba 3 000 válvulas de vacío y un mecanismo de piloto automático obtenido de los desechos de un avión bombardero B-247 para simular una red de 40 neuronas. El comité encargado de evaluar el doctorado de Minsky veía con escepticismo el que este tipo de trabajo pudiera considerarse como matemático, pero se dice que Von Newmann dijo, “si no lo es actualmente, algún día lo será”. Minsky posteriormente probó teoremas influyentes que mostraron las limitaciones de la investigación con redes neuronales. Hay un número de trabajos iniciales que se pueden caracterizarse como de Inteligencia Artificial, pero fue Alan Turing quien articuló primero una versión de la Inteligencia Artificial en su artículo Computing Machinery and Intelligence, en 1950, ahí, introdujo la prueba de Turing, el aprendizaje automático, los algoritmos genéticos y el aprendizaje por refuerzo. Nacimiento de la Inteligencia Artificial (1956) Princeton University acogió a otra de las figuras de la Inteligencia Artificial: John McCarthy. Posteriormente a su graduación, McCarthy se trasladó al Dartmouth College, que se erigiría en el lugar del nacimiento oficial de este campo. McCarthy convenció a Minsky, Claude Shannon y Nathaniel Rochester para que le ayudaran a aumentar el interés de los investigadores americanos de la teoría de autómatas, las redes neuronales y el

Page 10: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________10

estudio de la inteligencia. Organizaron un taller con una duración de dos meses en Darmouth en el verano de 1956. Hubo diez asistentes en total, entre los que se incluían Trenchard More de Princeton, Arthur Samuel de IBM (International Business Machines), y Ray Solomonoff y Oliver Selfridge del MIT (Instituto Tecnológico de Massachusetts) [1]. Dos investigadores del Carnegie Tech, Allen Newell y Herbert Simon, acapararon la atención. Si bien los demás también tenían algunas ideas y, en algunos casos, programas para aplicaciones determinadas como el juego de damas, Newell y Simon contaban ya con un programa de razonamiento, el Teórico Lógico (TL), del que Simon afirmaba: “Hemos inventado un programa de computación capaz de pensar de manera no numérica, con lo que ha quedado resuelto el venerable problema de la dualidad mente-cuerpo” 1. Poco después del término del taller, el programa ya era capaz de demostrar gran parte de los teoremas del capitulo 2 de Principia Matemática de Russell y Whitehead. Se dice que Russell se manifestó complacido cuando Simon le mostró que la demostración de un teorema que el programa había generado era más corta que la que aparecía en Principia. Los editores de la revista Journal of Symbolic Logic resultaron menos impresionados y rechazaron un artículo cuyos autores eran Newell, Simon y el Teórico Lógico TL. El taller de Dartmouth no produjo ningún avance notable, pero puso en contacto a las figuras importantes de este campo. Durante los siguientes 20 años, el campo estuvo dominado por estos personajes, así como por los estudiantes y colegas del MIT, CMU (Carnegie Mellon University), Stanford e IBM. Quizá lo último que surgió del taller fue el consenso en adoptar el nuevo nombre propuesto por McCarthy para este campo: Inteligencia Artificial. Quizá “racionalidad computacional” hubiese sido mas adecuado, pero “Inteligencia Artificial” se ha mantenido. Revisando la propuesta del taller de Dartmouth [McCarthy et al, 1955], se puede apreciar por qué fue necesario para la Inteligencia Artificial convertirse en un campo separado. ¿Por qué no todo el trabajo hecho en el campo de la Inteligencia Artificial se ha realizado bajo el nombre de teoría de control, o investigación operativa, o teoría de la decisión, que, después de todo, persiguen objetivos similares a los de la Inteligencia Artificial? O, ¿por qué no es la Inteligencia Artificial una rama de las matemáticas? La primera respuesta es que la Inteligencia Artificial desde el primer momento abarcó la idea de duplicar las facultades humanas como la creatividad, la auto-mejora y el uso del lenguaje. Ninguno de los otros campos tenía en cuenta estos temas. La segunda respuesta está relacionada con la metodología. La Inteligencia Artificial es el único de estos campos que es claramente una rama de la informática (aunque la investigación operativa comparte el énfasis en la simulación por computadora), además la Inteligencia Artificial es el único campo que persigue la construcción de máquinas que funcionen automáticamente en medios complejos y cambiantes.

1 Newel y Simon también desarrollaron un lenguaje de procesamiento de listas, IPL, para poder escribir el TL. No disponían de un compilador y lo tradujeron a un código máquina a mano. Para evitar errores, trabajaron en paralelo, diciendo en voz alta números binarios, conforme escribían cada instrucción para asegurarse de que coincidían.

Page 11: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________11

Entusiasmo inicial, grandes esperanzas (1952-1969) Los primeros años de la Inteligencia Artificial estuvieron llenos de éxitos (aunque con ciertas limitaciones). Teniendo en cuenta lo primitivo de las computadoras y las herramientas de programación de aquella época, y el hecho de que sólo unos pocos años antes, a las computadoras se les consideraba como artefactos que podían realizar trabajos aritméticos y nada más, resultó sorprendente que una computadora hiciese algo remotamente inteligente. La comunidad científica, en su mayoría, prefirió creer que “una máquina nunca podría hacer tareas humanas”. Naturalmente, los investigadores de Inteligencia Artificial responderían demostrando la realización de una tarea tras otra. John McCarthy se refiere a esta época como la era de “¡Mira, mamá, ahora sin manos!” [1]. Al temprano éxito de Newell y Simon siguió el del Sistema de Resolución General de Problemas (SRGP), a diferencia del Teórico Lógico, desde el principio este programa se diseñó para que imitara protocolos de resolución de problemas de los seres humanos. Dentro del limitado número de puzzles que podía manejar, resultó que la secuencia en la que el programa consideraba que los subobjetivos y las posibles acciones eran semejantes a la manera en que los seres humanos abordaban los mismos problemas. Es decir, el SRGP posiblemente fue el primer programa que incorporó el enfoque de “pensar como un ser humano”. El éxito de SRGP y de los programas que le siguieron, como los modelos de cognición, llevaron a Newell y Simon (1976) a formular la famosa hipótesis del sistema de símbolos físicos, que afirma que “un sistema de símbolos físicos tiene los medios suficientes y necesarios para generar una acción inteligente”. Lo que ellos querían decir es que cualquier sistema (humano o máquina) que exhibiese inteligencia debería operar manipulando estructuras de datos compuestas por símbolos. En IBM, Nathaniel Rochester y sus colegas desarrollaron algunos de los primeros programas de Inteligencia Artificial. Herbert Gelernter (1959) construyó el demostrador de teoremas de geometría (DGT), el cual era capaz de demostrar teoremas que muchos estudiantes de matemáticas podían encontrar muy complejos de resolver. A comienzos 1952, Arthur Samuel escribió una serie de programas para el juego de las damas que eventualmente aprendieron a jugar hasta alcanzar un nivel equivalente al de un amateur. De paso, echó por tierra la idea de que las computadoras sólo pueden hacer lo que se les dice: su programa pronto aprendió a jugar mejor que su creador. El programa se presentó en la televisión en febrero de 1956 y causó gran impresión. Como Turing, Samuel tenía dificultades para obtener el tiempo de cómputo. Trabajaba todas las noches y utilizaba máquinas que aún estaban en periodo de prueba en la planta de fabricación de IBM. John McCarthy se trasladó de Darmouth al MIT, donde realizó tres contribuciones cruciales en un año histórico: 1958. En el Laboratorio de Inteligencia Artificial de MIT Memo Número 1, McCarthy definió el lenguaje de alto nivel Lisp, que se convertiría en el lenguaje de programación dominante en la Inteligencia Artificial. Lisp es el segundo lenguaje de programación más antiguo que se utiliza en la actualidad, ya que apareció un año después de FORTRAN. Con Lisp, McCarthy tenía la herramienta que necesitaba, pero el acceso a los escasos y costosos recursos de cómputo aún era un problema serio. Para solucionarlo, él, junto a otros miembros del MIT inventaron el tiempo compartido. También, en 1958, McCarthy publicó un artículo titulado “Programs with Common Sense”, en el que describía el Generador de Planes (planificador), un programa hipotético que

Page 12: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________12

podría considerarse como el primer sistema de Inteligencia Artificial completo. Al igual que el Teórico Lógico y el Demostrador de Teoremas de Geometría, McCarthy diseñó su programa para buscar la solución a problemas utilizando el conocimiento. Pero, a diferencia de los otros, manejaba el conocimiento general del mundo. Por ejemplo, mostró cómo algunos axiomas sencillos permitían a un programa generar un plan para conducirnos hasta el aeropuerto y tomar un avión. El programa se diseñó para que aceptase nuevos axiomas durante el curso normal de la operación, permitiéndole así ser competente en áreas nuevas, sin necesidad de reprogramación. El Generador de Planes incorporaba así los principios centrales de la representación del conocimiento y el razonamiento: es útil contar con una representación formal y explicita del mundo y de la forma en que la acción de un agente afecta al mundo, así como, ser capaces de manipular estas representaciones con procesos deductivos.

1958 fue el año en el que Marvin Minsky se trasladó al MIT. Sin embargo, su colaboración inicial no duró demasiado, McCarthy se centró en la representación y el razonamiento con lógica formal, mientras que Minsky estaba más interesado en lograr que los programas funcionaran y eventualmente desarrolló un punto de vista anti-lógico. En 1963 McCarthy creó el Laboratorio de Inteligencia Artificial en Stanford, su plan para construir la versión más reciente del Generador de Planes con ayuda de la lógica sufrió un considerable impulso gracias al descubrimiento de J. A. Robinson del método de resolución (un algoritmo completo para la demostración de teoremas para la lógica de primer orden). El trabajo realizado en Stanford hacía énfasis en los métodos de propósito general para el razonamiento lógico. Algunas aplicaciones de la lógica incluían los sistemas de planificación y respuesta a preguntas de Cordell Green (1969), así como el proyecto de robótica de Shakey en el nuevo SRI (Instituto de Investigación de Stanford), este último proyecto, fue el primero que demostró la total integración del razonamiento lógico y la actividad física.

Minsky supervisó el trabajo de una serie de estudiantes que eligieron un número de problemas limitados cuya solución pareció requerir inteligencia. Estos dominios limitados se conocen como micromundos. El programa SAINT de James Slagle (1963) fue capaz de resolver problemas de integración de cálculo de forma cerrada, habituales en los primeros cursos de licenciatura. El programa ANALOGY de Tom Evans (1968) resolvía problemas de analogía geométrica que se aplicaban en las pruebas de medición de inteligencia, semejante a la figura 1.

Figura 1. Ejemplo de un problema resuelto por el programa ANALOGY de Evans.

es a es a:como

1 2 3 4 5

es a es a:como

1 2 3 4 5

Page 13: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________13

El programa STUDENT de Daniel Cocrow (1967) podía resolver problemas de álgebra del tipo:

Si el número de clientes de Tom es dos veces el cuadrado de 20 por ciento de la cantidad

de anuncios que realiza, y éstos ascienden a 45. ¿Cuántos clientes tiene Tom? El micromundo más famoso fue el mundo de los bloques, que consiste en un conjunto de bloques sólidos colocados sobre una mesa (más frecuentemente, en la simulación de ésta), como se muestra en la figura 2. Una tarea típica de este mundo es la reordenación de los bloques de cierta manera, con la ayuda de la mano de un robot que es capaz de tomar un bloque a la vez, el mundo de los bloques fue el punto de partida para el proyecto de visión de David Huffman (1971), la visión y el trabajo de propagación con restricciones de David Waltz (1975), la teoría del aprendizaje de Patrick Winston (1970), el programa de compresión de lenguaje natural de Terry Winograd (1972) y del planificador de Scott Fahlman (1974).

Figura 2. Esquema del mundo de los bloques, SHRDLU (Winograd, 1972). Ha completado su tarea,

<<Busca un bloque que sea más alto que el que ahora tienes y ponlo en la caja>>. El trabajo realizado por McCulloch y Pitts con redes neuronales hizo florecer esta área. El trabajo de Winograd y Cowan (1963) mostró cómo un gran número de elementos podría representar un concepto individual de forma colectiva, lo cual llevaba consigo un aumento proporcional en robustez y paralelismo. Los métodos de aprendizaje de Hebb se reforzaron con las aportaciones de Bernie Widrow [Widrow y Hoff, 1960; Widrow, 1962], quien llamó adalines a sus redes, y por Frank Rosenblatt (1962) con sus perceptrones. Rosenblatt demostró el famoso teorema del perceptrón, con lo que mostró que su algoritmo de aprendizaje podría ajustar las intensidades de las conexiones de un perceptrón para que se adaptaran a los datos de entrada, siempre y cuando existiera una correspondencia.

Azul

Azul

Verde

Verde

Rojo

Rojo

Rojo

Verde

Azul

Azul

Verde

Verde

Rojo

Rojo

Rojo

Verde

Page 14: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________14

Una dosis de realidad (1966-1973) Desde el principio, los investigadores de Inteligencia Artificial hicieron públicas, sin timidez, predicciones sobre el éxito que les esperaba. Con frecuencia, se cita el siguiente comentario realizado por Herbert Simon en 1957:

“Sin afán de sorprenderlos y dejarlos atónitos, pero la forma más sencilla que tengo de resumirlo es diciéndoles que actualmente en el mundo existen máquinas capaces de pensar, aprender y crear. Además, su aptitud para hacer lo anterior aumentará rápidamente hasta que (en un futuro previsible) la magnitud de problemas que serán capaces de resolver irá a la par que la capacidad de la mente humana para hacer lo mismo” [1]. Términos como futuro previsible pueden interpretarse de formas distintas, pero Simon también hizo predicciones más concretas: como que en diez años una computadora llegaría a ser campeón de ajedrez, y que podría demostrar un importante teorema matemático con una máquina. Estas predicciones se cumplirían (al menos en parte) dentro de los siguientes 40 años y no en diez. El exceso de confianza de Simon se debió a la prometedora actuación de los primeros sistemas de Inteligencia Artificial en problemas simples. En la mayor parte de los casos resultó que estos primeros sistemas fallaron estrepitosamente cuando se utilizaron en problemas mas variados o de mayor dificultad. El primer tipo de problemas surgió porque la mayoría de los primeros programas contaban con poco o ningún conocimiento de las materias de objeto de estudio; obtenían resultados gracias a las sencillas manipulaciones sintácticas. Una anécdota típica tuvo lugar cuando se comenzaba a trabajar en la traducción automática, actividad que recibía un generoso patrocinado del Consejo Nacional para la Investigación de Estados Unidos en intento de agilizar la traducción de los artículos científicos rusos en vísperas del lanzamiento del Sputnik en 1957. Al principio se consideró que todo se reduciría a sencillas transformaciones sintácticas apoyadas en las gramáticas rusas e inglesa y al emplazamiento de las palabras mediante un diccionario electrónico, lo que bastaría para obtener el significado exacto de las oraciones. La realidad es que para traducir es necesario contar con un conocimiento general sobre el tema, que permita resolver ambigüedades y así, precisar el contenido de una oración. La famosa retraducción del ruso al inglés de la frase “el espíritu es fuerte pero la carne es débil”, cuyo resultado fue “el vodka es bueno pero la carne esta podrida” es un buen ejemplo del tipo de dificultades que surgieron. En un informe presentado en 1966, el comité consultivo declaró que “no se ha logrado obtener ninguna traducción de textos científicos generales ni se prevé obtener ninguna en un futuro inmediato”. Se canceló todo el patrocinio del gobierno estadounidense que se había asignado a los proyectos académicos sobre traducción. Hoy día, la traducción automática es una herramienta imperfecta pero de uso extendido en documentos técnicos, comerciales, gubernamentales y de Internet. El segundo problema fue que muchos de los problemas que se estaban intentando resolver mediante la Inteligencia Artificial eran intratables. La mayoría de los primeros programas de Inteligencia Artificial resolvían problemas experimentando con diversos pasos hasta que se llegara a encontrar una solución. Esto funcionó en los primeros programas debido a que los micromundos con los que se trabajaba contenían muy pocos

Page 15: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________15

objetos, y por lo tanto muy pocas acciones posibles y secuencias de soluciones muy cortas. Antes de que se desarrollara la teoría de la complejidad computacional, se creía que para “aumentar” el tamaño de los programas de forma que estos pudiesen solucionar grandes problemas sería necesario incrementar la velocidad del hardware y aumentar las memorias. El optimismo que acompañó al logro de la demostración de problemas, por ejemplo, pronto se vio eclipsado cuando los investigadores fracasaron en la demostración de teoremas que implicaban más de unas pocas decenas de condiciones. El hecho de que, en principio, un programa sea capaz de encontrar una solución no implica que tal programa encierre todos los mecanismos necesarios para encontrar la solución en la práctica. La ilusoria noción de una limitada capacidad de cómputo no sólo existió en los programas para la resolución de problemas. Los primeros experimentos en el campo de la evolución automática (ahora llamados algoritmos genéticos) [Friedberg, 1958] estaban basados en la, sin duda correcta, premisa de que efectuando una adecuada serie de pequeñas mutaciones a un programa de código máquina se podría generar un programa con buen rendimiento aplicable en cualquier tarea sencilla. Después surgió la idea de probar con mutaciones aleatorias aplicando un proceso de selección con el fin de conservar aquellas mutaciones que hubiesen demostrado ser más útiles. No obstante, las miles de horas dedicadas, no dieron lugar a ningún avance tangible, los algoritmos genéticos actuales utilizan representaciones mejores y han tenido más éxito. La incapacidad para manejar la “explosión combinatoria” fue una de las principales criticas que se hicieron a la Inteligencia Artificial en el informe de Lighthill [Lighthill, 1973], informe en el que se basó la decisión del gobierno británico para retirar la ayuda a las investigaciones sobre la Inteligencia Artificial, excepto en dos universidades. El tercer obstáculo se derivó de las limitaciones inherentes a las estructuras básicas que se utilizaban en la generación de la conducta inteligente. Por ejemplo, en 1969, en el libro de Minsky y Papert, Perceptrons, se demostró que si bien era posible lograr que los perceptrones (una red neuronal simple) aprendieran cualquier cosa que pudiesen representar, su capacidad de representación era muy limitada. En particular, un perceptrón con dos entradas no se podía entrenar para que aprendiese a reconocer cuándo sus dos entradas eran diferentes. Si bien los resultados que obtuvieron no eran aplicables a redes más complejas multicapa, los fondos para la investigación de redes neuronales se redujeron prácticamente. Es irónico que los nuevos algoritmos de retroalimentación utilizados en las redes multicapa y que fueron la causa del gran resurgimiento de la investigación en redes neuronales de finales de los años 80, en realidad se hayan descubierto por primera vez en 1969 [Bryson y Ho, 1969]. Sistemas basados en el conocimiento (1969-1979) El cuadro que dibujaba la resolución de problemas durante la primera década de investigación en la Inteligencia Artificial estaba centrado en el desarrollo de mecanismos de búsqueda de propósito general, en los que se entrelazaban elementos de razonamientos básicos para encontrar así soluciones completas. A estos procedimientos se les ha denominado métodos débiles, debido a que no tratan problemas más amplios o

Page 16: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________16

más complejos. La alternativa a los métodos débiles es el uso de conocimiento específico del dominio que facilita el desarrollo de etapas de razonamiento más largas, pudiéndose así resolver casos recurrentes en dominios de conocimiento restringido. Podría afirmarse que para resolver un problema en la práctica es necesario saber de antemano la correspondiente respuesta. La trascendencia de DENDRAL (en griego significa árbol) se debió a ser el primer sistema experto de conocimiento intenso que tuvo éxito: su base de conocimiento estaba formada por grandes cantidades de reglas de propósito particular. En sistemas diseñados posteriormente se incorporaron también los elementos fundamentales de la propuesta de McCarthy para el Generador de Planes, la nítida separación de conocimiento (en forma de reglas) de la parte correspondiente al razonamiento. El siguiente gran esfuerzo se realizó en el área de diagnóstico médico, Feigenbaum, Buchanan y el doctor Edward Shortliffe diseñaron el programa MYCIN, para el diagnóstico de infecciones sanguíneas. Con 450 reglas aproximadamente, MYCIN era capaz de hacer diagnósticos tan buenos como los de un experto y, desde luego, mejores que los de un médico recién graduado. Se distinguía de DENDRAL en dos aspectos principalmente. En primer lugar, a diferencia de las reglas de DENDRAL, no se contaba con un modelo teórico desde el cual se pudiesen deducir las reglas de MYCIN. Fue necesario obtenerla a partir de extensas entrevistas con expertos, quienes las habían obtenido de libros de texto, de otros expertos o de su experiencia directa en casos prácticos. En segundo lugar, las reglas deberían reflejar la incertidumbre inherente al conocimiento médico. MYCIN contaba con un elemento que facilitaba el cálculo de la incertidumbre denominado factores de certeza, que al parecer (en aquella época) correspondía muy bien a la manera como los médicos ponderaban las evidencias al hacer un diagnóstico. La importancia del conocimiento del dominio se demostró también en el área de la comprensión del lenguaje natural. Aunque el sistema SHRDLU de Winograd para la comprensión del lenguaje natural había suscitado mucho entusiasmo, su dependencia del análisis sintáctico provocó algunos de los mismos problemas que habían aparecido en los trabajos realizados en la traducción automática. Era capaz de resolver los problemas de la ambigüedad e identificar los pronombres utilizados, gracias a que se había diseñado especialmente para un área (el mundo de los bloques). Fueron varios de los investigadores que, como Eugene Charniak, estudiante de Winograd en el MIT, opinaron que para una sólida comprensión del lenguaje era necesario contar con un conocimiento general sobre el mundo y un método general para usar este conocimiento. En Yale, el lingüista transformado en informático Roger Schank reforzó lo anterior al afirmar: “No existe eso que llaman sintaxis” lo que irritó a muchos lingüistas pero sirvió para iniciar un útil debate. Schank y sus estudiantes diseñaron una serie de programas cuyo objetivo era la compresión del lenguaje natural. Entre los problemas estaba el de la representación de situaciones de estereotipo, la descripción de la organización de la memoria humana y la compresión de planes y objetivos. El crecimiento generalizado de aplicaciones para solucionar problemas del mundo real provocó el respectivo aumento de la demanda de esquemas de representación del conocimiento que funcionaran. Se desarrolló una considerable cantidad de lenguajes de

Page 17: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________17

representación y razonamientos diferentes. Algunos basados en la lógica, por ejemplo el lenguaje Prolog gozó de mucha aceptación en Europa, aceptación que en los Estados Unidos fue para la familia del PLANNER. Otros, siguiendo la noción de marcos de Minsky (1975) se decidieron por un enfoque más estructurado, al recopilar la información sobre objetos concretos y tipos de eventos, organizando estos tipos en grandes jerarquías taxonómicas, similares a las biológicas. Impacto de la Inteligencia Artificial en la industria (Desde 1980 hasta el presente) El primer sistema experto comercial que tuvo éxito, R1, inició su actividad en DEC (Digital Equipment Corporation) [McDermott, 1982], el programa se utilizaba en la elaboración de pedidos de nuevos sistemas informáticos. En 1986 representaba para la compañía un ahorro estimado de 40 millones de dólares al año, en 1988, el grupo de Inteligencia Artificial de DEC había distribuido ya 40 sistemas expertos, y había más en camino. Du Pont utilizaba ya 100 y estaban en etapa de desarrollo de 500 más, lo que generaba ahorro de diez millones de dólares anuales aproximadamente. Casi todas las compañías importantes de Estados Unidos contaban con su propio grupo de Inteligencia Artificial, en el que se utilizaban o investigaba sistemas expertos [1]. En 1981 los japoneses anunciaron el proyecto “Quinta Generación”, un plan de diez años para construir computadoras inteligentes en los que pudiese ejecutarse Prolog. Como respuesta Estados Unidos constituyó la Microelectronics and Computer Technology Corporation (MCC), consorcio encargado de mantener la competitividad nacional en estas áreas. En ambos casos, la Inteligencia Artificial formaba parte de un gran proyecto que incluía el diseño de chips y la investigación de la relación hombre máquina. Sin embargo, los componentes de Inteligencia Artificial generados en el marco de MCC y el proyecto de Quinta Generación nunca alcanzaron sus objetivos. En el Reino Unido, el informe Alvey restauró el patrocinio suspendido por el informe Lighthill (para evitar confusiones, se creó un nuevo campo denominado Sistemas Inteligentes Basados en Conocimientos (IKBS) ya que la Inteligencia Artificial había sido oficialmente cancelada). En su conjunto, la industria de la Inteligencia Artificial creció rápidamente, pasando de unos pocos millones de dólares en 1980 a billones de dólares en 1988. Poco después de este periodo llegó la época llamada “El invierno de la Inteligencia Artificial”, que afectó a muchas empresas que no fueron capaces de desarrollar los extravagantes productos prometidos. Las redes neuronales (Desde 1986 a la fecha) Aunque la informática había abandonado de manera general el campo de las redes neuronales a finales de los años 70, el trabajo continuó en otros campos. Físicos como John Hopfield (1982) utilizaron técnicas de la mecánica estadística para analizar las propiedades de almacenamiento y optimización de las redes, tratando colecciones de nodos como colecciones de átomos. Psicólogos como David Rumelharl y Geoff Hinton continuaron con el estudio de modelos de memoria basados en redes neuronales. El

Page 18: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________18

impulso más fuerte se produjo a mediados de la década de los 80, cuando por lo menos cuatro grupos distintos reinventaron el algoritmo de aprendizaje de retroalimentación, mencionado por primera vez en 1969 por Bryson y Ho. El algoritmo se aplicó a diversos problemas de aprendizaje en los campos de la informática y la psicología, y la gran difusión que conocieron los resultados obtenidos, publicados en la colección Parallel Distributed Processing [Rumelhart y MacClelland, 1986], suscitó gran entusiasmo [1]. Aquellos modelos de Inteligencia Artificial llamados conexionistas fueron vistos por algunos de los competidores tanto de los modelos simbólicos propuestos por Newell y Simon como de la aproximación lógica de McCarthy entre otros [Smolesky, 1988]. Puede parecer obvio que los humanos manipulan símbolos hasta cierto nivel, de hecho, el libro The Symbolic Species (1977) de Terrence Deacon sugiere que esta es la característica que define a los humanos, pero los conexionistas más ardientes se preguntan si la manipulación de los símbolos desempeña algún papel justificable en determinados modelos de cognición. Este interrogante no ha sido aún clarificado, pero la tendencia actual es que las aproximaciones conexionistas y simbólicas son complementarias y no competidoras. Inteligencia Artificial se convierte en una ciencia (Desde 1987 hasta el presente) En los últimos años se ha producido una revolución tanto en el contenido como en la metodología de trabajo en el campo de la Inteligencia Artificial [ha quien ha caracterizado este cambio como la victoria de los pulcros (aquellos que consideran que las teorías de la Inteligencia Artificial deben basarse rigurosamente en la matemáticas) sobre los desaliñados (aquellos que después de intentar muchas ideas, escriben algunos programas y después evalúan las que aparentemente funcionan), ambos enfoques son útiles, esta tendencia a favor de una mayor pulcritud es señal de que en el campo ha alcanzado cierto nivel de estabilidad y madurez, lo cual implica que tal estabilidad se puede ver alterada con el surgimiento de otras ideas poco estructuradas.]. Actualmente es más usual el desarrollo sobre teorías ya existentes que proponer teorías totalmente novedosas, tomar como base rigurosos teoremas o sólidas evidencias experimentales más que intuición, y demostrar la utilidad de las aplicaciones en el mundo real más que crear ejemplos de juguete [1]. La Inteligencia Artificial se fundó en parte en el marco de una rebelión en contra de las limitaciones de los campos existentes como la teoría de control o la estadística, y ahora abarca estos campos, tal y como lo indica David McAllester (1998).

“En los primeros años la Inteligencia Artificial parecía perfectamente posible que las nuevas formas de la computación simbólica, por ejemplo, los marcos y las redes semánticas, hicieran que la mayor parte de la teoría clásica pasará a ser obsoleta. Esto llevó a la Inteligencia Artificial a una especie de aislamiento, que la separó del resto de las ciencias de la computación. En la actualidad se está abandonando este aislamiento.

Existe la creencia de que el aprendizaje automático no se debe separar de la teoría de la información, que el razonamiento incierto no se debe separar de los modelos

Page 19: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________19

estocásticos2, de que la búsqueda no se debe aislar de la optimización clásica y el control, y de que el razonamiento automático no se debe separar de los métodos formales y del análisis estático.” En los términos metodológicos, se puede decir, con rotundidad, que la Inteligencia Artificial ya forma parte del ámbito de los métodos científicos. Para que se acepten, las hipótesis se deben someter a rigurosos experimentos empíricos, y los resultados deben analizarse estadísticamente para identificar su relevancia [Cohen, 1995], el uso de Internet y el compartir repositorios de datos de prueba y código, ha hecho posible que ahora se puedan contrastar experimentos. Un buen modelo de la tendencia actual es el campo del reconocimiento del habla, en la década de los 70 se sometió a prueba una gran variedad de arquitecturas y enfoques, muchos de ellos fueron un tanto ad hoc y resultaban frágiles, y fueron probados sólo en unos pocos ejemplos elegidos especialmente. En años recientes, las aproximaciones basadas en los modelos de Markov ocultos (MMO), han pasado a dominar el área. Dos son las características del MMO que tienen relevancia; primero, se basan en una rigurosa matemática, lo cual ha permitido a los investigadores del lenguaje basarse en los resultados de las investigaciones matemáticas hechas en otros campos a lo largo de varias décadas; en segundo lugar, los modelos se han generado mediante un proceso de aprendizaje en grande corpus de datos de los lenguajes, lo cual garantiza una funcionalidad robusta, y en sucesivas pruebas ciegas, los MMO han mejorado sus resultados a un ritmo constante. La tecnología del habla y del campo relacionado del reconocimiento de caracteres manuscritos está actualmente en transición hacia una generalizada utilización en aplicaciones industriales y de consumo. Las redes neuronales también siguen esta tendencia. La mayor parte del trabajo realizado con redes neuronales en la década de los 80 se realizó con la idea de dejar a un lado lo que se podía hacer y de descubrir en qué se diferenciaban las redes neuronales de otras técnicas “tradicionales”. La utilización de las metodologías mejoradas y marcos teóricos, ha autorizado que este campo alcance un grado de conocimiento que ha permitido que ahora las redes neuronales se puedan comparar con otras técnicas similares de campos como la estadística, el reconocimiento de patrones y el aprendizaje automático, de forma que las técnicas más prometedoras pueden aplicarse a cualquier problema. Como resultado de estos desarrollos, la tecnología denominada minería de datos (véase anexo Minería de datos) ha generado una nueva y vigorosa industria. La aparición de Probabilistic Reasoning in Intelligent Systems de Judea Pearl (1988) hizo que se aceptara de nuevo la probabilidad y la teoría de la decisión como parte de la Inteligencia Artificial, como consecuencia del resurgimiento del interés despertado y gracias especialmente al articulo In Defense of Probability de Peter Cheeseman (1985). El formalismo de las redes de Bayes apareció para facilitar la representación eficiente y el razonamiento riguroso en situaciones en las que se disponía de conocimiento incierto. Este enfoque supera con creces muchos de los problemas de sistemas de razonamiento probabilístico de las décadas de los 60 y 70; y ahora domina la investigación de la Inteligencia Artificial en el razonamiento incierto y los sistemas expertos. Esta 2 Se denomina estocástico a aquel sistema que funciona, sobre todo, por el azar.

Page 20: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________20

aproximación facilita el aprendizaje a partir de la experiencia, y combina lo mejor de la Inteligencia Artificial clásica y las redes neuronales. El trabajo de Judea Pearl (1982) y de Eric Horvitz y David Heckerman [Horvitz y Heckerman, 1986; Horvitz et al., 1986] sirvió 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 la decisión, sin que intenten imitar las etapas de razonamiento de los expertos humanos. El sistema operativo Windows TM incluye varios sistemas expertos de diagnóstico normativos para la corrección de problemas. Revoluciones similares y suaves se han dado en robótica, visión por computadora, y aprendizaje automático. La comprensión mejor de los problemas y de su complejidad, junto a un incremento de la sofisticación de las matemáticas ha facilitado el desarrollo de una agenda de investigación y de métodos más robustos. En cualquier caso, la formalización y la especialización ha llevado también la fragmentación: áreas como la visión y la robótica están cada vez más aislados de la “rama central” de la Inteligencia Artificial (véase anexo Robótica). La concepción unificadora de la Inteligencia Artificial como diseño de agentes racionales puede facilitar la unificación de estos campos diferentes. Los sistemas inteligentes (Desde 1995 hasta el presente) Quizás animados por el progreso en la revolución de subproblemas de Inteligencia Artificial, los investigadores han comenzado a trabajar de nuevo en el problema del “agente total”. El trabajo de Allen Newell, John Laird, y Paul Rosenbloom en SOAR [Newell, 1990; Laird et al., 1987] es el ejemplo mejor conocido de una arquitectura de agentes completa. El llamado “movimiento situado” intenta entender la forma de actuar de los agentes inmersos en entornos reales, que disponen de sensores de entradas continuas [1]. Los diseñadores de SOAR aplicaron el sistema a distintos problemas, como ser el de resolver puzzles simples y jugar juegos sencillos, a diagnósticos médicos, al control de un robot y otros. En 1991 el sistema estaba aprendiendo lenguajes humanos y típicamente aprendió alrededor de 1000 reglas de actuación y reaccionó en 25 milisegundos aproximadamente. Unos de los medios más importantes para los agentes inteligentes es el Internet. Los sistemas de Inteligencia Artificial han llegado a ser tan comunes en aplicaciones desarrolladas para la Web que el sufijo “-bot” se ha introducido en el lenguaje común. Más aún, tecnologías de Inteligencia Artificial son base de muchas herramientas para Internet, como por ejemplo motores de búsqueda, sistemas de recomendación, y los sistemas para la construcción de portales Web. Unas de las conclusiones que se han extraído al tratar de construir agentes inteligentes completos ha sido que se deberían reorganizar los subcampos aislados de la Inteligencia Artificial para que sus resultados se puedan interrelacionar. En particular, ahora se cree mayoritariamente que los sistemas sensoriales (visión, sonar, reconocimiento del habla, etc.) no pueden generar información totalmente fidedigna del medio en el que habitan.

Page 21: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________21

Otra segunda consecuencia importante, desde la perspectiva del agente, es que la Inteligencia Artificial se ha ido acercando a otros campos, como la teoría del control y la economía, que también tratan con agentes.

1.2.- Las habilidades cognoscitivas según la psicología. Teorías de la inteligencia (conductismo, Gardner). Psicología (Desde el año 1879 hasta el presente) ¿Cómo piensan y actúan los humanos y los animales? La psicología científica se inició con los trabajos del físico alemán Hermann Von Helmholtz (1821-1894), según se referencia habitualmente, y con su discípulo Wilhelm Wundt (1832-1920), Helmholtz aplicó el método científico al estudio de la vista humana, y su obra Handbook of Physiological Optics, todavía en nuestros días, se considera como “el tratado actual más importante sobre la física y la fisiología de la vista humana” [Nalwa, 1993, p. 15]. En 1879, Wundt abrió el primer laboratorio de psicología experimental en la Universidad de Leipzig, Wundt puso mucho énfasis en la realización de experimentos controlados cuidadosamente en la que sus operarios realizaban tareas de percepción o asociación al tiempo que sometían a introspección sus procesos mentales. Los meticulosos controles evolucionaron durante un largo periodo de tiempo hasta convertir la psicología en una ciencia, pero la naturaleza subjetiva de los datos hizo poco probable que un investigador pudiera contradecir sus propias teorías. Biólogos, estudiando el comportamiento humano, por el contrario, carecían de datos introspectivos y desarrollaron una metodología objetiva, tal y como describe H. S. Jennings (1906) en su influyente trabajo Behavior of the Lower Organisms. El movimiento conductista, liderado por John Watson (1878-1958) aplicó este punto de vista a los humanos, rechazando cualquier teoría en la que intervinieran procesos mentales, argumentando que la introspección no aportaba evidencia fiable. Los conductistas insistieron en el estudio exclusivo de mediciones objetivas de percepciones (o estímulos) sobre animales y de las acciones resultantes (o respuestas). Construcciones mentales como conocimientos, creencias, objetivos y pasos en un razonamiento quedaron descartadas por ser consideradas “psicología popular” no científica. El conductivismo hizo muchos descubrimientos utilizando ratas y palomas, pero no tuvo menos éxito en la compresión de los seres humanos. Aún así, su influencia en la psicología fue notable (especialmente en los Estados Unidos) desde aproximadamente 1920 hasta 1960 [1]. La conceptuación del cerebro como un dispositivo de procesamiento de información, característica principal de la psicología cognitiva, se remonta por lo menos a las obras de William James (1842-1910) (era hermano del novelista Henry James. Se comenta que Henry escribió novelas narrativas como si se tratara de psicología y William escribió sobre psicología como si se tratara de novelas narrativas.) Helmholtz también pone énfasis en que la percepción entraña cierto tipo de inferencia lógica inconsciente. Este punto de vista cognitivo se vio eclipsado por el conductivismo en Estados Unidos, pero en la Unidad de Psicología Aplicada de Cambridge, dirigida por Federic Bartlett (1886-1969), los modelos cognitivos emergieron con fuerza. La obra The Nature of Explanation, de Kenneth Craik (1943), discípulo y sucesor de Bartlett, restablece enérgicamente la legitimidad de

Page 22: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________22

términos “mentales” como creencias y objetivos, argumentando que son tan científicos como lo pueden ser la presión y la temperatura cuando se habla acerca de los gases, a pesar de que éstos estén formados por moléculas que no tienen ni presión ni temperatura. Craik establece tres elementos clave que hay que tener en cuenta para diseñar un agente basado en conocimiento: (1) el estímulo deberá de ser traducido a una representación interna, (2) esta representación se debe manipular mediante procesos cognitivos para así generar nuevas representaciones internas, y (3) éstas, a su vez, se traducirán de nuevo en acciones. Dejó muy claro por qué consideraba que estos eran los requisitos idóneos para diseñar un agente: Si el organismo tiene 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 cuál es la mejor, planificar su reacción ante posibles situaciones futuras antes de que éstas surjan, emplear lo aprendido de experiencias pasadas en situaciones presentes y futuras, y en todo momento, reaccionar ante los previstos que acontezcan de manera satisfactoria, segura y más competente [Craik, 1943]. Después de la muerte de Craik en un accidente de bicicleta en 1945. Donald Boadbent continuó su trabajo, y su libro Perception and Communication (1958) incluyó algunos de los primeros modelos de procesamiento de información del fenómeno psicológico. Mientras tanto, en los Estados Unidos el desarrollo del modelo computacional llevo a la creación del campo de la ciencia cognitiva, se puede decir que este campo comenzó en un simposio celebrado en el MIT, en septiembre de 1956, en este simposio, George Miller presentó The Magic Number Seven, Noam Chomsky presentó Three Models of language, y Allen Newell y Herbert Simon presentaron The Logic Theory Machine. Estos tres artículos influyentes mostraron cómo se podían utilizar los modelos informáticos para modelar la psicología de la memoria, el lenguaje y el pensamiento lógico, respectivamente. Los psicólogos comparten en la actualidad el punto de vista común de que “la teoría cognitiva debe ser como un programa de computadora” [Anderson, 1980], o dicho de otra forma, debe describir un mecanismo de procesamiento de información detallado, lo cual lleva consigo la implementación de algunas funciones cognitivas.

1.3.- El proceso de razonamiento según la lógica (Axiomas, Teoremas, demostración). Comportamiento humano: el enfoque de la prueba de Turing La Prueba de Turing propuesta por Alan Turing (1950), se diseñó para proporcionar una definición operacional y satisfactoria de inteligencia. En vez de proporcionar una lista larga y quizá controvertida de cualidades necesarias para obtener inteligencia artificialmente, él sugirió una prueba basada en la incapacidad de diferenciar entre entidades inteligentes indiscutibles y seres humanos. La computadora supera la prueba si un evaluador humano no es capaz de distinguir si las respuestas, a una serie de preguntas planteadas, son de una persona o no [1]. Hoy por hoy, podemos decir que programar una computadora para que supere la prueba requiere un trabajo considerable. La computadora debería poseer las siguientes capacidades:

Page 23: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________23

• Procesamiento de lenguaje natural que le permita comunicarse satisfactoriamente en inglés.

• Representación del conocimiento para almacenar lo que se conoce o siente. • Razonamiento automático para utilizar la información almacenada para

responder a las preguntas y extraer nuevas conclusiones. • Aprendizaje automático para adaptarse a nuevas circunstancias y para

detectar y extrapolar patrones. La Prueba de Turing evitó deliberadamente la interacción física directa entre el evaluador y la computadora, dado que para medir la inteligencia es necesario simular físicamente a una persona. Sin embargo, la llamada Prueba Global de Turing incluye una señal de vídeo que permite al evaluador valorar la capacidad de percepción del evaluado, y también le da la oportunidad al evaluador de pasar objetos físicos “a través de una ventanita”. Para superar la Prueba Global de Turing la computadora debe estar dotada de:

• Visión computacional para percibir objetos. • Robótica para manipular y mover objetos.

Estas seis disciplinas abarcan la mayor parte de la Inteligencia Artificial, Turing merece ser reconocido por diseñar una prueba que se conserva vigente después de 50 años. Los investigadores del campo de la Inteligencia Artificial han dedicado poco esfuerzo a la evaluación de sus sistemas con la Prueba de Turing, por creer que es más importante el estudio de los principios en los que se basa la inteligencia para duplicar un ejemplar. La búsqueda de un ingeniero que “volara artificialmente” tuvo éxito cuando los hermanos Wright, entre otros, dejaron de imitar a los pájaros y comprendieron los principios de la aerodinámica. Los textos de ingeniería aerodinámica no definen el objetivo de su campo como la construcción de “máquinas que vuelen como palomas de forma que puedan incluso confundir a otras palomas”. Pensamiento racional: el enfoque de las “leyes del pensamiento” El filósofo griego Aristóteles fue uno de los primeros en intentar codificar la “manera correcta de pensar”, es decir, un proceso de razonamiento irrefutable. Sus silogismos son esquemas de estructuras de argumentación mediante las que siempre se llega a conclusiones correctas si se parte de permisas correctas (por ejemplo: “Sócrates es un hombre; todos los hombres son mortales; por lo tanto Sócrates es mortal”). Estas leyes de pensamiento supuestamente gobiernan la manera de operar de la mente; su estudio fue el inicio de un campo llamado lógica [1]. Estudiosos de la lógica desarrollaron, en el siglo XIX, una notación precisa para definir sentencias sobre todo tipo de elementos en el mundo y especificar relaciones entre ellos (compárese esto con la notación aritmética común, que prácticamente sólo sirve para representar afirmaciones acerca de la igualdad y desigualdad entre números). Ya en 1965 existían programas que, en un principio, resolvían cualquier problema resoluble descrito en una notación lógica. La llamada tradición logística dentro del campo de la Inteligencia Artificial trata de construir sistema inteligentes a partir de estos programas.

Page 24: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________24

Este enfoque representa dos obstáculos. No es fácil transformar conocimiento informal y expresarlo en los términos formales que requieren de una notación lógica, particularmente cuando el conocimiento que se tiene es inferior al 100 por 100. En segundo lugar, hay una gran diferencia entre poder resolver un problema “en principio” y hacerlo en la práctica. Incluso problemas con apenas una docena de datos pueden agotar los recursos computacionales de cualquier computadora a menos que cuente con alguna directiva sobre los pasos de razonamiento que hay que llevar a cabo primero. Aunque los dos obstáculos anteriores están presentes en todo intento de construir sistemas de razonamiento computacional, surgieron por primera vez en la tradición lógica. Actuar de forma racional: el enfoque del agente racional Un agente es algo que razona (agente viene del latín agere, hacer). Pero de los agentes informáticos se espera que tengan otros atributos que los distingan de los “programas” convencionales, como que estén dotados de controles autónomos, que perciban su entorno, que persistan durante un período de tiempo prolongado, que se adapten a los cambios, y que sean capaces de alcanzar los objetivos diferentes. Un agente racional es aquel que actúa con la intención de alcanzar el mejor resultado o, cuando hay incertidumbre, el mejor resultado esperado [1]. En el caso del enfoque de la Inteligencia Artificial según las “leyes del pensamiento”, todo el énfasis se pone en hacer inferencias correctas. La obtención de estas inferencias correctas puede, a veces, formar parte de lo que se considera un agente racional, ya que una manera racional de actuar es llegar a la conclusión lógica de que si una acción dada permite alcanzar un objetivo, hay que llevar a cabo dicha acción. Sin embargo, al efectuar una inferencia correcta no depende siempre de la racionalidad, ya que existen situaciones para las que no hay nada correcto que hacer y en las que hay que tomar una decisión. Existen también formas de actuar racionalmente que no implican realizar inferencias, por ejemplo, el retirar la mano de la estufa caliente es un acto de reflejo mucho más eficiente que una respuesta lenta llevada a cabo tras una deliberación cuidadosa. Todas las habilidades que se necesitan en la Prueba de Turing deben permitir emprender acciones racionales. Por lo tanto, es necesario contar con la capacidad para representar el conocimiento y razonar basándonos en él, porque ello permitirá alcanzar decisiones correctas en una amplia gama de situaciones. Es necesario ser capaz de generar sentencias comprensibles en lenguaje natural, ya que el enunciado de tales oraciones permite a los agentes desenvolverse en una sociedad compleja. El aprendizaje no se lleva a cabo por erudición exclusivamente, sino que profundizar en el conocimiento de cómo funciona el mundo facilita la concepción de estrategias mejores para manejarse en él, la percepción visual es necesaria no sólo porque ver es divertido, sino porque es necesario para poder tener una idea mejor de lo que una acción puede llegar a representar, por ejemplo, el ver un delicioso bocadillo contribuirá a que nos acerquemos a él. Por esta razón, el estudiar la Inteligencia Artificial desde el enfoque del diseño de un agente racional ofrece al menos dos ventajas. La primera es más general que el enfoque que proporcionan las “leyes del procesamiento”, dado que el efectuar inferencias correctas es sólo uno de los mecanismos existentes para garantizar la racionalidad. La segunda es

Page 25: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________25

más afín a la forma en que se ha producido el avance científico que los enfoques basados en la conducta o pensamiento humano, porque la norma de racionalidad está claramente definida y es de aplicación general. Por el contrario, la conducta humana se adapta bien a un entorno específico, y en parte, es producto de un proceso evolutivo complejo, en gran medida desconocido, que aún está lejos de llevarnos a la perfección. Sistemas lógicos Un sistema lógico es una recopilación de objetos como reglas, axiomas, instrucciones, etcétera, organizada de manera congruente [2]. El sistema lógico tiene varios objetivos, el primero consiste en especificar las formas de los argumentos. Como los argumentos lógicos no tienen significado en un sentido semántico, una forma válida es esencial si habrá de determinarse la validez del argumento. Por tanto, una función importante de un sistema lógico es determinar las fórmulas bien formadas (fbf) que se utilizan en los argumentos; sólo estas pueden utilizarse en argumentos lógicos. Por ejemplo, en la lógica silogística:

Todo S es P Podría ser una fbf, pero:

Todo Todo es S P Es S todo

No son fbfs. Aunque los símbolos del alfabeto carecen de significado, la secuencia de símbolos que conforman la fbf sí lo tiene. El segundo objetivo de un sistema lógico es indicar las reglas de inferencia que son válidas. El tercer objetivo de un sistema lógico es extenderse al descubrir nuevas reglas de la inferencia y, por tanto, extender el rango de argumentos que pueden probarse. Al extender el rango de los argumentos, pueden probarse nuevas fbf, llamadas teoremas, con un argumento lógico. Cuando un sistema lógico esta bien desarrollado, puede utilizarse para determinar la validez de los argumentos de manera análoga a los cálculos en sistemas como la aritmética, la geometría, el cálculo, la física y la ingeniería. Se han desarrollado sistemas lógicos como el Cálculo de frases o proposiciones, el Cálculo de afirmaciones, etc. Cada sistema depende de definiciones formales de sus axiomas o postulados, que son sus definiciones fundamentales, a partir de estos axiomas, la trata de determinar lo que puede probarse. Cualquier persona que haya estudiado geometría euclidiana en la preparatoria esta familiarizado con los axiomas y la derivación de teoremas geométricos. Al igual que los teoremas geométricos pueden derivarse de los axiomas geométricos, los teoremas lógicos pueden derivarse de axiomas lógicos. Un axioma es solo un hecho o aseveración (o aserto) que no puede probarse desde el interior del sistema. A veces aceptamos ciertos axiomas porque tienen “sentido” al apelar al sentido común o a la observación. Otros axiomas, como “las líneas paralelas se unen en el infinito”, no tienen un sentido intuitivo porque parecen contradecir el axioma de

Page 26: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________26

Euclides de que las líneas paralelas nunca se unen. Sin embargo, este axioma acerca de las líneas paralelas que se unen en el infinito es tan razonable desde el punto de vista puramente lógico como el de Euclides y es la base de un tipo de geometría no euclidiana. Un sistema formal requiere lo siguiente:

1. Un alfabeto de símbolos. 2. Un conjunto de cadenas finitas de estos símbolos, las fbf. 3. Axiomas, las definiciones del sistema. 4. Reglas de inferencia, que permiten una fbf, A, que habrá de deducirse como la

conclusión de un conjunto finito, G, de otras fbf donde G = (A1, A2…An). Estas fbf deben ser axiomas u otros teoremas del sistema lógico. Por ejemplo, un sistema de lógica proposicional puede definirse utilizando sólo modus ponens para derivar nuevos teoremas.

Si el argumento: A1, A2,… AN; por lo tanto A Es válido, entonces se dice q A es un teorema del sistema de lógica formal y se escribe con el símbolo ├. Por ejemplo, Γ ├ A significa que A es un teorema del conjunto de fbf, Γ . Un esquema mas explicito de una prueba de que a es un teorema se muestra a continuación:

A1, A2, … AN, ├ A El símbolo ├ que indica que el siguiente fbf es un teorema, no es un símbolo del sistema. En cambio ├ es un metasímbolo, porque se utiliza para describir al propio sistema. Una analogía es un lenguaje de computadora como el Pascal, pues aunque pueden especificarse programas utilizando la sintaxis de Pascal, no hay sintaxis en Pascal para indicar un programa válido. Una regla de inferencia en un sistema formal especifica la manera exacta en que pueden obtenerse nuevos asertos, los teoremas, a partir de axiomas y teoremas previamente derivados. Un ejemplo de un teorema es nuestro silogismo sobre Sócrates, escrito en forma de lógica de predicados:

H(s)M(x)),(H(x) x)( →∀ ├ M(s)

Donde H es la función del predicado para hombre y M es la función de predicado para mortal. Como M(s) puede probarse a partir de sus axiomas de la izquierda, es un teorema de estos axiomas. Sin embargo, nótese que M (Zeus) no seria un teorema porque Zeus, el dios griego, no es un hombre, y no hay forma alterna de demostrar M (Zeus). Si un teorema es una tautología, se deduce que Γ es un conjunto vació porque la fbf siempre es verdadera y, por tanto, no depende de ningún otro axioma o teorema. Un teorema que es una tautología se escribe con el símbolo ╞ , como en ╞A. Por ejemplo, si Aip∨~ p, entonces ╞p∨~p establece que p∨~p es un teorema, que es una tautología. Observe que, independientemente de cualquier valor asignado a p, V o F, el teorema p∨~p siempre es verdadero. Una asignación de valores verdaderos es una

Page 27: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________27

interpretación de una fbf. Un modelo es una interpretación en la cual la fbf es verdadera. Por ejemplo, un modelo de p→ q es p=V y q=V. A una fbf se le llama consistente si hay una interpretación que la hace verdadera, e inconsistente si la fbf es falsa en todas las interpretaciones. Un ejemplo de una fbf inconsistente es p∨~ p. Una fbf es válida si es verdadera en todas las interpretaciones; de otra manera es inválida. Por ejemplo, la fbf p∨~ p es válida, mientras que p->q es una fbf invalida porque no es verdadera para p=V y q=F. Una fbf probada si puede demostrarse que es válida. Todas las fbf de proposiciones pueden comprobarse con el método de la tabla de verdad, porque sólo hay un número finito de interpretaciones para fbf, y así, se puede determinar el cálculo proposicional decidible. Sin embargo, el cálculo de predicados no es decidible porque no hay un método general de comprobación como las tablas de verdad para todas las fbf del cálculo de afirmaciones. Un ejemplo de una fbf de cálculo de predicados válida que puede probarse es la de cualquier predicado B;

→∃x)B(x)( ~ [ x)(∀ ~ ])B(x que muestra cómo el cuantificador existencial puede reemplazarse con el cuantificador universal. Por tanto, esta fbf de cálculo de predicados es un teorema. Hay una gran diferencia entre una expresión como ├A y ╞B. La A es un teorema y puede probarse a partir de los axiomas, mediante las reglas de inferencia. La B es una fbf y tal vez no haya prueba conocida para demostrar su derivación. Mientras que la lógica proposicional es decidible, la lógica de predicado no lo es. Es decir, no hay un procedimiento ni algoritmo mecánico para comprobar un teorema de lógica proposicional con un número finito de pasos. En realidad, existe una prueba teórica de que no hay un procedimiento de decisión para la lógica de predicados. Sin embargo, no hay procedimientos de decisión para sus subconjuntos como los silogismos y la lógica de proposición. Debido a esto, a veces se alude a la lógica de predicado como semidecidible. Un ejemplo muy simple de un sistema formal completo, define lo siguiente: Alfabeto: el símbolo “1”. Axioma: La cadena “1” (que resulta igual que el símbolo 1). Regla de inferencia: si cualquier cadena $ es un teorema, entonces la cadena $11 lo es. Esta regla puede escribirse como una regla de producción de Post:

$→ $11 Si $=1 entonces la regla da $11=111 Si $=111 entonces la regla da $11=11111 y en general

1, 111, 11111, 1111111,…

Estas cadenas son los teoremas de este sistema formal [Minsky 1967].

Page 28: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________28

Aunque algo como 11111 no se parece a los teoremas que acostumbramos ver, son teoremas lógicos perfectamente válidos. Estos teoremas particulares también tienen un significado semántico, porque son los números nones expresados en un sistema de números unitario del símbolo 1. Al igual que el sistema binario sólo se tiene los símbolos del alfabeto 0 y 1, el sistema de números unitario sólo tiene el símbolo 1. Los números del sistema unitario y decimal se expresan como sigue:

Unitario Decimal 1 1 11 2 111 3 1111 4 11111 5

y así sucesivamente. Observemos que debido a la inferencia y al axioma, las cadenas 11, 1111 y demás, no pueden expresarse en nuestro sistema formal. Es decir, 11 y 1111 son cadenas de nuestro alfabeto formal, pero no son teoremas ni fbf porque no pueden probarse utilizando solamente la regla de inferencia y el axioma. El sistema formal sólo permite la derivación de los números nones, no la de los pares. Debe agregarse al axioma “11” para poder derivar los números pares. Otra propiedad de un sistema formal es su capacidad de estar completo. Un conjunto de axiomas esta completo si cada fbf puede probarse o refutarse, este termino significa probar que alguna aseveración es falsa. En un sistema completo, cada fbf lógicamente valida es un teorema. Sin embargo, como no es posible determinar la lógica de predicados, obtener una prueba depende de nuestra suerte e inteligencia. Por supuesto, otra posibilidad es escribir un programa de computadora que tratará de derivar pruebas y dejar que actúe. Una propiedad aún más deseable de un sistema lógico es que sea sólido. Por sistema sólido se entiende que cada teorema es una fbf lógicamente válida. En otras palabras, un sistema sólido no permitirá que se infiera una conclusión que no sea una consecuencia lógica de sus premisas. No se inferirán argumentos inválidos como válidos. Hay diferentes órdenes de lógica. Un lenguaje de primer orden se define para que los cuantificadores operen sobre objetos que son variables como x∀ un lenguaje de segundo orden tendría características adicionales como dos tipos de variables y cuantificadores. Además de variables y cuantificadores de orden, la lógica de segundo orden puede tener cuantificadores que abarcan símbolos de función y de predicado. Un ejemplo de lógica de segundo orden es el axioma de igualdad, que establece que dos objetos son iguales si todos sus predicados son iguales. Si P es cualquier predicado de un argumento, entonces:

[ ]P(y)P(x)p)(yx ↔∀≡=

Es una afirmación del axioma de igualdad que usa un cuantificador de segundo orden, ∀ “P, que abarca todos los predicados.

Page 29: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________29

1.4.- El modelo de adquisición del conocimiento según la filosofía. Filosofía (Desde el año 428 a.C. hasta el presente)

• ¿Se pueden utilizar reglas formales para extraer conclusiones válidas? • ¿Cómo se genera la inteligencia mental a partir de un cerebro físico? • ¿De dónde viene el conocimiento? • ¿Cómo se pasa del conocimiento a la acción?

Aristóteles (348-322 a.C.) fue el primero en formular un conjunto preciso de leyes que gobernaban la parte racional de la inteligencia, él desarrolló un sistema informal para razonar adecuadamente con silogismos, que en un principio permitía extraer conclusiones mecánicamente, a partir de premisas iniciales. Mucho después, Ramón Lull (d. 1315) tuvo la idea de que el razonamiento útil se podría obtener por medios artificiales. Sus “ideas” aparecen representadas en la portada de este manuscrito. Thomas Hobbes (1588-1679) propuso que el razonamiento era como la computación numérica, de forma que “nosotros sumamos y restamos silenciosamente en nuestros pensamientos”. La automatización de la computación en sí misma estaba en marcha: alrededor de 1500, Leonardo da Vinci (1452-1519) diseñó, aunque no construyó, una calculadora mecánica; construcciones recientes han demostrado que su diseño era funcional. La primera máquina calculadora conocida se construyó alrededor de 1623 por el científico alemán Wilhelm Schickard (1592-1635), aunque la Pascalina, construida en 1642 por Blaise Pascal (1623-1662), sea más famosa, Pascal escribió que “la máquina aritmética produce efectos que parecen más similares a los pensamientos que a las acciones animales”. Gottfried Willhelm Leibniz (1646-1716) construyó dispositivo mecánico con el objetivo de llevar a cabo operaciones sobre conceptos en lugar de sobre números, pero su campo de acción era muy limitado [1]. Ahora que sabemos que un conjunto de reglas pueden describir la parte racional y formal de la mente, el siguiente paso es considerar la mente como un sistema físico. René Descartes (1596-1650) proporciona la primera discusión clara sobre la distinción ente la mente y la materia y los problemas que surgen. Uno de los problemas de una concepción puramente física de la mente es que parece dejar poco margen de maniobra al libre albedrío: si el pensamiento está totalmente gobernado por leyes físicas, entonces una piedra podría “decidir” caer en dirección al centro de la Tierra gracias a su libre albedrío. A pesar de ser denotado defensor de la capacidad del razonamiento, Descartes fue defensor del dualismo. Sostenía que existe una parte de la mente (o del alma o del espíritu) que está al margen de la naturaleza, exenta de la influencia de las leyes físicas. Los animales, por el contrario, no poseen esta cualidad dual; a ellos se le podría concebir como si se tratasen de una máquina. Una alternativa al dualismo es el materialismo, que considera que las operaciones del cerebro realizadas de acuerdo a las leyes de la física constituyen a la mente. El libre albedrío es simplemente la forma en la que la percepción de las opciones disponibles aparecen en el proceso de selección. Dada una mente física que gestiona conocimiento, el siguiente problema es establecer las fuentes de este conocimiento. El movimiento empírico, iniciado en novum Organum (una actualización del Organon, o instrumento de pensamiento, de Aristóteles), Francis Bacon (1561-1626), se caracteriza por el aforismo de John Locke (1632-1704): “Nada existe por

Page 30: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________30

la mente que no haya pasado por los sentidos”. David Hume (1711-1776) propuso en A Treatise of Human Nature (Hume, 1739) lo que actualmente se conoce como principio de inducción: las reglas generales se obtienen mediante la exposición a asociaciones repetidas entre sus elementos. Sobre la base de las propuestas de Ludwing Wittgenstein (1889-1951) y Bertrand Russell (1872-1970), el famoso Círculo de Viena, liderado por Rudolf Carnap (1891-1970), desarrolló la doctrina del positivismo lógico. Esa doctrina sostiene que todo el conocimiento se puede caracterizar mediante teorías lógicas relacionadas, en última instancia, con sentencias de observación que corresponden a estímulos sensoriales. La teoría de la confirmación de Carnap y Carl Hempel (1905-1997) intenta explicar cómo el conocimiento se obtiene a partir de la experiencia, el libro de Carnap, The Logical Structure of the World (1928), define un procedimiento computacional explícito para la extracción de conocimiento a partir de experiencias primarias. Fue posiblemente la primera teoría en mostrar la mente como un proceso computacional. El último elemento de esta discusión filosófica sobre la mente es la relación que existe entre el conocimiento y la acción. Este asunto es vital para la Inteligencia Artificial, ya que la inteligencia requiere tanto acción como razonamiento. Más aún, simplemente con comprender cómo se justifican determinadas acciones se puede llegar a saber cómo construir un agente cuyas acciones sean justificables (o racionales). Aristóteles argumenta que las acciones se pueden justificar por la conexión lógica entre los objetivos y el conocimiento de los efectos de las acciones: ¿Cómo es que el pensamiento viene acompañado en algunos casos de acciones y en otros no?, ¿en algunos casos por el movimiento y en otros no? Parece como si la misma cosa sucediera tanto si razonáramos o hiciéramos inferencias sobre objetos que no cambian; pero en este caso el fin es una proposición especulativa...mientras la conclusión resultante de las dos premisas es una acción...Yo necesito abrigarme, una manta abriga. Yo necesito una manta. Qué necesito, qué debo hacer; necesito una manta. Necesito hacer una manta. Y la conclusión, “Yo tengo que hacer una manta”, es una acción [Nussbaum, 1978, p. 40]. En Nicomachean Ethics (Libro III. 3, 1112b), Aristóteles continúa trabajando en este tema, sugiriendo un algoritmo: Nosotros no reflexionamos sobre los fines, sino sobre los medios. Un médico no reflexiona sobre si debe curar, ni un orador sobre si debe persuadir...Ellos asumen el fin y consideran cómo y con qué medios se obtienen, y si resulta fácil y es por tanto productivo; mientras que si solo se puede alcanzar por un medio se tiene en consideración cómo se alcanzará por este y por qué medios se obtendrá éste, hasta que se llegue a la causa primera...y lo último en el orden del análisis parece ser lo primero en el orden de los acontecimientos. Y si se llega a un estado imposible, se abandona la búsqueda, como por ejemplo si se necesita dinero y no se puede conseguir; pero si hay una posibilidad se intentará. El algoritmo de Aristóteles se implementó 2 300 años más tarde por Newell y Simon con la ayuda de su programa SRGP. El cual se conoce como sistema de planificación regresivo.

Page 31: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________31

El análisis basado en objetivos es útil, pero no indica que hacer cuando varias acciones nos llevan a la consecución del objetivo, o cuando ninguna acción facilita su completa consecución. Antoine Arnauld (1612-1694) describió correctamente una forma cuantitativa para decidir qué acción llevar a cabo en un caso como este. El libro Utilitarianism [Mill, 1863] de John Stuart Mill (1806-1873) propone la idea de un criterio de decisión racional en todos los ámbitos de la actividad humana.

1.5.- El modelo cognoscitivo. Pensar cómo humano: el enfoque del modelo cognoscitivo En el campo interdisciplinario de la ciencia cognoscitiva concurren modelos computacionales de Inteligencia Artificial y técnicas experimentales de psicología para intentar elaborar teorías precisas y verificables del funcionamiento de la mente humana. El enfoque de éste modelo, no sólo bastó con que su programa resuelva correctamente los problemas, sino que se interesa por seguir la pista de los pasos de razonamiento y compararla con la ruta seguida por sujetos humanos [1]. Para poder decir que un programa dado piensa como un humano, es necesario contar con un mecanismo para determinar cómo piensan los humanos. Es necesario penetrar en el funcionamiento de las mentes humanas. Hay dos formas de hacerlo: mediante introspección (intentando atrapar nuestros propios pensamientos conforme éstos van apareciendo) y mediante experimentos psicológicos. Una vez que cuente con una teoría lo suficientemente precisa sobre cómo trabaja la mente, se podrá expresar esa teoría en la forma de un programa de computadora, si los datos de entrada/salida del programa y los tiempos de reacción son similares a los de un humano, existe la evidencia de que algunos de los mecanismos del programa se pueden comparar con los que utilizan los seres humanos. Por ejemplo, a Allen Newell y Herbert Simon, que desarrollaron el Sistema de Resolución General de Problemas (SRGP) [Newell y Simon, 1961], no les bastó con que su programa resolviera correctamente los problemas propuestos, lo que les interesaba era seguir las etapas del proceso de razonamiento y compararlas con las seguidas por los humanos a los que se enfrentó a los mismos problemas. En el campo interdisciplinado de la ciencia cognitiva convergen modelos computacionales de Inteligencia Artificial y técnicas experimentales de psicología intentando elaborar teorías precisas y verificables sobre el funcionamiento de la mente humana. La ciencia cognitiva es un campo fascinante [Wilson y Keil, 1999]. Ocasionalmente se hacen comentarios acerca de las similitudes o diferencias entre las técnicas de Inteligencia Artificial y cognición humana. La auténtica ciencia cognitiva se fundamenta necesariamente en la investigación experimental en humanos y animales. En los comienzos de la Inteligencia Artificial había confusión entre las distintas aproximaciones: un autor podría argumentar que un algoritmo resolvía adecuadamente una tarea y que por tanto era un buen modelo de representación humana, o viceversa.

Page 32: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________32

Los autores actuales hacen diferencia entre las dos reivindicaciones; esta distinción ha permitido que ambas disciplinas, la Inteligencia Artificial y la ciencia cognitiva, se desarrollen más rápidamente. Los dos campos continúan alimentándose entre sí, especialmente en las áreas de la visión y el lenguaje natural. En particular, el campo de la visión ha avanzado recientemente con la ayuda de una propuesta integrada que tiene en cuenta la evidencia neurofisiológica y los modelos computacionales [6].

1.6.- El modelo del agente inteligente. Agentes y su entorno Un agente es cualquier cosa capaz de percibir su medioambiente con la ayuda de sensores y actuar en ese medio utilizando actuadores. La figura 3 ilustra esta idea simple. Un agente humano tiene ojos, oídos y otros órganos sensoriales además de manos, piernas, boca y otras partes del cuerpo para actuar. Un agente robot recibe pulsaciones del teclado, archivos de información y partes vía red a modo de entradas sensoriales y actúa sobre el medio con mensajes en el monitor, escribiendo ficheros y enviando paquetes por red. Se trabajará con la hipótesis general de que cada agente puede percibir sus propias acciones (pero no siempre sus efectos) [1].

Figura 3. Los agentes interactúan con el medioambiente sensores y efectores. El término percepción se utiliza en el contexto para indicar que el agente puede recibir entradas en cualquier instante. La secuencia de percepciones de un agente refleja el historial completo de lo que el agente ha recibido. En general, un agente tomará una decisión en un momento dado dependiendo de la secuencia completa de percepciones hasta ese instante. Si se puede especificar qué decisión tomará un agente para cada una de las posibles secuencias de percepciones, entonces se habrá explicado más o menos todo lo que se puede decir de un agente. En términos matemáticos se puede decir que el comportamiento de un agente viene dado por la función del agente que proyecta una percepción dada en una acción.

?

AgenteSensores

Actuadores

Medio Am

biente

Percepciones

Acciones

?

AgenteSensores

Actuadores

Medio Am

biente

Percepciones

Acciones

Page 33: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________33

La función que describe el comportamiento de un agente se puede presentar en forma de tabla; en la mayoría de los casos esta tabla sería muy grande (infinita a menos que se limite el tamaño de la secuencia de percepciones que se quiera considerar). Dado un agente, con el que se quiera experimentar, se puede, en un principio, construir esta tabla teniendo en cuenta todas las secuencias de percepción y determinando qué acción llevar a cabo el agente en respuesta. La tabla es, por supuesto, una caracterización externa del agente. Inicialmente, la función del agente para una gente artificial se implementará mediante el programa del agente. Es importante diferenciar estas dos ideas. La función del agente es una descripción matemática abstracta; el programa del agente es una implementación completa, que se ejecuta sobre la arquitectura del agente. Para ilustrar esta idea se utilizará un ejemplo muy simple, el mundo de las aspiradoras representado en la figura 4, este mundo es tan simple que se puede describir todo lo que en él sucede; es un mundo hecho a la medida, para el que se pueden inventar otras variaciones, este mundo en particular tiene solamente dos localizaciones: cuadrícula A y B, la aspiradora puede percibir en qué cuadrante se encuentra y si hay suciedad en él, puede elegir si se mueve hacia la izquierda, derecha, aspirar la suciedad o no hacer nada; una función muy simple para el agente vendría dada por: si la cuadrícula en la que se encuentra está sucia, entonces aspirar, de otra forma cambiar de cuadrícula. Una muestra parcial de la función del agente representada en forma de tabla aparece en la figura 5.

Figura 4. El mundo de la aspiradora con dos localizaciones solamente.

A BA B

Page 34: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________34

Secuencia de percepciones

Acción

[ ]LimpioA, Derecha [ ]SucioA, Aspirar [ ]LimpioB, Izquierda [ ]SucioA, Aspirar [ ]LimpioA, , [ ]LimpioA, Derecha [ ]LimpioA, , [ ]SucioA, Aspirar [ ]LimpioA, , [ ]LimpioA, , [ ]LimpioA, Derecha [ ]LimpioA, , [ ]LimpioA, , [ ]SucioA, Aspirar

Figura 5. Tabla parcial de una función de agente sencilla para el mundo de la aspiradora que se

muestra en la figura anterior.

1.7.- El papel de la heurística. La heurística es un método práctico o conocimiento empírico obtenido de una experiencia y que puede ayudar en la solución, pero que no garantiza su funcionamiento siempre. Los sistemas expertos están diseñados principalmente para el razonamiento simbólico [2]. Una regla heurística es una regla práctica que puede ayudar a encontrar una solución, pero que no esta garantizada de la misma forma que un algoritmo. Las reglas heurísticas son muy importantes en Inteligencia Artificial porque los problemas típicos en ello son tan difíciles que no existe una solución de algoritmo o, si la hay, no resulta eficiente para uso práctico. Reglas generales en forma de opiniones o reglas empíricas que sugieren procedimientos que se pueden seguir cuando no existen disponibles reglas de procedimiento invariables. Dichas reglas son aproximadas y han sido generalmente acuñadas por un experto a través de años de experiencia. El uso de heurísticas contribuye grandemente a la potencia y flexibilidad de los sistemas expertos y tiende a distinguirlos aún más del software tradicional. Además de estas formas específicas de conocimientos, un experto posee un modelo conceptual general del área específica y un esquema global para hallar una solución. Estas “visiones globales” conforman la infraestructura básica para la aplicación por parte del experto de conocimientos detallados.

Page 35: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________35

De acuerdo con ANSI/IEEE Std 100-1984, la heurística trata de métodos o algoritmos exploratorios durante la resolución de problemas en los cuales las soluciones se descubren por la evaluación del progreso logrado en la búsqueda de un resultado final. Se suele usar actualmente como adjetivo, caracterizando técnicas por las cuales se mejora en promedio el resultado de una tarea resolutiva de problemas (parecido al uso de "método óptimo"). Se suele mencionar que hay búsquedas ciegas (que sin embargo pueden ser exhaustivas, lo cual significa que al acabar la búsqueda con mal éxito, se está seguro que así planteado, el problema no tiene solución), búsquedas heurísticas (basadas en la experiencia propia o ajena), búsquedas adversariales (aplicables a juegos de competencia) y búsquedas racionales (usando inteligencia).

Page 36: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________36

Cuestionario de evaluación. Colocar el número en la definición correcta: 1.-Inteligencia Artificial ( ) Dispositivos inspirados en la

funcionalidad de las neuronas biológicas, aplicados al reconocimiento de patrones que las convierten en aptas para modelar y efectuar predicciones en sistemas muy complejos.

2.- Ciencias que aportan a la Inteligencia Artificial

( ) Para que un ser o máquina se considere inteligente debe lograr engañar a un evaluador de que este ser o máquina se trata de un ser humano evaluando todas las actividades de tipo cognoscitivo que puede realizar el ser humano. Si el diálogo que ocurra y el número de errores en la solución dada se acerca al número de errores ocurridos en la comunicación con un ser humano, se podrá estimar que estamos ante una máquina “inteligente”.

3.- Máquina de Turing

( ) Sistemas expertos, procesamiento de lenguaje natural, visión artificial, robótica, búsqueda de soluciones, lógica, aprendizaje, lógica difusa.

4.- Agente inteligente ( ) Búsqueda en los datos para identificar tendencias y establecer relaciones.

5.- Heurística ( ) Sistema basado en los conocimientos que imita el pensamiento de un experto para resolver problemas de un terreno particular de aplicación

6.- Minería de datos ( ) Es la ciencia que enfoca su estudio a lograr la comprensión de entidades inteligentes.

7.- Sistema Experto ( ) Es el análisis y la extrapolación de datos basados en experiencias pasadas y en sus consecuencias, este apartado es de una importancia vital para la Inteligencia Artificial.

8.- Redes neuronales ( ) Es aquel que emprende la mejor acción posible ante una situación dada.

9.- Áreas de investigación de la Inteligencia Artificial

( ) Filosofía, Matemáticas, Psicología, Lingüística y ciencias de la computación.

Respuestas: 8, 3,9, 6,7, 1, 5, 4, 2

Page 37: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________37

UNIDAD 2

REPRESENTACIÓN DEL CONOCIMIENTO Y RAZONAMIENTO

Page 38: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________38

UNIDAD 2

REPRESENTACIÓN DEL CONOCIMIENTO Y RAZONAMIENTO

2.1.- Mapas conceptuales. Los mapas conceptuales son artefactos para la organización y representación del conocimiento. Tienen su origen en las teorías sobre la psicología del aprendizaje de David Ausubel enunciadas en los años 60. Su objetivo es representar relaciones entre conceptos en forma de proposiciones. Los conceptos están incluidos en cajas o círculos, mientras que las relaciones entre ellos se explicitan mediante líneas que unen sus cajas respectivas. Las líneas, a su vez, tienen palabras asociadas que describen cuál es la naturaleza de la relación que liga los conceptos. Los mapas conceptuales se estructuran en forma jerárquica en la que los conceptos más generales están en la raíz del árbol y a medida que vamos descendiendo por el mismo nos vamos encontrando con conceptos más específicos. Un mapa conceptual es, por tanto, un recurso esquemático para representar un conjunto de significados conceptuales incluidos en una estructura de proposiciones que tiene por objeto representar las relaciones significativas entre los conceptos del contenido (externo) y del conocimiento del sujeto figura 6.

Figura 6. Mapa conceptual. En un mapa conceptual, dos o más conceptos están unidos a través de palabras que describen la relación entre ellos.

GRAFOS

CONJUNTO N DE NODOS

representadoscomo

PUNTOS

FORMAS GEOMETRICAS

CAJAS

conectados por

CONJUNTO RDE RELACIONES

representadoscomo

LINEAS

Pueden ser

RECTAS CURVAS

GRAFOS

CONJUNTO N DE NODOS

representadoscomo

PUNTOS

FORMAS GEOMETRICAS

CAJAS

conectados por

CONJUNTO RDE RELACIONES

representadoscomo

LINEAS

Pueden ser

RECTAS CURVAS

Page 39: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________39

Características de un mapa conceptual:

• Los mapas conceptuales deben ser simples, mostrar claramente las relaciones entre conceptos y/o proposiciones.

• Van de lo general a lo específico, las ideas más generales o inclusivas, ocupan el ápice o parte superior de la estructura y las más especificas y los ejemplos la parte inferior.

• Deben ser vistosos. • Los conceptos, que nunca se repiten van adentro de los óvalos y las palabras de

enlace se ubican cerca de las líneas de la relación. • Para las palabras de enlace se pueden utilizar verbos, preposiciones, conjunciones,

u otro tipo de nexo conceptual, las palabras de enlace le dan sentido al mapa. • Si la idea principal puede ser dividida en dos o más conceptos iguales estos

conceptos deben ir en la misma línea o altura.

Mapa conceptual

Figura 7. Mapa conceptual sobre los mapas conceptuales.

Mapas conceptuales

Conocimiento organizado

representan

incluyen Sentimientos o afecto asociado

ayudan a responder

“Preguntas Clave” Necesario para

responder

son

Dependientes del contexto

p. ej. Personales

Sociales

es

necesario para

Enseñanza Eficiente

Aprendizaje Eficiente

Se compone de Se añade a

Conceptos conectados por

Palabras de Enlace

están

Proposiciones

son

Regularidades Percibidas o

Patrones

están

Etiquetado

con

Palabras

Símbolos

en

Sucesos

Objetos

empieza con

Niños empieza con

Estructuradas Jerárquicamente

ayuda

Creatividad

especialmente con

Expertos

en

necesario para ver

Estructura Cognitiva

para formar

son pueden ser

Unidades Semántica

Enlaces Cruzados

construidas en

mostrando

Interrelaciones

entre

Diferentes Segmentos del Mapa

Page 40: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________40

Ventajas de los mapas conceptuales: Aprendizaje significativo

El aprendizaje significativo ocurre cuando una persona consciente y explícitamente vincula esos nuevos conceptos a otros que ya posee. Cuando se produce ese aprendizaje significativo, se produce una serie de cambios en nuestra estructura cognitiva, modificando los conceptos existentes, y formando nuevos enlaces entre ellos. Esto es porque dicho aprendizaje dura más y es mejor que la simple memorización: los nuevos conceptos tardan más tiempo en olvidarse, y se aplican más fácilmente en la resolución de problemas. Aprendizaje activo

Cuando se realiza un mapa conceptual, se obliga a relacionar, a jugar con los conceptos, a aprender con el contenido. No es una simple memorización; se debe prestar atención a la relación entre los conceptos. Es un proceso activo.

El mapa conceptual puede tener varios propósitos:

• Generar ideas (brain storming, etc.); • Diseñar una estructura compleja (textos largos, hipermedia, páginas web grandes,

etc.); • Comunicar ideas complejas; • Contribuir al aprendizaje integrando explícitamente conocimientos nuevos y

antiguos; • Evaluar la comprensión o diagnosticar la incomprensión; • Explorar el conocimiento previo y los errores de concepto.

2.2.- Redes semánticas. Una red semántica es una técnica clásica de representación de la Inteligencia Artificial utilizada para información relativa a las proposiciones. A una red semántica también se le llama red de proposiciones [Stillings, 1987]. Una proposición es una frase verdadera o falsa, como “todos los perros son mamíferos” y “un triángulo tiene tres lados”. Son formas de conocimiento declarativo porque establecen hechos. En términos matemáticos, una red semántica es una gráfica rotulada y con dirección. Una proposición siempre es verdadera o falsa y se le llama atómica porque su veracidad ya no puede dividirse más, el término atómica se emplea en el sentido clásico de objeto indivisible [2]. Las redes semánticas se desarrollaron para la Inteligencia Artificial como una forma de representar la memoria y la comprensión del lenguaje del ser humano [Quillian, 1968]. Quillian las utilizó para analizar el significado de palabras en frases. Desde entonces se

Page 41: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________41

han aplicado a muchos de los problemas relacionados con la representación del conocimiento. La estructura de una red semántica se muestra gráficamente en términos de nodos y los arcos que los conectan. A los nodos suele denominárseles como objetos y a los arcos como vínculos o bordes. Los vínculos de una red semántica se utilizan para expresar relaciones. Por lo general, los nodos se utilizan para representar objetos físicos, conceptos o situaciones. En la siguiente figura 8 se muestra una red ordinaria, en realidad una gráfica con dirección, donde los vínculos indican las rutas de una línea aérea entre ciudades. Los nodos son los círculos, los vínculos, las líneas que los conectan y las flechas muestran la dirección en que pueden volar los aviones, de aquí el término de grafica con dirección.

Figura 8.Una red general.

En la figura 9, los vínculos muestran las relaciones entre los miembros de una familia, las relaciones son de gran importancia en las redes semánticas porque proporcionan la estructura básica para la organización del conocimiento. Sin relaciones, el conocimiento es una simple colección de hechos inconexos. Con ellas, el conocimiento es una estructura cohesiva a partir de la cual puede inferirse conocimiento adicional. Por ejemplo, en la figura 9 se puede inferir que Ana y Memo son los abuelos de Juan, aunque no haya un vínculo explícito rotulado “abuelo de”.

Indianápolis

Nueva YorkChicagoSan Francisco

Los Ángeles

Houston

(a) Una red general

Indianápolis

Nueva YorkChicagoSan Francisco

Los Ángeles

Houston

(a) Una red general

Page 42: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________42

Figura 9.Una red semántica. A las redes semánticas a veces se les denomina redes asociativas porque los nodos están asociados o relacionados con otros nodos. De hecho, el trabajo original de Quillian modeló la memoria humana como una red asociativa en la cual los conceptos eran los nodos y los vínculos formaban las conexiones entre ellos. De acuerdo con este modelo, cuando un nodo de concepto se estimula al leer las palabras de una frase, sus vínculos con otros nodos se activan en un patrón de dispersión. Si otro nodo recibe activación suficiente, el concepto sería forzado dentro de la mente consciente. Por ejemplo, aunque se conozcan miles de palabras, sólo se está pensando en las palabras específicas de la frase que se lee. Ciertos tipos de relaciones han probado ser muy útiles en una amplia gama de representaciones del conocimiento. El uso de tipos comunes facilita la comprensión de una red no muy conocida. Dos tipos de vínculos utilizados con frecuencia son ES-UN y UN-TIPO-DE [Winston, 1984]. La figura 10 es un ejemplo de una red semántica que utiliza estos vínculos; en esta figura ES-UN significa “es un caso de” y se refiere a un miembro específico de una clase. Una clase está relacionada con el concepto matemático de conjunto, que alude a un grupo de objetos. Aunque un conjunto puede tener elementos de cualquier tipo, los objetos de una clase tienen alguna relación entre sí. Por ejemplo, es posible definir un conjunto formado por:

(3, huevos, azul, llantas, arte)

Sin embargo, los miembros de este conjunto no tienen relación entre sí. Por el contrario, aviones, trenes y automóviles se relacionan con una clase porque todos son tipos de transporte.

(b) Una red semántica

Hermana de

MemoEsposa de

Esposo de

Padre de

Ana

Madre de

Susana

Madre de

Juan

Esposo de

Esposa de

Padre de

Tomás

Padre de

DavidEsposa de

Esposo de

Carolina

Madre de

(b) Una red semántica

Hermana de

MemoEsposa de

Esposo de

Padre de

Ana

Madre de

Susana

Madre de

Juan

Esposo de

Esposa de

Padre de

Tomás

Padre de

DavidEsposa de

Esposo de

Carolina

Madre de

Page 43: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________43

El vínculo UN-TIPO-DE se utiliza aquí para relacionar una clase con otra. No se usa para relacionar un individuo específico porque esa es la función de ES-UN, UN-TIPO-DE relaciona una clase individual con una clase padre a la que pertenece una clase hijo. Desde otro punto de vista, el UN-TIPO-DE relaciona nodos genéricos con nodos genéricos, mientras ES-UN relaciona un caso o un individuo con una clase genérica. En la figura 10 las clases más generales se encuentran en la parte superior y las más específicas en la base. La clase más general, a la que señala una flecha UN-TIPO-DE, se le denomina superclase; si ésta tiene un vínculo UN-TIPO-DE apuntando a otro nodo, entonces también es una clase de la superclase a la que señala el vínculo UN-TIPO-DE. Otra forma de expresarlo es que un vínculo UN-TIPO-DE señale de una subclase a una clase. El vínculo SON se usa algunas veces para UN-TIPO-DE y se lee como el verbo “son”.

Figura 10. Red semántica con vínculos ES-UN y UN-TIPO-DE.

Los objetos de una clase tienen uno o más atributos en común y cada atributo tiene un valor. La combinación de atributo y valor es una propiedad. Por ejemplo, un dirigible tiene atributos de tamaño, peso, forma, color, etc. El valor del atributo de forma es elipsoidal. En otras palabras, un dirigible tiene una forma elipsoidal como una de sus propiedades. Como Goodyear es un dirigible y los dirigibles tienen forma elipsoidal, entonces Goodyear es elipsoidal. También se pueden encontrar otros tipos de vínculos en las redes semánticas. El vínculo ES define un valor. Por ejemplo, cualquier aeronave presidencial de Estados Unidos es el Fuerza Aérea 1. Si el presidente está en un CD-9, entonces Fuerza Aérea 1 es un DC-9. El vínculo CAUSA expresa conocimiento causal. Por ejemplo, el aire caliente CAUSA que el globo se eleve.

Aeronave

Manejo a propulsión

DC -3

globoredonda

dirigibleElipsoidalTiene forma

Tiene forma

Especial

Dirigible Goodyear

Espíritu de San Luis

ES-UN ES-UN

Un tipo de

Un tipo de

Un tipo de

Un tipo de Un tipo de

Jet

DC-9 Concorde

Fuerza Aérea 1

Un tipo de Un tipo de

ES-UN

Un tipo deUn tipo de

Aeronave

Manejo a propulsión

DC -3

globoredonda

dirigibleElipsoidalTiene forma

Tiene forma

Especial

Dirigible Goodyear

Espíritu de San Luis

ES-UN ES-UN

Un tipo de

Un tipo de

Un tipo de

Un tipo de Un tipo de

Jet

DC-9 Concorde

Fuerza Aérea 1

Un tipo de Un tipo de

ES-UN

Un tipo deUn tipo de

Page 44: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________44

A la duplicación de las características de un nodo por parte de un descendiente se le llama herencia. A menos que haya más evidencias específicas de lo contrario, se supone que todos los miembros de una clase heredarán todas las propiedades de las superclases. Por ejemplo, los globos tienen una forma redonda. Sin embargo, como la clase dirigible tiene un vínculo que señala a la forma elipsoidal, ésta tiene precedencia. La herencia es una herramienta muy útil en la representación del conocimiento porque elimina la necesidad de repetir características comunes. Los vínculos y la herencia proporcionan medios muy eficientes de representación del conocimiento porque muchas relaciones complejas pueden mostrarse con pocos nodos y vínculos. Dificultades con redes semánticas Aunque las redes semánticas pueden ser muy útiles en la representación del conocimiento, tiene limitantes, como la falta de estándares para asignación de nombres a los vínculos. Esto hace difícil entender para qué se diseñó realmente la red y si fue diseñada de una forma congruente. Un problema complementario al asignar nombre a los vínculos es el nombre de los nodos. Si un nodo se rotula “silla”, ¿Representa

una silla específica la clase de todas las sillas el concepto de una silla el nombre del cerro de la Silla

o algo más? Para que una red semántica represente conocimiento definitivo (es decir, conocimiento que puede definirse), deben definirse con rigor los nombres de vínculos y nodos. Otro problema es la explosión combinatoria de la búsqueda de nodos, sobre todo si la respuesta a una consulta es negativa. Para que una consulta produzca un resultado negativo, tendrían que buscarse muchos o todos los vínculos de la red. El número de vínculos es el factorial del número de nodos menos uno, si están todos conectados. Aunque no todas las representaciones necesitarán este grado de conectividad, existe la posibilidad de que surja una explosión combinatoria. Las redes semánticas fueron propuestas originalmente como modelos de la memoria asociativa humana, en la que un nodo tiene vínculos con otros y la recuperación de la información ocurre debido a una dispersión de la activación de los nodos. No obstante, el cerebro humano también debe disponer de otros mecanismos, porque no le toma mucho tiempo responder la consulta: ¿hay un equipo de fútbol en Plutón? Hay alrededor de 1010 neuronas en el cerebro humano y alrededor de 1015 vínculos. Si todo el conocimiento estuviera representado por una red semántica, tomaría demasiado tiempo responder consultas negativas como en el caso de la consulta del fútbol, porque todas las búsquedas incluyen 1015 vínculos. Las redes semánticas son lógicamente inadecuadas porque no pueden definir el conocimiento de la forma en que lo hace la lógica. Una representación lógica puede especificar cierta silla, algunas sillas, todas las sillas, ninguna silla, etcétera. Otro problema

Page 45: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________45

es que las redes semánticas también son heurísticamente inadecuadas porque no hay forma de insertar en la red información heurística relacionada con la manera de explorarlas de forma eficiente. Una regla heurística es una regla práctica que puede ayudar a encontrar una solución, pero que no esta garantizada de la misma forma que un algoritmo. Las reglas heurísticas son muy importantes en la Inteligencia Artificial porque los problemas típicos en ello son tan difíciles que no existe una solución de algoritmo o, si la hay, no resulta eficiente para uso práctico. La herencia es la única estrategia estándar de control integrada en una red que puede ayudar, pero no todos los problemas pueden tener esta estructura. Se han probado varios métodos para corregir los problemas inherentes a las redes semánticas; se han hecho mejoras lógicas y se han probado mejoras heurísticas al adjuntar procedimientos a los nodos, que serán ejecutados cuando el nodo se active. Sin embargo, los sistemas resultantes mejoraron poco su capacidad a costa de la fuerza de expresión natural de las redes semánticas. La conclusión de todo este esfuerzo es que, como cualquier herramienta, las redes semánticas deben utilizarse para aquello que hacen mejor, mostrar relaciones binarias, y no considerarse una herramienta universal.

2.3.- Razonamiento monótono.

Sistema que permite obtener nuevos conocimientos (conclusiones) a partir de una serie de conocimientos previos (premisas3).

Notación:

BC |= α (del conjunto de premisas BC se deduce la conclusión α). Se dice que un sistema de razonamiento es monótono cuando un aumento de las premisas nunca puede hacer disminuir el conjunto de conclusiones, es decir, para cualesquiera conjuntos de premisas BC y β y cualquier conclusión α se cumple:

Si BC |= α, entonces BC ^ β |= α Donde:

|= implicación ^ operador lógico Y

(La aparición de nuevas premisas nunca supone la desaparición de ninguna de las conclusiones previas). La característica del monotonismo nos dice que el conjunto de sentencias implicadas sólo puede aumentar (pero no cambiar) al añadirse información a la base de conocimiento4.

3 Premisa. Se denomina premisa a cada una de las proposiciones de un razonamiento que dan lugar a la consecuencia o conclusión de dicho razonamiento. 4 Las lógicas no monótonas, que violan la propiedad de monotonismo, modelan una característica propia del razonamiento humano: cambiar de opinión.

Page 46: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________46

Para cualquier sentencia α y β, por ejemplo, supongamos que la base de conocimiento contiene una aserción adicional β, se nos dice que hay exactamente 8 hoyos en el escenario. Este conocimiento podría ayudar al agente a obtener conclusiones adicionales, pero no puede invalidar ninguna conclusión α ya inferida (como la conclusión de que no hay un hoyo en la casilla [1, 2]). El monotonismo permite que las reglas de inferencia se puedan aplicar siempre que se hallen premisas aplicables en la base del conocimiento; la conclusión de la regla debe permanecer sin hacer caso de qué más hay en la base del conocimiento. La lógica de predicados al ser un formalismo de razonamiento monótono, no resulta muy adecuada para ciertos dominios del mundo real, en los cuales las verdades pueden cambiar con el paso del tiempo. Tanto los humanos como los autómatas deben extraer conclusiones que son verdad en los mejores modelos de los hechos que se han tenido en cuenta, hay diversos conceptos de lo que es mejor en sistemas diferentes, muchos implican la minimización de algo, a medida que se agregan nuevos hechos, algunas de las anteriores conclusiones no sobreviven, por este motivo, el razonamiento que permitió arribar a esas conclusiones que han decaído, se denomina no-monótono.

2.4.- La lógica de predicados: sintaxis, semántica, validez e inferencia. Aunque la lógica de proposiciones es útil, tiene limitaciones [2]. El principal problema es que la lógica de proposiciones sólo puede tratar con afirmaciones completas. Es decir, no puede examinar la estructura interna de una afirmación. La lógica de proposiciones ni siquiera puede probar la validez de un silogismo5 como:

Todos los seres humanos son mortales. Todas las mujeres son seres humanos. Por lo tanto, todas las mujeres son mortales.

La lógica de predicado se desarrolló con el fin de analizar casos más generales. Su forma más simple es la lógica de predicados de primer orden, la base de lenguajes de programación lógicos como PROLOG (véase anexo Prolog). La lógica de proposiciones es un subconjunto de la lógica de predicado. La lógica de predicado se relaciona con la estructura interna de las afirmaciones, sobre todo, se relaciona con el uso de palabras especiales llamadas cuantificadores, como “todo”, “algo” y “no”. Estas palabras son muy importantes porque cuantifican explícitamente otras palabras y hacen más exactas las afirmaciones. Todos los cuantificadores se relacionan con “cuanto” y, por tanto, permiten un alcance más amplio de la expresión que la lógica de proposiciones. 5 Silogismo. Es una forma de razonamiento lógico que consta de dos proposiciones y una conclusión, la última de las cuales se deduce necesariamente de las otras dos.

Page 47: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________47

La lógica formal, una consecuencia de las antiguas consideraciones filosóficas, fue una de las formas más antiguas de representación de conocimientos empleada en Inteligencia Artificial. El sistema de lógica formal más ampliamente empleado, llamado lógica de predicados de primer orden, consiste de cuatro componentes principales: un alfabeto, un lenguaje formal, un conjunto de enunciados básicos llamados axiomas (expresados en el lenguaje formal) y un conjunto de reglas de inferencia. Cada axioma describe el fragmento de conocimientos y las reglas de inferencia se aplican a los axiomas para deducir nuevos enunciados verdaderos. Lógica de predicados: alfabeto El alfabeto para un lenguaje formal consiste de los símbolos a partir de los cuales se construyen los enunciados. Los alfabetos constan de predicados, variables, funciones, constantes, conjunciones, cuantificadores y delimitadores tales como paréntesis y comas [3]. Constantes. Un símbolo constante, el componente más sencillo en la lógica de predicados, se usa para representar un elemento específico del dominio. Este elemento puede ser cualquier objeto señalado de interés, incluyendo los objetos físicos y las abstracciones tales como ideas, puntos de vista o conjuntos de datos. Una serie de letras mayúsculas se emplea como un símbolo constante. Entre los ejemplos están:

TILIN Un perro AZUL Un color CONSERVADOR Un pensamiento político

Variable. Un símbolo variable se emplea para representar un conjunto de elementos del dominio sin especificar elemento alguno en concreto. Para un símbolo de variable se emplea un conjunto de letras minúsculas. Entre los ejemplos están:

Perro Un elemento que es un perro, pero con una identidad no especificada.

Color Un color no especificado. Opinión Cualquier opinión.

Funciones. Además de los símbolos constantes y variables, se puede emplear una función para identificar un elemento del dominio. Una función describe un elemento identificándolo como el resultado único de la aplicación de una transformación entre otros elementos del dominio. Una letra minúscula se emplea como el símbolo de una función y los argumentos pueden ser cualquier término válido, donde un término es una forma de identificar un elemento del dominio. Un término se define inductivamente como una variable, una constante o una función.

Page 48: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________48

Como ejemplos están:

Padre (JUAN): Una invocación a una función que especifica el elemento único, en este caso un hombre, que es el padre de JUAN.

Madre (padre (JUAN)): Elemento único que es la madre del padre de JUAN

abuela de JUAN. Asesino (x): La persona única que asesinó al elemento no

especificado representado por x. Predicado. Los predicados se emplean para representar relaciones dentro del dominio e indican que un elemento se relaciona en alguna otra forma específica. Un predicado tiene el valor de verdadero si los elementos dados están relacionados de modo específico y de falso si no lo están. Los predicados (serie de letras mayúsculas) junto con términos que identifican los elementos relacionados, se emplean para conformar fórmulas atómicas (o átomos), las cuales están entre los bloques básicos de construcción de la lógica de predicados. Entre los ejemplos están:

HOMBRE (TITO) Tito es un hombre MASALTO (TITO, PEPE) Tito es más alto que Pepe MASALTO (TITO, padre (TITO)) Tito es más alto que su padre

Lógica de predicados: interpretación Dados los componentes anteriores, podemos conformar fórmulas atómicas muy interesantes. Para que una fórmula sea útil, de alguna forma debemos estar posibilitados para determinar exactamente lo que representa. Para componer una fórmula, el analista selecciona en primer lugar, un conjunto de símbolos específicos y luego establece una correspondencia; relación entre cada uno de los símbolos seleccionados con el elemento del dominio asociado. Este conjunto de correspondencias establece la semántica que nos permite interpretar una fórmula. En el caso de fórmulas atómicas sencillas, la interpretación puede ser obvia. Por ejemplo, consideremos la fórmula, PERRO (TILIN). Aún sino se especifica interpretación alguna, podemos asumir que esta fórmula representa el hecho que “Tilín es un Perro”. Nuestra presunción sin bases para esta interpretación, se fundamenta en el hecho que PERRO se escogió como símbolo de predicado, asociado con el hecho que Tilín es un nombre típico de un perro.

Page 49: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________49

Lógica de predicados: conjunciones Los componentes descritos hasta el momento tienen poco valor para representar enunciados complejos compuestos. Por ejemplo, sería muy difícil representar el enunciado “Mi casa es azul, Victoriana de dos pisos, con persianas amarillas y está en un lote esquinero”. Aunque pudiéramos definir un predicado AV2LE para indicar los atributos anteriores y luego componer la fórmula AV2LE (MI-CASA), la fórmula, aunque técnicamente correcta sería difícil de manejar y completamente inútil para un manejo sintáctico independiente. Para expresar proposiciones compuestas, empleamos conjunciones que combinan fórmulas para construir Fórmulas bien definidas (FBD) más complejas. Las fórmulas componentes pueden ser FBD o fórmulas atómicas. Entre las conjunciones de uso corrientes están:

^ And (Y) V Or (O) inclusivo → Implica ≡ Equivalente a ~ No (negación)

A continuación se describen: ^ Se usa para construir fórmulas que señalan que los diferentes componentes deben ser verdaderos para que la FBD completa sea verdadera. Cada componente de la fórmula en tal expresión se llama conjunto, y la expresión completa se llama conjunción. Por ejemplo,

AZUL (MI-CASA) ^ DOS-PISOS(MI-CASA) ^ VICTORIANA(MI-CASA) ^ PERSIANAS-AMARILLAS(MI-CASA) ^ ESQUINERA(MI-CASA)

V Se usa para construir fórmulas cuya veracidad depende solamente de la veracidad de cualquiera de los componentes. Cada componente de la fórmula se llama disjunto y la expresión completa se llama disyunción. Por ejemplo “Hernán compró un automóvil o un camión”, se representa por la disyunción:

COMPRA (HERNAN, AUTOMOVIL) V COMPRA (HERNAN, CAMION) ~ El símbolo de negación (~), el cual algunas veces se considera como una pseudo-conjunción porque no enlaza realmente fórmulas, se emplea para cambiar el valor de la veracidad de una FBD de verdadero a falso o de falso a verdadero. Cuando se aplica ~ a una fórmula, ésta se convierte en negación. Por ejemplo:

~ MUCHACHO (LAURA) representa la frase, “Laura no es un muchacho”. → Se usa para desarrollar constructos Si-Entonces (IF-THEN) y se denomina implicación. El hecho que el antecedente sea verdadero implica que el consecuente sea también verdadero. Por ejemplo:

[PRESENTE (CHISPA) ^ PRESENTE (COMBUSTIBLE) ^ PRESENTE (AIRE)] → COMBUSTION (COMBUSTIBLE)

Page 50: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________50

≡ Se usa para indicar la equivalencia lógica de dos fórmulas. Una fórmula tal como X ≡ Y indica que la veracidad del lado izquierdo y del lado derecho son equivalentes, sin observar como se interpretan (mientras las variables sean interpretadas coherentemente). Lógica de predicados: cuantificación Estamos utilizando la Lógica Proposicional, un subconjunto de la lógica de predicados, si empleamos solamente las construcciones descritas hasta el momento y excluimos el uso de variables en las expresiones. Desafortunadamente, aunque el empleo de conjunciones, incrementa de manera apreciable nuestra potencia expresiva, aún no podemos expresar el hecho simple, “toda persona necesita aire”. Para ayudar a conformar dichas expresiones, empleamos cuantificadores. El cuantificador universal x∀ se utiliza para aseverar que una fórmula es verdadera para todos los valores de la variable asociada. Por ejemplo, “Toda persona necesita aire” se puede representar como:

x∀ [PERSONA (x) → NECESITA-AIRE (x)] El cuantificador existencial x∃ se emplea para aseverar que por lo menos existe alguna asignación para x, que hará que la fórmula asociada sea veraz. Por ejemplo, “El propietario del automóvil también lo es del bote” se puede representar como:

x∃ [PROPIETARIO (x, AUTOMOVIL) ^ PROPIETARIO (x, BOTE)] En este caso, la fórmula es cierta si existe un dueño que posea un automóvil y un bote. También es cierto si varias (o todas) personas del dominio posean ambos (son propietarios mediante una sociedad). La variable asociada con un cuantificador se llama variable cuantificada, y el alcance del cuantificador es la fórmula que sigue. Las variables que se referencian en los cuantificadores se llaman ligadas y aquellas que no lo están se llaman libres. La mayoría de las fórmulas de interés para los sistemas expertos se llaman frases, que son las fórmulas que contienen solamente variables ligadas. Lógica de predicados: el lenguaje El lenguaje formal asociado con la lógica de predicados es el conjunto de todas las fórmulas que se pueden construir legalmente a partir del alfabeto de símbolos (el conjunto de todos los enunciados que podrían hacerse, dados los símbolos expuestos). Una fórmula legalmente construida en el lenguaje se llama fórmula bien definida FBD y se define inductivamente como sigue:

1.- Una fórmula atómica es una FBD. 2.- Las siguientes son FBD: (~ F), (F^G), (F V G), (F → G).

Donde: F y G son FBD

Page 51: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________51

3.- Las siguientes son FBD: xF)( y xF)( ∃∀ donde F es una FBD y x una variable. Dada esta definición, podemos construir de modo arbitrario, FBD complejas, por ejemplo:

( ) [ ]) y)R(x, x)R(x, x)Q(y, y)P(x, y)(( x →∧∧∀∃

Sin embargo, otras fórmulas sencillas que se forman a partir de los símbolos del alfabeto no son FBD. Por ejemplo, ~ f(A) no es una FBD de acuerdo con las reglas anteriores. Más importante aún es que las siguientes no son FBD:

( ) f(A) f)( y P(A) P ∃∀ Lógica de predicados: evaluación Los conceptos de verdad y prueba formal son importantes en un sistema de lógica formal. El proceso de inferir nuevos conocimientos es un proceso estructurado como una prueba similar a las pruebas desarrolladas en matemáticas. Este proceso que depende solamente de manipulaciones sintácticas y se ajusta cercanamente al ideal teórico de un sistema experto, es un método para la demostración rigurosa de la verdad de un enunciado propuesto, basado en la verdad que ya se haya conocido. Este proceso, obviamente, depende de nuestra habilidad para determinar si una FBD cualquiera es verdadera o falsa. El valor de la verdad de una fórmula atómica se determina mediante la aplicación de la interpretación del predicado: Si al darse la interpretación del predicado en el dominio expuesto, la relación descrita por el predicado con sus argumentos es cierta, entonces el valor de verdad del átomo es verdadero; de otra manera, el valor de verdad del átomo es falso. Por ejemplo, si el predicado ALTO (x) se interpreta en el sentido de que “x tiene al menos 1.80m de alto”, luego para encontrar el valor de verdad de la formula ALTO (JOSE), medimos la estatura de José. Si tiene al menos 1.80m de alto, entonces la fórmula es verdadera; de lo contrario es falsa. En la lógica proposicional, el valor de la verdad de una fórmula compleja se puede establecer mediante el empleo del método de la Tabla de Verdad, que se basa en la tabla de verdad que se muestra en la figura 11.

X Y X^Y XνY X→Y ~X X≡Y V V V V V F V V F F V F F F F F F F V V V F V F V V V F

Figura 11. Tabla de verdad.

Page 52: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________52

Obsérvese que la definición de verdad para la conjunción “implica” no es intuitivamente clara. Un valor de verdad de una implicación es verdadero por definición, siempre que el antecedente sea falso o el consecuente sea verdadero. El valor de verdad se aplica a la implicación total y no nos dice nada sobre la verdad de cualquier componente. Por lo tanto, CABALLO(TILIN)→GATO(TILIN) es verdadera. Para determinar la veracidad o falsedad de una complicada fórmula compuesta en lógica de predicados, aplicamos en forma sucesiva las relaciones de la tabla de verdad para reducir las fórmulas componentes, iniciándose desde el “interior” hacia fuera. Por ejemplo, dado el conocimiento de que algún predicado P es falso y que los predicados Q y R son verdaderos6 , para establecer el valor de veracidad de la expresión:

[(P ν (Q ^ R)) ^ ~ P] → (Q ^ P) empleamos en primer lugar la tabla de verdad para determinar que Q^R es cierta. La expresión compuesta se reduce luego a

[(P ν tt) ^ ~ P] → (Q ^ P) Cuando se establece que P ν tt es cierta y se reduce la expresión a

(tt ^ ~ P) → (Q ^ P) Esta expresión se reduce entonces a la forma final empleando la siguiente secuencia:

(tt ^ tt) → (Q ^ P) tt → (Q ^ P) tt→ff ff

De este modo se establece que la expresión total es falsa.

2.5.- La demostración y sus métodos. Demostradores de teoremas Demostradores de teoremas (también conocidos como razonadores automáticos). Los demostradores de teoremas aceptan la lógica de primer orden en su totalidad [1]. En muchos demostradores de teoremas, la forma sintáctica escogida para las sentencias no afecta a los resultados. Los demostradores de teoremas todavía necesitan la información de control para poder operar eficientemente, pero por lo general, dicha

6 Para este y sucesivos análisis de lógica proposicional se asume que todos los ejemplos tienen la misma constante, [P(A), Q(A), R(A)].

Page 53: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________53

información se mantiene separada de la base de conocimiento, en vez de formar parte de la propia representación del conocimiento. Gran parte de la investigación en demostradores de teoremas se basa en encontrar estrategias de control que sean de utilidad general al mismo tiempo que aumenten la velocidad. Los demostradores de teoremas han sido utilizados para verificar diseños de hardware y para generar programas correctos desde el punto de vista lógico, entre otras aplicaciones. Demostradores de teoremas como asistentes Otro uso de los demostradores de teoremas es como asistentes, proporcionando consejo a, por ejemplo, un matemático. De este modo, un matemático actúa como un supervisor, seleccionando la estrategia para determinar qué hacer seguidamente y pidiendo al demostrador de teoremas que rellene los detalles. Este mecanismo alivia, en parte, el problema de las semidecidibilidad, porque el supervisor puede cancelar una petición e intentar otro enfoque si la petición está consumiendo mucho tiempo. Un demostrador de teoremas también puede actuar como un comprobador de demostraciones, donde la demostración la da una persona en forma de un conjunto de pasos algo extenso, y las inferencias concretas que se necesitan para demostrar que cada paso es sólido las realiza el sistema. Un razonador Socrático es un demostrador de teoremas cuya función PREGUNTA es incompleta, pero que siempre puede llegar a una solución si le han dado el orden correcto de peticiones. De este modo, los razonadores Socráticos son buenos asistentes, dado que haya un supervisor que envíe las series llamadas correctas a PREGUNTA. ONTIC [McAllester, 1989] es un sistema de razonamiento Socrático para matemáticos. Usos prácticos de los demostradores de teoremas Los demostradores de teoremas han surgido con resultados matemáticos muy originales. El programa Semi-Automated Mathematics (SAM) fue el primero en demostrar un lema de la teoría de retículos [Guard et al., 1969]. El programa AURA también ha respondido a preguntas abiertas en diversas áreas de las matemáticas [Wos y Winker, 1983], el demostrador de teoremas Boyer-Moore [Boyer y Moore, 1979] se ha utilizado y ampliado durante muchos años y se utilizó por Natarajan Shankar para dar la primera demostración formal rigurosa sobre el Teorema de la Incompletitud de Gödel [Shankar, 1986]. El programa OTTER es uno de los mejores demostradores de teoremas; se han utilizado para resolver diversas preguntas abiertas sobre lógica combinatoria. La más famosa es la que concierne al álgebra de Robbins. En 1933, Herbert Robbins propuso un conjunto sencillo de axiomas que intentaban definir el álgebra Booleana, pero no se pudo encontrar ninguna prueba que los demostrara. En octubre de 1996, después de ocho días de cálculo, el EOP (una variante del OTTER) encontró una demostración [Mc Cune, 1997]. Los demostradores de teoremas se pueden aplicar a los problemas relacionados con la verificación y síntesis del hardware y software, porque ambos dominios pueden

Page 54: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________54

disponer de axiomatizaciones correctas. De este modo, la investigación en la demostración de teoremas se lleva a cabo en los campos del diseño del hardware, los lenguajes de programación, y la ingeniería del software, no sólo en la Inteligencia Artificial. En el caso del software, los axiomas definen las propiedades de cada elemento sintáctico del lenguaje de programación. Un algoritmo se verifica demostrando que sus salidas respetan las especificaciones de todas las entradas. El algoritmo RSA de encriptación de clave pública y el algoritmo de emparejamiento de texto de Boyer-Moore han sido verificados de este modo [Boyer y Moore, 1984]. En el caso del hardware, los axiomas describen las interacciones entre las señales y los elementos del circuito. El diseño de un sumador de 16 bits ha sido verificado por el AURA [Wojcik, 1983]. Los razonadores especialmente diseñados para la verificación han sido capaces de verificar CPUs enteras, incluyendo propiedades temporales [Srivas y Bickford, 1990]. La síntesis formal de algoritmos fue uno de los primeros usos de los demostradores de teoremas, tal como perfila Cordell Green (1969a), quien trabajó sobre las ideas iniciales de Simon (1963). La idea es demostrar un teorema de manera que “exista un programa que satisfaga ciertas especificaciones”. Si la demostración está restringida a ser constructiva el programa se puede obtener. Aunque, tal como se le llama, la síntesis deductiva no ha sido automatizada totalmente, y aún no ha con seguido ser viable para la programación de propósito general, la síntesis deductiva guiada ha tenido éxito en el diseño de diversos algoritmos bastante sofisticados y novedosos. Los programas de síntesis para propósito específico también son un área activa de investigación. En el área de síntesis de hardware, el demostrador de teoremas AURA se ha aplicado en el diseño de circuitos que son más compactos que cualquier diseño anterior [Wojciechowski y Wojcik, 1983]. Para muchos diseños de circuitos, la lógica proposicional es suficiente porque el conjunto de proposiciones de interés está fijado por el conjunto de elementos del circuito. La aplicación de la inferencia proposicional en la síntesis del hardware es actualmente una técnica estándar que tiene muchas utilidades a gran escala.

Actualmente, estas mismas técnicas se están comenzando a aplicar en la verificación del software, por sistemas como el comprobador de modelos SPIN [Holzmann, 1997], por ejemplo, el programa de control espacial del Agente Remoto fue verificado antes y después del vuelo [Havelund et al., 2000].

2.6.- El método de resolución de Robinson. A partir de los trabajos de los precursores, han surgido dos tendencias para mejorar la eficiencia de los métodos mecánicos: Los métodos basados en las ideas de Prawitz, 1960; y los métodos basados en el Principio de Resolución de Robinson, 1965 [2]. El método de resolución de Robinson esta considerado como el precursor de toda una familia de métodos, que hacen uso de los conceptos centrales, pero que, de alguna manera proponen algún refinamiento. Consiste esencialmente en una extensión de la regla de la literal simple de Davis y Putnam. Se aplica directamente a cualquier conjunto de cláusulas (no necesariamente

Page 55: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________55

cláusulas base o aterrizadas), para probar la insatisfactibilidad de S. El aspecto central del método consiste en probar que si S contiene la cláusula vacía, entonces es inconsistente. En caso de que S no contenga la cláusula vacía, se intentará derivarla a partir de las cláusulas existentes en S. Si la cláusula vacía es derivada de las cláusulas existentes, S es inconsistente. Resolución La muy eficaz regla de resolución de inferencia, introducida por Robinson en 1965, con frecuencia se implanta en programas de Inteligencia Artificial para prueba de teoremas [Robinson, 1965]. En realidad la resolución es la principal regla de inferencia de PROLOG. En lugar de muchas reglas de inferencia de aplicación limitada, como modus ponens, modus tollens, combinación, encadenamiento, etcétera, PROLOG utiliza una regla de inferencia general de resolución. Esta aplicación de la resolución hace que los probadores automáticos de teoremas como PROLOG resulten herramientas prácticas para resolver problemas, porque en lugar de tener que probar diferentes reglas de inferencia esperando que una tenga éxito, puede aplicarse la regla de resolución simple, método que puede reducir mucho espacio en la búsqueda. Como una manera de introducir la resolución, consideremos primero el silogismo sobre Sócrates expresado en PROLOG como se muestra a continuación, donde los comentarios se muestran con un signo de porcentaje:

Mortal (X) :- hombre (X). %todos los hombres son mortales Hombre (sócrates). %Sócrates es un hombre :- mortal (sócrates). %consulta: ¿Sócrates es mortal? Sí %PROLOG responde sí

PROLOG utiliza una notación libre de cuantificador. El cuantificador universal ∀ , esta implícito en la información de que todos los hombres son mortales. PROLOG se basa en la lógica de predicados de primer orden, sin embargo, también tiene varias extensiones para facilitar las aplicaciones de programación. Estas funciones de programación especiales violan la lógica de predicados pura y se les denomina funciones extralógicas: entrada/salida, corte (que altera el espacio de búsqueda) y asegurar/retractar (para modificar valores de verdad sin justificación de lógica). Antes de que pueda aplicarse la resolución, la fórmula bien formada (fbf) debe estar en una forma normal o estándar. Los tres principales tipos de formas normales son la forma normal conjuntiva, la forma de cláusula y subconjunto de cláusula de Horn (véase anexo Cláusulas de Horn). La idea básica de la forma normal es expresar la fbf de una forma estándar que sólo utilice ٨, ٧ y tal vez ~. El método de resolución se aplica entonces a las fbf de forma normal en la que todos los conectores y cuantificadores se han eliminado. Esta conversión es necesaria porque la resolución es una operación sobre pares de disyunciones, que produce nuevas disyunciones, lo que simplifica la fbf.

Page 56: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________56

Este es un ejemplo de una fbf de forma normal conjuntiva, que se define como la conjunción de disyunciones, que son literales.

(P1 ٧ 2P ٧ …) (Q1 ٧ 2Q ٧ …) ٨ …(Z1 ٧ 2Z ٧ …) Términos como P1 deben ser literales, lo que significa que no contienen conectores lógicos como el condicional o bicondicional, o cuantificadores. Una literal es una fórmula atómica o una fórmula atómica negada. Por ejemplo, la siguiente fbf:

(A ٧ B) ٨ (~B ٧ C) Está de la forma normal conjuntiva. Los términos entre paréntesis son cláusulas:

A ٧ B y ~B ٧ C Cualquier fbf de lógica de predicados, que incluye a la lógica proposicional como un caso especial, puede escribirse en forma de cláusulas. La forma de cláusula completa puede expresar cualquier fórmula de la lógica de afirmaciones, pero tal vez no sea tan natural o legible como para una persona [Kowalski, 1979]. La sintaxis de PROLOG es el conjunto de la cláusula de Horn, que facilita en gran medida la comprobación de los teoremas mecánicos en PROLOG y hace su implantación más eficiente que la notación lógica de predicados normal o la forma de cláusula completa. PROLOG solo permite un encabezado. Por lo general, una expresión en forma de cláusula completa se escribe de una forma especial llamada forma de cláusula de Kowalski:

A1, A2, …AN → B1, B2, …BM

La cual se interpreta como si se dijera que si todos los subjetivos A1, A2,…AN son verdaderos, entonces uno o más de B1, B2,… o BN también son verdaderos. Obsérvese que a veces la dirección de la flecha está invertida en esta notación. Esta cláusula, escrita en notación de predicados normal, es:

A1 ٨ A2, …AN → B1 ٧ B2 …BN

Esto puede expresarse en forma disyuntiva como la disyunción de literales utilizando la equivalencia:

p → q ≡~ p ٧ q Así: A1 ٨ A2 … AN → B1 ٧ B2 … BM

≡~(A1 ٨ A2 … AN) ٧ (B1 ٧ B2 … BM) ≡~ ∨1A ~ ...A2 ~ M21N ...BBBA ∨∨

Donde la ley de De Morgan:

~ ≡∧ q)(p ~ p ∨ ~ q

Page 57: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________57

Se usa para simplificar la última expresión. PROLOG utiliza un tipo restringido de forma de cláusula, cláusula de Horn, en la que sólo se permite un encabezado.

B,...AA,A N21 → Que se escribe en sintaxis de PROLOG como:

N21 ,...AA,A: B − El problema que surge al tratar de probar directamente un teorema, es la dificultad de deducirlo utilizando sólo las reglas de inferencia y los axiomas del sistema. Esto puede requerir mucho tiempo para deducir un teorema o tal vez no seríamos lo suficientemente listos para hacerlo. Para probar que un teorema es verdadero, se utiliza el método clásico de reducción al absurdo, o método de contradicción, entonces la fbf original no negada es un teorema. El objetivo básico de la resolución es inferir una nueva cláusula, el resolutivo, de otras dos cláusulas, llamadas cláusulas padre; el resolutivo tendrá menos términos que los padres. Al seguir el proceso de resolución, terminará por obtenerse una contradicción o el proceso se terminará porque no se ha hecho ningún progreso. En el siguiente argumento se muestra un ejemplo simple de resolución.

AB~A

BA

∴∨∨

Una manera de ver como se llega a la conclusión, es escribiendo las premisas como:

B)~(AB)(A ∨∧∨ Uno de los axiomas de distribución es:

r)(pq)(pr)(qp ∨∧∨≡∧∨ Aplicando esto a las premisas se tiene:

AB)~(BAB)~(AB)(A ≡∧∨≡∨∧∨ Donde el último paso seguido desde (B∨~B) siempre es falso. Esto se desprende de la Ley del medio excluido, que establece que algo no puede ser verdadero y falso a la vez. En la lógica de confusión, veremos que esta ley no se sostiene. Otra manera de escribir esto utiliza el término nulo, que significa vacío, nada o falso. Por ejemplo, la Ley del medio excluido establece que (B∨ ~B) ≡nulo. El ejemplo de resolución muestra la manera en que las cláusulas padre (A ∨ B) (A ∨~B) pueden simplificarse en el resolutivo A. En la siguiente figura 12 se resumen algunas cláusulas padre básicas y sus resolutivos en notación de cláusula, donde las comas que separan las cláusulas significa ∧ .

Page 58: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________58

Cláusulas padre Resolutivo Significado p→q, p o ~p v q, p

q Modus ponens

p→q, q→r o ~p v q, ¬q v r

p→r o ~p v r

Encadenamiento o silogismo hipotético

~p v q, p v q q Combinación ~p v ~q, p v q ~p v p

o ~q v q

VERDADERO (una tautologia)

~p, p nulo FALSO (una contradicción)

Figura 12. Cláusulas padre básicas.

2.7.- Conocimiento no-monótono y otras lógicas. Se dice que un sistema de razonamiento es no monótono cuando viola la condición de monotonía, es decir, cuando un aumento de las premisas puede hacer disminuir el conjunto de conclusiones obtenidas previamente. Formalmente: un sistema es no monótono si existen conjuntos de premisas BC y β y alguna conclusión α tales que:

BC |= α y sin embargo BC υ β α (La aparición de nuevas premisas puede invalidar alguna de las conclusiones anteriores). Tipos de no monotonía Existen varios tipos de no monotonía, aunque la frontera entre ellos no es del todo nítida, y, a menudo, los distintos tipos aparecen de forma combinada. Una posible clasificación, en dos grandes grupos, es la siguiente: Razonamiento defectivo Consiste en la extracción de conclusiones racionales (aunque no definitivas y por lo tanto revisables) a partir de información incompleta, no concluyente. Existen varias modalidades de razonamiento defectivo:

• Prototípico: Basado en el uso de reglas con excepciones, reglas que describen una situación típica (la que se da en condiciones normales), pero que pueden tener excepciones, por lo que no son universalmente ciertas.

Ejemplo: Habitualmente, los pájaros vuelan.

Page 59: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________59

• Sin-riesgo: Casos en los que una conclusión equivocada puede tener consecuencias desastrosas.

Ejemplo: En ausencia de evidencias iniciales de lo contrario, los acusados

son inocentes.

• Mejor-conjetura: Consiste, ante la ausencia de mayor información, en elegir la mejor conjetura posible.

Ejemplo: Es domingo, tengo que comprar algo y sé que una de las dos

farmacias de mi pueblo está abierta, pero no sé cual. La mejor conjetura es elegir la más cercana a mi casa.

• Probabilística: Similar al caso prototípico pero aplicable en situaciones en las que

las reglas generales se construyen mediante la utilización de probabilidades. Razonamiento auto epistémico Consiste en la extracción de conclusiones racionales (aunque no definitivas y por lo tanto revisables) a partir de una representación incompleta de una información virtualmente completa, por lo que se aplica la suposición de que si la conclusión fuese falsa, se sabría. El razonamiento auto epistémico se puede dividir en dos clases:

• Por convención. Casos en los que existe una convención implícita que indica que, si la conclusión fuese falsa, se sabría.

Ejemplo: Si en los horarios de trenes no aparece un cierto recorrido, es

porque no la hay.

• Subjetivo. Casos en los que es una opinión subjetiva la que indica que si la conclusión fuese falsa se sabría. Suele seguir el siguiente patrón:

Si x fuese cierto, lo sabría. No sé si x es cierto.

Por lo tanto deduzco que x es falso.

Ejemplo: Me preguntan si el profesor X va a dar una conferencia mañana en

el departamento. Mi respuesta es “no", aunque nadie me ha dicho que no vaya a ser así, y la razón es que pienso que si fuese cierto, me habría enterado.

Page 60: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________60

Modelos Los modelos de razonamiento no monótono aportan por lo tanto métodos formales para la construcción de sistemas capaces de operar adecuadamente ante información incompleta, incierta, imprecisa, sujeta a cambios y, en algunas ocasiones, contradictoria. En particular, proponen mecanismos rigurosos para la revisión de razonamientos ante la llegada de nueva información, permitiendo retractar aquellas conclusiones que han dejado de ser válidas y derivar nuevas conclusiones alternativas. Existen diversos modelos de Razonamiento No Monótono, que pueden clasificarse en tres grandes categorías: Modelos Simbólicos: Basados en extensiones de la lógica clásica, Hipótesis del Mundo Cerrado W, Lógicas modales no monótonas, Lógicas defectivas W, Circunscripción. Modelos No Simbólicos: Modelos probabilísticos. Modelos borrosos: Sistemas basados en herencia W, Sistemas de mantenimiento de la verdad. Otro rasgo importante que permite clasificar a los modelos de razonamiento no monótono es su actitud ante informaciones contradictorias (ejemplo: cuáqueros y republicanos):

• Los modelos crédulos evitan las inconsistencias ofreciendo distintas soluciones alternativas.

• Los modelos escépticos evitan las inconsistencias absteniéndose de emitir

conclusiones en caso de conflicto. Cada uno de estos enfoques tiene sus ventajas e inconvenientes; serán el tipo de razonamiento que se esté formalizando y la aplicación concreta los que determinen cuál de ellos es el más adecuado. Aplicaciones Algunas de las aplicaciones más relevantes del Razonamiento No Monótono son las siguientes: Problemas de Diagnóstico. Diagnóstico médico, de funcionamiento de equipos, etc. El diagnóstico se suele basar en unas reglas generales que permiten determinar las causas más probables del problema. Razonamiento legal. La mayoría de las leyes están escritas mediante reglas con excepciones (por ejemplo: “Los contratos son válidos. Los contratos con menores no son válidos. Los contratos con menores ratificados por el tutor del menor son válidos."). Tratamiento del lenguaje natural. El lenguaje natural es ambiguo, y está por lo tanto sujeto a múltiples interpretaciones. Muchos actos comunicativos se basan en

Page 61: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________61

convenciones, y normalmente se extraen conclusiones basadas en ellas a menos que estas se violen explícitamente. Razonamiento temporal. Operaciones que se realizan en marcos de trabajo cambiantes, lo que obliga a hacer razonamientos predictivos sobre la evolución del problema. Visión. Cuando sólo es posible ver una parte de un escenario, se asumen conclusiones por defecto sobre el escenario completo, que pueden tener que ser revisadas más adelante al recibirse nueva información. Circunscripción y lógica por defecto La introspección simple sugiere que esos fallos de la propiedad monotónica son generalizados en el razonamiento basado en el sentido común, parece que los humanos a menudo «llegan a conclusiones», por ejemplo, cuando uno ve un coche aparcado en la calle, uno tiende normalmente a creer que el coche tiene cuatro ruedas aunque sólo sean visibles tres; ahora la teoría de la probabilidad puede proporcionar una conclusión de que la cuarta rueda existe con una alta probabilidad, incluso, para la mayoría de la gente, la posibilidad de que el coche no tenga la cuarta rueda no surge a menos que se presente alguna nueva evidencia, por lo tanto, parece que la conclusión de la cuarta rueda se alcanza por defecto, en ausencia de otra razón que lo ponga en duda; si se detectan nuevas evidencias (por ejemplo, si uno ve al propietario del coche llevando una rueda y se da cuenta de que el coche tiene un gato), entonces la conclusión puede ser negada. Esta clase de razonamiento se dice que es no monotónico, porque el conjunto de creencias no crece monotónicamente con el tiempo cuando se dispone de nuevo conocimiento. La lógica no monotónica ha sido concebida con nociones modificadas de verdad e implicación para capturar este comportamiento. Se examinarán estos dos tipos de lógica que han sido estudiados de forma extensiva: circunscripción y lógica por defecto [1]. La circunscripción puede ser vista como una versión más potente y precisa de la asunción del mundo cerrado. La idea es especificar predicados particulares que son asumidos como «tan falsos posibles» (es decir, falso para todo objeto excepto para aquellos para los cuales se conoce que es cierto). Por ejemplo supóngase que se quiere expresar la regla por defecto de que los pájaros vuelan. Se podría introducir un predicado. Por ejemplo Anormal1(x), y escribir

(x) Vuela (x) Anormal (x) Pájaro 1 ⇒¬∧

Si se especifica que Anormal1 va a ser circunscrito, un razonador que utiliza circunscripción asumirá ¬ Anormal1(x) a menos que sea conocida la certeza de Anormal1 (Tweety). La circunscripción puede ser vista como un ejemplo de lógica de preferencia de modelos. En este tipo de lógica, una sentencia se deduce (con valor por defecto) si es cierta en todos los modelos preferidos de la base de conocimiento, en contraposición a los requerimientos de verdad en todos los modelos de la lógica clásica. Por circunscripción, un

Page 62: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________62

modelo se prefiere a otro si tiene menos objetos anormales. El ejemplo estándar para el cual la herencia múltiple genera problemas se llama «El diamante de Nixon». Surge de la observación de que Richard Nixon es un cuáquero (y por lo tanto pacifista) y un republicano (y por lo tanto no pacifista). Se podría escribir esto como sigue:

Republicano(Nixon) ∧ Cuáquero(Nixon) Republicano(x) (x) Pacifista (x)2 Anormal ¬⇒¬∧

Cuáquero(x) (x) Pacifista (x) 3 Anormal ⇒¬∧

Si se circunscriben Anormal2 y Anormal3, no existen modelos preferidos: uno en el que se cumpla Anormal2 (Nixon) y Pacifista (Nixon) también se considera válido. Por lo tanto es pacifista. Si se desea además afirmar que las creencias religiosas tienen precedencia sobre creencias políticas, se podría usar un formalismo denominado circunscripción priorizada para dar preferencia a modelos donde Anormal3 es minimizado. La lógica por defecto es un formalismo en el cual las reglas por defecto se pueden escribir para generar conclusiones contingentes no monotónicas. Una regla por defecto se parece a la siguiente:

Pájaro(x) : Vuela(x) / Vuela(x) Esta regla significa que si Pájaro(x) es cierto y si Vuela(x) es consistente con la base de conocimiento, entonces se puede concluir Vuela(x) por defecto. En general, una regla por defecto tiene la forma

/CJ...,J:P n1 Donde P es un prerrequisito, C es la conclusión, y Ji son las justificaciones (si cualquiera de ellas se puede probar como falsa, entonces la conclusión no se puede alcanzar). Cualquier variable que aparece en Ji o C también debe aparecer en P. El ejemplo del diamante de Nixon puede ser representado utilizando lógica por defecto con un hecho y dos reglas por defecto.

Republicano(Nixon) ∧ Cuáquero(Nixon) Republicano(x) (x) Pacifista x)/Pacifista( : ¬¬ Cuáquero(x) (x) /Pacifista (x) Pacifista:

Para interpretar cuál es el significado de las reglas por defecto, se definirá la noción de una extensión o una teoría por defecto como el conjunto máximo de consecuentes de la teoría. Es decir, una extensión S consta de los hechos originales conocidos y un conjunto de conclusiones a partir de las reglas por defecto, de tal modo que no se pueden alcanzar conclusiones adicionales desde S y las justificaciones de cada conclusión por defecto en S son consistentes con S. Como en el caso de los modelos preferidos en la circunscripción, se tienen dos posibles extensiones para el diamante de Nixon: uno en el que él es un pacifista y otro en el que no lo es. Existen esquemas priorizados en los que a algunas reglas por defecto se les puede dar precedencia sobre otras, permitiendo resolver algunas ambigüedades.

Page 63: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________63

Desde 1980, cuando se propuso por primera vez la lógica no monotónica, se han hecho muchos progresos para entender sus propiedades matemáticas, comenzando en los últimos años de la década de los 90, los sistemas prácticos basados en programación lógica han demostrado ser prometedores como herramientas para la representación del conocimiento, por ejemplo, si «los coches tienen cuatro ruedas» es falso, ¿qué significa el que lo tengamos en nuestra base de conocimiento? ¿Cuál es el conjunto apropiado de reglas por defecto que debemos tener? Si no se puede decidir, para cada regla por separado, si debe pertenecer a la base de conocimiento, entonces existe un problema serio de no modularidad. Por último, ¿cómo se pueden usar las creencias que tienen un valor por defecto para tomar decisiones? Probablemente esta sea la cuestión más difícil de resolver para el razonamiento por defecto. Las decisiones a menudo implican cambios, y por lo tanto, se necesita comparar la fuerza en la creencia de la salida de varias acciones. En aquellos casos donde se toma repetidamente la misma clase de decisiones, es posible interpretar las reglas por defecto como afirmaciones que establecen un «umbral de probabilidad». Por ejemplo, la regla por defecto «mis frenos estén correctos, en ausencia de otra información, es suficientemente alta para que la decisión óptima sea conducir sin revisarlos». Cuando el contexto para la toma de decisiones cambia (por ejemplo, cuando uno conduce un camión pesado muy cargado por una carretera de montaña empinada), el valor por defecto de repente no es el apropiado, incluso cuando no haya evidencia que sugiera que los frenos estén mal. Estas consideraciones han llevado a algunos investigadores a considerar cómo encapsular el razonamiento por defecto en la teoría de la probabilidad.

2.8.- Razonamiento probabilístico. El concepto o idea que generalmente se tiene del término probabilidad es adquirido de forma intuitiva, siendo suficiente para manejarlo en la vida corriente. A la medida numérica de la posibilidad de que ocurra un suceso A cuando se realiza el experimento aleatorio. A esta medida la llamaremos probabilidad del suceso A y la representaremos por p(A). La probabilidad es una medida sobre la escala 0 a 1 de tal forma que:

• Al suceso imposible le corresponde el valor 0. • Al suceso seguro le corresponde el valor 1. • El resto de sucesos tendrán una probabilidad comprendida entre 0 y 1. El

concepto de probabilidad no es único, pues se puede considerar desde distintos puntos de vista:

- El punto de vista objetivo. - Definición clásica o a priori. - Definición frecuentista o a posteriori.

El razonamiento probabilístico es un caso dentro del razonamiento no monótono.

Page 64: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________64

Ventajas: La principal ventaja del razonamiento probabilístico sobre el razonamiento lógico es que el primero permite tomar decisiones racionales aún en los casos en que no haya suficiente información para probar que cualquier acción dada funcionará. Las redes bayesianas o probabilísticas son una representación gráfica de dependencias para razonamiento probabilístico en sistemas expertos.

2.9.- Teorema de Bayes. La teoría de la probabilidad se puede aplicar:

- A los sucesos o eventos: probabilidad frecuencial o de ocurrencia. - A las proposiciones: probabilidad de que sean o no ciertas.

La mayoría de las veces se define la probabilidad en función de las frecuencias de ocurrencias de sucesos contenidos en un conjunto de posibilidades. No obstante, en la vida diaria y en las ciencias e ingenierías, asignamos también probabilidades a las proposiciones para indicar un grado de credibilidad basada en las evidencias de que disponemos. Por ejemplo, la probabilidad de que mañana llueva teniendo en cuenta la información meteorológica de que disponemos; la probabilidad de que Miguel de Cervantes se refiriera a Argamasilla de Alba como el lugar de La Mancha de cuyo nombre no quería acordarse, teniendo en cuenta la información de que disponemos sobre su estancia por aquella zona. Lógicamente a esta proposición no le podemos dar una probabilidad basada en la frecuencia de ocurrencia del hecho, pero no obstante se usa este tipo de juicios en nuestra vida diaria. Lo incompleto de la información de que disponemos nos lleva a asignar un grado de certidumbre o de credibilidad a las proposiciones. De este modo, las probabilidades se pueden utilizar para, a partir de unas evidencias, dar una medida del grado de credibilidad que se da a unas proposiciones, a partir de ellas realizar inferencias. La probabilidad de que una variable aleatoria pueda o no ocurrir, o que una proposición Xi, sea cierta o no lo sea, se denomina probabilidad incondicional o a priori. Es decir, representa la probabilidad de que algo ocurra p(A) antes de considerar ninguna información adicional p(A|E). Supongamos que tenemos dos proposiciones X e Y, y una serie de evidencias o hipótesis que recogemos bajo la proposición Z. Se designa P(X|Z) a la probabilidad condicional de que X sea verdadera dado que Z es verdadera. También se suele decir, la probabilidad de X dada Z. de manera similar designamos por P(Y|Z) la probabilidad de Y dado Z. El conocimiento de la ocurrencia de un suceso puede modificar las probabilidades de otros sucesos. Por ello, cada vez que se dispone de nueva información, las probabilidades de los sucesos pueden y suelen, cambiar.

Page 65: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________65

La regla de Bayes y su uso La regla del producto se puede escribir de dos formas por la conmutatividad de la conjunción [1]:

( )( )P(a) abPb)P(a

P(b) baPb)P(a

=∧

=∧

Igualando los miembros derechos y dividiendo por P(a), obtenemos

P(a)b)P(b)aP(

a)bP(

Esta ecuación se conoce como regla de Bayes (también como ley de Bayes o teorema de Bayes). Esta ecuación sencilla subyace en todos los sistemas de Inteligencia Artificial modernos con inferencia probabilística. El caso más general para variables multivaluadas puede escribirse con la notación P como.

P(X)Y)P(Y)XP(

X)YP( =

Donde de nuevo se interpreta como la representación de un conjunto de ecuaciones, y cada relación con valores específicos de las variables. También tendremos ocasión de usar una versión más general, condicionada a alguna evidencia base e.

e)XP(

e)Ye)P(Y,XP(e)X,YP( =

Aplicación de la regla de Bayes: el caso sencillo A primera vista, la regla de Bayes no parece muy útil. Requiere tres términos (una probabilidad condicional y dos probabilidades incondicionales) sólo para calcular una probabilidad. La regla de Bayes es útil en la práctica porque hay muchos casos donde disponemos de buenas estimaciones probabilistas para estos tres números y necesitamos calcular el cuarto. En una tarea como el diagnóstico médico, con frecuencia tenemos probabilidades condicionales de relaciones causales y necesitamos deducir un diagnóstico. Un médico sabe que la enfermedad de meningitis causa al paciente que el cuello se agarrote, digamos, el 50 por ciento de las veces. El médico también conoce algunos hechos incondicionados: la probabilidad a priori de que un paciente tenga meningitis es 1/50 000 y la probabilidad priori de que cualquier paciente tenga un cuello agarrotado es 1/20. Si tomamos s como la proposición de que el paciente tiene un cuello agarrotado y m como la proposición de que el paciente tiene meningitis, tenemos

Page 66: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________66

0.5m)sP( = 000 1/150P(m) =

1/20P(s) =

m)P(m)sP(s)mP( = \P(s) 0.00021/20

000 1/500.5=

×=

Es decir, esperamos que sólo un paciente de entre 5, 000 con un cuello agarrotado tengan meningitis. Nótese que, aun pensando en que una meningitis apunta a un cuello agarrotado con bastante contundencia (con probabilidad 0.5), la probabilidad de meningitis en el paciente se queda pequeña. Esto es porque la probabilidad a priori de un cuello agarrotado es mucho más alta que la meningitis. El proceso por el que se puede evitar la asignación de probabilidades de la evidencia se puede aplicar en la regla de Bayes. Tenemos

P( ⟩¬¬⟨=∝ m)m)P(sP(m)P(m),sP(s)M

Así para usar esta aproximación necesitamos estimar m)sP( ¬ en vez de P(s). A veces es

más fácil, a veces es más difícil. La fórmula general de la regla de Bayes con normalización es

Y)P(Y)XP(X)YP( =∝

Donde ∝ es la constante de normalización necesaria para hacer que las entradas de

X)YP( sumen 1.

Una cuestión obvia sobre la regla de Bayes es por qué uno debe disponer de la probabilidad condicional en un sentido, pero no en el otro. En el dominio de la meningitis, quizás el médico sabe que un cuello agarrotado implica meningitis en uno de cada 5, 000 casos; es decir, el médico tiene información cuantitativa en el sentido de los síntomas a las causas, el sentido diagnóstico. Tal médico no tiene necesidad de usar la regla de Bayes. Desafortunadamente, el conocimiento diagnóstico es con frecuencia más frágil que el conocimiento causa. Si hay una epidemia repentina de meningitis, la probabilidad incondicional de meningitis, P(m), aumentará. El médico que obtuvo la probabilidad diagnóstica s)(mP directamente de la observación estadística de pacientes antes de la

epidemia no tendrá ni idea de cómo actualizar el valor, pero el médico que calcula s)(mP

a partir de los otros tres valores verá que s)(mP aumentará proporcionalmente a P(m).

Lo que es más importante, la información causal m)(sP no se ve afectada por la

epidemia, ya que sencillamente refleja el modo en que actúa la meningitis. El uso de este tipo de conocimiento causal directo o basado en modelos proporciona la robustez decisiva necesaria que hace viables a los sistemas probabilistas en el mundo real.

Page 67: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________67

Problemas de los métodos Bayesianos

• ¿En que se basan las probabilidades a priori y condicionadas? Muestra estadística grande, valor suministrado por un experto.

• No son capaces de explicar el proceso de razonamiento: los sistemas de

diagnóstico médico basados en bayes no son aceptados porque no explican como llegan a las conclusiones.

Page 68: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________68

Cuestionario de evaluación. Escribir el concepto que corresponda a cada definición. 1.- ______________________________________________________________________ Los componentes básicos de esta red son los nodos y los enlaces. Los nodos se emplean para representar elementos del dominio, se muestran gráficamente como rectángulos y son rotulados con los nombres de los elementos representados. Los enlaces representan relaciones entre los elementos. 2.- ______________________________________________________________________ Sus componentes son: alfabeto, lenguaje formal, axiomas y reglas de inferencia. 3.- ______________________________________________________________________ Es un lenguaje de programación lógico e interpretado, bastante popular en el medio de investigación en Inteligencia Artificial. 4.- ______________________________________________________________________ La aplicación de ésta hace que los probadores automáticos de teoremas como PROLOG resulten herramientas prácticas para resolver problemas, porque en lugar de tener que probar diferentes reglas de inferencia esperando que una tenga éxito, puede aplicarse la regla simple, método que puede reducir mucho espacio en la búsqueda. 5.- ______________________________________________________________________ Conjunto de datos sobre hechos, verdades o de información almacenada a través de la experiencia o del aprendizaje (a posteriori), o a través de introspección (a priori). 6.- ______________________________________________________________________ Conjunto de actividades mentales consistentes en conectar unas ideas con otras de acuerdo a ciertas reglas o también puede referirse a estudio de este proceso, conjunto de proposiciones enlazadas entre sí que dan apoyo o justifican una idea. 7.- ______________________________________________________________________ Establece que puede calcular la probabilidad condicional de que un evento o proposición Y ocurra o sea cierta, si el evento o proposición X ya ha ocurrido o es cierta, suponiendo conocidas la probabilidad a priori de X e Y, y la probabilidad de X dado Y. Respuestas: Redes semánticas, Lógica de predicados, Prolog, Regla de resolución de inferencia, Conocimiento, Razonamiento, Teorema de Bayes o regla de Bayes

Page 69: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________69

UNIDAD 3

SISTEMAS DE RAZONAMIENTO LÓGICO

Page 70: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________70

UNIDAD 3

SISTEMAS DE RAZONAMIENTO LÓGICO

3.1.- Reglas de producción. La representación del conocimiento en forma de reglas de producción fue propuesta por Post en 1943. La regla es la forma más común de representar el conocimiento, debido a su gran sencillez y a ser la formulación más inmediata del principio de causalidad (causa-efecto). Una regla consta de un conjunto de acciones o efectos (una o más) que son ciertas cuando se cumplen un conjunto de condiciones o causas (una o más). La fortaleza de una regla es la función de la lógica que admita en las expresiones de las condiciones y de las conclusiones. El “mundo” es una representación del conocimiento mediante reglas de producción y se hace mediante un conjunto de hechos que son verdaderos y un conjunto de reglas de producción que muestran la forma de la evolución de estos hechos. En la representación del conocimiento de tipo procedimental la forma de describir el “mundo” es muy similar pues se hace mediante los datos y algoritmos, obteniéndose nuevos datos verdaderos o resultados [7]. En las reglas de producción:

• Utilización indirecta de la lógica de predicados. • Pares condición-acción que definen una condición que si se satisface causa que

se “dispare” la regla, aplicándose la acción correspondiente. Responden al esquema if-then.

• Muy utilizadas en la práctica (Sistemas expertos). • Los sistemas basados en este tipo de representación se denominan sistemas de

producción. • Las reglas suelen aplicarse por encadenamiento hacia delante o

encadenamiento hacia atrás. Ejemplo 1:

SI estoy esperando en la parada de autobús y llega éste, ENTONCES subir al autobús.

SI estoy en el autobús,

ENTONCES pagar el billete.

Page 71: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________71

SI estoy en el autobús y he pagado el billete, ENTONCES encontrar un asiento libre.

Ejemplo 2:

Hecho: en mi jardín tengo una PLANTA PERENNE, ALTA Y CON EL TRONCO DESNUDO.

Regla 1: Un árbol es una planta perenne, alta y con el tronco desnudo. Nuevo hecho: En mi jardín tengo un árbol.

La fórmula general de la regla es la siguiente:

SI <Condiciones> ENTONCES <Conclusiones o acciones>. La conclusión se suele referir a la creación de un nuevo hecho válido, o la incorporación de una nueva característica a un hecho, mientras que la acción suele referirse a la transformación de un hecho. En nuestro ejemplo:

REGLA 1:<árbol> SI <planta Y perenne Y alta Y tronco desnudo>. REGLA 2: <arbusto> SI <planta Y perenne Y NO alta Y tronco NO desnudo>. REGLA 3: <alta> SI <altura >= 6 metros>. …

En lenguajes de PROLOG las reglas se pueden escribir de forma directa. Existe una restricción de la sintaxis de las reglas de producción que se denomina Cláusulas de Horn y que es utilizada por el lenguaje PROLOG, consistente en:

1.- Sólo existe una conclusión por regla. 2.- La conclusión no puede ser negada.

El conocimiento acerca de las reglas de producción que siguen esta misma estructura, se denomina Meta-reglas (el prefijo meta significa “por encima” o “más alto”). Las Meta-reglas facilitan la resolución de los problemas, las Meta-reglas pueden inhibir parte de los módulos lo que hace más rápida la búsqueda de soluciones. Existen dos clases de meta-reglas que son:

a) Las meta-reglas ciegas, son aquellas que contienen conocimiento sobre la estructura de las reglas, es decir sobre su sintaxis.

Ejemplos de meta-reglas ciegas son las siguientes:

• Elegir la regla más corta. • Elegir la primera regla. • Elegir la regla con mayor peso. • Elegir la regla utilizada más recientemente.

Page 72: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________72

b) Las meta-reglas no ciegas o inteligentes, son aquellas que contienen conocimientos sobre el contenido de las reglas es decir sobre su semántico.

Un ejemplo de la meta-regla no ciega es:

Un árbol joven no es alto, por lo que no es aplicable la regla 1.

Formulando esto con la misma sintaxis que se ha utilizando sería:

NO <REGLA1> SI <joven>.

Existen un tipo de reglas que normalmente se les denomina estratégicas, que consisten en la ejecución de algoritmos o procedimientos para el control del proceso. De esta forma se puede omitir el metaconocimiento. Sin embargo, no parece excesivamente “lógico” o “limpio” construir un sistema experto empleando este tipo de reglas. En un sistema así no estaría en forma declarativa sino en forma procedimental, esto quiere decir que en la base de conocimientos se incluirían algoritmos y procedimientos de control, lo cual implicaría de forma implícita o explícita la no independencia de la base de conocimientos y el control, lo que nos llevaría a una filosofía de programación tradicional en la que en el mejor de los casos el control fuera de forma funcional como es en LISP. Las ventajas que representan las reglas de producción son su carácter declarativo, su sencillez, su uniformidad que permite la representación de conocimiento como de metaconocimiento, su independencia que permite la supresión o inclusión sin que se vea afectado el resto de la base de conocimientos y su modularidad al ser fácilmente agrupables. Las desventajas que representan las reglas de producción, es la dificultad de establecer relaciones, para lo cual hay que recurrir al uso de las meta-reglas, al crecimiento muy rápido del número de reglas lo que relentiza el proceso de inferencia y a la gran facilidad con la que se pueden introducir repeticiones y, lo que es peor, contradicciones [20].

3.2.- Sintaxis de las reglas de producción.

- A1 ٨ A2. ... ٨ An => C - representación objeto-atributo-valor Un problema con el uso de las redes semánticas es que no hay definiciones estándar para nombrar los vínculos. Por ejemplo, algunos utilizan ES-UN para relaciones genéricas individuales. ES-UN se utiliza entonces en el sentido ordinario de las palabras “es un” y también en el sentido de UN-TIPO-DE. Otro vínculo muy utilizado es TIENE-UN, que relaciona una clase con una subclase. TIENE-UN señala a la inversa de UN-TIPO-DE y suele utilizarse para relacionar un objeto con una parte del objeto.

Page 73: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________73

Por ejemplo, El automóvil TIENE-UN motor. El automóvil TIENE-UNAS llantas. El automóvil ES-UN ford.

Más específicamente, ES-UN relaciona un valor con un atributo mientras que TIENE-UN relaciona un objeto con un atributo. Los elementos objeto, atributo y valor ocurren tan frecuentemente que es posible construir una red semántica simplificada utilizando únicamente estos elementos. Una tripleta objeto-atributo-valor (OAV), puede utilizarse para caracterizar todo el conocimiento de una red semántica y se usó en el sistema experto MYCIN para diagnosticar enfermedades infecciosas. La representación del trío OAV es conveniente para ordenar el conocimiento en forma de tabla y luego introducirla al código de la computadora mediante reglas de inducción. En la figura 13 se muestra el ejemplo de una tabla con el trío OAV. Objeto Atributo Valor Manzana Manzana Manzana Uvas Uvas Uvas

Color Tipo Cantidad Color Tipo Cantidad

Roja Golden 100 rojas sin semilla 500

Figura 13. Ejemplo de una tabla con el trío OAV (objeto-atributo-valor). Los tríos OAV son especialmente útiles para representar los hechos y sus patrones para llevarlos al antecedente de una regla. La red semántica para este tipo de sistema consta de nodos para objetos, atributos y valores, conectados por vínculos TIENE-UN y ES-UN.

3.3.- Semántica de las reglas de producción. La semántica es la dimensión del lenguaje que relaciona los elementos lingüísticos, nombres, predicados y oraciones, con los objetos, las acciones y propiedades y los hechos del mundo. La semántica tiene que ver con nuestra capacidad de representarnos el mundo mediante símbolos [12]. Un símbolo o signo tiene una estructura triangular:

a) El significante: es el objeto lingüístico arbitrario. Una secuencia de grafías o fonemas que tiene una existencia física. Por ejemplo: la palabra ‘mesa’.

Page 74: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________74

b) El significado: es la intención del significante y es un concepto o categoría que expresa las propiedades generales y significativas de un objeto de la realidad que denotamos con el significante. Por ejemplo, la palabra ‘mesa’ significa un tablero con cuatro patas capaces de soportar un peso o una fuerza. El significado nos permite localizar la referencia, el objeto del que habla el significante.

c) La referencia o extensión es el objeto real del mundo representado por el

significante. Las referencias de los posibles tipos de significantes del lenguaje serían las siguientes:

• El nombre refiere a un objeto del mundo. • El predicado refiere a una propiedad del mundo. • La oración refiere a un valor de verdad.

Figura 14. Estructura de un símbolo o signo.

Efectivamente toda oración remite a un hecho si el hecho ocurre, en cuyo caso se dice que esa oración es verdadera; si no ocurre, se dice de ella que es falsa. La verdad entonces es una propiedad de las oraciones que se refieren, remiten o representan hechos en el mundo. Naturalmente cada oración tiene o puede tener un significado distinto, pero las referencias posibles de las oraciones son sólo dos: lo verdadero o lo falso. La verdad es, en consecuencia es una noción semántica por medio de la cual valoramos o juzgamos la relación que se establece entre las oraciones que expresan hechos del mundo y estos mismos hechos.

Símbolo o Signo

Significante‘mesa’

Significado: ‘tablero con patas capaz de soportar objetos o fuerzas sobre él…’

Referencia

Representa Significa

Localiza

Símbolo o Signo

Significante‘mesa’

Significado: ‘tablero con patas capaz de soportar objetos o fuerzas sobre él…’

Referencia

Representa Significa

Localiza

Page 75: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________75

Esta consideración del símbolo permitió a las ciencias que tratan con el lenguaje abordar el estudio de éste mediante una metodología atomista y una ontología7 realista que se permitía considerar al lenguaje como una estructura articulable, generativa, veritativa-funcional que era independiente de quien lo usara, del contexto en que se usaba e incluso de los procesos de comprensión o creación de las formas lingüísticas. Es lo que Newell (1980) denomino sistema de símbolos físicos. Desde esta perspectiva, el lenguaje puede comprenderse como un sistema de reglas de producción que generaba cadenas de símbolos como meras estructuras sintácticas a las que se les podía asignar interpretaciones rígidas para que refirieran a elementos del mundo ya fuera el mundo natural o cualquier mundo formal, por un lado. Por el otro lado, cabe una interpretación cognitivista que relacionara los signos con las estructuras conceptuales de una mente simbólica, pero esta dimensión resultaba difícil de manejar y, a la postre, era irrelevante para la visión realista que estaba únicamente interesada en los procesos de conocimiento del mundo y de producción de teorías verdaderas. De este modo, la única semántica verdaderamente útil y manejable era la semántica extensional que sólo tenia en cuenta la relación de verdad que se establece entre los elementos de lenguajes, los objetos y hechos del mundo. La teoría de modelos, desde luego inspiró a toda una serie de ciencias -filosofía del lenguaje, lógica, ciencia cognitiva, lingüística, Inteligencia Artificial- a aventurarse en un segundo intento histórico de establecer una teoría del conocimiento que por fin nos colocara en la vida de la verdad que Parménides8 nos aseguró que era la única transitable. La ciencia cognitiva, que había recuperado la mente con su papel causal al que le había condenado el conductivismo, pronto mostró que la noción de información no era suficiente para explicar las complejas relaciones que los sistemas que la procesan establecen con el mundo para sobrevivir en él. La Inteligencia Artificial, como tecnología al servicio de todas las disciplinas para la verificación de las teorías, mostró justo todo lo contrario. Mostró que con estas semánticas de modelos o de mundos posibles, o en general, objetivistas, nuestra posibilidad de supervivencia en un mundo abierto, cambiante y lleno de novedad era nula.

3.3.1.- Conocimiento causal. Relación causal Definición: Un método para definir el conocimiento consiste en representar la causa y el efecto como entidades relacionadas. Una relación causal enlaza las causas con los efectos de forma comprensible como si fuera un teorema lógico (por ejemplo, si llueve, entonces las plantas van a crecer) [13].

7 El término ontología en informática hace referencia al intento de formular un exhaustivo y riguroso esquema conceptual dentro de un dominio dado, con la finalidad de facilitar la comunicación y la compartición de la información entre diferentes sistemas. Un uso común tecnológico actual del concepto de ontología lo encontramos en la Inteligencia Artificial y la representación del conocimiento. 8 Es considerado por muchos eruditos como el miembro más importante de la escuela eleática. Con él y con Heráclito de Éfeso comienza —según Ortega y Gasset—, la filosofía propiamente tal.

Page 76: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________76

Relación que vincula dos ideas a través de una conexión supuestamente necesaria. Es uno de los tres principios de asociación. La causalidad no tiene carácter necesario cuando se aplica a las cuestiones de hecho, sino que se funda en la costumbre: la repetición (o conjunción constante) no es más que una creencia; es algo que esperamos que suceda, no algo que deba suceder necesariamente sino algo que debe ser evaluado en términos de posibilidad. En la medida en que el concepto de causalidad no puede aplicarse a hechos que todavía no han sucedido, porque no tenemos evidencia de que lo todavía no ha sucedido, la falta de un concepto de causalidad nos conduce necesariamente al escepticismo. Las acciones de cualquier agente, sea humano o un sistema inteligente, tomadas para alcanzar una meta en cierto contexto, son precedidas por las decisiones tomadas en base al conocimiento adquirido. Aceptar la idea del principio y considerando lo que el agente tiene que hacer para producir ciertos cambios y alcanzar la meta, para actuar en el ambiente, el desempeño del agente serán influenciados por su conocimiento causal en el cual el agente deberá conocer no sólo los resultados de una acción sino también sus consecuencias. El agente puede también re(actuar) en modo reflexivo (a través de acciones reactivas) para estimular aquellas acciones que lo llevarán a la consecución de la meta. Las reglas causales reflejan la dirección que se asume de casualidad en el mundo: algunas propiedades ocultas del mundo causan que se generen ciertas percepciones.

3.3.2.- Conocimiento de diagnóstico. Reglas de diagnóstico Las reglas de diagnóstico nos llevan de los efectos observados a sus causas ocultas. Mientras que para la detección de fallos es suficiente conocer las condiciones de funcionamiento normal, para el diagnóstico a menudo es necesario un conocimiento más profundo del proceso, incluyendo su operación en fallo. Muchas de las aplicaciones actuales de detección y diagnóstico de fallos van asociadas a resultados de investigación y son soluciones a medida. La tendencia es desarrollar sistemas integrados que incluyen y combinan diversas técnicas. El problema principal al que se encuentran las técnicas de detección y diagnóstico de fallos es la complejidad creciente de los procesos actuales debido a no linealidades, sistemas cambiantes, múltiples interacciones y acoplamientos, distribución de tareas, etc. [20]. Los sistemas que razonan con reglas causales se denominan razonamiento basado en modelos, porque las reglas causales forman un modelo de cómo se comporta el entorno. La diferencia entre el razonamiento basado en modelos y el de diagnóstico es muy importante en muchas áreas de la Inteligencia Artificial. El diagnóstico médico en concreto

Page 77: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________77

ha sido un área de investigación muy activa, en la que los enfoques basados en asociaciones directas entre los síntomas y las enfermedades (un enfoque de diagnóstico) han sido reemplazados gradualmente por enfoques que utilizan un modelo explícito del proceso de la enfermedad y de cómo se manifiesta en los síntomas [1].

3.4.- Arquitectura de un sistema de Producción (SP) (ó Sistemas Basados en Reglas, SBR). Sistemas de producción

Un sistema de producción proporciona una estructura que facilita la descripción y la ejecución de un proceso de búsqueda. Un sistema de producción consiste de:

• Un conjunto de facilidades para la definición de reglas. • Mecanismos para acceder a una o más bases de conocimientos y datos. • Una estrategia de control que especifica el orden en el que las reglas son

procesadas, y la forma de resolver los conflictos que pueden aparecer cuando varias reglas coinciden simultáneamente.

• Un mecanismo que se encarga de ir aplicando las reglas.

Dentro de esta definición general de sistema de producción, se incluyen:

• Lenguajes básicos para sistemas de producción (LISP, CLIPS, PROLOG). También se los conoce como lenguajes de Inteligencia Artificial.

• Sistemas híbridos y sistemas vacíos (shells) para producción de sistemas basados en conocimientos (VP-Expert, Expert Teach, Personal Consultant, Intelligence Compiler, EXSYS).

• Arquitecturas generales para resolución de problemas (máquinas LISP, máquinas PROLOG).

Características de los Sistemas de Producción

Un sistema de producción, al igual que los problemas, puede ser descrito por un conjunto de características que permiten visualizar la mejor forma en que puede ser implementado.

Un sistema de producción se dice que es monotónico si la aplicación de una regla nunca evita que más tarde se pueda aplicar otra regla que también pudo ser aplicada al momento en que la primera fue seleccionada.

Un sistema de producción es parcialmente conmutativo si existe un conjunto de reglas que al aplicarse en una secuencia particular transforma un estado A en otro B, y si con la aplicación de cualquier permutación posible de dichas reglas se puede lograr el mismo resultado [14].

Page 78: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________78

Un sistema de producción es conmutativo, si es monotónico y parcialmente conmutativo. Así como se muestra en la figura 15.

SISTEMA DE PRODUCCIÓN MONOTÓNICO NO-MONOTÓNICO

PARCIALMENTE CONMUTATIVO Demostración de Teoremas

Navegación Robótica

PARCIALMENTE NO CONMUTATIVO Síntesis Química Juego de Ajedrez

Figura 15. Características de los sistemas de producción.

Los sistemas basados en reglas trabajan mediante la aplicación de reglas, comparación de resultados y aplicación de las nuevas reglas basadas en situación modificada. También pueden trabajar por inferencia lógica dirigida, bien empezando con una evidencia inicial en una determinada situación y dirigiéndose hacia la obtención de una solución, o bien con hipótesis sobre las posibles soluciones y volviendo hacia atrás para encontrar una evidencia existente (o una deducción de una evidencia existente) que apoye una hipótesis en particular.

Los sistemas de producción basados en reglas son un método popular para implantar sistemas expertos.

Los sistemas basados en reglas son los más comúnmente utilizados. Su simplicidad y similitud con el razonamiento humano, han contribuido para su popularidad en diferentes dominios. Las reglas son un importante paradigma de representación del conocimiento.

Las reglas representan el conocimiento utilizando un formato SI-ENTONCES (IF-THEN), es decir tienen 2 partes:

• La parte SI (IF), es el antecedente, premisa, condición o situación; y • La parte ENTONCES (THEN), es el consecuente, conclusión, acción o respuesta.

Las reglas pueden ser utilizadas para expresar un amplio rango de asociaciones [15].

Por ejemplo:

SI está manejando un vehículo Y se aproxima una ambulancia, ENTONCES baje la velocidad Y hágase a un lado para permitir el paso de la ambulancia.

SI su temperatura corporal es de 39 ºC,

ENTONCES tiene fiebre.

Page 79: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________79

SI el drenaje del lavabo está tapado Y la llave de agua está abierta, ENTONCES se puede inundar el piso.

Arquitectura de los sistemas basados en conocimiento La arquitectura de un sistema basado en conocimiento de alguna manera refleja la estructura cognitiva y los procesos humanos. La primera parte es la memoria de largo plazo, en la que guarda los hechos (Base de Hechos) y los conocimientos (Base de Conocimientos) acerca del dominio en el que tiene experiencia. Se muestra a continuación en la figura 16.

Figura 16. Estructura de un sistema basado en conocimiento.

La segunda parte es el sistema que realiza la función de razonamiento para resolver problemas (Motor de Inferencia). Finalmente, la tercera parte la conforman las unidades de entrada y salida que permiten la comunicación entre el sistema y su entorno.

Desventajas de los sistemas de producción Existen algunos problemas en los sistemas basados en reglas. Estos problemas caen dentro de una de las siguientes categorías: encadenamiento infinito; incorporación de conocimiento nuevo contradictorio, y; modificación de reglas existentes. Desventajas adicionales pueden ser: ineficiencia (necesidad de modularizar o de introducir meta-reglas), opacidad (dificultad de establecer relaciones), adaptación al dominio (rápido crecimiento del número de reglas).

Page 80: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________80

El conocimiento acerca de las reglas de producción se denomina META-REGLA. Las meta-reglas facilitan y aceleran la búsqueda de soluciones. Ventajas de los Sistemas de Producción A pesar de las desventajas anotadas, los sistemas basados en reglas han permanecido como los esquemas más comúnmente utilizados para la representación del conocimiento. Como ventajas significativas se pueden mencionar las siguientes: modularidad, uniformidad y naturalidad para expresar el conocimiento. Conclusión Hemos visto como podemos representar un problema que consta de estados y transiciones entre estados por medio de hechos y de reglas, es decir, por medio de un sistema de producción. Para representar un problema de este tipo en un sistema de producción, hay que especificar:

• La representación de los estados del problema. • El estado inicial (hechos iniciales). • Las transiciones entre estados (las reglas que representan las transiciones entre

estados). • El estado final (regla que detecta cuando se ha alcanzado una solución).

El sistema de producción funciona en ciclos sucesivos, que se ejecutan hasta que no haya más reglas activas. Un ciclo consta de:

• Determinar que reglas están activas (equiparando sus partes izquierdas con la base de hechos). Las reglas activas constituyen la agenda.

• Determinar que regla se debe disparar en ese ciclo (por medio de la estrategia de control, que puede ser tan simple como elegir la regla que tenga prioridad máxima).

• Disparar la regla elegida ejecutando su parte derecha. Esto normalmente cambiará la base de hechos (borrando hechos, añadiendo hechos o modificando hechos).

Una misma regla puede equiparar con varias instancias de la memoria de trabajo, por lo que lo que hay en la agenda no son exactamente las reglas activas, sino parejas (regla, hecho(s) que equipara(n) con esa regla), aunque por resumir se habla de reglas solamente. Dicho de otra manera, los componentes básicos de un sistema de producción son:

• Base de hechos (o memoria de trabajo). • Base de reglas. • Estrategia de control.

Page 81: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________81

Por último, un sistema de producción con una estrategia de control determinista, puede no encontrar la solución al problema representado con ese sistema. Eso es debido a que la estrategia de control se haya equivocado al elegir una regla en lugar de otra en algún momento. La única manera de solucionar ese problema es utilizar búsqueda en el espacio de estados [16]. Según el tipo de problema a resolver, los ámbitos de aplicación en los que más se han utilizado los sistemas basados en el conocimiento son los siguientes:

• Sistemas de ayuda a la toma de decisiones. Se trata de sistemas que a partir de una problemática determinada sugieren la solución que consideran más idónea a partir del conocimiento incluido en el sistema.

• Configuración. Se encargan de la selección y planificación de los componentes que se necesitan en un proceso determinado. Un caso típico son los sistemas que ayudan a configurar los equipos físicos a partir de los componentes existentes y de las restricciones establecidas.

• Diagnóstico. Se trata de sistemas que a partir de unos "síntomas" determinan las causas que lo producen. Ejemplo de ellos son los sistemas basados en el conocimiento de diagnóstico de enfermedades o de averías.

• Interpretación y Análisis. Sirven para tratar grandes volúmenes de información, interpretarla, dar un informe explicativo y sugerir las acciones a tomar. Ejemplo de ellos pueden ser los sistemas de evaluación de resistencia de estructuras frente a terremotos o sistemas de supervisión de procesos industriales.

• Monitorización. En algunas situaciones se considera un caso particular de sistemas de interpretación y análisis, pero debido a su frecuente uso se suelen considerar aparte. Estos sistemas suelen encargarse de monitorizar procesos suministrando una salida de control como respuesta. Existen muchos ejemplos de monitorización de procesos en fábricas, plantas químicas, centrales nucleares, etc. Son sistemas que deben funcionar en tiempo real.

• Planificación. Son sistemas que establecen las etapas y recursos necesarios para alcanzar un determinado objetivo. Ejemplo de ellos podría ser un sistema basado en el conocimiento de planificación de trabajos en una fábrica.

• Interfaces inteligentes. Hacen de puente entre las personas y equipos complejos y de difícil utilización. Caso típico son los interfaces inteligentes de acceso a base de datos.

• Diseño. Son aquéllos que efectúan la planificación o trazado de un objeto o sistema en base a los requisitos especificados. Suelen ser capaces de dar diferentes soluciones de forma que el usuario pueda elegir aquella que le convenga. Ejemplo de este tipo son los sistemas de ayuda al diseño de puentes, presas, microcircuitos electrónicos, etc.

A modo de resumen y sin ser exhaustivos, pues el ámbito de aplicación de los sistemas basados en el conocimiento es muy amplio, el siguiente cuadro indica algunas de las áreas en las que se han aplicado sistemas basados en el conocimiento y el tipo de problema que abordan:

Page 82: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________82

DOMINIO PROBLEMAS Ámbito Administrativo:

- Reglamentación. - Aligerar el tiempo de procedimientos. - Derecho interpretado. - Disminución de costos de tramitación. - Procesos. - Homogeneidad de las interpretaciones legales. - Procedimientos. - Disponibilidad de la información.

Gestión: - Ejecutivos. - Manejo de un volumen creciente de información.

- Gestores. - Acceso a expertos o consultores para la resolución de un problema determinado.

- Planificación estratégica. - Reducción de la complejidad organizativa. - Dirección. - Consultores.

Operaciones:

- Operación de maquinaria. - Mejora de la coordinación de la organización, programación y gestión complejas.

- Controles de calidad. - Vigilancia de sistemas complejos para poder tomardecisiones rápidamente.

- Controles de inventario. - Previsión de resultados de procesos complejos y dinámicos.

- Control de maquinaria Servicios de Apoyo:

- Relaciones Públicas. - Comunicación de procedimientos nuevos y complejos. - Entrenamiento de personal. - Examen y explicación de las decisiones tomadas.

- Servicios de proceso de datos. - Control y reducción de los costes de desarrollo y mantenimiento de sistemas informáticos.

- Mantenimiento y construcción. - Entrenamiento de operarios en tareas complejas. - Investigación y desarrollo. - Problemas legales.

Finanzas:

- Gestores de cartera. - Necesidad de disponer de herramientas inteligentes para la planificación.

- Contabilidad financiera. - Vigilancias de sistemas complejos existentes. - Gestores financieros. - Auditoria. - Control.

Mercadotecnia:

- Ventas. - Necesidad de asistencia experta para examinar cuestiones mercadotécnicas.

- Publicidad. - Necesidad de programas de servicio de clientes, asistencia y control.

- Investigación mercado- técnica.

Page 83: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________83

- Gestión de pedidos. Automatización del Trabajo de

Oficina:

- Proceso de textos. - Necesidad de incremento en el manejo, comunicación, recuperación y distribución de información.

- Gestión de bases de datos. Servicios Profesionales:

- Consultoría de gestión. - Acceso a la información de otros consultores o expertos.

- Abogacía. - Realización de informes. - Medicina. - Modelización y simulación. - Contabilidad. - Control de un volumen creciente de información.

3.4.1.- Hechos. Base de hechos: predicados que describen el problema concreto [17]. Llamada también workspace. Contiene los hechos que se descubren acerca de un problema durante una consulta. “Parte de un sistema experto que contiene los hechos del problema que se descubren durante la sesión” [4]. Los hechos que el sistema reciba del usuario y los que vaya infiriendo se almacenan en la memoria de trabajo y pueden ser hechos, hipótesis, conclusiones parciales, etc.; es decir lo que infiera “emparejando” los datos proporcionados con la base de conocimiento. También es necesario mencionar que los hechos de la memoria de trabajo también los puede obtener de fuentes externas como base de datos, hojas de cálculo, etc.; que los puede cargar al inicio de la sesión u obtenerlos de acuerdo a su necesidad. Hechos: terminología Los hechos constituyen los datos del problema en forma de:

• Base de hechos (BH). • Memoria de trabajo. • Memoria a corto plazo. • Aserciones.

Ejemplos:

X es un gato. X es un animal doméstico.

Page 84: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________84

3.4.2.- Base de conocimientos. Base de conocimiento (o de reglas): reglas que describen los mecanismos de razonamiento que permiten resolver problemas [17]. Reglas: • Si • Entonces

- Condiciones - Acciones - Antecedentes - Consecuentes - Premisas - Conclusiones

Las reglas modelan el conocimiento general del dominio y constituyen:

• Base de conocimiento (BC). • Memoria a largo plazo. • Implicaciones.

Ejemplo:

Si X es un gato entonces X es un animal doméstico. Contiene el conocimiento del dominio en el cual el programa es competente. Durkin lo define como: “Parte de un sistema experto que contiene el dominio del conocimiento” [4]. El tema primordial para este componente es obtener el conocimiento del experto y codificarlo en la base de conocimientos usando diferentes técnicas de representación del conocimiento. Una de las más usadas es representar el conocimiento en forma de reglas. Una regla es una estructura de tipo IF/THEN (SI/ENTONCES) en donde existe una premisa o antecedente y una conclusión o acción. Por ejemplo: REGLA 1: IF el automóvil no enciende

THEN el problema puede estar en el sistema eléctrico. REGLA 2: IF el sueldo mensual de un cliente es menor o igual que 1,000

THEN el tope de crédito es de 3,500.

REGLA 3: SI su temperatura corporal es de 39 ºC

ENTONCES tiene fiebre.

Page 85: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________85

De las reglas mostradas podemos identificar que la base de conocimientos esta integrada por conceptos, hechos o variables que varían de estados (valores) y que relacionadas conforman las reglas. Por ejemplo: En la regla 1 tenemos dos hechos y dos valores:

automóvil =enciende; automóvil = no enciende y problema es = el sistema eléctrico o pueden existir otros valores.

El conocimiento tiene que estar representado en la forma que resulte más adecuada para el dominio de su competencia. Adicionalmente hay que tratar que esa representación sea:

• Sencilla. • Independiente. • Fácil de modificar. • Transparente: justificación de soluciones y explicación de los procesos. • Relacional. • Potente: poder expresivo y eficiencia de cálculo.

La parte fundamental de todo sistema es la base de conocimientos y su función consiste en almacenar los conocimientos expresados en conceptos, hechos, relaciones, etc. relativos al área del sistema y por lo tanto, depende del modelo de representación del conocimiento que se utilice. Entre los modelos mas conocidos de representación del conocimiento tenemos:

• Representación basada en Reglas de Producción. • Representación basada en Lógica de Predicados. • Representación basada en Redes Semánticas. • Representación basada en Frames o Marcos. • Representación basada en Restricciones.

3.4.3.- Mecanismo de control. Motor de inferencia [17]. El motor de inferencia o mecanismo de control está compuesto de dos elementos:

• Interprete de reglas o mecanismo de inferencia. Mecanismo de razonamiento que determina que reglas de la BC (base de conocimiento) se pueden aplicar para resolver el problema.

• Estrategia de control o estrategia de resolución de conflictos.

Page 86: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________86

Función:

• Ejecutar acciones para resolver el problema (objetivo) a partir de un conjunto inicial de hechos y eventualmente a través de una interacción con el usuario.

• La ejecución puede llevar a la deducción de nuevos hechos. También conocido como estructura de control o interpretador de reglas. Durkin lo define como: “Es el procesador en un sistema experto que empareja los hechos contenidos en la memoria de trabajo con el dominio del conocimiento contenido en la base de conocimiento, para deducir o llegar a la conclusión sobre el problema” [4]. Selecciona, decide, interpreta y aplica el conocimiento de la base de conocimientos sobre la base de hechos con el fin de obtener la solución buscada. El motor de inferencia busca un emparejamiento entre los hechos contenidos en la memoria de trabajo y las premisas de las reglas contenidas en la base de conocimiento (cuando se utiliza las reglas como forma para la representación del conocimiento). Cuando encuentra el emparejamiento, agrega la(s) conclusión de las reglas a la memoria de trabajo y continúa examinando las reglas buscando nuevos emparejamientos. El mecanismo de inferencia debe ser independiente del conocimiento y de los hechos. Está caracterizado por:

• El lenguaje en que ha sido escrito. • La velocidad de trabajo: Inferencias/segundo. • Las estrategias de búsqueda de soluciones:

- No Ordenada: aleatoria, heurística. - Ordenada: Encadenamiento hacia adelante (guiado por los datos,

deductivo), encadenamiento hacia atrás (guiado por los objetivos, inductivo).

• La forma en que elige el conocimiento. • La posibilidad de incorporar metaconocimiento. • El método que utiliza para la evaluación del conocimiento incompleto o incierto.

Fases del ciclo básico del motor de inferencia: 1. Detección (filtro): Reglas pertinentes. Obtención, de la base de conocimiento, del conjunto de reglas aplicables a una situación determinada (estado) de la base de hechos; formación del conjunto de conflictos (interprete de reglas).

• Construcción del conjunto de reglas aplicables. • El intérprete de reglas realiza los cálculos necesarios para obtener las

instanciaciones que son posibles en cada estado de resolución del problema (comparación o matching).

Page 87: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________87

• Una regla puede instanciarse más de una vez, caso de existir variables que lo permitan.

2. Selección: ¿Qué regla? Resolución de conflictos: selección de la regla a aplicar (estrategia de control).

• Las reglas son o no aplicadas dependiendo de la estrategia de control: – Estrategia fija. – Estrategia dinámica prefijada. – Estrategia guiada por meta-reglas.

• Selección de la “mejor” instanciación. • Ejemplos de estrategia de control:

– 1ª regla por orden en la base de conocimiento. – La regla más/menos utilizada. – La regla más específica (con más literales) / más general. – La regla que tenga el grado de certeza más alto. – La instanciación que satisfaga los hechos:

o Más prioritarios. o Más antiguos (instanciación más antigua). o Más nuevos (instanciación más reciente).

– Aplicación de todas las reglas (sólo si se quieren todas las soluciones posibles). – La regla usada más recientemente. – Meta-reglas, que indican dinámicamente como seleccionar las reglas a aplicar.

• Posible combinación de criterios. 3. Aplicación. Aplicación de la regla sobre una instanciación de las variables: modificación de la memoria de trabajo.

• Ejecución de la regla => – Modificación de la base de hechos (en el razonamiento hacia delante). – Nuevos cálculos, nuevas acciones, preguntas al usuario. – Nuevos sub-objetivos (en el razonamiento hacia atrás).

• Propagación de las instanciaciones. • Propagación del grado de certeza.

El proceso de deducción acaba cuando:

• se encuentra la conclusión (el objetivo) buscado => éxito • no queda ninguna regla aplicable => éxito? / fracaso?

Page 88: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________88

4. Vuelta al punto 1, o parada si el problema está resuelto. Si no se ha encontrado una solución y no hay reglas aplicables: fracaso [18].

3.5.- Ciclo de vida de un sistema de Producción. La solución es esencialmente la misma que hubiera dado un ser humano confrontado con un problema idéntico, aunque no necesariamente el proceso seguido por ambos puede ser igual. Ciclo de vida 1. Análisis del Problema: Evaluar el problema y los recursos disponibles para determinar la aplicabilidad de una solución basada en conocimiento. Se debe realizar un análisis costo-beneficio del sistema basado en conocimiento (SBC) propuesto para saber si su desarrollo puede ser garantizado. 2. Especificación de Requerimientos: Formalizar y poner por escrito lo que fue adquirido durante la fase de análisis. Esto permite determinar los objetivos del proyecto, de una manera inequívoca y establece los medios para obtener dichos objetivos. 3. Diseño Preliminar: Esta etapa considera únicamente las decisiones de alto nivel necesarias para preparar y desarrollar rápidamente el prototipo inicial. Específicamente, esta etapa determina el paradigma de representación del conocimiento, la herramienta escogida para construir el prototipo, y la selección de los expertos. 4. Prototipo Inicial y Evaluación: Esta es una etapa clave debido a que todas las decisiones tomadas en el diseño preliminar deben ser ya sea confirmadas, rectificadas o desechadas, sobre la base del conocimiento recopilado de los expertos en el proceso hasta completar esta etapa. 5. Diseño Final: Comprende la selección de las herramientas y de los recursos necesarios para desarrollar el sistema a ser entregado. En muchos casos puede ser aplicable y muy útil realizar una descripción gráfica de los diferentes módulos del sistema, empleando las herramientas CASE9 propias de los sistemas de software convencionales.

9 CASE. Las Herramientas CASE (Computer Aided Software Engineering, Ingeniería de Software Asistida por Ordenador) son diversas aplicaciones informáticas destinadas a aumentar la productividad en el desarrollo de software reduciendo el coste de las mismas en términos de tiempo y de dinero. Estas herramientas nos pueden ayudar en todos los aspectos del ciclo de vida de desarrollo del software en tareas como el proceso de realizar un diseño del proyecto, calculo de costes, implementación de parte del código automáticamente con el diseño dado, compilación automática, documentación o detección de errores entre otras.

Page 89: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________89

6. Implementación: Comprende el proceso completo de adquisición del conocimiento para todos los módulos o subsistemas. Es en esta etapa que tiene lugar el desarrollo incremental. 7. Pruebas: El asegurar la calidad de un SBC es una tarea muy importante que debe ser cuidadosamente planificada, especialmente a medida que el SBC es más grande y complejo, o es de aplicación crítica. El plan de pruebas, es bastante similar al que se prepara para un sistema convencional, basándose en la validación y la verificación. 8. Ajustes al Diseño: A medida que el trabajo avanza y los ingenieros cognoscitivos tienen a la vista los problemas detectados, deben realizar los ajustes necesarios al inicio de cada iteración. Si estos ajustes cada vez son relativamente más pequeños y no son retroactivos, se tiene una buena medida de que se está progresando. Pero si ocurre lo contrario, puede representar un serio retardo al proyecto y posiblemente requerir un cambio de paradigma. 9. Instalación, Implantación y Mantenimiento: En la etapa final del ciclo de vida de un SBC se traslada el sistema desarrollado, como un producto operativo hacia el entorno de los usuarios. Para ello, se deben realizar varias actividades de instalación, implantación y mantenimiento similares a las de un sistema de software convencional [19].

Page 90: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________90

Figura 17. Ciclo de vida de un Sistema de Producción

Figura 17. Ciclo de vida de un Sistema de Producción

Análisis del Problema

Especificaciónde

Requerimientos

DiseñoPreliminar

Prototipo Inicial y

Evaluación

Diseño Final

Implementación

Pruebas

Ajustes al Diseño

Instalación, Implantación

y Mantenimiento

Análisis del Problema

Especificaciónde

Requerimientos

DiseñoPreliminar

Prototipo Inicial y

Evaluación

Diseño Final

Implementación

Pruebas

Ajustes al Diseño

Instalación, Implantación

y Mantenimiento

Page 91: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________91

Cuestionario de evaluación. Selecciona la respuesta correcta o las respuestas correctas. 1.- Uno de los resultados más significativos demostrados por Newell y Simon fue que gran parte de la solución humana de problemas o cognición puede expresarse con: a) Reglas de producción. b) Reglas de situación-acción. c) Reglas de si-entonces. 2.- Enlaza las causas con los efectos de forma comprensible como si fuera un teorema lógico, refleja la dirección que se asume de casualidad en el mundo. a) Relación causal. b) Reglas de diagnóstico. c) Reglas de producción. 3.- Programa de computación inteligente que usa el conocimiento y los procedimientos de inferencia para resolver problemas que son lo suficientemente difíciles como para requerir significativa experiencia humana para su solución. a) Sistema experto. b) Sistema basado en conocimiento. c) Redes neuronales artificiales. 4.- Componentes básicos de un sistema basado en conocimiento. a) Base de conocimientos, base de hechos, programas externos. b) Subsistema de explicación, motor de inferencias, módulo de aprendizaje. c) Base de conocimientos, motor de inferencia, interfase. 5.- Se encarga de recorrer las reglas inspeccionando si las puede aplicar, es decir, se encarga de ejecutar el razonamiento. a) Base de hechos. b) Base de conocimiento. c) Motor de inferencia. 6.- Es el conjunto de evidencias, junto con sus certezas asociadas como una variable medida o una posible alarma o conclusión de una o varias reglas. a) Base de hechos. b) Interfaz del usuario. c) Mecanismo de inferencia. RESPUESTAS 1.- Opción a, b, c 2.- Opción a 3.- Opción a, b 4.- Opción c 5.- Opción c 6.- Opción a

Page 92: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________92

UNIDAD 4

BÚSQUEDA Y SATISFACCIÓN DE RESTRICCIONES

Page 93: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________93

UNIDAD 4

BÚSQUEDA Y SATISFACCIÓN DE RESTRICCIONES

4.1.- Problemas y espacios de estados. La definición del problema La Inteligencia Artificial ha tenido siempre como objetivo, a más o menos largo plazo, la resolución de problemas. La utilización de procedimientos de búsqueda, primero más directos y luego con técnicas heurísticas más sofisticadas, ha sido uno de los principales campos de esta ciencia [5]. De hecho, la resolución mediante búsqueda ha sido una de las primeras aplicaciones de la Inteligencia Artificial a problemas reales, no “de juguete”, como se le achacó en sus inicios. La orientación de la Inteligencia Artificial siempre fue más hacia un mejor conocimiento de “cómo” resolver los problemas, y no tanto a la consecución del resultado final. Por eso los ejemplos iniciales sobre los que desarrollaron las estrategias de la Inteligencia Artificial fueron problemas simples como puzzles, juegos, apilar bloques, etc., ejemplos ya clásicos que han servido de banco de pruebas. Sin embargo, aunque pudieran parecer realmente procesos simples, ¿cómo definir un problema con la suficiente precisión y cómo representarlo para que una máquina pueda resolverlo? En muchos casos no existe realmente un conocimiento sistemático del problema de forma que se pueda plantear una solución analítica del mismo mediante un sistema de ecuaciones, por ejemplo. En estas circunstancias, los procedimientos de búsqueda sí se pueden aplicar para resolverlos y se han demostrado muy eficientes para abordar este tipo de tareas. En general, el planteamiento de un problema de búsqueda consiste en encontrar o conseguir un objetivo. La resolución del mismo puede estructurarse en los siguientes pasos:

1. Determinar una serie de objetivos o metas que se desean alcanzar. Estos objetivos pueden ser múltiples (restricciones de tiempo, de costo, etc.) o simples (alcanzar un estado final).

2. Disponer de un conjunto de acciones que conduzcan a la obtención de los

objetivos o metas. Estas acciones son denominadas operaciones.

3. Definir un procedimiento de selección entre las diferentes formas de alcanzar las metas. Cada una de estas soluciones constituye una secuencia de acciones determinada y posible. Se suele llamar solucionador al módulo encargado de construir dicha solución.

Page 94: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________94

No hay que perder de vista, aunque los métodos de búsqueda se reduzcan en muchos casos a meros algoritmos matemáticos, que lo que se persigue desde el punto de vista de la Inteligencia Artificial es entender el problema que se trata de resolver, analizar sus posibles soluciones y las consecuencias de buscar una solución por un camino u otro. No se trata tanto de encontrar una solución final óptima o al menos convincente como de haber ganado en el conocimiento de un problema que se puede aplicar a una situación real. Aunque hoy día tal y como están implementados los métodos de búsqueda no reflejen la forma en la que los seres humanos resolvemos los problemas, no dejan de ser estrategias muy eficientes y probadas, y siempre han tenido su lugar dentro de la Inteligencia Artificial. Espacio de estados Cuando alguien se plantea resolver un problema, ya sea por ejemplo un juego simple como el “tres en raya” o alguno más complejo, como el ajedrez o el backgammon, tenemos al menos mentalmente una representación del espacio en el que se va a desarrollar el mismo, es decir una imagen gráfica o un mapa del terreno, del tablero, en el que va tener lugar la estrategia de solución. Para su resolución computacional, el primer paso es buscar una estructura de datos que capture lo esencial de ese juego o problema, que refleje con propiedad la distribución de los elementos en un espacio de situaciones o posiciones posibles. Se denomina espacio inicial aquel del que partimos, y que refleja la estructura que subyace en el problema. Por ejemplo, para el juego del “tres en raya” sería una matriz cuadrada de 3x3 posiciones, inicialmente vacías (Véase anexo Tres en Raya). Desde cualquier estado se pueden ampliar una serie de operadores que modifican el estado actual para llevar al sistema a un nuevo estado. Por ejemplo, cuando un jugador coloca una ficha en el tablero. En nuestra representación computacional, esto sería equivalente a rellenar una celda de la matriz con X(1) o O(0) según el jugador que haya movido la pieza. En esta representación al aplicar los operadores a un determinado estado producen un único nuevo estado. La combinación del espacio inicial y los operadores forma el espacio de estados o espacio de representación. Es decir, es el entorno donde se desarrolla el proceso de búsqueda, y lo componen todos los estados por los que se avanza y que se van recorriendo en la tarea de llegar a la meta. Cada uno de los estados recorridos es una situación candidata a ser solución. La secuencia de estados que resulta de la aplicación válida de operadores a partir del estado inicial se denomina traza en el espacio de estados. Esta secuencia de operaciones nos permite ir avanzando en nuestro espacio de estados a situaciones válidas que nos van acercando al objetivo final. La estrategia de control es la encargada de optimizar el proceso de búsqueda, determinando los operadores aplicables y utilizando información del dominio cuando ésta sea conocida.

Page 95: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________95

Por contraposición se podría hablar de los espacios de reducción, donde al aplicar un operador se generan una serie de subproblemas, cada uno de los cuales será en general más sencillos que el original (de ahí el término reducción que lo describe). Se aplica el conocido principio de “divide y vencerás”, para llegar a problemas de menor dimensión que tengan solución conocida. Algo importante a implementar en los problemas de búsqueda es el criterio para detectar cuándo se ha llegado a la consecución del objetivo propuesto. En nuestro juego se trataría de identificar sobre el tablero si alguna fila, columna o diagonal está formada por todo Xs o Os. En este caso la prueba final es sencilla, pero la definición del criterio la consecución del objetivo final puede ser en sí misma un problema importante [8]. En muchos problemas de búsqueda el interés se centra no sólo en conseguir un estado final, sino en alcanzarlo en el mínimo tiempo posible, o minimizando otro tipo de costo (en definitiva, maximizando un beneficio). En estos casos se puede asociar un costo o peso a los operadores que se aplican y también a las transiciones de un estado a otro. Esta traza del costo o función de costo se denota habitualmente con la letra g. Permite comparar distintos algoritmos de resolución tanto por la solución obtenida como por la cantidad de la misma en términos de costo asociado. En algunos problemas como el del ejemplo del juego de “tres en raya”, el espacio de búsqueda es limitado, porque también lo está el espacio de estados posibles y de soluciones. Pero en muchos problemas del mundo real el espacio de búsqueda no está acotado, e incluso puede alcanzar dimensiones muy grandes que exijan algoritmos que puedan escalarse para tratar espacios muy extensos. Hay otros aspectos sobre el funcionamiento de los algoritmos de búsqueda que se pueden tener en cuenta. Por ejemplo:

• Un algoritmo es óptimo si encuentra la mejor solución entre todas las posibles. • Una estrategia es completa si garantiza que encontrará una solución siempre y

cuando ésta exista. La eficiencia de un algoritmo en términos de complejidad temporal (cuánto tiempo requiere para alcanzar la solución) o en términos de complejidad espacial (memoria que necesita) son consideraciones prácticas de gran importancia. Un algoritmo óptimo que garantiza encontrar la mejor solución tendrá poco valor práctico si tarda horas en completarse, cuando a lo mejor sólo contamos con unos minutos para tomar una decisión. De forma similar, un algoritmo completo que utilice mucha memoria es inútil si antes de encontrar la solución a un problema se queda sin memoria. Representación en el espacio de estados Para aplicar las estrategias de búsqueda a problemas en el espacio de estados se suele trabajar con una representación de la información mediante grafos.

Page 96: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________96

Un grafo representa el conjunto de mundos, escenarios o situaciones que se pueden generar mediante los operadores u acciones. Se denomina por lo tanto grafo de estados ya que indica el recorrido del proceso de búsqueda que va moviéndose de un estado a otro, en la consecución del objetivo final. Un grafo por lo tanto es un conjunto de nodos (estados) y arcos que unen esos nodos figura 18. El recorrido entre dos nodos consecutivos a través de un arco define un camino. Dentro del espacio de estados en un problema de búsqueda, cada nodo representa un elemento que equivale a una situación válida (nodo y estado son sinónimos en este contexto). El nodo Terminal que satisface las condiciones del objetivo, es decir, la función de costo es la meta. Este camino puede ser cerrado si el último nodo coincide con el primero y abierto si no coinciden. Si entre dos nodos existe al menos un camino, es un grafo conexo, y si no contiene ciclos, es acíclico.

Figura 18. Ejemplo de un grafo. Los grafos pueden ser dirigidos, cuando la secuencia entre dos nodos (P, Q) se considera diferente de la que recorre los nodos en el orden (Q, P); en este caso el origen es el nodo predecesor o padre, y el destino el sucesor o nodo hijo; o pueden ser no dirigidos, en el caso contrario. Expandir un nodo es obtener todos sus posibles sucesores en el grafo de búsqueda a través de la aplicación de todos los operadores disponibles relacionados. Un nodo o estado es “cerrado” si ya ha sido expandido, y esta “abierto” si todavía queda por aplicar algún operador. A estos últimos también se les denomina margen o frontera.

H

B C

JG F

A

D E

LK

Nodos Arcos

Page 97: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________97

En general un problema de búsqueda se representa por un árbol, que es un grafo dirigido acíclico conexo. El obtener el árbol de búsqueda es la tarea prioritaria en todo problema de búsqueda o de decisión ya que en definitiva la resolución del problema es un recorrido a través del mismo. Por eso es crucial que represente toda la información disponible con las dependencias y relaciones que existan. Aplicando esta representación al juego de “tres en raya”, cada nodo es un estado o valor de la matriz; cada arco apunta la operación que lleva de un valor de la matriz a otro, por ejemplo, cuando el jugador X mueve un 1 de una celda a otra celda válida. Los nodos terminales son aquellos que dan una configuración ganadora. Otro ejemplo sería la representación arbórea de un laberinto, donde cada nodo sería una bifurcación, salida o pared al final de un camino, y cada arco un camino. El problema consiste en encontrar el camino más corto a una salida, nodo final. Problemas de la vida real que se pueden plantear y resolver como espacios de estados [21]:

• Búsqueda de rutas en redes informáticas. • Rutas aéreas para viajar. • Problema del viajante. • Diseño de microchips. • Ensamblaje de componentes. • Desplazamiento de robots.

Ejemplos de espacios de estado Como un simple ejemplo de espacios de estado, consideremos la compra de una bebida gaseosa en una máquina expendedora: cuando se depositan monedas en la máquina, ésta hace una transición de un estado a otro [2]. En la siguiente figura 19 se ilustra el espacio de estado, suponiendo que sólo están disponibles monedas de 25 y de 5 centavos, y que se requieren 55 centavos para obtener una bebida. Si consideramos monedas de otras denominaciones, como de 10 y 50 centavos, se complica más la gráfica y no se muestra aquí.

Page 98: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________98

Figura 19. Gráfica de estado para una máquina expendedora de bebidas gaseosas que acepta

monedas de 25 y 5 centavos.

Los estados de inicio y éxito se dibujan como círculos dobles para facilitar su identificación. Los estados se muestran como círculos y las transiciones posibles a otros estados se muestran como flechas. Observe que esta gráfica es una gráfica con pesos, donde éstos son las monedas que pueden entrar a la máquina en cada estado. A esta gráfica también se le llama gráfica de máquina de estado finito, porque describe el número finito de estados de una máquina. El término máquina se usa en un sentido muy general, puede ser un objeto real, un algoritmo, un concepto, etc. Asociadas con cada estado hay acciones que la conducen a otro. En cualquier momento, la máquina puede estar en un solo estado. A medida que acepta la entrada a un estado, pasa de ese estado a otro. Si se dan las entradas correctas, pasará del inicio al éxito o estado final. Si un estado no está diseñado para aceptar cierta entrada, la máquina se detendrá en él. Por ejemplo, la máquina de bebidas gaseosas no tiene la capacidad de aceptar monedas de diez centavos, si alguien pone una de estas monedas en la máquina, la respuesta no está definida. Un buen diseño incluirá la posibilidad de entradas no válidas para cada estado y proporcionará transiciones a un estado de error. Este es diseñado para proporcionar mensajes de error apropiados y llevar a cabo cualquier acción necesaria.

5

10

15

20

25

30

35

40

45

50

Éxito

Inicio

5

5

25

25

25

25

25

5

5

5

5

5

5

5

5

25,5 25

25

25

25

255

10

15

20

25

30

35

40

45

50

Éxito

Inicio

5

5

25

25

25

25

25

5

5

5

5

5

5

5

5

25,5 25

25

25

25

25

Page 99: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________99

Otro ejemplo de espacio de problema sucede en el problema clásico del mono y los plátanos que se muestra en la siguiente figura 20. El problema consiste en dar instrucciones a un mono para decirle cómo alcanzar algunos plátanos que cuelgan del techo. Como los frutos están fuera de su alcance, pero dentro del cuarto hay un sofá y una escalera. La configuración inicial típica es la del mono en el sofá. Las instrucciones pueden ser: Salta del sofá Ve a la escalera Pon la escalera bajo los plátanos Trepa la escalera Agarra los plátanos

Figura 20. El espacio de estado para el problema del mono y los plátanos.

Las instrucciones variarán de acuerdo con las posiciones iniciales del mono, el sofá la escalera. Como hay varios estados iniciales, no se muestra aquí el doble círculo especial de inicio. Por ejemplo, otro estado de inicio posible es con el mono en el sofá debajo de los plátanos, de esta manera, el mono tendrá entonces que hacer el sillón a un lado antes de poner la escalera debajo de los plátanos. En el estado inicial más simple, el mono ya se encuentra en la escalera debajo de los plátanos. Aunque este problema parece obvio para un ser humano, requiere una considerable cantidad de razonamiento. Una aplicación práctica de un sistema de razonamiento como

Mono en el sofá

Mono en el piso

Sofá bajolos plátanos

El sofá no está bajo los

plátanos

Mono esta en la

escalera

Si la escalera

está bajo losplátanos

Mono enla escalera

El mono noestá en la escalera

La escaleraNo está bajo

Los plátanos

Éxito,el mono tiene

losplátanos

Baja el sofá Si el sofá está bajolos plátanos

Mover el sofá

Mover al mono

Mover la escalera

Si el mono no está enla escalera

Si la escalera no está bajolos plátanos

Si el sofá no estáBajo los plátanos

Si el mono está en la escalera

Si la escalera estabajo los plátanos

Trepar por la escalera

Agarrar plátanos

Mono en el sofá

Mono en el piso

Sofá bajolos plátanos

El sofá no está bajo los

plátanos

Mono esta en la

escalera

Si la escalera

está bajo losplátanos

Mono enla escalera

El mono noestá en la escalera

La escaleraNo está bajo

Los plátanos

Éxito,el mono tiene

losplátanos

Baja el sofá Si el sofá está bajolos plátanos

Mover el sofá

Mover al mono

Mover la escalera

Si el mono no está enla escalera

Si la escalera no está bajolos plátanos

Si el sofá no estáBajo los plátanos

Si el mono está en la escalera

Si la escalera estabajo los plátanos

Trepar por la escalera

Agarrar plátanos

Page 100: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________100

éste, es la de dar a un robot instrucciones relacionadas con la realización de una tarea. En lugar de suponer que todos los objetos del ambiente se mantienen fijos en un lugar, una solución general es un sistema de razonamiento que puede tratar con diversas situaciones.

4.2.- Espacios de estados determinísticos y espacios no determinísticos. Determinismo Definición: Explicación de la realidad basada en la existencia de productores de resultados predectibles. Los programas determinísticos se ramifican al llegar a un IF... THEN, sólo en base a condiciones absolutas. El determinismo aplica habitualmente lógica dicotómica10 para verificar variables de tal manera de mantener bajo control el flujo del programa, llevando a éste hacia la producción de resultados deseados. Cuanto más una técnica de programación sea comandada por los datos, tanto menos predecible es el resultado. Algoritmo Determinístico Un algoritmo determinístico es un algoritmo que en términos informales: es completamente predictivo si se conocen las entradas al mismo. Dicho de otra forma si se conocen las entradas del algoritmo siempre producirá la misma salida, y la máquina interna pasará por la misma secuencia de estados. Este tipo de algoritmos ha sido el más estudiado durante la historia y por lo tanto resulta ser el tipo más familiar de los algoritmos, así como el más práctico ya que puede ejecutarse en las máquinas eficientemente [22]. Un modelo simple de algoritmo determinístico es la función matemática, de esta forma se puede establecer el siguiente paralelismo: la función extrae la misma salida para una entrada dada, al igual que los algoritmos determinísticos. La diferencia es que un algoritmo describe explícitamente como la salida se obtiene de la entrada, mientras que las funciones definen implícitamente su salida. Definición Formalmente los algoritmos determinísticos se pueden definir en términos de una máquina de estado: un estado describe que está haciendo la máquina en un instante particular de tiempo. Justo cuando se produce la entrada, la máquina comienza en su estado inicial y posteriormente si la máquina es determinística comenzará la ejecución de la secuencia de

10 Un método de razonamiento basado en que cada restricción del problema puede ser considerada verdadera o falsa. La dicotomía verdadero/falso, una vez aplicada a cada restricción del problema, provee bases para la ramificación bajo la forma de árboles decisionales. Aristóteles propuso una lógica con dos valores. La matemática de la lógica de dos valores, sirvió como base durante muchos años para la mayoría de las estructuras de control en lenguajes de programación.

Page 101: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________101

estados predeterminados. Es de notar que una máquina puede ser determinística y no tener límite temporal para la ejecución o quedarse en un bucle de estados cíclicos eternamente. Ejemplos de máquinas abstractas determinísticas se pueden incluir en máquinas de Turing determinísticas y los autómatas finitos determinísticos. Problemas con los algoritmos determinísticos Desafortunadamente para algunos problemas es muy difícil implementar un algoritmo determinístico. Por ejemplo, existen eficientes y simples algoritmos probabilísticos que pueden determinar si un número entero es primo o no pero tienen una pequeña posibilidad de equivocarse (Test de primalidad de Fermat). Algunos de ellos son muy conocidos desde 1970; solamente tras otros 30 años de investigación focalizada en investigar se ha encontrado un algoritmo determinístico similar, pero mucho más lento. Otro ejemplo puede encontrarse en los problemas NP-completos dentro de esta categoría puede encontrarse la mayoría de los problemas prácticos, este tipo de problemas puede resolverse rápidamente empleando de forma masiva y paralela una Máquina de Turing no determinística, pero no se ha encontrado aún un algoritmo eficientes para esta tarea, al menos ahora sólo encuentran soluciones aproximadas en casos especiales. Otro problema sobre el planteamiento de algoritmos determinísticos es que a veces no es "deseable" que los resultados sean completamente predecibles. Por ejemplo, si se es un jugador que juega al blackjack un algoritmo puede mezclar una serie de Generador de números pseudoaleatorios y de esta forma un apostador espabilado podría averiguar los números del generador y determinar las cartas sobre la mesa de juego permitiendo engañar durante todo el tiempo al croupier11 (esto ocurre actualmente). Problemas similares pueden encontrarse en criptografía, donde las claves privadas a menudo se crean mediante uno de estos generadores. Este tipo de problemas se evita mediante el empleo de un Generador criptográfico seguro de números pseudo-aleatorio. Algoritmo no Determinístico Un algoritmo no determinístico es un algoritmo que ofrece más de una única salida en función de su entrada, siempre que no se haya dado otra especificación adicional. Una ejecución de estos algoritmos permite elegir en un instante dado una secuencia de posibles estados de salida para una misma entrada o estado inicial. Los algoritmos no determinísticos no permiten "a priori" saber cual será el resultado o el estado en el que quedará el sistema. En la teoría estándar de computación el término algoritmo deja claro que se trata de algoritmos determinísticos. Sin embargo, estos emplean modelos de computación, tales como el non deterministic finite state machine, que es no-determinístico.

11 Es el encargado de efectuar los pagos y retirar las apuestas.

Page 102: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________102

En diseño general de algoritmos, esta categoría de algoritmos no-determinísticos se suele emplear como especificaciones. Convirtiendo algoritmos no determinísticos en determinísticos Una forma de simular algoritmos no determinísticos N mediante el empleo de otros determinísticos D puede realizarse tratando los estados de N como estados de D. Esto significa que D puede tracear todas las posibilidades y trayectorias de ejecución del algoritmo N. Otra posibilidad es emplear algoritmos de generación de números aleatorios que consisten en perturbar los estados mediante el establecimiento de todas las posibilidades mediante un generador de números aleatorios. El resultado es un algoritmo determinístico probabilístico. ¿Qué hace a un algoritmo no determinístico? Una variedad de factores puede ser la causa de que un algoritmo determinístico se comporte como de una forma no determinística:

• Si emplea en la ejecución de la secuencia de estados otro estado "externo" como entrada del proceso, como por ejemplo: una entrada de un usuario, una variable objetivo, un valor de un temporizador de hardware, un valor aleatorio, etc.

• Si al operar se encuentra con concurrencia de estados, por ejemplo si tiene

múltiples procesadores escribiendo al mismo tiempo en un fichero. En este caso el orden preciso en el que cada procesador escribe el dato puede afectar a la salida y no está pre-planificado su valor inicial.

• Si un error (cuyo origen puede deberse al hardware o al software) causa un

inesperado cambio en la secuencia de ejecución de estados. Aunque los programas reales rara vez son puramente determinísticos, es más fácil que los seres humanos así como otros programas determinar sobre la esencia de lo que realmente son. Por esta razón, la mayoría de los lenguajes de programación y especialmente aquellos que entran dentro de la categoría de programación funcional son lenguajes que hacen un esfuerzo en prevenir eventos que se ejecutan sin control. Por esta razón este tipo de restricciones fuerzan el carácter determinístico por esta razón a los algoritmos determinísticos se les denomina purely functional.

Page 103: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________103

4.3.- Búsqueda sistemática. Se van a examinar técnicas básicas que se utilizan para resolver problemas de búsqueda en el ámbito de la Inteligencia Artificial, dentro de la búsqueda por fuerza bruta o a ciegas es la que no cuenta con información a priori que la dirija en su secuencia de acciones para la consecución del objetivo final. Es decir, realiza una búsqueda exhaustiva.

4.3.1.- Búsqueda de metas a profundidad. La búsqueda en profundidad es otra forma de recorrer sistemáticamente una estructura del árbol para encontrar el nodo solución, pero recorriéndolo en profundidad, es decir, bajando de nivel. En vez de buscar de forma exhaustiva en cada nivel, este algoritmo sigue las ramas del árbol hacia abajo hasta el nivel más inferior que pueda, hasta que encuentra la solución o un nodo sin hijos. Se trata de expandir un único camino desde la raíz. En el caso de llegar a un callejón sin salida se retrocede hasta el nodo más cercano desde donde se pueda tomar una rama alternativa para seguir avanzando figura 21 [5]. La complejidad temporal de esta estrategia es la misma que la del procedimiento de búsqueda en amplitud, puesto que para un grafo de una determinada profundidad se generan los mismos nodos, aunque en diferente orden. Sin embargo, esta estrategia puede ser muy ineficiente ya que el algoritmo puede dedicarse a recorrer un camino demasiado largo que no conduzca a ninguna solución, o meterse en bucles infinitos. Por eso el algoritmo de búsqueda en profundidad no es completo ni óptimo. El procedimiento sigue los siguientes pasos:

1. Crear una lista de nodos e inicializarla con el nodo raíz (estado inicial). Esta lista se maneja como una pila LIFO (last-in first-out).

2. Lazo:

2.1. Si la lista esta vacía, salir. 2.2. Extraer el primer nodo de la lista.

2.3. Si la lista contiene el nodo meta, salir. 2.4. Para cada hijo del nodo actual, expandirlo y añadir todos sus hijos

como nuevos nodos al principio de la cola.

La solución es el primer nodo de la lista

Page 104: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________104

Figura 21. Árbol de búsqueda

La lista a gestionar tendría los siguientes valores para la figura anterior.

Estado de la cola iteración H A B C Extraer H+hijos de H D E B C Extraer A+hijos de A K L E B C Extraer D+hijos de D L E B C Extraer K E B C Extraer L B C Extraer E F C Extraer B+hijos de B C Extraer F G J Extraer C+hijos de C

El recorrido realizado sería:

H A D K L E B F C G J

La complejidad espacial se reduce con respecto al anterior ya que sólo es necesario guardar la constancia del camino construido hasta el momento. La complejidad para un camino de longitud p será dicho valor más el factor de ramificación(r), es decir, O(p+r). Además, cuando existen múltiples soluciones posibles, la eficiencia del método aumenta. Debería establecerse un límite de nivel de exploración para acortar la longitud real del camino de la solución. Esta estrategia se denomina búsqueda limitada por profundidad. Se impone a la profundidad máxima de un recorrido (lp), que debe ser estimada en cada paso. Esta variante tiene la ventaja de que en general es completa (excepto para límites muy pequeños) aunque no es óptima.

H

B C

JG F

A

D E

LK

Page 105: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________105

La elección de límite de profundidad adecuado puede resultar crucial para la obtención de la solución. La búsqueda por profundización iterativa (iterative deepening) evita los problemas que conlleva esa elección probando de forma iterativa todos los límites de profundidad posibles. Así, comienza con profundidad cero (nodo raíz), para probar con profundidad 1, 2, etc. Esta estrategia es óptima y completa. De hecho, es el método idóneo para problemas con espacios de búsqueda de dimensión grande, de los que no se conocen sus límites de profundidad. Es una comunicación de la búsqueda preferente por amplitud y en profundidad. Otra variante de este método es la llamada búsqueda de retroceso en la que, en lugar de generar todos los sucesores al expandir un nodo, se genera un único sucesor en cada paso, que será el que se expanda. La lista a gestionar tendría los siguientes valores para la figura 21 de ejemplo:

H A D K L B F C G

El recorrido hasta encontrar los nodos solución sería:

H A D K L B F C G Su principal ventaja es que requiere menor espacio de almacenamiento que la búsqueda en profundidad: sólo hay que recordar en cada instante un sucesor del nodo seleccionado, es decir, su complejidad es O(p). Otra ventaja es que no se generan las ramas del árbol de búsqueda que se encuentren después del camino de la solución. Sin embargo, la complejidad temporal es la misma que con los otros algoritmos, y tiene un factor de indeterminación en el orden del recorrido de los nodos que puede hacerle perder su eficiencia.

4.3.2.- Búsqueda de metas en anchura.

Se denomina también recorrido en anchura prioritaria. El algoritmo define una forma de moverse a lo largo de la estructura arbórea examinando los valores de los nodos de manera sistemática y controlada, de forma que se pueda encontrar un nodo de solución [5]. La idea es generar varias trayectorias de una determinada longitud antes de crear una trayectoria más larga.

Page 106: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________106

Es decir, se recorren de izquierda a derecha, todo los subobjetivos generados por el objetivo de nivel inmediatamente superior antes de considerar el siguiente nivel de profundidad del árbol. Se examina cada nodo situado a un paso del estado inicial, y después dos niveles más allá, y así sucesivamente, hasta que se han considerado todos los nodos del árbol o se ha encontrado la solución. En un procedimiento completo: se garantiza encontrar una solución si ésta existe. Pero en general no es óptimo (no encontrará la mejor solución, simplemente la primera que satisfaga el objetivo) figura 22. Específicamente se realiza mediante los siguientes pasos:

1. Crear una lista de nodos e inicializarla con el nodo raíz (estado inicial). Esta

lista se maneja como una cola FIFO (first-in-first-out).

2. Lazo: 2.1. Si la lista está vacía, terminar. 2.2. Quitar el primer nodo de la lista. 2.3. Si la lista contiene el nodo meta, salir.

2.4 Expandir el nodo actual y añadir todos sus hijos como nuevos nodos al final de la cola.

Figura 22. Árbol de búsqueda.

H

B C

JG F

A

D E

L K

La solución es el primer nodo de la lista

Page 107: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________107

La lista para gestionar el árbol de la figura 22 tendrá los siguientes valores:

Estado de la cola iteración

H A B C Extraer H+hijos de H B C D E Extraer A+hijos de A C D E F Extraer B+hijos de B D E F G J Extraer C+hijos de C E F G J K L Extraer D+hijos de D F G J K L Extraer E G J K L Extraer F En éste último paso se comprobaría que el primer nodo de la lista es uno de los nodos solución. Es decir, los nodos recorridos serian los representados en la diagonal:

H A B C D E F G J K L

Por lo tanto, al llegar al nodo G se terminaría el algoritmo dando esa solución. Como puede observar, el nodo L, la otra meta, sería el último en alcanzarse.

Si el nivel de profundidad asociado a la solución es significativamente menor que el factor de ramificación, se expandirán demasiados nodos inútilmente. Por eso una variante muy utilizada de esta estrategia es la denominada “prioridad al mejor” (best-first), consistente en seleccionar primero los nodos con el mínimo número de subobjetivos y recorrerlos así; es decir, en el ejemplo:

H B F C G J A E D K L

De esta forma se llega a la solución de forma mucho más eficiente. En este ejemplo se encontraría el nodo G a la quinta iteración. Este método tiene complejidad exponencial tanto temporal como espacial. La complejidad temporal depende del factor de ramificación y de la profundidad de la solución. Si el número medio de sucesores es n (se utiliza el valor medio ya que el árbol de búsqueda no tiene por qué ser uniforme; es decir, no todos los nodos tienen igual número de sucesores) y la solución se alcanza en el nivel p, el tiempo empleado es 1+n+n2+…+np. Siendo p un valor generalmente grande, la complejidad será del orden O(np). La complejidad espacial es también del orden O(np), lo que hace difícil de utilizar en problemas reales. Las complejidades de las estrategias de búsqueda se calculan considerando el “peor caso”. Es decir, tanto la complejidad temporal como la espacial crecen exponencialmente con esta estrategia de búsqueda, por lo que sólo se pueden aplicar a problemas de pequeña dimensión.

Page 108: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________108

4.3.3.- Búsqueda óptima. Todas las técnicas de búsqueda descritas hasta ahora están diseñadas para encontrar una solución. Como se demostrará con las búsquedas heurísticas, existen esfuerzos para mejorar la posibilidad de encontrar una solución buena, y preferiblemente óptima. Sin embargo, algunas veces solo se desea la solución óptima. El término solución óptima en el sentido en que lo utilizamos aquí simplemente significa la mejor ruta que se pueda encontrar usando una de las distintas técnicas de generación de múltiples soluciones –que puede que no sea, de hecho, la mejor solución-. Encontrar la auténtica solución óptima exige la utilización de Inteligencia Artificial, extremadamente costosa y una búsqueda exhaustiva. Búsqueda Heurística La búsqueda heurística tiene muchos ejemplos en la vida real. Uno de los más conocidos es el problema del viajero, donde un vendedor tiene que recorrer una serie de ciudades de una forma que en su ruta sólo puede pasar una vez por cada ciudad y además tiene que hacer el menor recorrido posible. Es un tipo de problema donde el numero de soluciones sigue una ley de explosión combinatoria, conocidos como np-completos. Es decir, no puede ser resuelto por los algoritmos de búsqueda ciega. Son problemas para los que es imposible computacionalmente encontrar la mejor solución para dimensiones elevadas por ese crecimiento exponencial. La única forma de abordarlos es conformarnos con una solución suficientemente buena, hay varios métodos de búsqueda heurística que proporcionan formas prácticas de hacerlo [5]. Las estrategias de búsqueda heurísticas se caracterizan por la tendencia a limitar el tiempo y el espacio en donde buscar la respuesta a problemas complejos, y asumir que aceptaremos cuando le encontremos una buena solución, que puede no ser óptima. En este sentido, aplicamos reglas heurísticas o empíricas para determinar a lo largo de un recorrido cuál es el trayecto que con mayor probabilidad nos lleve a una solución. Los algoritmos vistos hasta ahora se denominan en general algoritmos de generación y prueba. Su implementación más básica, los pasos para ejecutarlos son:

1. Generar una posible solución, ya sea un nuevo estado o un camino a través del espacio de búsqueda.

2. Probar si ese nuevo estado o camino generado es una solución comparándolo con un conjunto de estados objetivo.

3. Si es la solución, terminar. En otro caso, volver al paso 1. Realmente es un recorrido en profundidad que realiza una búsqueda exhaustiva del espacio de estados. Si hay una solución, este algoritmo la encontrará, aunque probablemente le lleve mucho tiempo. Para problemas de dimensiones pequeñas puede ser efectivo, pero para problemas más complejos esta búsqueda no guiada es impracticable.

Page 109: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________109

Su principal desventaja radica en que no hay ninguna información relativa a en qué dirección orientar la búsqueda, por lo que se han desarrollado otras estrategias para incorporar este tipo de conocimiento con el uso de las funciones heurísticas. La búsqueda heurística utiliza información adicional sobre el problema específico, como el costo o la distancia al estado final. Para tener en cuenta esta información, los métodos heurísticos utilizan las denominadas funciones de evaluación heurísticas f que calculan o evalúan el valor de cada nodo particular en el árbol de búsqueda, dando una idea de lo cerca o lejos que se encuentra del nodo objetivo. Es decir, son aplicaciones que hacen corresponder a cada estado del espacio de búsqueda un valor numérico cj.

f(estadoj)=cj

Con estos valores se puede estimar el costo que llevaría recorrer sus ramificaciones, guiando la búsqueda hacia aquellos caminos que parecen más prometedores. El valor máximo o mínimo de las funciones heurísticas debe alcanzarse en un estado meta. Los principales métodos de búsqueda heurística son:

• Ascensión a la cima o gradiente. • Primero el mejor. • Búsqueda menor costo. • Algoritmo A*. • Algoritmos genéticos.

Ascensión a la cima o gradiente El método de la ascensión de la cima (hill-climbing) incorpora cierta información que resulta del paso 2 descrito anteriormente en la búsqueda heurística, es decir, de la evaluación del estado actual para mejorar la generación de un nuevo estado candidato. Al evaluar un estado mediante la función prueba se le asocia una medida o estimación de su distancia al estado objetivo, que servirá para orientar la generación del siguiente. Son algoritmos denominados de mejoramiento iterativo ya que parten de una configuración completa del espacio de estados, y sobre ese escenario se van modificando para mejorar la calidad de la solución. Es decir, se trata de buscar la solución óptima en toda la superficie que representa al problema mediante pasos iterativos hacia la meta. Por ejemplo, si se trata de identificar un máximo en la función de calidad (ascensión a la cima), el algoritmo se ejecutaría como un bucle que se desplaza constantemente en la dirección del valor ascendente. En el caso del método del gradiente, como la función de evaluación es un costo que se intenta minimizar, la iteración se actualizaría en la dirección de los valores decrecientes. Sin embargo, uno de sus principales problemas es que puede caer en los extremos locales. Porque estamos siempre avanzando en la dirección del menor costo, por ejemplo,

Page 110: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________110

se puede seguir un camino que alcance una buena solución pero dejando de lado la solución óptima que quizás se encontraba muy cerca. De este mínimo o máximo local es difícil salir ya que cualquier movimiento nos llevará a un próximo estado peor, con menor valor de bondad en la función de evaluación. En algunos casos el espacio de búsqueda presenta una meseta o zona plana en la cual cualquier nuevo estado tiene asociado el mismo valor que el anterior, por lo que el algoritmo se estancará ya que no encontrará la diferencia de valores positiva o negativa necesaria para avanzar. Para evitar estos extremos locales se han propuesto diversas estrategias. Una consiste, por ejemplo, en forzar un reinicio aleatorio. Cuando no se logra ningún avance significativo se recomienza desde otro nuevo punto. Habitualmente esta técnica es suficiente para encontrar la solución. Otro método consiste en añadir ruido a la función de evaluación para lograr salir de los extremos locales. Inicialmente el nivel de ruido es alto y se va reduciendo gradualmente con el tiempo. Esta técnica, denominada simulated annealing (enfriamiento o temple simulado) permite al algoritmo explorar direcciones que no son las “mejores” pero que pueden conducir a una exploración mas completa del espacio de estados. Como está técnica recuerda la analogía que se da en los metales cuando son calentados y luego enfriados lentamente, el parámetro que se utiliza en el enfriamiento simulado se denomina temperatura, de forma que una temperatura elevada permite continuar con la búsqueda de forma un tanto aleatoria, mientras que temperaturas bajas hacen que el algoritmo vuelva a un comportamiento mas determinista. Primero el mejor La búsqueda por primero el mejor o “búsqueda preferentemente por lo mejor” es una estrategia de control sistemática que combina las ventajas de los métodos de búsqueda exhaustiva en amplitud y en profundidad. Su principal diferencia con esos métodos es que en este caso se hace uso de la información que proviene de las funciones de evaluación para ordenar los nodos de la cola. En este sentido se elige como primer nodo el que parece que va a ser mejor (costo mínimo), antes que cualquier otro, sin tener en cuenta su posición en el árbol o grafo. Es decir, se expande el más prometedor, el que ha resultado mejor evaluado [5]. Con este método siempre se encuentra un mínimo global, por lo que consigue disimular el problema de los extremos locales. Sin embargo, presenta una desventaja: el hecho de que en el algoritmo no se considera el camino recorrido hasta el momento, lo que podría dar lugar a una solución no idónea. Por ejemplo, si un nodo se encuentra muy cerca de la meta, quizá ya inicialmente, pero hay otro cuya distancia al nodo final es menor aunque suponga un recorrido más largo, se seleccionará este último debido a esa estimación de la distancia que no tiene en cuenta el costo acumulado.

Page 111: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________111

Por ejemplo, definimos una función costo asociada a cada nodo cuyo valor sea la distancia al nodo meta figura 23. El costo de la generación de cada sucesor se puede considerar cero o uno. En cualquier caso, va a ser un valor constante.

Figura 23. Árbol de búsqueda con costos asociados. Los pasos del algoritmo “primero el mejor” son:

1. El estado inicial esta formado únicamente por el nodo inicial.

2. Lazo: 2.1. Extraer el nodo inicial. 2.2. Se expande el nodo y se añaden todos los sucesores a la cola. Guardar el recorrido. 2.3 Se evalúa cada uno de los nodos sucesores. Si algún sucesor es la meta, salir. 2.4. Se extrae el nodo con menor costo y se añaden sus sucesores. Guardar el recorrido. 2.5. Volver al paso número 2.3.

La solución es el nodo de la lista y el camino recorrido

Page 112: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________112

El algoritmo aplicado al ejemplo de la figura 23, donde la solución consiste en llegar al nodo F, sería:

estado de la cola extraer H(20) A(14), C(16) H D(9), E(5), C(16) A D(9), C(16) E K(3), L(6), C(6) D L(6), C(6) K F(0), C(16) L El camino recorrido siguiendo los punteros que conduce a la solución es:

H A E D K L F Como se ha hecho notar, con este método no se ha seleccionado el recorrido más corto en el sentido de recorrer menos nodos, que hubiera sido por la rama del nodo C, sino que las decisiones se han ido tomando en cada momento según la distancia estimada en ese punto, no acumulada, aunque el costo acumulado sea menor en esta solución. Existe una variante denominada búsqueda en haz (beam search), que pretende acelerar el proceso de búsqueda permitiendo explorar más de una rama simultáneamente. Búsqueda menor costo Denominada greedy search, este algoritmo es también una estrategia derivada del método “primero el mejor”, y viene a disimular una de sus desventajas. En este caso lo que se intenta es minimizar el costo total para alcanzar la meta. Por lo tanto, siguiendo una estrategia “avara”, se expandirá el nodo que se presuponga más cercano al nodo final, para minimizar así también el recorrido. Desafortunadamente, el costo exacto del recorrido al estado final no se puede calcular de forma precisa, por lo que tendremos que conformarnos con una estimación basada en una función heurística h, en la que se computa para cada nodo el costo estimado desde ese nodo al nodo final por el camino de menor costo. Cuando mejor sea la estimación de la función h mejor y más rápidamente se encontrará la solución. Cuando se llega al nodo meta, la evaluación de h en ese estado debe ser cero. Es por lo tanto un caso de la búsqueda heurística ya que es esta función h la que dirige el recorrido en base a un conocimiento sobre el camino con menor costo. La elección de la función heurística es crucial para el funcionamiento del algoritmo y también para reducir la complejidad espacial y temporal del mismo. Generalmente es un método eficiente ya que suele encontrar la solución con rapidez, si bien ésta no siempre es óptima porque lo que va considerando en cada momento es la

Page 113: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________113

solución inmediata “más barata”, sin una visión global. Tampoco es completa pues puede recorrer una ruta infinita y se estancaría en ella sin probar otros caminos alternativos. Algoritmo A* Uno de los algoritmos de búsqueda mas conocidos y utilizados en la Inteligencia Artificial es el A*, que combina la eficiencia del algoritmo de búsqueda menor costo con el método de costo uniforme que tiene las deseables propiedades de ser óptimo y completo. Es decir, encuentra una solución siempre y cuando ésta exista, incluso para grafos infinitos, y además no cae en mínimos locales, sino encuentra el extremo global. Otras de las ventajas de este método es que expande el menor número de nodos. Sin embargo, puede tardar mucho en hacer la selección entre dos caminos casi iguales por lo que a veces puede requerir mucho tiempo. En el método de la búsqueda costo uniforme lo que se trataba era de reducir al mínimo el costo de la meta h(n). El método denominado de costo uniforme es una variación de la búsqueda en amplitud donde lo que se busca no son los caminos de menor longitud sino de menor costo, por lo tanto, minimizar la ruta, g(n). Es decir, se expande el nodo con menor costo de la ruta, en vez del que tenga menor profundidad, como lo hacía la estrategia en amplitud. Esta búsqueda sí es óptima y completa, pero se puede ser muy ineficiente. En el algoritmo A* la función de evaluación se calcula sumando estas dos medidas heurísticas para cada nodo n:

• El costo estimado para ir de n al estado meta, h(n); • El costo que ha sido necesario para llegar a ese nodo n desde la raíz o nodo inicial,

g(n). Este último dato no es una estimación ya que puede ser conocido con exactitud.

La función de evaluación f(n) estima el costo total de camino a la solución que pasa por el nodo n.

F(n) = g(n) + h(n) Es decir, el conocimiento heurístico incorporado a este procedimiento permite evaluar y ordenar los nodos en la lista para dirigirla de forma más eficiente hasta el nodo meta. Como se puede deducir, el método del costo uniforme es un caso particular del algoritmo A* que tiene lugar cuando ∀ n h(n)=0. El procedimiento para llevar a cabo este algoritmo es el mismo que el anterior, si bien ahora habrá que sumar a la distancia estimada a la meta el camino de menor costo encontrado hasta cada nodo para formar la nueva función heurística f.

Page 114: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________114

Para el ejemplo de la figura 23, el proceso de ejecución del algoritmo con esta estrategia sería: H(20+0) sacar A(14+1),

C(16+1) H

D(9+2), E(5+2), C(17)

A

D(11), C(17) E K(3+3), L(6+3),

C(17) D

L(9), C(17) K F(0), C(16) L Con el cual se obtiene el mismo camino solución que con el método del primero el mejor. A los arcos que unen los distintos nodos se les puede asociar un costo no constante, en cuyo caso el procedimiento de resolución sería el mismo pero ahora habría que sumar a cada nodo como valor de g(n) el que indica ese enlace. El algoritmo A* es completo y óptimo siempre y cuando se verifique una restricción: que la función heurística h(n) sea admisible. Es decir, que la función h que se seleccione nunca sobreestime el costo que implica alcanzar la meta. Es por lo tanto una acepción optimista de la búsqueda. Sin embargo, sigue siendo un método con una complejidad temporal y espacial que generalmente es exponencial. Una conocida modificación del algoritmo A* es la llamada IDA* (Iterative Deepending A*) o búsqueda por profundización iterativa (A*PI), que tiene por objeto garantizar la linealidad respecto a la complejidad espacial. En vez de limitar la profundidad de la búsqueda, este nuevo algoritmo utiliza una limitación en el costo. Mantiene menos caminos simultáneamente que A*, de ahí la reducción del consumo de memoria, pero no deja de encontrar la solución gracias a que explora múltiples rutas. Algoritmos genéticos En los años setenta, de la mano de John Holland [Holland y col., 1975] surgió una de las líneas más prometedoras de la Inteligencia Artificial, la de los algoritmos genéticos. Son llamados así porque se inspiran en la evolución biológica y su base genético-molecular. Estos algoritmos hacen evolucionar una población de individuos sometiéndola a acciones aleatorias semejantes a las que actúan en la evolución biológica (mutaciones y recombinación genética), así como también a una selección de acuerdo con algún criterio, en función del cual se decide cuáles son los individuos más adaptados, que sobreviven, y cuáles los menos aptos, que son descartados.

Page 115: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________115

Los algoritmos genéticos forman parte de una familia denominada algoritmos evolutivos, que incluye las estrategias de evolución, la programación evolutiva y la programación genética. Dentro de esta última se han logrado avances curiosos: En 1999, por primera vez en la historia, se concedió una patente a un invento no realizado directamente por un ser humano: se trata de una antena de forma extraña, pero que funciona perfectamente en las condiciones a las que estaba destinada. No hay, sin embargo, nada injusto en el hecho de que el autor del algoritmo genético del que salió la forma de la antena se haya atribuido la autoría de la patente, pues él escribió el programa e ideó el criterio de selección que condujo al diseño patentado. Un algoritmo genético es un método de búsqueda dirigida basada en probabilidad. Bajo una condición muy débil (que el algoritmo mantenga elitismo, es decir, guarde siempre al mejor elemento de la población sin hacerle ningún cambio) se puede demostrar que el algoritmo converge en probabilidad al óptimo. En otras palabras, al aumentar el número de iteraciones, la probabilidad de tener el óptimo en la población tiende a 1. Funcionamiento Los algoritmos genéticos establecen una analogía entre el conjunto de soluciones de un problema, llamado fenotipo, y el conjunto de individuos de una población natural, codificando la información de cada solución en una cadena, generalmente binaria, llamada cromosoma. Los símbolos que forman la cadena son llamados los genes. Cuando la representación de los cromosomas se hace con cadenas de dígitos binarios se le conoce como genotipo. Los cromosomas evolucionan a través de iteraciones, llamadas generaciones. En cada generación, los cromosomas son evaluados usando alguna medida de aptitud. Funcionamiento de un algoritmo genético básico

1. Primero, se genera aleatoriamente la población inicial, que está constituida por un conjunto de cromosomas, que representan las posibles soluciones del problema. En caso de no hacerlo aleatoriamente, es importante garantizar que dentro de la población inicial, se tenga la diversidad estructural de estas soluciones para tener una representación de la mayor parte de la población posible o al menos evitar la convergencia prematura.

2. A cada uno de los cromosomas de esta población se aplicará la función de aptitud

para saber qué tan "buena" es la solución que se está codificando.

3. Después de saber la aptitud de cada cromosoma se procede a elegir los cromosomas que serán cruzados en la siguiente generación.

Page 116: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________116

4. Los cromosomas con mejor aptitud tienen mayor probabilidad de ser seleccionados.

5. El cruzamiento es el principal operador genético, representa la reproducción

sexual, opera sobre dos cromosomas a la vez para generar dos descendientes donde se combinan las características de ambos cromosomas padres.

6. El algoritmo genético se deberá detener cuando se alcance la solución óptima, pero

ésta generalmente se desconoce, por lo que se deben utilizar otros criterios de detención. Normalmente se usan dos criterios: correr el algoritmo genético un número máximo de iteraciones (generaciones) o detenerlo cuando no haya cambios en la población.

7. Como se mencionó, el problema de selección de variables se puede ver como un

problema de optimización, ya que queremos encontrar, bajo alguna heurística, el subconjunto de variables que potencialicen la diferenciación y las semejanzas de objetos de clases diferentes y de la misma clase respectivamente.

Esquema general del algoritmo Inicializar aleatoriamente una población de soluciones a un problema, representadas por una estructura de datos adecuada. Evaluar cada una de las soluciones, y asignarle una puntuación o fitness según lo bien que lo hayan hecho. Escoger de la población la parte que tenga una puntuación mayor. Mutar (cambiar) y entrecruzar (combinar) las diferentes soluciones de esa parte escogida, para reconstruir la población. Repetir un número determinado de veces, o hasta que se haya encontrado la solución deseada [5]. Hay que tener en cuenta que un algoritmo genético es independiente del problema, lo cual lo hace un algoritmo robusto, por ser útil para cualquier problema, pero a la vez débil, pues no está especializado en ninguno. Ejemplo Los algoritmos genéticos requieren que el conjunto se codifique en un cromosoma. Cada cromosoma tiene varios genes, que corresponden a sendos parámetros del problema. Para poder trabajar con estos genes en el ordenador, es necesario codificarlos en una cadena, es decir, una lista de símbolos (números o letras) que generalmente va a estar compuesta de 0s y 1s.

Page 117: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________117

Ejemplo 1: Si un atributo (tiempo) puede tomar tres valores posibles (despejado, nublado, lluvioso) una manera de representarlo es mediante tres bits de forma que: (Tiempo = Nublado ó Lluvioso) y (Viento = Fuerte) se representaría con la siguiente cadena: 011 10. De esta forma podemos representar fácilmente conjunciones de varios atributos para expresar restricciones (precondiciones) mediante la concatenación de dichas cadenas de bits. Además si tenemos otro atributo “Viento” que puede ser Fuerte o Moderado, se representaría con la siguiente cadena: 011 10. Las postcondiciones de las reglas se pueden representar de la misma forma. Por ello una regla se puede describir como la concatenación de la precondición y la postcondición. Ejemplo2: “JugaralTenis” puede ser Cierto o Falso. Si Viento = Fuerte entonces JugaralTenis = Cierto se representaría mediante la cadena 111 10 10. Donde los tres primeros bits a uno indican que el atributo “Tiempo” no afecta a nuestra regla. Cabe destacar que una regla del tipo 111 10 11 no tiene demasiado sentido, puesto que no impone restricciones en la postcondición. Para solucionar esto, una alternativa es codificar la postcondición con un único bit (1 = Cierto y 0 = Falso). Otra opción es condicionar los operadores genéticos para que no produzcan este tipo de cadenas o conseguir que estas hipótesis tengan una adecuación muy baja (según la función de evaluación) para que no logren pasar a la próxima generación de hipótesis.

4.4.- Satisfacción de restricciones. Problemas de satisfacción de restricciones es un tipo especial de problemas que satisfacen algunas propiedades adicionales. Las restricciones pueden involucrar una o varias variables al mismo tiempo. A veces en estos problemas conviene hacer una verificación hacia adelante (forward checking) para detectar estados sin solución (ejemplo las 8-reinas, figura 24). Muchas veces lo que conviene es analizar la variable más restringida, esto es, asignarle un valor a la variable que está involucrada en la mayor cantidad de restricciones.

Page 118: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________118

Otra heurística común es seleccionar un valor que elimine el menor número de valores en las otras variables asociadas a la variable por medio de una restricción. A veces la descripción del estado contiene toda la información necesaria para llegar a una solución (ejemplo las 8-reinas) y se utilizan algoritmos que hacen mejoras iterativas. La idea general es empezar con una configuración completa y hacer modificaciones para mejorar su calidad [23]. Normalmente, en problemas de maximización se trata de moverse hacia el pico más alto. Los métodos iterativos normalmente guardan sólo su estado actual y no ven más allá de sus vecinos inmediatos. Problemas de Satisfacción de Restricciones Estructura de estados:

• Un estado está compuesto por un conjunto de n variables que pueden tomar diferentes valores.

• Un estado es un estado meta si los valores que tienen sus variables cumplen una serie de restricciones.

Definición:

• Un problema de satisfacción de restricciones PRS (Constraint Satisfaction Problem) es una tripleta (X, D, R)

o X = {x1,…, xn} es un conjunto de variables. o D: X →V es una función total que asigna un dominio (conjunto de valores

de Vi) a cada variable. Frecuentemente se escribe Di en vez de D(xi) para referirse al dominio de la variable xi.

o R = {R1,…, Rk} es un conjunto de restricciones tal que cada Ri es un predicado sobre un subconjunto de los variables de X. Formalmente: Ri (x1,…, xl) ⊆ D1×… ×Dl.

Conceptos básicos de variables:

• Un problema de satisfacción de restricciones discreto es aquel en el que todas las variables son discretas, es decir, toman valores en dominios finitos.

• Un problema de satisfacción de restricciones continuo es un PSR en el que todas las variables son continuas, es decir, tienen dominios continuos.

• Un problema de satisfacción de restricciones mixto consta de variables continuas y discretas.

• Un problema de satisfacción de restricciones binario es aquel en el que todas las restricciones tienen a los sumo dos variables respectivamente.

• Un problema de satisfacción de restricciones no binario o n-ario es aquel en el que las restricciones tienen cualquier número de variables.

Page 119: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________119

Conceptos básicos de restricciones: Discretas: las variables participantes están acotadas en dominios discretos. Continuas: las variables participantes están acotadas en dominios continuos. Binarias: son restricciones en las que sólo participan dos variables. N-arias: son restricciones en las que sólo participan cualquier número de variables (n>2). Fuertes (hard): son restricciones cuya satisfacbilidad es imprescindible. Débiles (soft): son restricciones cuya satisfacbilidad no es imprescindible. Difusas (fuzzy): son restricciones definidas sobre niveles de preferencia. Disyuntivas: son restricciones compuestas por un conjunto disjunto de restricciones. Clasificación según el tipo de restricciones:

• Restricciones de obligación (hard constraints). • Restricciones de preferencia (soft constraints).

Clasificación según los dominios:

• Dominios discretos (finitos o infinitos). • Dominios continuos.

Clasificación según el número de variables implicadas en las restricciones:

• Restricciones binarias. • Restricciones múltiples.

Ejemplo 1: N reinas.

• Situar N reinas en un tablero de ajedrez de tamaño N x N de forma que no se den jaque mutuamente figura 24.

• Variables: V1, . . . , VN • Dominios: Di = {1, . . . ,N} • Restricciones:

o Jaque horizontal: Vi ≠ Vj o Jaque diagonal: |Vi − Vj| ≠ |i − j|

• Problema con dominios finitos y restricciones binarias (de obligación).

Page 120: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________120

2

2

1

2

3

1

2

3

3

2

3

2

3

0

2

2

1

2

3

1

2

3

3

2

3

2

3

0

Figura 24. Ejemplo de n-reinas. Ejemplo 2: Planificación de corte. Encontrar la manera de situar patrones de corte en una pieza de cartón figura 25.

• Variables: P1, P2, P3, P4. • Dominios: Coordenadas en el plano. • Restricciones:

o Las piezas no deben superponerse. • Problema con dominios continuos y restricciones binarias (de obligación).

Figura 25. Planificación de corte.

4.5.- Resolución de problemas de juegos. Juegos Los juegos provocan una inexplicable fascinación y, la idea de que las computadoras puedan jugar existe desde que existen las computadoras:

• Siglo XIX, Babbage, arquitecto de computadoras, pensó en programar su máquina analítica para que jugara al ajedrez.

Page 121: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________121

• 50’s, Shannon describió los mecanismos que podían usarse en un programa para que jugara al ajedrez.

• 50’s, Turing describió un programa para jugar al ajedrez pero no lo construyó. • 60’s, Samuel construyó el primer programa de juegos importante y operativo, el

cual jugaba a las damas y podía aprender de sus errores para mejorar su comportamiento.

En un primer momento se pensó que se podrían resolver por búsqueda exhaustiva en el árbol del juego, es decir, un árbol que contenga todos los movimientos posibles de ambos jugadores. Considerando por ejemplo el juego de ajedrez, en una partida cada jugador realiza una media de 50 movimientos, con un factor de ramificación medio de 35 posibilidades, por lo tanto para examinar el árbol de juego completamente se tendrían que examinar 35,100 posibilidades. Resulta evidente que una simple búsqueda directa no es posible de realizar en la práctica, y por lo tanto es necesario algún tipo de procedimiento de búsqueda heurística. Los juegos proporcionan una tarea estructurada en la que es muy fácil medir el éxito o el fracaso. En comparación con otras aplicaciones de Inteligencia Artificial, por ejemplo comprensión del lenguaje, los juegos no necesitan grandes cantidades de conocimiento. El problema de la toma de decisión puede ser crucial en una serie de aplicaciones. Por ejemplo, en los juegos o estrategias logísticas donde el objetivo es ganar ante unos adversarios, cualquier tipo de información que ayude a tomar la decisión acertada es muy valiosa. En este sentido, el plantear este tipo de problemas de la forma que se puede aplicar una estrategia de búsqueda ha sido siempre un campo de interés para los investigadores de la Inteligencia Artificial. La mayoría de las aplicaciones de la Inteligencia Artificial fueron juegos que requerían la aplicación de las facultades intelectuales. En este sentido, este tipo de problemas han contribuido enormemente al desarrollo de la Inteligencia Artificial [5]. Un juego tiene una gran similitud con un problema de búsqueda porque se define mediante:

• El estado inicial, que incluye la posición del tablero e identifica al jugador que mueve.

• Una función sucesor, que devuelve una lista de pares (movimiento, estado), indicando un movimiento legal y el estado que resulta.

• Un test terminal, que determina cuándo se termina el juego. A los estados donde el juego se ha terminado se les llaman estados terminales.

• Una función utilidad (también llamada función objetivo o función de rentabilidad), que da un valor numérico a los estados terminales. En el ajedrez, el resultado es un triunfo, pérdida, o empate, con valores +1, -1 o 0.

Por lo tanto, el primer paso será la representación del juego como un árbol de búsqueda, y la definición de las funciones de utilidad y de prueba final, es decir, determinar el objetivo final. En general aunque se puede plantear como escenario un árbol completo que represente las características del juego, frecuentemente no es posible tener en cuenta

Page 122: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________122

la totalidad del árbol, por lo que en algún momento suele ser necesario suspender la búsqueda y aplicar una función de evaluación mediante la cual se obtenga una estimación de la utilidad de un estado determinado para saber por dónde seguir. Hay diversos tipos de planteamiento en la resolución de los problemas de búsqueda aplicados a los juegos, determinados por sus características específicas. Depende del número de elementos con capacidad de decisión involucrados, de la información que posean del entorno y de los contrarios, etc. En las aplicaciones con dos participantes que cuentan con información perfecta (y juegan también de forma perfecta), el algoritmo minimax permite determinar cuál será la mejor jugada. Como una modificación de éste, el algoritmo alfa-beta es más eficiente gracias a la poda que realiza de las ramas del árbol de búsqueda que resultan irrelevantes para el resultado final. Los juegos de azar se pueden manejar como una extensión del algoritmo minimax mediante el que se evalúan nodos aleatorios, para lo que se toma en cuenta el valor de la “utilidad promedio” de todos sus nodos hijos, ponderados por la probabilidad respectiva de cada hijo. Algoritmo del minimax Se aplica este algoritmo a un juego de dos participantes que alternan sus decisiones, con sus consiguientes movimientos, y que tienen un conocimiento perfecto en cada momento tanto de la estrategia como del juego del adversario [5]. El objetivo es ganar, es decir, el algoritmo debe encontrar la secuencia de movimientos que llevan a un jugador a alcanzar la meta. Pero debe tener en cuenta que el otro jugador puede interponerse en ese recorrido, y que también el objetivo del adversario es llegar a ese mismo estado final. Los nodos del árbol son de dos tipos: MAX y MIN según correspondan a uno u otro jugador. Los valores altos son buenos para MAX, es decir, su objetivo es maximizar la función de evaluación que mide la proximidad estimada a la meta de una situación dada. Los valores bajos de la función de utilidad son los buenos para MIN que intenta minimizar el valor de la función heurística para dificultar a su contrincante la consecución de la meta. Debido a la alternancia en el juego, cada nivel dentro del árbol está formado sólo por los nodos MAX o nodos MIN. Si comienza MAX y ocupa la raíz, éste ocupará los niveles pares del árbol y el nivel inmediatamente inferior lo ocupará los nodos del jugador contrario. El algoritmo de minimax desarrolla una búsqueda en profundidad limitada. Se puede describir de forma simplificada en los siguientes pasos:

1. Generación del árbol de búsqueda, desde la raíz hasta los estados terminales. 2. Obtención del valor de la función de utilidad en cada estado terminal. 3. Aplicación de la función de utilidad para calcular este valor de cada uno de los

nodos del nivel inmediatamente superior a los terminales.

Page 123: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________123

4. Continuación de la propagación de los valores de los nodos hojas en dirección a la raíz una capa cada vez.

5. Cuando los valores calculados llegan a la raíz del árbol, MAX elige la jugada que le permita obtener el valor más alto.

Función DECISION-MINIMAX(estado) devuelve una acción Variables de entrada: estado, estado actual del juego v ← MAX-VALOR(estado) devolver la acción de SUCESORES(estado) con valor v Función MAX-VALOR (estado) devuelve un valor utilidad Si TEST-TERMINAL(estado) entonces devolver UTILIDAD(estado) v ← -∞ para un s en SUCESORES(estado) hacer v<- MAX(v, MIN-VALOR(s)) devolver v Función MAX-VALOR(estado) devuelve un valor utilidad Si TEST-TERMINAL(estado) entonces devolver UTILIDAD(estado) v ← ∞ para un s en SUCESORES(estado) hacer v ← MIN(v, MAX-VALOR(s))

devolver v Es decir, este algoritmo en cada jugada produce el operador con el que se obtiene la mejor utilidad, la mejor jugada posible. Recorre todo el árbol del juego con una exploración exhaustiva y va pasando por todas las hojas para ir calculando el valor de utilidad de un movimiento que llevará a la toma de decisión. Hay que tener en cuenta que lo que se propaga hacia arriba depende del estado terminal, que puede tener una función de utilidad que represente tanto ganar como perder o empatar. Al recorrer el árbol en sentido ascendente se va conociendo a cual de las tres situaciones mencionadas se puede llegar desde cada nodo de los niveles superiores al aplicar operadores. Por ejemplo, en el árbol

Page 124: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________124

Figura 26. Árbol para minimax. la estrategia ganadora sería la que llevara a MAX a los valores más altos de la función de utilidad, supongamos que igual o mayor que el valor 6. La jugada seleccionada por MIN sería la respuesta a la jugada de MAX que diera el menor valor de los posibles después del primer movimiento de MAX. Se han marcado los nodos MAX con rombos y los MIN con circulos. Si existe, una estrategia ganadora para MAX será un subárbol en el que todos sus nodos terminales son ganadores; de esta forma se puede garantizar el éxito sea cual sea la respuesta del adversario. El recorrido marcado en la figura 26 desemboca siempre en una rama ganadora. Cualquier jugada de MIN hace que MAX sea el vencedor si ha optado por esa rama. Por el contrario, una estrategia ganadora para MIN será el subárbol en el que todos sus nodos terminales sean perdedores, teniendo en cuenta que cada vez que juega MAX habrá que considerar todos sus movimientos y cuando juega MIN sólo es necesario considerar una de las dos alternativas. El ejemplo comentado anteriormente de “tres en raya” se puede también expresar como árbol de búsqueda para aplicar esta estrategia de minimax, pero resulta tan compleja su representación total que sólo se pueden mostrar aspectos parciales del mismo. Este ejemplo se enuncia en Russell y Norving (1995). Como es el algoritmo de búsqueda en profundidad, su complejidad temporal es exponencial, pero la espacial es lineal. Es por lo tanto ineficiente para problemas reales por el tiempo de cómputo requerido, pero sin embargo permite abordar el problema de los juegos desde un punto de vista de la representación que facilita su compresión.

MAX

MIN

1 6 2 6 9 7 5 3 6 7

Page 125: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________125

Jugador

Oponente

… … …

Jugador

Oponente

m

n

Poda alfa-beta Es un método basado en el minimax pero más eficiente puesto que evita el recorrido exhaustivo de todos los nodos de un árbol de búsqueda. Reduce por lo tanto considerablemente el número de nodos expandidos, y por eso se le denomina método de poda, ya que no explora todas las ramas. Obtiene la misma solución que con el anterior pero no recorre las ramas que no van a influir en la decisión final, y por lo tanto, al no calcular sus consiguientes valores de utilidad ni expandir sus sucesores, requiere generalmente menor tiempo computacional [5]. La poda alfa-beta puede aplicarse a árboles de cualquier profundidad, y, a menudo, es posible podar subárboles enteros. Sin embargo, esa afirmación depende del orden en que se exploren los nodos del árbol. De hecho, en el peor de los casos habría que examinar todos los nodos terminales y tendría la misma complejidad que el procedimiento minimax. Para realizar la poda, éste método va anotando cuándo se puede hacer una poda porque en una rama haya algún nodo con un valor de utilidad inferior al de otro recorrido. Para ello lo que se hace es pasar, en cada llamada recursiva a un nodo hijo, dos valores (α y β) de manera que α marque la cota inferior de los valores que se van a ir buscando en la parte del árbol que queda por explorar, y β es la cota superior de los mismos valores. Si en algún momento α llega a ser mayor o igual que β no tendrá sentido seguir con la búsqueda, realizándose una poda α si estamos en un nodo MAX o β si estamos en un nodo MIN. Se suele denominar por eso poda α–β. Los valores de α y β se suelen inicializar a –∞ y +∞ respectivamente. También se les puede asignar a α el valor mínimo de la función de utilidad y a β el valor máximo que puede alcanzar la función de evaluación heurística.

Figura 27. Poda alfa-beta: el caso general. Si m es mejor que n para el Jugador, nunca iremos a n en el juego.

Page 126: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________126

Cuestionario de evaluación. Asigne el concepto con su respectiva definición. Conceptos: Espacio de estados, grafos de estado, aplicación de espacios de estados, algoritmo no determinístico, algoritmo determinístico, recorrido en profundidad, recorrido en amplitud, búsqueda heurística, métodos de búsqueda heurística. 1.- ______________________________________________________________________ Es el entorno donde se desarrolla el proceso de búsqueda, y lo componen todos los estados por los que se avanza y que se van recorriendo en la tarea de llegar a la meta. 2.- ______________________________________________________________________ La búsqueda en profundidad es otra forma de recorrer sistemáticamente una estructura del árbol para encontrar el nodo solución, pero recorriéndolo en profundidad, es decir, bajando de nivel. 3.- ______________________________________________________________________ Es un algoritmo que ofrece más de una única salida en función de su entrada, siempre que no se haya dado otra especificación adicional. Una ejecución de estos algoritmos permite elegir en un instante dado una secuencia de posibles estados de salida para una misma entrada o estado inicial. 4.- ______________________________________________________________________ Se caracterizan por la tendencia a limitar el tiempo y el espacio en donde buscar la respuesta a problemas complejos, y asumir que aceptaremos cuando le encontremos una buena solución, que puede no ser óptima. 5.- ______________________________________________________________________ Representa el conjunto de mundos, escenarios o situaciones que se pueden generar mediante los operadores u acciones. Ya que indica el recorrido del proceso de búsqueda que va moviéndose de un estado a otro, en la consecución del objetivo final. 6.- ______________________________________________________________________ Ascensión a la cima o gradiente, primero el mejor, búsqueda menor costo, algoritmo A*, algoritmos genéticos. 7.- ______________________________________________________________________ Es completamente predictivo si se conocen las entradas al mismo. Dicho de otra forma si se conocen las entradas del algoritmo siempre producirá la misma salida, y la máquina interna pasará por la misma secuencia de estados.

Page 127: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________127

8.- ______________________________________________________________________ El algoritmo define una forma de moverse a lo largo de la estructura arbórea examinando los valores de los nodos de manera sistemática y controlada, de forma que se pueda encontrar un nodo de solución. 9.- ______________________________________________________________________ Búsqueda de rutas en redes informáticas, rutas aéreas para viajar, problema del viajante, diseño de microchips, ensamblaje de componentes, desplazamiento de robots. Respuestas: espacio de estados, recorrido en profundidad, algoritmo no determinístico, búsqueda heurística, grafos de estado, métodos de búsqueda heurística, algoritmo deterministico, recorrido en amplitud, aplicación de espacios de estados.

Page 128: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________128

CONCLUSIÓN La Inteligencia Artificial ha hecho posibles aplicaciones nuevas tales como los sistemas de reconocimiento de voz, sistemas de control de inventarios, sistemas de vigilancia, robots y motores de búsqueda. Distintas ramas de la Inteligencia Artificial han ido alternando en popularidad: la aproximación conexionista, representada por las redes neuronales; la computación biológica, con algoritmos evolutivos como técnicas de búsqueda; la lógica borrosa, en un intento de dotar de sentido común a las máquinas, etc. Recientemente, el crecimiento de Internet y de la computación distribuida en general ha abierto nuevos campos de aplicación de la Inteligencia Artificial. Parece probable que el éxito de la Inteligencia Artificial a gran escala, la creación de inteligencia en el nivel humano y más allá, cambiaría las vidas a la mayoría de la humanidad. La verdadera naturaleza de nuestro trabajo y de nuestro papel cambiaría así como nuestro punto de vista de la inteligencia, la conciencia y el destino futuro de la raza humana. A este nivel, los sistemas de Inteligencia Artificial podrían suponer una amenaza directa a la autonomía humana, la libertad, e incluso la supervivencia. Por estas razones, la investigación en la Inteligencia Artificial no se puede divorciar de sus consecuencias éticas. Se puede observar que la Inteligencia Artificial ha progresado a lo largo de su corta existencia, pero todavía tiene validez la frase del ensayo de Alan Turing sobre Computing Machinery and Intelligence:

“Podemos observar sólo a poca distancia hacia delante, pero también se pude ver que todavía queda mucho por hacer.”

Page 129: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________129

ANEXOS

Anexo A Minería de datos.

Conjunto de técnicas y herramientas aplicadas al proceso no trivial de extraer y presentar conocimiento implícito, previamente desconocido, potencialmente útil y humanamente comprensible, a partir de grandes conjunto de datos, con objeto de predecir de forma automatizada tendencias y comportamientos; y describir de forma automatizada modelos previamente desconocidos. La minería de datos es una de las respuestas al problema de la necesidad de extraer conocimiento en forma automática a partir de grandes bases de datos. Es la aplicación de algoritmos específicos para extraer patrones de datos, un patrón es útil si nos permite decidir o realizar una acción, los patrones han de ser comprensibles por los seres humanos. El conocimiento lo constituyen aquellos patrones que hemos aprendido a detectar y que hemos guardado por que nos permiten aplicarlos a nuevos datos, y por lo tanto, predecir el comportamiento de los fenómenos o las personas que nos rodean. Al final resulta que el conocimiento no es tan mágico como parece. Disponemos de medios para aproximarnos a él y encontrar patrones interesantes para diversos campos. En la actualidad, existe una gran cantidad de aplicaciones en áreas tales como astronomía, biología molecular, aspectos climatológicos, medicina, industria y manufactura, mercadotecnia, inversión de casa de bolsa, detección de fraudes, etc.

Page 130: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________130

Anexo B Robótica

Magia y tecnología Desde etapas remotas de la cultura, el ser humano ha intentado crear máquinas semejantes a él, dotadas de la capacidad de actuar con autonomía y un propósito específico. Cientos de años después, la robótica aún se debate entre la realidad científica y la imaginación fantástica. En un inventario que comienza algunos siglos antes de Cristo, conocemos docenas de golems, animales artificiales, estatuas vivientes, androides y robots. Muchos fueron resultado de leyendas y figuraciones literarias. Otros surgieron como proyectos basados en principios científicos y desarrollos tecnológicos. El interés por crearlos fue, en un inicio, un asunto sobrenatural: el Golem, hecho de materia inerte, se animaba al escribir en un frente los nombres de Dios, y se destruía con sólo borrarlos; el homúnculo se hacía con la raíz de una mandrágora nutrida pacientemente con sangre, leche y miel. Al tiempo que prosperaban esas creencias, los protocientíficos de Europa, Asia y el mundo árabe intentaban producir criaturas mediante los principios de la física y la mecánica, sin recurrir a la magia: usaban vapor, palancas y resortes metálicos para animarlos. La confusión de los dos enfoques en la mente colectiva hacía pensar a muchos que los logros de éstos eran resultado de un pacto con el mismo diablo. El desarrollo de la ciencia durante la Ilustración eliminó la vertiente mágica de ese horizonte. Sin embargo, confió de manera exagerada en la capacidad intelectual del hombre al grado de atribuirle cualidades increíbles, como pensar que sería capaz de construir réplicas perfectas de las criaturas naturales y subordinarlas a él. Así surgió la gran época de los androides y las prodigiosas figuras de relojería que podían escribir, dibujar y tocar el clavicordio. Renacimiento de la era industrial Estas piezas de artesanía fueron desplazadas por el embate de la industrialización entre los siglos XVIII y XIX. Sin embargo, esa transformación que marcó profundamente todos los ámbitos de la acción humana no puso fin al propósito de crear seres artificiales. Por el contrario: lo alentó de muy diversas maneras. Lo hizo con el empleo de nuevos materiales y una posibilidad de desplazar al ser humano de las líneas de producción y sustituirlo con máquinas capaces de hacer sus tareas con varias ventajas: la reducción de los márgenes de error, la disminución de gastos en sueldos y prestaciones, y la posibilidad de operar de forma continua, sin quejas ni cansancio.

Page 131: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________131

Los autores de ciencia ficción, el género literario del siglo XX, vieron en ese proyecto el peligro inminente de un mundo automatizado y desprovisto de sentimientos, en el que las máquinas ganarían terreno al hombre y pondrían en peligro su misma supervivencia. Isaac Asimov creó el código pionero de ética robótica. Mientras tanto, los científicos prosiguieron en su afán de crear esas máquinas con avances sorprendentes en muchos de los casos, pero insignificantes comparados con lo ambicioso del proyecto. Los progresos en las ciencias de la computación dieron origen al concepto de Inteligencia Artificial: los robots no sólo podrían repetir las acciones físicas de los humanos, sino también sus procesos intelectuales, como la toma de decisiones y los sentimientos. Surgieron robots no antropoides para líneas de ensamblaje en plantas automotrices. Aparecieron en los quirófanos para realizar cirugías más precisas, y en la guerra para atacar con más poder que los humanos. Exploraron el espacio y las profundidades del mar. Aspiraron el polvo de los hogares y cortaron el césped de los jardines. El rasgo diferencial para colocarlos en una categoría distinta a la de meras máquinas es también la clave de la robótica: por su apariencia o movimientos parecen contar con intenciones y capacidad de acción propias. Son, además, sensibles a su ambiente y se mueven coordinadamente en él. A nuestra imagen y semejanza Algunas grandes corporaciones siguieron acariciando, por su parte, la elaboración de las criaturas semejantes al hombre desde la perspectiva lúdica: robots que bailan moviendo abanicos o tocan el piano, que juegan fútbol, abren la puerta cuando llaman las visitas y las invitan a pasar a la casa. Incluso se les concibió como sofisticados compañeros de juegos sexuales capaces de proporcionar placer e imitar las reacciones de quien lo experimenta. En el mundo pos-humano los robots, incluso, tuvieron sus primeras mezclas con los seres humanos en la figura quimérica de los cyborgs (criaturas orgánicas y mecánicas a la vez), la cual cobra realidad en los exo-esqueletos computarizados que elevan las capacidades del organismo, prótesis inteligentes que captan las señales de las terminales nerviosas y modelos que imitan la estructura y funciones de la mano humana. Luego de la primera muerte humana provocada por un robot y los accidentes asociados a éstos, resurge el miedo de perecer, como el doctor Frankenstein, destruidos por las máquinas que nosotros mismos hemos creado, y a cada nueva área de la robótica (como la nanorrobótica) se asocia un peligro potencial. Las leyes de Asimov se reformulan en un moderno código de ética para la era de los robots y se reajustan los marcos jurídicos para regular la operación e incorporación de esas máquinas en nuestras vidas. La dificultad de evaluar la sensatez de esas perspectivas, prevenciones y temores radica en que todavía hoy, aun dentro de los laboratorios más serios y rigurosos del mundo, el imaginario robótico (la fantasía de animar a la materia inanimada y dotarla de voluntad) contamina las investigaciones.

Page 132: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________132

Casos remotos Aunque hay escasos ejemplos de autómatas anteriores al siglo XIV, varios documentos registran la existencia de ciertos modelos. Algunos textos árabes mencionan un árbol de bronce que simulaba el proceso de crecimiento e incluía, además, pájaros y leones mecánicos. Uno de los más importantes es una paloma de madera diseñada y construida por el sabio Arquitas de Tarento (trabajo entre 400 y 350 a. C.), amigo de Platón. El ave se hallaba suspendida en la parte superior de una pértiga provista de pivotes, y se movía gracias a corrientes de vapor y aire comprimido. La importancia de esa figura es su carácter representativo de una serie de modelos semejantes empleados para el entretenimiento y dotados de movimiento gracias a la fuerza del agua, el uso de pesos y contrapesos, vapor y aire. Los escritos de Herón de Alejandría (redactados en el siglo I a. C.) ofrecen un completo inventario de ellos; mencionan, por ejemplo, un conjunto de marionetas mecánicas que representaban la Guerra de Troya, o a las curiosas estatuas que servían vino a los señores de la casa mediante un sistema de palancas o principios de gravedad. El polígrafo Polibio (ca. 200 a. C.) describe, por su parte, al autómata empleado por Nabis, el tirano de Esparta: era un sistema mecánico con forma de mujer, con afilados clavos en el pecho y los brazos. Cuando alguien no cumplía con el pago de una deuda, se le ponía enfrente del mecanismo y la mujer metálica lo abrazaba hasta producirle la muerte. Desarrollo en China Con su singular talento para la creación de maquinarias complejas, los antiguos chinos diseñaron sus primeros modelos casi al mismo tiempo de los que aparecían en Grecia. Más o menos en el siglo III a.C., bajo el reinado de la dinastía Han, existía una orquesta mecánica que deleitaba con sus notas al emperador, y se habla de otros pequeños mecanismos creados para su diversión. El interés por la elaboración de autómatas fue constante y éstos se perfeccionaron. Cuando la dinastía Sui estaba en el poder (entre los siglos VI y VII d.C.) ya eran comunes. Incluso se publicó el tratado Shui shih t’u Ching (Libro de las maravillas hidráulicas) para describir algunos modelos. En el periodo Tang (siglo VII a X) los autómatas siguieron siendo comunes en los círculos de la nobleza: había pájaros voladores, nutrias mecánicas capaces de atrapar peces y figuras que representaban seres humanos en distintas actitudes. Destacaba, por ejemplo, un conjunto de mujeres artificiales que cantaban y un monje que realizaba sus oraciones. Estas figuras comenzaron a inspirar la imaginación popular y dieron origen a cuentos y leyendas donde se incorporan elementos fantásticos, como hadas y héroes. La elaboración de autómatas alcanzó su auge con la dinastía Yuan (1279-1368), pero después declinó y sólo se practicó de manera ocasional.

Page 133: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________133

Mundo Islámico En el siglo XIII el sabio al –Jazari trabajaba para los gobernantes de Mesopotamia. Hoy se le considera unos de los mayores ingenieros de la historia, pues inventó el cigüeñal (mecanismo capaz de transformar el movimiento rectilíneo en rotatorio), los relojes movidos por los pesos de agua, y varios dispositivos automáticos. Autor de El libro del conocimiento de los ingeniosos mecanismos (obra clave de la historia de la tecnología), se interesó por la creación de autómatas. Realizó varios modelos de pavos reales impulsados con agua que se paseaban por los jardines de los poderosos, y también autómatas de la figura humana que realizaban tareas sencillas para sus dueños. Sin embargo, su creación más compleja y acabada fue un reloj, cuya composición incluía las figuras mecánicas de hombres, animales pequeños y un sorprendente elefante, que se desplazaban para anunciar el paso de las horas. Aunque estos modelos no se pudieron conservar, los principios que explicó en su obra de mecánica impulsaron trabajos afines en el mundo oriental y también en la Europa medieval, que descubrió asombrada esos progresos. El avance de autómatas en el mundo islámico se vio obstaculizado por una creencia religiosa: es un sacrilegio representar o emular la figura humana (e incluso el movimiento de los animales) pues son obras perfectas de Dios cuya sabiduría y estatus sagrados no han de ser desafiados. Interés medieval Hay varias referencias sobre los creadores de autómatas en la Edad Media. Uno de ellos fue el notable filósofo inglés Roger Bacon (1220-1292), quien concibió modelos de barcos y coches motorizados. Pionero del uso del método experimental, imagino prodigiosas piezas de ingeniería mecánica y planeó la realización de muchos autómatas que se quedaron en meros proyectos. Su mayor logro real fue una inquietante cabeza parlante. Otra figura destacada de ese periodo fue el alemán Alberto Magno (1200-1280). A lo largo de treinta años trabajó en el modelo de un autómata de hierro que realizaba diversas tareas en su hogar. Caminaba, abría la puerta, saludaba a las visitas y las invitaba a pasar. Se cuenta que, al ver esta máquina, Tomás de Aquino afirmó que era una obra del demonio e intentó destruirla. Menos impactantes fueron los trabajos del arquitecto francés Villard de Honnecourt, autor de un extenso libro de esquemas para la realización de dispositivos mecánicos (muchos de ellos empleados en las ceremonias de la iglesia) que cobraban forma de seres humanos y animales. Con todo y estos progresos, la Edad Media era también época de gran oscurantismo, y durante ella aparecieron muchas leyendas sobre sabios capaces de crear máquinas idénticas a los humanos. Como en el caso de Tomás de Aquino, se pensaba que el progreso tecnológico obedecía, más bien, a un pacto con las fuerzas del mal. La influencia negativa de la iglesia frenó los progresos en ese sentido.

Page 134: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________134

Modelos de Leonardo En la vasta obra de Leonardo da Vinci (1492-1519) sobresalen cientos de bocetos de proyectos mecánicos que jamás llegaron a construirse pero inspiraron a los constructores en los tiempos que siguieron. Se han encontrado entre ellos modelos de autómatas. Uno de los más interesantes fue trazado a finales del siglo XV. Es una figura humana que porta una armadura metálica, engarzada mediante diversos mecanismos que podrían dotarla de movimiento. En la época actual se intentó construirla y se comprobó que era tecnológicamente viable. Sus grandes conocimientos de ingeniería y mecánica le permitieron crear, en 1498, a uno de los autómatas más notables del Renacimiento. Para celebrar el ascenso al trono y la entrada del rey Luis XII a Milán, construyó un león mecánico de bronce, por encargo del papa León XII. El día de la fiesta de la formidable figura se desplazó por el salón donde se llevaba a cabo el banquete. Los asistentes lo siguieron sorprendidos mientras caminaba por las distintas habitaciones del palacio. De repente, el león se detuvo y un mecanismo de resortes hizo que su pecho se abriera. De él salieron cientos de flores que deleitaron a la concurrencia. Este prodigio le valió a Leonardo la amistad y el mecenazgo de Luis XII de Francia, para quien trabajo a lo largo de muchos años. Otros autómatas de aquella época se pierden entre la realidad y la ficción. Se dice que en el siglo XVI el ingeniero español Juanelo Turriano desarrolló un autómata de palo que recorría las calles de Toledo pidiendo limosna. Cuenta la leyenda que, a la muerte de su hija Francine, el filósofo francés René Descartes dio vida a una muñeca idéntica a ella que se movía por si misma y lo acompañaba en sus viajes. Por cierto, los trabajos cartesianos en relación con las leyes del movimiento y la mecánica fundamentaron muchos de los robots posteriores. Se inventa el resorte A inicios del siglo XVI Europa vivió un interés renovado por la elaboración de autómatas. Aparte de la tradición propia de la época medieval, recibió la influencia de Oriente y el mundo árabe, gracias al intenso intercambio comercial y la traducción de los primeros tratados sobre el tema, como los escritos de Herón de Alejandría. Quienes tenían dinero para financiar esas investigaciones, las concebían como meras formas de distracción. En las casas de los ricos miembros de la nobleza había intricadas fuentes mecánicas, dotadas de elementos que se movían, como los famosos juegos de agua en los jardines de Villa d’ Este, en Tívoli, cerca de Roma. Un gran proceso tecnológico en la elaboración de autómatas fue la invención del resorte de acero templado. Los primeros modelos datan del siglo XII y pronto se descubrió su potencial como genuina fuente portátil de movimiento, fácil de emplear y muy versátil por su diversidad de tamaños y posibilidad de adaptación a mecanismos muy pequeños, como los relojes. Se le usó en la relojería y en la joyería, y en la elaboración de muñecos y figuras de animales.

Page 135: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________135

A finales del siglo XIV, en Alemania, estos dispositivos servían para perfeccionar el mecanismo de pequeños barcos a escala, hechos de metales y piedras preciosas, que decoraban las mesas de los ricos y servían de entretenimiento a sus comensales. Por mucho tiempo, en la elaboración de autómatas hubo también una búsqueda estética, explicita en bien cuidados elementos decorativos que reflejan el estilo de la época. El pato metálico Voltaire comparó a Jaques de Vaucanson (1709-1782) con Prometeo, pues en su afán de dar vida “parecía robarse el fuego celestial”. Educado con los jesuitas, vivió la fiebre de los autómatas que cundía en la Francia del siglo XVIII. Cautivo al público con un muñeco tamborilero y un flautista (de dimensiones humanas) que tocaba doce melodías. Su autómata mas celebre, empero, fue un pato metálico que podía mover las alas (ensambladas con más de cuatrocientas piezas), incorporarse, sentarse y beber agua. Lo más sorprendente es que comía, realizaba la digestión y hasta defecaba. Cuando lo presentó en París en 1738, la gente se agolpaba y pagaba costosos boletos para verlo. De acuerdo con los estudiosos contemporáneos a nosotros, ese interés respondía al convencimiento de que algún día la mente humana sería capaz de construir una criatura artificial. La fantasía que cautivó a los espectadores se reveló como un fraude, al menos en parte. Un curioso observador descubrió que el maíz que le daban de comer quedaba almacenado en un pequeño depósito, y que el excremento salía de otro, donde se había cargado antes. Sin embargo, nadie puso en duda el perfecto carácter automático de las otras acciones que el pato desempeñaba. Hoy lo conocemos gracias a grabados y dibujos de aquellos días; el modelo original se perdió después de 1743, cuando De Vaucanson se hartó de sus autómatas y los puso a la venta. Figuras pequeñas y grandes A finales del siglo XVIII surgieron modelos mucho más sofisticados en Europa. En Francia los hermanos Rochat se especializaron en la elaboración de pájaros miniatura que cantaban. Eran colocados en jaulas colgantes o en paneles para anunciar la hora. Al mismo tiempo aparecieron las ‘cajas de magos’, que sorprendían a los visitantes de los salones. En una caja especial el usuario introducía un pequeño disco con una pregunta grabada. De la caja salía un mago miniatura cuya mano apuntaba a la respuesta correcta entre las opciones escritas en una tableta. Los nobles se deleitaban con los ‘cuadros mecánicos’. Estos eran pasajes enmarcados cuyas figuras (animales y personas) y otros elementos (ríos y molinos) se movían ante los ojos del espectador gracias a un mecanismo oculto de relojería. Uno de los más famosos fue elaborado por encargo de Madame de Pompadour y hoy se exhibe en el Conservatorio Nacional de Artes y Oficios de Francia. Los mismos principios, a diferente escala, se aplicaban en los teatros mecánicos, cuyos elementos eran de tamaño real. El más notable

Page 136: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________136

se encuentra en los jardines de Hellbrunn, cerca de Salzburgo, Austria. Armado entre 1748 y 1752, presenta 113 figuras con movimiento hidráulico. La robótica: una nueva disciplina Correspondió a Isaac Asimov, escritor estadounidense de origen ruso, crear la otra palabra más importante relacionada con el tema: ‘robótica’, que aparece citada por primera vez en su relato Runaround (1942). En ella se enuncian, asimismo, las famosas ‘leyes de la robótica’, que inspiraron tantos libros y películas de ficción. El propio Asimov escribió una completa serie de libros dedicados a ese tema, como la colección Yo robot (1950), las novelas Las cavernas de acero (1954) y Robots e imperio (1985). Aunque todos se inscriben en la literatura de la ciencia ficción, los conocimientos científicos y tecnológicos del autor abrieron rutas a la reflexión sobre las dificultades de construir verdaderos robots inteligentes, y los problemas éticos y sociales que se derivarían de ellos. Los robots que aparecen en sus libros son muy semejantes a los homúnculos, pero carecen de las características que dan carácter humano a éstos, en especial los sentimientos o la conciencia de la identidad y existencia propias. Con todo y sus orígenes literarios, la palabra robótica se convirtió en el término estándar para referirse, de acuerdo con el diccionario Merriam Webster’s, a “la tecnología que se ocupa de diseño, la construcción y la operación de robots automatizados”. Unimate La industria renuncio a crear robots con rasgos humanoides, pero le interesaron las máquinas con un comportamiento más o menos flexible y algunos atributos de naturaleza humana. Ya desde los primeros modelos se aprovecharon los avances de la computación para crear esquemas de instrucciones que sean introducidos a las máquinas para la realización automática de tareas. El más notable de los inicios fue Unimate, un brazo hidráulico controlado electrónicamente para levantar objetos, que podía repetir secuencias arbitrarias de movimientos. Fue inventado en 1954 por el ingeniero estadounidense George Devol y creado por Unimation Inc., compañía fundada por Joseph Engelberg en 1956. Para 1961 la compañía general Motors lo introdujo en su planta de hierro fundido en Trenton, Nueva Jersey. Su desempeño fue tan exitoso que ese mismo año se inició la primera producción en línea especial para la industria automotriz. Su tarea principal era retirar y apilar las piezas que salían de una máquina fundidora. Además de ser un dispositivo pionero para la industria de la robótica, se trata de uno de los robots más duraderos, pues hasta la fecha se fabrica (con un mecanismo perfeccionado) y se vende a las fábricas de autos, el sector que ha dado mayor impulso a la robótica para hacer eficientes sus tareas y abatir costos. Uno de sus extremos más sofisticados es la Máquina Universal Programable para Ensamblaje, complejo brazo robótico capaz de colocar paneles y luces a los automóviles.

Page 137: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________137

Aparecen los robots móviles Una útil variedad de los robots industriales son los robots móviles, que cuentan con la capacidad de desplazarse, a diferencia de los fijos, los cuales realizan su acción sujetos en un mismo lugar. El primer robot móvil apareció en 1954. Construido por Barrett Electronics, era un carro eléctrico sin conductor capaz de desplazar cajas de productos en el almacén de una tienda de abarrotes en Carolina del Sur. Con él nacían los ‘vehículos guiados automáticamente’ que, en su primera generación respondían a las señales emitidas por cables eléctricos que se hallaban colocados bajos los pisos de concreto de las instalaciones correspondientes. Con el paso del tiempo estos vehículos se vieron beneficiados por los avances en la computación. A partir de 1980 la tecnología para su uso se basó en controles con microprocesadores que permitieron realizar operaciones más complejas que las basadas en meras señales eléctricas. La gran utilidad de estos equipos impulsó las crecientes inversiones. A partir de 1990 una nueva generación se ubica en el espacio mediante el reflejo de sensores fijos dispuestos en el equipo. Trabajan con precisión, han reducido los accidentes en las instalaciones y trajeron consigo un abatimiento en los costos operativos. Instituto de la robótica Aunque en la década de 1970 la tecnología de la robótica era incipiente, ya se vislumbraban las posibilidades que abriría el futuro. Algunos académicos llamaron la atención sobre el fenómeno. Uno de los movimientos clave en este sentido fue la creación, en 1979, del Instituto de Robótica de Carnegie Mellon, en Pittsburgh, dedicado a la investigación de la robótica. Luego de casi 30 años de trabajo, hoy cuenta con una planta de más de 200 investigadores. Obtiene sus fondos del Departamento de Defensa de Estados Unidos (la Fuerza Aérea, el Ejército y los Marines) y de la NASA. Trabaja con compañías privadas que patrocinan proyectos con interés específico para ellas. A cambio son las primeras en recibir un reporte de los resultados. La rápida transferencia de tecnología les permite obtener ventajas significativas en la manufactura y la productividad. Hoy se llevan a cabo varios proyectos en el Instituto ‘Treasure Hunt’ enfoca la forma de crear una interacción coordinada en ambientes adversos entre diferentes robots y entre éstos y los humanos. ‘Legless Locomotion’ estudia nuevas formas de movimiento para los robots que no estén basadas en la estructura y modelo de las piernas humanas. El proyecto EODR-VLC se propone crear un robot capaz de detectar y destruir explosivos. ‘Telepresence’ es un robot con propósitos educativos que incluye la información completa de los programas de estudio y una amplia fuente de referencia para apoyar a los estudiantes. También se trabaja en una flotilla automatizada de sensores oceánicos para detectar peligros potenciales para la vida en el mar. Hoy dia Carnegie Mellon sigue siendo uno de los centros de investigación robótica más importante del mundo.

Page 138: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________138

En busca de la Inteligencia Artificial En 1955 John McCarty, investigador del Instituto Tecnológico de Massachusetts, acuñó el concepto ‘Inteligencia Artificial’ para referirse a la construcción de máquinas inteligentes. Su idea expresaba una nueva orientación para la robótica. No se trataba solo de crear equipos mecanizados, capaces de crear tareas repetitivas; el desafio era hacer máquinas con capacidad de aprender, adaptarse, tomar decisiones y, en general, emular los procesos de la mente humana. La realización de este propósito es un esfuerzo multidisciplinario en el que confluyen la computación, las neurociencias y la psicología, entre muchas otras disciplinas. Sus logros han sido parciales. En 1965 Joseph Weizenbaum diseñó un programa interactivo con la capacidad de sostener un diálogo con un humano. Entre 1961 y 1980, en la Universidad de Edimburgo se construyó se construyó una generación de robots dotados de visión binocular, capaces de desplazarse dentro de un espacio limitado, en respuesta a situaciones cambiantes. En el año 1997 marcó un gran hito para la Inteligencia Artificial: el campeón ruso de ajedrez Garry Kasparov sostuvo una partida con Deep Blue una computadora de IBM. En un encuentro sólo verosímil en las páginas de ciencia ficción, la máquina lo derrotó. Era la primera vez que un equipo de cómputo desafiaba y superaba la capacidad de la inteligencia humana. En este contexto, otro objetivo a alcanzar es la fabricación de automóviles robots que puedan desplazarse sin la necesidad de un conductor y respondan a situaciones cambiantes. Un área del Departamento de Defensa de Estados Unidos, especializada en investigación de proyectos avanzados, organiza concursos anuales para quien presente los mejores modelos. Las competencias se han realizado con relativo éxito en espacios despejados; el máximo desafío se ha planteado para noviembre próximo (2007). El ‘reto urbano’ consiste en lograr que un vehículo robot recorra 96 kilómetros de una ciudad en menos de seis horas. Es indispensable que logre sortear los problemas que un conductor común enfrenta en el tráfico cotidiano, y además, obedezca las reglas de tránsito vigentes. La programación del vehículo será compleja, pues deberá incluir la toma de decisiones en tiempo real, basadas en las acciones de los demás vehículos. Se ha ofrecido un premio de millones de dólares. Modernos juguetes En la década de 1980 aparecieron los primeros robots lúdicos, controlados por microprocesador, capaces de hablar o moverse en respuesta a diferentes sonidos o cambios de luz. En 1999 Sony lanzó al mercado una generación de mascotas robot con el nombre de AIBO, en referencia a su uso de la Inteligencia Artificial. Están provistos de motores que activan sus miembros; micrófonos y una cámara. Con el tiempo los modelos se fueron perfeccionando. Bajo la apariencia de material de un pequeño perro, reconocen hasta 100 instrucciones diferentes de sus dueños. Incluso se creo un programa especial para recrear la educación de una mascota. Mediante una secuencia de instrucciones y la interacción continua, el dueño emula las fases de crecimiento que van desde cachorro hasta el animal adulto. Muchos programas necesarios

Page 139: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________139

para la operación de estos equipos se hallan disponibles en internet. El máximo logro de Sony fue el robot QRIO, un androide de medio metro con la capacidad de caminar, correr y reconocer la voz y el rostro de las personas. En 2006 se llegó a coordinar a estos robots en una sorprendente rutina de baile cuya coreografía tomó varias semanas de trabajo, la peculiar danza robótica puede admirarse en pc.watch.impress.co.jp/docs/2003/1218/sony_06.wmv. Su capacidad de manejar el balón los enfrentó en partidos de futbol. Con todos y estos éxitos, los QRIO se quedaron en meros prototipos y nunca salieron al mercado. En 2006 Sony informó que sorprendería con su programa de robótica, dejaría de producir los AIBO y nunca lanzaría los QRIO. Sin embargo, aprovecharía algunas de las tecnologías creadas para éstos en otros de sus productos comerciales. Trabajo industrial En la actualidad los robots son un recurso común en la industria manufacturera, donde realizan tres tipos de acciones diferentes. La primera es el manejo de materiales; consiste en la transferencia de materias primas, su carga y descarga de las máquinas. Algunas tareas son muy sencillas: el robot recoge piezas de un contenedor y las coloca en otro. Pero hay tareas más complejas, como la colocación de las piezas en empaques especiales. Para ello se valen de un agarre especial. La segunda área de actividad es el desarrollo de operaciones. El robot manipula una herramienta para completar una parte del proceso industrial, por ejemplo una pistola de aire para pintar autopartes. A veces también pule piezas o aplica diferentes terminados. La tercera área en la que se desenvuelven es el ensamblaje y la inspección. Ésta se ha intensificado a causa de los elevados costos del trabajo manual. Los robots se programan dependiendo del tipo de objetos que deban inspeccionar. Por lo general cuentan con sensores para determinar si el elemento a revisar cumple con los estándares de calidad requeridos. Es interesante observar que los robots industriales no emulan siempre las acciones humanas. Por ejemplo, resulta muy difícil que se sirvan de un desarmador (uno de los procesos más comunes en la fabricación manual). Por esa razón las partes industriales se modifican, para que el robot las pueda manipular mejor. Los robots se convierten en sustitutos del trabajo humano. Están clara las características de varias tareas industriales en las que las máquinas podrían reemplazar a los hombres: 1) La operación es repetitiva y exige los mismos movimientos mediante un ciclo; 2) La tarea es arriesgada e incomoda para una persona; 3) El desempeño exige el uso de una herramienta difícil de manejar; 4) La tarea permite que el robot sea utilizado en dos o tres operaciones consecutivas.

Page 140: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________140

Robots sexuales A comienzos de este siglo la robótica también se ha orientado hacia la satisfacción de las necesidades sexuales de los seres humanos. Se trata de la creación de modelos avanzado de muñecas o muñecos de tamaño natural que se utilizan como compañeros sexuales. Estas figuras, hechas de materiales y textiles sensibles a los cambios de temperatura, cuentan con varias tecnologías características del sexo virtual. Complejos sistemas de cómputo permiten el reconocimiento de la voz y la emulación de los cambios físicos que ocurren durante el coito y el orgasmo. En 2006 los funcionarios de la Red Europea para la investigación en Robótica afirmaron que en unos cinco años será común tener relaciones sexuales con estos robots que pronto ingresarán al mercado. En este 2007 el inventor alemán Michael Harriman informó que había creado “el robot sexual más sofisticado del mundo”. Su modelo incluye una réplica del corazón, que late con mayor intensidad durante la relación sexual; la respiración del autómata se acelera, la temperatura ‘corporal’ se eleva, excepto la de los pies. En palabras de Harriman, “es casi imposible distinguirlos de una persona real, pero estoy haciendo mejoras y sólo estaré contento cuando superen a la personas reales.” Los primeros modelos tienen un elevado precio en venta (unos 8, 000 dólares), que puede aumentar si se solicitan adaptaciones, como un mayor tamaño de los senos. No se descarta en el futuro la apertura de prostíbulos mecanizados con robots femeninos adaptados ‘a la carta’. Tecnologías de guerra Otra inspiración de la robótica es la creación de equipos y dispositivos que puedan reemplazar a los seres humanos en las peligrosas operaciones del frente de batalla. En la actualidad existen aviones que pueden volar sin tripulantes para realizar tareas de reconocimiento y ataque, y los equipos especializados en la detección y desactivación de minas antipersonales. Talon Sword es un rifle robot que se opera a control remoto y asemeja un pequeño tanque. Tiene mucha mayor estabilidad que un rifle común manejado por un humano. Realizó sus primeras misiones en Bosnia, durante el año 2000, y sigue activo en la guerra de Irak. Creada por iRobot, Packbot es una pequeña grúa capaz de acceder a espacios confinados y apoderarse de las municiones con un brazo robótico. Cien unidades se encuentran activas en Afganistán (donde se apropian de las municiones del Talibán) y en Irak se usan para desactivar bombas colocadas en carreteras. Existen también un vehículo autónomo todoterreno, provisto con armas antitanques, que puede transportar bombas y municiones y cuenta con la capacidad de avanzar por zonas peligrosas o accidentadas para vehículos comunes. El Desert Hawk, de Lockeed Martin, es una avioneta portátil (puede cargarla un soldado) que se hace despegar sin tripulación para tareas de patrullaje durante el día y la noche en los desiertos de Irak. Robocopter es

Page 141: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________141

un helicóptero miniatura con la capacidad de realizar misiones delicadas en zonas inaccesibles para las naves mayores. El experto en robótica Hami Kazerooni, de la Universidad de California, trabaja en un exoesqueleto robótico para combatientes que les permita llevar consigo pesadas cargas sin tener que aguantar su peso. Provisto de un chip especial, detecta los movimientos del portador y compensa la carga. Su importancia conceptual es la fusión de robot y ser humano. Al servicio del hogar La serie de dibujos animados Los Supersonicos, de Hanna-Barbera, se transmitió en la década de 1970 y entretenía a chicos y a grandes con su peculiar visión del futuro. Uno de los personajes favoritos era Robotina, un robot femenino encargado de realizar las tareas del hogar. Crear un equipo semejante ha sido una ilusión muy acariciada por la robótica. Mientras tal objetivo aún aparece muy remoto, en el transcurso de los últimos años han surgido aparatos electrodomésticos ‘inteligentes’ que relevan a sus dueños de tareas específicas. Hay, por ejemplo, limpiadoras automáticas de albercas que recorren en el fondo de la piscina para retirar desechos y sedimentos. Se han fabricado aspiradoras cuyos sensores evitan obstáculos y detectan la acumulación de polvo en zonas determinadas. Scooba lava automáticamente los pisos y otras superficies con una solución líquida especial que se le deposita en un tanque. Se han difundido también las máquinas de este tipo para podar el césped. Pero las necesidades de la casa no se limitan a la limpieza, también entran en juego los factores afectivos y sociales. Paro, del ingeniero japonés Takanori Shibata, es el robot de una ballena que representa distintas emociones con un efecto calmante y relajante para las personas enfermas o que se recuperan de alguna intervención quirúrgica. PaPeRo, diseñado en Japón a partir de 1997, tiene por objetivo interactuar con los seres humanos y hacer compañía a las personas solas. Cuenta con recursos para cambiar de conducta según las acciones del dueño: si no se interactúa con él, se vuelve flojo; si se le trata con afecto y se le dicen palabras cariñosas, camina alrededor del propietario y se le acerca con cariño. Cuenta con un vocabulario de 3, 000 palabras. Don Cuco el guapo Este curioso personaje es el robot mexicano más famoso. Fue desarrollado en 1992 en el departamento de microelectrónica de la Universidad Autónoma de Puebla. Con una forma antropoide imaginada por la escultora Gloria Erika Weimer, mide dos metros y pesa 130 kilos. Cuenta con capacidad para realizar 28 diferentes movimientos y tiene dos cámaras en los ojos. Su función más interesante es que puede leer partituras musicales e interpretar las notas de un piano eléctrico. Lo logra mediante el procesamiento de imágenes, su capacidad de reconocer figuras y su poder de análisis de datos. En su realización contribuyeron más de cincuenta especialistas de la universidad en un esfuerzo multidisciplinario. Su cerebro está basado en un sofisticado microprocesador electrónico y

Page 142: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________142

tiene otras muchas aplicaciones potenciales. Don Cuco se ha presentado en ferias tecnológicas y comerciales de España y América Latina. En México la robótica es incipiente. El Centro de Investigación y Estudios Avanzados del Instituto Politécnico Nacional ofrece la maestría y el doctorado en Ciencias de la Robótica y Manufactura, que se orienta al trabajo industrial. La facultad de Ingeniería de la UNAM cuenta, por su parte, con un laboratorio de interfaces inteligentes del que se desprende el laboratorio de biorrobótica. En 2006 la Universidad La Salle realizó el Segundo Concurso Mexicano de Robótica, al que se presentaron casi cien participantes. Los ganadores fueron los robots cooperativos construidos con bloques Lego y unos curiosos artefactos programados para hallar su salida en un laberinto. Robodocs Uno de los campos más fértiles de la robótica contemporánea es su empleo en medicina. En su variante más común destaca el uso de brazos robóticos, operados por un cirujano, para realizar distintos procedimientos. Se utilizan en cirugías para retirar la vesícula biliar, reparar la válvula mitral, colocar un bypass en la arteria coronaria y extirpar miomas uterinos o el útero mismo. El cirujano realiza pequeñas incisiones en la zona, llena la cavidad con dióxido de carbono e introduce una cámara que ilumina el interior y transmite sus imágenes a un monitor. Entonces se introduce el instrumental operado por brazos robóticos que se controlan desde una consola. Al eliminarse el temblor de las manos, los movimientos se vuelven mucho más precisos y adquieren un rango y destreza superiores a los de las técnicas quirúrgicas tradicionales. Los brazos robóticos manejan el instrumental médico: agarran, separan, cortan y cosen tejido durante la operación. En Estados Unidos se han probado dos sistemas de cirugía robótica. El Sistema Quirúrgico Da Vinci cuesta un millón de dólares, cuenta con un robot con brazos mecánicos articulados, un centro de control y un monitor. Los instrumentos funcionan gracias a las señales eléctricas en sincronía con las manos del médico. Sus beneficios son cicatrices más pequeñas, uso reducido de la anestesia y menores riesgos y tiempos de hospitalización. El otro sistema (Zeus) ofrece algunas ventajas similares pero tiene un costo menor. Se conocen ambos como robots amo-esclavo, por la subordinación continua de la máquina a las exigencias de su operador. Otro avance significativo son pequeños robots para la reparación de zonas dañadas de la médula espinal y la detección de células madre en el organismo. En algunos hospitales ya hay robots responsables de distribuir medicamentos en las estaciones de las enfermeras, apoyar la asistencia médica en las unidades de terapia intensiva y hasta conducir las sesiones de terapia física para pacientes en rehabilitación.

Page 143: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________143

Nanorrobots Visualizamos a los robots como grandes máquina pero la ciencia ha imaginado una versión distinta. Los nanorrobots son ingenios microscópicos creados para realizar tareas precisas a escalas mucho más pequeñas que un milímetro. Entre sus posibles aplicaciones se encuentra el ensamblaje y mantenimiento de sistemas sofisticados en el procedimiento conocido como fabricación molecular, empleado para la construcción de circuitos. Una de sus grandes ventajas potenciales es la capacidad de construir réplicas de sí mismos y reemplazar así las unidades que se gasten o se destruyan. Un campo distinto de aplicación es la medicina. Una hipotética flota de estos robots miniatura podría combatir infecciones dentro del cuerpo, reparar tejidos dañados, desbloquear arterias y hasta reemplazar órganos completos. El poder de controlar las interacciones atómicas podría resultar útil, afirman los investigadores, en aplicaciones relacionadas con la carrera espacial, la producción de memoria para computadora, la manipulación del ADN y las antenas ópticas. Otra ventaja es su duración, pues pueden mantenerse activos por lapsos muy prolongados. La nanorrobótica es uno de los campos más nuevos y menos explorados. Su origen data desde los 80 con trabajos pioneros de Richard Feynman, y sus posibilidades originaron el concepto ‘sociedad poshumana’, una organización en la que las máquinas miniatura gobernarían todos los aspectos de la vida. También se han propuesto escenarios en los que estos organismos podrían salir de control y provocar el fin del hombre. Proyecto Asimo Llamado así en honor de Isaac Asimov y también por las siglas en inglés de “Paso avanzado en Movilidad Innovadora”, este proyecto de la empresa japonesa Honda, lanzado en la década de 1980, se ha propuesto construir un robot humanoide con capacidad de movimiento propio e interacción con las personas. En su base se encuentra un profundo estudio de los movimientos del cuerpo humano. El robot puede avanzar y retroceder, moverse hacia los lados y hasta subir y bajar escaleras. La primera versión se presento en 2004 y podía correr a 3 km. La segunda se dio a conocer en 2005 y contaba con características mejoradas. Gracias a los sensores colocados en sus muñecas el robot, que mide 1.20 metros, es capaz de cargar carros, bandejas y paquetes, y detecta la presencia de humanos, con lo que su interacción es automática, y se desplaza con mayor facilidad. Desde el modelo EO, creado en 1986, Honda quiso capitalizar su experiencia en la construcción de motocicletas y automóviles. Su propósito es “crear un compañero para las personas, un nuevo tipo de robot que funcione en la sociedad”. Asimo es compacto y ligero, cuenta con la llamada ‘Tecnología de la inteligencia’, que le hace posible reconocer objetos en movimiento, sonidos, posturas, entornos y rostros. Identifica hasta a diez personas diferentes, responde a su nombre, saluda con la mano y su conexión a internet le permite dar a conocer las más recientes noticias o buscar información. Sobre la espalda carga una mochila que porta su batería de 30 voltios.

Page 144: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________144

Shadow hand Uno de los mayores desafíos en la robótica es la emulación de la compleja estructura y los movimientos de las manos humanas. En Estados Unidos se trabaja en el Proyecto Shadow con ese objetivo. Iniciado por Richard Greenhil en la década de 1990, actualmente tiene en el mercado una mano derecha, con todo y antebrazo, cuyas medidas son el promedio de nuestras manos con un rango amplio de movimientos. Su estructura mecánica emula la ósea de las manos humanas, aunque se han creado articulaciones y funciones especiales para fortalecer, por ejemplo, el dedo meñique. El movimiento se logra en virtud de cuarenta músculos artificiales neumáticos (operados mediante aire a presión). En cada uno el flujo de aire está controlado por ochenta válvulas. La muñeca incluye dos articulaciones extra que permiten flexionar y contraer la mano. El equipo contiene 234 sensores que determinan la posición de los dedos, la calidad de las superficies que la mano recorre (emulación del sentido del tacto) y la demanda de movimiento muscular. Para lograr una similitud perfecta con las funciones de la mano humana, los dedos están cubiertos por una capa fina de poliuretano semejante a la piel que da poder de agarre. Los datos que captan sus terminales se transmiten a una computadora que regula su desempeño. También destacan los esfuerzos de Hugh Herr, del MIT, y sus prótesis robóticas. Su pierna Rheo Knee es capaz de reconocer las señales nerviosas que el cerebro envía en los músculos cercanos. Con ella, las personas caminan sin problema y hasta pueden subir escaleras. Depth X Los robots han sido parte fundamental de la exploración espacial. Dos de ellos (Spirit y Opportunity) realizan hoy día un reconocimiento del suelo de Marte. En Mayo de 2007 un conjunto de investigadores de la Agencia estadounidense para el Espacio (NASA por sus siglas en inglés) comenzó las pruebas del equipo más sofisticado de este tipo. El aparato, llamado Explorador Profundo Freático Termal, fue concebido para explorar las lunas de Júpiter en una misión que podría desarrollarse dentro de treinta años. El también llamado Depth X cuenta con cincuenta sensores de sonar para sentir la temperatura, y un equipo de análisis químico que verifica cambios en el agua, en el oxígeno y otros factores. Mediante estos procesos el robot determina por sí mismo cuáles muestras de material debe recuperar, y cuándo y cómo ha de regresar a su punto de partida. Para ello utiliza una poderosa computadora que crea un mapa tridimensional del entorno y lo actualiza constantemente. Sus primeras pruebas se realizaron en un profundo cenote mexicano, hasta ahora inexplorado por seres humanos. Se le conoce como Zacatón y esta ubicado a las afueras de Tampico, Tamaulipas. El robot tuvo por misión descender a una profundidad de 305 metros y recuperar materiales del fondo.

Page 145: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________145

Con un aspecto semejante al de un automóvil, Depth X tuvo un costo de más de cinco millones de dólares. Su característica más sobresaliente es su completa autonomía y relativa capacidad para la toma de decisiones en circunstancias difíciles. La ética de la robótica En 1981 la prensa internacional publicó una noticia que parecía cumplir con lo escrito en las más sombrías fantasías de ciencia ficción. Kenji Urada, empleado en una planta de la empresa japonesa Kawasaki, se subió a una valla de seguridad para realizar algunas tareas de mantenimiento a un robot industrial. Sin embargo, olvidó apagarlo. El poderoso brazo hidráulico del robot siguió trabajando y empujó con fuerza al operario hacia una máquina trituradora. Urada era la primera persona que moría en manos de un robot desobediente de las leyes enunciadas por Isaac Asimov. En 2006, al recapitular sobre este hecho, la revista inglesa The Economist reportó que desde entonces hasta ahora han ocurrido por lo menos, 77 accidentes relacionados con robots en Gran Bretaña: obreros que mueren aplastados, reciben golpes en la cabeza y hasta han sido quemados. Las serias preocupaciones derivadas de situaciones así hicieron que en 2006 se realizará en Génova, Italia, una conferencia para establecer tácticas de seguridad que impidan a los robots dañar a la gente, en el marco de una nueva disciplina, la ‘ética de la robótica’. Los especialistas se hacen varias preguntas: ¿Es razonable tener en casa robots tan poderosos que puedan aplastarnos? ¿Es justificable que un avión robot empleado en las guerras dispare sobre civiles inocentes por una mera falla del sistema? ¿De quién es la culpa si una aspiradora robótica succiona y daña el cuerpo de un niño? Las compañías de seguros estudian la situación para promover pólizas especiales. El creciente avance de las máquinas exige nuevas regulaciones legales para dirigir su acción y normar los vínculos con los humanos. Mientras el gobierno coreano prepara un código de ética que incorpora las leyes de Asimov pero no se limita a ellas, un estudio del gobierno británico revela que en un futuro no tan lejano los robots podrían llegar a exigir los derechos humanos de los ciudadanos comunes. Entre sus demandas se incluirían, por ejemplo, servicios médicos y de mantenimiento [9]. Estudiantes mexicanos crean perro virtual Tres estudiantes mexicanos crearon un perro virtual tridimensional bautizado como "Poligochi", con el que quieren "concienciar a niños, jóvenes y adultos acerca de la responsabilidad de tener una mascota". El Instituto Politécnico Nacional (IPN) detalla en un comunicado que "para que la mascota alcance la edad máxima se requiere que el usuario controle adecuadamente los niveles de sus necesidades básicas".

Page 146: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________146

Los creadores del ingenio, parecido al "Tamagochi" japonés popularizado en los años noventa, diseñaron la mascota para que su dueño le dé comida y bebida, lo saque a pasear, lo lleve a hacer sus necesidades, le regule su temperatura y no deje que se canse. El "Poligochi" funciona con un programa informático diseñado por Héctor Díaz, Miguel González y Emmanuel Mendoza, de la Escuela Superior de Cómputo del IPN, a quienes supervisó el catedrático Rodolfo Romero Herrera. Díaz señaló que al animal virtual "se le tiene que enseñar el sitio en el que debe comer, dormir, hacer sus necesidades fisiológicas y protegerse de los cambios climáticos". El "Poligochi" vive en un patio donde se encuentran su casa y un arbolito, y debe hacer frente a distintos cambios climáticos que se pueden programar. El usuario puede hacer cosas como silbar a su perro, sacarlo de paseo, regañarle, castigarle, darle de comer o acariciarlo. La mascota virtual fue desarrollada con base en técnicas de computación afectiva, Inteligencia Artificial, redes neuronales y sistemas de programación de algoritmos. Entre las mayores complicaciones que tuvo crear el "Poligochi" destacó la de desarrollar sus afectos. El estado de ánimo de la mascota, que con otro "Poligochi" de distinto sexo puede llegar a tener cachorros, depende de lo bien que se la trate, que en el mejor de los casos prolonga su vida año y medio. El programa mexicano, en el que se trabaja para ponerlo a disposición del público por Internet, se hizo sobre la base de investigaciones en computación afectiva realizadas en el Instituto Tecnológico de Massachussets (MIT) ya que en México este campo de conocimiento está poco desarrollado [10].

Page 147: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________147

Anexo C Prolog

Generalidades sobre Prolog La programación lógica surge hacia 1979 donde Kowalski establece el enunciado del patrón de programación lógica:

Algoritmo + lógica + control La programación lógica involucra:

El uso de hechos y reglas y la construcción de deducciones para procesar consultas.

Formas Mínimas en Prolog: Corresponden a las formas más sencillas de información manipulada por Prolog:

1. Los átomos de información: una cadena de texto que empieza por letra minúscula o un valor numérico con signo opcional

2. Las variables: Son cadenas de texto que empiezan por una letra mayúscula o por el signo _ (underscore).

Las Relaciones: Con las formas mínimas anteriormente descritas se pueden construir las relaciones, base del conocimiento en Prolog. Ejemplos de relaciones:

padre(pepe, maria).

/* en esta relación se denota una existencia de parentesco entre pepe y maria, prolog en este punto no conoce quien es el padre de quien, somos nosotros quienes le damos esa interpretación, prolog solamente se encarga de crear una relación en su base del conocimiento*/ Obsérvese la sintaxis de la relación descrita:

• Nótese que los nombres de las personas empiezan por letras minúsculas indicando que son átomos de información y variables.

• El nombre de la relación es también un átomo de información y no debe ser una cantidad numérica.

• Número de objetos relacionados: sin son cero irán entre paréntesis y si son mas de uno, irán separados por comas.

• Los hechos terminan siempre en punto. (.)

Page 148: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________148

Al tener por ejemplo dentro de nuestra base del conocimiento, los siguientes hechos: sucesor(1,2). sucesor(2,3). sucesor(3,4). sucesor(4,5). sucesor(5,6). sucesor(6,7). Podemos realizar consultas como las siguientes: sucesor(X,6). sucesor(2,Y). sucesor(X,Y). Nótese como los átomos de información que se desean consultar han sido reemplazados por variables (letra inicial en mayúscula); en este punto Prolog busca dentro de su base del conocimiento un hecho que haga emparejamiento con la información suministrada en la consulta. Primero, busca una predicado (nombre de la relación) llamado sucesor, luego hace una comparación entre la información que se tiene (6), para llenar la variable X con la información almacenada en el hecho, así, prolog responde X=5. De la misma forma ocurre con la segunda consulta; en la tercera no existe información para hacer emparejamiento en la base del conocimiento, por lo tanto el responderá con el primer hecho que tenga ese predicado. Responderá: X = 1 Y = 2; En este punto tenemos dos opciones: quedar satisfechos con la respuesta que prolog nos ha suministrado oprimiendo enter o solicitarle consultas sobre otros posibles emparejamientos, para la cual debemos oprimir punto y coma (;). Es también posible construir en prolog consultas complejas con los operadores AND(,), OR(;) y NOT(not) de la siguiente forma: legusta(pepe,pesca). legusta(maria,bailar). legusta(ana,pesca). legusta(pepe,musica). legusta(maria,musica). legusta(ana,bailar). Se pueden realizar las siguientes preguntas sobre la base de información: -¿Le gusta la música a Pepe y a Maria?:

?-legusta(pepe,musica),legusta(maria,musica). -¿Le gusta bailar a Pepe o a Maria le gusta la música?:

?-legusta(pepe,musica);legusta(maria,musica). -¿Le gusta bailar a Pepe y a Maria no le gusta la música?:

?-legusta(pepe,musica),not(legusta(maria,musica)).

Page 149: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________149

Para que estas consultas funcionen de forma adecuada es necesario no dejar espacios entre los operadores. Predicados, Hechos y Reglas: En este caso la relación padre(pepe, maria). se asume como un hecho, pues no está involucrando variables en su definición; al nombre de la relación se le llama predicado. Más formalmente un predicado es un conjunto de hechos o reglas que tienen un mismo nombre y la misma cantidad de objetos relacionados, si se trata de reglas, en nombre de la conclusión es el mismo y el número de objetos relacionados es también el mismo. Una regla es una sola conclusión seguida por el signo :- el cual hace la vez de SI condicional, seguida por una o mas relaciones de condición. Por ejemplo: sucesor(1,2). sucesor(2,3). sucesor(3,4). sucesor(4,5). sucesor(5,6). sucesor(6,7). suma(1,X,R):-sucesor(X,R). suma(N,X,R):-sucesor(M,N),suma(M,X,R1),sucesor(R1,R). Aquí podemos apreciar como suma es una regla que depende en gran medida de la condición sucesor. En la segunda regla de suma se observa que existe mas de una condición, por tanto estas van separadas por coma; podemos observar también que se realiza una operación recursiva. Esta misma sentencia traducida en un lenguaje de programación como Java quedaría: int suma(int N, int X, int R) {

if ( N == 1 ) {

sucesor(X,R); } else {

sucesor(M,N); suma(M,X,R1); sucesor(R1,R2);

} }

Page 150: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________150

Obsérvese que en la segunda línea del bloque else se realiza un llamado recursivo al método suma, de forma tal, que se realiza la operación disminuyendo el valor de N hasta que este se hace 1, en el cual termina la recursividad y se origina la respuesta. Listas Una lista en prolog es una secuencia lineal de objetos, con la característica de que toda la manipulación de la secuencia se realiza por el extremo izquierdo, debido a la forma como se representa una lista generalizada. Una lista vacía se representa de la siguiente manera: [] Una lista generalizada, con un número de objetos distinto de 0: [X|Y] //en esta lista se está declarando por lo menos un objeto X y una secuencia de objetos a la derecha de X, pudiendo ser incluso una lista vacía. De igual manera, la lista [X,Y|Z] contiene por lo menos dos objetos: X y Y, seguidos de una secuencia de objetos Z, la cual puede ser vacía. La notación se extiende de esta manera, para una lista con por lo menos tres objetos, su representación sería la siguiente: [X,Y,Z|W] Ejemplo de manipulación de listas: se quiere a una lista agregar otra lista al final, de esta forma, si la primera lista es [a,b,c] y la segunda es [d,e,f], la lista resultante sería: [a,b,c,d,e,f]. El programa que realiza esto en prolog sería: agregar([],L,L). agregar([A|R],L,[A|T]):-agregar(R,L,T). En este programa nuevamente vemos la recursión en la segunda línea: se va disminuyendo el tamaño de la primera lista hasta que este es cero, en cuyo caso finaliza la recursión y se origina una respuesta. Observamos que los elementos en la regla son: lista inicial, lista que se adiciona, lista final. Práctica:

1. Descargue e instale SWI-Prolog http://www.swi.psy.uva.nl/cgi-bin/nph-download/SWI-Prolog/w32pl5213.exe

2. Ejecute la aplicación.

3. Cree un nuevo archivo usando la opción File--New (use un nombre tal como prueba.pl)

Page 151: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________151

4. Digite: prueba(uno). prueba(dos).

5. Guarde el archivo y salga del editor.

6. Cargue el archivo usando la opción File--Consult

7. En el prompt digite: prueba(X). <enter> ; ;

Resultado

X = uno X = dos

Page 152: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________152

Anexo D Cláusulas de Horn

Existe un tipo especial de cláusulas que es importante en la Inteligencia Artificial y en otros ámbitos de las ciencias de la computación. Una cláusula de Horn es una cláusula que tiene, como mucho, un literal positivo. Algunos ejemplos de cláusulas de Horn son las siguientes: P, ¬P v Q, ¬P v ¬Q v R, ¬P v ¬R Las cláusulas de este tipo fueron investigadas por primera vez por el lógico Alfred Horn. Existen tres tipos de cláusulas de Horn:

• Un átomo simple –a menudo llamado <<hecho>>-. • Una implicación –a menudo llamada <<regla>>- cuyo antecedente consiste en

una conjunción de literales positivos y cuyo consecuente es un solo literal positivo. • Un conjunto de literales negativos –escritos en forma de implicación, con un

antecedente compuesto por una conjunción de literales positivos, y un consecuente vacío-. Esta forma se obtiene, por ejemplo, cuando uno niega una fbf que debe ser demostrada, compuesta por una conjunción de literales positivos. A dicha cláusula se le denominara <<objetivo>>.

Sin embargo, en las cláusulas de Horn no hay disyunciones de literales positivos. Los sistemas para demostrar objetivos a partir de reglas y hechos con cláusulas de Horn proporcionan, por lo general, una ordenación de la información suministrada al sistema mediante la escritura de los hechos y las reglas en un cierto orden, mediante la escritura de los literales en el antecedente de cada regla o del objetivo en otro cierto orden, y, posteriormente, mediante la búsqueda de la demostración, basada en una estrategia de tipo primero en profundidad, combinada con estas ordenaciones previas.

Page 153: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________153

Anexo E Tres en raya

Este problema se enuncia inicialmente así: El tablero se representa por un vector de nueve componentes, donde las componentes del vector se corresponden con las posiciones del tablero de la siguiente forma:

1 2 3 4 5 6 7 8 9

Posición. Una estructura que contiene un vector de nueve componentes. Tablero. Que representa al tablero, una lista de posiciones del tablero que podría ser el siguiente movimiento, y un número que representa una estimación de la probabilidad de que la jugada lleve a la victoria al jugador que mueve. El algoritmo. Para decidir la siguiente jugada, se debe tener en cuenta las posiciones del tablero que resultarán de cada posible movimiento. Decidir que posición es la mejor, realizar la jugada que corresponda a esa posición, y asignar la clasificación de mejor movimiento a la posición actual. Para decidir cuál de todas las posibles posiciones es mejor, se realiza para cada una de ellas la siguiente: Ver si se produce la victoria. Si ocurre catalogarla como la mejor dándole el mejor puesto en la clasificación. En caso contrario, considerar todos los posibles movimientos que el oponente puede realizar en la siguiente jugada. Mirar cual de ellos es pero para nosotros (mediante una llamada recursiva a este procedimiento). Asumir que el oponente realizará este movimiento. Cualquier puesto que tenga la jugada, asignarla al nodo que se está considerando. El mejor nodo es el que resulte con un puesto más alto. Este algoritmo inspecciona varias secuencias de movimientos para encontrar aquella que lleva a la victoria. Intenta maximizar la probabilidad de victoria, mediante la suposición de que el oponente intentará minimizar dicha probabilidad. Este algoritmo se denomina minimax.

Page 154: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________154

El programa necesita mucho más tiempo que otras soluciones debido a que debe realizar una búsqueda en un árbol que representa todas las posibles secuencias de jugada antes de realizar un movimiento. Sin embargo es superior a los demás programas en algo importante: podría ser ampliado para manipular juegos mas complicados que las tres en raya, cualidad en que otras soluciones fracasan. La anterior solución es un ejemplo del uso de una técnica de Inteligencia Artificial. Para problemas muy pequeños, es menos eficiente que los métodos más directos. Sin embargo puede usarse en aquellas situaciones en las que fallen los métodos tradicionales [24].

Page 155: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________155

BIBLIOGRAFÍA [1] Inteligencia Artificial, Un Enfoque Moderno Stuart Russell, Meter Norving Ed. Prentice Hall, 2004. [2] Sistemas Expertos Principios y Programación Giarratano, Riley Ed. Thomson Learning, 2001. [3] Principios de Inteligencia Artificial y Sistemas Expertos David W. Rolston Ed. Mc. Graw Hill, 1990. [4] Expert Systems: Desing and Development Durkin, J. Maxwell Macmilan, 1994. [5] Inteligencia Artificial e Ingeniería del Conocimiento Gonzalo Pajares Martinsanz, Matilde Santos Peñas Ed. Alfaomega, 2006. [6] Inteligencia Artificial Patrick Henry Winston Ed. Addison Wesley Iberoamericana, 1992 [7] Sistemas Expertos, Una metodología de programación J. P. Sánchez y Beltrán Ed. Macrobit, 1990 [8] Utilización de C en Inteligencia Artificial Herbert Schildt Ed. Osborne, McGraw-Hill, 1989 [Anderson, 1980] Anderson, J. R. 1983 The Architecture of Cognition. Harvard University Press. Cambridge, Massachusetts. [Boyer, R. S. and Moore, J. S., 1984] Proof checking the RSA public key encryption algorithm. American Mathematical Monthly, 91(3), 181-189. [Boyer, R.S. and Moore, J.S., 1979] A Computational Logic. Academic Press, New York. [Bryson y Ho, 1969] Bryson A. E. And Ho, Y.-C. 1969. Applied Optimal Control. Blaisdell, New York. [Cohen, 1995] Cohen, W. W. and Page, C. D. 1995 Learnability in inductive logic programming: Methods and results. New Generation Computing, 13 (3-4), 369-409.

Page 156: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________156

[Craik, 1943] Craik, K. J. 1943 The Nature of Explanation. Cambridge University Press, Cambridge, UK. [Friedberg, 1958] Friedberg, R. M. 1958. A learning machine: Part I. IBM Journal, 2, 2-13. [Guard, J. Oglesby, F., Bennett, J., and Settle, L., 1969] Semi-automated mathematics. Journal of the Association for Computing Machinery, 16, 49-62 [Havelun, K., Lowry, M., Park, S., Pecheur, C., Penix, J., Visser, W., and White, J.L., 2000] Formal Analysis of the remote agent before and after flight. In Proceedings of the 5th NASA Langley Formal Methods Workshop, Williamsburg, VA. [Holland y col., 1975] J. H. Holland, Adaption in natural and artificial systems. University of Michigan Press, 1975. [Holzmann, G.J., 1997] The Spin model checker. ISSS Transactions on Software Engineering, 23(5), 279-295. [Horvitz y Heckerman, 1986; Horvitzet al., 1986] Horvitz, E. J. And Heckerman, D. 1986. The inconsistent use of measures of certainty in artificial intelligence research. In Kanal, L. N. And Lemmer, J. F. (Eds.). Uncertainty in Artificial Intelligence, pp. 137-151. Elsevier/North-Holland, Amsterdam, London, New York. [Kowalski, 1979] Robert Kowalski, Algorithm = Logic + Control, Comm. ACM, 22, (7), pp. 424-436, 1979. [Lighthill, 1973] Lighthill, J. 1973 Artificial Intelligence: A general survey. In Lighthill, J., Sutherland, N. S., Needham, R. M., Longuet-Higgins, H. C., and Michie, D. (Eds.), Artificial Intelligence: A paper Symposium. Science Research Council of Great Britain, London. [McAllester, D.A., 1989] Ontic: A Knowledge Representation System for Mathematics. MIT Press, Cambridge, Massachussets. [McCarthy et al., 1955] J., Minsky, M. L., Rochester, N., and Shannon, C. E. 1955. Proposal for the Dartmout summer research project on artificial intelligence. Tech. Rep., Dartmouth College. [McCune, W., 1997] Solution of the robbins problem. Journal of Automated Reasoning, 19(3), 263-276. [McDermott, 1982] McDermott, J. 1982. R1: A Rule-based configure of computer systems. Artificial Intelligence, 19(1), 39-88. [Mill, 1863] Mill, J. S. 1863 Utilitarianism. Parker, Son and Bourn, London. [Minsky, 1967] Marvin Minsky, Computation: Finite and Infinite Machines, Prentice-Hall, p. 228, 1967.

Page 157: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________157

[Nalwa, 1993, p.15] Nalwa, V. S. 1993 A Guided Tour of Computer Vision. Addison-Wesley, Reading, Massachusetts. [Newell y Simon, 1961] Newell, A. And Simon, H. A. 1961 GPS, a program that simulates human thought. In Billing, H. (Ed.). Lernende Automaten, pp. 109-124. R. Olden-bourg, Munich. [Newell, 1990; Laird et al., 1987] Newell, A. 1990 Unified Theories of Cognition. Harvard University Press, Cambridge, Massachusetts. Laird, J. E., Newell, A., and Rosenbloom, P. S. 1987. SOAR: An architecture for general intelligence. Artificial Intelligence, 33 (1), 1-64. [Nussbaum, 1978, p. 40] Nussbaum, M. C. 1978 Aristotle’s De Motu Animalium. Princeton University Press, Princeton, New Jersey. [Quillian, 1968] M.R. Quillian, Semantic Memory, Semantic Information Processing, Marvin Minsky, ed., MIT Press, pp. 227-270, 1968. [Robinson, 1965] J.A. Robinson, A Machine-Oriented Logic Based on the Resolution Principle, J.ACM, 12 (1), pp. 23-41, enero de 1986. [Rumelhart y MacClelland, 1986] Rumelhart, D. E. and McClelland, J. L. (Eds.). 1986 Parallel Distributed Processing. MIT Press, Cambridge, Massachusetts. [Shankar, N., 1986] Proof-Cheking Metamathematics Ph. D. Thesis, Computer Science Department, University of Texas at Austin. [Smolesky, 1988] Smolesky, P. 1988 On the proper treatment of connectionism. Behavioral and Brain Sciences, 2, 1-74 [Srivas, M. And Bickford, M., 1990] Formal verification of a pipelined microprocessor. IEEE software, 7(5), 52-64. [Stillings, 1987] Neil A. Stillings, et al., Cognitive Science: An Introduction, MIT Press, 1987. [Widrow y Hoff, 1960; Widrow, 1962] Widrow, B and Hoff, M.E. 1960 Adaptive switching circuits. In 1960 IRE WESCON Convention Record, pp. 96-104, New York. [Wilson y Keil, 1999] Wilson, R. A. And Keil, F. C. (Eds.). 1999 The MIT Encyclopedia of the Cognitive Sciences. MIT Press, Cambridge, Massachusetts. [Winston, 1984] Patrick Henry Winston, Artificial Intelligence, 2nd ed., Addison-Wesley Pub., 1984. [Wojciechowski, W.S. and Wojcik, A.S., 1983] Automated design of multiple-valued logic circuits by automated theorem proving techniques. IEEE Transactions of Computers, c-32(9), 785-798.

Page 158: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________158

[Wos, L. And Winker, S., 1983] Open questiones solved with the assistance of AURA. In Bledsoe, W.W. and Loveland, D. [9] Revista muy interesante, mes julio 2007, www.muyinteresante.com.mx [10] http://tecnologia.prodigy.msn.com, Julio 2007 http://tecnologia.prodigy.msn.com/LandinTech/landingpage.aspx?cp-documentid=5129468 [11] http://www.monografias.com, Agosto 2006 http://www.monografias.com/trabajos/iartificial/pagina4_35.htm [12] http://serbal.pntic.mec.es, Noviembre 2006 http://serbal.pntic.mec.es/~cmunoz11/carlos43.pdf [13] http://club.telepolis.com, Enero 2007 Glosario de Carlos von der Becke, http://club.telepolis.com/ohcop/causal_r.html [14] http://www.monografias.com, Agosto 2006 http://www.monografias.com/trabajos10/trabajos/trabajos.shtml [15] http://club.telepolis.com, Marzo 2007 http://club.telepolis.com/ohcop/sisrlogi.html [16] http://scalab.uc3m.es, Abril 2007 http://scalab.uc3m.es/~docweb/ia/introduccion_sistemas_produccion/tutorial/tutorial.html [17] http://www.lsi.upc.es, Febrero 2007 http://www.lsi.upc.es/~luigi/II/IA-2007-primavera/3b-inferencia-en-agentes-basados-en-conocimiento-(es).pdf [18] http://www.lsi.upc.es, Enero 2007 http://www.lsi.upc.es/~luigi/II/IA-2007-primavera/3b-inferencia-en-agentes-basados-en-conocimiento-(es).pdf [19] http://www.unlu.edu.ar, Diciembre 2006 http://www.unlu.edu.ar/~ogarcia/se/doc/SistemasBasadosenConocimiento(1).ppt#11 [20] http://eia.udg.es, Octubre 2006 http://eia.udg.es/~quimmel/altres_documents/articles/inteligencia-aei.galerades.pdf [21] http://www.cs.us.es, Agosto 2006 http://www.cs.us.es/cursos/iia-2004/temas/tema-01.pdf [22] http://club.telepolis.com, Abril 2007 http://club.telepolis.com/ohcop/mcevnode.html http://club.telepolis.com/ohcop/non_dete.html http://club.telepolis.com/ohcop/determin.html

Page 159: Inteligencia Artificial

Inteligencia Artificial

_________________________________________________________________________159

http://es.wikipedia.org/wiki/Imagen:World_of_Ptolemy_as_shown_by_Johannes_de_Armsshein_-_Ulm_1482.png http://es.wikipedia.org/wiki/Algoritmo_determin%C3%ADstico http://es.wikipedia.org/wiki/Algoritmo_no_determin%C3%ADstico [23] http://www.cs.us.es, Mayo 2007 http://www.cs.us.es/cursos/ia1-2002/temas/tema-05.pdf [24] http://www.fenicios.com, Mayo 2007 http://www.fenicios.com/cgibin/foro/programacion/messages/391.htm http://www.fenicios.com/cgibin/foro/programacion/messages/862.htm http://dmi.uib.es/~abasolo/intart/1-introduccion.html