Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
El grafo anterior es un grafo de bsqueda plano, ya que permite la interconexin entre las distintas ciudades. Aplicando el algoritmo de bsqueda con vuelta atrs, se tiene la siguiente solucin: 1. Disear un rbol de bsqueda: Para ello empezamos dndole 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 solucin sera correcta ya que no coincide con los colores de ninguno de sus vecinos. Como se puede dar cuenta, la bsqueda 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. Lo anterior genera el siguiente rbol parcial de bsqueda:
Figura 5.6. rbol de bsqueda El rbol de la figura anterior, fue 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. Como siempre es necesario regresar a mirar los colores que han tenido las variable x,y,z para ubicar el color adecuado a w, de all el nombre de algoritmo de vuelta atrs.
39
Recuerde en caso de tener alguna inquietud puede recurrir al entorno virtual de aprendizaje y consultar a su profesor. 5.2 BSQUEDA LOCAL PARA PROBLEMAS DE SATISFACCIN DE RESTRICCIONES. La bsqueda local es otro de los algoritmos que se pueden utilizar para resolver problemas de satisfaccin de restricciones. En esta seccin se estudiar sus principales caractersticas y sus aplicaciones.
Realice una lectura comprensiva de la seccin 5.3: Bsqueda local para problemas de satisfaccin de restricciones. Con la lectura se podr dar cuenta de que existen distintas formas de resolver problemas de este tipo. De la lectura anterior se obtiene que la bsqueda local para problemas de satisfaccin de restricciones tiene las siguientes caractersticas:
Figura 5.7. Caractersticas de la bsqueda local aplicada al problema de satisfaccin de restricciones El ejercicio de la seccin 5.3: Bsqueda local para problemas de satisfaccin de restricciones, del texto base es muy explicativo y le podr ayudar a la comprensin de este tema. Lo importante del mismo es que se ha podido ubicar a ocho reinas con una solucin de solamente dos pasos. Que la parece!. Adems presenta de una forma adecuada el ajuste de la funcin de bsqueda. Por favor revise detenidamente el ejercicio nombrado anteriormente.
ACTIVIDAD RECOMENDADA
Revise el ejercicio de la posicin de las reinas ubicado en la seccin 5.3 del texto base: Bsqueda local para problemas de satisfaccin de restricciones. Luego, explique el proceso de ubicar nuevas reinas en el tablero (al menos 2 mas). ____________________________________________________________________________________ Con esta seccin se da por terminada esta unidad. Lo invitamos a que resuelva la siguiente autoevaluacin para afianzar sus conocimientos.
40
SEGUNDO BIMESTRE
Autoevaluacin 5
A. 1. 2. 3. 4. 5. 6. Escriba una V o una F, segn sean verdaderos o falsos los siguientes enunciados ( ( ( ( ( ( ) ) ) ) ) ) Las restricciones son fundamentales en la definicin de un problema de bsqueda. Una restriccin es un condicionante de un problema. Una restriccin puede ser expresada en un rbol de bsqueda. En la bsqueda local siempre se aplica la solucin actual como vlida Se puede aplicar el algoritmo de vuelta atrs siempre y cuando existan solamente dos restricciones. Una buena solucin para escoger una buena heurtica es elegir la variable que esta mas restringuida en lugar del valor que esta menos restringuido en la busqueda de problemas de satisfaccin de restricciones. La estratgia de minimos conflictos trabaja tambien para problemas dificiles. Las estratgias de los problemas de satisfaccion de restricciones trabajan mejor cuando ninguno de los subproblemas es demasiado grande.
7. 8. B. 9.
( (
) )
Desarrolle el siguiente ejercicio: Tomando como base la Figura 5.4. de la presente gua didctica, disee un rbol de bsqueda empezando la coloracin del mapa por w.
Con esta evaluacin Usted, analiz su avance en el estudio de este tema.. Excelente! Sigamos avanzando con las siguientes secciones.
Verifique sus respuestas con las del solucionario que se encuentra al final de la presente gua didctica.
41
Realizar una lectura del texto base, seccin 6.2: Decisiones ptimas en juegos, apartado Algoritmo minimax, veremos el detalle necesario para que pueda comprender la teora de este algoritmo. Durante la lectura, fijmonos bien en que el Algoritmo Minimax realiza una exploracin exhaustiva del rbol de bsqueda, 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 funcin de evaluacin de la funcin heurstica. 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 ms pequeo. La anterior es una definicin muy interesante, de hecho propone que MAX y MIN son oponentes y lgicamente uno debe ser declarado ganador. Sin embargo, existen otras propuestas de la teora de juegos, en donde los adversarios colaboran para sacar el mejor provecho vlido para ambos. Observemos el siguiente ejemplo de MINIMAX: MAX MIN 7 8 MAX MIN
42
SEGUNDO BIMESTRE
En la Figura anterior, desde el nodo MIN superior se puede llegar a un nodo con valor 7. El otro camino posible slo 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 solucin que buscamos. Una vez comprendido lo que es el algoritmo MINIMAX, le proponemos revisar el siguiente esquema: MIN debido a que toma el valor menor trata de minimizar las jugadas. MINIMAX MAX debido a que toma el valor mayor trata de maximizar las jugadas Solamente hay un ganador. Se denomina funcin heurstica a aquella que nos permite obtener los valores para MAX y para MIN Bien ahora es momento de interactuar con las tecnologas a travs de la siguiente actividad.
Interactividad en el EVA Lo invitamos a revisar el EVA, donde encontrar documentos y ejercicios que le pueden ayudar a complementar el tema. Lo esperamos!. Como se ha podido dar cuenta, el algoritmo MINMAX tiene los elementos bsicos para hacer que un computador piense, y lgicamente puede convertirse en nuestro contrincante en el juego. Es su turno de trabajar sobre el tema:
ACTIVIDAD RECOMENDADA
____________________________________________________________________________________ 6.2 PODA ALFA-BETA. Cmo se habr dado cuenta, el algoritmo MINIMAX que lo estudiamos anteriormente nos permite determinar que existen dos jugadores adversarios. Pero este algoritmo es muy lento, es decir a veces tiene que explorar muchas ramas del rbol de bsqueda para encontrar una solucin. Qu le parece si nos proponemos hacerlo ms rpido al MINIMAX?, no podemos dejar que el computador gane el juego, as que propongmonos una solucin realizando:
43
La lectura de la seccin 6.3: Poda alfa-beta, veremos cmo es posible incrementar la eficiencia del MINIMAX podando las hojas del rbol de bsqueda.
Leyendo la poda ALFA-BETA nos damos cuenta que es una excelente solucin para disminuir el tiempo de respuesta del MAXMIN, debido a que no explora todas las ramas del rbol de bsqueda, y adems PODA (corta) las ramas que no interesan. Su funcionamiento se basa en el siguiente esquema: 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 algn momento llega a ser mayor que , no tendr sentido seguir con la bsqueda, realizndose una poda si estamos en un nodo MAX o si estamos en un nodo MIN. Ahora realicemos una analoga con una lista de nmeros: para entender bien el alfa-beta debemos darnos cuenta que podemos sacar el mayor o menor de una lista de nmeros, como por ejemplo: De la Lista = 1 2 4 8 El mayor es 8 y el menor es 1. Lo interesante es que ste es el principio bsico de la funcin heurstica, la comparacin de nmeros para obtener mayores o menores. Ubiquemos ahora los siguientes nmeros en un rbol de bsqueda como se muestra en la figura (ver hojas del rbol) y obtengamos otras listas aplicando la funcin heurstica:
PODA ALFA-BETA
44
SEGUNDO BIMESTRE
Observando la Figura 6.2., nos damos cuenta que la comparacin que se est aplicando en las hojas del rbol es el MAX. Primero se compara el 5 con el 15, luego como 15 es mayor a 5, el ganador parcial es 15. Luego se verifica 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 comparacin. Ahora damos paso al siguiente jugador, por lo que en la otra rama utilizaramos 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 sera el ganador, por lo tanto esa comparacin ya no es necesaria, por lo que en esta sera necesario aplicar la poda tipo para MIN. Hemos descifrado juntos la forma cmo podemos evitar las bsquedas innecesarias en MAXMIN, por lo tanto estamos ya capacitados para automatizar algoritmos con agentes lgicos. Es conveniente seguir trabajando sobre lo estudiado, por ello lo invitamos a realizar lo siguiente:
Interactividad en el EVA Revisar el EVA, donde encontrar documentos y ejercicios que le pueden ayudar a complementar el tema. Hasta aqu hemos concluido con la sexta unidad, comprobemos lo aprendido hasta ahora realizando la autoevaluacin.
Autoevaluacin 6
A. 1. 2. 3. 4. 5. 6. 7. 8. Escriba una V o una F, segn sean verdaderos o falsos los siguientes enunciados ( ( ( ( ( ( ( ( ) ) ) ) ) ) ) ) El algoritmo minimax se puede utilizar solamente en la bsqueda en profundidad El algoritmo minimax se aplica solamente a la teora de juegos En el algoritmo minimax los dos jugadores pueden colaborar para sacar un beneficio comn En el algoritmo minimax el que empieza el juego sea max o min siempre gana El algoritmo minimax puede ser aplicado con busqueda en anchura El algoritmo de poda alfa-beta introduce ruido en la bsqueda La poda alfa-beta trabaja solamente cuando el que empieza el juego es MAX La poda alfa-beta necesita revisar todos los nodos de un rbol de bsqueda
Verifique sus respuestas con las del solucionario que se encuentra al final de la presente gua didctica.
45
Realizar una lectura de la seccin 7.1:Agentes Basados en el conocimiento, veremos el detalle necesario para que podamos comprender la teora y prctica de este tipo de agentes. Bien, una vez desarrollada la lectura, revise el esquema siguiente relacionado a las caractersticas de un agente basado en el conocimiento:
46
SEGUNDO BIMESTRE
Le llega el conocimiento desde cada una de sus fuentes (sensores, bases de datos, etc.) Tiene una interfaz para recibir el conocimiento y manejarlo. AGENTE BASADO EN EL CONOCIMIENTO Obtenido el conocimiento disea una base de conocimiento en donde reposa el mismo. Tiene una maquina de inferencias que facilita el razonamiento. Tiene una interfaz para expresar su razonamiento. Se relaciona con el ambiente.
En el esquema anterior se ha logrado resumir fcilmente al agente basado en el conocimiento. Como se describe en el texto base, uno de los ejemplos ms claros de un agente basado en el conocimiento es el mundo de wumpus. Por ello lo invitamos a:
Revisar la seccin 7.2 El mundo de wumpus, donde conocer las reglas del funcionamiento del juego.
Una vez conocidas las reglas del juego, lo invitamos a revisar el anexo 1, donde se presenta la solucin del ejercicio 7.2 propuesto en el texto base, pgina 266. Como se observa en el anexo, la base de conocimiento de este juego est formada por un conjunto de sentencias, donde una sentencia es la representacin de un hecho del mundo (juego), en un lenguaje de representacin del conocimiento. Un agente lgico entonces, parte de su conocimiento y utiliza el razonamiento lgico para llegar a su objetivo.
ACTIVIDAD RECOMENDADA
Describa las mejoras que se le puede dar a las bsquedas que realiza un agente.
____________________________________________________________________________________ 7.2 LGICA PROPOSICIONAL. Un agente basado en el conocimiento necesita almacenar su informacin en una estructura que le permita recuperarla e interpretarla de forma fcil.
47
Realizar una lectura de la seccin 7.4: Lgica Proposicional, veremos cmo las proposiciones pueden agruparse para convertirse en una base de conocimientos.
Leyendo lo expuesto de la lgica proposicional en el texto base nos damos cuenta que es muy fcil la representacin del conocimiento utilizando sus propiedades. Su funcionamiento se basa en el siguiente esquema: La proposicin es el significado de una idea, enunciado. Proposicin es toda oracin declarativa. LGICA PROPOSICIONAL En general, a las proposiciones se las representa por las letras del alfabeto desde la letra p, es decir p,q,r,s,t. etc. Una proposicin se clasifica en compuesta o molecular Una proposicin puede contener conectivos lgicos. Ahora, realicemos el siguiente ejercicio con el fin de comprender de mejor manera la utilizacin de la lgica proposicional: Busquemos la tabla de veracidad de la siguiente proposicin: (p v q) v (p q)
p V V F F
q V V F F
(p v q) V V V F
p F V V F
q F F
(p q) F F V F
(p v q) v (p q) V V V V
V V
Para tener todas las proposiciones de las combinaciones de p y q, se utiliza la frmula 2n. En donde n es el nmero de proposiciones que hay en el ejercicio. Por lo tanto el resultado de la frmula es 22= 4. Dividimos el resultado 4 para 2, el resultado es 2. Este ltimo resultado es el nmero de Verdaderos (V) y Falsos (F) para p. Volvemos a dividir este ltimo resultado 2 y lo dividimos por dos, el resultado es 1. Este ltimo resultado es el nmero de V y F para q. Estos valores son ubicados en las dos primeras columnas de la Tabla 6.1.
48
SEGUNDO BIMESTRE
Utilizando los valores de p y q resolvemos la frmula planteada en el ejercicio. p es el valor opuesto de p y q es el opuesto de q. El resultado de aplicar la formula es una Tautologa debido a que todos los valores de la ltima columna resultan ser verdaderos.
ACTIVIDAD RECOMENDADA
____________________________________________________________________________________ Una vez realizada la actividad, es conveniente que tome en cuenta lo siguiente:
Interactividad en el EVA Ingresar al EVA, y participe de las actividades propuestas por su profesor.
7.3 PATRONES DE RAZONAMIENTO EN LGICA PROPOSICIONAL En este tema aprenderemos cmo reducir el nmero de proposiciones para representar el conocimiento. A la forma como se reduce el nmero de proposiciones le llamamos Patrn de razonamiento. Descubriremos entonces, como un conjunto de reglas (sentencias) pueden someterse a un proceso (patrones, frmulas lgicas) con el fin de hacer ms fcil su utilizacin. El objetivo es crear una forma de disminuir las sentencias para que stas se puedan representar de una manera ms fcil en la base de conocimiento. Bien empecemos!.
Realizar una lectura se la seccin 7.5: Patrones de razonamiento en lgica proposicional. Veremos como algunas proposiciones pueden conectarse para facilitar la representacin del conocimiento. Leyendo lo descrito para patrones de razonamiento en el texto base nos damos cuenta que el patrn de razonamiento tiene las caractersticas expresadas en la siguiente figura:
49
Para entender de mejor manera el funcionamiento de los patrones de razonamiento desarrollemos el siguiente ejemplo: El objetivo de este ejercicio es entender el Modus Ponens: Si la persona observa a ambos lados y se dispone a pasar la calle, entonces la persona camina. Si la persona camina, pasa por la calle. Si pasa por la calle, llega a la otra vereda. La hiptesis que se generan son las siguientes: Ho: p q => s, en donde p = persona observa a ambos lados, q=persona se dispone a pasar la calle, s= persona camina. H1:s => r, en donde r = persona pasa por la calle. H1: r=>t, en donde t = persona llega a la otra vereda. Afirmando p y q, lgicamente la persona llega a la otra vereda: p q => s p q s Al darse s entonces se da r y si se da r, entonces se da t. Por lo tanto la persona llega a la otra vereda. 7.4. ENCADENAMIENTO HACIA ADELANTE Y HACIA ATRS Este tipo de encadenamiento significa que vamos a partir del problema para encontrar una solucin, es decir vamos a partir de lo general para llegar a lo particular. Continuemos con la lectura de la seccin 7.5 Patrones de razonamiento en lgica proposicional, seccin Encadenamiento hacia adelante y hacia atrs del texto base, veremos el detalle necesario para que podamos comprender la teora y prctica de este tipo de encadenamiento De la lectura se obtiene las siguientes caractersticas para el encadenamiento hacia adelante y atrs: Empieza con los datos del problema y busca proposiciones para inferir la nueva informacin. Encadenamiento hacia adelante Se define en el mismo una estructura para el manejo de datos. Es necesario probar el sistema con el fin de identificar a las reglas vlidas.
50
SEGUNDO BIMESTRE
Se debe empezar por lo que se quiere demostrar. Encadenamiento hacia atrs Se deben buscar proposiciones que permitan llegar a una determinada conclusin. Se deben buscar las premisas correspondientes para llegar o demostrar una meta.
Con el fin de explicar de mejor manera el funcionamiento de estos algoritmos es necesario que realice la siguiente actividad recomendada.
ACTIVIDAD RECOMENDADA
Revise el ejercicio planteado en la unidad 7.5 Patrones de razonamiento en lgica proposicional, seccin Encadenamiento hacia adelante y hacia atrs del texto base. Luego, tomando en cuenta el ejercicio 7.2 del texto base plantee las proposiciones necesarias para resolver el problema de bsqueda de un estado OK para el mundo de wumpus, utilizando el encadenamiento hacia atrs.
7.4. BACKTRACKING En esta seccin describiremos como se puede utilizar tcnicas de programacin para hacer an ms fcil la bsqueda en rboles. Si con los mtodos anteriores solucionamos gran parte de la velocidad de respuesta de la bsqueda, con este algoritmo podemos an mejorarla ms.
Realizar una la lectura de la seccin 7.6: Inferencia proposicional efectiva, seccin del texto base, veremos el detalle necesario para comprender la teora y prctica para el algoritmo en estudio. De acuerdo a la lectura anterior el Backtracking se resume en lo siguiente: Es una tcnica general de resolucin de problemas, aplicable a optimizacin y juegos. Realiza una bsqueda exhaustiva y sistemtica en el espacio de soluciones. En cada momento el algoritmo se encontrar en un cierto nivel k, con una solucin parcial. Encuentra una solucin pero no necesariamente la ms optima.
BACKTRACKING
51
Con el fin de comprender de mejor manera a este algoritmo puede revisar el anexo 2, donde se desarrolla un problema tpico que se presenta cuando se trabaja con este tipo de algoritmos. 7.5 AGENTES BASADOS EN LGICA PROPOSICIONAL Finalmente hemos llegado al estudio de la ltima seccin, donde se estudiar la construccin de agentes utilizando lgica proposicional. Para conocer del tema es necesario:
Realizar la lectura de la seccin 7.7: Agentes basados en lgica 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 evalan directamente expresiones lgicas en forma de circuitos. Terminado el estudio de esta seccin, es importante que realice la siguiente actividad:
ACTIVIDAD RECOMENDADA
Realice un cuadro comparativo de los dos tipos de agentes que pueden ser construidos utilizando lgica proposicional.
Muy bien, con mucho xito hemos llegado a culminar el desarrollo de la asignatura, y para saber lo que ha logrado comprender en este segundo bimestre lo invitamos a desarrollar la siguiente autoevaluacin.
Autoevaluacin 6
A. Escriba una V o una F, segn sean verdaderos o falsos los siguientes enunciados ( ( ( ( ( ( ( ( ) ) ) ) ) ) ) ) Un agente lgico posee solamente proposiciones en su base de conocimiento. La lgica proposicional se clasifica en lgica de predicados La lgica proposicional tiene tautologias y negatividades La lgica proposicional tiene valores de incertidumbre Un agente lgico puede funcionar con elementos matemticos Un Patrn de razonamiento es un conjunto de reglas Un Patrn de razonamiento esta compuesto por reglas negativas Un Patrn de razonamiento puede ser utilizado siempre y cuando se bsque ampliar la base de conocimientos.
1. 2. 3. 4. 5. 6. 7. 8.
52
SEGUNDO BIMESTRE
9.
) )
El algoritmo de Backtracking puede ser representado utilizando lgica proposicional. El algoritmo de Backtracking mejora el tiempo de ejecucin de la bsqueda
10. ( B.
A continuacin se presentan problemas referentes a lo tratado en esta unidad. 11. Resuelva la siguiente tabla de verdad para las siguientes proposiciones y determine si la sentencia (p->q) V (p<->q), es vlida. P Q p->q p<->q (p->q) V (p<->q)
Verifique sus respuestas con las del solucionario que se encuentra al final de la presente gua didctica.
53
SOLUCIONARIO
Solucionario
AUTOEVALUACIN 1 1. 2. 3. 4. 5. V V F V V B 9. Definicin de trminos Agente: Se puede definir como un ente capaz de percibir su entorno, procesar tales percepciones y responder o actuar en su entorno por medio de actuadores. Funcin de agente: Descripcin matemtica que proyecta una percepcin dada en una accin. Programa de agente: Implementacin completa del agente que se ejecuta sobre su arquitectura. Racionalidad: Es utilizado para describir el comportamiento de los agentes inteligentes. Es una caracterstica que indica una eleccin de ser correcta, especficamente, de tender a maximizar un resultado esperado. Autonoma: Significa que el agente debe apoyarse ms en sus percepciones y saber aprender a determinar cmo tiene que compensar el conocimiento incompleto o parcial. Agente reactivo: Es aquel que selecciona las acciones en base a las percepciones actuales ignorando las percepciones histricas. Agente basado en modelo: Son aquellos agentes que utilizan un modelo interno para almacenar informacin sobre el estado del mundo. Agente basado en objetivos: Utilizan algn tipo de informacin que describa las situaciones que son deseables para el agente, es decir sobre su meta. Agente basado en utilidad: Son aquellos que utilizan una funcin de utilidad para calcular sus preferencias entre los estados del mundo, con el objeto de seleccionar la accin que le permita alcanzar la mayor utilidad esperada. Agente que aprende: Son aquellos que utilizan mecanismos de aprendizaje para mejorar su eficacia. 6. 7. 8. 9. F V V F A 1. 2. 3. 4. F V V F 5. 6. 7. 8. V V V F AUTOEVALUACIN 2
10. V
54
SOLUCIONARIO
10. Diferencia La diferencia entre la medida de rendimiento y la funcin utilidad radica principalmente en que la medida de rendimiento permite determinar el xito del agente, es decir si la secuencia de acciones que genera el agente en el medio es la deseada, entonces el agente habr actuado correctamente, en cambio la funcin de utilidad considera dos tipos de casos: primero cuando hay objetivos conflictos y slo es posible alcanzar algunos de ellos, la funcin de utilidad determina el equilibrio adecuado. Segundo cuando hay varios objetivos y ninguno de ellos se puede alcanzar con certeza, la utilidad proporciona un mecanismo para ponderar la probabilidad de xito en funcin de la importancia de los objetivos. AUTOEVALUACIN 3 1. 2. 3. 4. B 9. Mapa conceptual V F F V 5. 6. 7. 8. V V F V A
10. La respuesta depende del problema que se hay planteado. AUTOEVALUACIN 4 A. 1. 2. 3. 4. F F F V 5. 6. 7. 8. V V F V A 1. 2. 3. 4. V V V V 5. 6. 7. 8. V V V v AUTOEVALUACIN 5
55
SOLUCIONARIO
B 9.
AUTOEVALUACIN 7
6. 7. 8. 9.
V F V V
10. V
p<->q V F F V
(p->q) V (p<->q) V F V V
56
ANEXOS
ANEXOS
ANEXO 1: Solucin al ejercicio 7.2 del texto base Suponga que el agente ha avanzado hasta el instante que se muestra en la figura 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. (Debera 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 ningn 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 figura siguiente) son: Percepciones (hedor, ok, brisa). El agente lgicamente no sabe de cual casilla le viene que percepcin. El primer modelo vlido para la Base de Conocimientos (BC) sera:
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)
57
ANEXOS
Y as por el estilo. Para = << No hay ningn hoyo en la casilla [2,2]>>, se tiene que como vlido a la Figura 2 a). Mientras que para = << Hay un wumpus en la casilla [1,3]>> seran validos los modelos:
Figura 3. Modelo para = << Hay un wumpus en la casilla [1,3]>> Las configuraciones que se pueden observar tanto en la Figura 2 como en la Figura 3 antes mostradas, se constituyen en la Base de Conocimientos del juego.
58
ANEXOS
Anexo 2 Ejercicio. Solucin a un problema con el algoritmo Backtracking Se dispone de un tablero rectangular, por ejemplo el tablero de ajedrez, y de un caballo, que se mueve segn las reglas de este juego. El objetivo es encontrar una manera de recorrer todo el tablero partiendo de una casilla determinada, de tal forma que el caballo pase una sola vez por cada casilla. Una variante es obligar al caballo a volver a la posicin de partida en el ltimo movimiento. Por ltimo se estudiar como encontrar todas las soluciones posibles partiendo de una misma casilla3. Par tiendo del hecho de que el caballo puede mover como mximo 8 posiciones diferentes, la solucin consiste en pasar a una funcin los posibles movimientos de caballo y descartar aquellos que caen fuera del tablero junto con las casillas ya visitadas. Si una funcin se queda sin posibles siguientes movimientos, el asunto es volver a la posicin anterior y probar la siguiente posible. 1* 10 15 20 23 16 5 22 9 14 11 2* 19 24 21 Tabla 1. Movimientos del caballo En la Tabla 1. Si se va siguiendo la numeracin se puede encontrar las distintas posiciones vlidas para el movimiento del caballo en el tablero. Por ejemplo uno de los movimientos seria de 1* hasta 2* en la Tabla 1 (Ver sombreado). Para obtener el resto de movimientos, la heurstica que se utilizara es la siguiente: se debe visitar primero las casillas con menos movimientos posibles. 1* 10 15 20 23 16 5 22 9 14 11 2* 19 24 21 6 17 4 13 8 3 12 7 18 25
6
17 4* 13 8
3* 12 7 18 25
Tabla 2. Movimientos del caballo con Backtracking En la Tabla anterior se observan los movimientos vlidos para el caballo (Ver sombreado). Cuando estamos en 3* y pasamos a 4* ya tenemos un inconveniente que es que ya visitamos la casilla 6,
59
ANEXOS
por lo que ese movimiento no es vlido y tenemos que regresar a 3*. En la cual ya no tenemos un movimiento vlido por lo que habra que regresar a 2* y as por el estilo. El objetivo es ir probando el resto de movimientos con el fin de lograr un nmero adecuado para visitar todas las casillas.
GZHF/mfnb/2011-06-21/60
60