You are on page 1of 13

EJERCICIOS DE INTELIGENCIA ARTIFICIAL

Prof. Constantino Malagón

Principios de Inteligencia Artificial


Hoja 2

EJERCICIOS DE PROLOG

1.- Tenemos el siguiente conocimiento directo:

• Pedro padece gripe.


• Pedro padece hepatitis
• Juan padece hepatitis
• María padece gripe
• Carlos padece intoxicación
• La fiebre es síntoma de gripe
• El cansancio es síntoma de hepatitis
• La diarrea es síntoma de intoxicación
• El cansancio es síntoma de gripe
• La aspirina suprime la fiebre
• El Lomotil suprime la diarrea
• Además podemos aportar el siguiente conocimiento inferido
• Un fármaco alivia una enfermedad si la enfermedad tiene un
síntoma que sea suprimido por el fármaco.
• Una persona debería tomar un fármaco si padece una enfermedad
que sea aliviada por el fármaco.

Construir un programa que refleje dicho conocimiento y permita


resolver las siguientes cuestiones:

1) ¿Podemos conocer qué dolencia tiene Pedro? ¿Y María?


2) ¿Quién padece gripe?
3) ¿Qué síntomas tiene Pedro?
4) ¿Quién padece diarrea?
5) ¿Y quién está cansado?
6) ¿Hay algún fármaco que alivie a Pedro?
7) ¿Hay algún síntoma que compartan Juan y María?

2.- Tenemos el siguiente conocimiento directo:

• Bertoldo y Bartolo son rufianes.


• Romeo y Bertoldo, como su nombre indica, son nobles.
• Bartolo es un plebeyo.
• Gertrudis y Julieta son damas.
• Julieta es hermosa.

También disponemos del siguiente conocimiento indirecto:


• Los plebeyos desean a cualquier dama, mientras que los nobles sólo
a aquellas que son hermosas.
• Los rufianes, para satisfacer sus instintos, raptan a las personas a las
que desean.
Hoja 3

Construir un programa que refleje dicho conocimiento y permita resolver


las siguientes cuestiones:

1) ¿Qué noble es un rufián?


2) ¿Quién es susceptible de ser raptada por Romeo?
3) ¿Quién puede raptar a Julieta?
4) ¿Quién rapta a quién?
5) ¿A quién desea Bartolo?
6) ¿Y Romeo?
7) ¿Cuál hermosa dama es deseada por Bartolo?.

3. Consideremos las siguientes afirmaciones en lenguaje natural:


- Los estudiantes son siempre jóvenes.
- Los jóvenes que estudian están solteros.
- Los estudiantes que trabajan están casados.
- Los estudiantes del Seminario, aunque trabajen, están solteros.
- Las personas independientes están solteras.
- Soltero y casado son estados incompatibles.
- María estudia, y Jorge está casado.
- Natalia estudia filosofía, es independiente pero le gusta Daniel.

Representar este conocimiento en PROLOG.

Según ésta base de conocimientos, ¿Podría casarse María con


Daniel?
Hoja 4

EJERCICIOS DE BUSQUEDA

1. Dado el árbol de la figura donde B y L son los dos únicos nodos


meta y A es el nodo inicial, indicar el orden en que se visitan los
nodos, distinguiendo los que sólo se han generado de aquellos
que se han elegido en el proceso de búsqueda de la solución,
para cada uno de los procedimientos siguientes:

a. Búsqueda en amplitud
b. Búsqueda en profundidad
c. Búsqueda en retroceso

Se supone que en cada nivel del árbol los nodos se recorren de


izquierda a derecha y que el límite de profundidad es 5.

Fig. 1

2. Dado el siguiente grafo, donde A es el nodo inicial y H el nodo meta,


generar el árbol de búsqueda mediante los siguientes métodos:
a) Búsqueda en amplitud
Hoja 5

b) Búsqueda en profundidad

Fig. 2

3. Se dispone de dos cántaros de agua, uno de 4 litros y otro de 3 l. de


capacidad, siendo esta la única información que se tiene de los mismos.
Existe una bomba de agua con la que se puede llenar los cántaros. Se
desea que el cántaro de 4 l. de capacidad quede lleno por la mitad y el de
3 l. vacío. Abordar esta cuestión como un problema de búsqueda en un
espacio de estados. Para ello se pide:
a) Representar el espacio de estados como un conjunto de pares (x,y),
donde x e y representan la capacidad de la garrafa de 4 y 3 l.
respectivamente. Identificar el estado inicial y el meta, así como los
operadores.
b) Dibujar el árbol donde quede representado el proceso de búsqueda,
siguiendo un método de búsqueda en amplitud.

Nota.- Extraídos de J. Mira et al. Problemas resueltos de Inteligencia Artificial


aplicada. Búsqueda y representación. Ed. Adison-Wesley.
Hoja 6

4. Resolver el problema del 8-puzzle descrito en la figura 3 mediante los


algoritmos de búsqueda en amplitud y en profundidad.

Fig. 3

5. Resolver el problema 4 mediante el algoritmo A* suponiendo un coste


uniforme de 1 de aplicación de cada uno de los operadores disponibles y
considerando las dos heurísticas siguientes:
a) Suma de las distancias de Manhattan de todas las fichas que forman
un estado concreto del tablero
b) Número de fichas mal colocadas

6. Aplicar el algoritmo A* para hallar el camino que une las ciudades 1 y 8.


Las distancias por carretera entre las distintas ciudades vienen
especificada por la siguiente tabla:

1 2 3 4 5 6 7 8
1 200
2 200 150 350 450
3 150 400 225
4 350 300
5 450 400 300 250
6 225 450
7 250 450 125
8 125

Además, se dispone de la distancia aérea en línea recta que existe


entre todas las ciudades con la ciudad de destino:

1 2 3 4 5 6 7
800 650 500 650 325 375 125
Hoja 7

7. Dado el siguiente mapa de carreteras en el que los caminos entre cada


dos ciudades están etiquetados con sus distancias en kilómetros:

Fig.4

a) Describa el grafo correspondiente a la búsqueda del camino más corto


entre Palencia y Barcelona. Aplica el algoritmo A* para encontrar ese
camino suponiendo una estimación del coste del camino que resta
nula para todos los nodos.
b) Ver como cambia si tenemos en cuenta el siguiente cuadro de
distancias aéreas estimadas desde cada ciudad a Barcelona:

Bilbao Cáceres Madrid Palencia Santander Valencia Zaragoza


Barcelona 502 850 550 580 605 303 275
Hoja 8

EJERCICIOS DE SISTEMAS EXPERTOS

1. Diseñar un sistema de control del tráfico del metro mediante un sistema


experto basado en reglas. La figura 1 muestra un trazado de ferrocarril en el
que varios trenes pueden circular en las dos direcciones. Hay cinco vías,
S1,...,S5, y 14 señales de tráfico, ocho en la parte superior del diagrama,
U1,..,U8, y seis en la parte inferior, L1,...,L6. El objetivo de este sistema es
diseñar un conjunto de reglas que eviten la colisión de los trenes. Estas reglas
pueden obtenerse como sigue:

a) Si la señal de tráfico U1 está verde entonces puede permitirse la salida


de un tren que esté en la vía S1 y no debe permitirse la salida de los
trenes de la vía S2, por lo que L1 tiene que estar en rojo. Lo mismo es
cierto para las vías S4 y S5. Nótese que si el motor de inferencia utiliza la
regla del modus tollens estas reglas garantizan también que cuando las
señales de la parte baja de las vías están en verde, las señales de sus
correspondientes partes superiores estén en rojo. A estas reglas
implícitas las denominaremos Regla #a

b) Si la vía S1 está ocupada entonces la señal U2 debe estar en rojo para


evitar que un tren entre en la vía ocupada. Análogamente para las demás
vías. Esto debe dar lugar a seis reglas.

c) Si ambas señales U3 y L3 están en rojo, entonces ningún tren puede


salir de la vía S1. La misma condición vale para las señales U5 y L5. Se
tienen por lo tanto otras seis reglas.

d) Debo evitar la colisión de los trenes procedentes de las vías S1-S2 y


S4-S5 (2 reglas).

e) Debo evitar a su vez que las señales de la parte alta y sus


correspondientes señales de la parte baja estén simultáneamente en
verde (3 reglas).

f) Finalmente, para evitar la colisión de un tren de la vía S3 con un tren de


las otras cuatro vías se deben poner las dos últimas reglas.

2. Supongamos que en el ejercicio anterior tenemos los siguientes hechos


S1=ocupada, S3=ocupada y S5=ocupada. Con estos hechos tenemos las
Hoja 9

conclusiones correspondiente para los semáforos que se vean afectados.


En un momento determinado queremos que el tren de la vía S2 salga en
dirección Este. Para ello se hace U1=verde. ¿Cuáles serán las
conclusiones una vez introducimos este hecho? ¿Qué reglas se utilizarán
para obtenerlas?

3. Resolver el ejercicio 1 para la siguiente situación:


Hoja 10

EJERCICIOS DE LÓGICA BORROSA


Y
SISTEMAS EXPERTOS BORROSOS

1. Supongamos que tenemos un termostato con el que queremos regular la


temperatura de una habitación mediante un dispositivo que puede enfriar
o calentar según sea la temperatura que haya en la habitación. El objetivo
es que la temperatura de la habitación siempre se mantenga en un
intervalo de [+18º,22º]. Se pide:
a) Definir el universo del discurso, las variables lingüísticas, las posibles
particiones y sus posibles etiquetas para describirlos.
b) Construir los conjuntos difusos necesarios para representar los tres
posibles estados, diciendo qué valores comprende y proponiendo
gráficamente una función de pertenencia acorde a cada uno de los
estados.
c) Definir el posible solapamiento entre ellos, el conjunto soportado y los
puntos de cruce.
d) Si el valor de verdad de la proposición “la habitación está caliente” es
de 0.3, y el valor de verdad de la proposición “la habitación está fría es
de 0.82”, ¿cuál es el valor de verdad de la proposición “La habitación
está caliente o fría”, utilizando la función de verdad estándar en lógica
difusa?

2. Construir un sistema experto borroso para un problema genérico que


contiene tres variables, dos de entrada (x, y) y una de salida (z). Las
variables x, y, y z toman valores en el intervalo [0,10], y sus funciones de
pertenencia son
low(t) = 1 - ( t / 10 )
high(t) = t / 10
y las reglas de la base de conocimiento son
rule 1: if x is low and y is low then z is high
rule 2: if x is low and y is high then z is low
rule 3: if x is high and y is low then z is low
rule 4: if x is high and y is high then z is high
Hoja 11

3. Supongamos que tenemos que estudiar el funcionamiento del diafragma


de una cámara de fotos. El diafragma es un mecanismo de la cámara
cuya función es abrirse o cerrarse dependiendo de la luz que le llegue a
un sensor. Supongamos que la abertura máxima se produce a una
luminosidad de 100 lumen y en este punto debe abrirse hasta un radio
máximo de 1 mm. Para valores menores de 100 se considera una
luminosidad baja y para valores mayores (hasta 200 se considera el
umbral máximo de luminosidad) se considera alta. Considera que de 0 a
100 el aumento de la luminosida debe ser lineal, y análogamente con el
descenso (de 100 a 200) Además hay que considerar como factor a tener
en cuenta la velocidad del objeto que se fotografía. Mediante técnicas de
transformación se consigue que las variaciones de la velocidad se
encuentren en la misma escala y sigan el mismo comportamiento, pero es
máxima en 200, y su intevalo es de (100,300), aumentando linealmente
desde el 100 y disminuyendo linealmente hasta el 300.
Por otra parte la salida (abertura del diafragma) debe tener las mismas
características en cuanto a comportamiento (linealidad,…), pero en el
intervalo (-10,10), con el máximo en el cero. Se quiere diseñar un sistema
experto basado en lógica borrosa para controlar la abertura del diafragma.
Las reglas que deben usarse son:

Velocidad
Low High
Luminosidad Low Low High
High High Low

Obtener el conjunto borroso resultante y el crisp number para valores de


(luminosidad, velocidad) (140,140)
¿Cuántos mm se abrirá el diafragma para el crisp number resultante?
Hoja 12

EJERCICIOS DE REDES NEURONALES

1. Se tiene un conjunto de patrones Pi representados de la siguiente


forma:
P1 (1 0 0)
P2 (1 1 0)
P3 (0 1 0)
P4 (0 0 1)
P5 (1 0 1)
P6 (1 1 1)
Se sabe que están divididos en 2 categorías, dependiendo del valor de
su coordenada z. Para intentar clasificarlos se construye un perceptrón
simple, con una función de aprendizaje basada en la Regla Delta, un
factor de aprendizaje ε = 0.5 y una función de activación de tipo
umbral con θ = 1 . Modelizar el problema mediante una red neuronal,
asignando valores aleatorios y pequeños, tanto positivos como
negativos a los pesos sinápticos.
Una vez el aprendizaje ha concluido, ¿Cómo clasificaría el patrón P7 (0
0 0)? Resuélvelo presentándole a la red este patrón con la matriz de
pesos sinápticos resultante.

2. Se cree que los niños aprenden mediante un proceso llamado


razonamiento por analogía, en el que intentan asociar objetos
parecidos a otros que ya conocen, y los intentan agrupar por
categorías. Supón que un niño ha visto alguna vez un león en el zoo y
que sabe que es peligroso, y lo ha representado internamente por el
patrón (1 1 0 1 0 1 1) A su vez como en su casa hay un perro sabe
que los perros (que representaremos por el patrón (1 0 0 1 1 0 0 ) ) no
son peligrosos. Un día este niño andando por la calle se encuentra a
un gato, que representaremos por el patrón (1 1 1 0 1 1 1)
Hoja 13

¿Debe salir corriendo el niño porque crea al verlo que se parece


demasiado a un león? Modeliza ésta situación (el aprendizaje del león y
después del gato) mediante un asociador lineal de patrones, dando
valores aleatorios (pequeños y positivos y negativos) a los pesos
sinápticos. Utiliza para ello la función de aprendizaje hebbiana (es decir,
basada en la regla de Hebb) y una función de activación de tipo umbral.

3. Clasificar los puntos (1,1), (0,0), (1,0), (0,1) resultantes de aplicarles la


función NAND (función AND negada) mediante un perceptrón simple, con
una función de aprendizaje basada en la Regla Delta, un factor de
aprendizaje ε = 0.5 y una función de activación de tipo umbral con θ = 1 .
Asigna valores aleatorios y pequeños, tanto positivos como negativos a
los pesos sinápticos. ¿Mediante qué recta los ha separado el perceptrón?
Indica los parámetros correspondientes a dicha recta (pendiente y
ordenada en el origen) e identifícalos con los parámetros de la propia red
neuronal.