Está en la página 1de 96

Inteligencia Artificial e Ingeniera

del Conocimiento

Felix Gomez Marmol


4o Ingeniera Informatica

Indice general
I

Inteligencia Artificial

1. Resoluci
on de Problemas
1.1. Estrategias de b
usqueda en grafos: heursticas . . . . . . . . . . . . .
1.1.1. B
usqueda primero el mejor . . . . . . . . . . . . . . . . . . .
1.1.2. B
usqueda A* . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.3. B
usqueda con memoria acotada . . . . . . . . . . . . . . . . .
1.2. Estrategias de B
usqueda en Grafos YO: Heursticas . . . . . . . . . .
1.2.1. Caractersticas de las funciones de evaluacion para grafos YO
1.2.2. B
usqueda mejor nodo para grafos YO . . . . . . . . . . . . .
1.3. Funciones Heursticas . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3.1. Efecto de la precision heurstica en el rendimiento . . . . . .
1.3.2. Inventando funciones heursticas . . . . . . . . . . . . . . . .
1.4. Estrategias de B
usqueda Local y Problemas de Optimizacion . . . .
1.4.1. B
usqueda de ascension de colinas (mejor avara) . . . . . . . .
1.4.2. B
usqueda tab
u . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4.3. B
usqueda por haz local . . . . . . . . . . . . . . . . . . . . .
1.4.4. Algoritmo genetico . . . . . . . . . . . . . . . . . . . . . . . .
1.5. Estrategias de B
usqueda Online . . . . . . . . . . . . . . . . . . . . .
1.6. Estrategias en adversarios . . . . . . . . . . . . . . . . . . . . . . . .
1.6.1. Juegos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.6.2. Decisiones en tiempo real imperfectas . . . . . . . . . . . . .
1.6.3. Juegos que incluyen un elemento de posibilidad . . . . . . . .
2. Representaci
on del Conocimiento. Razonamiento
2.1. Representacion del Conocimiento mediante Logicas
2.1.1. Logicas no monotonas . . . . . . . . . . . .
2.1.2. Logica de situaciones . . . . . . . . . . . . .
2.1.3. Logica difusa . . . . . . . . . . . . . . . . .
2.2. Representacion y Razonamiento con Incertidumbre
2.2.1. Representacion y fuentes de incertidumbre .
2.2.2. Teora de Dempster-Shafer de la evidencia .
2.3. Representaciones Estructuradas del Conocimiento .
2.3.1. Redes Semanticas . . . . . . . . . . . . . . .
2.3.2. Marcos o Frames . . . . . . . . . . . . . . .
2.3.3. Guiones . . . . . . . . . . . . . . . . . . . .

no Clasicas
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .

3. Planificar para la Resoluci


on de Problemas
3.1. Planificacion y Resolucion de Problemas . . . . . . .
3.1.1. El problema de la planificacion . . . . . . . .
3.1.2. Tipos de planificadores, estados y operadores
3.1.3. Metodos de planificacion . . . . . . . . . . . .
3

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

9
9
10
12
14
16
18
19
23
23
24
25
25
27
30
30
31
33
33
35
36

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

37
37
37
37
38
40
40
41
45
45
48
50

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

53
53
53
54
55


INDICE GENERAL

3.2. Planificacion de Orden Total . . . . . . . . . . . . . . . . .


3.2.1. Planificacion usando una pila de objetivos (STRIPS)
3.2.2. STRIP con proteccion de objetivos (RSTRIP) . . . .
3.3. Planificacion Ordenada Parcialmente . . . . . . . . . . . . .
3.3.1. Planificacion no lineal sistematica (PNLS) . . . . . .
3.4. Planificacion Jerarquica . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

56
56
59
60
61
62

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

63
63
63
63
65

.
.
.
.

67
67
67
68
69

.
.
.
.
.
.
.
.
.
.

73
73
74
75
75
76
77
78
78
78
79

.
.
.
.
.

81
81
82
82
84
85

8. Aprendizaje por Descubrimiento


8.1. Clustering o Agrupamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.1.1. Algoritmo de k-medias . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.1.2. Mapas autoasociativos de Kohonen . . . . . . . . . . . . . . . . . . . .

87
87
87
88

II

91

4. El Aprendizaje Computacional
4.1. El Problema del Aprendizaje Computacional . . . .
4.2. Conceptos Basicos . . . . . . . . . . . . . . . . . . .
4.2.1. Tipos, fases y caractersticas del aprendizaje
4.2.2. Estimacion del error . . . . . . . . . . . . . .
5. Aprendizaje por Inducci
on en Modo Estructural
5.1. Programa de aprendizaje de Winston . . . . . . . .
5.1.1. Generalizacion . . . . . . . . . . . . . . . .
5.1.2. Especializacion . . . . . . . . . . . . . . . .
5.2. Espacio de versiones . . . . . . . . . . . . . . . . .

.
.
.
.

.
.
.
.

.
.
.
.

6. Aprendizaje Basado en Instancias


6.1. Convergencia de los Metodos Basados en Instancias . .
6.2. Aprendizaje mediante kM vecinos . . . . . . . . . . . .
6.3. Aprendizaje mediante el metodo de Parzen . . . . . .
6.4. Mejora de los metodos basados en instancias . . . . .
6.4.1. Multiedicion . . . . . . . . . . . . . . . . . . .
6.4.2. Condensacion . . . . . . . . . . . . . . . . . . .
6.5. Funciones Distancia Heterogeneas . . . . . . . . . . . .
6.5.1. Normalizacion . . . . . . . . . . . . . . . . . .
6.5.2. Discretizacion . . . . . . . . . . . . . . . . . . .
6.5.3. Distintas metricas para el calculo de distancias
7. M
aquinas de Aprendizaje
7.1. El Perceptron como Discriminante Lineal . .
7.1.1. Criterio y construccion del perceptron
7.2. Redes de Perceptrones Multicapa . . . . . . .

7.3. Arboles
de Clasificacion . . . . . . . . . . . .

7.4. Arboles
de Regresion . . . . . . . . . . . . . .

Ingeniera del Conocimiento

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.

9. Principios de la Ingeniera del Conocimiento

93

10.La Adquisici
on del Conocimiento

95

Indice de figuras
1.1. Grafo de mapa de carreteras . . . . . . . . . . . . . . . . . . . . . . . . .
1.2. B
usqueda Primero Mejor Avaro . . . . . . . . . . . . . . . . . . . . . . .
1.3. B
usqueda A* . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4. Funcion heurstica e-admisible . . . . . . . . . . . . . . . . . . . . . . . .
1.5. B
usqueda Primero el Mejor Recursiva . . . . . . . . . . . . . . . . . . .
1.6. B
usqueda A* con memoria acotada simplificada (A*MS) . . . . . . . . .

1.7. Arbol
YO con la profundidad de cada nodo . . . . . . . . . . . . . . . .

1.8. Arbol
YO no puro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.9. Hipergrafo o grafo YO . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.10. Soluciones del Hipergrafo de la figura 1.9 . . . . . . . . . . . . . . . . .
1.11. Ejemplo de b
usqueda del grafo solucion optimo . . . . . . . . . . . . . .
1.12. Grafo YO con h(n) no monotona . . . . . . . . . . . . . . . . . . . . . .
1.13. Solucion al grafo de la figura 1.12 propagando por conectores marcados
1.14. Solucion al grafo de la figura 1.12 propagando por todos los antecesores
1.15. Grafo YO con h(n) monotona . . . . . . . . . . . . . . . . . . . . . . . .
1.16. Solucion al grafo de la figura 1.15 propagando por conectores marcados
1.17. Grafo YO con varias soluciones con distintos costos . . . . . . . . . . . .
1.18. Soluciones al Grafo YO de la figura 1.17 . . . . . . . . . . . . . . . . . .
1.19. Funcion admisible h = max(h1 , h2 , h3 ) h . . . . . . . . . . . . . . . .
1.20. Funcion Objetivo vs Espacio de Estados . . . . . . . . . . . . . . . . . .
1.21. Juego de las 3 en raya . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.22. Estados terminales en el juego de las 3 en raya . . . . . . . . . . . . . .
1.23. Estrategia MiniMax . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.24. Ejemplo de juego con 3 jugadores . . . . . . . . . . . . . . . . . . . . . .
1.25. Poda alfa-beta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.26. Juego de las 3 en raya con profundidad limitada . . . . . . . . . . . . .
1.27. Ejemplo de estrategia MiniMax Esperada . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

11
11
12
13
15
15
16
16
17
17
18
19
21
21
22
22
22
23
25
25
33
34
34
34
35
35
36

2.1. Ejemplo de logica de situaciones . . . . . . . . . . . .


2.2. Funcion de pertenencia continua ser joven . . . . . .
2.3. Funciones de pertenencia A y N O A . . . . . . . . .
2.4. Funcion de pertenencia discreta ser joven . . . . . . .
2.5. Operadores de Zadeh . . . . . . . . . . . . . . . . . . .
2.6. Extension Cilndrica . . . . . . . . . . . . . . . . . . .
2.7. Ejemplo de Red Semantica . . . . . . . . . . . . . . .
2.8. Ejemplo de regla en una Red Semantica . . . . . . . .
2.9. Ejemplo de Red Semantica con un hecho y una regla .
2.10. Ejemplo de reglas que relacionan elementos temporales
2.11. Ejemplo de inferencia en redes semanticas (1) . . . . .
2.12. Ejemplo de inferencia en redes semanticas (2) . . . . .
2.13. Ejemplo de inferencia en redes semanticas (3) . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

38
38
38
39
39
40
46
46
46
47
47
48
48

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.


INDICE DE FIGURAS

2.14. Ejemplo de frame Empleado y Padre de Familia . . . . . . . . . . . . . .


2.15. Ejemplo de jerarqua de frames . . . . . . . . . . . . . . . . . . . . . . . . . .

48
49

3.1. Ejemplo de planificacion no lineal . . . . . . . . . . . . . . . . . . . . . . . . .


3.2. Operador MOVER(X,Y,Z) . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3. Ejemplo de planificacion no lineal sistematica . . . . . . . . . . . . . . . . . .

60
61
62

4.1. Fases del aprendizaje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

64

5.1.
5.2.
5.3.
5.4.
5.5.

Ejemplos de la base de entrenamiento. Generalizacion . .


Ejemplos de la base de entrenamiento. Especializacion (1)
Ejemplos de la base de entrenamiento. Especializacion (2)
Ejemplo de aprendizaje del concepto arco . . . . . . . .
Frame Coche . . . . . . . . . . . . . . . . . . . . . . . . .

6.1.
6.2.
6.3.
6.4.
6.5.
6.6.
6.7.
6.8.
7.1.
7.2.
7.3.
7.4.
7.5.
7.6.
7.7.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

68
68
69
71
72

Fases del aprendizaje basado en instancias . .


Aprendizaje basado en k-vecinos . . . . . . .
Aprendizaje basado en Parzen . . . . . . . . .
Multiedicion . . . . . . . . . . . . . . . . . . .
Base de ejemplos particionada . . . . . . . . .
Base de ejemplos particionada y parcialmente
Condensacion . . . . . . . . . . . . . . . . . .
Discretizacion . . . . . . . . . . . . . . . . . .

. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
multieditada
. . . . . . . .
. . . . . . . .

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

73
74
75
76
77
77
77
78

Esquema de un Perceptron . . . . . . . . . .
Ejemplo de clases linealmente separables . . .
Ejemplo de clases NO linealmente separables
Ejemplo de perceptron multicapa . . . . . . .
Estructura de un perceptron multicapa . . . .
Ejemplo de arbol de clasificacion . . . . . . .
Ejemplo de poda por estimacion del error . .

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

81
81
82
83
83
84
85

8.1. Mapa autoasociativo de Kohonen . . . . . . . . . . . . . . . . . . . . . . . . .

88

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

Parte I

Inteligencia Artificial

Captulo 1

Resoluci
on de Problemas

funci
on BUSQUEDAARBOLES(problema,frontera)
devuelve una solucion o fallo
frontera INSERTA(HACER-NODO(ESTADO-INICIAL[problema]),frontera)
hacer
si VACIA(frontera) entonces devolver fallo
nodo BORRAR-PRIMERO(frontera)
si TEST-OBJETIVO[problema] aplicado al ESTADO[nodo] es cierto
entonces devolver SOLUCION(nodo)
frontera INSERTA-TODO(EXPANDIR(nodo,problema),frontera)
Function B
USQUEDA-
ARBOLES(problema,frontera)

funci
on EXPANDIR(nodo,problema) devuelve un conjunto de nodos
sucesores conjunto vaco
para cada (accion, resultado) en SUCESOR[problema](ESTADO[nodo]) hacer
s un nuevo NODO
ESTADO[s] resultado
NODO-PADRE[s] nodo

ACCION[s]
accion
COSTO-CAMINO[s]
COSTO-CAMINO[nodo]+COSTO-INDIVIDUAL(nodo,accion,s)
PROFUNDIDAD[s] PROFUNDIDAD[nodo] + 1
a
nadir s a sucesores
devolver sucesores
Function EXPANDIR(nodo,problema)

1.1.

Estrategias de b
usqueda en grafos: heursticas

Definici
on 1.1 Llamaremos estado a la configuracion del problema en un momento determinado.
Definici
on 1.2 Llamaremos nodo al conjunto formado por el estado del problema, el padre
del nodo, la profundidad del mismo, el coste asociado con el y la accion que lo produjo.
Definici
on 1.3 Llamaremos conjunto de cerrados al conjunto de nodos que ya han sido
estudiados.
9

10

Captulo 1. Resoluci
on de Problemas

funci
on BUSQUEDA-GRAFOS(problema,frontera)
devuelve una solucion o fallo
cerrado conjunto vaco
frontera INSERTA(HACER-NODO(ESTADO-INICIAL[problema]),frontera)
hacer
si VACIA(frontera) entonces devolver fallo
nodo BORRAR-PRIMERO(frontera)
si TEST-OBJETIVO[problema](ESTADO[nodo]) es cierto
entonces devolver SOLUCION(nodo)
si ESTADO[nodo] no esta en cerrado entonces
a
nadir ESTADO[nodo] a cerrado
frontera INSERTA-TODO(EXPANDIR(nodo,problema),frontera)
Function B
USQUEDA-GRAFOS(problema,frontera)
Definici
on 1.4 Llamaremos conjunto de abiertos o frontera al conjunto de nodos que
han sido expandidos, pero que a
un no han sido estudiados.
En arboles no existen nodos repetidos y es por esto que no existe el conjunto de cerrados,
ni se comprueba este hecho. En grafos, sin embargo, si a un nodo se llega por varios caminos,
nos quedamos siempre con un solo nodo: el mejor.
Los nodos internos de una estructura de arbol expandido1 pertenecen siempre a cerrados,
mientras que las hojas pertenecen a la frontera (salvo aquellas hojas que no son solucion, las
cuales tambien estaran en el conjunto de cerrados).

1.1.1.

B
usqueda primero el mejor

Para a
nadir informacion heurstica, ordenamos la frontera seg
un una funcion f (n)2 que
mide el costo necesario para llegar hasta la solucion. As, en cada paso del algoritmo, tomamos
el primer nodo de la lista (aquel que menor valor de f tenga).
Esta funcion f (n) se compone total o parcialmente de otra funcion h(n) (llamada funci
on
heurstica), que siempre cumple que h(objetivo) = 0. Ademas, dicha funcion f (n) se va
adaptando seg
un se resuelve el problema (la funcion de costo uniforme, por ejemplo, no).
Las estrategias de b
usqueda vistas en cursos anteriores (profundidad, anchura, costo uniforme, etc.) no son mas que un caso particular de la B
usqueda Primero el Mejor.
Definici
on 1.5 Diremos que un algoritmo es completo si siempre devuelve una solucion,
cuando esta existe.
Definici
on 1.6 Diremos que un algoritmo es admisible si siempre devuelve una solucion
optima, cuando esta existe.
Definici
on 1.7 Llamaremos funci
on heurstica a aquella funcion h que cumple que
h(n) h (n),

(siendo h la funcion heurstica optima y h una estimacion).


Nota.- Nosotros vamos a suponer que la expansion de un nodo es siempre completa y que la informacion heurstica solo sirve para decidir que nodo (de entre
los expandidos) debemos estudiar.
1
2

El
arbol que resulta de expandir un grafo
Donde n representa a un nodo cualquiera

1.1 Estrategias de b
usqueda en grafos: heursticas

11

B
usqueda Primero el Mejor Avaro
Para este tipo de b
usqueda la funcion f se define como
f (n) = h(n),

Ejemplo 1.1 Sea el grafo de la figura 1.1 que representa un mapa de carreteras entre ciudades. Nuestro objetivo es buscar el mejor camino entre la ciudad A y la ciudad B.

Figura 1.1: Grafo de mapa de carreteras


Para ello tomamos como funci
on heurstica la distancia en lnea recta desde un nodo en
concreto hasta la soluci
on. A continuaci
on se observan los valores de h para cada nodo n:
n
A
F
M
S

h(n)
366
176
241
253

n
B
G
N
T

h(n)
0
77
234
329

n
C
H
O
U

h(n)
160
151
380
80

n
D
I
P
V

h(n)
242
266
100
199

n
E
L
R
Z

h(n)
161
244
193
374

Esta funci
on es claramente admisible, pues, por la propiedad triangular, se tiene que h(n) <
a + b, siendo a y b dos lados cualesquiera que formen junto con h(n) un tri
angulo. Y, en el

extremo, podra ocurrir que h(n) = h (n) (si existiera un camino directo entre A y B).
En la figura 1.2 se muestra el
arbol expandido correspondiente a aplicar la b
usqueda primero el mejor avaro, as como la evoluci
on de la frontera en cada paso del algoritmo.

Figura 1.2: B
usqueda Primero Mejor Avaro
Tras ver este ejemplo, podemos comprobar que la B
usqueda Primero el Mejor Avaro no es
completa, pues podra entrar en un ciclo sin fin. Tampoco se trata de un algoritmo admisible.

12

1.1.2.

Captulo 1. Resoluci
on de Problemas

B
usqueda A*

La funcion heurstica para este tipo de b


usquedas se define como
f (n) = g(n) + h(n),

donde:
g(n) es el costo real del camino recorrido hasta el nodo n.
h(n) es una estimacion del costo del camino desde el nodo n hasta el nodo objetivo.
f (n) es una estimacion del costo del camino desde el nodo inicial hasta el nodo objetivo,
pasando por el nodo n.
Una funcion f definida de esta manera es admisible, puesto que, por la componente g,
se evita entrar en ciclos y se realiza una b
usqueda en anchura. As, una funcion f admisible
hace que un algoritmo A sea admisible y completo.
Ejemplo 1.2 Siguiendo el enunciado del ejemplo anterior, la figura 1.3 muestra ahora el
arbol expandido resultado de aplicar el algoritmo A*, as como la evoluci

on de la frontera en
cada paso del algoritmo.

Figura 1.3: B
usqueda A*
Supongamos un nodo G, no optimo, con h(G) = 0 y c solucion optima. Entonces se
cumple que:
f (G) = g(G) + h(G) = g(G) > c
Supongamos ahora un nodo n, perteneciente al camino optimo. Entonces tenemos lo
siguiente:
f (n) = g(n) + h(n) c
y
f (n) c < f (G)
Por lo tanto, queda demostrado que el hecho de que f sea admisible implica que siempre
se estudiara cualquier nodo del camino optimo antes que otro nodo objetivo no optimo (como
ocurre en el ejemplo 1.2, en el que el nodo objetivo B no se estudia en cuanto aparece en la
estructura, sino cuando realmente es solucion optima).

1.1 Estrategias de b
usqueda en grafos: heursticas

13

Tambien podemos afirmar que si la funcion heurstica es admisible y se trabaja con estructura de grafos, el primer nodo que entre en cerrados sera siempre mejor que cualquier
otro nodo igual que ese, que aparezca despues de el.
Sin embargo, determinar si h(n) h (n), n es un problema intratable; y por lo tanto
definimos las dos siguientes propiedades sobre funciones heursticas.
Definici
on 1.8 Una funcion heurstica se dice que es monotona si cumple que:
h(n) c(n, a, n0 ) + h(n0 ),

n, n0 sucesores inmediatos

donde c(n, a, n0 ) es el costo asociado a la accion a que hace pasar del nodo n al n0 (sucesores
inmediatos).
Definici
on 1.9 Una funcion heurstica se dice que es consistente si cumple que:
h(n) K(n, n0 ) + h(n0 ),

n, n0

donde K(n, n0 ) es el costo asociado al camino que une n y n0 al aplicar una secuencia de
acciones.
Proposici
on 1.1 Una funcion heurstica que sea o bien monotona, o bien consistente es una
funcion admisible y, por tanto, con ellas se encuentra la solucion optima.
Nota.- Ojo! Estas propiedades, que son equivalentes entre s, no se pueden
comprobar si no se conoce la estructura del problema (arbol, grafo, arbol YO,...).
En ocasiones sera interesante obviar la condicion de optimalidad y para ello, en vez de
emplear funciones admisibles que cumplan h(n) h (n) n, emplearemos funciones eadmisibles que cumplan
h(n) h (n) + e n

Figura 1.4: Funcion heurstica e-admisible


Una funcion e-admisible proporciona soluciones e-optimas (con las que se puede conocer
el error cometido al encontrar una solucion no optima).
Pero, como decamos antes, h (n) es muy difcil de conocer y por ello hemos introducido
las propiedades de monotona y consistencia.
h(n)
h(n0 ) + c(n, n0 )
pero
h(n) h(n0 ) + c(n, n0 ) + e

14

1.1.3.

Captulo 1. Resoluci
on de Problemas

B
usqueda con memoria acotada

La b
usqueda A* sigue adoleciendo del problema de la explosion combinatoria (se generan nodos seg
un una funcion exponencial), por lo que se consume rapidamente la memoria
disponible.
B
usqueda A* con profundidad iterativa (A*PI)
En este algoritmo, cada iteracion es una b
usqueda primero en profundidad, igual que en
cualquier b
usqueda con profundidad iterativa.
Sin embargo, la b
usqueda primero en profundidad se modifica para que utilice un lmite
de costo f (n) en vez del tradicional lmite de profundidad.
De este modo en cada iteracion se expanden todos los nodos que estan dentro del contorno
de f .
B
usqueda Primero Mejor Recursiva (BPMR)

funci
on BUSQUEDA-PRIMERO-MEJOR-RECURSIVA(problema)
devuelve una
solucion o fallo
BPMR(problema,HACER-NODO(ESTADO-INICIAL[problema]),)
Function B
USQUEDA-PRIMERO-MEJOR-RECURSIVA(problema)

funci
on BPMR(problema,nodo,f lmite) devuelve solucion o fallo y nuevo lmite
f -costo
si TEST-OBJETIVO[problema](estado) entonces devolver nodo
sucesores EXPANDIR(nodo,problema)
si sucesores esta vaco entonces devolver fallo,
para cada s en sucesores hacer
f [s] max(g(s)+h(s),f [nodo])
repetir
mejor el nodo con el f -valor mas peque
no de sucesores
si f [mejor] > f lmite entonces devuelve fallo,f [mejor]
alternativa el f -valor segundo mas peque
no entre los sucesores
resultado,f [mejor] BPMR(problema,mejor,min(f lmite,alternativa))
si resultado 6= fallo entonces devolver resultado
Function BPMR(problema,nodo,f lmite)
Ejemplo 1.3 En la figura 1.5 se muestra el
arbol expandido resultado de aplicar el algoritmo

BUSQUEDA-PRIMERO-MEJOR-RECURSIVA
al ejemplo de siempre.
La crtica a este metodo es que solo emplea un n
umero para representar la bondad de
una rama.
B
usqueda A* con memoria acotada simplificada (A*MS)
Se ejecuta el algoritmo A* tal cual. Si la memoria se agota antes de encontrar la solucion,
se elimina el peor nodo seg
un su funcion heurstica y se introduce el nuevo.
Ejemplo 1.4 En la figura 1.6 se muestra la evoluci
on del
arbol expandido resultado de aplicar
el algoritmo de b
usqueda A* con memoria acotada simplificada al ejemplo de siempre.

1.1 Estrategias de b
usqueda en grafos: heursticas

15

Figura 1.5: B
usqueda Primero el Mejor Recursiva

Figura 1.6: B
usqueda A* con memoria acotada simplificada (A*MS)

16

1.2.

Captulo 1. Resoluci
on de Problemas

Estrategias de B
usqueda en Grafos YO: Heursticas

Se dice que un problema es descomponible si se puede descomponer en un conjunto de


subproblemas independientes mas sencillos; y es en estos casos en los que una representacion
del problema por reduccion es la mas apropiada.
Los arboles YO, empleados en la representacion por reduccion, son aquellos en los que
cada nodo representa un subproblema simple (nodo O) o un conjunto de subproblemas a
resolver (nodo Y).
Un nodo que no se descompone o simplifica se llama nodo terminal. Un nodo terminal
con solucion se corresponde con un problema primitivo y se llama Primitiva.
Si al aplicar un operador se produce un conjunto de subproblemas solucion alternativos,
entonces se genera un nodo O. Si por el contrario se produce un conjunto de subproblemas
que deben ser resueltos necesariamente, entonces se produce un nodo Y.
Un nodo de un arbol YO tiene solucion (es resoluble) si se cumple alguna de las siguientes
condiciones:
1. Es un nodo primitiva
2. Es un nodo no terminal de tipo Y y sus sucesores son todos resolubles.
3. Es un nodo no terminal de tipo O y alguno de sus sucesores es resoluble.
En un arbol YO puro cada nodo o bien es Y, o bien es O.

Figura 1.7: Arbol


YO con la profundidad de cada nodo

Figura 1.8: Arbol


YO no puro
Trataremos los grafos YO como hipergrafos y los arcos como hiperarcos, conectores que
conectan un nodo con varios nodos o k-conectores.
Un hipergrafo que solo contiene 1-conectores es un grafo ordinario.
Con representacion mediante estados se necesita conocer el estado inicial, los operadores
y el estado final. Con representacion mediante reduccion, por otra parte, se necesita saber el
nodo distinguido, los operadores y las primitivas.
La solucion en este tipo de problemas es un subgrafo que una el nodo distinguido con
todos o algunos de los nodos primitiva.
Supondremos, para simplificar, que el hipergrafo no tiene ciclos.

1.2 Estrategias de B
usqueda en Grafos YO: Heursticas

17

Figura 1.9: Hipergrafo o grafo YO

Figura 1.10: Soluciones del Hipergrafo de la figura 1.9


Definici
on 1.10 Vamos a designar como G0 a un grafo solucion desde el nodo n al conjunto
N (conjunto de nodos primitiva) dentro de un grafo G.
Si n es un elemento de N , G0 consta solo de n.
En otro caso:
Si n tiene un k-conector que parte de el dirigido a los nodos n1 , n2 , . . . , nk tal que
haya un grafo solucion para cada ni hasta N , entonces G0 consta:
del nodo n, del k-conector, de los nodos n1 , n2 , . . . , nk mas los grafos solucion desde
cada ni hasta N .
En otro caso, no hay grafo solucion de n a N .
Costo asociado al grafo soluci
on de n a N : K(n, N )
Si n es un elemento de N , K = 0
En otro caso
Si n tiene un k-conector que parte de el dirigido a los nodos n1 , n2 , . . . , nk en el
grafo solucion entonces
K(n, N ) = ck +

k
X
i=1

siendo ck el costo del k-conector.

K(ni , N )

18

Captulo 1. Resoluci
on de Problemas

Ejemplo 1.5 Si ck = k:
Para la soluci
on 1:
K(n0 , N ) = 1 + K(n1 , N ) = 1 + 1 + K(n3 , N ) = 1 + 1 + 2 + K(n5 , N ) + K(n6 , N ) =
1+1+2+2+K(n7 , N )+K(n8 , N )+2+K(n7 , N )+K(n8 , N ) = 1+1+2+2+0+0+2+0+0 = 8
Para la soluci
on 2:
K(n0 , N ) = 2 + K(n4 , N ) + K(n5 , N ) = 2 + 1 + K(n5 , N ) + 2 + K(n7 , N ) + K(n8 , N ) =
2 + 1 + 2 + K(n7 , N ) + K(n8 , N ) + 2 + 0 + 0 = 2 + 1 + 2 + 0 + 0 + 2 + 0 + 0 = 7

1.2.1.

Caractersticas de las funciones de evaluaci


on para grafos YO

Llamaremos grafo solucion optimo a aquel grafo solucion que tenga costo mnimo. Dicho
costo esta denotado por h (n), pero, como ya sabemos, este valor es muy difcil de conocer y
por lo tanto tenemos que estimarlo.
Para buscar en un grafo YO es necesario hacer tres cosas en cada paso:
1. Atravesar el grafo empezando por el nodo inicial y siguiendo el mejor camino actual,
acumulando el conjunto de nodos que van en ese camino y a
un no se han expandido.
2. Coger uno de estos nodos no expandidos y expandirlo. A
nadir sus sucesores al grafo y
calcular h para cada uno de ellos.
3. Cambiar la h estimada del nodo recientemente expandido para reflejar la nueva informacion proporcionada por sus sucesores. Propagar este cambio hacia atras a traves del
grafo. Para cada nodo que se visita mientras se va avanzando en el grafo, decidir cual
de sus conectores es mas prometedor y marcarlo como parte del mejor grafo solucion
parcial actual. Esto puede hacer que dicho grafo solucion parcial cambie.
Ejemplo 1.6 En la figura 1.11 se muestra un ejemplo del proceso que acabamos de describir.

Figura 1.11: Ejemplo de b


usqueda del grafo solucion optimo

Nota.- En los nodos Y es aconsejable estudiar primero aquellos sucesores con


mayor valor de funcion heurstica, pues si el nodo Y que estamos estudiando
finalmente no pertenecera al grafo solucion optimo, lo descartaremos antes de
esta manera.

1.2 Estrategias de B
usqueda en Grafos YO: Heursticas

1.2.2.

19

B
usqueda mejor nodo para grafos YO

Proposici
on 1.2 Si h(n) es admisible (h(n) h (n), n) la solucion encontrada sera siempre optima.
Algoritmo A (YO) f (n) = g(n) + h(n).
Algoritmo A* (YO*) f (n) = g(n) + h(n) y h(n) admisible.
Definici
on 1.11 h(n) es monotona si cumple que:
h(n) ck +

k
X

h(ni ),

i=1

Proposici
on 1.3 Recordemos que si n es solucion, entonces h(n) = 0. Y por lo tanto, si
h(n) es monotona, entonces es admisible.
Ejemplo 1.7 Dado el grafo de la figura 1.12 (en el que cada nodo va acompa
nado de su
valor de h(n)), observamos que la funci
on h(n) no es mon
otona, pues se cumple que
h(G)
c + h(I) 5
1 + 1

Figura 1.12: Grafo YO con h(n) no monotona

Ejemplo 1.8 En la figura 1.13 se muestra el


arbol soluci
on resultado de aplicar el algoritmo
YO* al grafo de la figura 1.12, pero propagando los nuevos valores heursticos s
olo a traves
de los conectores marcados.
El orden de expansi
on est
a indicado por el n
umero dentro del crculo y una X significa
que ese nodo ha sido resuelto.
El costo de esta soluci
on es 9.

20

Captulo 1. Resoluci
on de Problemas

funci
on YO*(problema) devuelve grafo solucion
locales: G, G0 grafos
G grafo vaco
G G+{inicio}
costo(inicio)h(inicio)
si inicioTERMINAL entonces inicio marcado resuelto
repetir hasta inicio marcado resuelto o costo(inicio) > futilidad
Construir G0 G con los conectores marcados
nodofrontera(G0 )
si no hay ning
un sucesor en EXPANDIR(nodo) entonces costo(nodo)=futilidad
en otro caso sucesorEXPANDIR(nodo) hacer
G G+{sucesor}
si sucesorTERMINAL entonces sucesor marcado resuelto y costo(sucesor)=0
si sucesorTERMINAL
/
y no estaba en G entonces costo(sucesor)=h(sucesor)
S={nodo} (S conjunto de nodos que se han marcado resuelto o cambiado su costo)
repetir hasta S vaco
actualS de modo que ning
un descendiente en G de actual este en S
S S{actual}
para cada k-conector de actual {ni1 , ni2 , . . . , nik } calcular
costoi (actual) = c + costo(ni1 ) + + costo(nik )
costo(actual) mini costoi (actual)
marcar conector por el que se ha obtenido ese mnimo (borrar otra marca previa)
si todos los sucesores a traves de ese conector estan etiquetados como resueltos
entonces etiquetar como resuelto actual
si actual se ha etiquetado como resuelto o se ha cambiado su costo
entonces propagar esa informacion hacia el principio del grafo y
S S+{antecesores de actual}
Function YO*(problema)

1.2 Estrategias de B
usqueda en Grafos YO: Heursticas

21

Figura 1.13: Solucion al grafo de la figura 1.12 propagando por conectores marcados
Ejemplo 1.9 En la figura 1.14 se muestra el
arbol soluci
on
optimo resultado de aplicar el
algoritmo YO* al grafo de la figura 1.12, propagando los nuevos valores heursticos a todos
los antecesores.
El orden de expansi
on est
a indicado por el n
umero dentro del crculo y una X significa
que ese nodo ha sido resuelto.

Figura 1.14: Solucion al grafo de la figura 1.12 propagando por todos los antecesores
El costo de esta soluci
on es 7.
Como conclusion podemos decir que:
Si h(n) es admisible, no es necesario propagar los valores heursticos a todos los antecesores para encontrar la solucion optima, sino que basta con propagarlos por los conectores
marcados.
Sin embargo, si h(n) no es admisible, es necesario propagar los valores a todos los antecesores si se quiere encontrar la solucion optima (en caso de que exista).
Ejemplo 1.10 Dado el grafo de la figura 1.15 (en el que cada nodo va acompa
nado de su
valor de h(n)), observamos que la funci
on h(n) ahora s es mon
otona.
En la figura 1.16 se muestra el grafo soluci
on
optimo resultado de aplicar el algoritmo
YO* propagando los nuevos valores heursticos s
olo por los conectores marcados.

22

Captulo 1. Resoluci
on de Problemas

Figura 1.15: Grafo YO con h(n) monotona

Figura 1.16: Solucion al grafo de la figura 1.15 propagando por conectores marcados
Ya vimos como calcular el costo de un grafo solucion, y vimos que en ocasiones un arco
tena que contabilizarse mas de una vez y en otras ocasiones no.
Ejemplo 1.11 Dado el grafo YO de la figura 1.17, en la figura 1.18 se muestran dos posibles
soluciones.

Figura 1.17: Grafo YO con varias soluciones con distintos costos


Si tratamos con un problema fsico (por ejemplo, soldar un circuito) tendremos que
costo1 = 7 y costo2 = 9, y la soluci
on
optima es la 1.
Pero si tratamos con un problema l
ogico (por ejemplo, resolver una integral) tendremos
que costo1 = 7 y costo2 = 6, y la soluci
on
optima es la 2.

1.3 Funciones Heursticas

23

Figura 1.18: Soluciones al Grafo YO de la figura 1.17

1.3.
1.3.1.

Funciones Heursticas
Efecto de la precisi
on heurstica en el rendimiento

Vamos a tratar sobre el problema del 8-puzzle.

Ejemplo 1.12
7 2 4
5
6
8 3 1
Estado Inicial

26 pasos

1 2
3 4 5
6 7 8
Estado Final

El coste medio para resolver este problema con estados inicial y final aleatorios es de 22
pasos.
El factor de ramificaci
on medio es 3. En una b
usqueda exhaustiva se expanden 322 nodos.

h1 N
umero de piezas mal colocadas h1 (EI) = 8

f (n) = g(n) + h(n)


h h
h2 Distancia de Manhattan h2 (EI) = 18

h1 y h2 son admisibles
En el ejemplo anterior se tiene que h1 (n) h2 (n) n y se dice que h2 domina a h1 .
Ademas tambien se cumple que h1 (n) h2 (n) h h2 es mejor que h1 porque se acerca
mas a h .
Definici
on 1.12 Factor de ramificacion eficaz: b .
Sea N el n
umero de nodos generados por un algoritmo A y sea la longitud de la solucion

d, entonces b es el factor de ramificacion que un arbol uniforme de profundidad d debe tener


para contener N + 1 nodos.
Es decir
N + 1 = 1 + b + (b )2 + + (b )d
Vamos a realizar un estudio comparativo en el que generamos 1200 8-puzzles con solucion
de longitud 2, 4, 6, ..., 22, 24 (100 problemas de cada tipo). Por un lado los resolveremos con
Profundidad Iterativa (BPI) y por otro lado mediante una b
usqueda A con las funciones h1
y h2 .

24

d
2
4
6
8
10
12
14
16
18
20
22
24

Costo de la B
usqueda
BPI
A (h1 ) A (h2 )
10
6
6
112
13
12
680
20
18
6384
39
28
47127
93
39
3644305
227
73
539
113
1301
211
3056
363
7276
676
18094
1219
39135
1641

Captulo 1. Resoluci
on de Problemas

Factor de Ramificacion Eficaz


BPI A (h1 )
A (h2 )
245
179
179
287
148
145
273
134
130
280
133
124
279
138
122
278
142
124
144
123
145
125
146
126
147
127
148
128
148
126

Como conclusiones del estudio podemos afirmar que:


1. A es mucho mejor que BPI
2. h2 es mejor que h1 porque A (h2 ) A (h1 ) y bh2 bh1
Nota.- Observese que si se utilizara h siempre tendramos que b = 1, es decir,
encontrara la solucion directamente en un n
umero de pasos igual a la longitud
de la solucion.

1.3.2.

Inventando funciones heursticas

Vamos a ver tres maneras de obtener buenas funciones heursticas.


La primera de ellas hace uso de un procedimiento que nos permite averiguar funciones
heursticas admisibles (no necesariamente eficientes), y que consiste en resolver el problema
relajando alguna de las condiciones del problema original.
No olvidemos que cuanto mas se acerque h a h , mas difcil sera de evaluar.
Ejemplo 1.13 En el problema del 8-puzzle, la casilla A se mueve a la casilla B si A es
vertical u horizontal y adyacente a B y B est
a vaca.
Tres posibles formas de relajar el problema son:
1.

A se mueve a B si A es vertical u horizontal y adyacente a B Distancia de Manhattan

2.

A se mueve a B si B est
a vaco

3.

A se mueve a B No de piezas mal colocadas

La segunda manera consiste en tomar varias funciones admisibles de las cuales no conocemos cual domina sobre cual. Si tomamos el maximo de todas ellas obtenemos una funcion
heurstica admisible mejor (o igual) que cualquiera de ellas (h = max(h1 , h2 , . . . , hn )), como
se observa en la figura 1.19
Por u
ltimo, tambien se puede obtener una funcion heurstica a partir de la experiencia,
mediante el aprendizaje (lo veremos mas adelante).
h = c1 x1 + + ck xk y los coeficientes c1 , . . . , ck se van ajustando dinamicamente a
partir de la experiencia, para aproximarse cada vez mas a h .

1.4 Estrategias de B
usqueda Local y Problemas de Optimizaci
o25
n

Figura 1.19: Funcion admisible h = max(h1 , h2 , h3 ) h

1.4.

Estrategias de B
usqueda Local y Problemas de Optimizaci
on

El problema de las 8 reinas es un problema en el que nos interesa el estado final, no el


camino para llegar a el.
La b
usqueda local, en vez de almacenar todos los nodos estudiados hasta el momento,
almacena solo uno: el que actualmente se esta estudiando.
Este tipo de b
usqueda es muy rapida y se suele encontrar buenas soluciones.

Figura 1.20: Funcion Objetivo vs Espacio de Estados

Definici
on 1.13 Maximo local. Aquel estado en el que todos sus vecinos tienen peor valor
heurstico que el.
Definici
on 1.14 Crestas. Conjunto de maximos locales proximos entre s
Definici
on 1.15 Meseta. Aquel estado en el que todos sus vecinos tienen peor valor heurstico que el o, a lo sumo, igual.

1.4.1.

B
usqueda de ascensi
on de colinas (mejor avara)

El algoritmo de ascension de colinas, como se puede observar en la funcion ASCENSIONCOLINAS, devuelve un maximo local.

26

Captulo 1. Resoluci
on de Problemas

funci
on ASCENSION-COLINAS(problema)
devuelve un estado que es un maximo
local
entradas: problema, un problema
variables locales: actual, un nodo
vecino, un nodo
actualHACER-NODO(ESTADO-INICIAL[problema])
bucle hacer
vecinosucesor de valor mas alto de actual
si VALOR[vecino]VALOR[actual] entonces devolver ESTADO[actual]
actualvecino
Function ASCENSI
ON-COLINAS(problema)
Ejemplo 1.14 Sea el juego de las 8 reinas con funci
on heurstica h(n): n
umero de jaques
que se dan, directa o indirectamente.
Dado el siguiente tablero inicial

R
R

R
R

R
R

R
R

su valor heurstico es h = 17.


Cada estado tiene 8 7 = 56 hijos, de los cuales tomamos siempre aquel que tenga menor
valor de h.
La soluci
on devuelta no tiene por que ser
optima, es decir, no tiene por que cumplir que
h = 0. De hecho, la soluci
on obtenida a partir del tablero anterior es la siguiente:
R
R
R
R
R
R
R
R
Que es un mnimo local con valor heurstico h = 1.
Vamos a intentar ahora salir de un optimo local para encontrar el optimo global mediante
dos maneras:
1. Para superar una terraza realizamos movimientos laterales, de modo que se siguen
mirando los vecinos con igual valor, hasta encontrar uno con mejor valor.

El problema surge cuando no se trata de una terraza sino de una meseta, en cuyo caso
el algoritmo se quedara colgado yendo de un lado para otro.

1.4 Estrategias de B
usqueda Local y Problemas de Optimizaci
o27
n

Para evitar esto se establece un n


umero maximo de movimientos laterales lo suficientemente grande como para saltar terrazas y lo suficientemente peque
no como para no
quedarse colgado en las mesetas.
2. B
usqueda primero mejor avara con reinicio aleatorio.
Si se alcanza un optimo local, se toma otro estado inicial aleatorio y se vuelve a aplicar
el algoritmo.
Si p es la probabilidad de encontrar la solucion optima, necesitaremos
encontrar dicha solucion.
No de pasos = Coste de iteracion acertada +

1.4.2.

1
p

reinicios para

1p
(Coste de iteracion fracasada)
p

B
usqueda tab
u

funci
on TABU(problema) devuelve un estado
entradas: problema, un problema
variables locales: actual, un nodo
vecino, un nodo
mejor, un nodo
actualHACER-NODO(ESTADO-INICIAL[problema])
mejoractual
mejorcostoVALOR[mejor]
bucle hacer
vecinosucesorCandidatosN (actual) N(H,actual) que minimice
VALOR(H,actual) sobre el conjunto anterior
actualvecino
Actualizar H
si VALOR(actual)<mejorcosto entonces
mejoractual
mejorcostoVALOR[mejor]
si una iteracion maxima u otra regla de parada entonces devolver mejor
Function TABU(problema)
En la b
usqueda tab
u se elige un sucesor de entre un subconjunto de vecinos. El procedimiento en s es heurstico, pues tiene en cuenta:

Ultimos
movimientos hechos
Frecuencia de un movimiento
Calidad de un movimiento
Influencia en el proceso de buscar la mejor solucion
En ocasiones puede ocurrir que el sucesor no pertenezca a los vecinos de actual (es el caso
en el que se emplea la historia con toda su potencia).

28

Captulo 1. Resoluci
on de Problemas

Ejemplo 1.15 En una f


abrica se produce un material compuesto por 7 elementos (numerados
del 1 al 7). Cada ordenaci
on de esos elementos tiene un valor que mide una propiedad que
buscamos. No existe un estado inicial predefinido.
Tomamos, por ejemplo, 2 5 7 3 4 6 1 con valor de aislamiento 10.
En este caso, un vecino ser
a una ordenaci
on en la que se intercambian pares de elementos.
En total hay 21 vecinos.
El algoritmo hace uso de dos tablas. La primera de ellas es como sigue:
2 3 4 5 6 7
1
2
3
En esta tabla, la casilla (i, j) indica el n
umero de veces que
4 3
5
6
est
a prohibido intercambiar el elemento i y el j. En cada iteraci
on, cada casilla se decrementa
en 1. En realidad se trata de una memoria a corto plazo utilizada como historia para modificar
el subconjunto de candidatos.
La segunda tabla tiene tantas filas como sucesores (21 en nuestro caso) en las que se indica
cu
al es el incremento (o decremento) del valor de aislamiento si se producen cada uno de los
intercambios. Las filas est
an ordenadas de mejor a peor y se puede indicar que intercambio
se escoge (mediante un *) as como los intercambios prohibidos (mediante una T3 ).
Por ejemplo, seg
un la tabla:
1 5 4 6
2 7 4 4
3 3 6 2
4 2 3 0 si se intercambian los elementos 5 y 4, se produce un incremento en el
5 4 1 -1
..
..
.
.
valor de aislamiento de 6.
Los 21 sucesores ser
an siempre los mismos, pero en cada iteraci
on el incremento del valor
de aislamiento (y en consecuencia la ordenaci
on de los 21 sucesores) es distinto.
Iteraci
on 1
3 1 2
2 3 1
3 6 -1
2 4 7 3 5 6 1 con valor de aislamiento 16
7 1 -2
6 1 -4
..
.
Iteraci
on 2
2 4 7 1 5 6 3 con valor de aislamiento 18
2 3 4 5 6 7
1 3 -2 T
1
3
2 4 -4 *
2
7 6 -6
3
4 5 -7 T
4 2
5 3 -9
5
..
.
6
La ascensi
on de colinas habra parado aqu, pero vease c
omo prohibir el intercambio 1,3
(que acaba de realizarse) diversifica la b
usqueda.
3

Tab
u

1.4 Estrategias de B
usqueda Local y Problemas de Optimizaci
o29
n

Iteraci
on 3
4 2 7 1 5 6 3 con valor de aislamiento 14 (mejor valor guardado = 18)
2 3 4 5 6 7
4 5 6 T
1
2
5 3 2
2
3
7 1 0
3
1 3 3 T
4 1
2 6 -6
5
..
.
6
Criterio de aspiraci
on: Si alg
un vecino tab
u mejora la mejor soluci
on (no la actual) se le
quita el tab
u y se selecciona.
Es el caso del intercambio 4, 5.
Iteraci
on 4
5 2 7 1 4 6 3 con valor de aislamiento 20
2 3 4 5 6 7
7 1 0
1
1
4 3 -3
2
2
6 3 -5
3
5 4 -6 T
4 3
2 6 -8
5
..
.
6
Iteraci
on 26
1 3 6 2 7 5 4 con valor de aislamiento 12 (mejor valor guardado = 20)
1 2 3 4 5 6 7
1 4 3 T
1
3
2 4 -1
2
3 7 -3
3 3
2
1 6 -5
4 1 5
1
6 5 -6
5
4
4
..
6
1
2
.
7 2
3
Esta u
ltima tabla indica, en las casillas de su mitad inferior izquierda, el n
umero de veces
que se ha usado cada intercambio de pares.
Vamos a penalizar los intercambios m
as frecuentemente usados, restando a su incremento,
su frecuencia.
1 4 3 2 T
2 4 -1 -6
3 7 -3 -3 *
Y ahora reordenamos la tabla seg
un la nueva columna.
1 6 -5 -5
6 5 -6 -8
..
.
El conjunto de vecinos son 21, pero los candidatos son s
olo 18, porque hay 3 que son tab
u.
En realidad la penalizaci
on con frecuencia, influencia, calidad, etc., se realiza desde la
primera iteraci
on.

30

1.4.3.

Captulo 1. Resoluci
on de Problemas

B
usqueda por haz local

Como estado inicial se generan k estados iniciales aleatorios.


Para cada estado se generan los sucesores y entre todos los sucesores, tomamos los k
mejores.
Si alguno de esos k es solucion, se para. Y si se llega a la condicion de parada extrema se
devuelve la mejor solucion hasta el momento.

1.4.4.

Algoritmo gen
etico

La diferencia con los algoritmos vistos hasta ahora es que en estos hay una relacion asexual
entre los estados, mientras que en el algoritmo genetico se dice que entre los estados hay una
relacion sexual.
Hay que decidir cuantos individuos (estados) hay en cada poblacion (conjunto de estados).
Definici
on 1.16 Idoneidad: La funcion de fitness mide como de bueno es un individuo.
Y en funcion de como de bueno sea un individuo se seleccionara para cruzarse y generar
individuos para la nueva poblacion.
Los pasos que se siguen para conseguir una nueva poblacion a partir de la actual son:
Poblacion
Poblacion
Poblacion
Poblacion
Poblacion

antigua
seleccionada
cruzada
mutada
nueva
La nueva poblacion obtenida pasa a ser la poblacion actual y se repite el ciclo.
El cruce de individuos intensifica la b
usqueda, mientras que la mutacion la diversifica.
Ejemplo 1.16 Vamos a estudiar el problema de las 8 reinas con el algoritmo genetico.
La representaci
on de cada individuo (su fenotipo) ser
a como sigue:
I1 2 4 7 4 8 5 5 2 24 31 %
Que significa:
I1 es el individuo 1
La 1a reina est
a en la fila 2, la 2a en la 4, la 3a en la 7, etc.
La funci
on de fitness para este individuo vale 24, y en este caso mide el n
umero de
no-jaques.
El porcentaje se calcula como
h(I )
Pn 1
100
i=1 h(Ii )
y representa el peso que el individuo I1 tiene en la poblaci
on
Su genotipo puede ser, por ejemplo: (001 011 110 011 111 100 100 001)
Dependiendo de la representaci
on escogida, as ser
a el cruce y la mutaci
on.
La poblaci
on total es la siguiente:
I1 2 4 7 4 8 5 5 2 24 31 %
I2 3 2 7 5 2 4 1 1 23 29 %
I3 2 4 4 1 5 1 2 4 20 26 %
I4 3 2 5 4 3 2 1 3 11 14 %
Ahora generamos una nueva poblaci
on de otros cuatro individuos con probabilidad de cruce
0
pc = 0 2 y probabilidad de mutaci
on pm = 00 01.
Este algoritmo se emplea en problemas combinatorios y de optimizacion, no en problemas
de cualquier camino o de mejor camino.

1.5 Estrategias de B
usqueda Online

1.5.

31

Estrategias de B
usqueda Online

En la b
usqueda off-line se conoce a priori el espacio de b
usqueda, mientras que en la
b
usqueda on-line, este se conoce a posteriori. Por eso tambien se le llama b
usqueda en ambientes desconocidos.
Definici
on 1.17 Acciones(s): Funcion que devuelve todas las acciones posibles a partir del
estado s.
Definici
on 1.18 c(s, a, s0 ): Funcion coste que devuelve el coste asociado a aplicar la accion
a al estado s para pasar al s0 . Esta funcion se calcula despues de haber aplicado la accion a,
cuando ya nos encontramos en el estado s0 .

funci
on BPP-ONLINE(s) devuelve una accion
entradas: s, una percepcion que identifica el estado actual
variables locales: resultado, una tabla indexada por la accion y el estado,
inicialmente vaca
noexplorados, una tabla que enumera, para cada estado visitado,
las acciones todava no intentadas
nohaciatras, una tabla que enumera, para cada estado visitado,
los nodos hacia atras todava no intentados
s,a, el estado y accion previa, inicialmente nula
si TEST-OBJETIVO(s) entonces devolver parar
si s es un nuevo estado entonces noexplorados[s]ACCIONES(s)
si s es no nulo entonces hacer
resultado[a,s]s
a
nadir s al frente de nohaciatras[s]
si noexplorados[s] esta vaco entonces
si nohaciatras[s] esta vaco entonces devolver parar
en caso contrario auna accion b tal que resultado[b,s]=POP(nohaciatras[s])
en caso contrario aPOP(noexplorados[s])
ss
devolver a
Function BPP-ONLINE(s )

Ejemplo 1.17 Dado el siguiente laberinto:


Y U
X T
A Z

B
N
V

Aplicamos el algoritmo BPP-ONLINE para llegar desde A hasta B.


BPP-Online(A)
s, a vacos s0 = A
noexplorados[A]=Arriba, Derecha
a =Arriba, s = A {Aparece estado X}

32

Captulo 1. Resoluci
on de Problemas

BPP-Online(X)
s = A, a =Arriba s0 = X
noexplorados[X]=Abajo
resultado[Arriba,A]=X
nohaciatras[X]=A
a =Abajo, s = X {Aparece estado A}

BPP-Online(A)
s = X, a =Abajo s0 = A
noexplorados[A]=Derecha
resultado[Abajo,X]=A
nohaciatras[A]=X
a =Derecha, s = A {Aparece estado Z}

BPP-Online(Z)
s = A, a =Derecha s0 = Z
noexplorados[Z]=Izquierda, Arriba, Derecha
resultado[Derecha,A]=Z
nohaciatras[Z]=A
a =Izquierda, s = Z {Aparece estado A}

BPP-Online(A)
s = Z, a =Izquierda s0 = A
resultado[Izquierda,Z]=A
nohaciatras[A]=Z
a = b tal que resultado[b,A]=nohaciatras[A]=Z
a =Derecha, s = A {Aparece estado Z}

BPP-Online(Z)
s = A, a =Derecha s0 = Z
a =Arriba, s = Z {Aparece estado T }

BPP-Online(T)
s = Z, a =Arriba s0 = T
noexplorados[T]=Abajo, Arriba
resultado[Arriba,Z]=T
nohaciatras[T]=Z
a =Abajo, s = T {Aparece estado Z}

BPP-Online(Z)
s = T, a =Abajo s0 = Z
resultado[Abajo,T]=Z
nohaciatras[Z]=T
a =Derecha, s = Z {Aparece estado V }

1.6 Estrategias en adversarios

33

BPP-Online(V)
s = Z, a =Derecha s0 = V
noexplorados[V]=Arriba, Izquierda
resultado[Derecha,Z]=V
nohaciatras[V]=Z
a =Arriba, s = V {Aparece estado N }
BPP-Online(N)
s = V, a =Arriba s0 = N
noexplorados[N]=Arriba, Abajo
resultado[Arriba,V]=N
nohaciatras[N]=V
a =Arriba, s = N {Aparece estado B}
BPP-Online(B)
s = N, a =Arriba s0 = B
ESTADO-DESTINO(B) CIERTO
En este tipo de problemas el objetivo en general suele ser llegar al destino, no el camino
recorrido (pensemos, por ejemplo, en un robot que apaga incendios).

1.6.
1.6.1.

Estrategias en adversarios
Juegos

Supongamos dos contrincantes llamados MAX y MIN, un estado inicial con la posicion
del tablero y con la decision de quien empieza. MAX y MIN juegan alternativamente.
Definici
on 1.19 Sucesor. Movimientos legales a partir del estado actual.
Definici
on 1.20 Test Terminal. Determina cuando un estado es terminal.
Definici
on 1.21 Funcion de Utilidad. Da un valor a cada estado terminal (se suelen usar los
valores 1, 0 y -1 correspondientes a que gana MAX, empatan o gana MIN, respectivamente).
Ejemplo 1.18 Juego de las 3 en raya. Nosotros somos MAX y jugamos con X, mientras que
MIN juega con O.

Figura 1.21: Juego de las 3 en raya

34

Captulo 1. Resoluci
on de Problemas

Figura 1.22: Estados terminales en el juego de las 3 en raya


La estrategia que vamos a usar, desde el punto de vista optimo (es decir, suponiendo que
tanto MIN como MAX
siempre toman la decision optima), es la siguiente:
si n es terminal
utilidad(n)
Valor Minimax(n)= maxssucesores(n) V alor M inimax(s) si n es nodo MAX

minssucesores(n) V alor M inimax(s) si n es nodo MIN

Figura 1.23: Estrategia MiniMax


Juegos con 3 jugadores
Ahora en cada nodo habra un vector con 3 valores, correspondientes a la puntuacion de
cada jugador. El objetivo de cada jugador es maximizar su puntuacion.

Figura 1.24: Ejemplo de juego con 3 jugadores

Nota.- No todos los nodos terminales tiene por que tener la misma profundidad
(ni tienen que tener una profundidad m
ultiplo del n
umero de jugadores).
Poda alfa-beta
La poda no interfiere en la b
usqueda de la solucion optima.
es el valor de la mejor alternativa (maximo valor) para MAX a lo largo del camino.
es el valor de la mejor alternativa (mnimo valor) para MIN a lo largo del camino.
El orden en que se visitan los nodos influye en la poda.
Vease la figura 1.25.

1.6 Estrategias en adversarios

35

Figura 1.25: Poda alfa-beta

1.6.2.

Decisiones en tiempo real imperfectas

En juegos como el ajedrez es inviable aplicar Minimax y por ello se a


nade una profundidad
lmite.
Si hay dos jugadores interesa poner una profundidad lmite que sea par. Si se realiza poda
puede ocurrir que perdamos la solucion optima.
Por lo tanto, tenemos que definir una nueva funcion que nos diga como de bueno es un
estado no terminal.
si TEST-CORTE(estado,profundidad)
entonces devolver EVAL(estado)

UTILIDAD(n)
si n es terminal
EVAL(n)
FUNCION HEURISTICA(n) si n es no terminal
Cuanto mayor sea la profundidad de corte, evidentemente, mas y mejor informacion
heurstica tendremos. Nosotros hemos supuesto que los terminales estan por debajo de la
profundidad lmite.
Ejemplo 1.19 Para el juego de las 3 en raya de la figura 1.26, se ha cortado la b
usqueda a
profundidad 2 (teniendo en cuenta que la profundidad de la raz es 0).

Figura 1.26: Juego de las 3 en raya con profundidad limitada


Como funci
on heurstica se ha usado: f (n) = No de filas, columnas y diagonales libres
para MAX - No de filas, columnas y diagonales libres para MIN.

36

1.6.3.

Captulo 1. Resoluci
on de Problemas

Juegos que incluyen un elemento de posibilidad

Ademas de los nodos MAX y MIN, aparecen los nodos de posibilidad.


Ejemplo 1.20 En el juego del parchs, tiramos un dado, con 61 de probabilidades de sacar
cada uno de los n
umeros del 1 al 6. Hay cuatro fichas por cada jugador.
Si se limita la profundidad tiene que ser a la altura de un nodo MIN o un nodo MAX,
pero no de un nodo de posibilidad.

utilidad(n)

max
ssucesores(n) M iniM ax Esperado(s)
MiniMax Esperada(n)
min
M iniM ax Esperado(s)

P ssucesores(n)
P
ssucesores(n) (s) M iniM ax Esperado(s)

si
si
si
si

Figura 1.27: Ejemplo de estrategia MiniMax Esperada

n
n
n
n

es
es
es
es

terminal
nodo MAX
nodo MIN
nodo posibilidad

Captulo 2

Representaci
on del Conocimiento.
Razonamiento
Para resolver un problema, lo basico necesario es:
Representacion
Operadores
Control

2.1.
2.1.1.

Representaci
on del Conocimiento mediante L
ogicas no
Cl
asicas
L
ogicas no mon
otonas

La logica clasica es una logica monotona, en la cual la incorporacion de nuevo conocimiento


debe ser consistente (no contradictorio). En la logica no monotona, la incorporacion de nueva
informacion podra invalidar parte de la informacion previa existente.
En un problema con conocimiento incompleto puede aplicarse la logica no monotona (pero
no la logica monotona) y se aplica un razonamiento llamado por defecto.
Ejemplo 2.1 Juan y Mara yacen en el suelo muertos. Hay cristales en el suelo y agua.
Que ha pasado?
Soluci
on: Juan y Mara son dos peces.

2.1.2.

L
ogica de situaciones

Soporta una estructura dinamica (en un momento algo puede ser cierto, y, mas tarde,
puede ser falso).
Ejemplo 2.2 .
SOBRE(B1 , B2 ): B1 est
a sobre B2
Si quitamos B1 de encima de B2 , entonces SOBRE(B1 , B2 )
Estas dos sentencias no podran coexistir en una l
ogica cl
asica. Para que s puedan coexistir, la l
ogica de situaciones dice:
SOBRE(B1 , B2 , S1 ): B1 est
a sobre B2 en la situaci
on S1
Y as, SOBRE(B1 , B2 , S2 ) tambien es cierto.
Para pasar de una situaci
on a otra debemos aplicar una secuencia de operadores.
x [SOBRE(B1 , B2 , S)SOBRE(x, B3 , S) SOBRE(x, B3 , R(M OV ER(B1 , B3 ), S))]
{z
}
|
S0

37

38

Captulo 2. Representaci
on del Conocimiento. Razonamiento

Figura 2.1: Ejemplo de logica de situaciones


Este tipo de logica se emplea en planificacion

2.1.3.

L
ogica difusa

Empleada cuando se usa una notacion imprecisa.


Ejemplo 2.3 Juan es joven
Muchas veces un concepto vago depende del contexto y de la subjetividad. Toda la logica
difusa esta montada sobre la definicion de una serie de elementos:
Definici
on 2.1 Conjunto difuso:
x A donde A es un conjunto difuso
A (x) [0, 1], A es la funcion de pertenencia al conjunto A.
La diferencia con la probabilidad es que esta precisa de una experimentacion previa antes
de obtener un resultado. Con los conjuntos difusos no es necesaria experiencia previa.

Figura 2.2: Funcion de pertenencia continua ser joven

Definici
on 2.2 Modificadores: Definidos a partir del conjunto base.

2
M U Y A (x) = [A (x)]
1
F (A) = F [A (x)]
M AS O M EN OS A (x) = [A (x)] 2

N O A (x) = 1 A (x)

Figura 2.3: Funciones de pertenencia A y N O

2.1 Representaci
on del Conocimiento mediante L
ogicas no
Cl
asicas

39

En ocasiones la funcion de pertenencia es una funcion discreta.

Figura 2.4: Funcion de pertenencia discreta ser joven

Definici
on 2.3 Composicion de conjuntos:

AB (x) = F (A (x), B (x))

(x) = F (A (x), B (x))


AB = F (A (x), B (x))
AB
A (x) = F (A (x), B (x))
1. Si A B entonces A (x) B (x)
2. A (x) + A (x) = 1
De aqu se deduce que
AB (x) max(A (x), B (x))
AB (x) min(A (x), B (x))
A (x) = 1 A (x)
Los operadores de Zadeh son:
AB (x) = max(A (x), B (x))
AB (x) = min(A (x), B (x))
A (x) = 1 A (x)
Pero tambien podramos definir la composicion como:
AB (x, y) = F (A (x), B (y))

Figura 2.5: Operadores de Zadeh


A contiene elementos x, B contiene elementos y. Para componerlos construimos un conjunto com
un: el producto cartesiano de A y B.
Definici
on 2.4 Extension cilndrica: Consiste en extender los conjuntos al producto cartesiano.
 0
(A) si C = A Y
(C)
C X Y
0
otro caso
Si hay mas de un conjunto se toma el maximo.

40

Captulo 2. Representaci
on del Conocimiento. Razonamiento

Figura 2.6: Extension Cilndrica


Definici
on 2.5 Proyeccion cilndrica
(C) = supy {0 (x, y)},

En la logica tendremos hechos simples y compuestos.


Definici
on 2.6 Hechos simples:
p: xA

(p (x) = A (x))

Definici
on 2.7 Hechos compuestos:

p q : (x es A) (x es B) pq (x) max(p (x), q (x)) pq (x) = OR(p (x), q (x))


pq (x) min(p (x), q (x))
pq (x) = AN D(p (x), q (x))
p q : (x es A) (x es B)

p (x) = 1 p (x)
p (x) = N OT (p (x))
p : (x es A)
Definici
on 2.8 Inferencia:
p q : si (x es A) entonces (y es B)
pq (x, y) = IM P LIC(p (x), q (y)) = OR(N OT (p (x)), q (y))
Modus Ponens:
pq
p
q
q (y) = supx {M P (p (x), pq (x, y))}
Ejemplo 2.4 Si (el coche es viejo) entonces (el coche es ruidoso)
El coche es bastante viejo.
Si ahora aplicamos MP, obtenemos un modificador de ruidoso: El coche es bastante ruidoso.

2.2.

Representaci
on y Razonamiento con Incertidumbre

2.2.1.

Representaci
on y fuentes de incertidumbre

Los elementos a la hora de resolver un problema son:


Representacion
Operadores
Control
Definici
on 2.9 Impreciso: negacion de preciso.

2.2 Representaci
on y Razonamiento con Incertidumbre

41

Definici
on 2.10 Preciso: Un hecho es preciso cuando su significado es equivalente a exacto,
claro, ..., y concreto.
Por lo tanto imprecisos son los hechos ambiguos, abstractos, no concretos o no detallados.
Definici
on 2.11 Incierto: negacion de cierto.
Definici
on 2.12 Cierto es analogo a verdadero y seguro.
Por lo tanto incierto son los hechos carentes de verdad absoluta o de seguridad de que
ocurra.
Ejemplo 2.5 Alg
un da llover
a Tiene gran cantidad de imprecisi
on, pero es muy cierta.
Ma
nana llover
a es muy preciso, pero es incierto (tiene gran cantidad de incertidumbre).
Nosotros trabajaremos con conocimiento preciso, aunque incierto.
Ejemplo 2.6 p q, c1
p q sea cierta.
pe qh c1 = 00 7
pe
c2 = 00 55
qh
c3 =?

= 00 7, donde c1 representa el grado de certidumbre de que la regla


Representaci
on de una regla
Representaci
on de un hecho
Tecnica de Inferencia

c1 = P (h|e )
c2 = P (e)
c3 = P (h)

Fuentes de Incertidumbre
1. Situaciones en las que el universo de discurso es verdaderamente aleatorio.
2. Situaciones en las que el universo de discurso es verdaderamente aleatorio aunque podramos decir que es estrictamente aleatorio, pero por alguna razon, no hay datos suficientes.
3. Situaciones en las que el conocimiento del que se dispone (o parte de el) se debe al
olfato del observador (yo creo que ...).
4. Situaciones en las que el conocimiento del que se dispone esta representado en terminos
vagos.
5. Situaciones en las que el conocimiento del que se dispone no es totalmente fiable.
Nosotros vamos a usar la segunda fuente de incertidumbre.

2.2.2.

Teora de Dempster-Shafer de la evidencia

En el ejemplo de las urnas puede ocurrir que perdamos en el camino parte de la informacion. Ahora el resultado no sera una probabilidad sino un intervalo.
TDS: Teora de Dempster-Shafer
TPr: Teora de la Probabilidad
TPos: Teora de la Posibilidad
Definici
on 2.13 Frame de decision : conjunto de hipotesis mutuamente exclusivas y exhaustivo en el cual tratamos de obtener la respuesta mas adecuada mediante la concentracion
de sucesivas evidencias.
Definici
on 2.14 2 : conjunto de todas las decisiones del frame de decision.
Definici
on 2.15 A: cualquier elemento del conjunto de decision.

42

Captulo 2. Representaci
on del Conocimiento. Razonamiento

A las hipotesis se les llama singulares.


Como en 2 tambien esta el , a ese se le llama hipotesis vaca y corresponde a una
hipotesis totalmente falsa.
Ejemplo 2.7 = {HEP, CIRR, P IE, P AN }
A partir de las evidencias se determinar
a que enfermedades hep
aticas hay.
Cuanto mas restrictiva sea la hipotesis mejor. El complemento de A es A si A A = .
Ejemplo 2.8 .
A = {HEP }
A = {CIRR, P IE, P AN }
En 2 hay hipotesis mas generales y mas restrictivas. Nos interesara tomar decisiones en
conjuntos de hipotesis del menor tama
no posible.
Ejemplo 2.9 Es mejor tener A = {HEP }, que tener A = {HEP, CIRR}
Decir A = {HEP } Con la informaci
on que tengo puedo decir que se puede tener
hepatitis.
Decir A = {HEP, CIRR} Con la informaci
on que tengo puedo decir que se puede
tener hepatitis, pero tambien se puede tener cirrosis.
Funci
on de asignaci
on b
asica de probabilidad
Nos sirve para asignar valores a las hipotesis, seg
un la evidencia que se tenga.
m(A): cantidad de certeza que posee el elemento A (que es una hipotesis y por tanto
A 2 , o bien A ), de manera que m(A) [0, 1].
m : 2 [0, 1]
Se dice que m es una a.b.p (asignacion basica de probabilidad) si cumple que:
m() = 0
P
A m(A) = 1
Ejemplo 2.10 = {blancas, rojas}
m(blancas) = 00 35
m(rojas) = 00 4
Que pasa con el 025 restante? Soluci
on: m() = 00 25
Construimos m
1. m() = 0
Si una evidencia confirma una hipotesis A con un valor p, entonces
2. m(A) = p
m() = 1 p
Si una evidencia desconfirma una hipotesis A con un valor p, entonces
3. m(A) = p
m() = 1 p
A cualquier hipotesis sobre la que no haya ninguna evidencia se le da el valor 0.

2.2 Representaci
on y Razonamiento con Incertidumbre

43

Ejemplo 2.11 Se tiene una evidencia que desconfirma una hip


otesis de HEP con un valor
de 07

m({CIRR, P IE, P AN }) = 00 7

X
m() = 00 3
=1
m() = 0

m() = 0
A partir de m vamos a construir las dos siguientes funciones:
Credibilidad de una hipotesis A
X
Cr(A) =
m(B)
BA

Plausibilidad de A
P l(A) =

m(B)

BA6=

Tanto Cr como P l son funciones de probabilidad.


Todas las hipotesis B de la credibilidad estan incluidas en las hipotesis B de la plausibilidad.
Cr(A) P r(A) P l(A)
|P l(A) Cr(A)| mide la falta de informacion.
Por lo tanto con esta teora (que es una generalizacion de la probabilidad) se mide tanto
incertidumbre, como falta de informacion.
Propiedades.
Cr() = P l() = 0
Cr() = P l() = 1
Cr(A) + P l(A) = 1
Cr(A) + Cr(A) 1
P l(A) + P l(A) 1
Ejemplo 2.12 Calcular la credibilidad y plausibilidad de la hip
otesis A = {CIRR, P IE, P AN }
y su complemento sabiendo que:
m(A) = 00 7
m() = 00 3
m() = 0
m() = 0
Cr(A) = m(A)+m({CIRR, P IE})+m({CIRR, P AN })+m({P IE, P AN })+m({CIRR})+
m({P IE}) + m({P AN }) + m({}) = 00 7 + 0 + + 0 = 00 7
P l(A) = m(A)+m({HEP, CIRR})+m({HEP, P IE})+m({HEP, P AN })+m({CIRR})+
m({P IE}) + m({P AN }) + m({}) = 00 7 + 0 + 0 + 0 + 0 + 0 + 0 + 00 3 = 1
00 7 P r(A) 1
Regla de Combinaci
on de a.b.p. de Dempster-Shafer
Sean m1 y m2 dos a.b.p. sobre dos hipotesis.
m1 m2 (Ck ) =

m1 (Aj ) m2 (Bj )

Aj Bj =Ck

m1 m2 tambien es una a.b.p.


m1 m2 = m2 m1
Propiedades
m1 (m2 m3 ) = (m1 m2 ) m3
De donde se deduce que no importa el orden de combinacion de la informacion.

44

Captulo 2. Representaci
on del Conocimiento. Razonamiento

Ejemplo 2.13 Sea m1 una a.b.p. que confirma la hip


otesis {HEP, CIRR} con un valor 06.
m1 ({HEP, CIRR}) = 00 6 m1 () = 00 4
Y sea

m1

m2 ({CIRR, P IE, P AN }) = 00 7 m2 () = 00 3
m3 ({HEP }) = 00 8
m3 () = 00 2
m2
{CIRR, P IE, P AN } 00 7
00 3
{HEP, CIRR} 00 6
{CIRR} 00 6 00 7
{HEP, CIRR} 00 6 00 3
0
0
0
04
{CIRR, P IE, P AN } 0 4 0 7
00 4 00 3
m1 m2 ({CIRR}) = 00 42
X
m1 m2 ({HEP, CIRR}) = 00 18
m1 m2 (A) = 1
m1 m2 ({CIRR, P IE, P AN }) = 00 28
A
m1 m2 ({}) = 00 12

m3

{HEP } 0 8
00 2

{CIRR} 00 42
00 8 00 42
{CIRR} 00 2 00 42

m1 m2
{HEP, CIRR} 00 18
{CIRR, P IE, P AN } 00 28
0
0
{HEP } 0 8 0 18
00 8 00 28
0
0
{HEP, CIRR} 0 2 0 18 {CIRR, P IE, P AN } 00 2 00 28

m1 m2 m3 () = 00 336 + 00 224 = 00 56 0
m1 m2 m3 ({HEP }) = 00 144 + 00 096 = 00 24

00 12
{HEP } 00 8 00 12
00 2 00 12

00 24
= 00 545
1 00 56

00 084
= 00 191
00 44
m1 m2 m3 ({HEP, CIRR}) = 00 036 00 082
m1 m2 m3 ({CIRR, P IE, P AN }) = 00 056 00 127
m1 m2 m3 ({}) = 00 024 00 055

m1 m2 m3 ({CIRR}) = 00 084

Seg
un vemos, la evidencia de va siendo cada vez m
as peque
na, seg
un se va combinando
informaci
on.
Si m1 m2 m3 () = p 6= 0 entonces hay que normalizar el resto de valores, dividiendolos
entre 1 p, para que su suma sea igual a 1. Si se da esta situacion es porque ha habido
contradiccion.
Al normalizar estamos perdiendo informacion; y podra ocurrir que la contradiccion fuera
muy alta y al normalizar no se reflejara fielmente la realidad.
Introducci
on a la Inferencia
Como representar los hechos:

Simples x es A
x1 es A1 o x2 es A2 (x1 , x2 ) es A1 + A2
Hechos
Compuestos
x1 es A1 y x2 es A2 (x1 , x2 ) es A1 A2
donde A1 + A2 = A1 A2 = (A1 X2 ) (X1 A2 ), siendo Xi el mundo de discurso de Ai .
La teora de la evidencia permite trabajar con vaguedad, mientras que la probabilidad no
puede.
Como representar las reglas:
Si x es A entonces y es B (x1 , x2 ) es A + B = A B

2.3 Representaciones Estructuradas del Conocimiento

45

Ahora que sabemos representar hechos y reglas, sean un hecho y una regla con un cierto
grado de incertidumbre medida con un intervalo:
F : [CrF , P lF ]
R : [CrR , P lR ]
Para poder aplicar la regla de Dempster tenemos que transformar estos dos intervalos en
masas de evidencia.
CrF (A) =
P LF (A) =
=1
mF (A) =
mF (A)
mF () =
CrR (A + B) = P lR (A + B) =
=1
mR (A + B) = mR (A B)
mR (X1 X2 ) =
M
etodo general de razonamiento (o inferencia)
Tenemos F1 , F2 , . . . , Fm y R1 , R2 , . . . , Rn inciertas (cada una con su intervalo).
Queremos saber la verdad de que se establezca F y su valor de incertidumbre asociado a
partir de las reglas y hechos previos. Los pasos a seguir son:
1. Construir una estructura lo mas peque
na posible que contenga Fi , Rj y F .
= X1 X2 Xp

p=m+n+1

2. Calcular la extension cilndrica de las a.b.p. mFi y mRj sobre (para poder mezclar).
3. Combinar por la regla de Dempster (se obtiene m).
4. Proyectar la a.b.p. m sobre Xp (que corresponde a F ).
5. Calcular CrF y P lF a partir de dicha proyeccion.
Este metodo es una generalizacion del Modus Ponens clasico, pues si tanto los hechos
como las reglas fueran ciertos (Cr = 1, P l = 1) obtendramos conclusiones tambien ciertas.

2.3.
2.3.1.

Representaciones Estructuradas del Conocimiento


Redes Sem
anticas

Nos sirven para representar el conocimiento de manera que se parezca a como representamos nosotros el conocimiento. Es una representacion parecida a la logica, pero mas visual,
mas grafica.
Definici
on 2.16 Una red semantica es una estructura de datos compuesta de nodos y links
(arcos) y cada elemento tiene un asociado semantico.
Un nodo se corresponde con un hecho, suceso, evento u objeto.
Un link tiene una relacion binaria entre los nodos que une:
r

n1 n2

n1 , n2 : nodos
r : link

Representaci
on de una red sem
antica generalizada
Nuestro conocimiento tiene relaciones n-arias, pero solo podemos usar relaciones binarias
si queremos usar una red semantica.
Ejemplo 2.14 Juan regal
o a Mara un libro en el parque se trata de una relaci
on 5-aria.
Creamos un ente generico abstracto e que relaciona todos los objetos; y a partir de el
construimos todas las relaciones binarias.

46

Captulo 2. Representaci
on del Conocimiento. Razonamiento

Figura 2.7: Ejemplo de Red Semantica


Veamos ahora como se representan las reglas: aparecen dos tipos de links.
Conclusion (Asociados a los nodos que pertenecen al consecuente de una regla).
Condicion 99K (Asociados a los nodos que pertenecen al antecedente de una regla).
Ejemplo 2.15 Regla: Todo acto de dar tiene su recproco de recibir
Tomamos el evento x

Figura 2.8: Ejemplo de regla en una Red Semantica


Ya tenemos dos trozos de red semantica: un hecho y una regla.
Ejemplo 2.16 Juan da un libro a Mara y el acto recproco de dar es recibir

Figura 2.9: Ejemplo de Red Semantica con un hecho y una regla


El link es un denota las relaciones es un, parte de, subconjunto, un tipo de. Estos tipos
de links crean una red semantica jerarquica.
es un

es un

Ejemplo 2.17 elefante mamfero animal


Por la herencia, las propiedades del caso general las tiene el caso particular. Ademas estos
links cumplen la propiedad transitiva.
Tambien existen links que denotan restricciones temporales: antes de, despues de, simultaneo,
causa.
Ejemplo 2.18 .
despues

e1 e2
simultaneo

e1
causa
e1 e2

e2

2.3 Representaciones Estructuradas del Conocimiento

47

Ejemplo 2.19 En la figura 2.10 podemos ver un ejemplo de reglas que relacionan elementos
temporales.

Figura 2.10: Ejemplo de reglas que relacionan elementos temporales


Inferencia
Debemos tener en cuenta dos procesos:
1. Unificacion de nodos
2. Inferencia de links
Un link antecedente y uno consecuente se eliminan si son del mismo tipo y los nodos que
unen son unificables entre s.
El proceso de inferencia es destructivo, por lo tanto antes de empezar hay que realizar
una copia de la red semantica. La inferencia termina cuando se llega a la red semantica vaca.
Por lo tanto, lo primero que hay que hacer es extraer de la base de conocimiento la
informacion suficiente y necesaria para hacer la inferencia que nos interesa.
Si usaramos la base de conocimiento completa habra que destruirla entera para poder
inferir (y estaramos destruyendo informacion que no hara ninguna falta para inferir lo que
queremos).
Ejemplo 2.20 .
Turing es humano
S
ocrates es humano
S
ocrates es griego
Todo humano es falible
Hay alg
un griego falible?

Figura 2.11: Ejemplo de inferencia en redes semanticas (1)


Una pregunta es siempre el antecedente de una regla.

48

Captulo 2. Representaci
on del Conocimiento. Razonamiento

Figura 2.12: Ejemplo de inferencia en redes semanticas (2)


x=y
x = y = Socrates

Figura 2.13: Ejemplo de inferencia en redes semanticas (3)


Hemos llegado a la red sem
antica vaca (pues la informaci
on que queda no deberamos
haberla cogido desde el principio). Y concluimos que s hay alg
un griego falible: x = y =
Socrates

2.3.2.

Marcos o Frames

Subimos un grado de abstraccion.


Las redes semanticas estan muy proximas a la logica, por lo tanto se necesita todo el
conocimiento para poder inferir (si falta conocimiento no se llega a una red semantica vaca).
Definici
on 2.17 Un frame va a ser una estructura de datos que representa un tipo entidad
y consta de una coleccion de ranuras con un nombre cada una, denominadas slots, donde
cada ranura puede rellenarse mediante valores o apuntadores a otros frames.
Ejemplo 2.21 Una persona nos dice que comi
o muy bien ayer en un restaurante. A partir
de esa informaci
on podramos responder a preguntas como:
Entr
o en el restaurante y pidi
o una mesa libre?
Pag
o la comida al salir?
Ejemplo 2.22 Vamos a representar los frames Empleado y Padre de Familia y los vamos a instanciar los dos con la misma entidad.

Figura 2.14: Ejemplo de frame Empleado y Padre de Familia

2.3 Representaciones Estructuradas del Conocimiento

49

Cuando se rellena un frame (sus ranuras) se dice que esta instanciado y que representa a
una entidad particular.
Si no se dice ning
un valor para una ranura se le pone el valor por defecto (incluso puede
que antes de instanciar el frame), por ejemplo, num piernas = 2.
El slot Estado civil tiene valores genericos.
Cuando una entidad puede instanciar frames distintos se dice que esos frames son frames
desde puntos de vista alternativos.
Hay frames que, por la propia definicion, son disjuntos (por ejemplo, Padre de Familia
y No Padre de Familia). La instanciacion por dos frames disjuntos de una misma entidad
significa que hay un error.
Los slots con el mismo nombre en dos frames que instancian la misma entidad, deben
tener el mismo valor (salvo excepciones, como Disposici
on); en otro caso se renombra el slot.
Hay slots que tienen valores restringidos (por ejemplo, la edad en el frame Empleado debe
estar entre 18 y 65).
Cuando se nos da cierta informacion, buscamos aquel frame que mejor se ajuste (mayor
grado de emparejamiento) a esa informacion, y a partir de ese momento ese frame instanciado
representa a esa entidad.
Propiedades gen
ericas de las ranuras.
Propiedad asociada con un conjunto entidad de tal forma que cada miembro de ese
conjunto posee esa propiedad.
Ejemplo 2.23 En el frame Persona, propiedades genericas son: sangre caliente, tiene madre, un coraz
on, ...
Un valor por defecto es aquel que se espera encontrar en casos normales. Las ranuras
con valores por defecto pueden conducir a errores.
Ejemplo 2.24 Juan y Mara yacen muertos en el suelo. Hay un charco de agua,...
Cometemos un error al presuponer que Juan y Mara son personas, pues en realidad
son dos peces.
Condiciones de ranura son condiciones que restringen los valores con los que se va a
rellenar.
Representaci
on jer
arquica de los frames

Figura 2.15: Ejemplo de jerarqua de frames


es equivalente a la relacion es un. Todos los frames con el mismo padre son hermanos
y heredan las propiedades de este.

50

Captulo 2. Representaci
on del Conocimiento. Razonamiento

M
etodos de inferencia
1. Existencia inferida
Tenemos una entidad E (informacion recibida) que se desconoce de que tipo es.
Emparejamos E con el frame F que mejor se adapte a E, pero con un grado de creencia.
Dicho grado de creencia vendra dado por el grado de emparejamiento entre E y F .
2. Propiedades genericas inferidas
Una vez emparejados E y F , a E se le asocian todas las propiedades genericas del frame
F con un grado de creencia (dependiente del grado de emparejamiento y del grado de
creencia de la ranura de la propiedad generica).
3. Valores por defecto inferidos
Una vez emparejados E y F , si alguna de las ranuras de valores por defecto del frame
no se han rellenado por la entidad, toman el valor por defecto del frame.
El grado de creencia de esos valores por defecto depende del grado de emparejamiento
y del grado de creencia de esas ranuras con valores por defecto.
4. Reconocimiento de situaciones anormales
Rellenar ranuras con valores no esperados o no rellenar ranuras que es importante
rellenarlas puede ser un error del sistema.
Ejemplo 2.25 Una persona tiene 5 piernas
Un empleado tiene 8 a
nos
5. Inferencia por analoga
No es exclusiva de los frames y consiste en tomar informacion de un frame para asociarsela a otro frame.
Ejemplo 2.26 La persona Pedro es como una apisonadora
La Bolsa es como una monta
na rusa

2.3.3.

Guiones

Un guion es un frame que describe una secuencia de acontecimientos en un contexto (como


un guion de cine o teatro).
Los elementos de que consta son:
Conjunto de condiciones de entrada (o prerrequisitos)
Ejemplo 2.27 .
Tiene hambre
Tiene dinero
Un guion representa una situacion si se cumplen las condiciones de entrada.
Conjunto de resultados

2.3 Representaciones Estructuradas del Conocimiento

51

Ejemplo 2.28 .
El cliente tiene menos dinero
El cliente no tiene hambre
El cliente est
a complacido
El due
no tiene m
as dinero
Conjunto de materiales
Ranuras para objetos que van a intervenir en el guion.
Conjunto de papeles
Ranuras para personas que van a intervenir en el guion.
Un lugar
Donde se va a realizar ese guion (es una ranura del mismo).
Conjunto de escenas
Todos los elementos que van a ir apareciendo secuencialmente en el guion.

52

Captulo 2. Representaci
on del Conocimiento. Razonamiento

Captulo 3

Planificar para la Resoluci


on de
Problemas
3.1.

Planificaci
on y Resoluci
on de Problemas

3.1.1.

El problema de la planificaci
on

Definici
on 3.1 Planificar es la tarea de obtener una secuencia de acciones que permita llegar
a un estado objetivo.
Definici
on 3.2 A esa secuencia de acciones se le llama plan.
En la planificacion las reglas u operadores deben ser modulares (es decir, si quitamos o
ponemos una, las demas no se ven afectadas) y el sistema debe ser completo (esto es, se deben
recoger todas las posibilidades que puedan aparecer).
Y antes de comenzar a tratar con mas detalle el tema de la planificacion debemos tener
en cuenta las tres siguientes cuestiones:
1. Marco de referencia
Cuando se ejecuta una regla, que permanece sin cambios? Cual es el fondo de la
escena en que se desarrolla la accion?
Ejemplo 3.1 Al mover una mesa, se mueve lo que haya encima. Pero si decimos que
una mesa est
a debajo de una ventana, al mover la mesa no se mueve la ventana.
2. Problema de la cualificacion
En que condiciones puede ejecutarse una regla? Que necesita en su entorno para
ejecutarse?
El planificador sera el encargado de decidir que regla aplicar en cada momento.
3. Problema de la ramificacion
Cuando se ejecuta una regla, que elementos de su entorno se modifican?

53

54

3.1.2.

Captulo 3. Planificar para la Resoluci


on de Problemas

Tipos de planificadores, estados y operadores

Tipos de planificadores
De Orden Total. Encuentran un camino desde el estado inicial al estado final.
De Orden Parcial. Encuentran todos los posibles caminos desde el estado inicial al
estado final.
Jerarquicos
Estados
Estado Inicial
LIBRE(B), SOBRE(C,A), SOBREMESA(A), LIBRE(C), MANOVACIA, SOBREMESA(B)
Estado Objetivo
SOBRE(A,B), SOBRE(B,C)
Operadores
Vienen descritos por tres elementos:
Lista de precondiciones (P)
Conjunto de elementos que si son ciertos hacen al operador candidato para ser aplicado.
Lista de adicion (A)
Elementos que se a
naden al estado actual
Lista de supresion (S)
Elementos que se suprimen al estado actual
Ejemplo 3.2 .
COGER(X):
P: SOBREMESA(X), MANOVACIA, LIBRE(X)
A: COGIDO(X)
S: SOBREMESA(X), MANOVACIA, LIBRE(X)
DEJAR(X):
P: COGIDO(X)
A: SOBREMESA(X), MANOVACIA, LIBRE(X)
S: COGIDO(X)
APILAR(X,Y):
P: COGIDO(X), LIBRE(Y)
A: MANOVACIA, SOBRE(X,Y), LIBRE(X)
S: COGIDO(X), LIBRE(Y)
DESAPILAR(X,Y):
P: MANOVACIA, LIBRE(X), SOBRE(X,Y)
A: COGIDO(X), LIBRE(Y)
S: MANOVACIA, LIBRE(X), SOBRE(X,Y)

3.1 Planificaci
on y Resoluci
on de Problemas

3.1.3.

55

M
etodos de planificaci
on

Resoluci
on hacia adelante
Ejemplo 3.3 Dado el estado inicial descrito como:
SOBREMESA(A)
SOBREMESA(B)
SOBREMESA(C)
LIBRE(A)
LIBRE(B)
LIBRE(C)
MANOVACIA
Y el estado final descrito como:
SOBRE(A,B), SOBRE(B,C)
Se van aplicando operadores para llegar desde el estado inicial al estado final.
Resoluci
on hacia atr
as
Partimos del estado final e intentamos llegar al estado inicial. Pero para luego dar una
solucion necesitamos aplicar unos operadores inversos.
OBJET IV O = {L G1 G2 . . . GN }
SU BOBJET IV O = {PD G01 G02 . . . G0N }
La regla D sera candidata a ser aplicada sobre L si en su lista de adicion esta L0 y existe
un unificador que hace Ly L0 iguales.
Si se aplica D sobre L, entonces L se transforma en las precondiciones de D, esto es, en
PD .
G0i son los elementos obtenidos por regresion despues de haber aplicado la regla D, para
lo cual necesitamos una funcion de regresion.
Definici
on 3.3 R[Q, DU ] es la regresion del objetivo Q = {G1 , G2 , . . . , GN } al aplicar DU
(regla D aplicandole el unificador U ).
1. Si QU es un literal de AU (lista de adicion) entonces
R[QU , DU ] = V (Verdadero)
2. Si QU es un literal de SU (lista de supresion) entonces
R[QU , DU ] = F (Falso)
3. En otro caso
R[QU , DU ] = QU
Todos los elementos cuya regresion sea verdadera no es necesario comprobarlos en el
futuro (y por lo tanto no aparecen en el siguiente subobjetivo).
Si la regresion de alg
un elemento es falsa, no se puede aplicar dicha regla.
Ejemplo 3.4 Sea OBJETIVO={COGIDO(A), LIBRE(B), SOBRE(B,C)}
Observamos que COGIDO(A) pertenece a la lista de adici
on de DESAPILAR(X,Y) si
aplicamos el unificador X=A. Por lo tanto, en el siguiente subobjetivo desaparecer
a COGIDO(A), que ser
a sustituido por la lista de precondiciones de DESAPILAR(X,Y).

56

Captulo 3. Planificar para la Resoluci


on de Problemas

Ahora aplicamos regresi


on al resto de elementos del OBJETIVO, para lo cual tenemos
que ampliar el unificador que tenamos para que incluya Y=B. As, tenemos que
R[LIBRE(B),DESAPILAR(A,B)] = V, pues LIBRE[B] pertenece a la lista de adicci
on de
DESAPILAR(A,B) y por lo tanto, no aparecer
a en el siguiente subobjetivo (no es necesario
comprobarlo en el futuro).
R[SOBRE(B,C),DESAPILAR(A,B)] = SOBRE(B,C), pues SOBRE(B,C) no aparece ni
en la lista de supresi
on, ni en la de adici
on de DESAPILAR(A,B). Por lo tanto SOBRE(B,C)
pasa tal cual al siguiente subobjetivo.
En resumen, tenemos que
SUBOBJETIVO={MANOVACIA, LIBRE(A), SOBRE(A,B), SOBRE(B,C)}
Ejemplo 3.5 OBJETIVO={SOBRE(B,C), SOBRE(A,B)}
Aplicamos APILAR(B,C) y obtenemos, tras la regresi
on, que
SUBOBJETIVO={COGIDO(B), LIBRE(C), SOBRE(A,B)}
Pero COGIDO(B) y SOBRE(A,B) son inconsistentes!!
Nota.- Antes de seguir avanzando hay que comprobar la (in)consistencia de
aquellos nuevos subobjetivos que hayan conseguido superar la regresion (recordemos que si la funcion de regresion aplicada sobre alg
un elemento devuelve falso,
no se puede aplicar la regla).

3.2.

Planificaci
on de Orden Total

3.2.1.

Planificaci
on usando una pila de objetivos (STRIPS)

Se realiza una b
usqueda hacia atras empezando por el objetivo que se quiere alcanzar. Si
dicho objetivo es compuesto, se descompone en subobjetivos, formando una pila.
Resuelve problemas en los que no hay interaccion entre subobjetivos (o bien hay interacciones debiles).
Ejemplo 3.6 .
SOBRE(B,C)
SOBRE(A,B)
SOBRE(A,B) SOBRE(B,C)
Los pasos a seguir en STRIPS son:
1. Se comienza con una pila de objetivos que solo contiene el objetivo principal. Si el
objetivo de la parte superior de la pila se empareja con la descripcion del estado real,
se suprime este objetivo de la pila y se aplica la sustitucion de emparejamiento a todas
las expresiones que esten por debajo en la pila.
2. En otro caso, si el objetivo que esta en la cima de la pila es compuesto, el sistema
a
nade encima de ese objetivo compuesto cada uno de los literales componentes (en
cierto orden).
3. Cuando han sido resueltos todos los objetivos componentes, si el objetivo compuesto no
se empareja con el estado real el sistema reconsidera el objetivo compuesto, volviendo
a listar sus componentes en la parte superior de la pila.
Cada vez que se listan de nuevo los componentes de un objetivo el estado real puede
ser distinto, y puede que en un momento no se resuelva el objetivo, pero mas adelante
s.

3.2 Planificaci
on de Orden Total

57

Si se resuelven todos los subobjetivos, pero no el objetivo compuesto, es porque al resolver subobjetivos se deshacen cambios hechos por subobjetivos previamente resueltos.
4. Cuando el objetivo no resuelto de la cima de la pila es un u
nico literal STRIP busca
una regla cuya lista de adicion contenga un literal que se pueda emparejar con el.
Ese emparejamiento reemplaza al literal de la cima. Encima de el se a
nade la regla (con
ese valor de emparejamiento) y encima de la regla se ponen las precondiciones de dicha
regla particularizadas para ese emparejamiento.
Si las precondiciones se emparejan con el estado real, se aplica la regla. Si las precondiciones son compuestas, se descomponen y se a
naden sus componentes a la cima de la
pila.
5. Cuando el elemento de la cima es una regla es porque las precondiciones de esa regla
se emparejan con la descripcion del estado y se suprimieron de la pila.
Entonces la regla es aplicable y se aplica efectivamente a la descripcion del estado,
suprimiendola de la pila (el sistema debe recordar las reglas que se aplican y el orden
en que se aplican).
Tres cuestiones interesantes a tener en cuenta a la hora de resolver un problema practico
son:
1. Ordenacion de los componentes de un objetivo compuesto
2. Eleccion entre las particularizaciones posibles
3. Eleccion de la regla aplicable, en caso de haber mas de una
Ejemplo 3.7 Estado inicial:
LIBRE(B)
LIBRE(C)
SOBRE(C,A)
SOBREMESA(A)
SOBREMESA(B)
MANOVACIA
Estado final:
SOBRE(C,B), SOBRE(A,C)
El contenido de la pila a lo largo de la ejecuci
on de STRIPS es:

SOBRE(C,B) SOBRE(A,C)

SOBRE(C,B)
SOBRE(A,C)
SOBRE(C,B) SOBRE(A,C)

APILAR(C,B)
SOBRE(C,B)
SOBRE(A,C)
SOBRE(C,B) SOBRE(A,C)

LIBRE(B) COGIDO(C)
APILAR(C,B)
SOBRE(C,B)
SOBRE(A,C)
SOBRE(C,B) SOBRE(A,C)

58

Captulo 3. Planificar para la Resoluci


on de Problemas

COGIDO(C)
LIBRE(B)
LIBRE(B) COGIDO(C)
APILAR(C,B)
SOBRE(C,B)
SOBRE(A,C)
SOBRE(C,B) SOBRE(A,C)

MANOVACIA, LIBRE(C), SOBRE(C,Y)


DESAPILAR(C,Y)
COGIDO(C)
LIBRE(B)
LIBRE(B) COGIDO(C)
APILAR(C,B)
SOBRE(C,B)
SOBRE(A,C)
SOBRE(C,B) SOBRE(A,C)

Ahora la cima de la pila se empareja con el estado real, de modo que se desapila la cima y
se aplica la regla que queda en la cima (y se anota que se ha aplicado dicha regla).
A continuaci
on se muestra el estado real, junto con la pila, a lo largo de la ejecuci
on de
STRIP:
LIBRE(B)
LIBRE(A)
COGIDO(C)
SOBREMESA(A)
SOBREMESA(B)

APILAR(C,B)
SOBRE(C,B)
SOBRE(A,C)
SOBRE(C,B) SOBRE(A,C)

LIBRE(A)
LIBRE(C)
SOBRE(C,B)
SOBREMESA(A)
SOBREMESA(B)
MANOVACIA

SOBRE(A,C)
SOBRE(C,B) SOBRE(A,C)

LIBRE(A)
LIBRE(C)
SOBRE(C,B)
SOBREMESA(A)
SOBREMESA(B)
MANOVACIA

LIBRE(C)
COGIDO(A)
LIBRE(C) COGIDO(A)
APILAR(A,C)
SOBRE(A,C)
SOBRE(C,B) SOBRE(A,C)

LIBRE(A)
LIBRE(C)
SOBRE(C,B)
SOBREMESA(A)
SOBREMESA(B)
MANOVACIA

LIBRE(C)
COGIDO(A)
SOBRE(C,B)
SOBREMESA(B)

SOBREMESA(A), LIBRE(A), MANOVACIA


COGER(A)
COGIDO(A)
LIBRE(C) COGIDO(A)
APILAR(A,C)
SOBRE(A,C)
SOBRE(C,B) SOBRE(A,C)
COGIDO(A)
LIBRE(C) COGIDO(A)
APILAR(A,C)
SOBRE(A,C)
SOBRE(C,B) SOBRE(A,C)

3.2 Planificaci
on de Orden Total

LIBRE(A)
SOBRE(A,C)
SOBRE(C,B)
SOBREMESA(B)
MANOVACIA

59

SOBRE(A,C)
SOBRE(C,B) SOBRE(A,C)

Finalmente, no olvidemos devolver el plan que hemos encontrado y que en este caso es el
siguiente:
DESAPILAR(A,C)
APILAR(C,B)
COGER(A)
APILAR(A,C)
Ejemplo 3.8 Un problema que STRIP no puede resolver es el de permutar los valores de
dos registros del procesador.
Estado inicial:
CONTENIDO(X,A)
CONTENIDO(Y,B)
CONTENIDO(Z,0)
Estado final:
CONTENIDO(X,B)
CONTENIDO(Y,A)
Contamos con la siguiente operaci
on:
ASIGNA(U,R,T,S):
P: CONTENIDO(R,S), CONTENIDO(U,T)
S: CONTENIDO(U,T)
A: CONTENIDO(U,S)

CONTENIDO(X,A)
CONTENIDO(Y,B)
CONTENIDO(Z,0)

CONTENIDO(X,B)
CONTENIDO(Y,B)
CONTENIDO(Z,0)

CONTENIDO(R,B) CONTENIDO(X,T)
ASIGNA(X,R,T,B)
CONTENIDO(X,B)
CONTENIDO(Y,A)
CONTENIDO(X,B) CONTENIDO(Y,A)
CONTENIDO(Y,A)
CONTENIDO(X,B) CONTENIDO(Y,A)

Hemos llegado a un punto en el que no se puede continuar, ya que la interacci


on entre
subobjetivos es demasiado fuerte.

3.2.2.

STRIP con protecci


on de objetivos (RSTRIP)

En este nuevo metodo, cuando se empareja la cima de la pila con el estado real, no se
desapila la cima sino que se marca con un asterisco (*). Y si una regla va a deshacer alg
un
objetivo marcado, no se aplica.
Una lnea horizontal divide a la pila en dos. Lo que haya por encima de ella esta ya
resuelto, y lo que este por debajo esta por resolver.
Los corchetes laterales indican los componentes de un objetivo compuesto. Si la lnea
horizontal atraviesa un corchete, ninguno de los subobjetivos por debajo de la lnea dentro
del corchete puede deshacer los subobjetivos por encima de la lnea dentro del corchete.
RSTRIP encuentra siempre el plan mas corto.

60

Captulo 3. Planificar para la Resoluci


on de Problemas

Si resolvieramos el ejemplo 3.7 con RSTRIP obtendramos el mismo resultado que con
STRIP, ya que no hay interaccion entre subobjetivos.
Definici
on 3.4 Regresion: se aplica regresion entre el violador y cada una de las reglas por
encima del violado. Si pasa la regresion, el violador se coloca como una precondicion mas de
esa regla.
S se permiten violaciones temporales, esto es, una regla viola un objetivo protegido, pero
otra regla por debajo de la primera en la pila vuelve a resolver ese objetivo.

3.3.

Planificaci
on Ordenada Parcialmente

En este tipo de planificacion (tambien llamada no lineal) se trabaja con subplanes, en vez
de con subproblemas.
Primero se construye un grafo con los subplanes. Despues se a
naden unas restricciones
que imponen un cierto orden entre los operadores. Y finalmente, para devolver una solucion,
es necesario linealizar el plan.
Ejemplo 3.9 Objetivo: Tener el zapato derecho puesto y tener el zapato izquierdo puesto
Operadores:
ZapatoDerecho
ZapatoIzquierdo
P: Calcetn derecho puesto
P: Calcetn izquierdo puesto
A: Zapato derecho puesto
A: Zapato izquierdo puesto
CalcetinDerecho
A: Calcetn derecho puesto

CalcetinIzquierdo
A: Calcetn izquierdo puesto

Figura 3.1: Ejemplo de planificacion no lineal


En la figura 3.1 se muestra un conjunto de subplanes que resuelven el problema. Ahora
hay que linealizar este conjunto para dar una secuencia concreta de operadores.
Hay 6 planes posibles. Uno de ellos puede ser, por ejemplo:
CalcetinIzquierdo, CalcetinDerecho, ZapatoDerecho, ZapatoIzquierdo.

3.3 Planificaci
on Ordenada Parcialmente

3.3.1.

61

Planificaci
on no lineal sistem
atica (PNLS)

Ahora se devuelve un conjunto de (sub)planes con (posibles) conflictos entre ellos. Al


aplicar un nuevo operador se comprueba que no se deshaga lo que ya se tena resuelto.
Construimos una estructura que conecte los operadores ficticios FIN e INICIO, descomponiendo el estado final para intentar llegar al inicial.
A continuacion se indican las precedencias entre todos los operadores. Al igual que antes,
por u
ltimo, se debe linealizar para buscar un plan concreto que resuelva el problema (los
operadores deberan aplicarse de inicio a fin).
Ejemplo 3.10 En la figura 3.2 se muestra la representaci
on gr
afica del operador
MOVER(X,Y,Z)
P: SOBRE(X,Y), LIBRE(Z), LIBRE(X)
A: LIBRE(Y), SOBRE(X,Z)
S: SOBRE(X,Y), LIBRE(Z)
Que significa que mueve X, que est
a sobre Y , encima de Z.

Figura 3.2: Operador MOVER(X,Y,Z)


Observese que la lista de supresi
on no aparece explcitamente. X, Y y Z son variables
que deben instanciarse.
El estado inicial para nuestro problema ser
a:
SOBRE(C,A)
SOBRE(B,SUELO)
Por su parte, el estado final ser
a:
SOBRE(A,B)
SOBRE(B,C)
En la figura 3.3 se muestra la estructura que conecta FIN e INICIO.
En vista de dicha figura, los dos subplanes que hay son:
Subplan del primer subobjetivo b < a
Subplan del segundo subobjetivo c
Por lo que podramos pensar que hay tres posibles planes, a saber
c<b<a
b<c<a
b<a<c
Pero si somos observadores veremos que no todos son factibles. En realidad el u
nico plan
v
alido es
b<c<a

62

Captulo 3. Planificar para la Resoluci


on de Problemas

Figura 3.3: Ejemplo de planificacion no lineal sistematica

3.4.

Planificaci
on Jer
arquica

Se priorizan las precondiciones para definir operadores simplificados, y aplicamos un planificador cualquiera (STRIP, ...) para obtener un esbozo del plan.
Precondiciones
LIBRE
MANOVACIA
COGIDO
SOBREMESA
SOBRE

No operadores que
lo hacen cierto
3
2
2
1
1

Prioridad
1
2
2
3
3

Intentamos resolver solo los literales de prioridad 3 (mayor dificultad) y el resto se consideran siempre ciertos.
Ejemplo 3.11 .
ESTADO
LIBRE(B)
LIBRE(C)
SOBRE(C,A)
SOBREMESA(A)
SOBREMESA(B)
MANOVACIA

OBJETIVO

SOBRE(C,B) SOBRE(A,C)

El plan que se encuentra es


{APILAR(C,B),
APILAR(A,C)}. Si este plan
no tiene suficiente detalle, se
vuelve a aplicar el
planificador con nivel de
prioridad 2.

Captulo 4

El Aprendizaje Computacional
4.1.

El Problema del Aprendizaje Computacional

El aprendizaje denota cambios en el sistema que son adaptativos en el sentido de que


permiten al sistema hacer la misma tarea o tareas a partir de la misma poblacion mas eficiente
y/o eficientemente la proxima vez.
El aprendizaje memorstico es el mas basico y consiste en memorizar (nada de razonar).

4.2.

Conceptos B
asicos

4.2.1.

Tipos, fases y caractersticas del aprendizaje

Tipos de aprendizaje
Catalogacion en funcion de lo que sabemos del sistema que queremos aprender (o modelar).
Aprendizaje supervisado
Se conoce la salida que se espera del ejemplo que se le ense
na al sistema que queremos
que aprenda.
Ejemplo 4.1 Se le muestra una silla a un ni
no y se le dice: eso es una silla
Aprendizaje no supervisado
Se le muestra un ejemplo al sistema que queremos que aprenda, pero no le decimos de
que clase es. El sistema, a partir de lo que hay aprendido debe dar una respuesta.
Ejemplo 4.2 Se le muestra una silla a un ni
no que el nunca haya visto y se le pregunta
que tipo de objeto es.
De u
ltimas, lo que se pretende es construir modelos que representen tanto a los ejemplos
que se le han mostrado al sistema, como a aquellos ejemplos que NO se le han mostrado.
Fases del aprendizaje
En la figura 4.1 se muestran las fases mas importantes del aprendizaje. Algunos comentarios al respecto:
El Modelo Aprendido debe representar (cuando ya se haya construido finalmente) todos
los rasgos implcitos en los ejemplos mostrados (es decir, en los Datos de Entrenamiento).
Los Datos de Prueba nos serviran para comprobar si el modelo aprendido es correcto
(suficientemente fiable).
63

64

Captulo 4. El Aprendizaje Computacional

La Prediccion, que no es propiamente una fase del aprendizaje, tiene lugar una vez que
el modelo ya sea adecuado.

Figura 4.1: Fases del aprendizaje


En el modelo encontramos 2 tipos de parametros:
1. Parametros internos: Los que se aprenden en la fase de aprendizaje (a partir de los
externos).
2. Parametros externos: No se aprenden, sino que son dados a priori en base a un conocimiento experto.
Caractersticas del aprendizaje
Cuatro son las principales caractersticas del aprendizaje:
1. Precision: fiabilidad del modelo (caracterstica importante).
2. Velocidad: velocidad de prediccion a partir del modelo.
Por ejemplo, un modelo fiable al 90 % muchas veces es preferible a otro modelo fiable
al 99 %, siempre que el primero sea mucho mas veloz que el segundo.
3. Comprensibilidad: el modelo debe ser comprensible para el usuario.
4. Tiempo en aprender: tiempo necesario para aprender el modelo.
A partir de los datos de entrenamiento obtenemos varios modelos (que a su vez pueden
variar con los parametros externos e internos). Con los datos de prueba obtenemos el modelo
(seg
un las caractersticas que busquemos) con su fiabilidad. Una vez terminado el modelo con
su fiabilidad, comenzamos a predecir.
El hecho de realimentar la fase de prediccion para intentar que el sistema aprenda, es
mucho mas probable que disminuyamos la fiabilidad.

4.2 Conceptos B
asicos

4.2.2.

65

Estimaci
on del error

En la matriz de confusion se reflejan todos los ejemplos de la base de prueba con respecto
a la clase real de cada ejemplo y la clase predicha por el modelo.
Ejemplo 4.3 Enfermedad del coraz
on.
Clases predichas
por el modelo
150 ejemplos Ausente Presente
Clases reales
Ausente
80
10
de los ejemplos
Presente
20
40
80
10
20
40

(de
(de
(de
(de

los
los
los
los

150)
150)
150)
150)

ejemplos
ejemplos
ejemplos
ejemplos

realmente
realmente
realmente
realmente

no tenan ataque al coraz


on y el modelo acierta.
no tenan ataque al coraz
on y el modelo falla.
s tenan ataque al coraz
on y el modelo falla.
s tenan ataque al coraz
on y el modelo acierta.

Matriz de costos:

Clases reales
de los ejemplos

150 ejemplos
Ausente
Presente

Clases predichas
por el modelo
Ausente Presente
0
1
5
0

Observese que tiene mayor costo si realmente hay ataque al coraz


on y el modelo falla, que
el caso en que no hay ataque al coraz
on y el modelo falla.
Error = 20 5 + 10 1 = 110
Vamos a estudiar tres estimadores de errores para la matriz de confusion:
1. Estimador del error de los ejemplos
Suponemos que se tienen N ejemplos de prueba. Contamos cuantas predicciones son
E
incorrectas, llamado E. El estimador del error es N
.
Para el ejemplo anterior

30
150

Para poder aplicar este estimador se necesita que la base de prueba sea distinta que la
base de entrenamiento.
2. Estimador del error de resustitucion
Igual que 1), pero la base de prueba es igual o un subconjunto de la base de entrenamiento. Este estimador tiende a subestimar el error.
Ojo! No se pueden comparar modelos distintos con distintos estimadores del error.
3. Estimador del error por validacion cruzada
Sea S el conjunto de ejemplos, lo dividimos en v partes mas o menos de igual tama
no
y disjuntas S1 , . . . , Sv
Usaremos S Si , i = 1, . . . , v como base de entrenamiento y Si como base de prueba.
Para estimar el error se usa el estimador para el error de los ejemplos, y lo llamamos
Ri
v
X
|Si |
Ri
|S|
i=1

Este estimador eval


ua una tecnica (metodo) de aprendizaje, mientras que 1) y 2) eval
uan
un modelo.

66

Captulo 4. El Aprendizaje Computacional

Ademas de por la clase, se puede clasificar a partir de atributos multivaluados (con un


n
umero de valores finito).
En contraste, los atributos reales no pueden usar los estimadores vistos, sino que se usa
la recta de regresion, mediante el error cuadratico medio, que se calcula como:
PN

i=1 (yi

yi )2

N
donde yi es el valor real y yi es el valor estimado.
Cuanto menor sea este valor, mejor sera el modelo.
El costo de un modelo, por su parte, se calcula como:
c=

Nc
Nc
X
X

cij ij

i=1 j=1,i6=j

ij : ejemplos de la clase i, predichos en la clase j.


cij : costo de la clase i predicha como j.
Nc : n
umero de clases existentes.
Para el ejemplo anterior: c = 10 1 + 20 5 = 110

Captulo 5

Aprendizaje por Inducci


on en
Modo Estructural
Nota.- Los captulos que vienen ahora, salvo el u
ltimo, estudian aprendizaje
supervisado, bien por clasificacion, bien por regresion. El aprendizaje, ademas,
se hace a partir de los ejemplos, lo cual recibe el nombre de aprendizaje por
induccion.
Ejemplo 5.1 Para clasificar como silla se dice que tiene 4 patas, un tablero,...
Pero no se dice que las patas tienen que estar separadas, el tablero tiene que estar sobre
las patas...
Esto u
ltimo se le conoce como estructura del ejemplo y es lo que vamos a estudiar en este
captulo.

5.1.

Programa de aprendizaje de Winston

Usa redes semanticas para representar tanto los ejemplos como los modelos.
Empieza siempre a partir de un ejemplo llamado positivo, que no es mas que un ejemplo
que pertenece a la clase que queremos aprender, (por contraposicion, un ejemplo negativo es
aquel que no pertenece a la clase que queremos aprender).
Tambien se usan casi-ejemplos que no es mas que un ejemplo negativo, pero no es positivo
por muy pocos rasgos (normalmente uno solamente).
El procedimiento de Winston tiene 2 subprocedimientos:
Para ejemplos positivos Generalizacion
Para ejemplos negativos o casi-ejemplos Especializacion

5.1.1.

Generalizaci
on

Empleada cuando durante el aprendizaje se nos muestra un ejemplo positivo, hace uso de
cuatro funciones heursticas:
1. Heurstica de subida de arboles (generaliza conceptos subiendo de nivel en la estructura
jerarquica de conceptos)
2. Heurstica de conjunto ampliado (igual que 1, pero sin conocer la estructura jerarquica)
3. Heurstica de enlace eliminado
4. Heurstica de intervalo cerrado
67

68

Captulo 5. Aprendizaje por Inducci


on en Modo Estructural

Figura 5.1: Ejemplos de la base de entrenamiento. Generalizacion


Ejemplo 5.2 Queremos aprender el concepto de arco.
En la figura 5.1(a) vemos el ejemplo positivo primero, la figura 5.1(b) es un ejemplo negativo y la figura 5.1(c) es otro ejemplo positivo.
Heurstica de conjunto ampliado
Si decimos que la parte superior del arco es de color rojo y luego se dice que es verde, el
sistema aprende que el color de la parte superior puede ser rojo o verde.
Si luego mostramos una de color amarilla, aprender
a que el color puede ser rojo, verde o
amarillo.
Heurstica de enlace eliminado
Si a continuaci
on nos dicen que ya no hay m
as colores podemos eliminar el enlace del
color porque es una caracterstica que no es determinante.
Heurstica de intervalo cerrado
Si se ense
na un arco cuyas bases miden 20 cm y luego otro cuyas bases miden 10 cm, se
aprende que la base puede estar en el intervalo [10,20] cm.

5.1.2.

Especializaci
on

Empleada cuando durante el aprendizaje se nos muestra un ejemplo negativo o un casiejemplo, hace uso de dos funciones heursticas:
1. Heurstica del enlace requerido
Cuando el modelo evolucionado tiene un enlace en el lugar donde el casi-ejemplo no lo
tiene.
Ejemplo 5.3 En el ejemplo positivo de la figura 5.2(a) s existe el enlace soporta a,
mientras que en el casi-ejemplo de la figura 5.2(b), no existe dicho enlace.

Figura 5.2: Ejemplos de la base de entrenamiento. Especializacion (1)


Conseguimos enfatizar el enlace soporta a diciendo que debe soportar a.

5.2 Espacio de versiones

69

2. Heurstica del enlace olvidado


Cuando el casi-ejemplo tiene un enlace donde el modelo evolucionado no lo tiene.
Ejemplo 5.4 En el ejemplo positivo de la figura 5.3(a) no existe el enlace toca, mientras que en el casi-ejemplo de la figura 5.3(b), s existe dicho enlace.

Figura 5.3: Ejemplos de la base de entrenamiento. Especializacion (2)


Se enfatiza el negativo del enlace toca diciendo que no debe tocar
Ejemplo 5.5 En la figura 5.4 se muestran los pasos en el aprendizaje del concepto arco,
mediante el proceso de Winston, con generalizaciones y especializaciones a partir de ejemplos
positivos y casi-ejemplos.
Una vez tengamos la red semantica que represente el modelo (es decir, el u
ltimo modelo
evolucionado), tenemos que probar el modelo (muy importante) para medir la fiabilidad del
mismo.
Para ello el sistema debe emparejar las redes semanticas de los ejemplos de prueba con la
del modelo, para obtener un valor de similitud que nos pueda decir si ha acertado o no.

5.2.

Espacio de versiones

La representacion de los ejemplos se hace mediante frames.


Ejemplo 5.6 Queremos aprender cu
ando un coche es econ
omico. El frame de la figura 5.5
es equivalente a decir lo siguiente:
origen = x1 {USA, Jap
on, Alemania, ...}
marca = x2 {Toyota, Seat, Ford, ...}
color = x3 {Blanco, Azul, ...}
a
no = x4 {1960, 1970, ...}
tipo = x5 {lujo, econ
omico, deportivo, ...}
Un instanciaci
on del frame coche puede ser:
x1
Jap
on
x2
Honda
x3
Azul
x4
1970
x5
econ
omico
G
S
|
{z
}
(general)

Espacio de versiones

(ej positivo)

Conforme se van mostrando ejemplos, G se va especializando y S se va generalizando,


hasta que lleguen a encontrarse.
En la especializacion de G apareceran varias opciones {(. . .), (. . .), . . .}
Si G y S son unitarios y coinciden, devolvemos G(= S).
Si G y S son unitarios y no coinciden, hay contradiccion en la base de conocimiento.

70

Captulo 5. Aprendizaje por Inducci


on en Modo Estructural

Ejemplo 5.7 G = {(x1 , x2 , x3 , x4 , x5 )} (G es unitario)

Primer ejemplo
positivo

Segundo ejemplo
negativo

Tercer ejemplo
positivo

Cuarto ejemplo
negativo

Quinto ejemplo
positivo

Jap
on
Honda
Azul
1970
econ
omico
Jap
on
Toyota
Verde
1970
deportivo
Jap
on
Toyota
Azul
1990
econ
omico
USA
Chrysler
Azul
1980
econ
omico
Jap
on
Honda
Blanco
1980
econ
omico

S={(Jap
on,Honda,Azul,1970,econ
omico)}
(S es unitario)

G={(x1 ,Honda,x3 , x4 , x5 ),(x1 , x2 ,Azul,x4 , x5 ),


(x1 , x2 , x3 , x4 ,econ
omico)}
S no cambia

G={(x1 , x2 ,Azul,x4 , x5 ),(x1 , x2 , x3 , x4 ,econ


omico)}
S={(Jap
on,x2 ,Azul,x4 ,econ
omico)}

G={(Jap
on,x2 ,Azul,x4 , x5 ),(Jap
on,x2 , x3 , x4 ,econ
omico)}
S no cambia

G={(Jap
on,x2 , x3 , x4 ,econ
omico)}
S={(Jap
on,x2 , x3 , x4 ,econ
omico)}

Como ya G = S y ambos son unitarios, terminamos y devolvemos G (o S).

5.2 Espacio de versiones

71

Figura 5.4: Ejemplo de aprendizaje del concepto arco

72

Captulo 5. Aprendizaje por Inducci


on en Modo Estructural

Figura 5.5: Frame Coche

Captulo 6

Aprendizaje Basado en Instancias


Existen sistemas en los que es inviable encontrar un modelo global que represente todos
los ejemplos posibles y por lo tanto tenemos que conformarnos con una expresion local que
modele solo una parte del sistema.

Figura 6.1: Fases del aprendizaje basado en instancias


El modelo es directamente el conjunto de ejemplos de entrenamiento.

6.1.

Convergencia de los M
etodos Basados en Instancias
R

R p(x)d(x)

p (x)

donde
p(x): distribucion de probabilidad
p (x): distribucion real de probabilidad
R: region
V : volumen
Y por otra parte:
pM (x) =
donde
M : conjunto de ejemplos
V : volumen que ocupan esos ejemplos
KM : subconjunto de ejemplos de M
73

KM
M

VM

74

Captulo 6. Aprendizaje Basado en Instancias

Cumpliendose las siguientes propiedades:


lmM VM = 0
lmM KM =
KM
lmM
=0
M
Si se cumplen estas tres propiedades se dice que pM (x) converge a p (x)
En el plano teorico esto funciona muy bien, pero en la practica no podemos disponer
de infinitos ejemplos (y por lo tanto tampoco podemos obtener un subconjunto infinito de
ejemplos, ni el volumen tiende a cero, etc).
En consecuencia el valor que obtengamos de p (x) (a partir de pM (x)) sera un valor
aproximado.
Existen 2 formas de calcular pM (x):

1. KM = M Metodo de los k-vecinos


1
2. VM = Metodo de Parzen
M

6.2.

Aprendizaje mediante kM vecinos

Definici
on 6.1 X = {x1 , x2 , . . . , xM } El conjunto de ejemplos, suponiendo que M es
muy grande (que tambien sera el modelo).
Definici
on 6.2 C = {c1 , c2 , . . . , cL } Conjunto de clases en las que estan los xi ejemplos.
Definici
on 6.3 xi = (xi1 , . . . , xin ) Vector de caractersticas.
Dados los n atributos de cada ejemplo (que pueden ser reales o multivaluados), tenemos
dos posibilidades:
1. Clasificar: inferir una clase o atributo multivaluado
2. Hacer regresion: inferir un atributo real
Regla del vecino m
as cercano para clasificar
Se le asignan atributos a un ejemplo nuevo a partir de los atributos de su vecino mas
cercano conocido.
Para hallar el vecino mas cercano del nuevo ejemplo z calculamos la distancia eucldea
hasta todos los ejemplos de M .
Como clase de z se le asigna la clase de su vecino mas cercano.
Realmente, el metodo de los kM vecinos lo que hace es buscar los k vecinos mas cercanos
a z. Y puesto que solo trabajamos con k (del total de M ) ejemplos, el aprendizaje es local.

Figura 6.2: Aprendizaje basado en k-vecinos

6.3 Aprendizaje mediante el m


etodo de Parzen

75

Supongamos que z = (z1 , z2 , z3 , . . . , zn , c) y que no conocemos z2 ni c (la clase).


Hallamos que la clase predominante entre los k vecinos mas cercanos a z es cq . Y como
desconocemos la clase de z, le asignamos cq .
Si z2 es multivaluado, se le asigna el atributo predominante de entre los ejemplos (k
vecinos mas cercanos) que tienen la misma clase que z.
Si z2 es real, se le asigna la media de los valores del atributo x2 en los k vecinos mas
cercanos que tienen la misma clase que z.
Supongamos ahora que z = (z1 , z2 , z3 , . . . , zn , c) y que solo desconocemos z2 .
Si en los k vecinos mas cercanos la clase predominante coincide con c, z2 se infiere igual
que antes.
Si por el contrario no coincide con c, no se puede inferir nada. A este tipo de ejemplos se
le llaman esp
ureos.
Para hallar la distancia eucldea se usan todos los atributos reales que tenga cada ejemplo
v
u n
uX
j
de(z, x ) = t (zi xji )2
i=1

6.3.

Aprendizaje mediante el m
etodo de Parzen

Dado un nuevo ejemplo z, se nos da un volumen (o ventana) y trabajaremos, igual que


antes, con todos aquellos ejemplos que caigan dentro de la ventana dada centrada en z

Figura 6.3: Aprendizaje basado en Parzen


Si dentro de la ventana no hay ning
un ejemplo, puede ser por lo siguiente:
La ventana es demasiado peque
na
El ejemplo z esta demasiado alejado de la distribucion normal de los datos (este hecho
no se conoce con k-vecinos).
Por eso, la ventana que generalmente se utiliza es de la forma


1
1
e t
1
e
K(z, xe ) =
exp

(z

x
)
Cov
(z

x
)
r
1
2h2
(2) 2 hr |Cov| 2
y recibe el nombre de ventana gaussiana.

6.4.

Mejora de los m
etodos basados en instancias

Cuando la base de ejemplos es muy grande (millones de ejemplos), surge un problema de


eficiencia, pues para encontrar los k vecinos mas cercanos hay que examinar la base de datos
completa.
Para resolver esto, vamos a ver dos maneras: la multiedicion y la condensacion.

76

6.4.1.

Captulo 6. Aprendizaje Basado en Instancias

Multiedici
on

Puesto que los errores se condensan en la frontera que delimita las clases de los ejemplos,
la multiedicion elimina dichos ejemplos, reduciendo as el error cometido (tambien se dice
que reduce el ruido de la base de ejemplos).

Figura 6.4: Multiedicion


La figura 6.4(a) muestra la base de ejemplos original, mientras que en la figura 6.4(b) se
observa la misma base de ejemplos multieditada.
funci
on Hold-out Editing(R,k,M) devuelve conjunto editado de ejemplos
entradas: R: Conjunto inicial de ejemplos a editar
k: N
umero de vecinos para la regla de clasificacion
M: N
umero de bloques para hacer la particion hold-out
resultado: R: Conjunto editado de ejemplos
1. Dividir aleatoriamente R en M subconjuntos disjuntos Ri , i = 1, . . . , M
2. Para i = 1, . . . , M clasificar los ejemplos de Ri mediante la regla km usando
R(i+1)mod M como conjunto de entrenamiento
3. Eliminar de R los ejemplos mal clasificados en el paso 2
Function Hold-out Editing(R,k,M )

funci
on Multiedit(R,M,I) devuelve conjunto editado de ejemplos
Se basa en la repeticion iterativa de Hold-out Editing con k = 1
entradas: R: Conjunto inicial de ejemplos a editar
M: N
umero de bloques para hacer la particion hold-out
I: N
umero de iteraciones sin cambios (criterio de parada)
resultado: R: Conjunto editado de ejemplos
1. Ejecutar Hold-out Editing(R, k = 1, M )
2. si en las u
ltimas I iteraciones no ha habido edicion entonces PARAR.
en otro caso ir al paso 1.
Function Multiedit(R,M,I )

Nota.- Ojo! Aplicar multiedicion de forma indiscriminada sobre bases de ejemplos que realmente no la necesiten podra provocar incluso la eliminacion de una
clase.

6.4 Mejora de los m


etodos basados en instancias

77

Ejemplo 6.1 Vamos a clasificar R1 con respecto a R2 , seg


un la base de ejemplos particionada
que se muestra en la figura 6.5

Figura 6.5: Base de ejemplos particionada


R2 , con 1-vecino m
as cercano, asigna a todos los ejemplos de R1 la clase 1. Como no hay
errores no se modifica R.
Ahora clasificamos R2 con respecto a R3 . R3 asigna la clase 2 a todos los ejemplos de
R2 . Los ejemplos err
oneamente clasificados se eliminan de la base de ejemplos, tal y como se
muestra en la figura 6.6.

Figura 6.6: Base de ejemplos particionada y parcialmente multieditada

6.4.2.

Condensaci
on

Se genera una base de ejemplos reducida y consistente (es decir, a la hora de inferir, el
resultado es el mismo que si usaramos la base completa). As, se mejora la eficiencia.
La base de ejemplos reducida esta formada por los ejemplos de las fronteras.

Figura 6.7: Condensacion


En la figura 6.7(a) se muestra la base de ejemplos multieditada, mientras que en la figura
6.7(b) se muestra la misma base de ejemplos multieditada y condensada.
La inferencia seguira siendo igual, pero ahora hay menos error y es mas eficiente.
La delimitacion de la frontera a partir de un conjunto condensado depende de dicho
conjunto.

78

Captulo 6. Aprendizaje Basado en Instancias

funci
on Condensing(R) devuelve conjunto condensado de ejemplos
entradas: R: Conjunto (multieditado) de ejemplos
resultado: S: Conjunto condensado de R consistente con R
1. Seleccionar un ejemplo arbitrariamente, p R
R R {p}
S = {p}
2. n 0
para todo p0 R hacer
si clase(p0 ) 6= clase1m (p0 , S) entonces
R R {p0 }
S S + {p0 }
nn+1
3. si n = 0 o bien tama
no(R) = 0 entonces PARAR
en otro caso ir al paso 2
Function Condensing(R)

6.5.
6.5.1.

Funciones Distancia Heterog


eneas
Normalizaci
on

La normalizacion es necesaria para que todos los atributos tengan el mismo peso.
Ejemplo 6.2
A(900, 9)
B(1000, 3)
C(300, 3)

p
x1 [0, 1000] d(A, C) = p(900 300)2 + (9 3)2 = 6000 03
x2 [0, 10]
d(B, C) = (1000 300)2 + (3 3)2 = 700

Vemos que x1 domina a x2 , ya que sea cual sea el valor de x2 , el punto m


as cercano a C
siempre ser
a A.
Una opcion para normalizar es dividir cada atributo entre el valor maximo de su rango.
Ejemplo 6.3
s


93 2
= 00 848
10
s



1000 300 2
33 2
d(B, C) =
+
= 00 555
1000
10
d(A, C) =

900 300
1000

2

Y vemos c
omo ahora el punto m
as cercano a C es B.

6.5.2.

Discretizaci
on

En ocasiones puede no interesar tener atributos reales (por ejemplo, porque utilizamos
un metodo discreto, no continuo).
Para ello, dividimos el rango de valores reales en distintos subrangos y entonces se trabaja
como si ese atributo fuera multivaluado, como se muestra en la figura 6.8

Figura 6.8: Discretizacion

6.5 Funciones Distancia Heterog


eneas

6.5.3.

79

Distintas m
etricas para el c
alculo de distancias

M
etrica heterog
enea coincidencia eucldea MHCE
v
u n
uX
x = (x1 , x2 , . . . , xn )
M HCE(x, y) = t
di (xi , yi )2
y = (y1 , y2 , . . . , yn )
i=1

1
coincidencia(xi , yi )
di (xi , yi )

ri N ormalizado(xi , yi )

0
coincidencia(xi , yi )
1
ri N ormalizado(xi , yi ) =

si xi o yi desconocido
si i multivaluado
en otro caso
si xi = yi
en otro caso

|xi yi |
rangoi

rangoi = maxi mini

M
etrica heterog
enea de diferencia de valores MHDV
v
u n
uX
x = (x1 , x2 , . . . , xn )
M HDV (x, y) = M HCE(x, y) = t
di (xi , yi )2
y = (y1 , y2 , . . . , yn )
i=1

si xi o yi desconocido
1
M DVi N ormalizado(xi , yi ) si i multivaluado
di (xi , yi )

ri N ormalizado(xi , yi )
en otro caso
ri N ormalizado(xi , yi ) =

|xi yi |
4i


c
X
N i xi k
Ni yi k

M DVi N ormalizado(xi , yi ) =
Ni x Ni y
i
i
k=1

donde
c es el n
umero de clases
Ni xi es el n
umero de ejemplos en el conjunto de entrenamiento que tiene el valor xi para
el atributo i-esimo
Ni xi k es el n
umero de ejemplos en el conjunto de entrenamiento que toman el valor xi
para el atributo i-esimo y como salida la clase k.

80

Captulo 6. Aprendizaje Basado en Instancias

Captulo 7

M
aquinas de Aprendizaje
7.1.

El Perceptr
on como Discriminante Lineal

Figura 7.1: Esquema de un Perceptron


En la figura 7.1 se muestra la imagen de un perceptron, en la cual se tiene que:
x = (x1 , x2 , . . . , xn , xn+1 ) = (x1 , x2 , . . . , xn , c)

d(x) =

n
X

xi wi + w0

i=1


La funcion (*) filtra d(x) para devolver una clase, por ejemplo

x c1 si d(x) 0
x c2 si d(x) < 0

La capacidad de informacion de cada atributo xi depende de su correspondiente peso


wi
Las clases que va a poder discriminar este perceptron son clases linealmente separables,
como las mostradas en la figura 7.2

Figura 7.2: Ejemplo de clases linealmente separables

81

82

7.1.1.

Captulo 7. M
aquinas de Aprendizaje

Criterio y construcci
on del perceptr
on

Los ejemplos de entrenamiento son


x1 = (x11 , x12 , . . . , x1n )
x2 = (x21 , x22 , . . . , x2n )
..
.
xM = (xM 1 , xM 2 , . . . , xM n )
Se comienza con un vector de pesos w0 aleatorio (y con valores proximos a cero). A partir
de el, con el ejemplo x1 se obtiene w1 , es decir
wk+1 = f (wk , xk+1 )
donde f es el gradiente descendiente.
wk+1 = wk k J(wk )
donde
wk es el vector de pesos actual
k [0, 1] es el paso de iteracion de aprendizaje
J(wk ) es lo que se conoce como criterio del perceptron, y es una funcion que hay que
derivar
J(wk ) =

(w x)

xMC

donde MC es el conjunto de los ejemplos mal clasificados


x c2 x c1
De este modo hacemos que todos los ejemplos de la clase c2 sean de la clase c1 y as solo
hay que comprobar d(x) > 0.
X
J(w) =
(x)
xMC

Y finalmente tenemos que


wk+1 = wk + k

xMC

El vector de pesos se va calculando hasta que no hayan ejemplos mal separados (suponiendo que las clases son linealmente separables).

7.2.

Redes de Perceptrones Multicapa

Figura 7.3: Ejemplo de clases NO linealmente separables


Un perceptron tradicional como el visto hasta ahora sera incapaz de aprender un ejemplo
como el mostrado en la figura 7.3(a). El resultado que debera dar es el que se muestra en la
figura 7.3(b).

7.2 Redes de Perceptrones Multicapa

83

Figura 7.4: Ejemplo de perceptron multicapa

Figura 7.5: Estructura de un perceptron multicapa


Para conseguirlo lo que se hace es encadenar perceptrones formando lo que se conoce
como una red de perceptrones multicapa, como la que se muestra en la figura 7.4
En la capa de salida de la red de perceptrones multicapa ya no se usa la funcion que se
usaba antes para decidir la clase del ejemplo de entrada. Ahora se emplea la funcion sigmoide:
1
1+

wx

la cual devuelve valores en (0, 1)


El n
umero de capas ocultas y el n
umero de neuronas en ellas es variable. Sin embargo se
ha demostrado que con una sola capa oculta es suficiente.
El n
umero de neuronas en la capa de salida depende del n
umero de clases que tengamos.
Por ejemplo, si tenemos dos clases, c1 y c2 , podemos usar una o dos neuronas. En general
n clases log2 n neuronas, como mnimo
La representacion del modelo aprendido es la propia red neuronal, con todas sus conexiones, los vectores de pesos w1 y w2, el n
umero de capas ocultas y el n
umero de neuronas de
cada capa (definido por el usuario).
Ahora hay que optimizar el error cuadratico, es decir, cuanto se desva la salida de la red
con respecto a la salida que se espera, puesto que ahora la red da valores continuos en el
intervalo (0, 1).
M

1X
E(w) =
(yj oj )2
2
j=1

donde

yj clase real del ejemplo


oj clase inferida por la red

El algoritmo va modificando los vectores de pesos en funcion del error cometido con el
u
ltimo ejemplo, hasta que la variacion de todos los elementos de los vectores de pesos sea

84

Captulo 7. M
aquinas de Aprendizaje

suficientemente peque
na durante varias epocas1 .
Pero como a menudo no sabemos cuantas epocas son necesarias para que el modelo
converja, se suele poner una cota superior (por ejemplo, si en 1000 epocas el modelo no
converge, termina).
Cuantas mas neuronas hayan en la capa oculta mas complejo es el sistema que se desea
aprender y siempre es posible encontrar un modelo (pero mas neuronas implican mas tiempo
de aprendizaje).

Este
es un aprendizaje local.
La formula para obtener los vectores de pesos en cada iteracion es la siguiente:
wc (t + 1) = wc (t) wc E(wc ) = wc (t) + 4wc (t + 1)
Algoritmo Backpropagation
A grandes rasgos, los pasos de este algoritmo son:
1. Inicializar la red.
2. Inicializar los vectores de pesos.
3. El termino h0 y o0 de la capa oculta y de salida, respectivamente, se pone a 1, porque
no depende de los ejemplos.
4. Se toma un ejemplo y se le pasa a la red.
Para clasificar usaremos como funcion de decision n intervalos (si hay n clases) con una
fiabilidad que depende directamente de la base de prueba.

7.3.

Arboles
de Clasificaci
on

Usados cuando la clase (o el atributo por el que queremos catalogar) es multivaluado.


Para clases (o atributos) reales se usan los arboles de regresion.
Cada nodo interno del arbol es un atributo (real o multivaluado) de los ejemplos, y solo
recogera aquellas caractersticas que considere necesarias para discriminar.
Las hojas son las clases o los valores del atributo multivaluado por el que queremos
catalogar.

Figura 7.6: Ejemplo de arbol de clasificacion


1

Una epoca es una pasada completa a todos los ejemplos de la base de entrenamiento


7.4 Arboles
de Regresi
on

85

Definici
on 7.1 Un nodo se dice que es puro si todos los ejemplos contenidos en el tienen la
misma clase.
Si un nodo no puro cumple el criterio de parada se etiqueta con la clase que predomine
en sus ejemplos. Un atributo multivaluado no se puede usar para dividir los ejemplos de mas
de un nodo; un atributo real s puede.
Poda por estimaci
on del error
Sea Ck el n
umero de ejemplos de la clase k que hay en un nodo.
Si la suma del error de los hijos es mayor que el error del padre, se podan los hijos y al
padre se le asigna la clase que predomine.

Figura 7.7: Ejemplo de poda por estimacion del error


Ejemplo 7.1 En el
arbol de clasificaci
on de la figura 7.7 el padre tiene un error de
100
00 1
1100
mientras que la suma de los errores de los hijos vale
10
50
+
00 4
960 140

7.4.

Arboles
de Regresi
on

El nodo hoja ahora es un atributo real y no vale la condicion de nodo puro como condicion
de parada.
Ahora en vez del valor predominante, se le asigna al nodo hoja la media de los valores del
atributo por el que se clasifica.
El sobreaprendizaje consiste en seguir preguntando repetitivamente por alg
un atributo
real hasta que se llega a un arbol en cuyas hojas solo hay un ejemplo.
Para evitar esto se usa como condicion de parada el n
umero de ejemplos en un nodo y/o
la profundidad del nodo.

86

Captulo 7. M
aquinas de Aprendizaje

Captulo 8

Aprendizaje por Descubrimiento


En este captulo vamos a tratar el aprendizaje no supervisado, es decir, en vez de tener
como hasta ahora x = (x1 , . . . , xn , c), se tiene x = (x1 , . . . , xn ) que no significa que no se
conozca la clase, sino que no existe tal clase.

8.1.

Clustering o Agrupamiento

En este tipo de aprendizaje por descubrimiento no se habla de clasificacion (puesto que no


existen clases) sino de agrupamiento. Los ejemplos se agrupan seg
un su similitud o semejanza
(ya no se habla de caractersticas).
Uno de los problemas del clustering es que se van a producir un n
umero (normalmente)
desconocido de agrupamientos. Para evitar esto, el n
umero de agrupamientos que se quieran
formar se pasa como parametro.
La validacion de un cluster consiste en averiguar cual es el mejor n
umero de dichos
agrupamientos.

8.1.1.

Algoritmo de k-medias

Como medida de similitud entre los ejemplos se usa la distancia entre los mismos (entendiendo por distancia la distancia eucldea si todos los atributos son reales o alguna de
las distancias heterogeneas vistas anteriormente si hay atributos multivaluados). Cuanto mas
cercanos sean dos ejemplos, mas semejantes.
Cada cluster tiene un centro (media) que acabara estando en el centro de gravedad de la
masa de los ejemplos.
Ejemplo 8.1 Sea
x1 = (x11 , . . . , x1n )
x2 = (x21 , . . . , x2n )
x3 = (x31 , . . . , x3n )
la base de ejemplos.
Entonces la media se calcula como
 1

x1 + x21 + x31
x1n + x2n + x3n
x=
,...,
3
3
En el algoritmo de k-medias ||x mi || es la norma que nos indica cual es la similitud de
los ejemplos.
La funcion J mide el error del modelo aprendido y, por lo tanto, debe ser minimizada.
87

88

Captulo 8. Aprendizaje por Descubrimiento

En cada iteracion del algoritmo se calcula la distancia de cada ejemplo a cada una de
las k medias y cada ejemplo se asocia con el cluster cuya media mejor lo represente (la mas
cercana al ejemplo).
Si alg
un ejemplo cambia de cluster hay que recalcular las medias y, por consiguiente,
recalcular J (la cual ira disminuyendo en cada iteracion).
El algoritmo para cuando J no cambie, es decir, cuando J haya alcanzado su valor mnimo
y ning
un ejemplo haya cambiado de cluster.
Lo que hay que devolver al usuario es el modelo con el menor error y para ello se prueban
distintos n
umeros de agrupamientos.
El modelo con menor error (J = 0) es aquel que tenga tantos agrupamientos como ejemplos. Pero este modelo no es nada bueno porque no se puede inferir (se ha producido sobreaprendizaje).
De aqu se deduce que cuanto mayor sea el n
umero de agrupamientos, menor error habra.
Por eso la validacion consiste en encontrar el n
umero optimo de agrupamientos.

8.1.2.

Mapas autoasociativos de Kohonen

Se trata de redes neuronales no supervisadas, como la que se muestra en la figura 8.1.

Figura 8.1: Mapa autoasociativo de Kohonen


Cada neurona representa un vector de pesos. Se calcula la distancia entre los ejemplos de
entrada y los vectores de pesos.
Cuando entra el ejemplo todas las neuronas se activan y aquella con menor distancia
recibe el nombre de unidad ganadora. Esta unidad ganadora se mueve y se acerca al ejemplo
para representarlo.
Es decir, la unidad ganadora cumple que wc = min|x wi |
i

LASON
La unidad ganadora, al moverse hacia el ejemplo de entrada para representarlo, arrastra
a sus vecinos (es decir, estos tambien se mueven, aunque menos que la unidad ganadora).
De esta forma se aprende la topologa de los datos. Esta tecnica se utiliza, por ejemplo,
en el reconocimiento de caracteres.

wih (t + 1)

wih (t) +

wih (t)

(t)
(xi (t) wih (t)) si cj es la unidad ganadora y d(ch , cj )
d(ch , cj )
en otro caso

i = 1, . . . , n, donde
(t) es variable con el tiempo y dara el criterio de parada cuando alcance un cierto umbral.
Suele ser una funcion logartmica.

8.1 Clustering o Agrupamiento

89

d(ch , cj ) es la distancia entre la unidad ganadora cj y el resto de neuronas ch .


Ejemplo 8.2 Definimos d(ch , cj ) como el n
umero de neuronas por las que hay que pasar
para llegar desde ch hasta cj , y sea = 2.
Entonces d(cj , cj ) = 1 y wij (t) + (t)(xi (t) wij (t))
(t)
Si d(ch , cj ) = 2 entonces wih (t) +
(xi (t) wih (t))
2
Algoritmo
1. Se inicializan los pesos con valores aleatorios y peque
nos
2. Se introduce un nuevo ejemplo y se actualiza (t)
3. Se propaga el ejemplo a la capa de competicion y se obtienen los valores de salida de
cada neurona (es decir, la distancia del vector de pesos al ejemplo de entrada)
4. Se selecciona la neurona c ganadora
5. Se actualizan las conexiones entre la capa de entrada y la neurona c, as como la de su
vecindad seg
un su grado de vecindad
6. Si (t) esta por encima de un umbral volvemos al paso 2. En caso contrario, parar.

90

Captulo 8. Aprendizaje por Descubrimiento

Parte II

Ingeniera del Conocimiento

91

Captulo 9

Principios de la Ingeniera del


Conocimiento
Historia de los SE
Caractersticas de los SE
Deficiencias de los SE

Logica

Representacion
Sistemas de Producciones
del Conocimiento
Redes Semanticas

Marcos

Ingeniero del Conocimiento


Personas
Experto
involucradas
Usuario


Tacito

Accesibilidad

Explcito

Declarativo

Semantico

Representacion

Procedimental

Episodico

ublico
Conocimiento
P

Experiencia compartida
Naturaleza

Personal

Ideal
stico

Sistematico

Niveles

Pragmatico

Automatico
Ingeniera del Conocimiento
SBC
Nivel de Conocimiento

Hacia adelante

SE basado
Hacia atras
en Reglas
Ventajas

Inconvenientes
93

94

SE basado
en Modelos
SE basado
en Casos

Captulo 9. Principios de la Ingeniera del Conocimiento

Ventajas
Inconvenientes
Ventajas
Inconvenientes

Reglas + Casos
Reglas + Modelos
Modelos + Casos

Captulo 10

La Adquisici
on del Conocimiento

Proveedores de Conocimiento
Personal de
Usuarios de Conocimiento
Interes

Gestores de Conocimiento
Caractersticas mas importantes de la organizacion

Modelo
Decidir donde es u
til un SBC
Contextual
Viabilidad

Impacto
Refinamiento del modelo dela organizacion

Modelo de
Entradas/Salidas
Tareas
Precondiciones
Descubre
tareas
relevantes

Nivel
Recursos

Contextual
Ejecutor
de
las
tareas

Cargo en la organizacion

Tipo (humano/software)

Modelo de

Tareas en las que esta involucrado

Agentes
Analiza

Agentes con los que se comunica

Conocimiento que posee

Responsabilidad que tiene

Impacto
y cambios en la organizacion

Impacto
y cambios en las tareas y agentes

Formulario Resumen

Actitudes y compromiso

Acciones propuestas

Conceptos

Esquema del

Conocimiento
Relaciones

Dominio

del Dominio
Reglas

Base
de
Conocimiento

Inferencias
Modelo
de

Conocimiento
Roles
Conocimiento

sobre
Inferencias
Funciones de transferencia
Nivel

Diagramas de Inferencia
Conceptual

Conocimiento
Tareas

Metodos

sobre Tareas

Plan de Comunicaci

 on organiza las transacciones

Objetos de informacion intercambiados


Modelo
de

Transferencias

Comunicacion
Tareas y agentes involucrados

Mensaje detalles de la estructura de la transacci


on

Nivel de
Modelo de
Sistema
Dise
no

95

96

Captulo 10. La Adquisici


on del Conocimiento

Planificacion

Encuentro
Fases

An
alisis

Entrevistas no estructuradas elementos graficos

Entrevistas estructuradas elementos formales

Estructuracion de conceptos

Sesion
1. Identificar elementos

AC
Basadas
en

2. Identificar caractersticas

Tecnicas

Construcciones
3. Dise
nar parrilla con valoraciones

de AC

Repertory
Grid
4a.
Agrupar
por elementos y construir el
arbol

4a.
Agrupar
por
caracter
sticas
y
construir
el
arbol

5. Analizar

Traza
de
An
a
lisis
Tareas

Procesos
Dise
no Protocolo

También podría gustarte