1.- Suponga que tiene el siguiente conjunto de reglas. Conteste la pregunta: ¿Debería comprar una casa? R1: IF inflación es baja THEN tasa_interes es baja ELSE tasa_interes es alta R2: IF tasa_interes es alta THEN precio_viviendas es alta R3: IF precio_viviendas es alta THEN no_comprar_casa ELSE comprar_casa *R4: IF tasa_interes es alta THEN inflación es alta *R5: IF tasa_interes es baja THEN precio_vivienda es baja. a) Ejecute un encadenamiento hacia atrás con el dato de la inflación alta. Anote las reglas y las inferencias intermedias obtenidas. Hecho: inflacion es alta Objetivo: comprar_casa 1- Por Regla 3 se infiere precio_viviendas es alta. 2- Por Regla 2 se infiere tasa_interes es alta. 3- Por Regla 1 podemos decir que inflacion es alta, Con esto llegamos al hecho por lo tanto el objetivo comprar_casa es falso. b) Ejecute un encadenamiento hacia adelante con el dato de la inflación baja. Anote las reglas y las inferencias intermedias obtenidas. Hecho: inflacion es baja Objetivo: comprar_casa 1- Se tiene que tasa_interes es baja por Regla 1. 2- Se tiene que precio_viviendas es baja apartir de la Regla 2 creando Regla 5. 3- Por Regla 3 podemos afirmar que debiera comprar una casa. c) Para los incisos a y b, dibuje una tabla donde donde se muestren las reglas evaluadas (en orden) así como los hechos o inferencias obtenidas: a) Reglas hechos evaluadas Regla 3 Inflación_alta
Regla 2
Tasa_interes_alta
Regla 1
Precio_vivienda_alta Precio_vivienda_alt a Comprar_casa
b) Reglas hechos evaluadas Regla 1 Inflación_baja
Regla 2
Tasa_interes_baja
Regla 3
Precio_vivienda_baja Comprar_casa
2.- Suponga que tiene el siguiente sistema experto: R1: IF tasa_interes cae THEN precio_accion sube R2: IF tasa_interes sube THEN precio_accion baja R3: IF tasa_interes sin_cambio THEN precio_accion sin_cambio R4: IF dólar sube THEN tasa_interes cae R5: IF dólar cae THEN tasa_interes sube R6: IF precio_accion baja THEN comprar_acciones a) Un cliente ha observado que el tipo de cambio está cayendo (dólar cae). Desea saber si comprar acciones. Ejecute un encadenamiento hacia atrás que ofrezca una sugerencia.
Hecho: dólar cae Objetivo: saber si comprar acciones 1- Por Regla 6 se infiere a comprar_acciones 2- Por Regla 2 se infiere precio_acciones baja. 3- Por Regla 1 se refiere que tasa_interes sube, 4- Por Regla 5 podemos decir que si dólar cae entonces interés sube Con esto llegamos al hecho por lo tanto el objetivo comprar_casa es falso.
b) Un segundo cliente observa que las tasas de interés se mantienen sin cambio y pide una sugerencia sobre inversiones de acciones. Ejecute un encadenamiento hacia adelante para ofrecerle una sugerencia.
Hecho: tasa de intereses se mantiene Objetivo: sugerencia sobre inversión de acciones 1- Por Regla 3 se infiere a tasa_ interés sin_cambio 2- Por Regla 3 podemos decir que precio_accion sin_cambio Con esto llegamos al hecho por lo tanto el objetivo sugerencia de sobre inversión de acciones seria cierto
3.- Se cuenta con un sistema experto para evaluar la habilidades personales del aspirante a un empleo: R1: IF aspirante_contesta_firmemente THEN aspirante_tiene_facilidad_palabra R2: IF aspirante_parece_honesto THEN aspirante_contesta_firmemente R3: IF aspirante_declara_habilidades_no_comprobables THEN aspirante_no_parece_honesto ELSE aspirante_parece_honesto R4: IF aspirante_dispuesto_conversar_con_ejecutivo THEN aspirante_capaz_conversar_con_ejecutivo R5: IF aspirante_capaz_conversar_con_ejecutivo AND aspirante_tiene_facilidad_palabra THEN aspirante_amable R6: IF aspirante_amable THEN aspirante_con_habilidades_interpersonales R7: IF aspirante_con_habilidades_interpersonales THEN aspirante_con_empleo a) Suponga que el aspirante no declara habilidades no comprobables y está dispuesto a conversar con un ejecutivo. Ejecute un encadenamiento hacia delante para determinar si se le ofrece el empleo
Hecho: no declara habilidades no comprobables y esta dispuesto a conversar con un ejecutivo Objetivo: determinar si se le ofrece empleo 1- Por Regla 3 se infiere a que el aspirante_declara_habilidades_no_comporbables 2- Por Regla 2 se infiere parece_honesto entonces aspirante_contesta_firmemente . 3- Por Regla 1 se refiere que aspirante_tiene_facilidad_palabra 4- Por Regla 5 se refiere que aspirante_capaz_conversar_con_ejecutivo_ AND aspirante_tiene_facilidad_palabra then aspirante_amable 5- Por Regla 6 se refiere que aspirante_con_habilidad_interpersonales
6- Por Regla 7 podemos decir que si aspirante_con_habilidad_interpersonales entonces aspirante_con_empleo Con este hecho por lo tanto el objetivo de determinar si se le ofrece empleo es verdadero
b) Se sabe que el aspirante contesta firmemente. Ejecute un encadenamiento hacia atrás para ofrecerle una sugerencia.
Hecho: el aspirante contesta firmemente Objetivo: ofrecerle una sugerencia 1- Por Regla 2 se infiere a aspirante_parece_honesto THEN aspirante_contesta_firmemente
2- Por Regla 3 podemos decir que aspirante_declara_habilidades_no_comprobables THEN aspirante_no_parece_honesto ELSE aspirante_parece_honesto Con esto llegamos al hecho por lo tanto el objetivo de ofrecerle una sugerencia es que el aspirante_no_declara_habilidades_no_comprobables
c) Se detecta que el aspirante es capaz de establecer conversación con un ejecutivo y se sabe que el aspirante es honesto. ¿Tiene habilidades interpersonales? Justifique su respuesta con una búsqueda forward (hacia delante)
Hecho: el aspirante es capaz de establecer conversación con un ejecutivo Hecho: aspirante es honesto Objetivo: tiene habilidades interpersonales?? 1- Por Regla 2: se refiere a que si aspirante_parece_honesto entonces aspirante_contesta_firmemente 2- Por Regla 1: se refiere a que si aspirante_contesta_firmemente THEN aspirante_tiene_facilidad_palabra
3- Por Regla 5: se refiere a que si spirante_capaz_conversar_con_ejecutivo y aspirante_tiene_facilidad_palabra
entonces aspirante_amable 4- Por Regla 6 se refiere a que si aspirante_amable Entonces aspirante_con_habilidades_interpersonales
Con esto el objetivo de saber si el aspirante tiene habilidades interpersonales es verdadero, ya que las reglas anteriores asi lo demuestran.
4.- Se pretende resolver mediante un sistema basado en reglas el problema del juego del comecocos simplificado. Para ello se dispone de los siguientes tipos de hechos representados mediante patrones: (comecocos posX posY contador Vida ) Sólo existe un hecho de este tipo en cada instante en la Base de Hechos, para indicar la posición actual del comecocos (mediante los valores de sus coordenadas , e ), y los contadores del número de frutas que se ha comido () y el del número de vidas que le quedan antes de perder la partida (). (fantasma posX posY ) Existen tantos hechos de este tipo como fantasmas en el juego, e indican la posición en la que se encuentra en este momento el fantasma en cuestión (mediante los valores de sus coordenadas , e ). (fruta posX posY ) Existen tantos hechos de este tipo como frutas en el juego, e indican la posición en la que se encuentra en este momento la fruta en cuestión (mediante los valores de sus coordenadas , e ). Implementad las siguientes reglas: a) COMER: Esta regla controla si el comecocos se encuentra en la misma posición que una fruta. Si es así, permite comérsela, incrementando el contador de frutas que se ha comido el comecocos en 1, y eliminando dicha fruta del juego. b) MORIR: Esta regla controla si el comecocos se encuentra en la misma posición que un fantasma. En este caso, se decrementa en 1 el número de vidas del comecocos. c) GANAR: Esta regla controla cuando acaba de forma victoriosa el juego, porque el comecocos se ha comido 10 ó más frutas, y avisa al usuario de que ha ganado. d) GAMEOVER: Esta regla controla cuando acaba perdiendo el comecocos, porque ha consumido todas sus vidas, y avisa al us uario de que ha perdido. NOTA: Cuando el juego finaliza, bien sea por una victoria o por una derrota del comecocos, ya no pueden ser aplicables ninguna de las reglas.
If Ccpx = (x) and Ccpy = (y) then coordenadasccp = (x, y) If fapx = (a) and Fapy = (b) then coordenadasfap = (a, b) If Frupx = (x) and Frupy = (y) then coordenadasfrup = (x, y) If coordenadasccp = (x, y) and coordenadasfrup = (a, b) Then Accion = Comer If coordenadasccp = (x, y) and coordenadasfap = (a, b) Then Accion = Muere If Accion = Muerte Then Vidas = -1 If Accion = Comer Then contador = 1 If Contador = 1 and Accion = Comer If Accion = Comer Then contador = 2 If Contador = 2 and Accion = Comer If Accion = Comer Then contador = 3 If Contador = 3 and Accion = Comer If Accion = Comer Then contador = 4 If Contador = 4 and Accion = Comer If Accion = Comer Then contador = 5 If Contador = 5 and Accion = Comer If Accion = Comer Then contador = 6 If Contador = 6 and Accion = Comer If Accion = Comer Then contador = 7 If Contador = 7 and Accion = Comer If Accion = Comer Then contador = 8 If Contador = 8 and Accion = Comer If Accion = Comer Then contador = 9 If Contador = 9 and Accion = Comer If Accion = Comer Then contador = 10 If contador = 10 Then Accion = Ganar If Contador = +1 Then Frutas = -1 If Vidas = 3 Then Accion = Game Over
If Accion = Comer and Contador = +1 If Contador = +1 Then Frutas = -1 If contador = 10 Then Accion = Ganar If Accion = Muerte and Vidas = -1 If Contador = 10 Then Accion = Game Over If Accion = Game Over Then Mensaje = Ha perdido
5.-
En una planta industrial hay diez sensores numerados del 1 al 10. Cada sensor puede estar en un estado "correcto" o "incorrecto". a) Indicad cuál es la estructura de los hechos de la base de hechos de un SBR para controlar dichos sensores, y cuál sería su estado inicial suponiendo que todos los sensores tienen estado “correcto”.
b) Escribir una o más reglas que impriman en pantalla un mensaje si 3 o más sensores dan el mensaje "incorrecto". c) Realizad las modificaciones necesarias al resultado del apartado anterior para que sólo salga un único mensaje. 6.- Se desea especificar un Sistema de Producción que permita resolver el siguiente problema: "Un ascensorista debe subir de la Planta-0 a la Planta-5, sin paradas intermedias, a tres personas A, B y C, que están inicialmente en la Planta-0. Las dimensiones del ascensor sólo
permiten que el ascensorista pueda llevar cada vez a un pasajero. Asimismo, debido a factores protocolarios, A no debe quedarse con B, ni B con C, ni C quedarse a solas". Especificar, de la forma más adecuada posible: a) Estructura de la Base de Hechos, mediante patrones. b) Base de Hechos inicial. c) Base de Hechos objetivo. Responder a las siguientes cuestiones, de forma razonada: d) ¿Serías capaz de establecer las Reglas de Producción del sistema?. Si es así, especifica solo una de ellas, indicando (en su componente de comentario) su funcionalidad. e) ¿ Qué tipo de encadenamiento inferencial sería el apropiado?.
7. Supongamos un sencillo problema del mundo de bloques. Disponemos de una superficie plana sobre la que pueden colocarse los bloques. Existen 10 bloques cúbicos etiquetados con las letras A,B,C,D,E,F,G,H,I, y K. Todos los bloques son del mismo tamaño y pueden apilarse uno encima del otro de tal modo que sobre la superficie directa de un bloque puede existir a lo sumo otro bloque, formando así una pila con un máximo de N bloques. Hay un brazo de robot que puede manipular los bloques (sólo uno cada vez); las acciones que puede realizar este brazo son: DESAPILAR(A,B) Coge el bloque A en su posición actual encima del bloque B. El brazo debe estar vacío y el bloque A no debe tener ningún bloque encima de él. APILAR(A,B) Colocar el bloque A encima del bloque B. El brazo ya debe estar sosteniendo A, y la superficie de B debe estar despejada. COGER(A) Coger el bloque A de la mesa y sostenerlo. El brazo debe estar vacío y no debe haber nada encima del bloque A. DEJAR(A) Dejar el bloque A sobre la mesa. El braz o debe estar sosteniendo el bloque A. Para especificar las condiciones bajo las cuales puede realizarse una operación, así como los resultados de realizarla, dispondremos de los siguientes predicados: ENCIMA(A,B) El bloque A está encima del bloque B. ENMESA(A) El bloque A está encima de la mesa. LIBRE(A) No hay nada encima del bloque A. SOSTENER(A) El brazo está sosteniendo el bloque A. BRAZOVACIO El brazo no está sosteniendo nada. Diseñar un sistema de producción que determine la secuencia de acciones del brazo de robot para llegar a una configuración de bloques determinada partiendo de una configuración inicial. 8.- Especificar un Sistema de Producción que permita resolver el siguiente problema: "Un granjero quiere cruzar un río llevando consigo a una zorra, un ganso y un saco de trigo. Por desgracia, su bote es tan pequeño que solo puede transportar una de sus pertenencias en cada viaje. Ademas, la zorra, si no se le vigila, se come al ganso, y el ganso, si no se le cuida, se come el trigo. Así, el granjero no debe dejar a la zorra sola con el ganso o al ganso solo con el trigo." Especificar, para la definición del Sistema de Producción: a) Base de Hechos mediante patrones . b) Reglas de producción del sistema.
c) Base de Hechos inicial. d) Base de Hechos objetivo. Responder razonadamente a las siguientes cuestiones: e) Que tipo de encadenamiento inferencial sería el apropiado. Razonar la respuesta. f) Plantear, con una estrategia de control irrevocable, una posible función de escalada.
9.- Se tiene la siguiente base de hechos: Es_un (elefante_cirquense, elefante ) Tiene_parte (elefante, cabeza ) Tiene_parte (elefante, trompa ) Tiene_parte (cabeza, boca ) Es_un ( elefante, animal ) Tiene_parte (animal, corazón ) Es_un (elefante_cirquense, acróbata ) Tiene_parte (acróbata,disfraz) Es_un (disfraz, ropa) ¿Qué reglas sería necesario añadir para que el sistema pudiera contestar las siguientes preguntas? ¿Podemos decir que un elefante cirquense es un animal? ¿Tienen los elefantes cirquenses corazón? ¿Tienen boca los elefantes cirquenses? ¿Suelen llevar ropa los elefantes cirquenses?
Es_un(elefante_cirquense, animal). Tiene_parte (elefante_cirquense, corazón). Tiene_parte (elefante_cirquense, boca). Suelen_llevar(elefante_cirquense, ropa).