Está en la página 1de 49

Inteligencia Articial

Compendio de ejercicios

10 de diciembre de 2020

Disciplina Inteligencia Computacional


Universidad de las Ciencias Informáticas
El presente compendio de ejercicios pretende ser un complemento para la consolidación de
los contenidos de la asignatura Inteligencia Articial de la carrera Ingeniería en Ciencias Infor-
máticas. El compendio comprende un conjunto de problemas a los cuales corresponden uno o
varios ejercicios. Los ejercicios marcados con un signo + son de una complejidad mayor que la
media y pueden necesitar algún estudio previo por parte del estudiante antes de resolverlos. Los
ejercicios marcados con un ∗ están destinados a aquellos estudiantes que deseen profundizar y
probar sus habilidades a un nivel un poco más alto que los ejercicios marcados con +. El resto
de los ejercicios miden las habilidades principales de la asignatura y se encuentran, en la medida
de lo posible, ordenados de menor a mayor complejidad.
Índice general
I. Razonamiento 4

1. Búsqueda en general 5
2. Minimax 9
3. Algoritmos genéticos 11

II. Representación del conocimiento 13

4. Formas de representación del conocimiento 14


5. Representación y razonamiento basado en casos 17
6. Representación lógica. Prolog 21
6.1. Elementos básicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
6.2. Listas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
6.3. Estructuras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

III. Tratamiento de la incertidumbre 33

7. Teoría de Hajek 34
8. Lógica difusa 36

IV. Aprendizaje automático 40

9. Árboles de decisión. ID3 41


10.Redes Neuronales Articiales. Perceptrón simple 45

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.

Puntos Medida de distancia Se llega a Distancia


B 2
A 10
C 1
C 5
B 1 D 4
E 1
X 5
C 1
E 7
D 1 E 1
E 2 X 5
X 0  
Como se puede observar en la tabla, se posee una medida de distancia desde cada punto hacia
el punto X .
Ejercicio 3. Escoja el algoritmo de búsqueda heurística más adecuado para resolver el problema.
Justique.
Ejercicio 4. Aplique el algoritmo seleccionado para encontrar el recorrido más corto desde A
hasta X . Deje plasmado el espacio de búsqueda generado y especique la secuencia de lugares
visitados.

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

Lugares Medida de tiempo Se llega a Tiempo


B 4
A 2 C 6
D 1
C 5
B 2
E 5
F 3
C 1
G 4
B 7
D 2
E 6
E 1 F 3
F 0  
G 10  

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

Ejercicio 55. Determine tipo y dominio de cada rasgo predictor.


Ejercicio 56. Proponga las funciones de semejanza para cada rasgo predictor.
Ejercicio 57. Proponga una función de semejanza para los casos.
Ejercicio 58. De acuerdo al extracto de la base de casos mostrado en el problema, determine
la estrategia que elegiría el robot si tiene que moverse en un terreno empinado de tierra común
y donde la velocidad del viento es de 30 km/h. Tenga en cuenta que el sistema basado en casos no
realiza adaptación.
Problema 21. Una empresa productora de software, para pronosticar la duración de un nuevo
proyecto (en semanas), aprovecha los datos recopilados de proyectos anteriores utilizando un
sistema basado en casos con recuperación por semejanza parcial sin adaptación.

17
Disciplina Inteligencia Computacional

No. Lenguaje de programación Cantidad de requisitos Promoción Duración


1 Python Poca Ãgil 2
2 Java Media Pesada 8
3 C++ Poca Pesada 8
4 Python Mucha Pesada 8
5 C++ Mucha Ãgil 8
6 Java Mucha Ãgil 4

Teniendo en cuenta los casos mostrados en la tabla anterior:


Ejercicio 59. Determine tipo y dominio de cada rasgo predictor.
Ejercicio 60. Proponga las funciones de semejanza para cada rasgo predictor.
Ejercicio 61. Dena una función de semejanza teniendo en cuenta que todos los rasgos predic-
tores tienen la misma importancia.
Ejercicio 62. Utilizando los datos del problema ¾cuál sería la duración aproximada de un
proyecto con una cantidad media de requisitos que deba ser desarrollado en Python y utilizando
una metodología pesada? Justique.
Problema 22. El grupo musical inglés POP quisiera conocer un pronóstico del nivel de acep-
tación de su música en la Universidad de las Ciencias Informáticas. Para esto los profesores del
Departamento de Inteligencia Computacional de la Facultad 1 utilizan un sistema basado en
casos con datos recopilados de las presentaciones de otros grupos musicales así como también de
una encuesta realizada a la comunidad universitaria. Para calcular un resultado el sistema utiliza
una recuperación por semejanza parcial que tiene en cuenta en primer lugar el tema tratado en
las letras y el idioma de origen. En segundo lugar se tiene en cuenta la complejidad (medida en
la escala de los números enteros del 1 al 10) de la utilización del ritmo y la melodía. Por último
se considera la textura musical.

No. Tema Idioma Ritmo Melodía Textura Aceptación


1 Cotidianidad Español 7 5 Melodía acompañada Alta
2 Romántico Inglés 5 7 Melodía acompañada Media
3 Filosofía y sociedad Inglés 5 6 Melodía acompañada Baja
4 Erotismo y diversión Español 3 2 Melodía acompañada Muy alta
5 Filosofía y sociedad Chino 7 9 Heterofonía Muy alta
6 Sin lírica Alemán 4 10 Polifonía Baja
7 Cotidianidad Español 10 3 Polirritmia Media alta

Ejercicio 63. Determine tipo y dominio de cada rasgo predictor.


Ejercicio 64. Proponga las funciones de semejanza para cada rasgo predictor.

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.

No. Género Duración Promoción Presupuesto Ganancia


1 Acción Larga 6 80 Mucha
2 Comedia Corta 3 40 Media
3 Terror Larga 6 80 Poca
4 Comedia Muy larga 6 50 Mucha
5 Drama Muy larga 8 80 Poca

Ejercicio 67. Determine tipo y dominio de cada rasgo predictor.


Ejercicio 68. Proponga las funciones de semejanza para cada rasgo predictor.
Ejercicio 69. Proponga una función de semejanza de los casos si se conoce que el género es el
triple de importante que la duración y esta, a su vez, es el doble de importante que el resto de
los rasgos.
Ejercicio 70. Utilizando los datos dados en el problema y las soluciones dadas a los ejercicios
anteriores ¾cuál sería la ganancia predicha por el sistema si la última producción de la empresa
es del género comedia, posee una duración corta, y su promoción y presupuesto es de 6 y 80
respectivamente?
Problema 24. La empresa MultiProd, que se dedica al ensamblaje y venta de equipos de
computación, desea explorar sus posibilidades en un nuevo mercado. La empresa puede ensam-
blar productos para distintos nes (juegos, desarrollo de software, multimedia y uso general). La
empresa dispone de la información correspondiente a otros mercados en los que ella ha incursio-
nado y los tipos de equipos que mayor ganancia les proporcionó en cada uno de dichos escenarios.
En la tabla siguiente se muestra un extracto de dicha información. Se conoce que dos porcientos
se consideran equivalentes si se diferencian en, como máximo, 5 unidades aunque se mantiene
que mientras más aumenta la diferencia más disminuye la equivalencia.

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

Problema 25. Dada la siguiente base de conocimiento.


1 productor ( angola , otro ).
2 productor ( angola , diamante ).
3 productor ( brasil , equipamiento ).
4 productor ( brasil , otro ).
5 consumidor ( eua , otro ).
6 consumidor ( china , otro ).
7 consumidor ( china , diamante ).
8 relaciones_comerciales (X , Y) :- productor (X , Z ), consumidor (Y , Z), !.
9 relaciones_comerciales (X , Y) :- productor (Y , Z ), consumidor (X , Z ).

Escriba las respuestas que daría Prolog a las siguientes preguntas.


Ejercicio 77. ?- productor(angola, X).
Ejercicio 78. ?- productor(X,Z), !, consumidor(Y,Z).
Ejercicio 79. ?- productor(A, B), productor(A, equipamiento).
Ejercicio 80. ?- relaciones_comerciales(Z, china).
Ejercicio 81. Construya el árbol SLD para el objetivo anterior.
Problema 26. Dada la siguiente base de conocimiento:
1 a(j , m ).
2 a(i , u ).
3 a(u , r ).
4 a(b , r ).
5 a(p , m ).
6 s(A , B ) :- a(A , B ), !.
7 s(A , B ) :- a(B , A ), !.
8 s(A , B ) :- a(A , X ), ! , s(X , B ).
9 s(A , B ) :- a(X , A ), s (X , B ).

Escriba las respuestas que daría Prolog a las siguientes preguntas.


Ejercicio 82. ?- a(A, u).
Ejercicio 83. ?- a(A, u), a(j, A).
Ejercicio 84. ?- a(A, X), a(X, B).

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 .

Escriba las respuestas que daría Prolog a las siguientes preguntas.


Ejercicio 90. ?- e(A, B, 11).
Ejercicio 91. ?- e(3, _, A).
Ejercicio 92. ?- e(A, B, _), A > B.
Ejercicio 93. ?- p([3, 2], 4), e(1, 3, 2).
Ejercicio 94. ?- p([3, 5], B).
Ejercicio 95. Construya el árbol SLD para el objetivo anterior.
Problema 28. Dada la siguiente base de conocimiento:
1 p(a , b , c ).
2 p(q , t , q ).
3 p (1 , 2 , 3).
4 p(c , 3 , a ).
5 p(c , 2 , a ).
6 r ([] , 0).
7 r ([ _] , 0).
8 r ([ X , Y|L ], N ) :- p(X , _ , Y) , !, r(L , T ), N is T + 1.
9 r ([ _ , _|L ], N ) :- r(L , N ).

Escriba las respuestas que daría Prolog a las siguientes preguntas.


Ejercicio 96. ?- p(A, 2, X).
Ejercicio 97. ?- p(A, _, A).
Ejercicio 98. ?- p(_, _, E), p(X, y, 1).

22
Disciplina Inteligencia Computacional
Ejercicio 99. ?- p(X, Y, Z), !, p(Z, _, X).
Ejercicio 100. ?- r([c, a, 2, 3], R).

Ejercicio 101. Construya el árbol SLD para el objetivo dado.

Problema 29. Dada la siguiente base de conocimiento:


1 x (1 , 2 , 3).
2 x (2 , 3 , 4).
3 x (3 , 2 , 5).
4 x (5 , 4).
5 x (2 , 4).
6 x (4 , 3).
7 x (4 , 6).
8 x (2 , 1).
9 x (5 , 8).
10 y(A , B ) :- x(A , B ), !.
11 y(A , B ) :- x(B , X ), y (X , A), !, x(A , _ , B ).

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).

Resuelva los ejercicios que corresponden a este problema sin la utilización de


predicados conjuntuales y asumiendo que no existen términos repetidos en la base
de conocimiento.

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

Problema. Considere que la diferencia entre dos listas A = [a1 , a2 , . . . , ak ] y B = [b1 , b2 , . . . , bk ]


de igual longitud k se dene como
A − B = [a1 − b1 , a2 − b2 , . . . , ak − bk ]

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].

?- diferencia ([8 ,3 ,5 ,7] , [2 ,6 ,5 ,6] , L ).


L = [6 , -3 , 0, 1].

?- diferencia ([1 ,2 ,3 ,4] , [4 ,5 ,3] , L ).


false .
 

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.

?- preg ([8 ,3 ,5 ,7] , [2 ,6 ,5 ,6] , 6, 1).


true .

?- preg ([1 ,2 ,3 ,4] , [4 ,5 ,3] , 3 , R ).


Las listas no poseen igual longitud
false .
 
Observe cómo, en el primer ejemplo, se devuelve solo la primera posición del valor 3 dentro de
la diferencia. O sea, el valor 3 aparece en la diferencia por primera vez en la posición 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

sup(X, Y ) = [max(x1 , y1 ), max(x2 , y2 ), . . . , max(xk , yk )]

donde max(a, b) denota el máximo entre a y b.


Ejercicio 116. Implemente el predicado sup(+X, +Y, ?L) para hallar la cota superior entre las
listas X y Y .
Ejemplo:
 
?- sup ([2 ,3 ,4 ,5] ,[1 ,6 ,3 ,4] , L ).
L = [2 , 6, 4, 5].

?- sup ([8 ,6 ,4] , [3 ,4 ,7] , L ).


L = [8 , 6, 7].

?- sup ([1 ,2 ,3 ,5] , [8 ,5 ,3] , L ).


false .

?- sup ([1 ,2 ,3 ,5] , [8 ,5 ,3 ,4] , [8 , 5, 3 , 5]).


true .
 

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.

?- supPos ([8 ,6 ,4] , [3 ,4 ,7] , 0 , 8).


true .

?- supPos ([1 ,2 ,3 ,5] , [8 ,5 ,3] , 3, R ).


Las listas no poseen igual longitud
false .

?- supPos ([1 ,2 ,3 ,5] , [8 ,5 ,3 ,4] , 20 , R ).


Posición no válida
false .

?- supPos ([1 ,2 ,3 ,5] , [8 ,5 ,3] , 20 , R ).


Las listas no poseen igual longitud
false .
 

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].

?- fusion ([3 , 4, 5, 6, 7] , [1] , L ).


L = [3 , 1, 4, 5 , 6, 7].
 

Ejercicio 119. Confeccione, utilizando corte y recursividad, un predicado q2(A, N, R) donde A


es una lista de enteros de entrada y
R es la fusión de la lista de los elementos mayores que N con la lista de los elementos
menores que N en el orden en que se encuentran si A no es vacía.
Si A es vacía entonces el predicado debe escribir por consola Empty list y luego emitir
un fallo.
Ejemplo:
 
?- q2 ([1 , 2, 3, 4 , 5, 6, 7] , 4, R ).
R = [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 .

?- sublist ([1 , 2] , 2 , [1 , 3 , 2, 1, 3 , 2]).


true .

?- sublist ([1 , 2] , 0 , [2 , 1]).


false .

?- sublist ([1 , 2] , 5 , [1 , 2 , 3]).


Out of range
false .
 

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ó

ii. Fecha en que se aceptó el artículo para su publicación

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)

Se tiene que: FC(a) = 0.7 y FC(c) = 0.3.


Determine la certeza con que se inere n utilizando:
Ejercicio 166. Contribución y global de MYCIN.
Ejercicio 167. Contribución de MYCIN y global de PROSPECTOR.
Ejercicio 168. Contribución de sistemas difusos y global de MYCIN.
Ejercicio 169. Contribución de sistemas difusos y global de PROSPECTOR.

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.

Estatura = {pequeña, mediana, alta}


Salto = {pequeño, mediano, alto}
Rendimiento = {poco, medio, alto}

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.

Rendimiento(x) = 10µpoco (x) + 40µmedio (x) + 50µalto

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:

Velocidad (V ) Iluminación (I ) Horario (H ) Apertura (O)


Baja: h0; 0; 10; 20i Baja: h0; 0; 5; 10i 1ra Mitad: h0; 6; 12i Pequeña: h0; 0; 5; 10i
Media: h10; 20; 30i Media: h10; 15; 20; 25i 2da Mitad: h12; 18; 24i Media: h5; 15; 25i
Alta: h20; 30; 40; 40i Alta: h25; 30; 35; 35i Grande: h20; 25; 35; 35i
Ejercicio 179. Determine los grados de pertenencia a los conjuntos difusos de las variables de
entrada si se sabe que la velocidad del viento es 15, la iluminación es 26 y son las 6 horas del
día.

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.

No. Género Duración Promoción Ganancia


1 Acción Larga Alta Mucha
2 Acción Corta Alta Mucha
3 Terror Media Alta Mucha
4 Terror Media Baja Poca
5 Acción ? Alta Mucha
6 Terror Larga Alta Mucha
7 Acción Corta Baja Mucha
8 Terror Corta Baja Poca
9 Acción Larga Alta Mucha
10 Terror Larga Baja Poca

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.

Nombre Estatura Promedio Posición Seleccionar


Miguel Baja 5 Armador No
Alberto Media 8 Rematador No
Pablo Alta ? Central Sí
José Baja 2 Líbero No
Fernando Alta 7 Central No
Alejandro Alta 10 Rematador Sí

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

No. Temática Duración Paradigma Aceptar


1 RP 2 años POO Sí
2 RP 5 meses POO Sí
3 RP 1 año PF Sí
4 RP 3 años PF No
5 ? 3 meses PL No
6 RP 2 años PL Sí
7 SE 5 meses PL No
8 SE 9 meses PF Sí
9 SE 7 meses PL Sí
10 SE 3 meses POO No

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

Forma Textura Peso Fruta


Característica redonda elíptica suave rugosa ≥ 1 libra < 1 libra mango naranja
Valor 1 -1 1 -1 1 -1 1 -1
Los valores a tomar en cuenta para entrenar la red son los siguientes:

Fruta Forma Textura Peso


naranja redonda rugosa 1/4 libra

mango redonda suave 1/4 libra

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:

Material duradero Colores llamativos Precio Ventas altas


Sí Sí Alto Sí
No Sí Bajo No
Sí No Alto Sí
No No Bajo Sí
Sí Sí Alto Sí

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.

Sobre los autores:

Ing. Ernesto Soto


Profesor del Departamento de Inteligencia Computacional. `
Instructor
Facultad 1. Universidad de las Ciencias Informáticas.
soto@uci.cu

MSc. Yuniesky Coca


Metodólogo de la dirección de formación de Pregrado.
Profesor Auxiliar
Jefe de la disciplina Inteligencia Computacional.
ycoca@uci.cu

Documento generado por LATEX


el 10 de diciembre de 2020
Asignatura Inteligencia Articial

CopyLeft (c) 2020


MSc. Y. Coca
e-mail: ycoca@uci.cu

También podría gustarte