Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Intel I Gencia Artificial
Intel I Gencia Artificial
del Conocimiento
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
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
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
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
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
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 . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
7.3. Arboles
de Clasificacion . . . . . . . . . . . .
7.4. Arboles
de Regresion . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
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
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
38
38
38
39
39
40
46
46
46
47
47
48
48
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
INDICE DE FIGURAS
48
49
60
61
62
64
5.1.
5.2.
5.3.
5.4.
5.5.
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
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
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
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),
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.
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*
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
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
1.2 Estrategias de B
usqueda en Grafos YO: Heursticas
17
k
X
i=1
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.
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.
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
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.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.
23
1.3.
1.3.1.
Funciones Heursticas
Efecto de la precisi
on heurstica en el rendimiento
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
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
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
1.3.2.
2.
A se mueve a B si B est
a vaco
3.
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
1.4.
Estrategias de B
usqueda Local y Problemas de Optimizaci
on
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
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
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
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
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 )
B
N
V
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 }
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.
34
Captulo 1. Resoluci
on de Problemas
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.
35
1.6.2.
36
1.6.3.
Captulo 1. Resoluci
on de Problemas
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
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
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
2.1.3.
L
ogica difusa
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)
2.1 Representaci
on del Conocimiento mediante L
ogicas no
Cl
asicas
39
Definici
on 2.3 Composicion de conjuntos:
40
Captulo 2. Representaci
on del Conocimiento. Razonamiento
(p (x) = A (x))
Definici
on 2.7 Hechos compuestos:
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
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 =?
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.
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
2.2 Representaci
on y Razonamiento con Incertidumbre
43
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=
m1 (Aj ) m2 (Bj )
Aj Bj =Ck
44
Captulo 2. Representaci
on del Conocimiento. Razonamiento
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
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.
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
es un
e1 e2
simultaneo
e1
causa
e1 e2
e2
47
Ejemplo 2.19 En la figura 2.10 podemos ver un ejemplo de reglas que relacionan elementos
temporales.
48
Captulo 2. Representaci
on del Conocimiento. Razonamiento
2.3.2.
Marcos o Frames
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
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
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
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.
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
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
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)
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)
3.2.2.
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
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
3.3 Planificaci
on Ordenada Parcialmente
3.3.1.
61
Planificaci
on no lineal sistem
atica (PNLS)
62
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)
Captulo 4
El Aprendizaje Computacional
4.1.
4.2.
Conceptos B
asicos
4.2.1.
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
La Prediccion, que no es propiamente una fase del aprendizaje, tiene lugar una vez que
el modelo ya sea adecuado.
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
Matriz de costos:
Clases reales
de los ejemplos
150 ejemplos
Ausente
Presente
Clases predichas
por el modelo
Ausente Presente
0
1
5
0
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
66
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
Captulo 5
5.1.
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
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.
69
5.2.
Espacio de versiones
Espacio de versiones
(ej positivo)
70
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={(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)}
71
72
Captulo 6
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
6.2.
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.
75
6.3.
Aprendizaje mediante el m
etodo de Parzen
(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
76
6.4.1.
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).
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.
77
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.
78
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.
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
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
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
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 7
M
aquinas de Aprendizaje
7.1.
El Perceptr
on como Discriminante Lineal
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
81
82
7.1.1.
Captulo 7. M
aquinas de Aprendizaje
Criterio y construcci
on del perceptr
on
(w x)
xMC
xMC
El vector de pesos se va calculando hasta que no hayan ejemplos mal separados (suponiendo que las clases son linealmente separables).
7.2.
83
wx
1X
E(w) =
(yj oj )2
2
j=1
donde
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
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.
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
8.1.
Clustering o Agrupamiento
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
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.
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.
89
90
Parte II
91
Captulo 9
Logica
Representacion
Sistemas de Producciones
del Conocimiento
Redes Semanticas
Marcos
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
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
Agentes
Analiza
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
Transferencias
Comunicacion
Tareas y agentes involucrados
95
96
Planificacion
Encuentro
Fases
An
alisis
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