Source: https://www.slideshare.net/leonardobernalzamora/clase-2-4901932
Timestamp: 2017-08-22 12:22:46+00:00

Document:
Problema de la ocho reinas. Impleme... by Mayra Villanueva 6097 views
1. Resolver problemas mediante Inteligencia Artificial Universidad de Boyacá
2. Resolución de problemas  Se quiere:  Resolver automáticamente un problema  Se necesita:  Una representación del problema  Algoritmos que usen alguna estrategia para resolver el problema definido en esa representación
3. Definición de un problema  Si se abstraen los elementos de un problema se pueden identificar:  Un punto de partida  Un objetivo a alcanzar  Acciones a disposición para resolver el problema  Restricciones sobre el objetivo (p.e., que se quire)  Elementos del dominio que son relevantes en el problema (p.e., conocimiento incompleto del punto de partida)
4. Representación de problemas  Existen diferentes formas de representar problemas para resolverlos de manera automática  Representaciones generales:  Espacio de estados. Un problema se divide en un conjunto de pasos de resolución desde el inicio hasta el objetivo.  Reducción a sub-problemas. Un problema se descompone en una jerarquía de sub- problemas.  Representaciones para problemas específicos:  Resolución de juegos  Satisfacción de restricciones
5. Representación de problemas: estados  Se puede definir un problema por los elementos que intervienen y sus relaciones.  En cada instante de la resolución de un problema esos elementos tendrán unas características y relaciones específicas.  Se denomina estado a la representación de los elementos que describen el problema en un momento dado.  Se distinguen dos estados especiales: el estado inicial (punto de partida) y el estado final (en general, el objetivo del problema).  ¿Qué descriptores incluir en el estado? (Ej.: la localización)
6. Modificación del estado: función sucesor  Para poder moverse entre los diferentes estados se necesita una función sucesor (descripción de las posibles acciones). • Función sucesor (o conjunto de operadores): función de transformación sobre la representación de un estado que lo convierte en otro estado  La función sucesor define una relación de accesibilidad entre estados.  Representación de la función sucesor:  Condiciones de aplicabilidad  Función de transformación
7. Espacio de estados  El conjunto de todos los estados alcanzables desde el estado inicial conforma lo que se denomina espacio de estados.  Representa todos los caminos que hay entre todos los estados posibles de un problema.  El espacio de estados forma un grafo (o mapa) en el cual los nodos son estados y los arcos son acciones.  La solución del problema está dentro de ese mapa.
8. Solución de un problema en el espacio de estados • Solución: Secuencia de pasos que llevan del estado inicial al final (secuencia de operadores) o también el estado final • Tipos de solución: una cualquiera, la mejor, todas • Costo de una solución: gasto en recursos de la aplicación de los operadores a los estados; puede ser importante o no según el problema y qué tipo de solución busquemos
9. Descripción de un problema en el espacio de estados  Definir el espacio de estados (explícita o implícitamente)  Especificar el estado inicial  Especificar el estado final o las condiciones que cumple  Especificar los operadores de cambio de estado (condiciones de aplicabilidad y función de transformación)  Especificar el tipo de solución:  La secuencia de operadores o el estado final  Una solución cualquiera, la mejor (definición de costo), todas …
10. Ejemplos: puzzle  Espacio de estados:  configuraciones de 8 fichas en el tablero  Estado inicial:  cualquier configuración 1 2 3  Estado final:  fichas en orden específico 4 5 6  Acción:  “mover hueco”  Condiciones: 7 8  el movimiento está dentro del tablero  Transformación:  “mover el hueco” a la Izquierda, Derecha, Arriba y Abajo  Solución: Qué pasos + El menor número
11. Ejemplo: n reinas n=4 n=8
12. Ejemplo: n reinas  Estado inicial:  configuración sin reinas en el tablero  Espacio de estados:  configuraciones de 0 a n reinas en el tablero con sólo una por fila y columna  Estado final:  configuración en la que ninguna reina se mata entre sí  Operadores:  colocar una reina en una fila y columna  Condiciones:  la reina no es matada por ninguna ya colocada  Transformación:  colocar una reina más en el tablero en una fila y columna determinada  Solución:  Las reinas ubicadas, pero no importan los pasos
13. Problema de las jarras de agua  Se tienen dos jarras de agua, una de 4litros y otra de 3litros sin escala de medición. Se desea tener 2 litros de agua en la jarra de 4 litros. Las siguientes operaciones son válidas: llenar las jarras, tirar agua de las jarras, pasar agua de una jarra a otra. 13
14.  El espacio de estados se define como: { (X,Y)/ X son los litros en la jarra de 4l con 0<=X<=4 AND Y son los litros de la jarra de 3l con 0<=Y<=3 } 14
15. Conclusión del ejemplo de las tres jarras: 15
16. Problema de los Caníbales y Monjes  Se tienen 3 monjes y 3 caníbales en el margen Oeste de un río. Existe una canoa con capacidad para dos personas como máximo. Se desea que los seis pasen al margen Este del río, pero hay que considerar que no debe haber más caníbales que monjes en ningún sitio porque entonces los caníbales se comen a los monjes. Además, la canoa siempre debe ser conducida por alguien.  Realice la misma construcción de acuerdo a la solución de las tres jarras. 16
17. Búsqueda en el espacio de estados  Se define una representación del espacio de estados para poder implementar algoritmos que busquen soluciones.  La resolución de un problema con esta representación pasa por explorar el espacio de estados.  Se empieza del estado inicial y se evalúa cada paso hasta encontrar un estado final.  En el caso peor se exploran todos los posibles caminos entre el estado inicial del problema y el estado final.
18. Estructura del espacio de estados  Estructuras de datos: árboles y grafos  Estados = nodos  Operadores = arcos entre nodos (dirigidos)  Árboles: sólo un camino lleva a un nodo  Grafos: varios caminos pueden llevar a un nodo
19. Resolución de problemas de IA  Para construir un sistema que resuelva un sistema específico, es necesario:  1- Definir el problema formalmente con precisión.  2- Analizar el problema.  3- Representar el conocimiento necesario para resolver el problema.  4- Elegir la mejor técnica que resuelva el problema y aplicarla. 19
20. 1. Definición formal del problema. El primer paso para diseñar un programa que resuelva un problema es crear una descripción formal y manejable del propio problema. Sería adecuado contar con programas que produzcan descripciones formales a partir de descripciones informales, proceso denominado operacionalización. Dado que por ahora no se conoce la forma de construir estos programas este proceso debe hacerse manualmente. Hay problemas que por ser artificiales y estructurados son fáciles de especificar (por ej. el ajedrez, el problema de las jarras de agua, etc. ). Otros problemas naturales, como por ej. la comprensión del lenguaje, no son tan sencillos de especificar. Para producir una especificación formal de un problema se deben definir: •espacio de estados válidos; •estado inicial del problema; •estado objetivo o final; •reglas que se pueden aplicar para pasar de un estado a otro. 20
21. Un estado es la representación de un problema en un instante dado. Para definir el espacio de estados no es necesario hacer una enumeración exhaustiva de todos los estado válidos, sino que es posible definirlo de manera más general. El estado inicial consiste en uno o varios estados en los que puede comenzar el problema. El estado objetivo consiste en uno o varios estados finales que se consideran solución aceptable. Las reglas describen las acciones u operadores que posibilitan un pasaje de estados. Una regla tiene una parte izquierda y una parte derecha. La parte izquierda determina la aplicabilidad de la regla, es decir, describe los estados a los que puede aplicarse la regla. La parte derecha describe la operación que se lleva a cabo si se aplica la regla, es decir, como obtener el estado sucesor. 21
22.  La representación como espacio de estados forma parte de la mayoría de los métodos de IA. Su estructura se corresponde con la resolución de problemas porque:  Permite definir formalmente el problema, mediante la necesidad de convertir una situación dada en una situación deseada mediante un conjunto de operaciones permitidas.  Permite definir el proceso de resolución de un problema como una combinación de técnicas conocidas y búsqueda (la técnica general de exploración del espacio intenta encontrar alguna ruta desde el estado actual hasta un estado objetivo). 22
23. 2. Estrategia de control: Métodos de búsqueda  El problema puede resolverse con el uso de reglas en combinación con una estrategia de control para trasladarse a través del espacio de estados hasta encontrar un camino desde el estado inicial hasta el estado final. Se elige una regla entre aquellas cuya parte izquierda concuerda con el estado actual. Se aplica la regla elegida realizando el cambio de estado tal como se describe en la parte derecha de la regla. Si el nuevo estado es estado objetivo o final se ha encontrado la solución. En caso contrario se continúa con la aplicación de reglas al nuevo estado. 23
24. Una estrategia de control especifica el orden en el que se deben aplicar las reglas, así como también la forma de resolver conflictos cuando es posible aplicar más de una regla. Para que una estrategia de control sea válida debe cumplir con dos requisitos: • Causar cambios: las estrategias de control que no causan cambios de estado nunca alcanzan la solución. Un ejemplo de estrategia de control que no causa cambios es seleccionar siempre la primera regla aplicable de la lista de reglas definidas. En el ejemplo de las jarras de agua, se continuaría indefinidamente aplicando las reglas 1 y 3 sin posibilidad de arribar a la solución. • Ser sistemática: las estrategias de control que no son sistemáticas pueden utilizar secuencias de operaciones no apropiadas varias veces hasta alcanzar la solución. Un ejemplo de estrategia de control no sistemática es seleccionar la regla a aplicar al azar. Esta estrategia puede encontrar la solución eventualmente, pero luego de haber realizado varios pasos innecesarios e incluso haber vuelto varias veces al mismo estado. 24
25. Algunos ejemplos de estrategias de control sistemáticas  Los siguientes algoritmos de búsqueda detallados a continuación son ejemplos de estrategias de control sistemáticas.  Todos se basan en considerar un árbol de estados cuya raíz es el estado inicial, y en cada nivel se hallan los estados sucesores correspondientes.  Búsqueda Breadth-First Search (primero en ancho)  Búsqueda Depth-First Search (primero en profundidad) 25
26. 3. Análisis del problema Luego de definir el problema formalmente, el segundo paso en la resolución del problema es el análisis del mismo. A fin de poder elegir el método más apropiado para resolver un problema particular, es necesario analizar distintas cuestiones que afectan a al definición del mismo y a las características de la solución deseada. Existen varias preguntas a responder acerca del problema: 1. ¿Puede descomponerse el problema en subproblemas más pequeños? 2. ¿Pueden deshacerse pasos inadecuados hacia la solución? 3. ¿Es predecible el universo del problema? 4. ¿Una solución es buena de manera absoluta o relativa? 5. ¿La solución deseada es un estado o la ruta hacia un estado? 6. ¿El conocimiento se necesita para resolver el problema o para restringir la búsqueda de la solución? 7. El programa que soluciona el problema ¿busca la solución solo o necesita interactuar con una persona? 26
27. Webgrafia  www.lsi.upc.es/~luigi/II/IA-2008-spring/3c- representacion-del-conocimiento-(es).ppt  www.lsi.upc.es/~luigi/II/IA-2008-spring/4a- introduccion-a-los-sistemas-basados-en-el- conocimiento-(es).ppt 27
Clase5 POO

References: Resolución 
 resolución 
 Resolución 
 resolución 
 resolución 
 Resolución 
 resolución 
 resolución 
 resolución