Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Compendio de ejercicios
10 de diciembre de 2020
1. Búsqueda en general 5
2. Minimax 9
3. Algoritmos genéticos 11
7. Teoría de Hajek 34
8. Lógica difusa 36
3
Parte I.
Razonamiento
4
1. Búsqueda en general
Problema 1. Juan quiere armar un rompecabezas. Él cuenta con un tablero en el que debe
colocar las chas y una foto de la imagen que debe corresponder con el rompecabezas armado.
El procedimiento que utiliza Juan para armar el tablero es completamente a ciegas. O sea, va
probando manualmente determinadas conguraciones al aadir piezas sin tener medida alguna de
si va por buen camino. Juan es un poco impaciente y quisiera terminar lo antes posible.
Ejercicio 1. De acuerdo a lo descrito anteriormente ¾cuál de las estrategias de búsqueda a ciegas
estudiadas cree usted que pueda efectuar Juan para armar su rompecabezas? Justique.
Ejercicio 2. Proponga una función heurstica para resolver el problema utilizando una de las
búsquedas tipo best-rst estudiadas.
Problema 2. Una distribuidora de leche desea conocer el camino más corto para realizar su
recorrido comenzando en la estación central A y terminando en la estación de re-abastecimiento
X.
En la siguiente tabla se muestra la relación de puntos intermedios y las conexiones entre dichos
puntos. Todas las conexiones listadas son unidireccionales.
5
Disciplina Inteligencia Computacional
Problema 3. Juan quiere construir un robot que utilice un algoritmo de búsqueda heurística
para determinar la secuencia de pasos que debe seguir en la construcción de formas utilizando
piezas lego. La operación de ensamblado supone un gasto de energía para el robot. Juan desea
que este gasto sea el mínimo posible. Además, cada pieza puede ser ensamblada solo con otras
especícas. En la siguiente tabla se listan por las las conguraciones posibles y, para cada una de
ellas, la energía que el robot gasta en pasar directamente a cada una de las otras conguraciones
por ejemplo la energía que se gasta en pasar directamente de la conguración A a la C es de
10 unidades. Una casilla con un guion () denota que no es posible pasar directamente de una
conguración a la otra por ejemplo, no es posible pasar directamente de la conguración
A a la D. En cada la se muestra, entre paréntesis, los valores de la función heurística para
cada conguración considerando como estado objetivo a F por ejemplo, el valor de la función
heurística para la conguración C es 2.
A B C D E F
A (9) 2 10 1
B (5) 5
C (2) 1 7
D (7)
E (9) 1 9
F (0) 4 5 2 1
Ejercicio 5. Escoja el algoritmo de búsqueda heurística más adecuado a ser usado por el robot.
Justique.
Ejercicio 6. Aplique el algoritmo seleccionado asumiendo como estado inicial la conguración
A y como estado objetivo la conguración F . Diga la secuencia de pasos a realizar por el robot
para este caso.
Ejercicio 7. ¾La función heurística dada es admisible? Justique.
Ejercicio 8. Si se utilizara uno de los algoritmos de búsqueda a ciegas estudiados, ¾cuál pro-
pondría teniendo en cuenta complejidad, completitud y optimalidad? Justique.
Problema 4. Juan quiere recorrer un laberinto. Él comienza en la entrada A y debe terminar en
la salida F . Los senderos en el laberinto son unidireccionales. Esto signica que si se llega desde
A a B por un sendero no se puede regresar a A desde B por el mismo sendero. Juan consume un
tiempo de caminata determinado por cada sendero de acuerdo a la longitud del mismo. Además,
antes de entrar en el laberinto, a Juan le dan una medida del tiempo que tardará en salir desde
cada lugar del mismo. Entre cada par de lugares hay, a lo sumo, un sendero unidireccional que
los conecta directamente.
En la siguiente tabla se muestra la relación de lugares y las conexiones unidireccionales entre
los mismos.
6
Disciplina Inteligencia Computacional
Ejercicio 9. Escoja el algoritmo de búsqueda heurística más adecuado para encontrar el camino
para salir lo más rápido posible del laberinto. Justique su elección.
Ejercicio 10. Aplique el algoritmo seleccionado para determinar el camino de salida más rápido.
Especique la secuencia de lugares visitados para llegar del origen A al destino F .
Ejercicio 11. De acuerdo a la información del problema ¾podemos decir, sin necesidad de
ejecutar el algoritmo escogido, que se encontrará el camino para salir lo más rápido posible del
laberinto luego de aplicar el algoritmo? Justique.
Problema 5. Un comerciante recorre varias ciudades en una ruta elegida previamente. El co-
merciante posee un conjunto de artículos antes de comenzar su recorrido y en cada ciudad hay
un conjunto de artículos a la venta. Por cada ciudad el comerciante o compra o vende, o sea, no
puede realizar las dos acciones al mismo tiempo en la misma ciudad en un mismo momento en el
recorrido. El costo de cada artículo puede no ser el mismo en diferentes ciudades. El comerciante
puede comprar aunque no tenga dinero, lo que genera una deuda que puede saldar si vende lo
suciente. Cada vez que el comerciante vende y tiene deuda, el dinero recaudado es utilizado para
saldar dicha deuda (completamente si el dinero es suciente o parte de esta en caso contrario).
Cada artículo que el comerciante adquiere posee un peso. Durante el recorrido, la suma total de
los pesos de los artículos comprados no puede sobrepasar un límite determinado. El objetivo del
comerciante es ganar la mayor cantidad de dinero al nal del recorrido pero minimizando el peso
de los artículos adquiridos.
Ejercicio 12 (+). Proponga un algoritmo de búsqueda informada para lograr el objetivo del
comerciante. Justique su elección.
Ejercicio 13. ¾El algoritmo de búsqueda seleccionado es completo? Justique.
Ejercicio 14. ¾Puede utilizarse un algoritmo genético para este problema? Justique.
7
Disciplina Inteligencia Computacional
Problema 6. Juan quiere graduarse de un diplomado en Inteligencia Articial. Como parte del
mismo se oferta un conjunto de cursos, cada uno de los cuales aporta una cantidad determinada
de créditos. Mientras mayor es el crédito de un curso mayor es la complejidad del mismo. Cada
curso se rige por una planicación de tal forma que algunos cursos son requisito para recibir otros.
Juan solo puede recibir un curso al mismo tiempo. Para que pueda graduarse del diplomado es
necesario que acumule como mínimo 5 créditos. Juan es impaciente y quisiera graduarse lo más
rápido posible.
A continuación se muestra una tabla donde la celda i, j se marca con una X si el curso j puede
ser recibido luego del curso i. Por ejemplo, luego del curso 2 pueden recibirse los cursos 1 y 4. En
cada la, entre paréntesis se muestra la cantidad de créditos que aporta el curso y la duración
del mismo en días. Por ejemplo el curso 4, aporta 2 créditos y tiene una duración de 15 días.
C1 C2 C3 C4 C5
C1 (1; 5) X X
C2 (3; 25) X X
C3 (1; 4) X X
C4 (2; 15) X X
C5 (1; 6) X X
Ejercicio 15 (+). Modele el problema como uno de optimización para ser resuelto utilizando
una búsqueda local.
Ejercicio 16 (*). Modele el problema para ser resuelto utilizando A*.
Ejercicio 17 (+). Genere el espacio de búsqueda utilizando A* hasta la sexta iteración.
8
2. Minimax
Problema 7. Dado los siguientes dos árboles de juego aplique la estrategia minimax con poda
alfa-beta. Asuma que los nodos son generados de izquierda a derecha y el jugador en turno desea
minimizar.
Ejercicio 18.
3 8 3 2 1 3 1 2 3 6 7 7 4
Ejercicio 19.
10 5 4 7 2 4 2 6 7 5 8 1 2 7 6 5
Ejercicio 20. Aplique el algoritmo minimax con poda alfa-beta considerando el siguiente árbol
de juego. Asuma que los nodos son generados de izquierda a derecha y el jugador en turno desea
maximizar. Muestre el espacio de búsqueda generado.
Ejercicio 21. En el árbol de variantes de un juego de mesa creado por un grupo de estudiantes
de la Universidad de Oriente, se utiliza una función de evaluación estática para medir la calidad
9
Disciplina Inteligencia Computacional
de las posiciones surgidas. En una de las posiciones obtenidas en el juego, se utilizó un árbol de
altura 4 para determinar la jugada a realizar por el jugador en turno, que maximiza la función
estática a su favor. El factor de ramicación en cada posición es 2. A continuación se presenta
la evaluación estática de los nodos terminales de dicho árbol:
2 4 3 7 4 5 8 6 5 7 6 10 5 9 4 1
Ejecute el algoritmo minimax con poda alfa-beta a partir de la situación planteada. Señale las
podas si hay. Señale la mejor variante que analiza el jugador en turno.
Ejercicio 22. Aplique la estrategia minimax con poda alfa-beta considerando el siguiente árbol
de juego. Asuma que los nodos son generados de izquierda a derecha y el jugador en turno desea
maximizar.
Diga cuál sería la jugada a efectuar por el jugador en turno. Señale en el árbol de juego los
nodos que no se generaron durante el proceso de búsqueda.
A B C
3 4 3 2 1 3 5 7 5 6 7 4 5
10
3. Algoritmos genéticos
Problema 8. Juan quiere comprar en la panadería que queda al frente de su casa. En este
establecimiento se venden diferentes variedades de productos confeccionados con harina. Cada
producto tiene un precio que no siempre está acorde a la calidad del mismo. O sea, pueden
encontrarse productos caros y de mala calidad. Por cada producto se conoce la calidad (medida
en una escala del 1 al 10) y el precio (entre 1 y 25 CUP). Juan necesita decidir qué productos
comprar de tal forma que se minimice el gasto total y se maximice la calidad total.
Determine y describa poniendo un ejemplo los siguientes elementos a utilizar en un algoritmo
genético para determinar la mejor distribución de n cajas en un camión determinado.
Ejercicio 23. Codicación. Proponga una población inicial de 4 individuos.
Ejercicio 24. Función de aptitud.
Ejercicio 25. Operador de cruzamiento.
Ejercicio 26. Operador de mutación.
Problema 9. Juan quiere armar un robot humanoide de juguete. El robot se compone de cabeza,
torso y extremidades superiores e inferiores (vienen en pares). Existen varias piezas especícas
para cada una de estas partes, pero cada una tiene un costo. Juan solo debe elegir la cabeza, el
torso y las extremidades para armar su robot, pero quiere que esto le cueste la menor cantidad
de dinero.
Proponga los siguientes elementos a utilizar en un algoritmo genético para resolver el problema.
Ejercicio 27. Codicación.
Ejercicio 28. Función de aptitud.
Ejercicio 29. Operador de cruzamiento.
Ejercicio 30. Operador de mutación.
Problema 10. En una granja donde se cosecha mango se desea construir un sistema que deter-
mine la mejor manera de distribuir el producto en los camiones que los transporta. Conociéndose
la calidad y el peso de cada caja, se desea que cada camión contenga los mangos de la mayor
calidad posible y que el peso total sea exactamente de T unidades por cada camión.
Proponga los siguientes elementos a utilizar en un algoritmo genético para determinar la mejor
distribución de n cajas en un camión determinado.
Ejercicio 31. Codicación.
Ejercicio 32 (+). Función de aptitud.
11
Disciplina Inteligencia Computacional
Problema 11. Juan quiere comprar en la dulcería que queda al frente de su casa. En este esta-
blecimiento se venden diferentes variedades de dulces y conturas. Juan desea guardar algunos
de los productos para ir consumiéndolos poco a poco. Cada producto tiene un precio que no
siempre está acorde a la durabilidad del mismo. O sea, pueden encontrarse productos caros y de
poca durabilidad. Por cada producto se conoce la durabilidad (en días) y el precio (en CUP).
Juan necesita decidir qué productos comprar de tal forma que se minimice el gasto total y se
maximice la durabilidad total. Juan solo tiene espacio para llevar m productos de n disponibles
a la venta en el establecimiento.
Proponga los siguientes elementos a utilizar en un algoritmo genético para determinar la mejor
distribución de n cajas en un camión determinado.
Ejercicio 33. Codicación.
Ejercicio 34 (*). Función de aptitud.
Ejercicio 35. Operador de cruzamiento.
Ejercicio 36. Operador de mutación.
Problema 12. Un comerciante recorre n ciudades en una ruta elegida previamente. El vendedor
cuenta con n productos y vende un producto por ciudad. Cada producto tiene un precio diferente
por cada ciudad. Sin embargo, cada producto que él transporta tiene un peso determinado, lo
que lo hace más lento para trasladarse de una ciudad a otra. O sea, el tiempo que se tarda el
comerciante en viajar de una ciudad A a otra B es proporcional a la multiplicación del peso que
tenía en la ciudad A (luego de vender en dicha ciudad) con la distancia entre las ciudades A y
B . El objetivo del comerciante es realizar el viaje lo más rápido posible de tal manera que se
maximice la cantidad de dinero recaudado.
Proponga los siguientes elementos a utilizar en un algoritmo genético para resolver el problema.
Ejercicio 37. Codicación.
Ejercicio 38 (*). Función de aptitud.
Ejercicio 39. Operador de cruzamiento.
Ejercicio 40. Operador de mutación.
12
Parte II.
Representación del conocimiento
13
4. Formas de representación del
conocimiento
Problema 13. En un centro de investigación se está comenzando un nuevo proyecto de inves-
tigación sobre el sistema cardiovascular. Se pretende realizar un análisis a fondo de los vasos
sanguíneos a partir de varias de las características que estos presentan, las cuales son el tipo
de vaso sanguíneo (arteria, vena, capilar), el tipo de pared (muscular, brosa), el oxígeno que
transporta (rico, pobre), la presión mínima (entre 50 y 100) y la presión máxima (entre 80 y 200).
Además se conoce que la presión media se obtiene a partir del promedio de los valores máximo
y mínimo de presión.
Ejercicio 41. Seleccione la forma de representación del conocimiento más adecuada, de acuerdo
a la facilidad del modelado, para representar el conocimiento del texto del problema. Justique
su respuesta.
Ejercicio 42. Represente los datos del texto utilizando la FRC escogida en el ejercicio anterior.
Problema 14. El sistema cardiovascular tiene como función permitir la circulación continua
de la sangre; forman parte del mismo el corazón y los vasos sanguíneos. Tanto las venas, los
capilares como las arterias son vasos sanguíneos. Las arterias tienen paredes musculares y la
sangre que transporta es rica en oxígeno. Las arterias pueden ser pequeñas o grandes. Estas
últimas se evidencian en la aorta, la arteria branquial izquierda y la arteria pulmonar izquierda.
Esta última, a excepción de las demás, transporta sangre pobre en oxígeno.
Ejercicio 43. Se desea representar el conocimiento antes expuesto, para ello seleccione la forma
de representación del conocimiento más adecuada. Justique su selección.
Ejercicio 44. Muestre cómo quedaría el modelo utilizando la FRC escogida en el ejercicio
anterior.
Problema 15. El hidrodeslizador es una embarcación pequeña que tiene fondo plano y hélice
de aviación. Su tamaño oscila desde 3m con capacidad de un pasajero, hasta 7m de largo con
capacidad para 26 pasajeros. Presenta timones verticales y el motor puede ser tanto de aviación
como automotriz.
Ejercicio 45. Escoja una FRC para almacenar el conocimiento que se expone en el texto y
explique la razón de su selección.
Ejercicio 46. Represente el conocimiento descrito utilizando la FRC seleccionada.
Problema 16. Python es un lenguaje de programación interpretado que permite la utilización
de características de varios paradigmas de programación entre los que se encuentran la progra-
mación estructurada, la programación orientada a objetos y la programación funcional por lo
que se dice que soporta estos paradigmas. Python permite la utilización directa de bibliotecas
propias de C, el cual es un lenguaje de programación compilado. Python es utilizado, general-
mente, para la construcción de aplicaciones web y aplicaciones de escritorio. Esto lo diferencia
de C que se utiliza, mayormente, para la construcción del núcleo de sistemas operativos.
14
Disciplina Inteligencia Computacional
Ejercicio 47. De las formas de representación del conocimiento (FRC) estudiadas ¾cuál es la
más adecuada para representar el conocimiento expuesto en el texto anterior? ¾Por qué?
Ejercicio 48. Represente el conocimiento que alberga la información anterior utilizando la FRC
seleccionada en el ejercicio anterior.
Problema 17. En un programa concurrente se especican unidades de ejecución y la sincroni-
zación a realizar entre dichas unidades. Dicha sincronización se realiza a partir de mecanismos de
sincronización. Los mecanismos de sincronización pueden ser de bajo nivel, como por ejemplo los
semáforos y barreras, o también pueden ser de alto nivel como los monitores y las expresiones de
ruta. Las expresiones de ruta se diferencian de los monitores en que las primeras utilizan un enfo-
que de programación declarativo, mientras que los segundos utilizan un enfoque de programación
imperativo. Un ejemplo de expresión de ruta es:
path {read}, write end
Ejercicio 49. Escoja la FRC más adecuada para representar el conocimiento del texto. Justi-
que.
Ejercicio 50. Represente el conocimiento del texto utilizando la FRC escogida en el ejercicio
anterior.
Problema 18. Docker is used to run software packages called "containers". Containers are
isolated from each other and bundle their own tools, libraries and conguration les. Containers
are created from "images" that specify their precise contents. Custom images are often created
by combining and modifying standard images downloaded from public repositories.
Ejercicio 51 (+). Escoja la FRC más adecuada para representar el conocimiento del texto.
Justique.
Ejercicio 52 (*). Utilice la FRC escogida para construir una representación del conocimiento
del texto del problema.
Problema 19. Se desean realizar eventos de exposición cientíca y se quiere construir un sistema
que permita efectuar inferencias sobre los datos almacenados de dichos eventos. Se debe poder
almacenar información acerca de las presentaciones que se realizarán, las cuales serán artículos
aceptados y conferencias invitadas. Las conferencias invitadas tienen asociada una duración en
horas (debe ser de 1 a 4) mientras que los artículos tienen asociada una cantidad de referencias
(deben ser al menos 10) y una cantidad de páginas (deben ser de 10 a 15). De cada una de estas
presentaciones se desea poder almacenar su título, un identicador numérico único asignado
automáticamente, el(los) autor(es) y si está conrmada su presentación en el evento (el autor
debe conrmar explícitamente, si no se considera como no conrmado por defecto). Se desea
también almacenar información de los diferentes autores con datos como nombre, apellidos,
universidad o centro donde trabajan y cantidad de artículos aceptados que tiene en todos los
eventos en los que se presentará. Por otro lado se debe mantener una lista de las personas
inscritas, indicando su nombre, apellidos y si es estudiante o no. En el caso de ser estudiante se
deberá guardar información acerca de la universidad donde está estudiando. Todos los autores
deben estar inscritos. Los estudiantes pueden ser autores. No se permite presentar un trabajo con
el mismo título en varios eventos, aunque tengan diferentes autores. Cuando un autor conrma
que va a presentarse en un evento determinado todas sus presentaciones son automáticamente
conrmadas.
15
Disciplina Inteligencia Computacional
Ejercicio 53 (+). Escoja la forma de representación del conocimiento (FRC) más adecuada
para este caso. Justique.
Ejercicio 54 (*). Utilice la FRC elegida para confeccionar una representación de lo descrito en
el texto.
16
5. Representación y razonamiento basado en
casos
Problema 20. Un equipo de construcción de robots autónomos quiere que su próximo producto
detecte las características del entorno y escoja una estrategia de locomoción especíca en tiempo
real. Para esto se propone el diseño de un sistema basado en casos que determine la estrategia
a partir de la semejanza parcial de la inclinación del terreno (empinado, llano, irregular), la
composición del terreno (rocoso, arenoso, tierra común, pavimento) y la velocidad del viento
(de 0 a 50 km/h) de implementaciones anteriores almacenadas en una base de casos tabular. A
continuación se muestra un extracto de la base de casos.
Inclinación del terreno Composición del terreno Velocidad del viento Estrategia
Empinado Rocoso 12 E3
Llano Arenoso 2 E2
Irregular Tierra común 5 E2
Llano Pavimento 21 E1
Empinado Rocoso 35 E1
17
Disciplina Inteligencia Computacional
18
Disciplina Inteligencia Computacional
Ejercicio 65. Proponga una función de semejanza para los casos.
Ejercicio 66. Determine el valor del pronóstico del nivel de aceptación si se considera que en
el caso de POP los valores para los rasgos predictores están
determinados por la tupla
Filosofía y sociedad , Inglés , 5 , 7, Melodía acompañada en correspondencia con el orden dado
en la tabla.
Problema 23. La empresa productora de cine CineMás, quiere lanzar al mercado su más nueva
producción ?La más grande?. Esta dispone de un registro de las ganancias (mucha, poca, media)
que obtuvo con otras producciones en el mismo mercado en dependencia del genero (drama,
comedia, terror, acción), la duración (corta, larga o muy larga), el nivel de promoción previa
(entre 0 y 10) y el porciento del presupuesto asignado (entre 0 y 100) de cada producción. Con
esta información, de la cual se muestra una porción en la tabla siguiente, se desea utilizar un
sistema basado en casos para predecir la ganancia de la nueva producción de la empresa.
19
Disciplina Inteligencia Computacional
Porciento
No. de desarro- Porciento Porciento
lladores de de artistas de jóvenes Nivel de vida Anidad
software
1 50 30 70 Bueno Juegos
2 90 40 40 Regular Desarrollo de software
3 50 70 40 Bueno Multimedia
4 30 40 20 Regular Uso general
5 60 30 40 Malo Uso general
La empresa desea construir un sistema basado en casos que utilice recuperación por semejanza
parcial sin adaptación donde se utilice la información de la tabla anterior.
Ejercicio 71. Determine tipo y dominio de cada rasgo predictor.
Ejercicio 72 (+). Proponga las funciones de semejanza para cada rasgo predictor.
Ejercicio 73 (+). Proponga una función de semejanza de los casos si se conoce que el porciento
de desarrolladores y de artistas juntos son la mitad de importantes que el porciento de jóvenes y
la importancia de este es la tercera parte de la importancia del nivel de vida.
Ejercicio 74 (+). ¾Cuál sería la anidad predicha por el sistema basado en casos en un mercado
donde el 20 porciento son jóvenes, el 50 son desarrolladores y el 40 son artistas?
Ejercicio 75. Si los atributos del problema fueran los mismos a considerar en un problema de
clasicación con KNN, qué variante de las estudiadas propondría si se sabe que se tiene como
inconveniente que se dispone de un número enorme de instancias en la base de casos. ¾Por qué?
Ejercicio 76 (*). Dé una cota superior asintótica de la complejidad temporal para el caso peor
del algoritmo propuesto en el ejercicio anterior, para clasicar p instancias. Suponga que no se
utiliza paralelismo y que la base de casos se recorre linealmente sin ayuda de ninguna estructura
de datos especial. Explique su propuesta y compárela con el KNN clásico.
20
6. Representación lógica. Prolog
6.1. Elementos básicos
21
Disciplina Inteligencia Computacional
Ejercicio 85. Construya el árbol SLD para el objetivo anterior.
Ejercicio 86. ?- s(u, X).
Ejercicio 87. Construya el árbol SLD para el objetivo anterior.
Ejercicio 88. ?- s(p, j).
Ejercicio 89. Construya el árbol SLD para el objetivo anterior.
Problema 27. Dada la siguiente base de conocimiento.
1 e (3 , 6 , 9).
2 e (3 , 4 , 7).
3 e (2 , 4 , 6).
4 e (5 , 6 , 11).
5 e (1 , 4 , 5).
6 e (4 , 3 , 8).
7 p ([] , B ).
8 p ([ A| L], B) : - e(A , B , C ), C is A + B , !, p(L , B ).
9 p ([ A| L], B) : - fail .
22
Disciplina Inteligencia Computacional
Ejercicio 99. ?- p(X, Y, Z), !, p(Z, _, X).
Ejercicio 100. ?- r([c, a, 2, 3], R).
Ejercicio 102. Describa con sus palabras bajo qué condiciones el predicado y/2 falla.
Ejercicio 103. Modique el predicado y/2 para que devuelva en un tercer parámetro la cantidad
de veces que se ha llamado a sí mismo de manera recursiva.
Escriba las respuestas que daría Prolog a las siguientes preguntas.
Ejercicio 104. ?- y(3, A).
Ejercicio 105. ?- y(4, A), y(A, B).
Ejercicio 106. ?- y(A, 6); y(A, 4).
Problema 30. Se tiene una base de conocimiento con hechos de aridad 2 que representan los
pares ordenados de relaciones binarias. A continuación se muestra un extracto de dicha base de
conocimiento, donde se pueden observar algunos pares ordenados de las relaciones con nombres
f y g.
1 f(a , c ).
2 f(a , b ).
3 f(b , e ).
4 f(c , d ).
5 g (2 , 4).
6 g (3 , 9).
7 h (4 , 16).
8 h (9 , 81).
23
Disciplina Inteligencia Computacional
Ejercicio 107 (+). Confeccione un predicado function(N ) para vericar que la relación con
nombre N es una función.
Con la base de conocimiento dada en el problema y los siguientes 2 objetivos, diga la respuesta
que da Prolog y confeccione el árbol SLD.
Ejercicio 108 (+). ?- function(f).
Ejercicio 109 (+). ?- function(g).
Ejercicio 110 (+). Confeccione un predicado inverse/0 para listar por la consola los pares
ordenados de la inversa de la relación cuyo nombre es leído por consola. Los pares ordenados
deben mostrarse uno por línea sin ningún mensaje adicional excepto, y opcionalmente, la palabra
true al nal de la salida.
Ejercicio 111 (*). Confeccione un predicado inverse(N, L) para devolver en L la lista de los
pares ordenados de la inversa de la relación con nombre N .
Ejercicio 112 (+). Confeccione un predicado composite/0 para listar por la consola los pares
ordenados de la relación compuesta N ◦ N 1, donde N y N 1 son leídos por consola. Si alguna de
las relaciones a componer no es una función, el predicado debe fallar. Los pares ordenados deben
mostrarse uno por línea sin ningún mensaje adicional excepto, y opcionalmente, la palabra true
al nal de la salida.
Ejercicio 113 (*). Confeccione un predicado composite(N, N 1, L) para devolver en L la lista
de los pares ordenados de la relación compuesta N ◦ N 1.
6.2. Listas
Ejercicio 114. Implemente el predicado dif erencia(+B, +A, ?R) para hallar la diferencia entre
las listas A y B .
Ejemplo:
?- diferencia ([2 ,3 ,5 ,7] , [7 ,0 ,6 ,4] , L ).
L = [ -5 , 3 , -1 , 3].
Ejercicio 115. Implemente el predicado preg(+A, +B, +N, ?R) que devuelva en R la primera
posición de N en la lista diferencia entre las listas A y B si las mismas poseen la misma longitud.
Si las listas no poseen la misma longitud, entonces se debe escribir por consola el mensaje Las
24
Disciplina Inteligencia Computacional
listas no poseen igual longitud y luego emitir un fallo. Asuma que N siempre se encuentra
dentro de la lista diferencia.
Utilice el predicado de corte en la resolución del ejercicio. Considere que las posiciones de los
elementos de una lista comienzan a enumerarse desde 1.
Ejemplo:
?- preg ([2 ,3 ,5 ,7] , [7 ,0 ,6 ,4] , 3, R ).
R = 2.
a) ¾Qué tipo de corte(s) utilizó en su solución? Diga por qué lo(s) clasica de esa manera.
Problema 31. Considere que la lista cota superior entre dos listas, de igual longitud k, X =
[x1 , x2 , . . . , xk ] y Y = [y1 , y2 , . . . yk ] se denota sup(X, Y ) y se calcula como
Ejercicio 117. Implemente el predicado supPos(+L1, +L2, +P, ?R) que devuelve en R el valor
que se encuentra en la posición P de la lista que representa la cota superior entre L1 y L2. Si
las listas no poseen la misma longitud se debe escribir el mensaje Las listas no poseen igual
longitud y luego emitir un fallo. Si las listas poseen igual longitud pero la posición excede la
25
Disciplina Inteligencia Computacional
longitud de la lista cota superior se debe escribir por consola el mensaje Posición no válida y
luego emitir un fallo.
Considere que las posiciones de los elementos de una lista comienzan a enumerarse desde 0.
Las listas L1 y L2 serán siempre de números reales.
Ejemplo:
?- supPos ([2 ,3 ,4 ,5] ,[1 ,6 ,3 ,4] ,2 , R ).
R = 4.
Problema 32. Considere que la fusión entre dos listas es el resultado de intercalar sus elementos.
Si las listas no tienen igual longitud, los elementos sobrantes se ponen al nal.
Ejercicio 118. Confeccione un predicado para hallar la fusión entre dos listas.
?- fusion ([5 , 6, 7] , [1 , 2, 3] , L ).
L = [5 , 1, 6, 2 , 7, 3].
26
Disciplina Inteligencia Computacional
?- q2 ([1 , 2, 3, 4 , 5, 6, 7] , 2, R ).
R = [3 , 1, 4, 5 , 6, 7].
?- q2 ([] , 3, R ).
Empty list
false .
a) ¾Qué tipo de corte(s) utilizó en su solución? Diga por qué lo(s) clasica de esa manera.
Ejercicio 120 (+). Implemente, utilizando corte, el predicado sublist(A, N, B) que verica que
A es una sublista de B que se encuentra a partir de la posición N o luego de la misma, contando
las posiciones desde cero. En este caso se considera que A es sublista de B si los elementos
de A se encuentran en B en el mismo orden en que aparecen en A aunque no necesariamente
consecutivamente.
Si N sobrepasa la longitud de B debe escribirse por consola Out of range y luego emitir un
fallo.
Ejemplos de entrada y salida:
?- sublist ([1 , 2 , 3] , 1 , [2 , 3, 1, 2 , 4 , 3]).
true .
a) ¾Qué tipo de corte(s) utilizó en su solución? Diga por qué lo(s) clasica de esa manera.
6.3. Estructuras
Problema 33. En la universidad se ha creado un club de lectura para promocionar ese hábito.
Para controlar su actividad, se está solicitando crear una base de datos jerárquica que contenga
en cada registro la siguiente información de cada miembro:
Su nombre completo.
La edad.
Un listado de libros que ha leído, cada uno de los cuales tenga información sobre su título,
nombre completo del autor y país de origen del autor. Si el libro tiene varios autores se
guarda esta información de manera conjunta como si fuera un solo autor. Lo mismo sucede
en el caso de los países de los cuales proceden los autores.
27
Disciplina Inteligencia Computacional
Fecha de alta en el club.
Ejercicio 121. Escriba en Prolog al menos dos registros que satisfagan las condiciones de la
información descrita y que corresponda a miembros que hayan leído al menos un libro.
Ejercicio 122. Implemente selectores para extraer:
El mes en que se dio de alta un miembro del club.
La edad de un miembro del club.
El autor de un libro dado.
Ejercicio 123. Implemente un predicado que imprima por consola un listado con el nombre
completo y edad de cada miembro del Club. El resultado debe escribirse por consola con un
formato ameno como se muestra en el siguiente ejemplo:
?- miembros .
Nombre : Dionisio Amador Del Monte
Edad : 21
Nombre : Greta de la Garza Martínez
Edad : 23
true .
Ejercicio 124. Programe un predicado cuyo primer argumento unique con el listado de los
libros leídos en el Club que son de un país dado.
Problema 34. Para el registro de los comensales del comedor de una universidad se está con-
siderando utilizar una base de datos jerárquica implementada en Prolog. Por cada evento de
servicio se registra la fecha día, mes, año, el menú, y un listado con los comensales que hicie-
ron uso del servicio en ese evento. De cada menú, se registra su precio en CUP y la cantidad
inicial reservada para el evento. De cada comensal se tiene su nombre completo y su categoría
que puede ser trabajador, profesor o estudiante.
Ejercicio 125. Escriba un hecho existe/1 que contenga una estructura que represente la infor-
mación recogida para un evento hipotético con no menos de dos comensales.
Ejercicio 126. Implemente selectores para obtener:
a) El precio de un menú dado.
b) El nombre completo de un comensal dado.
c) La categoría de un comensal dado.
Utilizando selectores implemente predicados para:
Ejercicio 127. Determinar si un comensal, identicado por su nombre completo, a usado el
servicio del comedor en una fecha dada.
Ejercicio 128. Determinar el dinero recaudado en un evento dado su fecha. Considere que los
estudiantes no pagan el servicio.
28
Disciplina Inteligencia Computacional
Ejercicio 129. Determinar el listado de todos los comensales profesores de la base de conoci-
miento.
Problema 35. El restaurante La Sevilla de comida española, quiere hacer un sistema para el
control de las reservaciones que se realizan cada día en cada uno de los eventos. Esta información
se guarda en hechos con functor evento, los cuales contienen los siguientes datos: tipo de evento,
fecha del evento y listado de las reservaciones que se han realizado. Los eventos pueden ser
de dos tipos: almuerzo o comida. La fecha será registrada teniendo en cuenta la estructura
f echa(dı́a, mes, año). Cada reservación contiene: número de carnet de identidad de la persona
que reservó, cantidad de comensales y número de menú (que puede ser 1, 2 o 3).
Ejercicio 130. Proponga un hecho hipotético con functor evento de acuerdo a la descripción
previamente dada.
Ejercicio 131. Dena los siguientes selectores:
a) Mes de una fecha.
b) Cantidad de comensales en una reservación.
c) Tipo de menú solicitado.
Utilizando selectores implemente predicados para:
Ejercicio 132. Dado un mes, determinar la cantidad de reservaciones total que se han realizado
en ese mes.
Ejercicio 133. Determinar cuántos comensales han realizado reservaciones con el menú 2.
Ejercicio 134. Dado un tipo de evento y una fecha, determinar si el restaurante está lleno.
Tenga en cuenta que para que el restaurante esté lleno debe estar cubierta toda su capacidad la
cual es de 50 personas.
Problema 36. Una revista cientíca quiere construir un sistema en Prolog para la gestión de
la información relacionada con los artículos cientícos que esta maneja. De cada artículo se
almacenan los siguientes datos en el siguiente orden:
i . Nombre
ii . Fecha en que se recibió el artículo para su revisión
iii . Estado de publicación
iv . Lista de autores
El estado de publicación consiste en:
Si el artículo ha sido publicado, los siguientes datos en el siguiente orden:
i. Número del volumen en que se publicó
Si no ha sido publicado, una única cadena en revisión que indica que el artículo aún no
ha sido publicado.
29
Disciplina Inteligencia Computacional
De cada autor se almacenan los siguientes datos en el siguiente orden:
i . Nombre
ii . Apellidos (una sola cadena)
iii . Institución a la que pertenece (una sola cadena)
Las fechas se componen de día, mes y año en ese orden.
Ejercicio 135. Implemente un hecho existe/1 que contenga una estructura con la información
de un artículo hipotético.
Ejercicio 136. Implemente selectores para obtener:
a) El nombre y apellidos de un autor.
b) El mes y año de una fecha dada.
c) El estado de publicación de un artículo.
Utilizando selectores implemente predicados para:
Ejercicio 137. Vericar si algún artículo ha sido aceptado para publicación en un mes y año
dados.
Ejercicio 138. Obtener un listado con los nombres de los artículos en revisión.
Ejercicio 139. Determinar la cantidad de artículos que ha publicado un autor dado su nombre
y apellidos.
Ejercicio 140. Obtener el listado de instituciones que han enviado artículos a la revista.
Problema 37. Se quiere confeccionar un programa en Prolog para gestionar los medios básicos y
útiles que se encuentran en los apartamentos de la residencia. De cada apartamento se almacenan
los siguientes datos en el orden especicado:
i . Identicador
ii . Tipo: apartamento de profesores o de estudiantes.
iii . Cantidad de cuartos.
iv . Listado de medios básicos.
v . Listado de útiles.
De cada medio básico se conoce el tipo (televisor, mesa, etc) y el número de serie. De cada útil
se conoce el tipo (escoba, espejo, etc) y la cantidad en existencia dentro del apartamento.
Ejercicio 141. Implemente un hecho existe/1 que contenga una estructura con la información
de un apartamento hipotético que posea al menos un medio básico y un útil.
Ejercicio 142. Implemente selectores para obtener:
a) El tipo de un medio básico.
30
Disciplina Inteligencia Computacional
b) El tipo y la cantidad de un útil.
c) La cantidad de cuartos y el tipo de un apartamento.
Utilizando selectores implemente predicados para:
Ejercicio 143. Vericar si algún apartamento de estudiantes posee una cantidad de cuartos
dada.
Ejercicio 144. Obtener un listado con el número de serie de todos los televisores.
Ejercicio 145. Determinar la cantidad de medios básicos de un tipo dado.
Ejercicio 146. Determinar la cantidad de útiles que no sean de un tipo dado.
Problema 38. Se desea construir un sistema en Prolog para la gestión de almacenes de venta
de productos para el hogar. Los almacenes se identican por un nombre único para cada uno,
la provincia, el municipio, la dirección y los datos de la mercancía que almacena. La mercancía
es un conjunto de productos que pueden tener asociada o no una garantía. Los productos sin
garantía son todos aquellos útiles del hogar por ejemplo escobas, recogedores, platos, cucharas,
etc mientras que los productos con garantía son los electrodomésticos y muebles por ejem-
plo lavadora, televisor, refrigerador, cama, sillón, etc. La garantía está dada en años. De cada
producto se conoce el fabricante y el precio en CUP.
Ejercicio 147. Confeccione un hecho hipotético que represente la información de un almacén.
Ejercicio 148. Confeccione selectores para obtener:
a) La provincia y el municipio de un almacén.
b) El precio de un producto.
c) El tipo de un producto.
d) La garantía de un producto con garantía.
Utilizando selectores implemente predicados para:
Ejercicio 149. Devolver el nombre de un almacén que tenga más de 100 productos.
Ejercicio 150. Devolver la lista de almacenes cuya cantidad de útiles es mayor que 200 y
pertenezcan a una provincia dada.
Ejercicio 151. Devolver la cantidad de productos que se tiene en toda la base de conocimiento,
de un tipo determinado.
Ejercicio 152. Devolver la lista de almacenes que poseen al menos 300 escobas.
Ejercicio 153. Devolver la lista de las provincias de las cuales al menos un almacén posee una
mercancía valorada en más de 4000 CUP.
Ejercicio 154 (+). Devolver la lista de municipios que posean al menos N productos con
garantía mayor que G años.
Ejercicio 155 (*). Devolver la lista de productos por cada provincia. El resultado debe escribirse
por consola con un formato ameno como se muestra en el siguiente ejemplo:
31
Disciplina Inteligencia Computacional
?- productos_por_provincia .
Provincia Granma :
Producto 1:
Tipo : cuchara
Fabricante : Fabricante de útiles del hogar
Precio : 5
Producto 2:
Tipo : plato
Fabricante : Fabricante de útiles del hogar
Precio : 25
Producto 3:
Tipo : refrigerador
Fabricante : Haier
Precio : 5000
Garantía : 4
Producto 4:
Tipo : televisor
Fabricante : Panda
Precio : 1000
Garantía : 4
Provincia Guantánamo :
Producto 1:
Tipo : escoba
Fabricante : Fabricante de útiles del hogar
Precio : 30
Producto 2:
Tipo : plato
Fabricante : Fabricante de útiles del hogar
Precio : 25
Producto 3:
Tipo : lavadora
Fabricante : Daewoo
Precio : 6250
Garantía : 5
Producto 4:
Tipo : refrigerador
Fabricante : Haier
Precio : 5000
Garantía : 4
true .
Ejercicio 156 (*). Vericar que no existen dos almacenes con el mismo nombre en la base
de conocimiento. La solución debe tener una complejidad temporal en el peor caso menor de
O(n2 ) donde n es la cantidad de almacenes en la base de conocimiento. Diga qué complejidad
temporal en términos de O grande tiene su solución en el peor caso.
32
Parte III.
Tratamiento de la incertidumbre
33
7. Teoría de Hajek
Problema 39. Se necesita desarrollar un sistema experto que, teniendo en cuenta la humedad,
temperatura ambiente, viento e incidencia de la luz solar, permita predecir la posibilidad de la
siembra de una variedad de planta exótica que requiere gran cuidado y precisión. Para ello se
consultó a un agricultor que expresó lo siguiente:
En el 60 % de los días soleados (DS) y con humedad alta (HA) no se puede sembrar (NO).
En el 40 % de los días soleados (DS) o días con humedad normal (HN) se puede sembrar
(Sí).
En el 50 % de los días lluviosos (DLL) no se puede sembrar (NO).
En el 30 % de los dÃas nublados (DN) y con vientos débiles (VD) se puede sembrar (Sí).
Ejercicio 157. ¾Cuál es la certeza propagada hacia la decisión de sembrar o no, si se conocen
los siguientes factores de certeza? Justique empleando contribución de MYCIN y global de
PROSPECTOR.
Hecho DS DN DLL HA HN VF VD
FC 0.5 0.5 −0.4 0.6 0.3 0.4 0.2
Ejercicio 158. ¾Sobre cuál de las dos alternativas (Sí y No) se posee mayor incertidumbre?
Explique.
Ejercicio 159. ¾Qué acción propondría a los agricultores? Justique.
Problema 40. Se quiere implementar un sistema experto que asista en el pronóstico del tiempo.
Para esto considere la siguiente información hipotética:
Se sabe que si hay presencia de cúmulos entonces hay buen tiempo el 70 % de las veces. Si
hay nimboestratos y el viento sopla del nordeste entonces se pronostica lluvia prolongada con un
factor de certeza de 0.6. Si hay estratos y el viento sopla de norte a sur entonces habrá lluvia
persistente en un 80 % de las veces. La presencia de cumulonimbos provocará lluvia persistente
con un factor de certeza de 0.4.
Ejercicio 160. Plantee el sistema de reglas que se puede obtener a partir de la información
anterior.
Ejercicio 161. Suponga que los instrumentos de medición detectan cúmulos con 0.2 unidades
de precisión, nimboestratos con 0.3, estratos con 0.9 y cumulonimbos con 0.7. Si se sabe además
que el viento sopla de norte a sur, determine el pronóstico que da el sistema. Utilice contribución
de MYCIN y global de PROSPECTOR.
Problema 41. Considere la siguiente base de conocimiento donde el factor de certeza de cada
regla se muestra al lado de cada una entre paréntesis:
34
Disciplina Inteligencia Computacional
R1 : f ∧ ¬g =⇒ c (0.8)
R2 : h =⇒ ¬e (0.9)
R3 : b∧c =⇒ ¬a (0.8)
R4 : d∧e =⇒ a (−0.9)
R5 : i =⇒ e (0.7)
R6 : d =⇒ h (0.4)
Se tiene que: FC(b) = 0.6; FC(d) = 1; FC(f) = 0.3; FC(¬i) = −0.8 y FC(g) = −0.7.
Determine la certeza con que se inere a utilizando:
Ejercicio 162. Contribución y global de MYCIN.
Ejercicio 163. Contribución de MYCIN y global de PROSPECTOR.
Ejercicio 164. Contribución de sistemas difusos y global de MYCIN.
Ejercicio 165. Contribución de sistemas difusos y global de PROSPECTOR.
Problema 42. Considere la siguiente base de conocimiento donde el factor de certeza de cada
regla se muestra al lado de cada una entre paréntesis:
R1 : a∧c =⇒ b (0.6)
R2 : a∨k =⇒ b (0.7)
R3 : b∧k =⇒ m (0.8)
R4 : (¬m ∨ a) ∧ b =⇒ n (0.5)
R5 : m ∧ ¬a =⇒ t (0.9)
R6 : c∨t =⇒ n (1.0)
R7 : (m ∧ a) ∨ (c ∧ t) =⇒ n (0.4)
35
8. Lógica difusa
Problema 43. Se necesita conocer el rendimiento de una persona para conformar la selección
de un equipo de voleibol de playa. Para ello es necesario tener en cuenta la estatura de la persona
y la altura de su salto. A continuación, las etiquetas correspondientes a cada variable lingüística
de un sistema que utiliza lógica difusa para determinar el rendimiento de una persona.
El sistema cuenta además con la siguiente base de conocimiento. Los factores de certeza de cada
regla se muestran al lado de cada una entre paréntesis.
1. Si la persona es mediana y el salto es pequeño o mediano entonces el rendimiento es medio.
(0.4)
2. Si la persona es mediana y el salto es alto entonces el rendimiento es alto. (0.8)
3. Si la persona es pequeña y el salto es pequeño entonces el rendimiento es poco. (0.6)
4. Si la persona es alta y el salto es pequeño entonces el rendimiento es medio. (0.2)
5. Si la persona es alta y el salto es alto entonces el rendimiento es alto. (0.7)
También se dispone de las siguientes funciones de pertenencia trapezoidales.
Estatura ∈ [0; 3] Salto ∈ [0; 4]
pequeña: h0; 0; 1.2; 1.5i pequeño: h0; 0; 1.6; 2i
mediana: h1; 1.4; 1.5; 2i mediano: h1.8; 2.5; 2.8; 3.5i
alta: h1.4; 1.9; 3; 3i alto: h3; 3.5; 4; 4i
Ejercicio 170. Determine los grados de pertenencia a los conjuntos difusos de la variable de
entrada para una persona de 2 metros y con un salto de 3.4 metros.
Ejercicio 171. Determine los grados de pertenencia a los conjuntos difusos de la variable de
salida utilizando los datos del ejercicio anterior y el par de ?ukasiewicz.
Ejercicio 172. Se conoce que el rendimiento de una persona puede determinarse a partir de la
siguiente expresión.
Determine el rendimiento de una persona (medido de 0 a 100 unidades) que cumple con las
características del ejercicio 170.
36
Disciplina Inteligencia Computacional
Problema 44. Se desea aplicar un sistema de lógica difusa que utiliza el par mínimo-máximo
para un controlador de procesos industriales con dos entradas y una salida. Para ello se conocen
las siguientes reglas. El factor de certeza de cada una se muestra al lado entre paréntesis.
R1: Si el error de regulación de la primera entrada es pequeño y el de la segunda es mediano
entonces el cambio de la salida es pequeño. (0.7)
R2: Si el error de regulación de la primera entrada es mediano y el de la segunda es pequeño
entonces el cambio de error de la salida es pequeño. (0.8)
R3: Si el error de regulación de la primera entrada es mediano y el de la segunda es grande
entonces el cambio de error de la salida es mediano. (0.6)
R4: Si el error de regulación de la primera entrada es grande y el de la segunda es mediano
entonces el cambio de error de la salida es mediano. (0.75)
R5: Si el error de regulación de la primera entrada es grande y el de la segunda es grande entonces
el cambio de error de la salida es grande. (0.65)
Ejercicio 173. Determine el valor de pertenencia a los conjuntos difusos para un error en la
primera entrada y segunda entrada de 23 y 35 unidades respectivamente, si se conoce que el error
de regulación en las entradas tiene asociado tres conjuntos difusos con las funciones trapezoida-
les siguientes: Pequeño (ERP): h0; 0; 20; 30i, Mediano (ERM): h20; 25; 35; 40i, Grande (ERG):
h30; 40; 50; 50i.
Ejercicio 174. ¾Qué cambio de error recomendaría el sistema con los datos del ejercicio anterior?
Justique.
Ejercicio 175. Determine las unidades para el cambio de error. Utilice el método del centroide
con paso 10. Las funciones de pertenencia para los conjuntos difusos son trapezoidales y descritas
a continuación: Pequeño (CEP): h0; 0; 20; 35i, Medio (CEM): h20; 30; 40; 50i, Grande (CEG):
h40; 60; 80; 80i.
Problema 45. Juan quisiera conocer las posibilidades de que él pueda desempeñarse efectiva-
mente como lósofo. Como él es un acionado a la lógica difusa, construye un sistema difuso
que toma en consideración sus habilidades en las ciencias exactas (HCE ) y sus habilidades en
las ciencias humanísticas (HCH ) y retorna una medida del posible desempeño que tendrá Juan
como lósofo (HF ).
El sistema cuenta con el siguiente conjunto de reglas. Cada regla posee asociado un factor de
certeza que se muestra entre paréntesis al lado de cada regla:
1. Si HCE es mucho y HCH es poco entonces HF es poco. (0.3)
2. Si HCE es mucho y HCH no es mucho entonces HF es poco. (0.3)
3. Si HCE es medio y HCH es medio entonces HF es medio. (0.8)
4. Si HCE es mucho y HCH es mucho entonces HF es mucho. (0.9)
El dominio de cada variable de entrada se encuentra dividido en los conjuntos difusos: mucho,
medio y poco. La función de inclusión a cada conjunto difuso para ambas variables de
entrada se modela de acuerdo a las siguientes distribuciones trapezoidales:
37
Disciplina Inteligencia Computacional
Poco: h0; 0; 20; 40i
Medio: h30; 50; 50; 70i
Mucho: h60; 80; 100; 100i
Por su parte, la variable de salida posee como dominio el intervalo real [0; 10] y los correspon-
dientes conjuntos difusos vienen dados por las siguientes distribuciones trapezoidales:
Poco: h0; 0; 2; 4i
Medio: h3; 4; 6; 7i
Mucho: h6; 8; 10; 10i
Ejercicio 176. ¾Cuáles son los grados de pertenencia a los conjuntos difusos de las variables de
entrada si se conoce que la habilidad de Juan en las ciencias exactas es de 68 y en las ciencias
humanísticas es de 89?
Ejercicio 177. ¾Cuáles son los grados de pertenencia a los conjuntos difusos de la variable de
salida? Utilice los datos del ejercicio anterior y el par de ?ukasiewicz.
Ejercicio 178. ¾Qué desempeño pronostica el sistema que tendrá Juan como lósofo? Para
determinar este valor utilice el método del centroide con paso 2.
Problema 46. Un sistema que utiliza lógica difusa tiene en cuenta la velocidad del viento (V ),
la iluminación externa (I ) y el horario del día (H ) para controlar la apertura (A) automática
de las ventanas de un local. A continuación, un extracto del conjunto de reglas que el sistema
utiliza. Al nal de cada regla se especica el factor de certeza correspondiente.
R1: Si la iluminación externa es alta, la velocidad del viento es baja y es la primera mitad del
día entonces la apertura de las ventanas debe ser grande. f cR1 = 0.8
R2: Si la velocidad del viento es alta o es la segunda mitad del día entonces la apertura de las
ventanas debe ser pequeña. f cR2 = 0.9
R3: Si la velocidad del viento no es baja, es la segunda mitad del día y la iluminación externa
es alta entonces la apertura de las ventanas debe ser media. f cR3 = 0.6
R4: Si la velocidad del viento es media, la iluminación externa es media y no es la segunda mitad
del día entonces la apertura de las ventanas debe ser grande. f cR4 = 0.2
Si se tienen los siguientes conjuntos difusos para cada variable lingüística:
38
Disciplina Inteligencia Computacional
Ejercicio 180. Determine los grados de pertenencia a los conjuntos difusos de las variables de
salida utilizando los datos del ejercicio anterior. Utilice el par mínimo-máximo.
Ejercicio 181. Determine, utilizando el método del centroide con paso 5, la apertura de las
persianas de acuerdo a las condiciones del ejercicio anterior.
Problema 47. Un sistema de refrigeración de una habitación utiliza un sistema de control difuso
para determinar la temperatura aproximada a la que debe de enfriar, dada la temperatura de la
habitación y la hora del día.
La temperatura tanto la temperatura de la habitación como la temperatura a determinar
por el sistema se encuentra en un rango de 15 a 33 y se le asocian los conjuntos difusos
cuyas funciones de pertenencia se encuentran caracterizadas por las siguientes distribuciones
trapezoidales:
Frío: h15; 15; 20; 25i
Normal: h20; 25; 27; 30i
Templado: h27; 30; 33; 33i
La hora del día se expresa con un número real en el rango [0; 23] y se le asocian los conjuntos difu-
sos cuyas funciones de pertenencia se encuentran caracterizadas por las siguientes distribuciones
trapezoidales:
Noche de inactividad:h0; 2; 5; 7i
Día: h5; 8; 12; 14i
Tarde: h12; 14; 18; 20i
Noche de actividad: h20; 22; 22; 23i
El sistema utiliza un conjunto de reglas difusas que fueron obtenidas a partir de entrevistas
realizadas a potenciales clientes. A continuación, una muestra de las reglas utilizadas por el
sistema. Cada regla se asocia con un grado de certeza, el cual se muestra entre paréntesis a la
izquierda de cada regla.
1. Si la temperatura de la habitación es templada y es de día entonces la temperatura a producir
debe ser normal. (0.6)
2. Si la temperatura de la habitación es fría y es noche de actividad entonces la temperatura
a producir debe ser templada. (0.7)
3. Si la temperatura de la habitación es fría y no es horario de la tarde entonces la temperatura
a producir debe ser normal. (0.8)
4. Si la temperatura de la habitación es normal y es horario de la tarde o noche de inactividad
la temperatura a producir debe ser fría. (0.6)
Ejercicio 182. ¾Cuáles son los grados de pertenencia a los conjuntos difusos de las variables de
entrada si se sabe que la temperatura ambiente es de 23 y la hora es 5?
Ejercicio 183. ¾Cuáles son los grados de pertenencia a los conjuntos difusos de la variable de
salida? Utilice los datos del ejercicio anterior y el par probabilístico.
Ejercicio 184. ¾Cuál es la temperatura que debe de producir el sistema de refrigeración? Para
determinar este valor utilice los datos del ejercicio anterior y el método del centroide con paso 3.
39
Parte IV.
Aprendizaje automático
40
9. Árboles de decisión. ID3
En todos los problemas de este capítulo el símbolo ? denota la ausencia de información para
la casilla correspondiente en la tabla.
Problema 48. Una empresa productora de cine quiere determinar si su nueva producción tendrá
o no altas ganancias. Para esto utiliza un árbol de decisión construido con el algoritmo ID3 a
partir de los resultados obtenidos en sus producciones anteriores.
En la tabla siguiente se muestra un extracto de dicha información.
Ejercicio 185. Describa las acciones que deben ser aplicadas en la fase de preprocesamiento y
enuncie cómo quedarían los cambios.
Ejercicio 186. Una vez realizado el preprocesamiento, desarrolle un árbol de decisión a partir
de los datos preprocesados. Utilice el algoritmo ID3 e indique en cada paso la expresión y el valor
de la ganancia de cada atributo. Utilice en los cálculos, como mínimo, dos cifras signicativas
después de la coma.
Ejercicio 187. Determine el valor que pronosticará el sistema para una producción de duración
larga, del genero acción y con una alta promoción.
Problema 49. En la Universidad X (UX) se está realizando una investigación para determinar
las áreas de la ciencia y la industria del software donde han tenido éxitos los egresados de dicha
institución y con el n de mejorar la docencia de acuerdo con los intereses de la sociedad. Los
artíces de dicha investigación cuentan con un registro de los proyectos en los que los egresados
de la UX se han desempeñado. En dicho registro se tiene en cuenta la novedad de las tecnologías,
la envergadura del proyecto y el tipo de software que tuvo que ser desarrollado en cada caso.
En la tabla siguiente se muestra el conjunto de entrenamiento a ser utilizado para realizar un
proceso de minería de datos.
41
Disciplina Inteligencia Computacional
Ejercicio 188. Considerando que se desea aplicar ID3 para determinar un árbol de decisión,
describa las acciones de preprocesamiento que deben ser aplicadas a los datos y cómo quedarían
los cambios.
Ejercicio 189. Una vez realizado el preprocesamiento, desarrolle un árbol de decisión para
determinar el éxito que tendrían los egresados de la UX ante un nuevo proyecto. Utilice el
algoritmo ID3 e indique en cada paso la expresión y el valor de la ganancia de cada atributo.
Ejercicio 190. ¾El árbol desarrollado en el ejercicio anterior brinda alguna información útil
acerca de cuáles son los parámetros que podrían estar inuyendo en el éxito de los egresados de
la UX? Justique.
Problema 50. En la Facultad 1 de la Universidad de las Ciencias Informáticas (UCI) se desea
realizar una selección de estudiantes para conformar el equipo de voleibol para los venideros
Juegos Mella. Para ello se debe tener en cuenta datos históricos tales como la estatura, el
promedio de puntos por set y la posición de los jugadores que ya han integrado el equipo en
años anteriores. En la siguiente tabla se muestra un extracto de los datos utilizados.
Se dene poco promedio de puntos por set el intervalo [0; 5] y mucho promedio de puntos por
set el intervalo [6; 10].
Ejercicio 191. Aplique las técnicas adecuadas de preprocesamiento al conjunto de datos anterior
para construir un árbol de decisión utilizando ID3. Justique.
Ejercicio 192. Aplique el algoritmo ID3 al conjunto de datos preprocesado para saber los
jugadores que serán seleccionados para conformar el equipo de voleibol.
Problema 51. Un centro de investigación epidemiológica ha recopilado algunos datos que ree-
jan el comportamiento general de las personas frente a la exposición de un virus. En la siguiente
tabla se muestra un extracto de esta información donde se tiene en cuenta la edad, el nivel de
exposición al frio y el nivel de defensas del cuerpo.
Edad Exposición Defensas Infección
40 Alta Baja Sí
10 Alta Baja Sí
50 Baja Alta No
20 Alta Alta No
60 Baja Baja Sí
25 Alta Baja No
42
Disciplina Inteligencia Computacional
Ejercicio 193. Aplique las técnicas adecuadas de preprocesamiento al conjunto de datos anterior
para construir un árbol de decisión utilizando ID3. Justique.
Ejercicio 194. Utilice el algoritmo ID3 para determinar los factores de riesgo de contraer el
virus. Deje plasmados todos los cálculos con al menos 2 cifras signicativas después de la coma.
Problema 52. Juan es el director de una cooperativa que vende alimentos a la población. Los
trabajadores de la cooperativa han trabajado sin descanso durante un año y consideran que
es tiempo de tomarse unas vacaciones. Sin embargo, Juan quisiera no dejar de vender todos
los días. Para esto se decide que la cooperativa solo cerrará aquellos días en los que haya una
mayor posibilidad de pocos clientes de acuerdo a los productos disponibles. Utilizando un árbol
de decisión construido con el algoritmo ID3, ellos son capaces de determinar si habrán muchos
o pocos clientes en un día determinado de acuerdo a los alimentos disponibles ese día. Para la
construcción del árbol, Juan dispone de un conjunto de datos del que se muestra un extracto a
continuación.
No. Malanga Cebolla Arroz Frijol Clientes
1 Sí Blanca Sí Negro Mucha
2 Sí Colorada Sí Colorado Mucha
3 Sí Blanca No No Poca
4 No Blanca No No Poca
5 No Colorada No Negro Poca
6 No Blanca Sí ? Mucha
7 Sí No Sí Negro Poca
8 No No No Colorado Mucha
9 No No Sí Negro Poca
10 No No Sí Colorado Mucha
Ejercicio 195. Mencione y aplique las técnicas de preprocesamiento necesarias para construir
una vista minable adecuada para el algoritmo ID3.
Ejercicio 196. Construya el árbol de decisión utilizando el algoritmo ID3 y los datos preproce-
sados. Deje plasmado los cálculos necesarios para la construcción del árbol utilizando al menos
dos lugares signicativos después de la coma.
Ejercicio 197. Determine la respuesta que daría el sistema cuando no existe disponibilidad de
malanga ni de frijol pero sí de arroz y cebollas blancas en un día determinado.
Ejercicio 198. ¾Cree usted que el algoritmo KNN con distancia mínima sea una alternativa
factible para ser aplicada en este caso? Justique.
Problema 53. Una empresa de producción de software posee un sistema que le ayuda en la
decisión de aceptar los nuevos encargos de sus clientes. El sistema utiliza los datos de los proyectos
de los últimos tres años teniendo en cuenta la temática del proyectoreconocimiento de patrones
(RP) o sistema experto (SE), la duración del proyecto pequeña cuando no excede los 6 meses
o grande en otro caso y el paradigma de programación a utilizar programación orientada a
objetos (POO), programación lógica (PL) o programación funcional (PF). En la tabla siguiente
se muestra un extracto de dicha información.
43
Disciplina Inteligencia Computacional
Ejercicio 199. Conforme una vista minable adecuada para aplicar el algoritmo ID3. Describa
las acciones realizadas.
Ejercicio 200 (+). Construya un árbol de decisión aplicando el algoritmo ID3 a la vista minable
obtenida. Deje plasmados los cálculos realizados con al menos dos cifras signicativas.
Ejercicio 201. Determine la recomendación que daría el sistema para un nuevo proyecto de
reconocimiento de patrones en el que se utilizará programación lógica y cuya duración es de 3
años.
44
10. Redes Neuronales Articiales.
Perceptrón simple
Problema 54. La siguiente tabla muestra los pares a utilizar en el entrenamiento de un per-
ceptrón simple de entradas y salidas bipolares.
x1 x2 T
−1 −1 1
−1 1 1
1 1 −1
1 −1 1
Ejercicio 202. Ejecute dos ciclos del algoritmo de entrenamiento con w1 = 0.1; w2 = 0.1;
b = 0.3 y α = 0.5.
Ejercicio 203. Determine si el modelo ha quedado correctamente ajustado. Justique.
Problema 55. Se desea entrenar una red neuronal simple capa de tipo Perceptrón para que sea
capaz de reconocer si un perl en una red social pertenece (P) a un hombre o a una mujer. Para
esto se tendrán en cuenta los siguientes elementos: cantidad de fotos subidas (CFS), cantidad de
amigos (CA) y tipo de páginas que sigue (TPS). Cada una de estas variables se codicará como
se muestra a continuación:
CFS CA TPS P
1 si CFS ≥ 350 1 si CA ≥ 300 1 si TPS = Moda o Cocina 1 si P = Mujer
−1 si CFS < 350 −1 si CA < 300 −1 si TPS = Deporte o Juegos −1 si P = Hombre
Ejercicio 204. Utilice los pesos iniciales w1 = 3, w2 = 5, w3 = 0 y b = −1 y un factor de
aprendizaje de 0.1 y los siguientes perles para realizar dos iteraciones del entrenamiento.
CFS CA TPS P
514 986 Moda Mujer
214 253 Juegos Hombre
345 310 Deporte Hombre
422 315 Cocina Mujer
Ejercicio 205. Determine si la red ha quedado correctamente ajustada. Justique.
Problema 56. Diseñe una red neuronal que permita clasicar frutas en dos tipos determinados
considerando forma, textura y peso.
Los valores propuestos para cada parámetro son:
45
Disciplina Inteligencia Computacional
Ejercicio 206. Considerando que los valores iniciales del vector de pesos y el bias son 0.5, 0.2,
−0.3 y 0.2 respectivamente y que la razón de aprendizaje es 0.1, aplique la regla de aprendizaje
del Perceptrón simple capa para calcular los valores nales para los pesos y el bias.
Ejercicio 207. Utilizando la red neuronal obtenida en el ejercicio anterior, ¾cómo se clasicaría
un fruta de 2 libras, elíptica y suave? Explique.
Ejercicio 208. ¾Qué parámetro(s) debería(n) cambiarse en el ejercicio 206 para que el algoritmo
de entrenamiento tenga menos iteraciones y qué efecto negativo conllevaría este cambio?
Problema 57. Una tienda de juguetes pretende desarrollar una aplicación para predecir cómo
elevar sus ganancias. Para ello utilizará el comportamiento de las ventas de sus productos en un
período de tiempo. Parte de esta información se muestra a continuación:
Ejercicio 209. Modele el problema anterior para utilizar un perceptrón simple bipolar y aplique
dos iteraciones del algoritmo de entrenamiento. Tome 0.1 como factor de aprendizaje, 0.2 como
valor inicial de los pesos y 0.4 como bias.
Ejercicio 210. Suponiendo que el proceso de entrenamiento converge ¾los pesos obtenidos serán
los mismos que los obtenidos en el ejercicio anterior? Justique.
Problema 58. Se tiene un perceptrón simple capa con dos entradas y dos salidas. El conjunto
de entrenamiento se muestra a continuación:
x1 x2 x3 T1 T2
1 1 −1 1 1
1 −1 1 −1 −1
46
Disciplina Inteligencia Computacional
Ejercicio 211 (+). Ejecute el proceso de aprendizaje con un factor de aprendizaje 0.5 y los
pesos siguientes: w1,1 = 0.1; w1,2 = 0.2; w1,3 = 0.3; b1 = 0.4; w2,1 = 0.5; w2,2 = 0.6; w2,3 = 0.7;
b3 = 0.8
Ejercicio 212 (*). ¾Podría asegurarse, en general, que la red convergería en algún momento si
se provee un conjunto de pesos iniciales diferentes a los proporcionados en el ejercicio anterior
pero con el mismo factor de aprendizaje? Justique.
47
Declaración de autoría
48
Obra bajo licencia Creative Commons 4.0 Reconocimiento NoComercial Compartir Igual:
http://creativecommons.org/licenses/by-nc-sa/4.0/
Se puede copiar, distribuir y comunicar públicamente la obra y hacer obras derivadas bajo las
siguientes condiciones:
Reconocimiento a los autores.
No se permite el uso comercial.
Se permiten obras derivadas siempre que mantengan la misma licencia que el original.