Titulaciones Ciclos§ Ingeniero en Informática § Ingeniero en Informática* * Pénsum por asignaturas VIII X Inteligencia Artifcial Guía didáctica 4 créditos Autoras: Mgs. Priscila Marisela Valdiviezo Díaz Mgs. Dunia Inés Jara Roa Asesoría virtual: www.utpl.edu.ec Departamento de Ciencias de la Computación y Electrónica Sección Inteligencia y Artifcial UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja MODALIDAD ABIERTA Y A DISTANCIA Estimado estudiante recuerde que la presente guía didáctica está disponible en el EVA en formato PDF interactivo, lo que le permitirá acceder en línea a todos los recursos educativos. INTELIGENCIA ARTIFICIAL Guía didáctica Priscila Marisela Valdiviezo Díaz Dunia Inés Jara Roa UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA CC Ecuador 3.0 By NC ND Diagramación, diseño e impresión: EDILOJA Cía. Ltda. Telefax: 593-7-2611418 San Cayetano Alto s/n www.ediloja.com.ec
[email protected] Loja-Ecuador Segunda edición Primera reimpresión ISBN-978-9942-08-418-7 Esta versión impresa, ha sido acreditada bajo la licencia Creative Commons Ecuador 3.0 de reconocimiento -no comercial- sin obras derivadas; ni se realicen obras derivadas. http://www.creativecommons.org/licences/by-nc-nd/3.0/ec/ Octubre, 2013 2. Índice .................................................................................................................................. 3 3. Introducción .................................................................................................................... 5 4. Bibliografía....................................................................................................................... 6 4.1 Básica ........................................................................................................................... 6 4.2 Complementaria ............................................................................................................ 6 5. Orientaciones generales para el estudio............................................................. 8 6. Proceso de enseñanza aprendizaje ..................................................................... 9 PRIMER BIMESTRE 6.1 Competencias genéricas: ............................................................................................... 9 6.2 Planificación para el trabajo del alumno ........................................................................ 9 6.3 Sistema de evaluación de la asignatura (primero y segundo bimestre) ....................... 11 6.4 Orientaciones específicas para el aprendizaje por competencias .................................. 12 UNIDAD 1: Introducción a la Inteligencia Artificial ..................................................................... 12 1.1 ¿Qué es la Inteligencia Artificial (IA)? .......................................................................... 12 1.2. Aspectos históricos ......................................................................................................... 12 1.3 Estado del arte de la IA ................................................................................................ 14 1.4 Aplicación de la IA y su relación con otras áreas ......................................................... 15 Autoevaluación No 1 .............................................................................................................. 16 UNIDAD 2: Agentes inteligentes .............................................................................................. 18 2.1 Agentes inteligentes y su entorno .................................................................................. 18 2.2 Agentes inteligentes y su entorno .................................................................................. 20 2.3 Estructura y tipos de agentes ......................................................................................... 20 2.4 Construcción de agentes inteligentes ............................................................................ 22 Autoevaluación No 2 .............................................................................................................. 24 UNIDAD 3: Resolución de problemas mediante búsquedas ........................................................ 26 3.1 Agentes de resolución de problemas ............................................................................ 26 3.2 Búsqueda de soluciones ................................................................................................ 28 3.3 Búsqueda no informada ................................................................................................. 29 3.4 Búsqueda con información parcial ................................................................................. 34 Autoevaluación No 3 .............................................................................................................. 35 UNIDAD 4: Estrategias de búsqueda informada y de exploración ............................................ 37 4.1 Estrategias de búsqueda informada ............................................................................... 37 4.2 Algoritmos de búsqueda local y problemas de optimización ........................................ 39 4.3 Búsqueda online y ambientes desconocidos .................................................................. 40 Autoevaluación No 4 .............................................................................................................. 43 SEGUNDO BIMESTRE 6.5 Competencias genéricas ................................................................................................. 45 6.6 Planificación para el trabajo del alumno ........................................................................ 45 6.7 Orientaciones específicas para el aprendizaje por competencias .................................. 47 UNIDAD 5: Problemas de satisfacción de restricciones ................................................................ 47 5.1 Introducción a los Problemas de Satisfacción de Restricciones ...................................... 47 5.2 Búsqueda con vuelta atrás para resolver problemas de satisfacción de restricciones (PSR) ............................................................................................................................. 49 5.3 Búsqueda local para problemas de satisfacción de restricciones ................................... 51 5.4 Estructura de los problemas ........................................................................................... 52 Autoevaluación No 5 .............................................................................................................. 53 UNIDAD 6: Búsqueda entre adversarios .................................................................................... 54 6.1 Juegos ............................................................................................................................ 54 6.2 Algoritmo MINIMAX ....................................................................................................... 54 6.3 Poda Alfa-Beta................................................................................................................ 56 Autoevaluación No 6 .............................................................................................................. 58 UNIDAD 7: Agentes lógicos ....................................................................................................... 59 7.1 Agentes basados en el conocimiento ............................................................................. 59 7.2 Lógica Proposicional – Patrones de razonamiento ........................................................ 61 7.4. Encadenamiento hacia adelante y hacia atrás ............................................................... 63 7.5 Agentes basados en lógica proposicional ...................................................................... 66 Autoevaluación No 7 .............................................................................................................. 67 UNIDAD 8: Representación del Conocimiento ............................................................................. 68 8.1 Introducción a la representación del conocimiento ........................................................ 68 8.2 Técnicas de representación del conocimiento ................................................................ 69 8.3 Web semántica .............................................................................................................. 71 8.4 Tecnologías de la Web Semántica: Ontologías .............................................................. 73 Autoevaluación N0 8 ............................................................................................................. 76 7. Solucionario ..................................................................................................................... 77 8. Anexos ................................................................................................................................ 87 UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 5 Guía didáctica: Inteligencia Artificial PRELIMINARES En el presente período académico tenemos el agrado de compartir con usted los conocimientos de la asignatura “Inteligencia Artifcial” que tiene cuatro créditos, y forma parte del noveno ciclo de la titulación de Ingeniero en Informática. La Inteligencia Artifcial (IA) estudia las estrategias y algoritmos que permiten a los computadores dotar de funciones a fn de que se acerque a la forma de pensar de las personas. Esta disciplina, puede ser aplicada en distintas áreas del conocimiento, como: medicina, control automático, análisis de datos, etc. , razón por la cual el estudio de esta disciplina es importante en su formación profesional como ingeniero en informática. El propósito de esta asignatura es aprender las técnicas adecuadas para la resolución de problemas del mundo real y conocer su aplicabilidad en el ámbito informático. Para alcanzar dicho propósito, el programa de la asignatura se lo ha organizado de la siguiente forma: en el primer bimestre se contemplan temas como: Introducción a la Inteligencia Artifcial, donde se conocerán aspectos generales de esta disciplina, agentes inteligentes, resolución de problemas mediante búsqueda y estrategias de búsqueda informada y de exploración. En el segundo bimestre, se abarcarán unidades relacionadas a la búsqueda entre adversarios, donde se cubrirán temas como el algoritmo minimax, y la poda alfa-beta; agentes lógicos que contempla temas relacionados a lógica proposicional y a patrones de razonamiento; fnalmente, lo relacionado a la representación del conocimiento. Seleccionamos estos temas ya que creemos que son la base fundamental de “cómo piensa un computador”. Además, como esta materia contempla también elementos de práctica, hemos creído conveniente proponer ejercicios que se irán desarrollando con el fn de afanzar la teoría. Hagamos de este camino de la Inteligencia Artifcial, un sendero para transitar juntos, recuerde que siempre estaremos apoyándolo en sus inquietudes. Estamos seguras que con su esfuerzo personal y nuestro apoyo podrá culminar con éxito el aprendizaje de esta asignatura. ¡Adelante, el éxito es suyo! Guía didáctica: Inteligencia Artificial UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 6 PRELIMINARES 4.1 Básica Ø Russell, S. (2004). Inteligencia Artifcial un enfoque moderno. 2da edición. Madrid. España: Prentice Hall. El texto de Inteligencia Artifcial describe los conceptos necesarios para aprender y comprender los temas que iremos tratando en esta asignatura. De los contenidos desarrollados en el texto, hemos seleccionado los capítulos que consideramos que son los más importantes para que se haga una idea lo sufcientemente clara de la forma en cómo pueden pensar los computadores. El texto además contiene por cada temática, ejercicios resueltos y propuestos que le permitirán reforzar lo aprendido. Los ejercicios resueltos se explican paso a paso y presentan comentarios y explicaciones. Además al fnalizar cada capítulo le ofrece un resumen que es un repaso rápido de conceptos aplicados. Ø Valdiviezo, P., Jara, D. (2012). Guía didáctica de Inteligencia Artifcial. Loja. Ecuador: Editorial UTPL. La Guía didáctica de Inteligencia Artifcial, orienta y da las pautas que el estudiante necesita para su aprendizaje, está diseñada para acompañar el estudio de la asignatura. Encontrará en ella ejemplos aclarativos de la teoría del texto base y elementos educativos para resolver sus dudas e inquietudes. 4.2 Complementaria Ø Mancilla, L. (2008). Qué son agentes inteligentes software. Revista Gaceta Ide@s CONCYTEG Año 3. Núm. 31, 21 de enero. Recuperado de: http://octi.guanajuato.gob.mx/octigto/formularios/ideasConcyteg/Archivos/31072008_ QUE_SON_AGENTES_INTELIGENTES_SOFTWARE.pdf En este documento se presenta una descripción general de agentes inteligentes y se enfatiza de manera especial la construcción de agentes inteligentes. Ø Borrajo, D. y otros. (2009). Inteligencia Artifcial. Departamento de Informática. Universidad Carlos III de Madrid. Recuperado de: http://ocw.uc3m.es/informatica/inteligencia- artifcial-2/material-de-clase-1/ En este curso encontrará material relacionado a la inteligencia artifcial como: Búsqueda no informada, búsqueda heurística y Búsqueda con adversarios. Ø Cruz, J. J. (2006). Encadenamiento hacia adelante y atrás. Recuperado de: http://www.uco. es/~i42crjij/aplicada/tema4.htm Este documento le ayudará a comprender como es posible realizar búsquedas en espacios de estados. Ø Marcos, M. (2002). Lógica Proposicional en Wumpus. Recuperado de: http://www.cs.us. es/~joaquin/tema-02.pdf UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 7 Guía didáctica: Inteligencia Artificial PRELIMINARES Otro de los ejemplos clásicos de la inteligencia artifcial y que va a encontrar en el texto base, es el mundo de wumpus. Revise la programación del juego en este documento y por supuesto puede intentar jugar y ganar. Ø Scribb, D. (2005). Algorítmica Backtracking. Recuperado de: http://es.scribd.com/ doc/39928396/Algoritmica-Backtracking Estudiaremos el algoritmo Backtracking que permite obtener mejores resultados que el utilizar lógica proposicional. En este documento se dará cuenta como todo problema puede ser sometido a un análisis de búsqueda hacia atrás obteniendo mejores soluciones aunque no necesariamente las más optimas. Esta última frase debió haber despertado su curiosidad. Anímese a revisarlo. Ø Hendler, J., Berners-Lee, T., Miller, E. (2002). Integrating applications on the semantic web. Journal of the institute of electricarl engineers of japan, vol 122(10), october, 2002. Recuperado de: http://www.w3.org/2002/07/swint En este artículo encontrará una visión general de lo que es la Web semántica, algunas aplicaciones integradas a esta web y los servicios que ofrece. Ø Neches, R., Fikes, R., Finin, T., Gruber, T., Patil, R., Senator, T., Swartout, W.R. (1991). Enabling Technology for Knowledge Sharing. AI Magazine. Winter. 36-56. Recuperado de: http:// tomgruber.org/writing/AIMag12-03-004.pdf En este artículo encontrará temas relacionados al proceso de construcción y representación del conocimiento mediante ontologías. Ø Camacho. K. (s.a). Lógica Proposicional en la Inteligencia Artifcial. Recuperado de: http:// www.monografas.com/trabajos51/inteligencia-artifcial/inteligencia-artifcial.shtml En este sitio encontrará una explicación de los agentes basados en conocimiento y sobre los lenguajes de representación del conocimiento. Guía didáctica: Inteligencia Artificial UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 8 PRELIMINARES El estudiar a distancia requiere de organización y planifcación, estamos seguras que si usted realiza el mejor esfuerzo posible y con nuestro apoyo logrará habituarse a esta modalidad de estudio; con el objeto de posibilitar un aprendizaje signifcativo le ofrecemos algunas orientaciones que le ayudarán a comprender mejor a esta rama de la ciencia. Tenga en cuenta que para el desarrollo de la asignatura dispone de los siguientes materiales y recursos didácticos: • Guía didáctica y el texto base, detallados en la bibliografía y que son los recursos indispensables para el desarrollo del aprendizaje. Trabajaremos constantemente con los dos, por lo que le recomendamos siempre tenerlos a mano. • Para iniciar con el estudio de los contenidos de cada uno de los bimestres es necesario que revise la planifcación para el trabajo del alumno; así como el sistema de evaluación que se encuentra detallo en el inciso 6.3 de la presente guía didáctica. • Los contenidos están divididos en dos partes, para el primer bimestre estudiaremos las unidades 1 a 4 y para el segundo bimestre abordaremos las unidades 5, 6, 7 y 8. • Es importante que escoja un lugar tranquilo, bien iluminado para el estudio de la asignatura. • Para una mejor comprensión de los temas señalados en la guía didáctica, utilice técnicas de estudio como el subrayado, resúmenes, cuadros sinópticos, y/o cualquier estrategia de aprendizaje de acuerdo a su manera de aprender.temas. • Como parte de su autoaprendizaje es recomendable que resuelva las autoevaluaciones ubicadas al fnal de cada unidad de estudio, luego puede verifcar las respuestas en el solucionario que se encuentra al fnal de la guía didáctica. • Los trabajos a distancia son un conjunto de actividades teóricas y prácticas que deben desarrollarse obligatoriamente con el fn de evaluar el progreso de su aprendizaje. Existen dos evaluaciones a distancia, una por cada bimestre, que tienen una valoración de seis puntos cada una (2 puntos para la parte objetiva, y 4 para la parte de ensayo que corresponden a las actividades propuestas en su trabajo a distancia y a su participación en el EVA). Estas evaluaciones son requisito para presentarse a la evaluación presencial. • Le recomendamos ingresar al EVA semanalmente, para consultar a los profesores y revisar algunas orientaciones que se hayan ingresado respecto a los temas de la asignatura o para el desarrollo de las evaluaciones. • Si tiene alguna inquietud recuerde que no está solo, cuenta con nuestro apoyo, estamos dispuestos a ayudarle, puede realizar las respectivas consultas vía telefónica, email o a través de los diferentes medios que le ofrece la universidad. Esperamos que todas y cada una de estas recomendaciones contribuyan al aprendizaje exitoso de esta asignatura. UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 9 Guía didáctica: Inteligencia Artificial PRIMER BIMESTRE PRIMER BIMESTRE 6.1 Competencias genéricas: • Pensamiento crítico • Comportamiento ético • Innovación 6.2 Planificación para el trabajo del alumno Competencias específcas Indicadores de aprendizaje Contenidos Actividades de Aprendizaje Cronograma Orientativo Unidades/Temas Tiempo estimado Capacidad para analizar problemas de programación y plantear soluciones mediante métodos computacionales. Maneja los antecedentes culturales que han servido de base para el desarrollo de la Inteligencia Artifcial Defne lo que se entiende por Inteligencia Artifcial UNIDAD 1: INTRODUCCIÓN A LA INTELIGENCIA ARTIFICIAL 1.1. ¿Qué es Inteligencia Artifcial? 1.2. Aspectos históricos 1.3. Estado de arte de Inteligencia Artifcial 1.4. Áreas de aplicación y relaciones con otras ciencias Leer comprensivamente y obtener las principales ideas del capítulo 1 del texto básico Desarrollar los ejercicios 1.11, 1.12, y 1.13 del texto básico. Realizar la Autoevaluación 1. Semana 1 y 2: 8 horas de autoestudio y 8 horas de interacción Capacidad para implementar aplicaciones a partir de especifcaciones y modelos de software utilizando estándares de documentación y de programación. Identifca un agente racional de un agente inteligente Reconoce y defne la arquitectura de agentes basados en la utilidad UNIDAD 2: AGENTES INTELIGENTES 2.1. Agentes inteligentes y su entorno 2.2. Estructura y tipos de agentes 2.3. Construcción de agentes Leer comprensivamente y obtener las principales ideas del capítulo 2 del texto básico, completar el análisis revisando el contenido de la siguiente dirección web: http://octi.guanajuato. gob.mx/octigto/ formularios/ideasConcyteg/ Archivos/31072008_ QUE_SON_AGENTES_ INTELIGENTES_SOFTWARE.pdf Observar en su medio e identifcar algunos agentes que utilice en su vida cotidiana. Observar en su medio y defnir que agentes inteligentes pueden ser implementados para realizar de mejor manera sus labores cotidianas. Realizar la Autoevaluación 2. Semana 3 y 4: 8 horas de autoestudio y 8 horas de interacción Guía didáctica: Inteligencia Artificial UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 10 PRIMER BIMESTRE Determina la secuencia de acciones que debe seguir un agente para alcanzar sus objetivos UNIDAD 3: RESOLUCIÓN DE PROBLEMAS MEDIANTE BÚSQUEDAS 3.1. Agentes de resolución de problemas 3.2. Búsqueda de soluciones 3.3. Búsqueda no informada 3.4. Búsqueda con información parcial Leer comprensivamente y obtener las principales ideas del capítulo 3 del texto básico Completar el análisis revisando el contenido del siguiente OCW http:// ocw.uc3m.es/informática/ inteligenci-artifcial-2/ material-de-clase-1/no- informada.pdf Desarrollar los ejercicios propuestos en la presente guía didáctica. Realizar el ejercicio 3.7 literales a, b, c, y d del texto básico. Realizar la Autoevaluación 3. Semana 5: 8 horas de autoestudio y 8 horas de interacción Identifca como una estrategia de búsqueda informada puede encontrar soluciones de una manera más efcaz UNIDAD 4: ESTRATEGIAS DE BÚSQUEDA INFORMADA Y DE EXPLORACIÓN 4.1. Estrategias de búsqueda informada 4.2. Algoritmos de búsqueda local y problemas de optimización 4.3. Búsqueda de información on line y ambientes desconocidos Leer comprensivamente y obtener las principales ideas del capítulo 4 del texto básico. Desarrollar el ejercicio 4.11, los literales a, b, y d. y el ejercicio 4.15, propuestos en el texto básico. Analizar y desarrollar el ejercicio propuesto en la guía didáctica. Realizar la Autoevaluación 4. Semana 6: 8 horas de autoestudio y 8 horas de interacción Revisión de las Unidades 1- 4 Preparar la evaluación presencial, haciendo una revisión de los resúmenes de los capítulos 1 al 4 del texto básico, de las autoevaluaciones y de la evaluación a distancia Semana 7 y 8: 8 horas de autoestudio y 8 horas de interacción UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 11 Guía didáctica: Inteligencia Artificial PRIMER BIMESTRE 6.3 Sistema de evaluación de la asignatura (primero y segundo bimestre) Formas de evaluación Competencia: criterio 1 . A u t o e v a l u a c i ó n * 2. Heteroevaluación 3 . C o e v a l u a c i ó n Evaluación a distancia ** Evaluación presencial Evaluación presencial P a r t e o b j e t i v a P a r t e d e e n s a y o I n t e r a c c i ó n e n e l E V A P r u e b a o b j e t i v a P r u e b a m i x t a A c t i t u d e s Comportamiento ético X X X X X X Cumplimiento, puntualidad, responsabilidad X X X X X≠ X Esfuerzo e interés en los trabajos X X X X X X Respeto a las personas y a las normas de comunicación X X X H a b i l i d a d e s Creatividad e iniciativa X X X Contribución en el trabajo colaborativo y de equipo X X Presentación, orden y ortografía X X X X X X Emite juicios de valor argumentadamente X X X C o n o c i m i e n t o s Dominio del contenido X X X X X X Investigación (cita fuentes de consulta) X Aporta con criterios y soluciones X X X Análisis y profundidad en el desarrollo de temas X X X X PORCENTAJE E s t r a t e g i a d e a p r e n d i z a j e 10% 20% 30% M á x i m o 1 p u n t o ( c o m p l e t a l a e v a l u a c i ó n a d i s t a n c i a ) 70% 70% A c t i v i d a d e s p r e s e n c i a l e s y e n e l E V A Puntaje 2 4 6 14 14 TOTAL 20 puntos Para aprobar la asignatura se requiere obtener un puntaje mínimo de 28/40 puntos, que equivale al 70%. * Son estrategias de aprendizaje, no tienen califcación; pero debe responderlas con el fn de autocomprobar su proceso de aprendizaje. ** Recuerde que la evaluación a distancia consta de dos partes: una objetiva y otra de ensayo, debe desarrollarla y entregarla en su respectivo centro universitario. Señor estudiante: Tenga presente que la fnalidad de la valoración cualitativa es principalmente formativa. Guía didáctica: Inteligencia Artificial UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 12 PRIMER BIMESTRE 6.4 Orientaciones específicas para el aprendizaje por competencias UNIDAD 1: Introducción a la Inteligencia Artificial 1.1 ¿Qué es la Inteligencia Artificial (IA)? Una vez que se ha revisado la planifcación para el trabajo del alumno, y conocemos los tiempos y temáticas a tratar, vamos a dar inicio a nuestro estudio. Para entender lo que se IA vamos a ir al texto básico a revisar la sección 1.1, prestemos atención a la Figura 1.1 en la que se presenta defniciones de IA considerando los procesos mentales, el razonamiento y la conducta. Tómese su tiempo en comprender que es IA y recuerde regresar a esta guía una vez que haya culminado la sección 1.1. del texto básico. ¿Cómo le fue con la lectura, entendió lo que es IA? ¿Estamos en condición de hacer una defnición de lo que es IA? Si decimos que “la IA estudia cómo lograr que las máquinas realicen tareas que, por el momento, son realizadas mejor por los seres humanos” ¿estamos en lo correcto? la defnición propuesta es completa? dijéramos que es incompleta ya que no incluye aquellas tareas que no pueden ser resueltas adecuadamente por los seres humanos; además incluye potencialmente, tareas que no involucran ninguna inteligencia. 1.2. Aspectos históricos Ahora que tenemos claro lo que es IA, vamos a revisar un bosquejo histórico de este campo de la informática. Para conocer los antecedentes de la IA vamos a ir al texto básico y revisar la sección 1.3, consideremos de manera especial a las fuentes que sirvieron de punto de partida para el primer trabajo de IA. Al haber realizado la lectura nos pudimos dar cuenta que el primer trabajo relacionado con IA nace en la década de los 40´s, concretamente en 1943 cuando a Warren McCulloch y Walter Pitts, se los reconoce como autores del primer trabajo de IA, propusieron un trabajo constituido por neuronas artifciales, en el que cada una de ellas se caracterizaba por estar “activada” o “desactivada”, sugirieron además que las redes de neuronas adecuadamente defnidas podrían aprender. Donald Hebb en 1949, propuso una regla para modifcar las intensidades de las conexiones entre neuronas, denominada aprendizaje Hebbiano o de Hebb. Marvin Misky, posteriormente probó teoremas infuyentes que mostraron las limitaciones de las redes neuronales. UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 13 Guía didáctica: Inteligencia Artificial PRIMER BIMESTRE En los años cincuenta, un grupo de investigadores convocados por John McCarthy del MIT (En 1957, John McCarthy fundó, junto con Marvin Minsky, el Laboratorio de IA del MIT 1 ) discutían sobre el potencial de la computadora para simular la inteligencia humana. En 1950, el matemático británico Alan Turing, (padre de la IA) propuso el famoso “Test de Inteligencia”, mediante el cual se supone que se puede determinar si una máquina piensa; dicho test plantea que dadas dos personas y una máquina que se desea evaluar, una de las personas actuando como investigador, se ubica en una habitación, separada del computador y de la otra persona; el entrevistador, hace preguntas tanto a la persona (A) y al computador (B) (a quienes se conoce como A y B) debe intentar determinar quién es la persona y quién es la máquina, el objetivo de la máquina es hacer creer al entrevistador que es una persona, si lo consigue se concluye que la máquina piensa, hasta el momento ningún modelo propuesto, ha superado el test y hoy están divididas las opciones de si en algún momento esto sea posible. En 1956 Newll y Simon desarrollan la “lógica teórica”, considerada por muchos como el primer programa de IA, en donde se representa cada problema como un modelo de árbol y luego intenta solucionarlo seleccionando la rama que debería dar mejor solución. En 1957, la primera versión del programa Solucionador General de Problemas (The General Problem Solver GPS) fue probado, este constituye una extensión del principio de retroalimentación o feedback de Wiener, enunciado a inicios de los cincuenta en el que por primera vez se demuestra la relación entre la inteligencia humana y las máquinas, el ejemplo más familiar de este principio es el “termostato” (control de la temperatura de un medioambiente, captando la temperatura del lugar, la compara con la deseada y responde aumentando o no la temperatura). A partir de los lazos de retroalimentación, Wiener teorizó que la conducta inteligente es el resultado de mecanismos de retroalimentación, mecanismos que pueden ser simulados por las computadoras, descubrimiento que infuyó en el desarrollo de la IA. En 1958, McCarty crea el lenguaje LIPS (LISting Proccesing), considerado lenguaje de la IA, que esta orientado al procesamiento de listas. A fnes de los cincuenta Frank Rosemblatt, inventa un dispositivo denominado Perceptron, en un intento de “ilustrar algunas propiedades fundamentales de los sistemas inteligentes en general, sin entrar a profundidad en ciertas condiciones especiales, y muchas veces desconocidas, que son válidas para organismos biológicos concretos”; el perceptron, fue el resultado de un primer intento de simular la computación neuronal para realizar tareas complejas. A mediados de los años sesenta, Joseph Weizenbaum, profesor del MIT, desarrolla en programa Eliza, considerado el primer sistema dentro del campo del Procesamiento del Lenguaje Natural que no fue desarrollado para este fn, sino para demostrar que los programas de computador podían desarrollar cierta clase de inteligencia. En 1965, en la Universidad de Stanford, se desarrolla el primer sistema experto exitoso, sistema DENDRAL orientado a la determinación de la estructura química de un compuesto utilizando información proveniente de un espectrómetro de masa y de instrumentos de resonancia magnética. En 1956, en el MIT se desarrolla el MACSYMA, sistema experto orientado a la solución de complejos problemas matemáticos mediante el uso de la integración y la simplifcación algebraica. En los años 70´s David Marr, propone nuevas teorías acerca de la visión por computadora. En 1972, el francés Alain Colmerauer, desarrolla la primera implementación del lenguaje PROLOG (PROgraming in LOGic), lenguaje para la programación en IA, basado en la lógica de predicados. 1 http://www.csail.mit.edu/ Guía didáctica: Inteligencia Artificial UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 14 PRIMER BIMESTRE En los últimos años con una gran inversión del gobierno de los Estados Unidos, se retoma las investigaciones en los diferentes campos que integran la IA, es así que se desarrolla el primer sistema para la comprensión del lenguaje natural, implementado por Terry Winograd, investigador del MIT, el SHRDLU, que se encuentra integrado a un robot, que obedece las ordenes humanas. Actividad recomendada Antes de continuar con el estado de arte de la IA, es importante que responda a las interrogantes 1.11, 1.12, y 1.13 que se plantean en la sección “ejercicios” del texto básico. 1.3 Estado del arte de la IA El siguiente tema a estudiar es el estado de arte de la IA, que no es otra cosa que el conocer en dónde esta en la actualidad la IA. Bien, ahora vamos a ir al texto básico a revisar la sección 1.4, prestemos especial atención a los subáreas que se puede aplicar la IA. Inicialmente la IA abordó aquellos problemas relacionados con el juego, la solución de problemas y la demostración de teoremas, así como los problemas relacionados con el sentido común. Conforme las investigaciones de IA progresaron y fueron desarrollándose técnicas de manipulación de grandes cantidades de conocimiento sobre el mundo, se realizaron algunos avances en las tareas descritas y aparecieron nuevas áreas de investigación; estas áreas incluyen la percepción (visión y habla), comprensión del lenguaje natural, y resolución de problemas en campos especializados como diagnósticos médicos y análisis químico. La habilidad de utilizar el lenguaje para comunicar gran variedad de ideas es quizá el aspecto más importante que separa a los humanos del resto de animales, la comprensión del lenguaje hablado es un problema de percepción difícil de resolver, es posible, sin embargo, restringir el problema al lenguaje escrito, este problema, denominado comprensión del lenguaje natural, es aún extremadamente difícil. Para comprender frases sobre un cierto tema, es necesario no únicamente poseer conocimiento amplio sobre el propio lenguaje (vocabulario y gramática), sino manejar el conocimiento sufciente sobre dicho tema para reconocer las suposiciones no expresadas en un texto. Además de estas tareas de la vida diaria, se puede requerir la realización de tareas más especializadas en las cuales es necesaria una cuidadosa adquisición de experiencia, como: el diseño en ingeniería, los descubrimientos científcos, los diagnósticos médicos, la planifcación fnanciera. Los programas que pueden resolver los problemas sobre los dominios mencionados se los puede realizar con la ayuda de la IA. Otro campo importante donde la IA ha tenido éxito, es la simulación de las formas de trabajar, de abordar y de resolver problemas en aquellas ramas de la actividad humana en donde la experiencia y la experticia juegan un papel preponderante, dando origen a los denominados sistemas expertos. UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 15 Guía didáctica: Inteligencia Artificial PRIMER BIMESTRE Aplicaciones de la Inteligencia artifcial En su texto básico podrá encontrar lo qué es capaz de hacer hoy en día la IA, a través de la descripción de algunas aplicaciones de esta disciplina. A fn de complementar lo que se menciona en el texto básico, a continuación señalamos algunas otras aplicaciones de esta ciencia, así: • Predicción: Por ejemplo sistemas de autocontrol, etc. • Medicina: En este caso se pueden aplicar a sistemas de diagnóstico médico. • Apoyo a la toma de decisiones: Por ejemplo mediante el uso de técnicas inteligentes paramétricas y no paramétricas para el análisis de datos. • Educación: sistemas recomendadores educativos, tutores inteligentes, modelización de estudiantes, etc. • Comercio electrónico: agentes recomendadores para la compra de un producto, etc. Recuerde en caso de tener alguna inquietud puede recurrir al entorno virtual de aprendizaje y consultar a su profesor. 1.4 Aplicación de la IA y su relación con otras áreas Como observamos en el estado de arte de la IA engloba varias subáreas, mientras que otras aprovechan algunos resultados y la incorporan a sus desarrollos, tales como: Programación automática Sistemas expertos Aprendizaje automático Procesamiento de lenguaje natural Robótica Visión artifcial Procesamiento de imágenes Redes neuronales Algoritmos genéticos Demostración automática de teoremas Juego automático Reconocimiento de voz y patrones Guía didáctica: Inteligencia Artificial UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 16 PRIMER BIMESTRE Actividad recomendada Muy bien, ahora complete con sus propias palabras la siguiente tabla, esto le ayudará a afanzar sus conocimientos. ÁREAS APLICACIÓN EXCELENTE, estamos seguras que completó la tabla con mucho esmero. ¡¡ADELANTE, CONTINUEMOS!! Autoevaluación No 1 Ahora bien, con la fnalidad de guiar y retroalimentar su autoaprendizaje, a continuación le presentamos la autoevaluación correspondiente a la presente unidad. Recuerde que para tener éxito en la autoevaluación le invito a que revise el resumen del capítulo que se encuentra en la página 33 del texto básico y luego continuar con el desarrollo de la Autoevaluación Nº1. 1. En cada uno de los paréntesis sírvase marcar con una (V) si el enunciado es verdadero y con una (F) si el enunciado es falso, en caso de no ser verdadero el enunciado, permítase indicar la razón de la negatividad. 1. ( ) El Dualismo considera que las operaciones del cerebro realizadas de acuerdo a las leyes de la física constituyen la mente. 2. ( ) Normalmente una base de conocimiento representa el conocimiento en forma de reglas ¨si.. entonces..¨. 3. ( ) Los seres humanos se consideran agentes. 4. ( ) Los agentes inteligentes son irracionales. 5. ( ) La IA sintetiza y automatiza tareas intelectuales y es, potencialmente relevante para cualquier ámbito de la actividad intelectual humana. UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 17 Guía didáctica: Inteligencia Artificial PRIMER BIMESTRE 6. ( ) Las disciplinas que abarcan la mayor parte de la IA son: Procesamiento de lenguaje natural, representación del conocimiento, razonamiento automático, aprendizaje de máquina, visión computacional, robótica. 7. ( ) En todo tipo de entorno es posible llegar a una racionalidad perfecta. 8. ( ) En los agentes robóticos los sensores constituyen ciertos mecanismos y los efectores las cámaras de video. 9. ( ) La Inteligencia Artifcial (IA) desde el primer momento abarcó temas que eran considerados por otros campos como: la idea de duplicar facultades humanas como la creatividad, la auto-mejora, y el uso de lenguaje. 10. ( ) Los psicólogos adoptaron la idea de que los humanos y los animales podían trabajar como máquinas de procesamiento de información. 2. Responda a cada una de las siguientes interrogantes a. ¿Son racionales las acciones refejas? b. Si se lo considera al ser humano como agente, mencione ¿cuáles serían los sensores y cuáles serían los efectores? ¡¡¡MUY BIEN!!! Verifque sus respuestas con las del solucionario que se encuentra al fnal de la presente guía didáctica. Guía didáctica: Inteligencia Artificial UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 18 PRIMER BIMESTRE UNIDAD 2: Agentes inteligentes ¿Qué le parece la IA? ¿Fascinado(a) y con mucho ánimo para continuar adelante? ¡¡Si¡¡ ¿verdad? , entonces sigamos… En la unidad anterior hemos logrado familiarizarnos y asimilar los conceptos básicos de la IA, así como hemos conocido los antecedentes culturales que han servido de base para su desarrollo, ahora vamos a dar un siguiente paso, identifquemos lo que es un agente y un agente inteligente. 2.1 Agentes inteligentes y su entorno Para poder conocer lo que es agente inteligente es necesario que distingamos un agente de un agente inteligente. Bien, para entender lo que es agente vamos a ir al texto básico y revisemos la sección 2.1, prestemos especial atención a las Figuras 2.1, 2.2 y 2.3 en las que se presenta de forma muy clara lo que es agente, medio ambiente, sensores y actuadores, así como una pequeña tabla en donde se defne una función de agente muy sencilla. ¿Cómo le fue con la lectura? ¿Tenemos claro lo qué es un agente? entonces podemos decir que, un agente es cualquier sistema capaz de percibir cambios en su entorno, de representar de algún modo la información sobre el estado actual de sus objetivos y de actuar sobre su entorno basándose en éstos y en experiencias pasadas (secuencia de percepciones). Figura 2.1. Concepto de Agente El comportamiento de un agente viene dado por la función del agente que proyecta una percepción dada en una acción. La función del agente es una descripción matemática abstracta, mientras que un programa de agente (función de un agente artifcial) es una implementación completa, que se ejecuta sobre la arquitectura del agente. Entorno Actualiza mediante Percibe mediante sensores Acción a la salida deseada UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 19 Guía didáctica: Inteligencia Artificial PRIMER BIMESTRE Actividad recomendada Muy bien, ahora va ha identifcar cuatro agentes que formen parte de su vida cotidiana y escriba el po- sible programa de agente para dos de ellos. AGENTES: a. ______________________ b. ______________________ c. ______________________ d. ______________________ PROGRAMA DE AGENTE: AGENTE 1 AGENTE 2 Secuencia de percepciones Acción Secuencia de percepciones Acción ¿Estuvo fácil la tarea?¿la concluyeron? Estamos seguras de que la hicieron muy bien. ¡¡¡FELICITACIONES Y ADELANTE!! Hasta este momento tenemos claro lo que es un agente, ahora vamos a conocer en que circunstancias el comportamiento del agente es exitoso. Bien, para familiarizarnos con los criterios que determinan el éxito en el comportamiento de un agente, vamos a recurrir al texto básico y revisar la sección 2.2. ¿Cómo estuvo la lectura? es entendible e interesante ¿verdad? Si no es así, tomémonos el tiempo que sea necesario y volvamos a revisar el texto básico. En la lectura nos dimos cuenta que uno de los criterios que determinan el éxito en el comportamiento del agente es la racionalidad, lo que nos lleva a la concepción de agente racional (no solo recopila información sino que también aprende todo lo que le es posible de lo que esta percibiendo), la confguración inicial del agente puede refejar un conocimiento preliminar del entorno, pero a medida que el agente adquiere experiencia el conocimiento puede modifcarse y aumentar. Un agente racional puede ser autónomo, debe saber cómo tiene que compensar el conocimiento incompleto o parcial inicial, de ahí que la incorporación del aprendizaje facilita el diseño de agentes racionales individuales. Guía didáctica: Inteligencia Artificial UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 20 PRIMER BIMESTRE Una vez que hemos conocido lo que es racionalidad y agentes racionales es necesario prestar especial atención a los entornos de trabajo. Ahora bien, para conocer la naturaleza de los entornos de trabajo, vamos a requerir del texto básico para revisar la sección 2.3, pongamos especial atención a la Figura 2.5, en dónde se presentan tipos de agentes con su respectivo Rendimiento, Entorno, Actuadores y Sensores (REAS). ¡Estamos de vuelta!, ¿terminamos la lectura de la sección 2.3? esperamos que esto les haya ayudado a discernir la importancia del entorno del trabajo de un agente. De la lectura podemos deducir que los entornos de trabajo que son los “problemas”, para los que los agentes racionales son las “soluciones”. Las especifcaciones del entorno de trabajo incluyen: la medida de rendimiento, el medio externo, los actuadores y los sensores. Los entornos de trabajo pueden tener varias dimensiones, tales como: total o parcialmente visibles, deterministas o estocásticos, episódicos o secuenciales, estáticos o dinámicos, discretos o continuos y formados por uno o varios agentes. Actividad recomendada Muy bien, antes de continuar, defna el entorno de trabajo de dos de los agentes identifcados en la actividad anterior. AGENTE Medida de rendimiento Entorno (medio externo) Actuadores Sensores ¡¡¡EN HORA BUENA!!! Recuerde en caso de tener alguna inquietud puede recurrir al entorno virtual de aprendizaje y consultar a su profesor. 2.2 Estructura y tipos de agentes Una vez que identifcamos los entornos de trabajo, vamos a ver la forma en que los agentes trabajan internamente. Bien, para percatarnos de la estructura de los agentes, vamos a ir al texto básico y revisar la sección 2.4, observemos de manera especial al algoritmo que se encuentra en la Figura 2.7. UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 21 Guía didáctica: Inteligencia Artificial PRIMER BIMESTRE ¿Estuvo asimilable la lectura? Esperamos que si y que les haya sido de fácil entendimiento. Como pudimos darnos cuenta el trabajo de la IA es diseñar el programa del agente que implemente la función del agente que proyecta las percepciones en acciones; el programa de agente se ejecuta en algún tipo de computador con sensores físicos y actuadores, lo que se denomina arquitectura, por consiguiente, un agente puede ser representado en la siguiente ecuación, así: Figura 2.2. Arquitectura de un agente Entendido lo que es arquitectura es importante que observemos los cuatro tipos básicos de programa de agente, así: agentes reactivos simples, agentes reactivos basados en modelos, agentes basados en objetivos, agentes basados en utilidad; cada uno de los tipos de agente pueden ser utilizados en diferentes áreas y todos pueden mejorar su efcacia con mecanismos de aprendizaje. Agentes reactivos simples Una vez que entendimos en qué consiste este agente, es conveniente hacer hincapié en el diagrama de la fgura 2.9 y en el programa del agente mostrado en la fgura 2.10 del texto básico. Considere que: • Las reglas condición-acción a las que hace referencia la estructura del agente reactivo simple, permiten establecer la conexión entre percepción y acción. • En el programa del agente, INTERPRETAR-ENTRADA genera una descripción abstracta del estado mostrado por la percepción. • REGLA-COINCIDENCIA produce una regla del conjunto que satisface la percepción. Agentes reactivos basados en modelos Luego de la lectura del texto básico, pudimos establecer lo que hace este tipo de agentes y como se menciona, existen dos tipos de conocimiento que se requiere codifcar durante la actualización del estado interno, los cuáles son: • Conocimiento acerca de la forma como el mundo evoluciona, independientemente de las acciones del agente. • Conocimiento sobre cómo afectan al mundo las acciones del agente. Un aspecto importante que hay que tener en cuenta es que el conocimiento del estado interno no siempre es sufciente; por ejemplo, para elegir entre rutas decisionales alternativas (en una intersección ¿girar o no girar el volante del carro?), se requiere conocer la meta a lograr, es por ello que se requiere otro tipo de agentes como el mencionado a continuación. Guía didáctica: Inteligencia Artificial UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 22 PRIMER BIMESTRE Agentes basados en objetivos Estamos seguras que durante la lectura se percató que en este tipo de agentes necesita de algún tipo de información que describa las situaciones que son deseables para el agente; es decir, información sobre su meta. Como pudimos observar en la fgura 2.13, se agregan dos componentes adicionales relacionados como el conjunto de objetivos que intenta alcanzar el agente y lo que pasaría si el agente realiza determinada acción. Agentes basados en utilidad En este tipo de agentes interviene un aspecto importante como la función de utilidad, pero ¿qué es utilidad? ¿A qué hace referencia la función utilidad? ¿Para qué es necesaria?. Para aclarar estas inquietudes regrese al texto básico y analice la estructura de estos agentes. Se podrá dar cuenta que cuando se prefere un estado en lugar de otro, se dice que ese estado ofrece mayor “utilidad” al agente. Agentes que aprenden Hasta aquí ha revisado estructuras de agentes similares, pero si comparamos el modelo general para los agentes que aprenden con los diagramas de agentes señalados anteriormente, veremos que el cuarto diagrama tiene diferencias, principalmente en los componentes que conforman el agente. Actividad recomendada Muy bien, para entender mejor lo que acabamos de mencionar, identifque que tipo de agente se deberían diseñar para identifcar modelos educativos en entornos virtuales de aprendizaje. ¿Cómo le fue con la actividad recomendada? Esperamos que muy bien. ¡¡¡FELICITACIONES, y ADELANTE!!! 2.3 Construcción de agentes inteligentes Una vez que identifcamos la estructura y los diferentes tipos de agentes es importante que defnamos la forma como se deben construir agentes inteligentes, dado que en el texto básico no esta explicado de forma detallada este ítem vamos a utilizar un artículo publicado en la revista Gaceta del 21 de enero del 2008. UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 23 Guía didáctica: Inteligencia Artificial PRIMER BIMESTRE Actividad recomendada Ir a Internet y acceder a la siguiente dirección: http://octi.guanajuato.gob.mx/octigto/formularios/ideasConcyteg/Archivos/31072008_QUE_SON_ AGENTES_INTELIGENTES_SOFTWARE.pdf Enfocarse en la estructura y construcción de los agentes in- teligentes (Pág. 33) y dentro de esto, al método para el desarrollo y construcción de agentes inteligentes. ¿Pudieron acceder a Internet y descargar el archivo del link mencionado? Verdad que si. ¿Qué criterio tienen del artículo? es muy explicativo, ¿verdad? Como pudieron darse cuenta, actualmente existen diversas arquitecturas, entre otras: Basada en la lógica; Agentes reactivos; Arquitectura creencia – deseo – intención; Arquitecturas hibridas La elección de una u otra arquitectura se la hace en base a nuestro entorno, razón por la que no existe una mejor o peor solución sin la aplicación al problema concreto. Guía didáctica: Inteligencia Artificial UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 24 PRIMER BIMESTRE Autoevaluación No 2 Ahora bien, con la fnalidad de guiar y retroalimentar su autoaprendizaje, a continuación le presentamos la autoevaluación correspondiente a la presente unidad. Recuerde que para tener éxito en la autoevaluación le invito a que revise el resumen del capítulo que se encuentra en las páginas 62 - 63 del texto básico y luego continuar con el desarrollo de la Autoevaluación Nº 2. A. En cada uno de los paréntesis sírvase con una (V) si el enunciado es verdadero y con una (F) si el enunciado es falso, en caso no es verdadero el enunciado, permítase indicar la razón de la falsedad. 1. ( ) La estructura de un agente es: Agente = arquitectura + reglas de condición. 2. ( ) Un agente robot, recibe pulsaciones del teclado, archivos de información y paquetes vía red a modo entradas sensoriales y actúa sobre el medio con mensajes en el monitor, escribiendo fcheros y enviando paquetes por la red. 3. ( ) La función que describe el comportamiento de un agente se puede presentar en forma de grafo y este es una caracterización externa del agente. 4. ( ) Como regla general, es mejor diseñar medidas de utilidad de acuerdo a cómo se cree que el agente debe comportarse. 5. ( ) El entorno de trabajo de un agente racional esta formado por: las medidas de rendimiento, el entorno, actuadores y sensores. 6. ( ) Un agente racional actúa con la intención de obtener los resultados mínimos de la medida de rendimiento, dada la secuencia de percepciones que ha observado hasta el momento. 7. ( ) Para el diseño del programa de agente es necesario considerar el entorno en que se desarrollará, las percepciones que se obtienen del ambiente, las acciones que realizará el agente. 8. ( ) Los agentes inteligentes deben maximizar su medida de rendimiento. 9. ( ) 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. 10. ( ) Un programa de agente especifca a acción que debe ejecutar un agente como respuesta a cualquier secuencia percibida. UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 25 Guía didáctica: Inteligencia Artificial PRIMER BIMESTRE B. Desarrolle los siguientes ejercicios 1. Mencione los principales pasos para la construcción de un programa de agente. 2. Proponga un método para el desarrollo y construcción de agentes inteligentes, considerando las fases del desarrollo de sistemas, esto es: análisis, diseño, implementación y pruebas. ¡¡¡MUY BIEN!!! Verifque sus respuestas con las del solucionario que se encuentra al fnal de la presente guía didáctica. Guía didáctica: Inteligencia Artificial UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 26 PRIMER BIMESTRE UNIDAD 3: Resolución de problemas mediante búsquedas ¿Cómo están? ¿Animados para continuar adelante? ... Seguro que sí. En la unidad anterior hemos logrado comprender la arquitectura de un agente y los tipos básicos de programa de agente ¿verdad?, ahora vamos a dar un siguiente paso revisando el agente basado en objetivos denominado agente resolvente - problemas. Los agentes resolventes – problemas deciden qué hacer para encontrar secuencias de acciones que conduzcan a los estados deseables. 3.1 Agentes de resolución de problemas En el unidad 1, mencionamos los tipos de problemas que aborda la IA. Para construir un sistema que resuelva un problema específco, se debe iniciar defniendo con precisión los elementos que constituyen el “problema” (cuestión o asunto discutible que se intenta discutir) y su “solución” (respuesta positiva a un problema, duda o difcultad). Muy bien, para comprender los agentes resolventes – problemas requerimos ir al texto básico y revisar la sección 3.1, prestemos especial atención a las acciones que realizan este tipo de agentes. ¿Estuvo asimilable la lectura? Esperamos que si y que les haya sido de fácil entendimiento. De la lectura que hemos realizado, podemos decir que para desarrollar un sistema que resuelva un problema específco es necesario realizar cuatro acciones, así: Figura 3.1. Acciones para resolver un problema específco 1. Defnir el problema con precisión. La defnición debe incluir especifcaciones precisas tanto sobre la(s) situación(es) inicial(es) como sobre la(s) situación(es) fnal(es) que se aceptarían como soluciones al problema. 2. Analizar el problema. Evaluar las características del problema que conduzcan a la conveniencia del uso o no de diversas técnicas para resolverlo. 3. Aislar y representar el conocimiento necesario para resolver el problema. 4. Elegir la(s) mejor(es) técnica(s) que resuelva(n) el problema y aplicarla(s) al problema en particular. UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 27 Guía didáctica: Inteligencia Artificial PRIMER BIMESTRE Defnición del problema Una de las formas más comunes para defnir un problema, visualizar una solución o seleccionar un método de búsqueda, es defniendo lo que se denomina espacio de estados del problema (conjunto de todos los estados alcanzables desde el estado inicial) es decir, se representan los diferentes estados del problema y como estos se encuentran interconectados. El espacio de estados forma un grafo cuando el problema se encuentra bien estructurado, cuando los problemas no se encuentran bien estructurados se utiliza estructuras más complejas. La representación como espacio de estados forma la base de la mayoría de los métodos de IA, su estructura se corresponde con la estructura de resolución de problemas por dos razones: • Permite defnir formalmente el problema; • Permite defnir el proceso de resolución de problemas con una combinación de técnicas conocidas y búsqueda. Para diseñar un programa que resuelva un problema, el primer paso que se debe dar es crear una descripción formal y manejable del problema, para esto debe hacerse lo siguiente: 1. Defnir un espacio de estados que contenga todas las confguraciones posibles de los objetos más relevantes; es posible defnir este espacio sin tener que hacer una enumeración de todos y cada uno de los estados que contiene. 2. Identifcar uno o más estados que describan situaciones en las que comience el proceso de resolución del problema, estos toman el nombre de estados iniciales. 3. Especifcar uno más estados que pudieran ser soluciones aceptables del problema, estados conocidos como estados objetivos. 4. Especifcar un conjunto de operadores y reglas que identifcan las condiciones que se deben cumplir para aplicar dichos operadores, que describan acciones disponibles. Para realizarlo se debe profundizar en lo siguiente: a) ¿Qué suposiciones presentes en la descripción informal del problema no están expresadas como tales?; b) ¿Que generalidad deben tener las reglas?; c) ¿Qué cantidad de trabajo necesario para resolver el problema debe ser preprocesado y representado en forma de reglas? 5. Defnir el costo del camino. Como se menciona en el texto básico, una solución de un problema es un camino desde el estado inicial a un estado objetivo, la calidad de la solución se mide por la función costo del camino, y una solución óptima tiene el costo más bajo del camino entre todas las soluciones. Bien, es hora que juntos desarrollemos un problema de búsqueda de rutas. Ejemplo Problema de búsqueda de una ruta que lo llamaremos: “De vacaciones en la capital de la república”. Aquí consideremos un problema de viajes por transporte terrestre para ir de Loja a Quito. Estados: Terminales terrestres de las ciudades por donde transita la cooperativa y la hora de salida. Estado inicial: Loja Guía didáctica: Inteligencia Artificial UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 28 PRIMER BIMESTRE Función sucesor: Ejemplo: Loja -> Cuenca Loja -> Catamayo Test objetivo – estado objetivo: “Quito” Costo del camino: Suma de distancias, tiempo de trayecto entre ciudades, etc. Actividad recomendada Bien, una vez que tenemos claro la forma de defnir un problema es necesario que prestemos especial atención a los ejemplos que se encuentran el texto básico, apartado 3.2. Tómese todo el tiempo que requiera para ir entendiéndolos. ¿Qué le parecieron los ejemplos? Esperamos que los haya entendido y que pueda identifcar cuál le pareció más importante. ¡¡¡ SIGAMOS A DELANTE!!! Recuerde en caso de tener alguna inquietud puede recurrir al Entorno Virtual de Aprendizaje (EVA) y consultar a su profesor. 3.2 Búsqueda de soluciones Una vez que hemos establecido la forma de crear una descripción formal y manejable de un problema, el proceso de búsqueda se convierte en uno de los pilares fundamentales en el proceso de resolución de problemas. Bien, para utilizar de manera adecuada el proceso de búsqueda requerimos ubicar el texto básico y revisar la sección 3.3, prestemos especial atención a la forma de medir el rendimiento de resolución de problemas. ¿Qué les pareció la lectura? ¿Estuvo asimilable? Esperamos que si y que les haya sido de mucha ayuda. Como pudimos darnos cuenta la búsqueda de soluciones se la hace a través del espacio de estados, generalmente las técnicas de búsqueda utilizan un árbol de búsqueda generado por el estado inicial y la función sucesor, defniendo así el espacio de estados. ¿Qué les parece si ahora hacemos juntos el árbol de búsqueda para el ejemplo planteado anteriormente? Ejemplo Problema de búsqueda de una ruta que lo llamaremos: “De vacaciones en la capital de la república”. Aquí consideremos un problema de viajes por transporte terrestre para ir de Loja a Quito UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 29 Guía didáctica: Inteligencia Artificial PRIMER BIMESTRE Figura 3.2. Árbol de búsqueda “de vacaciones en la capital de la república” ¿Qué le pareció? ¿Sencillo verdad? no es nada que no podamos realizar. Es importante que tengamos claro la diferencia entre un nodo y un estado, un nodo es una estructura de datos usada para representar el árbol de búsqueda, mientras que un estado corresponde a una confguración del mundo. Una de las formas de comprobar la resolución de problemas es a través de la medida de su rendimiento, veamos como se evalúa el rendimiento. Medidas de rendimiento de la resolución del problema A los algoritmos de resolución de problemas se los puede evaluar de cuatro formas, así: a) completitud; b) optimización; c) complejidad en tiempo; y, d) complejidad en espacio; así mismo, para valorar la efcacia de un algoritmo de búsqueda se considera: a) el costo de la búsqueda; y, b) el costo total. Una vez que hemos visto que la búsqueda es un mecanismo que ofrece un espacio en el que pueden utilizarse métodos más directos para la resolución de las subpartes de un problema, es necesario que manejemos las aproximaciones fundamentales de búsqueda en el espacio de estado. 3.3 Búsqueda no informada A la búsqueda no informada se la conoce también con el nombre de búsqueda a ciegas, el término signifca que no existe información adicional acerca de los estados más allá de la que proporciona la defnición del problema. Muy bien, para manejar apropiadamente los métodos de búsqueda avanzada vamos a ubicar el texto básico y examinar la sección 3.4, prestemos especial atención a cada uno de los métodos de búsqueda no informada. ¿Fue interesante y entendible la lectura que realizaron? Esperamos que si, que les haya ayudado a vislumbrar qué método de búsqueda es aplicable en un determinado espacio de estado. Guía didáctica: Inteligencia Artificial UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 30 PRIMER BIMESTRE Como pudimos darnos cuenta los métodos de búsqueda no informada (búsqueda ciega), son una colección de procedimientos utilizados en el espacio de estado, comienzan por un nodo y utilizan operadores para generar estados sucesivos, la búsqueda continúa hasta que una solución sea hallada. Los operadores y el orden en que ellos son tratados no tienen importancia. La idea que hay detrás de la búsqueda no informada es examinar todo el árbol de una forma ordenada, utilizando los operadores y generando sucesivamente tantos nodos como sea necesario hasta encontrar la solución. Estas aproximaciones son muy inefcientes, pues recorren de manera exhaustiva todo el espacio de estado, esto puede conducir a un gran consumo de tiempo en la búsqueda de la solución. En este tipo de búsqueda ocurre una explosión combinatoria, ya que muchas alternativas deben ser consideradas y el número de nodos para buscar se expanden exponencialmente. Búsqueda primero en anchura La búsqueda primero a lo ancho examina todos los nodos en un árbol de búsqueda, comenzando por el nodo raíz. En cada nivel los nodos son completamente expandidos y examinados; de no encontrarse el estado objetivo entre ellos, nuevamente se expanden todos los nodos de ese nivel y se comienza la búsqueda en el nuevo nivel, así sucesivamente, hasta que un nodo objetivo sea hallado. La búsqueda primero en anchura se puede implementar llamando a la BÚSQUEDA – ARBOLES con una frontera vacía llamando que sea una cola primero en entrar primero en salir FIFO, asegurando que los nodos primeros visitados serán los primeros expandidos. En teoría esta estrategia podría ser valiosa para resolver muchos problemas. Aparentemente pudiera hasta parecer una estrategia sin defectos puesto que el espacio de estados es fnito, y siempre se encontrará una solución, pero el número de nodos crece exponencialmente con la profundidad y el tiempo requerido para la búsqueda también crece exponencialmente. Este tipo de búsqueda siempre garantiza la solución si no tenemos limitaciones de tiempo y espacio. Búsqueda de costo uniforme La búsqueda de costo uniforme no se preocupa por el número de pasos que tiene un camino, pero si por su costo total; por consiguiente, este tipo de búsqueda esta dirigida por los costos de los caminos más que por las profundidades. La búsqueda de costo uniforme es similar a la búsqueda primero en anchura pero expande el costo con el nodo más pequeño del camino g(n). Búsqueda primero en profundidad La estrategia búsqueda primero en profundidad consiste en la selección de un camino y se lo sigue por completo, aumentando los niveles de profundidad hasta que se descubre la solución. Este tipo de búsqueda tiene varias ventajas sobre la búsqueda primero en anchura, demanda menores recursos de memoria porque considera un espacio de búsqueda más limitado para alcanzar cualquier nivel dado, sólo se almacenan los nodos del camino que se sigue en ese momento; pero tiene sus desventajas, la búsqueda primero en anchura no queda atrapada explorando callejones sin salida. Para evitar esto es posible defnir limites de profundidad, pero si la búsqueda de un camino se suspende antes de encontrar su fnal, lo cual puede ser requerido dada la posibilidad de número infnito de caminos, entonces no se hallará la solución aunque exista alguna. UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 31 Guía didáctica: Inteligencia Artificial PRIMER BIMESTRE La búsqueda primero en profundidad se puede implementar llamando a la BÚSQUEDA – ARBOLES con una cola último en entrar primero en salir LIFO. La búsqueda primero en anchura y la búsqueda primero en profundidad padecen de un mismo problema: aunque teóricamente se pueden emplear para resolver cualquier clase de problemas, en la práctica están limitadas por restricciones de tiempo y espacio. Búsqueda de profundidad limitada La búsqueda de profundidad limitada impone un límite de profundidad fjo a la búsqueda primero en profundidad, por consiguiente puede ser implementada realizando una modifcación al algoritmo general de búsqueda en arboles o del algoritmo recursivo de búsqueda primero en profundidad. Búsqueda primero en profundidad con profundidad iterativa La búsqueda primero en profundidad con profundidad iterativa combina las ventajas de la búsqueda primero en profundidad y primero en anchura; es análoga a la búsqueda primero en anchura en la cual se explora, en cada iteracción, una capa completa de nuevos nodos antes de continuar con la siguiente capa. Parecería que vale la pena desarrollar una búsqueda iteractiva análoga a la búsqueda de costo uniforme, heredando las garantías de optimización del algoritmo evitando sus exigencias de memoria; la idea es usar límites crecientes de costo del camino en vez de aumentar límites de profundidad. Búsqueda bidireccional Una característica importante del proceso de búsqueda, es la dirección en la que se da el proceso de razonamiento. El razonamiento hacia adelante (forward chaining) o dirigido por datos comienza en el nodo inicial y trabaja hacia adelante en dirección al objetivo. Este tipo de razonamiento puede verse como un tipo de razonamiento deductivo. Es posible realizar el razonamiento partiendo de los objetivos, hacia los estados iniciales, en este caso se denomina razonamiento hacia atrás (backward chaining). Este tipo de razonamiento puede verse como un tipo de razonamiento inductivo. En la práctica la selección de uno u otro tipo de razonamiento depende de la forma en que se desea recorrer el espacio de búsqueda. Es posible combinar ambas tipos de búsqueda, lo que origina una búsqueda bidireccional, se emplea la búsqueda hacia adelante a partir del estado inicial y a la vez se realiza la búsqueda hacia atrás a partir de los estados objetivos. Para continuar, es necesario de que tengamos presente la siguiente información: La resolución de un problema de IA mediante búsqueda, consiste en aplicar una determinada estrategia de control que conduzca a encontrar un camino desde el espacio inicial hasta algún estado objetivo del espacio de estados, se exige examinar las posibles secuencias de acciones debiéndose seleccionar aquella secuencia que sea la mejor según un determinado criterio. Los objetivos fundamentales mediante la búsqueda son: a) encontrar una solución y b) que la solución tenga coste total mínimo. En el coste total se debe considerar el coste de búsqueda (tiempo y memoria necesarios) y el coste del camino solución. Guía didáctica: Inteligencia Artificial UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 32 PRIMER BIMESTRE Para aplicar lo que hasta ahora hemos aprendido, vamos a realizar juntos el siguiente ejercicio: Ejemplo Misioneros y caníbales En la orilla de un rio hay tres misioneros y tres caníbales y todos ellos pretenden cruzar al otro lado. La barca que se utiliza para cruzarlo sólo tiene capacidad para transportar a una o dos personas de una orilla a otra. No puede ocurrir nunca que si en una orilla hay algún misionero haya a la vez un número mayor de caníbales, se los comerían. Objetivo: Pasar a todos a la otra orilla. Condición: No puede ocurrir nunca que si en una orilla hay algún misionero haya a la vez un número mayor de caníbales, se los comerían. Estados: Parámetros: Número de misioneros al lado izquierdo, número de caníbales al lado izquierdo, posición de la barca (izquierda o derecha). Verifcar la condición. Operadores: Transportar un misionero Transportar un caníbal Transportar dos misioneros Transportar dos caníbales Transportar un misionero y un caníbal Coste operador= 1 • Estado. Elemento del espacio de estados que corresponde con el nodo. • Nodo padre. Es el nodo en el árbol de búsqueda que ha generado este nodo. • Acción /Operador. Operador que se aplicó al padre para generar este estado. • Coste del camino. Costo desde el nodo inicial denotado por g(n). • Profundidad en el ábol de búsqueda. Número de pasos a lo largo del camino desde el nodo inicial. • Espacio de estados. Finito • Árbol de nodos. Se genera y puede ser fnito o infnito Forma de representar un nodo Distinguir los conceptos UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 33 Guía didáctica: Inteligencia Artificial PRIMER BIMESTRE Representación gráfca de una de las POSIBLES movilizaciones O= misionero J= caníbal Un lado de la orilla Barca Otra orilla OOOJJJ OO JJ O Jà OOJJ Oß J OO J O Jà J OO J Jß O J O J Jà O J OJ O Jß OO J J O Jà OO J J Oß OO JJ O Jà OO JJ OOO JJJ ¿Cómo les fue?, ¿Pudieron realizarlo?, ¿Qué sucedió con los operadores, están bien identifcados? ¿pudieron representar de otra manera la solución del problema? Si. ¡¡¡EXCELENTE, CONTINUEMOS!!! Actividad recomendada Bien, una vez que tenemos claro las estrategias de búsqueda no informada, les invito a que apliquen el método de búsqueda más apropiado para el ejemplo propuesto “De vacaciones en la capital de la república”. Tómense todo el tiempo que requieran y analicen si es necesario aplicar más de un método de búsqueda. ¿Pudieron identifcar y aplicar el método de búsqueda? ¿Fue necesario agregar algo para establecer el coste? Esperamos que hayan aplicado el más efciente. ¡¡¡FELICITACIONES!!! Recuerde en caso de tener alguna inquietud puede recurrir al Entorno Virtual de Aprendizaje (EVA) y consultar a su profesor. Los métodos de búsqueda que hasta ahora hemos aplicado asumen que el entorno es totalmente observable y determinista y que el agente conoce cuáles son los efectos de cada acción. Por lo tanto el agente puede calcular exactamente cuál es el estado resultado de cualquier secuencia de acciones y siempre conoce en qué estado se encuentra. A continuación vamos a identifcar que sucede cuándo el conocimiento de los estados es incompleto. Guía didáctica: Inteligencia Artificial UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 34 PRIMER BIMESTRE 3.4 Búsqueda con información parcial Cuando el conocimiento de los estados es incompleto, se presentan tres tipos de problemas: a) problemas sin sensores, problemas de contingencia y problemas de exploración. Muy bien, para manejar apropiadamente los problemas de incompletitud, vamos a ubicar el texto básico y revisar la sección 3.6, prestemos cuido a cada uno de los problemas señalados. Terminada la lectura podrá darse cuenta que los ambientes parcialmente observables requieren de algoritmos de búsquedas en el espacio de estados de creencia y un plan de contingencia para manejar circunstancias desconocidas. Actividad recomendada Bien, una vez que pudimos establecer la diferencia de cada tipo de problemas de los diversos tipos de incompletitud, les invito a que desarrollen el ejercicio 3.7, literales a, b, c, y d del texto básico. ¿Cómo les fue con la realización del ejercicio? Esperamos que muy bien. ¡¡EN HORA BUENA, CONTINUEMOS!! Como es de conocimiento de ustedes, es obligación para los estudiantes de informática hacer uso de las herramientas tecnológicas que le proporciona nuestra Universidad, es por ello que: Interactividad en el EVA Los invitamos a participar activamente y de manera argumentada en los foros propuestos en el EVA, en los que podrá emitir su criterio y aprender de manera colaborativa los temas propuestos. UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 35 Guía didáctica: Inteligencia Artificial PRIMER BIMESTRE Autoevaluación No 3 Ahora bien, con la fnalidad de guiar y retroalimentar su autoaprendizaje, a continuación le presentamos la autoevaluación correspondiente a la presente unidad. Recuerde que para tener éxito en la autoevaluación les invito a que revise el resumen del capítulo que se encuentran en las páginas 97-98 del texto básico y luego continuar con el desarrollo de la Autoevaluación Nº 3. A. En cada uno de los paréntesis sírvase con una (V) si el enunciado es verdadero y con una (F) si el enunciado es falso, en caso no es verdadero el enunciado, permítase indicar la razón de la falsedad. 1. ( ) Los agentes resolventes – problemas deciden qué hacer para encontrar secuencias de acciones que conduzcan a los estados deseables. 2. ( ) Defnido el objetivo, la formulación del problema es el proceso de decidir que acciones y estados debemos considerar. 3. ( ) El proceso de examinar las distintas secuencias posibles de acciones que conducen a estados de valores conocidos y escoger la mejor acción secuencia se denomina selección. 4. ( ) La fase de ejecución se inicia cuando se encuentra una solución y se procede con la ejecución de las acciones que ésta recomienda. 5. ( ) Los componentes que ayudan a defnir formalmente un problema son: el estado inicial del agente; una descripción de las posibles acciones; el test objetivo y una función costo del camino. 6. ( ) Una solución de un problema es un camino desde el estado inicial a un estado objetivo. 7. ( ) La calidad de una solución se mide por la función costo del camino, y una solución óptima tiene el costo más elevado del camino entre todas las soluciones. 8. ( ) En un árbol de búsqueda, se denomina frontera a la colección de nodos que se han generado pero que aún no se han expandido. 9. ( ) Un algoritmo de búsqueda – árbol puede usarse para resolver cualquier tipo de problema, las variantes especifcas del algoritmo incorporan estrategias diferentes. 10. ( ) La evaluación del rendimiento de un algoritmo únicamente se la puede realizar por la completitud. Guía didáctica: Inteligencia Artificial UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 36 PRIMER BIMESTRE B. Desarrolle los siguiente ejercicios 1. Permítase indicar si la función que a continuación se presenta, corresponde a un algoritmo de búsqueda. Argumente su respuesta. funcion agente_de_soluciones_de_un_problema(p) return una_oración_simple inputs: p, una percepción structic: s, secuencia de acciones, inicialmente vacía, estado, descripción del estado actual del mundo g, una meta, inicialmente nula problema, una formulación del problema estado <- cambio_estado(estado, p) if s esta vacio then g <- FORMULACIÓN_DE_LA_META(estado) problema <- FORMULACION_DE_LA_META(estado, g) s <- BUSQUEDA(problema) acción <- RECOMENDACION(s, estado) s <- RESTANTE(s, estado) return accion 2. Mencione los objetivos fundamentales de la resolución de un problema mediante búsquedas ¡¡¡¡MUY BIEN!!! Verifque sus respuestas con las del solucionario que se encuentra al fnal de la presente guía didáctica. UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 37 Guía didáctica: Inteligencia Artificial PRIMER BIMESTRE UNIDAD 4: Estrategias de búsqueda informada y de exploración ¿Cómo están? ¿Animados para continuar adelante y así culminar con el primer bimestre? ... Indudablemente que sí. Para culminar con los contenidos programados para el primer bimestre, vamos a determinar las estrategias de búsqueda conocidas como informadas y de exploración, que utilizan el conocimiento específco de un problema. 4.1 Estrategias de búsqueda informada Existen dos aproximaciones fundamentales de búsqueda en el espacio de estado; la primera denominada búsqueda no informada (búsqueda ciega) y la segunda denominada búsqueda informada (heurística). Ambas son utilizadas en la IA, pero la búsqueda informada es un método de solución de problemas en IA; en todo caso, la búsqueda informada (búsqueda heurística) es un tipo de búsqueda ciega pero con una guía u orientación. Bien, ahora vamos a ver cómo las estrategias de búsqueda no informada pueden encontrar soluciones en problemas generando sistemáticamente nuevos estados y probándolos con el objetivo, para esto es preciso ir al el texto básico y revisar la sección 4.1, prestemos cuido a cada uno de los problemas señalados. ¿Qué les pareció la lectura? Estuvo entendible, si no fue así tómense el tiempo que requieran a fn de que les sea de ayuda. Al realizar la lectura se encontraron varias veces el término heurística, ¿cuál es su signifcado? heurística viene del griego “heurisko” (yo encuentro) conocimiento parcial sobre un problema / dominio que permite resolver problemas efcientemente en ese problema / dominio; un procedimiento es un criterio que permite resolver un problema, pero no hay garantía de que siempre lo resuelva y una función es la estimación del costo necesario para alcanzar una función desde el estado actual; las funciones heurísticas se descubren resolviendo modelos simplifcados del mundo real. Así mismo, se observó que la búsqueda primero el mejor se basa en la función de evaluación, f(n); tradicionalmente se selecciona para la expansión el nodo con la evaluación más baja ya que la evaluación mide la distancia al objetivo. Recordemos que un componente clave de los algoritmos de búsqueda primero el mejor, es una función heurística denotada h(n); hn = coste estimado del camino más barato desde el nodo n a un nodo objetivo Búsqueda voraz primero el mejor Evalúa los nodos utilizando únicamente la función heurística: f(n) = h(n) Guía didáctica: Inteligencia Artificial UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 38 PRIMER BIMESTRE Ejemplo Función f(n) : coste del nodo n Lista UNO: nodos generados pero no testeados Primero el mejor: siguiente n con min f(x) x UNO Rendimiento: mucho mejor que la búsqueda ciega Como pudo darse cuenta, la búsqueda voraz primero el mejor se parece a la búsqueda primero en profundidad en el modo que prefere seguir un camino hacia el objetivo, pero volverá atrás cuando llegue a un callejón sin salida; tiene las mismas limitaciones que la búsqueda primero en profundidad, no es optima y es incompleta porque puede ir hacia abajo en un camino infnito y nunca volver para intentar otras posibilidades. Búsqueda A* minimizar el costo estimado total de la solución La búsqueda A* evalúa los nodos combinando g(n), el coste para alcanzar el nodo y h(n) el coste de ir al nodo objetivo. Figura 4.1. Ecuación de la búsqueda A* Heurística: h(n) estima el costo de un camino óptimo de n a una solución g(n): coste desde la raíz hasta n h(n): admisible siempre y cuando no sobre pase el coste óptimo A*: primero el mejor con f(n) = g(n) + h(n) Cálculo de costes: g(n) se calcula como la suma de los costes de los arcos recorridos, k(ni, nj) Los valores reales únicamente se pueden conocer al fnal de la búsqueda, así: f*(n): coste real para ir desde el nodo inicial a algún nodo meta a través de n g*(n): coste real para ir desde el nodo inicial al nodo n h*(n): coste real para ir desde el nodo n a algún nodo meta Búsqueda heurística con memoria acotada En el texto básico, se presentan dos algoritmos con memoria acotada, así: Búsqueda Recursiva del Primero Mejor (BRPM) A* con Memoria Acotada (A*M) A* con Memoria Simplifcada (A*MS) UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 39 Guía didáctica: Inteligencia Artificial PRIMER BIMESTRE Actividad recomendada Muy bien, una vez que conocimos algunos algoritmos de búsqueda informada, les invito a que desar- rollen el ejercicio 4.11 del texto básico, literales a, b y d. ¿Les fue fácil identifcar el algoritmo para cada uno de los casos? Esperamos que si; caso contrario, les sugiero realizar una relectura del numeral 4.1. ¡¡FELICITACIONES, CONTINUEMOS!! 4.2 Algoritmos de búsqueda local y problemas de optimización Los algoritmos de búsqueda manejados hasta ahora, se diseñan para explorar sistemáticamente espacios de búsqueda, esta forma sistemática se alcanza manteniendo uno o más caminos en memoria y registrando qué alternativas se han explorado en cada punto a lo largo del camino y cuáles no. Cuando se encuentra un objetivo el camino a ese objetivo también constituye una solución al problema, pero si no importa el camino al objetivo, podemos utilizar una clase diferente de algoritmos. Muy bien, ahora vamos a entender la forma de funcionamiento de los algoritmos cuando no importa el camino a los objetivos, para esto es necesario ubicar el texto básico y revisar la sección 4.3, prestemos especial atención al algoritmo de búsqueda ascensión de colinas (Figura 4.11). ¿Qué les pareció la lectura? Estuvo interesante, seguro qué si. Al realizar la lectura pudieron darse cuenta que los algoritmos de búsqueda local que se presenta en el texto básico son los siguientes: Figura 4.2. Algoritmos de búsqueda local Guía didáctica: Inteligencia Artificial UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 40 PRIMER BIMESTRE Actividad recomendada Bien, una vez que conocimos como funcionan los algoritmos de búsqueda local, les invito a ejemplif- car cada uno de estos. ¿Cómo les fue con la ejemplifcación? Esperamos que muy bien; caso contrario, les invito a revisar nuevamente los contenidos del numeral 4.2. del texto básico y de la guía didáctica. ¡¡EN HORA BUENA, ADELANTE!! 4.3 Búsqueda online y ambientes desconocidos Hasta ahora hemos utilizado los algoritmos de búsqueda ofine, es necesario que conozcamos como funcionan los agentes online. Muy bien, ahora vamos a conocer como actúan agentes on line, prestemos atención especial a la defnición del término on line, así como a la Figura 4.19, en donde se ejemplifca el funcionamiento de este tipo de agentes. ¿Cómo les fue con la lectura? Estuvo atractiva, seguro qué si. Al realizar la lectura pudimos admitir que el agente de búsqueda online funciona intercalando el cálculo y la acción, primero toma una acción, entonces observa el entorno y calcula la siguiente acción. La búsqueda en tiempo real no sirve para tareas con tiempo o información limitada. Figura 4.3. Funcionamiento del agente de búsqueda online Adaptado de: http://bp2.blogger.com/_L5WebSJSfwo/R55Ra-rPX5I/AAAAAAAAAAg/W7ifoU6alo0/s1600-h/IA+2.JPG Problemas de búsqueda en línea (online) Un problema de búsqueda online puede resolverse por un agente que ejecuta acciones, más que un proceso computacional. UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 41 Guía didáctica: Inteligencia Artificial PRIMER BIMESTRE Agentes de búsqueda en línea Un agente online, después de cada acción, recibe una percepción al decirle que estado ha alcanzado; de esta información puede aumentar su mapa del entorno, el mapa actual se usa para decir dónde ir después. Figura 4.4. Forma de aprendizaje del agente de búsqueda online Adaptado de: http://bp2.blogger.com/_L5WebSJSfwo/R55Ra-rPX5I/AAAAAAAAAAg/W7ifoU6alo0/s1600-h/IA+2.JPG Los agentes en la búsqueda online, aprenden un “mapa” del entorno (el resultado de cada acción en cada estado), registrando cada una de sus experiencias y adquieren estimaciones más exactas del valor de cada estado utilizando las reglas de actualización local. Para aplicar lo que hasta ahora hemos aprendido, vamos a realizar juntos el siguiente ejercicio: Ejemplo Misioneros y caníbales Revisemos la descripción realizada de los “misioneros y caníbales” propuesta en el literal 3. 3 de la presente guía didáctica, y respondamos a las siguientes interrogantes: a) ¿Cómo se representarían los estados? b) ¿Cuáles serían los operadores? c) ¿Que heurísticas existen para este problema? ¿son admisibles? Estados: Se podría indicar la posición de la barca, junto con el número de misioneros y caníbales que hay en cada lado. Se podría pensar que, dado que el número de personas en el extremo final puede calcularse a partir de los que hay en el inicial, basta con indicar la posición de la barca y los misioneros y caníbales que quedan en el extremo inicial. Sin embargo, la primera aproximación permite describir más fácilmente las precondiciones y efectos de los operadores, por lo que mantenemos la representación inicial. Además, el espacio de estados tiene el mismo tamaño e idéntica semántica con ambas representaciones. Formalmente, un estado es una terna (M i, Ci, B, Mf, Cf) en la que: Guía didáctica: Inteligencia Artificial UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 42 PRIMER BIMESTRE B ∈ [i,f] indica la posición de la barca, por lo que toma el valor i si está en el extremo inicial, o f si está en el final. Mi, Ci, Mf, Cf ∈ [0, . . . , 3] indican el número de misioneros y caníbales que quedan en el extremo inicial y final del río, respectivamente. De esta manera, el estado inicial se representa como (3, 3, i, 0, 0) y el final como (0, 0, f, 3, 3). Actividad recomendada Bien, una vez que conocimos como funcionan los algoritmos de búsqueda online, les invito a que es- criban las diferencias entre los algoritmos de búsqueda ofine y los algoritmos de búsqueda online; así mismo, identifquen tres aplicaciones en las que se deben utilizar los algoritmos de búsqueda ofine y tres aplicaciones en las que se deben utilizar los algoritmos de búsqueda online. ¿Cómo les fue con la actividad propuesta? Esperamos que muy bien; caso contrario, les invito a revisar nuevamente los contenidos del numeral 4.3. ¡¡FELICITACIONES!! Muy bien, como se han podido dar cuenta hemos terminado de aprender los contenidos propuestos para el primer bimestre, los invitamos a que sigamos conociendo el apasionante mundo de la IA. Ahora bien, con la fnalidad de guiar y retroalimentar su autoaprendizaje, a continuación le presentamos la autoevaluación correspondiente a la presente unidad. Recuerde que para tener éxito en la autoevaluación es conveniente revisar el resumen del capítulo que se encuentra en las páginas 145-146 del texto básico y luego continuar con el desarrollo de la UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 43 Guía didáctica: Inteligencia Artificial PRIMER BIMESTRE Autoevaluación No 4 A. En cada uno de los paréntesis sírvase poner una (V) si el enunciado es verdadero y con una (F) si el enunciado es falso, en caso no es verdadero el enunciado, permítase indicar la razón de la falsedad. 1. ( ) Una estrategia de búsqueda no informada puede encontrar soluciones de manera más efciente que una estrategia de búsqueda informada. 2. ( ) La búsqueda primero el mejor es un caso particular de algoritmo general de búsqueda - arboles o búsqueda - grafos en la cual se selecciona un nodo para la expansión basada en una función de evaluación f(n). 3. ( ) La búsqueda primero el mejor es exacto. 4. ( ) La búsqueda voraz primero el mejor trata de expandir el nodo más cercano al objetivo, alegando que probablemente conduzca rápidamente a una solución. 5. ( ) La búsqueda voraz primero el mejor se parece a la búsqueda de profundidad limitada, en el modo que prefere seguir un camino hacia el objetivo, pero volverá atrás cuando llegue a un callejón sin salida. 6. ( ) La búsqueda voraz primero el mejor sufre los mismos defectos que la búsqueda primero en profundidad, no es optima y es incompleta porque puede ir hacia abajo en un camino infnito y nunca volver para intentar otras posibilidades. 7. ( ) Un buen algoritmo de búsqueda informada debería considerar el valor heurístico de los nodos y el costo real del recorrido. 8. ( ) El rendimiento de los algoritmos de búsqueda heurística dependen de la calidad de la función heurística. 9. ( ) Los algoritmos de búsqueda local funciona como un solo estado actual y generalmente se mueve solo a los vecinos del estado. 10. ( ) Los algoritmos de búsqueda local son sistemáticos. B. Desarrolle los siguientes ejercicios: 1. Elabore un cuadro comparativo entre la búsqueda no informada y la búsqueda informada Estrategia de trabajo Para que tenga éxito en el desarrollo del cuadro comparativo es preciso de que lea de manera detallada la unidad 3 y la unidad 4 de la guía didáctica; así como: el capítulo 3 y el capítulo 4 del texto básico, preste especial atención a los resúmenes que se encuentran la fnal de cada capítulo. Guía didáctica: Inteligencia Artificial UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 44 PRIMER BIMESTRE 2. Escriba el pseudocódigo para la implementación del algoritmo A* Estrategia de trabajo Para poder realizar de manera adecuada el pseudocódigo solicitado, lea con cuidado lo referente a la búsqueda A*, y preste mucha atención a lo señalado en las fguras 4.3 y 4.4 de la guía didáctica, esto te ayudará a comprender de mejor manera el funcionamiento del algoritmo búsqueda A*. ¡¡¡¡MUY BIEN!!! Verifque sus respuestas con las del solucionario que se encuentra al fnal de la presente guía didáctica. UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 45 Guía didáctica: Inteligencia Artificial SEGUNDO BIMESTRE SEGUNDO BIMESTRE 6.5 Competencias genéricas • Pensamiento crítico • Comportamiento ético • Innovación. 6.6 Planificación para el trabajo del alumno Competencias Específcas Indicadores de aprendizaje Contenidos Actividades de Aprendizaje Cronograma Orientativo Unidades/Temas Tiempo estimado Analizar problemas de programación y plantear soluciones mediante métodos computacionales. Utiliza adecuadamente los principales algoritmos y métodos de resolución de problemas de satisfacción de restricciones Selecciona la estrategia más adecuada para la optimización de los algoritmos de búsqueda. UNIDAD 5: PROBLEMAS DE SATISFACCIÓN DE RESTRICCIONES 5.1 Introducción a los Problemas de Satisfacción de Restricciones 5.2 Búsqueda con vuelta atrás para resolver Problemas de Satisfacción de Restricciones 5.3 Búsqueda local para problemas de satisfacción de restricciones 5.3 Estructura de los problemas Leer comprensivamente del texto base, capítulo 5: “Problemas de satisfacción de restricciones” Analizar el ejemplo presentado en la fgura 5.1. de su texto base y luego obtenga posibles soluciones para el problema de colorear el recorte del mapa del Ecuador. Identifcar la diferencia entre una búsqueda con vuelta atrás y la búsqueda con vuelta atrás inteligente. Desarrollar otras actividades recomendadas de la Unidad 5. Desarrollar la autoevaluación 1 Interactuar con el EVA Inicio del desarrollo de la evaluación a distancia del II Bimestre. Semana 9 y 10 8 horas de autoestudio y 8 horas de interacción Analiza problemas y determina qué técnicas de búsqueda es la más adecuada. Resuelve ejercicios utilizando algoritmos de búsqueda Reconoce los diferentes elementos de juego UNIDAD 6: BÚSQUEDA ENTRE ADVERSARIOS 6.1 Juegos 6.2 Algoritmo MINIMAX 6.3 Poda Alfa-Beta Leer comprensivamente del texto base, capítulo 6: "Búsqueda entre adversarios" Considerar el árbol de la fgura 6.3 de la Unidad 6, y señale las estrategias ganadoras (si las hubiera) para un jugador MAX y para un jugador MIN. Desarrollar otras actividades recomendadas de la Unidad 6. Desarrollar la autoevaluació 6 Interactuar con el EVA Continuar con el desarrollo de la evaluación a distancia del II Bimestre. Semana 11 y 12 8 horas de autoestudio y 8 horas de interacción Guía didáctica: Inteligencia Artificial UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 46 SEGUNDO BIMESTRE Implementar aplicaciones a partir de especifcaciones y modelos de software utilizando estándares de documentación y de programación. Aplica la teoría de agentes lógicos para resolver problemas de la vida real. Diseña agente lógicos que actúen en entornos heterogéneos Resuelve problemas concretos con la ayuda de agentes inteligentes UNIDAD 7: AGENTES LÓGICOS 7.1 Agentes basados en el conocimiento 7.2 Lógica proposicional - patrones de razonamiento 7.3 Encadenamiento hacia adelante y hacia atrás 7.4 Agentes basados en lógica proposicional Leer comprensivamente del capítulo 7: ”Agentes Lógicos" Pensar como sería el esquema de una agente basado en conocimiento para un sistema de diagnóstico médico y luego describir los componentes del mismo. Realizar el ejercicio 7.8 del texto base, y verifque su decisión utilizando las equivalencias lógicas revisadas en la lectura anterior. Desarrollar otras actividades recomendadas de la Unidad 7. Desarrollar la autoevaluación 7 Interactuar con el EVA Continuar con el desarrollo de la evaluación a distancia del II Bimestre. Semana 13 4 horas de autoestudio y 4 horas de interacción Busca y propone nuevos métodos y soluciones ante situaciones y problemas dados Analiza situaciones que pueden ser representadas mediante tecnologías semánticas UNIDAD 8: REPRESENTACIÓN DEL CONOCIMIENTO 8.1 Introducción a la representación del conocimiento 8.2 Técnicas de representación del conocimiento 8.3 Web semántica 8.4 Tecnologías de la Web Semántica: Ontologías Leer comprensivamente del capítulo 10. Representación del conocimiento, de su texto base. Representar un dominio universitario mediante mapas conceptuales. Investigar sobre las ventajas de la web semántica y mencione algunos proyectos que se han realizado sobre ésta. Identifcar la relación que existe entre la representación del conocimiento y la web semántica. Desarrollar otras actividades recomendadas de la Unidad 7. Desarrollar la autoevaluación 7 Interactuar con el EVA Finalizar el desarrollo de la evaluación a distancia del II Bimestre. Semana 14 4 horas de autoestudio 4 horas de interacción Revisión de la Unidad 5 - 8 Preparar la evaluación presencial, haciendo una revisión de las unidades 5 - 8, de las autoevaluaciones y de la evaluación a distancia Semana 15 y 16 8: 8 horas de autoestudio y 8 horas de interacción UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 47 Guía didáctica: Inteligencia Artificial SEGUNDO BIMESTRE 6.7 Orientaciones específicas para el aprendizaje por competencias UNIDAD 5: Problemas de satisfacción de restricciones Bien!!!. Ahora empezaremos a trabajar con los contenidos del segundo bimestre, estamos seguras que está predispuesto para iniciar con entusiasmo el estudio de esta unidad. Vamos a iniciar revisando los Problemas de Satisfacción de Restricciones (PSR). Este tipo de problemas es muy interesante ya que conoceremos una variedad de métodos de búsqueda y lograremos un entendimiento más amplio de la estructura de los problemas. 5.1 Introducción a los Problemas de Satisfacción de Restricciones Nos imaginamos que le habrán surgido muchas inquietudes cómo ¿A qué se refere este tipo de problemas? ¿en qué se diferencia de los anteriores?, etc., para aclarar esta inquietudes lo invitamos a desarrollar lo siguiente: Realizar una lectura del texto base, Capítulo 5., sección 5.1: “Problemas de satisfacción de restricciones”, en donde conocerá la manera de combinar los requerimientos de los problemas con las posibles soluciones que se puedan encontrar para el mismo. Desarrollada la lectura podemos comprender que los problemas de satisfacción está defnido por: • Un conjunto de variables, cada una de las cuales tiene un dominio de valores. • Un conjunto de restricciones, en la que cada una de ellas implica un subconjunto de variables. Teniendo en cuenta estas consideraciones a continuación se resumen los elementos de un PSR. Figura 5.1. Elementos que caracterizan a un PSR Una vez comprendido la explicación sobre los PSR como la asignación de valores a una variable, solución de un PSR, la función objetivo, etc., lo invitamos a revisar el siguiente ejemplo: Guía didáctica: Inteligencia Artificial UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 48 SEGUNDO BIMESTRE Figura 5.2. Recorte del mapa político del Ecuador. Fuente [Google imágenes] • Las variables serán las provincias: Esmeraldas, Manabí, Pichincha e Imbabura. • El dominio son los colores {rojo, azul, verde, amarillo} • La restricción principal consiste en que cada provincia correspondiente al mapa debe tener un color distinto a cualquiera de sus vecinos próximos. Si cada provincia se la representa por una variable, se tendría: • Esmeraldas (x), • Manabí (y), • Pichincha (w) • Imbabura (z). Las restricciones serían las siguientes: Figura 5.3. Recorte del mapa político del Ecuador. Fuente [Google Maps], utilizado para la interpretación de las restricciones {x ≠ y, x≠w, x≠z, y≠z, w≠z} UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 49 Guía didáctica: Inteligencia Artificial SEGUNDO BIMESTRE Pueden existir múltiples soluciones para el problema planteado. Pero lo importante es encontrar un conjunto de estados (como se menciona en el texto base), que permita obtener una solución adecuada. En la siguiente sección de esta guía exponemos uno de esos algoritmos. Actividad recomendada Analice el ejemplo presentado en la fgura 5.1. de su texto base que hace referencia a un problema de coloreo de un mapa representado con grafo de restricciones. Luego obtenga posibles soluciones para el problema planteado anteriormente: Colorear el recorte del mapa del Ecuador. 5.2 Búsqueda con vuelta atrás para resolver Problemas de Satisfacción de Restricciones (PSR) Hemos visto la formulación de PSR como problemas de búsqueda, ahora es necesario trabajar con una estrategia de búsqueda que permita automáticamente obtener una solución, como el algoritmo de vuelta atrás. Realice una lectura comprensiva de la sección 5.2: “Búsqueda con vuelta atrás para PSR”, en ella se describe de forma muy clara el funcionamiento del algoritmo de vuelta atrás. Un aspecto importante de resaltar de la lectura anterior es que este algoritmo se utiliza para búsquedas primero en profundidad, donde se elige valores para una variable a la vez y vuelve atrás cuando una variable no tiene ningún valor legal para asignarle. Ahora continuaremos con el ejemplo propuesto en la sección anterior del planteamiento del problema de colorear el recorte del mapa del Ecuador. Para resolver este problema utilizando el algoritmo de vuelta atrás, es necesario construir un grafo como se muestra a continuación: Figura 5.4. Grafo de búsqueda Guía didáctica: Inteligencia Artificial UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 50 SEGUNDO BIMESTRE El grafo anterior es un grafo de búsqueda plano, ya que permite la interconexión entre las distintas ciudades. Aplicando el algoritmo de búsqueda con vuelta atrás, se tiene la siguiente solución: 1. Diseñar un árbol de búsqueda: Para ello empezamos dándole colores a las provincias en el mapa: x = rojo y = verde z = azul 2. Dado el estado anterior es necesario generar un color para la provincia w: • Si w recibe rojo, no pudiese ser, ya que x es rojo. • Si w recibe azul, no pudiese ser, ya que z es azul. • Si w recibe verde, no pudiese ser, ya que y es verde. • Si w recibe amarillo, esta solución sería correcta ya que no coincide con los colores de ninguno de sus vecinos. Como puede observar, la búsqueda de qué color ubicar para cada provincia es recursiva, puesto que hay que regresar a ver qué color tienen las provincias vecinas para asignar un valor correcto a la provincia que le falta el color. ¡Suena interesante verdad! Seguimos entonces, consideramos la representación anterior, para generar el siguiente árbol de búsqueda: Figura 5.5. Árbol de búsqueda El árbol obtenido, es generado tomando en cuenta el color en orden para las letras x,y,z,w, que es el orden que va coincidiendo con el recorrido por provincias en el mapa. En la segunda y tercera hoja del árbol se observa como los colores han ido variando, por lo tanto se tiene un color distinto para w. Por la característica del algoritmo (vuelta atrás) es necesario regresar a observar los colores que han tenido las variable x,y,z para ubicar el color adecuado a w. Ejercicio Ahora realice usted el mismo ejercicio considerando la provincias de Guayaquil, Los Ríos, Cotopaxi y Bolivar, y asigne una variable diferente a cada provincia, luego aplique búsqueda con vuelta atrás para asignar un color a la provincia de Bolívar. UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 51 Guía didáctica: Inteligencia Artificial SEGUNDO BIMESTRE Recuerde!. En caso de tener alguna inquietud puede consultar a su profesor a través del entorno virtual de aprendizaje o en el horario de tutoría establecido por su profesor. Comprobación hacia delante y propagación de restricciones La comprobación hacia delante permite usar mejor las restricciones durante las búsquedas, eliminando de un dominio los valores inconsistentes con una determinada variable, en cambio la propagación de restricciones consiste en propagar las implicaciones de una restricción sobre una variable en las otras variables. Regresemos a la lectura señalada anteriormente en esta guía y analice el apartado Propagación de la información de restricciones, de la sección 5.2 de su texto base. Una vez que ha realizado la lectura, es momento de poner en práctica lo estudiado, refexionando sobre la siguiente interrogante: Actividad recomendada Según su opinión ¿Cuál es la diferencia entre una búsqueda con vuelta atrás y la búsqueda con vuelta atrás inteligente? 5.3 Búsqueda local para problemas de satisfacción de restricciones Veremos ahora otro interesante tema como la búsqueda local, que trata de algoritmos que se pueden utilizar para resolver problemas de satisfacción de restricciones. En esta sección se estudiará sus principales características y sus aplicaciones. Revise y realice una lectura comprensiva de la sección 5.3: “Búsqueda local para problemas de satisfacción de restricciones”. Con la lectura se podrá dar cuenta de que existen distintas formas de resolver problemas de este tipo. ¿Verdad que la lectura le proporcionó información relevante sobre el tema?, pues bien vamos a señalar los puntos que debe tener siempre presente dentro de una búsqueda local: Figura 5.6. Características de la búsqueda local aplicada al problema de satisfacción de restricciones Guía didáctica: Inteligencia Artificial UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 52 SEGUNDO BIMESTRE El ejercicio de la sección 5.3: “Búsqueda local para problemas de satisfacción de restricciones, esquematizado en la fgura 5.9, del texto base es muy explicativo y le podrá ayudar a la comprensión de este tema. Lo importante de este ejercicio es la ubicación de las ocho reinas con una solución de solamente dos pasos. ¡Interesante verdad!. Además presenta de una forma adecuada el ajuste de la función de búsqueda. Actividad recomendada v Revise el ejercicio de la posición de las reinas ubicado en la sección 5.3 del texto base: “Búsqueda local para problemas de satisfacción de restricciones”. ¿Es posible ubicar 9 reinas en el tablero?, si la respuesta es SI, explique el proceso de ubicar las nuevas reinas. 5.4 Estructura de los problemas Un aspecto importante de los problemas de satisfacción de restricciones es estructurar el problema mediante grafos de restricciones de tal forma que se pueda encontrar las soluciones de forma más rápida. Para conocer más del tema lo invitamos a desarrollar lo siguiente: Leer la sección 5.4 La estructura de los problemas, de su texto base, para conocer algunos grafos de restricciones y la descripción de estas estructuras mediante algoritmos. ¡Muy bien!, hemos culminado con éxito el desarrollo de esta unidad, en este momento lo invitamos a que resuelva la siguiente autoevaluación para comprobar lo aprendido. UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 53 Guía didáctica: Inteligencia Artificial SEGUNDO BIMESTRE Autoevaluación No 5 A. En cada uno de los paréntesis sírvase responder con una (V) si el enunciado es verdadero y con una (F) si el enunciado es falso. 1. ( ) Los problemas de satisfacción de restricciones están defnidos por un conjunto de variables y un conjunto de estados. 2. ( ) Una restricción es un condicionante de un problema. 3. ( ) La búsqueda con vuelta atrás se utiliza para búsquedas primero en profundidad. 4. ( ) En la búsqueda local siempre se aplica la solución actual como válida. 5. ( ) Se puede aplicar el algoritmo de vuelta atrás siempre y cuando existan solamente dos restricciones. 6. ( ) Los PSR consisten en variables con restricciones sobre ellas. 7. ( ) Los PSR con preferencias pueden resolverse utilizando métodos de búsqueda de optimización basados en caminos o locales. 8. ( ) La clase más simple de los problemas de satisfacción de restricciones es la que implica variables discretas y continuas. B. Desarrolle el siguiente ejercicio: 9. Tomando como base la Figura 5.4. de la presente guía didáctica, diseñe un árbol de búsqueda empezando la coloración del mapa por w. ¡Excelente!, ha comprobado su nivel de aprendizaje en los temas. Lo invitamos a seguir avanzando con el estudio de las siguientes secciones. Verifque sus respuestas con las del solucionario que se encuentra al fnal de la presente guía didáctica. Guía didáctica: Inteligencia Artificial UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 54 SEGUNDO BIMESTRE UNIDAD 6: Búsqueda entre adversarios Interesante unidad ¡Verdad..!. Pues bien, iniciamos el estudio de esta unidad con el uso de la búsqueda entre adversarios (juegos), donde se revisarán conceptos sobre la teoría de juegos, se describirá como las acciones de un jugador infuyen en las acciones de su adversario (Minimax) y por último como se puede reducir el número de jugadas para que los algoritmos de Inteligencia Artifcial ocupen de una forma adecuada la memoria de los computadores en donde se ejecutan. 6.1 Juegos La búsqueda entre adversarios comúnmente conocidos como Juegos se da en entornos competitivos donde los objetivos del agente entran en conficto con los de otro agente. En este tipo de búsqueda los valores de utilidad al fnal de un juego son siempre iguales y opuestos. Para aclarar nuestras dudas y conocer más de este tema desarrollar la siguiente lectura: Revisar el capítulo 6. Búsqueda entre adversarios, del texto base. En el cual encontrará los componentes de un juego y las estrategias óptimas que conduzcan a los resultados deseables. De la lectura realizada es conveniente que comprenda los componentes que conforman a un juego, los cuales se resumen a continuación: Figura. 6.1 Componentes de un juego Los movimientos en un juego se realizan en profundidad, y cada nodo en el árbol tiene un valor llamado MIN o MAX. Para conocer sobre estos términos lo invitamos a seguir leyendo la sección siguiente. 6.2 Algoritmo MINIMAX ¿Ha jugado alguna vez tres en raya?, nos imaginamos que si. Para este juego existen dos jugadores, y lógicamente gana aquel que seleccione la mejor estrategia (algunos piensan que la mejor estrategia es empezar primero y ubicarse en la celda céntrica del tablero…¿qué piensa usted?). Es conveniente para este tipo de problemas de búsqueda elegir la mejor estrategia, pero ¿cómo hacerlo? o ¿cuál es la decisión óptima?. Pues bien, con la lectura siguiente podrá aclarar estas interrogantes. UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 55 Guía didáctica: Inteligencia Artificial SEGUNDO BIMESTRE Regresar a su texto base y dentro de la sección 6.2: “Decisiones óptimas en juegos”, revisar el apartado Algoritmo minimax, para conocer a detalle el funcionamiento de este algoritmo. Considere que el algoritmo minimax realiza una exploración exhaustiva del árbol de búsqueda, de manera que el jugador que debe mover en primer lugar, al que llamaremos MAX tiende a elegir en cada uno de sus movimientos aquel camino que le conduzca a un nodo con el mayor valor posible de la función de evaluación de la función heurística. La estrategia del otro jugador al que llamaremos MIN es la contraria, ya que tratará de oponerse a la estrategia de MAX, tomando el peor valor para aquella, es decir, el más pequeño. La anterior es una defnición muy interesante, de hecho propone que MAX y MIN son oponentes y lógicamente uno debe ser declarado ganador. Sin embargo, existen otras propuestas de la teoría de juegos, en donde los adversarios colaboran para obtener el mejor resultado para ambos jugadores. Ahora veamos el siguiente ejemplo de MINIMAX propuesto en (Fernández, Boticario y Mira, 2001) : Figura 6.2. Algoritmo minimax En la Figura 6.2. Desde el nodo MIN superior se puede llegar a un nodo con valor 7. El otro camino posible sólo es conveniente explorarlo mientras se sepa que se puede llegar por él a un nodo cuyo valor sea menor que 7. Como consecuencia de esto no es necesario explorar el camino de MAX ya que nos conduce a un valor de 8, el cual es mayor que 7 y por lo tanto no es la solución que buscamos. Una vez comprendido lo que es el algoritmo MINIMAX, nos gustaría que revise el siguiente resumen: ¡Recuerde!. Desde un nodo padre MAX se elegirá aquella jugada que conduzca al hijo con mayor valor asociado, por el contrario desde un nodo padre MIN se elegirá la jugada que lleve al hijo con menor valor asociado. Hay que considerar que en este tipo de búsqueda sólo hay un ganador. Bien, ahora es momento de trabajar sobre el tema: MAX MIN 7 MAX MIN 8 Guía didáctica: Inteligencia Artificial UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 56 SEGUNDO BIMESTRE Ejercicio Considere el siguiente árbol, y señale las estrategias ganadoras (si las hubiera) para un jugador MAX y para un jugador MIN. Se considera que un nodo terminal (hoja) es ganador para MAX si su valor es superior o igual a 5. Por lo contrario, un estado ganador para MIN es aquél valor inferior a 5. Justifque su respuesta. Figura 6.3. árbol de búsqueda 6.3 Poda Alfa-Beta Cómo se habrá dado cuenta, el algoritmo MINIMAX que lo estudiamos anteriormente permite determinar que existen dos jugadores adversarios, esto hace que el algoritmo se vuelva lento por tener que explorar muchas ramas del árbol de búsqueda para encontrar una solución. ¿Qué hacer para que MINIMAX opere más rápido?, veamos una alternativa realizando lo siguiente: Desarrollar la lectura de la sección 6.3: “Poda alfa-beta”, veremos cómo es posible incrementar la efciencia del MINIMAX podando las hojas del árbol de búsqueda. De la lectura realizada se podrá dar cuenta que la poda ALFA-BETA es una excelente técnica para disminuir el tiempo de respuesta del MINIMAX, debido a que no explora todas las ramas del árbol de búsqueda, y además PODA (corta) las ramas que no interesan. Su funcionamiento se basa en los siguientes puntos: • Pasa cada llamada recursiva a un nodo hijo. • Existen dos valores α y β . α representa la cota inferior de los valores que se van a ir buscando en la parte del árbol que queda por explorar. β es la cota superior de los mismos valores. • Si en algún momento α llega a ser mayor 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. Ahora realicemos una analogía con una lista de números: para entender bien la técnica alfa-beta, primero debemos darnos cuenta que podemos sacar el mayor o menor de una lista de números, como por ejemplo: MAX UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 57 Guía didáctica: Inteligencia Artificial SEGUNDO BIMESTRE De la Lista = 1 2 4 8 El mayor es 8 y el menor es 1. Lo interesante es que éste es el principio básico de la función heurística, la comparación de números para obtener valores mayores o menores. Coloque ahora los siguientes números en un árbol de búsqueda como se muestra en la fgura siguiente (ver hojas del árbol) y obtengamos otras listas aplicando la función heurística: Figura 6.4. Poda Alfa-Beta En la fgura anterior usted podrá observar que el nodo inicial es MAX, ahora al comparar MAX con MIX, MAX es el mayor, por lo que empezamos por las hojas del árbol de MAX. Primero se compara el 5 con el 15, luego como 15 es mayor a 5, el ganador parcial es 15. Luego se verifca si 10 es mayor a 15, como no lo es, entonces se mantiene 15 como ganador y por último se compara 15 con el 20, quedando 20 como ganador de la comparación. Ahora damos paso al siguiente jugador, por lo que en la otra rama utilizaríamos MIN, o sea los menores. Empezamos, comparamos 15 con el 25, el cual es mayor que 15. Si nos pasamos a MIN aquí el ganador es 15 porque es el menor (entre 25 y 15). Seguimos con el 30, pero 30 es mayor que 25 y mayor que 15, ¿es necesario compararlo?. No, porque de todas maneras 15 en MIN, es decir, sería el ganador. Por lo tanto esa comparación ya no es necesaria, por lo que sería necesario aplicar la poda tipo α para MIN. Hemos descifrado juntos la forma cómo podemos evitar las búsquedas innecesarias en MINIMAX, por lo tanto estamos ya capacitados para automatizar algoritmos con agentes lógicos. Es conveniente seguir trabajando sobre lo estudiado, por ello lo invitamos a interactuar con las tecnologías a través de la siguiente actividad. Interactividad en el EVA Ingresar al EVA y revisar los documentos y ejercicios que le pueden ayudar a complementar el tema. ¡Ánimo, lo esperamos! ¡Muy bien!... hemos fnalizado la quinta unidad, ahora comprobemos lo aprendido realizando la autoevaluación siguiente. 5 15 10 20 15 25 30 MAX ->20 MIN ->15 MAX ->20 Guía didáctica: Inteligencia Artificial UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 58 SEGUNDO BIMESTRE Autoevaluación No 6 A. En cada uno de los paréntesis sírvase responder con una (V) si el enunciado es verdadero y con una (F) si el enunciado es falso. 1. ( ) El algoritmo minimax se puede utilizar en la búsqueda en profundidad. 2. ( ) El algoritmo minimax es posible aplicar a la teoría de juegos. 3. ( ) En el algoritmo minimax los dos jugadores pueden colaborar para sacar un benefcio común. 4. ( ) En el algoritmo minimax el que empieza el juego es max y min siempre es el ganador. 5. ( ) El algoritmo minimax puede ser aplicado con búsqueda en anchura. 6. ( ) La técnica poda alfa-beta puede aplicarse a árboles de cualquier profundidad. 7. ( ) La técnica poda alfa-beta permite saber cuando se puede realizar un corte en el árbol de búsqueda. 8. ( ) La poda alfa-beta aumenta el tiempo de respuesta del algoritmo MINIMAX. B. Desarrolle lo siguiente: Resuelva el ejercicio propuesto en la sección 6.2 de esta guía didáctica y analice ¿qué pasaría si el nodo inicial fuese MIN?. ¡¡¡¡MUY BIEN HEMOS FINALIZADO LA UNIDAD!!! Verifque sus respuestas con las del solucionario que se encuentra al fnal de la presente guía didáctica. UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 59 Guía didáctica: Inteligencia Artificial SEGUNDO BIMESTRE UNIDAD 7: Agentes lógicos En esta unidad revisará como diseñar agentes basados en conocimiento, utilizando lógica proposicional, y algunas estrategias de deducción que permiten que el computador actúe de forma autónoma e inteligente. Es por ello que, empezaremos conociendo acerca de los agentes basados en el conocimiento, los cuales son como las personas que tomamos una decisión en base al conocimiento que tenemos a mano sobre un caso en particular. Luego aprenderemos como el conocimiento puede ser representado utilizando lógica proposicional y por último utilizaremos los patrones de razonamiento para deducir sentencias de la lógica proposicional que permiten representar un contexto. Parece interesante ¡cierto!, para nosotros es un gusto compartir con usted el desarrollo de esta unidad. ¿Empezamos?. 7.1 Agentes basados en el conocimiento ¿Qué es un agente basado en conocimiento?. Como usted conoce, un agente puede ser visto como cualquier “cosa” capaz de percibir de su medio ambiente. Pero, ¿basado en conocimiento?, para comprender mejor realicemos una analogía: nosotros como personas utilizamos nuestros sentidos para realizar una acción, en cambio un programa de computador ( en este caso el agente) utiliza sensores para resolver problemas, como por ejemplo para capturar o percibir ciertas entradas al programa. Si las personas almacenamos el conocimiento en la memoria, el agente almacena su información en una base de conocimientos. Bien, se está poniendo interesante el tema ¡Verdad!, veamos ahora otra analogía: si nosotros aprendemos a manejar un celular, es probable que utilizando este aprendizaje podamos manejar muchos más. De ahí que, un agente puede inferir conocimiento nuevo con base a lo que percibe y utiliza el conocimiento anterior para tomar decisiones. A eso le denominamos: razonamiento. Ahora sí, respondamos a la interrogante de qué es un agente basado en conocimiento, desarrollando lo siguiente: Realizar una lectura de la sección 7.1:”Agentes basados en el conocimiento”, para conocer a detalle sobre este tipo de agentes. Bien, una vez desarrollada la lectura, se le vendrán a la mente algunas ideas: Pues bien, el agente recibe el conocimiento desde cada una de sus fuentes: sensores, bases de datos, etc. que forman su entorno, esta información reposa en una base de conocimiento que es luego recuperado para hacer inferencias. Luego el agente produce salidas o acciones sobre su entorno o medio ambiente. En base a esto podemos resumir que un agente basado en conocimiento es un sistema que posee conocimiento de su entorno o medio ambiente y es capaz de razonar sobre las posibles acciones que puede tomar para cambiar el estado de su entorno. De esta defnición podemos extraer principalmente dos componentes de estos agentes: Base de conocimiento razonamiento entradas Guía didáctica: Inteligencia Artificial UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 60 SEGUNDO BIMESTRE 1. La base de conocimiento, que representan hechos acerca del mundo, expresado en un lenguaje de representación del conocimiento. Es decir que siempre que se ejecuta el programa del agente basado en el conocimiento, sucede dos cosas: • El programa informa a la Base de Conocimiento lo que percibe.(DECIR) • El programa pregunta a la Base de Conocimiento qué hacer, luego graba la respuesta (PREGUNTAR), y responde mediante el razonamiento lógico. 2. Motor de inferencia Deduce nuevas sentencias a partir de las oraciones almacenadas en la base de conocimiento y de las nuevas percepciones. A este proceso se le denomina inferencias es decir, derivar nuevas sentencias a partir de las ya existentes. En la siguiente fgura podemos observar el esquema que representa a un agente basado en conocimiento. Figura 7.1. Esquema de un agente basado en conocimiento (adaptado de Camacho, s.f ) En el esquema anterior se ha logrado resumir fácilmente al agente basado en el conocimiento. Como se describe en el texto base, uno de los ejemplos más claros de un agente basado en el conocimiento es el mundo de wumpus. Por ello lo invitamos a: Revisar la sección 7.2 “El mundo de wumpus”, donde conocerá las reglas del funcionamiento del juego. Luego de revisar las reglas del juego presentadas en la lectura, lo invitamos a revisar el anexo 1, donde se presenta la solución del ejercicio 7.2 propuesto en el texto base, página 266. Como se observa en el ejercicio presentado en el anexo, la base de conocimiento de este juego está formada por un conjunto de sentencias, donde una sentencia es la representación de un hecho del mundo (juego), en un lenguaje de representación del conocimiento. Un agente lógico entonces, parte de su conocimiento y utiliza el razonamiento lógico para llegar a su objetivo. ¡Bien!, ahora vamos a poner en práctica nuestro conocimiento! Percepciones Base de conocimiento Acciones Motor de inferencia Entorno S e n s o r e s E f e c t o r e s UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 61 Guía didáctica: Inteligencia Artificial SEGUNDO BIMESTRE Actividad recomendada Piense como sería el esquema de un agente basado en conocimiento para un sistema de diagnóstico médico y de respuesta a lo siguiente: ¿Cuál sería su base de conocimiento, su entorno, las nuevas sentencias o percepciones derivadas?.¿Cómo y cuáles serían las respuestas que daría el sistema mediante razonamiento lógico a su entorno? _____________________________________________________________________________ _____________________________________________________________________________ _____________________________________________________________________________ _____________________________________________________________________________ 7.2 Lógica Proposicional – Patrones de razonamiento Un agente basado en el conocimiento necesita almacenar su información en una estructura que le permita recuperarla e interpretarla de forma fácil. Para almacenar esta información en la base de conocimiento se necesita de un lenguaje que permita representarlo con una sintaxis que permita construir las sentencias y una semántica que permita construir las reglas para determinar el valor de verdad de cada sentencia. Para comprender el tema es necesario: Realizar una lectura de la sección 7.4: “Lógica Proposicional”, veremos cómo las proposiciones pueden agruparse para convertirse en una base de conocimiento. En base a lo expuesto en el texto base sobre la lógica proposicional, podrá deducir que no es complicado representar el conocimiento utilizando su sintaxis y semántica. Los puntos importantes de resaltar del estudio del texto base son los que se resumen en el esquema siguiente: Figura 7.2. Puntos clave del estudio de lógica proposicional Guía didáctica: Inteligencia Artificial UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 62 SEGUNDO BIMESTRE Bien ahora, ¿cómo saber si una sentencia es válida?, para esto es necesario conocer algunos conceptos relacionados a la implicación como: Equivalencia, validez y satisfactibilidad, que los comprenderá con la siguiente lectura. Realizar una lectura del apartado correspondiente Equivalencia, validez y satisfactibilidad y analice las equivalencias lógicas especifcadas. Es momento de poner en práctica lo estudiado, realizando el siguiente ejercicio a fn de comprender de mejor manera la utilización de la lógica proposicional: Ejercicio Realice el ejercicio 7.8 del texto base, y verifque su decisión utilizando las equivalencias lógicas revisadas en la lectura anterior. ¡Recuerde!. Para tener todas las proposiciones de las combinaciones de p y q, se utiliza la fórmula 2 n. En donde n es el número de proposiciones que hay en el ejercicio. Por lo tanto, si tenemos dos proposiciones el resultado de la fórmula es 22= 4. Dividimos el resultado 4 para 2, el resultado es 2. Este último resultado es el número de Verdaderos (V) y Falsos (F) para p. Volvemos a dividir este último resultado 2 y lo dividimos para dos, el resultado es 1. Este último resultado es el número de V y F para q. Estos valores son ubicados en las dos primeras columnas de la tabla de verdad. Una vez realizado el ejercicio, es conveniente que tome en cuenta lo siguiente: Interactividad en el EVA Ingresar al EVA, y participe de las actividades propuestas por su profesor. Patrones de razonamiento ¡Qué bien seguimos avanzando con el estudio!, seguro estará gustoso de conocer este tema, el cual trata sobre la reducción del número de proposiciones para representar el conocimiento, proceso conocido como Patrón de razonamiento. Descubriremos entonces en esta sección como un conjunto de reglas (sentencias) pueden someterse a un proceso (patrones, fórmulas lógicas) con el fn de hacer más fácil su utilización. El objetivo es derivar sentencias de conclusiones que nos lleven al objetivo deseado de tal forma que éstas se puedan representar fácilmente en la base de conocimiento. ¡Bien, empecemos!. Realizar una lectura se la sección 7.5: “Patrones de razonamiento en lógica proposicional”. Veremos como algunas proposiciones pueden conectarse para facilitar la representación del conocimiento. UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 63 Guía didáctica: Inteligencia Artificial SEGUNDO BIMESTRE De la lectura anterior es necesario que tenga claro las características más importantes de un patrón de razonamiento: Figura 7.3. Aspectos importantes de los patrones de razonamiento 7.4. Encadenamiento hacia adelante y hacia atrás Un método de inferencia que se suele utilizar para demostrar una conclusión o para derivar ciertas sentencias, es el encadenamiento hacia adelante o hacia atrás, el primero consiste en que a partir de un conjunto de sentencias de la base de conocimiento encontramos una solución, es decir vamos a partir de lo general para llegar a lo particular. En cambio el encadenamiento hacia atrás parte de la conclusión para llegar a las sentencias que sustentan la misma, es decir de lo particular a lo general. Continuemos con la lectura de la sección 7.5 “Patrones de razonamiento en lógica proposicional”, sección Encadenamiento hacia adelante y hacia atrás del texto base, veremos el detalle necesario para que podamos comprender la teoría y práctica de este tipo de encadenamiento De la lectura realizada se podrá dar cuenta que el proceso para estos tipos de encadenamiento es el siguiente: Encadenamiento hacia adelante • Se parte de las sentencias atómicas de la base de conocimiento. • Se aplica Modus Ponens hacia delante, añadiendo las sentencias atómicas nuevas hasta que no se pueda realizar más inferencias. Ejemplo: Si tenemos un sistema con la siguiente base de conocimiento: 1. Si h2 y h5 entonces h1 2. Si h4 y h3 entonces h2 3. Si h6 entonces h3 Donde cada hi representa una situación o concepto. La base de hechos inicial contiene los siguientes datos: h6, h7, h9, h8, h4 y h5. Guía didáctica: Inteligencia Artificial UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 64 SEGUNDO BIMESTRE Base de hechos inicial (BH0) h6 h7 h9 h8 h4 h5 Paso 1: Seleccionamos la sentencia atómica de la base de conocimiento cuyo antecedente se cumple a partir de la base de hechos inicial. En este caso h6. Paso 2: Aplicamos Modus Pones entre la regla 3 y h6 (el primer hecho de la base de conocimiento), obteniendo un nuevo hecho para la base de conocimiento. Base de hechos inicial (BH1) h6 h7 h9 h8 h4 h5 h3 Repetimos el paso 1, seleccionando las sentencias atómicas h4 y h3 de la base de conocimiento anterior y por conjunción formamos una sola sentencia (h3 y h4) para que formen el antecedente de la regla 2, luego por Modus Ponens obtenemos la siguiente conclusión h2. Resultando de esta manera una nueva base de hechos BH2. Repetimos estos mismos pasos hasta que el problema esté resuelto y no haya más reglas que aplicar. Finalmente obtenemos la base de hechos fnal: Base de hechos fnal (BH3) h6 h7 h9 h8 h4 h5 h3 h2 h1 UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 65 Guía didáctica: Inteligencia Artificial SEGUNDO BIMESTRE Ejercicio Lo invitamos a desarrollar la demostración de la regla 1, y obtener el consecuente H2, a ser incluido en la base de hechos intermedia entre la BH1 y BH3. Encadenamiento hacia atrás • Se debe empezar por lo que se quiere demostrar. • Se buscan las oraciones que nos permitan llegar a una determinada conclusión, es decir las condiciones o cláusulas que fguran en los antecedentes de las reglas, que pasan a convertirse en nuevos subobjetivos a demostrar. • Este proceso fnaliza cuando se encuentra la información buscada en la base de conocimiento. Una cadena que transita hacia atrás desde un objetivo hasta los hechos que soportan tal objetivo se llama encadenamiento hacia atrás. Está basado en el método inductivo: va guiado por un objetivo que es la conclusión (o hipótesis) que se trata de validar reconstruyendo la cadena de razonamiento en orden inverso. Ejemplo: Partimos de las reglas siguientes: 1. Mario Pérez es catedrático entonces Mario Pérez es doctor 2. Mario Pérez es catedrático 3. Mario Pérez es doctor Para averiguar si “Mario Pérez es doctor” se busca una regla que tenga esta afrmación en sus consecuencias. La regla o premisa 1, satisface estas condiciones; siguiendo esta regla hacia atrás tenemos que buscar una nueva que permita validar si “Mario Pérez” es catedrático, lo cual se hace con la premisa (2). En base a este ejercicio, podemos observar que en el encadenamiento hacia atrás se parte de un determinado concepto (objetivo) cuya validez hay que verifcar de la base de conocimiento y la base de hechos inicial, para lo cual primero se debe comprobar si el concepto pertenece o no a la base de hechos, en caso de que no exista en la base de hechos se debe trabajar con las reglas existentes en la base de conocimiento específcamente con aquellas en cuyo consecuente fgure el concepto objetivo. Si se demuestra la validez de estos subobjetivos para una determinada regla es posible inferir el concepto objetivo global que era el que se pretendía demostrar (h1). Con el fn de aplicar estos algoritmos, es necesario que realice el siguiente ejercicio: Ejercicio Aplique el encadenamiento hacia atrás para determinar si es posible establecer la existencia de h1, a partir de la base de hechos inicial utilizada en el ejemplo del encadenamiento hacia delante. Backtracking En esta sección describiremos otras técnicas alternativas de algoritmos que permiten hacer búsquedas exhaustivas y sistemáticas en un espacio de estados. Guía didáctica: Inteligencia Artificial UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 66 SEGUNDO BIMESTRE Realizar una la lectura de la sección 7.6: “Inferencia proposicional efectiva”, para conocer dos tipos de algoritmos utilizados para la comprobación de la satisfactibilidad. En Pereira (2009) además se menciona que esta técnica consiste en descomponer la tarea a realizar en tareas parciales y se prueba sistemáticamente cada una de estas, que a su vez se descompondrán en subtareas. Además, cuando al elegir una tarea se comprueba que no lleva a una solución, se debe volver atrás, y probar con otra. Una vez realizada esta lectura y considerando lo señalado usted podrá concluir que se trata de una técnica recursiva (de vuelta atrás) de resolución de problemas. Con el fn de comprender de mejor manera a este algoritmo lo invitamos a revisar el recurso señalado en el apartado Bibliografía, sobre algoritmos de Backtraking. 7.5 Agentes basados en lógica proposicional Hemos llegado al estudio de la última sección de esta unidad, donde se estudiará la construcción de agentes utilizando lógica proposicional. Para conocer del tema, es necesario: Realizar la lectura de la sección 7.7: “Agentes basados en lógica proposicional”, del texto base, donde conocerá dos tipos de agentes. Una vez desarrollada la lectura, podrá estar en la capacidad de distinguir los tipos de agentes que utilizan algoritmos de inferencia y una base de conocimiento de aquellos que evalúan directamente expresiones lógicas en forma de circuitos. Terminado el estudio de esta sección, es importante que realice la siguiente actividad: Actividad recomendada • ¿En qué situaciones es conveniente utilizar agentes basados en lógica proposicional?. Mencione un ejemplo. Bien ahora para comprobar lo que ha logrado del estudio de esta unidad lo invitamos a desarrollar la siguiente autoevaluación. UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 67 Guía didáctica: Inteligencia Artificial SEGUNDO BIMESTRE Autoevaluación No 7 A. En cada uno de los paréntesis sírvase contestar con una (V) si el enunciado es verdadero y con una (F) si el enunciado es falso. 1. ( ) Un agente lógico es aquel que posee proposiciones en su base de conocimiento. 2. ( ) La lógica proposicional en un lenguaje para representar el conocimiento en base a una sintaxis y sémántica bien defnidas. 3. ( ) Un agente lógico puede construir una representación de su medio ambiente utilizando procesos de inferencia para derivar nuevas representaciones de su entorno. 4. ( ) La lógica proposicional se utilizan conectivas lógicas para construir sentencias simples. 5. ( ) Se dice que un algoritmo de inferencia es sólido si: Deriva sólo sentencias implicadas. 6. ( ) Un agente basado en conocimiento se pueden adaptar a diversos propósitos combinando la información de su entorno. 7. ( ) Un Patrón de razonamiento permite determinar la satisfactibilidad de las sentencias. 8. ( ) Un Patrón de razonamiento esta compuesto por reglas negativas. 9. ( ) El algortimo backtracking es un algoritmo recursivo utilizado para la resolución de problemas mediante una búsqueda sistemática de soluciones. 10. ( ) El algoritmo de Backtracking puede ser representado utilizando lógica proposicional. ¡¡¡FELICITACIONES!!! Verifque sus respuestas con las del solucionario que se encuentra al fnal de la presente guía didáctica. Guía didáctica: Inteligencia Artificial UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 68 SEGUNDO BIMESTRE UNIDAD 8: Representación del Conocimiento 8.1 Introducción a la representación del conocimiento En unidades anteriores se revisó la solución de problemas mediantes estrategias de búsqueda, pero como usted lo habrá percibido todo problema es más sencillo de resolver si disponemos de conocimiento específco sobre él. Es por ello que en esta unidad iniciaremos con otra área de la Inteligencia Artifcial que es la representación del conocimiento, que tiene como objetivo representar el conocimiento de una manera que facilite la inferencia a partir de dicho conocimiento. En la representación del conocimiento se usa un sistema de símbolos para representar un dominio, junto con funciones que permitan inferir (realizar un razonamiento formal) sobre los objetos. ¿Le surgen algunas otras ideas sobre este tema? Al hablar de símbolos nos imaginamos que se preguntará ¿Cómo se relaciona la lógica con la representación del conocimiento?. Nos permitimos asegurar que en la representación del conocimiento, generalmente se usa un tipo de lógica para proporcionar semántica formal a los símbolos del dominio, además de proveer operadores que junto a una adecuada interpretación, se da signifcado a la información. Ante esto podemos señalar que: Figura 8.1. Defnición de conocimiento Los sistemas de IA necesitan diferentes tipos de conocimiento que por lo general no suelen estar disponibles en bases de datos tradicionales y otras fuentes de información, es por ello que, aparece el término base de conocimiento que guardan conocimiento sobre los objetos en un entorno y posibles relaciones entre ellos. Imaginamos que habrá recordado la defnición de base de conocimiento revisada en la unidad anterior, pues bien, este sistema de oraciones que representan hechos acerca del mundo, es expresado justamente en un algún lenguaje de representación del conocimiento. Ahora veamos las aplicaciones de representación del conocimiento que existen. Entre las principales se pueden mencionar: - Ingeniería de software - Web semántica - Ontologías Más adelante analizaremos con más detalle algunas de estas aplicaciones. Ahora veamos como sería un esquema de representación del conocimiento con algunos de los componentes ya analizados anteriormente: UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 69 Guía didáctica: Inteligencia Artificial SEGUNDO BIMESTRE Figura 8.2. Esquema de representación de conocimiento Las Bases de Conocimiento proporcionan un mecanismo muy poderoso de representación de conocimiento, ya que, en la base de conocimiento se almacenan los entes y las relaciones entre estos y las reglas que permiten inferir nuevo conocimiento a partir del ya existente. Ahora lo invitamos a refexionar sobre las siguientes interrogantes: ¿Qué tipo de conocimiento se puede representar?, cree que es posible representar todo conocimiento?. Una vez que haya indagado sobre las preguntas planteadas es conveniente completar este tema, para lo cual es necesario. Desarrollar la lectura del capítulo 10. Representación del conocimiento, donde se habla de la ingeniería ontológica, categorías, objetos y sustancias. Durante la lectura usted se encontrará con un término nuevo “Ontologías”, este tema será desarrollado en la sección 8.4 de esta unidad. Una vez realizada la lectura, lo invitamos a desarrollar la siguiente actividad: Actividad recomendada • Establezca la diferencia entre una base de datos y una base de conocimiento. 8.2 Técnicas de representación del conocimiento Para representar algo necesitamos conocer principalmente: • La forma o estructura • Como adquirir el conocimiento • Como almacenarlo y manipularlo Existen diferentes técnicas de representación del conocimiento sobre las que se han sustentado los lenguajes de representación del conocimiento. Algunas de ellas son: Base de conocimientos Motor de inferencia Salidas Entradas Entorno Guía didáctica: Inteligencia Artificial UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 70 SEGUNDO BIMESTRE • Tripletas Objeto-Atributo-Valor: se utilizan para representar hechos acerca de objetos y sus atributos, especifcando el valor de un atributo para un determinado objeto. Ejemplo Para representar que una manzana es roja, se tendría una tripleta Manzana-Color-Roja Típicamente estas tripletas se representan en forma de grafos, utilizando una elipse para el objeto, un cuadrado para el valor, y una fecha o arco dirigido entre ambos elementos representando el atributo. • Reglas: esta técnica representa el conocimiento utilizando unas premisas o condiciones y las conclusiones o acciones que de ellas se derivan. Se suelen representar de la forma Si - entonces. Las premisas se colocan a continuación del SI en forma normalmente de tripletas Objeto-Atributo-Valor y utilizando operadores booleanos, mientras que las conclusiones defnirían nuevos hechos o realizarían acciones. Ejemplo Si “llueve” y “está nublado” entonces “hace frío” • Mapas Conceptuales o Redes Semánticas: Forma fexible de representar el conocimiento. Una representación gráfca que representan conceptos, objetos y relaciones entre ellos. Estas relaciones pueden ser de cualquier tipo, pero predominan las relaciones de tipo “clase-de”, “parte- de” y “es-un”, que permiten representar estructuras jerárquicas de conocimiento. Los conceptos se encierran en un recuadro o en una elipse para verlos mejor. Están relacionadas también con las tripletas Objeto-Atributo-Valor, en forma de estructura de proposiciones (nodo, palabra-enlace, nodo). Para completar este tema lo invitamos a realizar lo siguiente: Desarrollar la lectura de la sección 10.6 sistemas de razonamiento para categorías, apartado Redes Semánticas, para conocer como se estructura el conocimiento mediante notación gráfca. • Frames o Marcos: es una técnica de representación muy similar a la utilizada en la programación orientada a objetos. Consta de clases, que representan conjuntos de objetos con características similares. A partir de ellas se crean las instancias que representan elementos concretos de esa clase. Manzana Rojo Color UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 71 Guía didáctica: Inteligencia Artificial SEGUNDO BIMESTRE Ejemplo Si tenemos un marco de clase “Estudiante” y una instancia de esta clase “Pedro” Cada clase o marco contiene una serie de atributos y propiedades como en la programación orientada a objetos. Ejercicio Considerando un dominio universitario: • Identifcar los objetos del dominio • Defnir las relaciones o enlaces • Representar el dominio mediante un mapa conceptual Puede utilizar una herramienta para desarrollar mapas conceptuales como Cmaptools disponible en: http://cmap.ihmc.us/download/ 8.3 Web semántica Es hora de entrar a un nuevo tema, es decir a una nueva generación de la web actual, como es la web semántica, pero ¿qué es la web semántica?, pues no es otra cosa que aquella que añade signifcado a la web, por que está basada en “la idea de proporcionar en la Web datos defnidos y enlazados, permitiendo que aplicaciones heterogéneas descubran, integren, razonen y utilicen la información presente en la web.” (Hendler, Berners-Lee, & Miller, 2002). Usted a lo mejor ha escuchado hablar de Web.3, ¡cierto!, la verdad es que la web semántica está asociada a este término que se abrevia como W3C. Nos imaginamos que le habrán surgido algunas preguntas referentes a este tema: La Web Semántica es una Web extendida, basada en signifcado es decir dotada de semántica en la que cualquier usuario de Internet podrá encontrar respuestas a sus preguntas de forma más rápida. Gracias a la web semántica a través del uso de algún software es posible entre otras cosas procesar contenido, razonar con este, modifcarlo y realizar deducciones lógicas para resolver problemas de la vida real automáticamente. Para dar respuesta a la pregunta de ¿cómo funciona la web semántica?, vamos a proponer un ejemplo: ¿Para qué sirve? ¿Cómo funciona? ¿En qué se diferencia de la web actual? Guía didáctica: Inteligencia Artificial UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 72 SEGUNDO BIMESTRE Si tenemos un buscador semántico, a través del cual deseamos conocer los vuelos dis- ponibles a la ciudad de Quito mañana por la mañana, en una determinada aerolínea, los re- sultados de la búsqueda brindarían al usuario la información exacta que estaba buscando. La ubicación geográfca desde la que el usuario envía su pregunta es detectada de forma automática sin necesidad de especifcar el lugar de origen o partida (por ejemplo Loja), así elementos de la oración como “mañana” adquirirían signifcado, convirtiéndose en un día concreto calculado en función del día de “hoy”. Igualmente ocurriría con el siguiente día, es decir, el segundo “mañana”, que sería interpretado como un momento determinado del día. Todos estos datos pasan a ser información llena de signifcado. Finalmente, como resultado de la búsqueda se tendría la obtención de todos los vuelos disponible a Quito para mañana por la mañana, de forma rápida y sencilla. A partir de este ejemplo podemos determinar la diferencia con la web actual, si realizamos está misma búsqueda en un buscador actual por ejemplo Google (fgura 8.3), se obtendrán resultados totalmente distintos a los esperados, el cual ofrecería información variada sobre Quito pero que no tiene nada que ver con lo que realmente el usuario buscaba. Un paso siguiente a este es que el usuario realice una búsqueda manual entre esas opciones que aparecen, con la consiguiente difcultad y pérdida de tiempo. Figura 8.3. Ejemplo de búsqueda En conclusión podemos señalar que la diferencia radica principalmente en que la web actual carece de signifcado, mientras que la Web Semántica al ser una web basada en signifcado, es posible procesar su contenido, razonar sobre este, combinarlo y realizar deducciones lógicas para resolver problemas cotidianos automáticamente. Ahora conviene que realice la siguiente actividad. UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 73 Guía didáctica: Inteligencia Artificial SEGUNDO BIMESTRE Actividad recomendada Investigue sobre las ventajas de la web semántica y mencione algunos proyectos que se han realizado sobre esta. ____________________________________________________________________________________ ____________________________________________________________________________________ ____________________________________________________________________________________ ____________________________________________________________________________________ Identifque la relación que existe entre la representación del conocimiento y la web semántica. 8.4 Tecnologías de la Web Semántica: Ontologías Entre las tecnologías que ofrece la Web Semántica para enriquecer los contenidos de la Web tradicional están las Ontologías que se encargan de defnir los términos utilizados para describir y representar un área de conocimiento. Defnición de Ontología Para abarcar este tema, es necesario recordar lo leído sobre ingeniería ontológica capítulo 10 del texto base, específcamente sección 10.1 y 10.2. Haciendo referencia a la defnición de ontologías presentada por (Neches and colleagues, 1991), “Una ontología defne los términos básicos y las relaciones que comprende el vocabulario de un área temática, así como las reglas para combinar términos y relaciones para defnir extensiones al vocabulario”, y de acuerdo a lo mencionado en el texto base, podemos deducir que una ontología no es más que una representación de todos los hechos del mundo en una jerarquía de categorías. De la lectura realizada, se habrá dado cuenta que las ontologías utilizan grafos para representar conceptos generales (que se ubican en la parte superior) y conceptos más específcos que se ubican debajo de ellos. Para complementar esta lectura, lo invitamos a revisar el siguiente recurso web, que le permitirá identifcar algunos componentes de una ontología. Recurso OCW http://ocw.upm.es/ciencia-de-la-computacion-e-inteligencia-artifcial/ontologies- and-semantic-web/contents/OWS_-_02_-_Ontologias.pdf En este recurso encontrará algunas características de las ontologías, defniciones, enfoques para su construcción, etc. Guía didáctica: Inteligencia Artificial UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 74 SEGUNDO BIMESTRE Muy bien, ahora pensemos ¿categorías y clases son lo mismo?. Bien como se reviso en lecturas anteriores las categorías sirven para organizar los objetos y simplifcar el conocimiento base a través de la herencia. Con lo que podemos inducir que ambos términos se referen a lo mismo, puesto que en las clases los conceptos se toman en un sentido amplio. Ejemplo En el dominio de viaje, los conceptos son: • lugares (ciudades, pueblos, etc.) • alojamiento (hoteles, camping, etc.) y • medios de transporte (aviones, trenes, coches, barcos, motocicletas y los buques). Las clases en la ontología se suelen organizar en taxonomías a través del cual mecanismos de herencia pueden ser aplicados, por ejemplo si tenemos que “Los alimentos son comestibles: Figura 8.4. Ejemplo de herencia En este ejemplo, cualquier manzana es comestible, por tanto haciendo referencia a la herencia, podemos decir que las manzanas heredan la propiedad comestible. Como podemos observar, las taxonomías ofrecen una clasifcación de la información de forma jerárquica, en forma de árbol donde cada nodo equivale a una clase y cada enlace a las relaciones entre ellas. De ahí que las ontologías incluyen taxonomías de conceptos. Veamos un ejemplo: Considerando lo señalado en el texto base y en el recurso antes mencionado lo animamos a plasmar sus cocimientos en el siguiente ejercicio: Ejercicio: Considerando el dominio universitario: Represente mediante una taxonomía los conceptos generales y específcos que intervienen en el dominio universitario señalado anteriormente. Es hora de interactuar con las herramientas tecnológicas, por ello lo invitamos a participar de la actividad propuesta a continuación. UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 75 Guía didáctica: Inteligencia Artificial SEGUNDO BIMESTRE Interactividad en el EVA Ahora usted ya cuenta con los fundamentos necesarios sobre la representación del conocimiento y está en la capacidad de emitir su criterio respecto a las interrogantes planteadas en el EVA. Durante su participación en el EVA esperamos que haya fortalecido algunos aspectos respecto a la representación del conocimiento, Ahora, verifque la comprensión de los temas estudiados a través de la realización de la autoevaluación. Guía didáctica: Inteligencia Artificial UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 76 SEGUNDO BIMESTRE Autoevaluación No 8 A. En cada uno de los paréntesis sírvase contestar con una (V) si el enunciado es verdadero y con una (F) si el enunciado es falso. 1. ( ) El conocimiento lo crean y lo usan los agentes humanos o máquinas. 2. ( ) La web semántica es una de las aplicaciones de la representación del conocimiento. 3. ( ) Cuando hablamos de ontología nos referimos a la forma de organizar el conocimiento mediante taxonomías. 4. ( ) Dentro de la representación del conocimiento las categorías hacen referencia a las propiedades de los objetos representados. 5. ( ) Los Frames son una forma de representar el conocimiento mediante gráfcos que representan conceptos, objetos y relaciones entre ellos. 6. ( ) Las redes semánticas representan el conocimiento con la ayuda de premisas o condiciones y las conclusiones o acciones que de ellas se derivan. 7. ( ) La web semántica conocida también como web 4.0 es una web basada en signifcado. 8. ( ) En la representación del conocimiento, se usa un tipo de lógica para proporcionar semántica formal a los símbolos del dominio a representar. B. Desarrolle las siguientes actividades: 1. Visite algunas fuentes de información sobre web semántica y mencione al menos 5 ventajas de esta nueva generación de la web en comparación con la web tradicional o actual. 2. Presente su opinión sobre el uso de una ontología para un dominio de matriculación de estudiantes. ¿Cuáles serían sus componentes?¿qué ventajas cree que tendría hacer uso de este tipo de ontologías para representar este dominio? ¡¡¡FELICITACIONES HEMOS CONCLUIDO CON EL ESTUDIO DEL SEGUNDO BIMESTRE!!! Verifque sus respuestas con las del solucionario que se encuentra al fnal de la presente guía didáctica. UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 77 Guía didáctica: Inteligencia Artificial SOLUCIONARIO Autoevaluación Nº 1 1. 1. ( F ) El dualismo considera que existe una parte de la mente que esta al margen de la naturaleza exenta de la infuencia de las leyes físicas. 2. ( V ) 3. ( V ) 4. ( F ) Los agentes inteligentes son racionales; es decir, hacen lo correcto; para esto utilizan el razonamiento basado en el conocimiento. 5. ( V ) 6. ( V ) 7. ( F ) En entornos complejos no es posible llegar a una racionalidad perfecta. 8. ( F ) En los agentes robóticos los sensores las cámaras de video y los efectores constituyen ciertos mecanismos. 9. ( F ) La Inteligencia Artifcial (IA) desde el primer momento abarcó temas que no eran considerados por otros campos como: la idea de duplicar facultades humanas como la creatividad, la auto-mejora, y el uso de lenguaje. 10. ( F ) 2. a. V, pero no se aplica inferencias b. En los seres humanos los cinco sentidos sirven de sensores y las extremidades sirven de efectores. Guía didáctica: Inteligencia Artificial UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 78 SOLUCIONARIO Autoevaluación Nº 2 1. 1. ( F ) La estructura de un agente es: Agente = arquitectura + programa de agente. 2. ( V ) 3. ( F ) La función que describe el comportamiento de un agente se puede presentar en forma de grafo y este es una caracterización externa del agente. 4. ( F ) Como regla general, es mejor diseñar medidas de utilidad de acuerdo con lo que se quiere para el entorno, más que de acuerdo a cómo se cree que el agente de comportarse. 5. ( V ) 6. ( F ) Un agente racional actúa con la intención de maximizar el valor esperado de la medida de rendimiento, dada la secuencia de percepciones que ha observado hasta el momento. 7. ( V ) 8. ( V ) 9. ( V ) 10. ( F ) Una función de agente para un agente especifca a acción que debe ejecutar un agente como respuesta a cualquier secuencia percibida. 2. Mencione los principales pasos para la construcción de un programa de agente. Los principales pasos para un programa de agente son: 1. Analizar el tipo de problema que se va a tratar para poder defnir claramente el problema. 2. Defnir el entorno, las percepciones, las acciones y las metas 3. Representar el conocimiento defniendo una técnica de representación 4. Diseñar el agente con la base de conocimiento y el mecanismo de inferencia respectivo 5. Realizar las pruebas correspondientes 3. Proponga un método para el desarrollo y construcción de agentes inteligentes, considerando las fases del desarrollo de sistemas, esto es: análisis, diseño, implementación y pruebas. 1. Defnición del problema del agente. Se establece una conceptualización amplia y clara del problema que se pretende resolver con el uso de agentes inteligentes, se identifca el problema; se realiza un análisis del mismo y fnalmente se hace una construcción del modelo conceptual de la situación. 2. Adquisición y representación del conocimiento. Se genera una representación de este modelo conceptual en términos de conocimiento, la cual sea transportable al medio computacional. Se realiza primero la adquisición del conocimiento defniendo las percepciones, las acciones, los objetivos, las metas y el ambiente. Como segunda actividad se realiza la representación del conocimiento, haciendo un análisis del conocimiento adquirido, una selección del esquema de representación y fnalmente la representación del conocimiento. UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 79 Guía didáctica: Inteligencia Artificial SOLUCIONARIO 3. Diseño del agente. Esta etapa del proceso es muy importante, es la que corresponde con el diseño de la solución en el método clásico de diseño y construcción de sistemas de información, y en el que se pretende generar un modelo del agente, que sea computacionalmente aplicable. Para lograr esto, el proceso se divide en el diseño de la Base de Conocimiento (BC), el diseño del Motor de Inferencia (MI) o Motor de Ejecución (ME), el diseño de la Interfaz y el diseño del lenguaje de comunicación. 4. Implantación del agente. Se enfoca en la construcción computacional del agente inteligente diseñado, que no es más que la implantación del diseño obtenido en el proceso previo. Se realiza un análisis y selección de herramientas de implantación, para la implantación del agente, la implantación de la BC la implantación del MI, la implantación de la Interfaz y la implantación de la comunicación. 5. Prueba del agente. Se realiza una validación del agente construido, en el cual se verifca y ajusta el funcionamiento de dicho agente, en función de los requerimientos y la situación analizada en el primer proceso planteado. Se inicia con el diseño de pruebas, el plan de pruebas, se hace la aplicación de las mismas y fnalmente se depuración del agente. Guía didáctica: Inteligencia Artificial UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 80 SOLUCIONARIO Autoevaluación Nº 3 1. 1. ( V ) 2. ( V ) 3. ( F ) El proceso se denomina búsqueda 4. ( V ) 5. ( V ) 6. ( V ) 7. ( F ) Una solución óptima tiene el costo más pequeño del camino entre todas las soluciones. 8. ( V ) 9. ( V ) 10. ( F ) La evaluación del rendimiento de un algoritmo se la puede realizar de cuatro formas: completitud, opti- mización, complejidad en el tiempo, complejidad en el espacio. 2. La función presentada SI corresponde a un algoritmo de búsqueda tiene un problema como entrada y devuelve una solución en forma de una secuencia de acciones. 3. Los objetivos fundamentales de la resolución de un problema mediante búsquedas a. Encontrar una solución b. Que la solución tenga un costo total mínimo, esto es costo de búsqueda ofine, tiempo y memoria necesarios y costo del camino de la solución (costo online) UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 81 Guía didáctica: Inteligencia Artificial SOLUCIONARIO Autoevaluación Nº 4 1. 1. ( F ) Una estrategia de búsqueda informada puede encontrar soluciones de manera más efciente que una estrategia de búsqueda no informada. 2. ( V ) 3. ( F ) Es inexacto 4. ( V ) 5. ( F ) Se parece a la búsqueda primero en profundidad. 6. ( V ) 7. ( V ) 8. ( V ) 9. ( V ) 10. ( F ) Los algoritmos de búsqueda local no son sistemáticos. 2. Elabore un cuadro comparativo entre la búsqueda no informada y la búsqueda informada Búsqueda no informada o ciega Búsqueda informada o heurística Únicamente usan la información de la defnición del problema No disponen de ninguna información adicional a la propia defnición del mismo Usan la información de la defnición del problema y el coste del estado actual del objetivo Estrategias: Búsqueda primero en anchura Búsqueda primero en profundidad Búsqueda de profundidad limitada Búsqueda de profundidad iterativa Búsqueda bidireccional Estrategias: Búsqueda primero el mejor Búsqueda primero el mejor avara Búsqueda A* BRPM y A*MS Guía didáctica: Inteligencia Artificial UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 82 SOLUCIONARIO 3. Escriba el pseudocódigo para la implementación del algoritmo A* A* (Nodo S 0) abierta <- S0 Repetir Si vacío? (abierta) entonces devolver(negativo) nodo <- primero(abierta) Si meta? (nodo) entonces devolver(nodo) sucesores <- expandir(nodo) Para cada n E sucesores hacer n.padre <- nodo ordInsertar (n,abierta,f*) Fin{Repetir} En donde, Abierta: Estructura dinámica, en este caso a nivel de implementación cola con prioridad según valores de la estimación f*, de almacenamiento temporal del expansionamiento de los nodos intermedios de camino al nodo meta o fn, a medida que el algoritmo vaya iterando, esta irá viendo cómo se introducen en el nodos hijos a consecuencia del expansionamiento de sus respectivos antecesores, los cuales se irán ordenando por mínimo f*, dando prioridad no garantiza a nuestra heurística, puesto que estará determinada por los patrones de costes reales asociados, por ejemplo recorrido por la ciudad de Loja, considerando número de paradas y transbordos realizados hasta el momento, y el coste estimado obtenido según el camino al nodo meta. Primero: Nodo que se extrae de la estructura abierta, el cual se somete a comprobaciones de si es nodo meta, factor que determina el comportamiento del algoritmo: si es que si, se obtiene el resultado, en caso contrario, se expande este, se los procesa y se los ordena nuevamente en la estructura temporal. UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 83 Guía didáctica: Inteligencia Artificial SOLUCIONARIO AUTOEVALUACIÓN No 5 Pregunta Respuesta 1. F 2. V 3. V 4. V 5. F 6. V 7. V 8. V Guía didáctica: Inteligencia Artificial UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 84 SOLUCIONARIO AUTOEVALUACIÓN No 6 Pregunta Respuesta 1. V 2. V 3. F 4. V 5. V 6. V 7. V 8. F UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 85 Guía didáctica: Inteligencia Artificial SOLUCIONARIO AUTOEVALUACIÓN No 7 Pregunta Respuesta 1. V 2. V 3. V 4. F 5. V 6. V 7. F 8. F 9. V 10. V Guía didáctica: Inteligencia Artificial UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 86 SOLUCIONARIO AUTOEVALUACIÓN No 9 Pregunta Respuesta 1. V 2. V 3. V 4. F 5. F 6. F 7. F 8. V UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 87 Guía didáctica: Inteligencia Artificial ANEXOS ANEXO 1: Solución al ejercicio 7.2 del texto base “Suponga que el agente ha avanzado hasta el instante que se muestra en la fgura 7.4(a), sin haber percibido nada en la casilla [1,1], una brisa en la [2,1], y un hedor en la [1,2], y en estos momentos está interesado sobre las casillas [1,3], [2,2] y [3,1]. Cada una de ellas puede tener un hoyo y como mucho en una se encuentra el wumpus. Siguiendo el ejemplo de la Figura 7.5, construya el conjunto de los mundos posibles. (Debería encontrar unos 32 mundos). Marque los mundos en los que la BC es verdadera y aquellos en los que cada una de las siguientes sentencias es verdadera:” α = << No hay ningún hoyo en la casilla [2,2]>> α = << Hay un wumpus en la casilla [1,3]>> De acuerdo a la Figura 7.4 de su texto base, las percepciones de las casillas en las cuales está el interesado el Agente (A en un recuadro en la fgura siguiente) son: Percepciones (hedor, ok, brisa). El agente lógicamente no sabe de cual casilla le viene que percepción. El primer modelo válido para la Base de Conocimientos (BC) sería: Figura 1. Movimiento del agente En la Figura 1, el agente A tendrá las siguientes percepciones (hedor, brisa). Ahora si wumpus y pozo se mueven se tiene que: a) b) c) Figura 2. Movimiento del agente tomando en cuenta otras posiciones El presente material ha sido reproducido con fnes netamente didácticos, cuyo objetivo es brindar al estudiante mayores elementos de juicio para la comprensión de la materia, por lo tanto no tiene fn comercial. D I C T I O N A R Y T H E S A U R U S 1.3 ¡w! 1.2 v 2.2. A s 3.1 ¡p! 1.3 ¡P! 1.2 v 2.2. A s 3.1 ¡w! 3.1 ¡w! 1.2 v 1.3 A s 2.2 3.1 ¡P! 1.2 v 1.3 A s 2.2 Guía didáctica: Inteligencia Artificial UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja 88 ANEXOS Y así por el estilo…. Para α = << No hay ningún hoyo en la casilla [2,2]>>, se tiene que como válido a la Figura 2 a). Mientras que para α = << Hay un wumpus en la casilla [1,3]>> serían validos los modelos: Figura 3. Modelo para α = << Hay un wumpus en la casilla [1,3]>> se constituyen en la Base de Conocimientos del juego. PV/mcn/26-11-2012/88 1.3 ¡w! 1.2 v 3.1 A B 3.1 ¡P! s 1.3 ¡w! 1.2 v 3.1 A s 3.1 ¡P! vjg/2013-06-10