Ingeniera en Sistemas y Comunicaciones Unidad de Aprendizaje

  • Slides: 63
Download presentation
Ingeniería en Sistemas y Comunicaciones Unidad de Aprendizaje Inteligencia Artificial Unidad de Competencia Resolución

Ingeniería en Sistemas y Comunicaciones Unidad de Aprendizaje Inteligencia Artificial Unidad de Competencia Resolución de problemas mediante la búsqueda Profesor: Saturnino Job Morales Escobar Septiembre de 2015 30/11/2020 Job Morales Escobar 1

ESTRUCTURA DE LA UNIDAD DE APRENDIZAJE 1. Introducción a la Inteligencia Artificial 2. Resolución

ESTRUCTURA DE LA UNIDAD DE APRENDIZAJE 1. Introducción a la Inteligencia Artificial 2. Resolución de problemas mediante la búsqueda 3. Representación del Conocimiento y Razonamiento 4. Ingeniería Computacional 5. Áreas de la Inteligencia Artificial 30/11/2020 S. Job Morales Escobar 4

2. RESOLUCIÓN DE PROBLEMAS MEDIANTE LA BÚSQUEDA Objetivos • Analizar estrategias generales de solución

2. RESOLUCIÓN DE PROBLEMAS MEDIANTE LA BÚSQUEDA Objetivos • Analizar estrategias generales de solución a problemas abordados por la Inteligencia artificial. • Formalizar problemas a partir de la especificación informal • Definir espacios de estados • Resolución de problemas mediante la búsqueda en espacio de estados. 30/11/2020 S. Job Morales Escobar 5

TÉCNICAS IMPORTANTES EN INTELIGENCIA ARTIFICIAL • Búsqueda. - proporciona una forma de resolver problemas

TÉCNICAS IMPORTANTES EN INTELIGENCIA ARTIFICIAL • Búsqueda. - proporciona una forma de resolver problemas en los que no se dispone de un método más directo. 30/11/2020 S. Job Morales Escobar 6

TÉCNICAS IMPORTANTES EN INTELIGENCIA ARTIFICIAL • Uso de conocimiento. - proporciona una forma de

TÉCNICAS IMPORTANTES EN INTELIGENCIA ARTIFICIAL • Uso de conocimiento. - proporciona una forma de resolver problemas complejos explotando las estructuras de los objetos involucrados. • Abstracción. - proporciona una forma de separar aspectos y variaciones importantes de aquellos sin importancia y que en caso contrario podría colapsar un proceso. 30/11/2020 S. Job Morales Escobar 7

REPRESENTACIÓN DE UN PROBLEMA COMO ESPACIO DE ESTADOS Para construir un sistema que resuelva

REPRESENTACIÓN DE UN PROBLEMA COMO ESPACIO DE ESTADOS Para construir un sistema que resuelva un problema especifico, es necesario: • Definir el problema con precisión • La definición debe de incluir: especificaciones precisas tanto sobre la o las situaciones iniciales como las finales que se acepten como soluciones al problema. • Analizar el problema • Algunas características de gran importancia pueden tener un efecto importante sobre la conveniencia o no de utilizar las diversas técnicas que resuelven el problema. 30/11/2020 S. Job Morales Escobar 8

REPRESENTACIÓN DE UN PROBLEMA COMO ESPACIO DE ESTADOS Aislar y representar el conocimiento necesario

REPRESENTACIÓN DE UN PROBLEMA COMO ESPACIO DE ESTADOS Aislar y representar el conocimiento necesario para resolver el problema. Elegir la mejor técnica que resuelva el problema y aplicarlo al problema particular (difusos, borrosos, probabilidades, etc. ). 30/11/2020 S. Job Morales Escobar 9

DEFINICIÓN DEL PROBLEMA MEDIANTE UNA BÚSQUEDA EN UN ESPACIO DE ESTADOS Juego del ajedrez

DEFINICIÓN DEL PROBLEMA MEDIANTE UNA BÚSQUEDA EN UN ESPACIO DE ESTADOS Juego del ajedrez • La definición del problema de jugar ajedrez es incompleta. • Para que un programa juegue ajedrez requerimos: • Especificar la posición inicial del tablero. • Reglas que definen movimientos legales. • Posiciones del tablero que representan una victoria de los jugadores. 30/11/2020 S. Job Morales Escobar 10

JUEGO DE AJEDREZ Se debe hacer explícito el objetivo implícito de no solamente realizar

JUEGO DE AJEDREZ Se debe hacer explícito el objetivo implícito de no solamente realizar movimientos legales, sino también ganar la partida. 30/11/2020 S. Job Morales Escobar 11

DEFINICIÓN FORMAL Y COMPLETA DEL PROBLEMA. • La posición inicial se puede describir como

DEFINICIÓN FORMAL Y COMPLETA DEL PROBLEMA. • La posición inicial se puede describir como un arreglo de 8 x 8 posiciones, donde cada una contiene el símbolo de acuerdo con las piezas situadas en posición de comienzo de la partida. • El objetivo se define como cualquier posición del tablero en la que el contrario no pueda realizar ningún movimiento legal y su Rey esté amenazado. • Los movimientos legales representan la forma de llegar a algún estado objetivo partiendo del estado inicial. 30/11/2020 S. Job Morales Escobar 12

DEFINICIÓN FORMAL Y COMPLETA DEL PROBLEMA. Se puede describir como un conjunto de reglas

DEFINICIÓN FORMAL Y COMPLETA DEL PROBLEMA. Se puede describir como un conjunto de reglas compuestas por dos partes: • Una izquierda que se usa como patrón para ser contrastada con la situación actual del tablero. • Una parte derecha que describe el cambio que debe producirse en el tablero para que refleje el movimiento. 30/11/2020 S. Job Morales Escobar 13

Las reglas se podrían expresar por ejemplo: NEGRAS 8 Torre Caballo Alfil Reina Rey

Las reglas se podrían expresar por ejemplo: NEGRAS 8 Torre Caballo Alfil Reina Rey Alfil Caballo Torre 7 Peón Peón 2 Peón Peón 1 Torre Caballo Alfil Reina Rey Alfil Caballo Torre a b c d e 6 5 4 3 f g h BLANCAS 30/11/2020 S. Job Morales Escobar 14

Primer movimiento NEGRAS 8 Torre Caballo Alfil Reina Rey Alfil Caballo Torre 7 Peón

Primer movimiento NEGRAS 8 Torre Caballo Alfil Reina Rey Alfil Caballo Torre 7 Peón Peón Peón Alfil Caballo Torre 6 5 4 Peón 3 2 Peón 1 Torre Caballo Alfil Reina a b c d Rey e f g h BLANCAS 30/11/2020 Job Morales Escobar 15

 • Si se representan de la forma anterior, el número de reglas es

• Si se representan de la forma anterior, el número de reglas es 10120 posibles posiciones del tablero • Dificultades • Difícilmente alguien puede proporcionar un conjunto completo ya que son demasiados y pueden aparecer errores • Ningún programa puede manipular todas las reglas, aun usando técnicas como hashing • Almacenar tantas reglas también crea dificultades 30/11/2020 S. Job Morales Escobar 16

 • Para minimizar lo anterior se debe buscar otra forma de escribir las

• Para minimizar lo anterior se debe buscar otra forma de escribir las reglas que describan los movimientos legales de la forma más general posible. • Se debe introducir una notación conveniente para describir los patrones y las sustituciones 30/11/2020 S. Job Morales Escobar 17

Por ejemplo: Peón blanco en Casilla (columna e, fila 2) y Mueve el peón

Por ejemplo: Peón blanco en Casilla (columna e, fila 2) y Mueve el peón blanco Casilla (columna e, fila 3) Desde la Casilla (columna e, fila 2) Esta vacía y Hasta Casilla (columna e, fila 4) Esta vacía 30/11/2020 S. Job Morales Escobar 18

 • Mientras más sencillas se describan las reglas, menos trabajo para introducirlas y

• Mientras más sencillas se describan las reglas, menos trabajo para introducirlas y el programa las usará con más eficiencia. • Se comienza en un estado inicial y mediante un conjunto de reglas que trasladan de un estado a otro, intentar terminar en alguno de los estados finales. 30/11/2020 S. Job Morales Escobar 19

 • El conjunto de estados que se corresponde con el conjunto de posiciones

• El conjunto de estados que se corresponde con el conjunto de posiciones del tablero es artificial y bien estructurado. • Se puede usar el mismo tipo de representación en problemas menos estructurados aunque se necesitan estructuras más complejas que una matriz para describir un estado individual. 30/11/2020 S. Job Morales Escobar 20

 • La representación como espacio de estados forma la base para muchos métodos

• La representación como espacio de estados forma la base para muchos métodos de IA. • Su estructura se corresponde con la estructura de la solución de problemas por dos razones: 30/11/2020 S. Job Morales Escobar 21

 • Permite definir formalmente el problema convirtiendo alguna situación dada en una deseada

• Permite definir formalmente el problema convirtiendo alguna situación dada en una deseada usando un conjunto de operaciones permitidas. • Permite definir el proceso de solución como una combinación de técnicas conocidas y búsqueda. Así la búsqueda es un proceso de importancia cuando no se dispone de otra técnica más directa. 30/11/2020 S. Job Morales Escobar 22

PROBLEMAS DE LAS JARRAS DE AGUA Se tiene 2 jarras una de 4 litros

PROBLEMAS DE LAS JARRAS DE AGUA Se tiene 2 jarras una de 4 litros de capacidad y otra de 3 litros. Ninguna tiene marcas de medición. Se tiene una bomba que permite llenar las jarras de agua. ¿Cómo se puede lograr exactamente 2 litros en la jarra de 4 litros? 30/11/2020 S. Job Morales Escobar 23

PROBLEMAS DE LAS JARRAS DE AGUA Espacio de estados representados por (X, Y) X

PROBLEMAS DE LAS JARRAS DE AGUA Espacio de estados representados por (X, Y) X = 4, 3, 2, 1, 0 Y = 3, 2, 1, 0. X = Representa el No. de litros de agua en la jarra de 4 litros. Y = Representa el No. de litros de agua en la jarra de 3 litros. (0, 0) representa el estado inicial (2, n) representa el estado final u objetivo donde n es cualquier valor 30/11/2020 S. Job Morales Escobar 24

PROBLEMAS DE LAS JARRAS DE AGUA Suposiciones no presentes en la definición • •

PROBLEMAS DE LAS JARRAS DE AGUA Suposiciones no presentes en la definición • • Se puede llenar una jarra con la bomba Se puede tirar agua Se puede verter agua de una jarra a otra No se dispone de otras formas de medición Además de la descripción del problema se requiere de una estructura de control para: • Elegir la regla del lado izquierdo que concuerda con el estado actual. • Realice el cambio apropiado como se describe del lado derecho • Verifique si el nuevo estado se corresponde con uno de los estados objetivo o final. 30/11/2020 S. Job Morales Escobar 25

Reglas de producción para el problema de las jarras. 1. (X, Y) Si X<4

Reglas de producción para el problema de las jarras. 1. (X, Y) Si X<4 (4, Y) llenar la jarra de 4 litros 2. (X, Y) Si Y<3 (X, 3) llenar la jarra de 3 litros 3. (X, Y) Si X>0 (X-d, Y) Vaciar un poco de la jarra de 4 litros 4. (X, Y) Si Y>0 (X, Y-d) Vaciar un poco de jarra de 3 litros 5. (X, Y) Si X>0 (0, Y) Vaciar la jarra de 4 litros 6. (X, Y) Si Y>0 (X, 0) Vaciar la jarra de 3 litros 7. (X, Y) Si X+Y 4 e Y>0 (4, Y-(4 -X)) Verter agua desde la jarra de 3 L. a la de 4 L. Hasta que la jarra de 4 L este llena 8. (X, Y) Si X+Y 3 y X>0 (X-(3 -Y), 3) Verter agua desde la jarra de 4 a la de 3 L hasta que la de 3 este llena 9. (X, Y) Si X+Y 4 e Y>0 (X+Y, 0) Verter toda el agua de la jarra de 3 l. en la de 4 L. 10. (X, Y) Si X+Y 3 y X>0 (0, X+Y) Verter toda el agua de la jarra de 4 l. a la de 3 l. 11. (0, 2) (2, 0) Verter 2 L. de la jarra de 3 l. en la de 4 l. 12. (X, 2) 30/11/2020 (0, 2) Vaciar la jarra de 4 l. Job Morales Escobar 26

Una solución posible 4 Litros 3 Litros Reglas 0 3 2 3 0 9

Una solución posible 4 Litros 3 Litros Reglas 0 3 2 3 0 9 3 2 4 2 7 0 2 5 o 12 2 0 9 o 11 • La rapidez de la solución depende del mecanismo utilizado para seleccionar la operación que se va a llevar a cabo. • Con frecuencia los problemas contienen explícita o implícita la exigencia de encontrar la secuencia más corta. 30/11/2020 S. Job Morales Escobar 27

ASPECTOS A CONSIDERAR AL PASAR DE UNA DESCRIPCIÓN INFORMAL A UNA FORMAL • El

ASPECTOS A CONSIDERAR AL PASAR DE UNA DESCRIPCIÓN INFORMAL A UNA FORMAL • El primero hace referencia al papel de las condiciones que suceden en la parte izquierda de las reglas. • Casi todas las reglas del problema contienen condiciones que se deben satisfacer antes de que el operador descrito se aplique. • Al incorporar restricciones innecesarias que restringen la aplicación de la regla a los estados en las que su uso es más adecuado, incrementando la eficiencia del programa de resolución de problemas que utiliza la regla. 30/11/2020 S. Job Morales Escobar 28

ASPECTOS A CONSIDERAR AL PASAR DE UNA DESCRIPCIÓN INFORMAL A UNA FORMAL • El

ASPECTOS A CONSIDERAR AL PASAR DE UNA DESCRIPCIÓN INFORMAL A UNA FORMAL • El segundo ¿Se deben o no incluir en la lista de operadores permitidos? • Reglas como verter una cantidad de agua sin cuantificar en el suelo, está permitido, pero su ejecución no ayuda en la solución del problema • Sirve para ver el compromiso entre escribir un conjunto de reglas que sólo describen el problema en sí mismo y el conjunto de reglas que lo describen y agregan algún tipo de conocimiento sobre su solución. 30/11/2020 S. Job Morales Escobar 29

ASPECTOS A CONSIDERAR AL PASAR DE UNA DESCRIPCIÓN INFORMAL A UNA FORMAL • El

ASPECTOS A CONSIDERAR AL PASAR DE UNA DESCRIPCIÓN INFORMAL A UNA FORMAL • El tercero se refiere a las reglas que tratan casos especiales. (11 y 12) • Obsérvense los últimos pasos cuando se alcanza el estado (4, 2), los 2 litros están en la jarra equivocada. Para llegar a la solución hay que pasar el contenido de la jarra de 3 a la de 4 pero antes hay que vaciar la jarra de 4 litros (aplicando la regla 12). • La idea de las estas reglas es capturar el conocimiento sobre casos especiales que conducen a la solución del problema. 30/11/2020 S. Job Morales Escobar 30

ASPECTOS A CONSIDERAR AL PASAR DE UNA DESCRIPCIÓN INFORMAL A UNA FORMAL • Dependiendo

ASPECTOS A CONSIDERAR AL PASAR DE UNA DESCRIPCIÓN INFORMAL A UNA FORMAL • Dependiendo de la regla de control que se utilice estas reglas pueden hacer disminuir el rendimiento. • Sería adecuado escribir programas que ellos mismos produzcan descripciones formales a partir de las descripciones informales a este proceso se le llama operacionalización. • Desgraciadamente no se conoce la forma de construir estos programas 30/11/2020 S. Job Morales Escobar 31

PARA PRODUCIR UNA ESPECIFICACIÓN FORMAL DE UN PROBLEMA SE DEBE 1. Definir el espacio

PARA PRODUCIR UNA ESPECIFICACIÓN FORMAL DE UN PROBLEMA SE DEBE 1. Definir el espacio de estados que contenga todos las configuraciones posibles de los objetos más relevantes y (quizá algunos imposibles), no necesariamente haciendo una enumeración de todos y cada uno de los estados que contiene. 2. Identificar uno o más estados iniciales. 3. Especificar uno o más estados que pudieran ser soluciones aceptables (estados objetivo o finales) 4. Especificar un conjunto de reglas que describan acciones (operadores) disponibles. 30/11/2020 S. Job Morales Escobar 32

PARA LA ESPECIFICACIÓN DE LAS REGLAS SE DEBE CONSIDERAR: • ¿Qué suposiciones presentes en

PARA LA ESPECIFICACIÓN DE LAS REGLAS SE DEBE CONSIDERAR: • ¿Qué suposiciones presentes en la descripción informal no están expresadas como tales? • ¿Qué generalidad debe tener las reglas? • ¿Qué cantidad del trabajo necesario para resolver el problema debe ser procesado y representado en forma de reglas? • El problema se puede resolver usando reglas en combinación con una estrategia de control para trasladarse a través del espacio problema hasta encontrar una ruta desde un estado inicial hasta un estado objetivo. • Se pueden incluir operaciones aritméticas como parte de las reglas (y- (4 - x)) 30/11/2020 S. Job Morales Escobar 33

SISTEMA DE PRODUCCIÓN • El proceso de búsqueda es fundamental y es el núcleo

SISTEMA DE PRODUCCIÓN • El proceso de búsqueda es fundamental y es el núcleo de muchos procesos inteligentes • Es adecuado estructurar los programas de IA de forma que se facilite describir y desarrollar la búsqueda. • Los sistemas de producción proporcionan tales estructuras. • Un sistema de producción consiste de: • Un conjunto de reglas compuestas por una parte izquierda que determina la aplicabilidad de la regla y una parte derecha que describe la operación que se lleva a cabo si se aplica la regla. • Una o más bases de datos/conocimiento que contenga cualquier tipo de información apropiada. • Una estrategia de control que especifica el orden en que las reglas se comparan con la BD y la forma de resolver los conflictos que surjan. • Un aplicador de reglas. 30/11/2020 S. Job Morales Escobar 34

 • Un problema se reduce a buscar una ruta a través del espacio

• Un problema se reduce a buscar una ruta a través del espacio que una un estado inicial con un estado objetivo. • El proceso de resolución del problema puede modelarse como un sistema de producción. 30/11/2020 S. Job Morales Escobar 35

ESTRATEGIAS DE CONTROL ¿Cómo se decide que regla hay que aplicar durante el proceso

ESTRATEGIAS DE CONTROL ¿Cómo se decide que regla hay que aplicar durante el proceso de búsqueda de la solución de un problema, dado que con frecuencia es posible aplicar más de una regla? Estas decisiones tienen un impacto crucial en la rapidez y tal vez en la posibilidad de resolución del problema. 30/11/2020 S. Job Morales Escobar 36

REQUISITOS QUE DEBE CUMPLIR UNA BUENA ESTRATEGIA DE CONTROL. • La aplicación de la

REQUISITOS QUE DEBE CUMPLIR UNA BUENA ESTRATEGIA DE CONTROL. • La aplicación de la regla debe causar algún cambio. • Si la estrategia de control empieza por la primera de la lista y elige la primera que se pueda aplicar. La aplicación de la primera regla en el problema de las jarras, provocará que la jarra de 4 litros se este llenando de forma indefinida. La estrategia de control que no causa cambio de estado nunca alcanzará la solución • • • Que sea sistemática • 30/11/2020 se corresponde con una necesidad tanto de cambio global (en el curso de varios pasos) como de cambio local (en el curso de un paso). S. Job Morales Escobar 37

 • Ejemplo de estrategia de control sistemática para las jarras • Se construye

• Ejemplo de estrategia de control sistemática para las jarras • Se construye un árbol cuya raíz es el estado inicial • Todas las ramificaciones se generan al usar cada una de las reglas aplicables al estado inicial. • Para cada nodo, se generan todas las posibles situaciones resultantes de la aplicación de todas las reglas adecuadas. • Se continúa el proceso hasta que alguna regla produce el estado objetivo. 30/11/2020 S. Job Morales Escobar 38

“Búsqueda primero en anchura” (breadth first search) 30/11/2020 Job Morales Escobar 39

“Búsqueda primero en anchura” (breadth first search) 30/11/2020 Job Morales Escobar 39

ALGORITMO DE BÚSQUEDA PRIMERO EN ANCHURA 1. Crear una variable llamada LISTA-NODOS y asignarle

ALGORITMO DE BÚSQUEDA PRIMERO EN ANCHURA 1. Crear una variable llamada LISTA-NODOS y asignarle el estado inicial 2. hasta que encuentre un estado objetivo o LISTA-NODOS este vacía, hacer: a) Si LISTA-NODOS esta vacía terminar en otro caso eliminar el primero elemento de la LISTA-NODOS y llamarlo E b) Para cada regla que se corresponda con el estado descrito en E hacer: I. III. 30/11/2020 Aplicar la regla para generar un nuevo estado Si el nuevo estado es un estado objetivo terminar y devolver este estado En caso contrario añadir el nuevo estado al final de la LISTANODOS. S. Job Morales Escobar 40

OTRA ESTRATEGIA DE CONTROL SISTEMÁTICO • Se toma una rama del árbol hasta encontrar

OTRA ESTRATEGIA DE CONTROL SISTEMÁTICO • Se toma una rama del árbol hasta encontrar una solución o hasta que se tome la decisión de terminar la búsqueda por esa dirección. • Motivos para terminar la búsqueda por una ruta: • Si se llega a algún estado del cual no se pueden generar nuevos estados (callejón sin salida) • Se produce un estado ya alcanzado • La ruta se alarga más de lo especificado en algún límite de inutilidad. 30/11/2020 S. Job Morales Escobar 41

OTRA ESTRATEGIA DE CONTROL SISTEMÁTICO (CONT. ) • Cuando ocurra esto su produce una

OTRA ESTRATEGIA DE CONTROL SISTEMÁTICO (CONT. ) • Cuando ocurra esto su produce una vuelta atrás (Backtracking) el cual consiste en visitar nuevamente el estado más recientemente creado, desde el que sea posible algún movimiento alternativo para crear un nuevo estado. • Se le conoce como vuelta atrás cronológica (chronological backtracking) debido a que el orden en que se deshacen los pasos depende únicamente de la secuencia temporal en que se hicieron (el paso más reciente es el primero que se deshace). 30/11/2020 S. Job Morales Escobar 42

ALGORITMO: BÚSQUEDA PRIMERO EN PROFUNDIDAD 1) Si el estado inicial es un estado objetivo,

ALGORITMO: BÚSQUEDA PRIMERO EN PROFUNDIDAD 1) Si el estado inicial es un estado objetivo, termina y devuelve éxito. 2) En caso contrario, hacer hasta que se marque un éxito o fracaso. • • • 30/11/2020 Generar un sucesor E, del estado inicial. Si no existe más sucesores marcar un fracaso Llamar a la búsqueda primero en profundidad con E como estado inicial. Si devuelve éxito, marcar un éxito en caso contrario continuar con el ciclo. S. Job Morales Escobar 43

BÚSQUEDA PRIMERO EN PROFUNDIDAD 30/11/2020 Job Morales Escobar 44

BÚSQUEDA PRIMERO EN PROFUNDIDAD 30/11/2020 Job Morales Escobar 44

Ventajas de la búsqueda primero en profundidad • Necesita menos memoria. • Sólo almacena

Ventajas de la búsqueda primero en profundidad • Necesita menos memoria. • Sólo almacena los nodos del camino que sigue en ese instante. • Si se tiene cuidado en ordenar los estados alternativos sucesores, esta búsqueda puede encontrar una solución sin tener que examinar gran parte del espacio de estados. 30/11/2020 S. Job Morales Escobar 45

Ventajas de la búsqueda primero en anchura • No queda atrapado explorando callejones sin

Ventajas de la búsqueda primero en anchura • No queda atrapado explorando callejones sin salidas. • Los ciclos se producen cuando un estado tiene como sucesor un estado que también es un estado antecesor. • Si existe una solución, la búsqueda primero en anchura garantiza que se logre encontrarla. Además si existe múltiples soluciones, se encuentra la solución mínima (es decir, la que requiere el menor número de pasos), debido al hecho que no explora una ruta larga hasta terminar con las rutas más cortas. 30/11/2020 S. Job Morales Escobar 46

BÚSQUEDA HEURÍSTICA • Con el fin de resolver problemas complicados con eficiencia, es necesario:

BÚSQUEDA HEURÍSTICA • Con el fin de resolver problemas complicados con eficiencia, es necesario: • comprometer los requisitos de movilidad y sistematicidad • construir una estructura de control que no garantice encontrar la mejor respuesta, pero que casi siempre encuentre una buena solución • Una heurística es una técnica que aumenta la eficiencia de un proceso de búsqueda, posiblemente sacrificando demandas de completitud. 30/11/2020 S. Job Morales Escobar 47

BÚSQUEDA HEURÍSTICA • Algunas heurísticas pueden provocar ocasionalmente que una buena ruta no sea

BÚSQUEDA HEURÍSTICA • Algunas heurísticas pueden provocar ocasionalmente que una buena ruta no sea considerada. • Al usar buenas heurísticas se pueden esperar buenas soluciones (no óptimas) para problemas difíciles tales como el problema del agente viajero en un tiempo menor al exponencial. 30/11/2020 S. Job Morales Escobar 48

PROBLEMA DEL AGENTE VIAJERO 30/11/2020 Job Morales Escobar 49

PROBLEMA DEL AGENTE VIAJERO 30/11/2020 Job Morales Escobar 49

HEURÍSTICAS • De propósito general Adecuadas para una amplia variedad de dominios de problemas

HEURÍSTICAS • De propósito general Adecuadas para una amplia variedad de dominios de problemas • De propósito especial Explotan el conocimiento específico del dominio para resolver problemas particulares. La heurística del vecino más próximo es un ejemplo de una buena heurística de propósito general válida para varios problemas combinatorios. Consiste en seleccionar en cada paso la alternativa localmente superior. 30/11/2020 S. Job Morales Escobar 50

La heurística del vecino más próximo Al aplicar esta heurística al problema del agente

La heurística del vecino más próximo Al aplicar esta heurística al problema del agente viajero se tiene el proceso siguiente: 1. Seleccionar aleatoriamente una ciudad de inicio 2. Para seleccionar la siguiente ciudad, fijarse en las ciudades que no se han visitado y seleccionar aquella más cercana, e ir a esa ciudad. 3. Repetir el paso 2 hasta que todas las ciudades hayan sido visitadas 30/11/2020 S. Job Morales Escobar 51

La heurística del vecino más próximo • Este procedimiento se ejecuta en un tiempo

La heurística del vecino más próximo • Este procedimiento se ejecuta en un tiempo proporcional a N 2, lo cual es una mejora significativa con respecto a N! (explorar todas la rutas posibles y devolver la que tenga menor longitud). • En algunos casos es posible encontrar alguna cota superior para el error cometido por la aplicación de esta heurística, que da una idea del precio que se paga con la precisión en beneficio de la velocidad. 30/11/2020 S. Job Morales Escobar 52

En muchos problemas de IA, no se puede encontrar estas cotas por los motivos

En muchos problemas de IA, no se puede encontrar estas cotas por los motivos siguientes: • Para problemas del mundo real, es difícil medir con precisión el valor de una solución particular. Distancia entre dos ciudades es una noción precisa, sin embargo, ¿porque sube la presión arterial? No lo es tanto. • Las heurísticas están basadas en conocimiento relativamente desestructurado. Con frecuencia es difícil definir el conocimiento de forma que pueda llevarse a cabo un análisis matemático de su efecto sobre el proceso de búsqueda. 30/11/2020 S. Job Morales Escobar 53

Heurística (Lenat, 1983) Si hay una función interesante de dos argumentos F (X, Y),

Heurística (Lenat, 1983) Si hay una función interesante de dos argumentos F (X, Y), ver que ocurre si los dos argumentos son iguales. • En el dominio de las matemáticas: • Si F es la multiplicación lleva a la elevación al cuadrado. • Si F es la unión de conjuntos lleva a la función identidad. • En dominios no formales: • Si F es contemplar lleva al descubrimiento de la introspección • Si F es matar lleva a la noción de suicidio 30/11/2020 S. Job Morales Escobar 54

RAZONES PARA EL USO DE LA HEURÍSTICA: • Explosión combinatoria (sería suficiente) • Normalmente

RAZONES PARA EL USO DE LA HEURÍSTICA: • Explosión combinatoria (sería suficiente) • Normalmente no se necesitan soluciones óptimas • Con frecuencia una buena aproximación es adecuada • Si bien las aproximaciones no son muy buenas en los peores casos, estos raramente ocurren en la realidad. • Comprender porque funciona una heurística o porque no lo hace, sirve para profundizar en la comprensión del problema. 30/11/2020 S. Job Morales Escobar 55

EJEMPLO DE APLICACIÓN DE REGLAS HEURÍSTICAS: En el juego del gato con posiciones dadas

EJEMPLO DE APLICACIÓN DE REGLAS HEURÍSTICAS: En el juego del gato con posiciones dadas por: 1 2 3 4 5 6 7 8 9 • Encontrar combinaciones ganadoras y por cada tiro analizar donde tirar y generar nuevos estados ganadores. • Una estrategia para tirar primero y otra para cuando se tira en segundo turno. 30/11/2020 S. Job Morales Escobar 56

HEURÍSTICA • Formas de incorporar el conocimiento heurístico a procesos de búsqueda basados en

HEURÍSTICA • Formas de incorporar el conocimiento heurístico a procesos de búsqueda basados en reglas: – En las mismas reglas – Como una función que evalúa los estados individuales del problema y determina su grado de “deseabilidad” 30/11/2020 S. Job Morales Escobar 57

HEURÍSTICA • Una función heurística es una correspondencia entre las descripciones de los estados

HEURÍSTICA • Una función heurística es una correspondencia entre las descripciones de los estados del problema hacia alguna medida de “deseabilidad”, normalmente representada por números. • Los aspectos que se consideran del problema, cómo se evalúan y los pesos que se les da, se eligen de forma que el valor asignado por la función heurística a un nodo en el proceso de búsqueda, sea tan buena como sea posible para evaluar si dicho nodo pertenece a la ruta que conduce a una solución. 30/11/2020 S. Job Morales Escobar 58

HEURÍSTICA Ejemplos de funciones heurísticas: • Ajedrez: • El viajero: la ventaja de piezas

HEURÍSTICA Ejemplos de funciones heurísticas: • Ajedrez: • El viajero: la ventaja de piezas sobre el oponente La suma de las distancias recorridas hasta el momento • El propósito es guiar el proceso de búsqueda en una dirección más provechosa sugiriendo que camino se debe seguir primero cuando hay más de uno disponible. 30/11/2020 S. Job Morales Escobar 59

BIBLIOGRAFÍA • Russell Stuart J. & Norvig Peter, (2004) Inteligencia Artificial Un enfoque Moderno,

BIBLIOGRAFÍA • Russell Stuart J. & Norvig Peter, (2004) Inteligencia Artificial Un enfoque Moderno, Segunda Edición, Prentice Hall • Pajares M. Gonzalo & Santos P Matilde, (2006) Inteligencia Artificial e Ingeniería del Conocimiento, Alfaomega Grupo Editor S. A. de C. V. • Rich Elaine/ Knight, Kevin. , Inteligencia artificial. Mc Graw Hill, 1994. 30/11/2020 Job Morales Escobar 60

BIBLIOGRAFÍA Complementaria • Dubois & Prade, Fuzzy sets and systems; theory and applications, Academic

BIBLIOGRAFÍA Complementaria • Dubois & Prade, Fuzzy sets and systems; theory and applications, Academic press, inc. • Winston, Patrick H. , Inteligencia artificial, Addison Wesley, 1994. • Prolog, Programming for artificial intelligence, Addison Weseley, 1990. 30/11/2020 Job Morales Escobar 61

GUIÓN EXPLICATIVO • Este material está desarrollado como apoyo al curso presencial de la

GUIÓN EXPLICATIVO • Este material está desarrollado como apoyo al curso presencial de la unidad de competencia Resolución de problemas mediante la búsqueda de la UDA “Inteligencia Artificial”, correspondiente a la carrera de Ingeniería en Sistemas y Comunicaciones. • Esta unidad de competencia es la continuación de la unidad de competencia Introducción a la Inteligencia Artificial. • Se recomienda estudiar el tema antes de la sesión presencial. 30/11/2020 Job Morales Escobar

GUIÓN EXPLICATIVO • Se recomienda seguir la secuencia en la que se presenta el

GUIÓN EXPLICATIVO • Se recomienda seguir la secuencia en la que se presenta el material para mayor comprensión de los temas. • Los temas se pueden consultar en extenso en las referencias proporcionadas en la bibliografía. • Se recomienda realizar ejercicios adicionales para complementar lo visto en clase y el material presentado. 30/11/2020 Job Morales Escobar