IA-Ing-Conocimiento

Texto completo

(1)

F´elix G´

omez M´

armol

(2)
(3)

I Inteligencia Artificial 7

1. Resoluci´on de Problemas 9

1.1. Estrategias de b´usqueda en grafos: heur´ısticas . . . 9

1.1.1. B´usqueda primero el mejor . . . 10

1.1.2. B´usqueda A* . . . 12

1.1.3. B´usqueda con memoria acotada . . . 14

1.2. Estrategias de B´usqueda en Grafos YO: Heur´ısticas . . . 16

1.2.1. Caracter´ısticas de las funciones de evaluaci´on para grafos YO . . . 18

1.2.2. B´usqueda mejor nodo para grafos YO . . . 19

1.3. Funciones Heur´ısticas . . . 23

1.3.1. Efecto de la precisi´on heur´ıstica en el rendimiento . . . 23

1.3.2. Inventando funciones heur´ısticas . . . 24

1.4. Estrategias de B´usqueda Local y Problemas de Optimizaci´on . . . 25

1.4.1. B´usqueda de ascensi´on de colinas (mejor avara) . . . 25

1.4.2. B´usqueda tab´u . . . 27

1.4.3. B´usqueda por haz local . . . 30

1.4.4. Algoritmo gen´etico . . . 30

1.5. Estrategias de B´usqueda Online . . . 31

1.6. Estrategias en adversarios . . . 33

1.6.1. Juegos . . . 33

1.6.2. Decisiones en tiempo real imperfectas . . . 35

1.6.3. Juegos que incluyen un elemento de posibilidad . . . 36

2. Representaci´on del Conocimiento. Razonamiento 37 2.1. Representaci´on del Conocimiento mediante L´ogicas no Cl´asicas . . . 37

2.1.1. L´ogicas no mon´otonas . . . 37

2.1.2. L´ogica de situaciones . . . 37

2.1.3. L´ogica difusa . . . 38

2.2. Representaci´on y Razonamiento con Incertidumbre . . . 40

2.2.1. Representaci´on y fuentes de incertidumbre . . . 40

2.2.2. Teor´ıa de Dempster-Shafer de la evidencia . . . 41

2.3. Representaciones Estructuradas del Conocimiento . . . 45

2.3.1. Redes Sem´anticas . . . 45

2.3.2. Marcos o Frames . . . 48

2.3.3. Guiones . . . 50

3. Planificar para la Resoluci´on de Problemas 53 3.1. Planificaci´on y Resoluci´on de Problemas . . . 53

3.1.1. El problema de la planificaci´on . . . 53

3.1.2. Tipos de planificadores, estados y operadores . . . 54

3.1.3. M´etodos de planificaci´on . . . 55

(4)

3.2. Planificaci´on de Orden Total . . . 56

3.2.1. Planificaci´on usando una pila de objetivos (STRIPS) . . . 56

3.2.2. STRIP con protecci´on de objetivos (RSTRIP) . . . 59

3.3. Planificaci´on Ordenada Parcialmente . . . 60

3.3.1. Planificaci´on no lineal sistem´atica (PNLS) . . . 61

3.4. Planificaci´on Jer´arquica . . . 62

4. El Aprendizaje Computacional 63 4.1. El Problema del Aprendizaje Computacional . . . 63

4.2. Conceptos B´asicos . . . 63

4.2.1. Tipos, fases y caracter´ısticas del aprendizaje . . . 63

4.2.2. Estimaci´on del error . . . 65

5. Aprendizaje por Inducci´on en Modo Estructural 67 5.1. Programa de aprendizaje de Winston . . . 67

5.1.1. Generalizaci´on . . . 67

5.1.2. Especializaci´on . . . 68

5.2. Espacio de versiones . . . 69

6. Aprendizaje Basado en Instancias 73 6.1. Convergencia de los M´etodos Basados en Instancias . . . 73

6.2. Aprendizaje mediante kM vecinos . . . 74

6.3. Aprendizaje mediante el m´etodo de Parzen . . . 75

6.4. Mejora de los m´etodos basados en instancias . . . 75

6.4.1. Multiedici´on . . . 76

6.4.2. Condensaci´on . . . 77

6.5. Funciones Distancia Heterog´eneas . . . 78

6.5.1. Normalizaci´on . . . 78

6.5.2. Discretizaci´on . . . 78

6.5.3. Distintas m´etricas para el c´alculo de distancias . . . 79

7. M´aquinas de Aprendizaje 81 7.1. El Perceptr´on como Discriminante Lineal . . . 81

7.1.1. Criterio y construcci´on del perceptr´on . . . 82

7.2. Redes de Perceptrones Multicapa . . . 82

7.3. ´Arboles de Clasificaci´on . . . 84

7.4. ´Arboles de Regresi´on . . . 85

8. Aprendizaje por Descubrimiento 87 8.1. Clustering o Agrupamiento . . . 87

8.1.1. Algoritmo de k-medias . . . 87

8.1.2. Mapas autoasociativos de Kohonen . . . 88

II Ingenier´ıa del Conocimiento 91

9. Principios de la Ingenier´ıa del Conocimiento 93

(5)

1.1. Grafo de mapa de carreteras . . . 11

1.2. B´usqueda Primero Mejor Avaro . . . 11

1.3. B´usqueda A* . . . 12

1.4. Funci´on heur´ısticae-admisible . . . 13

1.5. B´usqueda Primero el Mejor Recursiva . . . 15

1.6. B´usqueda A* con memoria acotada simplificada (A*MS) . . . 15

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

1.8. ´Arbol YO no puro . . . 16

1.9. Hipergrafo o grafo YO . . . 17

1.10. Soluciones del Hipergrafo de la figura 1.9 . . . 17

1.11. Ejemplo de b´usqueda del grafo soluci´on ´optimo . . . 18

1.12. Grafo YO conh(n) no mon´otona . . . 19

1.13. Soluci´on al grafo de la figura 1.12 propagando por conectores marcados . . . 21

1.14. Soluci´on al grafo de la figura 1.12 propagando por todos los antecesores . . . 21

1.15. Grafo YO conh(n) mon´otona . . . 22

1.16. Soluci´on al grafo de la figura 1.15 propagando por conectores marcados . . . 22

1.17. Grafo YO con varias soluciones con distintos costos . . . 22

1.18. Soluciones al Grafo YO de la figura 1.17 . . . 23

1.19. Funci´on admisibleh=max(h1, h2, h3)≤h∗ . . . 25

1.20. Funci´on Objetivo vs Espacio de Estados . . . 25

1.21. Juego de las 3 en raya . . . 33

1.22. Estados terminales en el juego de las 3 en raya . . . 34

1.23. Estrategia MiniMax . . . 34

1.24. Ejemplo de juego con 3 jugadores . . . 34

1.25. Poda alfa-beta . . . 35

1.26. Juego de las 3 en raya con profundidad limitada . . . 35

1.27. Ejemplo de estrategia MiniMax Esperada . . . 36

2.1. Ejemplo de l´ogica de situaciones . . . 38

2.2. Funci´on de pertenencia continuaser joven . . . 38

2.3. Funciones de pertenenciaµA yµN O A . . . 38

2.4. Funci´on de pertenencia discretaser joven . . . 39

2.5. Operadores de Zadeh . . . 39

2.6. Extensi´on Cil´ındrica . . . 40

2.7. Ejemplo de Red Sem´antica . . . 46

2.8. Ejemplo de regla en una Red Sem´antica . . . 46

2.9. Ejemplo de Red Sem´antica con un hecho y una regla . . . 46

2.10. Ejemplo de reglas que relacionan elementos temporales . . . 47

2.11. Ejemplo de inferencia en redes sem´anticas (1) . . . 47

2.12. Ejemplo de inferencia en redes sem´anticas (2) . . . 48

2.13. Ejemplo de inferencia en redes sem´anticas (3) . . . 48

(6)

2.14. Ejemplo de frame “Empleado” y “Padre de Familia” . . . 48

2.15. Ejemplo de jerarqu´ıa de frames . . . 49

3.1. Ejemplo de planificaci´on no lineal . . . 60

3.2. Operador MOVER(X,Y,Z) . . . 61

3.3. Ejemplo de planificaci´on no lineal sistem´atica . . . 62

4.1. Fases del aprendizaje . . . 64

5.1. Ejemplos de la base de entrenamiento. Generalizaci´on . . . 68

5.2. Ejemplos de la base de entrenamiento. Especializaci´on (1) . . . 68

5.3. Ejemplos de la base de entrenamiento. Especializaci´on (2) . . . 69

5.4. Ejemplo de aprendizaje del concepto “arco” . . . 71

5.5. Frame Coche . . . 72

6.1. Fases del aprendizaje basado en instancias . . . 73

6.2. Aprendizaje basado enk-vecinos . . . 74

6.3. Aprendizaje basado en Parzen . . . 75

6.4. Multiedici´on . . . 76

6.5. Base de ejemplos particionada . . . 77

6.6. Base de ejemplos particionada y parcialmente multieditada . . . 77

6.7. Condensaci´on . . . 77

6.8. Discretizaci´on . . . 78

7.1. Esquema de un Perceptr´on . . . 81

7.2. Ejemplo de clases linealmente separables . . . 81

7.3. Ejemplo de clases NO linealmente separables . . . 82

7.4. Ejemplo de perceptr´on multicapa . . . 83

7.5. Estructura de un perceptr´on multicapa . . . 83

7.6. Ejemplo de ´arbol de clasificaci´on . . . 84

7.7. Ejemplo de poda por estimaci´on del error . . . 85

(7)

Inteligencia Artificial

(8)
(9)

Resoluci´

on de Problemas

funci´on B ´USQUEDA- ´ARBOLES(problema,frontera) devuelve una soluci´on o fallo frontera ← INSERTA(HACER-NODO(ESTADO-INICIAL[problema]),frontera)

hacer

siVACIA(frontera) entonces devolver fallo nodo← BORRAR-PRIMERO(frontera)

siTEST-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 vac´ıo

para cada (acci´on, resultado) en SUCESOR[problema](ESTADO[nodo]) hacer

s ←un nuevo NODO ESTADO[s]← resultado NODO-PADRE[s]← nodo ACCI ´ON[s]← acci´on COSTO-CAMINO[s]←

COSTO-CAMINO[nodo]+COSTO-INDIVIDUAL(nodo,acci´on,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: heur´ısticas

Definici´on 1.1 Llamaremosestado a la configuraci´on del problema en un momento deter-minado.

Definici´on 1.2 Llamaremosnodoal conjunto formado por el estado del problema, el padre del nodo, la profundidad del mismo, el coste asociado con ´el y la acci´on que lo produjo.

Definici´on 1.3 Llamaremos conjunto de cerradosal conjunto de nodos que ya han sido estudiados.

(10)

funci´on B ´USQUEDA-GRAFOS(problema,frontera)devuelve una soluci´on o fallo cerrado ←conjunto vac´ıo

frontera ← INSERTA(HACER-NODO(ESTADO-INICIAL[problema]),frontera)

hacer

siVACIA(frontera) entonces devolver fallo nodo← BORRAR-PRIMERO(frontera)

siTEST-OBJETIVO[problema](ESTADO[nodo]) es cierto

entonces devolver SOLUCION(nodo)

siESTADO[nodo] no est´a 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 soluci´on, las cuales tambi´en estar´an en el conjunto de cerrados).

1.1.1. B´usqueda primero el mejor

Para a˜nadir informaci´on heur´ıstica, ordenamos la frontera seg´un una funci´on f(n)2 que mide el costo necesario para llegar hasta la soluci´on. As´ı, en cada paso del algoritmo, tomamos el primer nodo de la lista (aquel que menor valor def tenga).

Esta funci´onf(n) se compone total o parcialmente de otra funci´onh(n) (llamadafunci´on heur´ıstica), que siempre cumple que h(objetivo) = 0. Adem´as, dicha funci´on f(n) se va adaptando seg´un se resuelve el problema (la funci´on de costo uniforme, por ejemplo, no).

Las estrategias de b´usqueda vistas en cursos anteriores (profundidad, anchura, costo uni-forme, etc.) no son m´as que un caso particular de la B´usqueda Primero el Mejor.

Definici´on 1.5 Diremos que unalgoritmoescompleto si siempre devuelve una soluci´on, cuando ´esta existe.

Definici´on 1.6 Diremos que un algoritmoesadmisible si siempre devuelve una soluci´on ´

optima, cuando ´esta existe.

Definici´on 1.7 Llamaremosfunci´on heur´ısticaa aquella funci´onh que cumple que

h(n)≤h∗(n), ∀n

(siendoh∗ la funci´on heur´ıstica ´optima y huna estimaci´on).

Nota.- Nosotros vamos a suponer que la expansi´on de un nodo es siempre com-pleta y que la informaci´on heur´ıstica “s´olo” sirve para decidir qu´e nodo (de entre los expandidos) debemos estudiar.

1El ´arbol que resulta de expandir un grafo 2

(11)

B´usqueda Primero el Mejor Avaro

Para este tipo de b´usqueda la funci´onf se define como

f(n) =h(n), ∀ n

Ejemplo 1.1 Sea el grafo de la figura 1.1 que representa un mapa de carreteras entre ciu-dades. 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 heur´ıstica la distancia en l´ınea recta desde un nodo en concreto hasta la soluci´on. A continuaci´on se observan los valores de h para cada nodo n:

n h(n) n h(n) n h(n) n h(n) n h(n)

A 366 B 0 C 160 D 242 E 161

F 176 G 77 H 151 I 266 L 244

M 241 N 234 O 380 P 100 R 193

S 253 T 329 U 80 V 199 Z 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, podr´ıa ocurrir queh(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 pri-mero el mejor avaro, as´ı como la evoluci´on de la frontera en cada paso del algoritmo.

Figura 1.2: B´usqueda Primero Mejor Avaro

(12)

1.1.2. B´usqueda A*

La funci´on heur´ıstica para este tipo de b´usquedas se define como

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

donde:

g(n) es el costo real del camino recorrido hasta el nodo n.

h(n) es una estimaci´on del costo del camino desde el nodonhasta el nodo objetivo.

f(n) es una estimaci´on del costo del camino desde el nodo inicial hasta el nodo objetivo, pasando por el nodon.

Una funci´on 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 funci´on 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∗ soluci´on ´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)

(13)

Tambi´en podemos afirmar que si la funci´on heur´ıstica es admisible y se trabaja con es-tructura de grafos, el primer nodo que entre en cerrados ser´a siempre mejor que cualquier otro nodo igual que ´ese, que aparezca despu´es de ´el.

Sin embargo, determinar si h(n)≤h∗(n), ∀nes un problema intratable; y por lo tanto definimos las dos siguientes propiedades sobre funciones heur´ısticas.

Definici´on 1.8 Una funci´on heur´ıstica se dice que es mon´otona si cumple que:

h(n)≤c(n, a, n0) +h(n0), ∀ n, n0 sucesores inmediatos

dondec(n, a, n0) es el costo asociado a la acci´on aque hace pasar del nodo naln0 (sucesores inmediatos).

Definici´on 1.9 Una funci´on heur´ıstica 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 funci´on heur´ıstica que sea o bien mon´otona, o bien consistente es una funci´on admisible y, por tanto, con ellas se encuentra la soluci´on ´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 ser´a interesante obviar la condici´on de optimalidad y para ello, en vez de emplear funciones admisibles que cumplan h(n) ≤ h∗(n) ∀ n, emplearemos funciones e -admisibles que cumplan

h(n)≤h∗(n) +e ∀n

Figura 1.4: Funci´on heur´ısticae-admisible

Una funci´on e-admisible proporciona soluciones e-´optimas (con las que se puede conocer el error cometido al encontrar una soluci´on no ´optima).

Pero, como dec´ıamos antes,h∗(n) es muy dif´ıcil de conocer y por ello hemos introducido las propiedades de monoton´ıa y consistencia.

h(n)h(n0) +c(n, n0)

pero

(14)

1.1.3. B´usqueda con memoria acotada

La b´usqueda A* sigue adoleciendo del problema de la explosi´on combinatoria (se gene-ran nodos seg´un una funci´on exponencial), por lo que se consume r´apidamente la memoria disponible.

B´usqueda A* con profundidad iterativa (A*PI)

En este algoritmo, cada iteraci´on 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 l´ımite de costo f(n) en vez del tradicional l´ımite de profundidad.

De este modo en cada iteraci´on se expanden todos los nodos que est´an dentro del contorno de f.

B´usqueda Primero Mejor Recursiva (BPMR)

funci´on B ´USQUEDA-PRIMERO-MEJOR-RECURSIVA(problema) devuelve una soluci´on o fallo

BPMR(problema,HACER-NODO(ESTADO-INICIAL[problema]),∞)

Function B´USQUEDA-PRIMERO-MEJOR-RECURSIVA(problema)

funci´on BPMR(problema,nodo,f l´ımite) devuelvesoluci´on o fallo y nuevo l´ımite

f-costo

si TEST-OBJETIVO[problema](estado)entonces devolver nodo sucesores ← EXPANDIR(nodo,problema)

si sucesores est´a vac´ıoentonces devolver fallo,∞ para cada s en sucesoreshacer

f[s]←max(g(s)+h(s),f[nodo])

repetir

mejor ← el nodo con elf-valor m´as peque˜no de sucesores

sif[mejor]> f l´ımiteentonces devuelvefallo,f[mejor]

alternativa← elf-valor segundo m´as peque˜no entre los sucesores resultado,f[mejor]← BPMR(problema,mejor,min(f l´ımite,alternativa))

siresultado6= falloentonces devolver resultado

Function BPMR(problema,nodo,f l´ımite)

Ejemplo 1.3 En la figura 1.5 se muestra el ´arbol expandido resultado de aplicar el algoritmo

B ´USQUEDA-PRIMERO-MEJOR-RECURSIVA al ejemplo de siempre.

La cr´ıtica a este m´etodo es que s´olo 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 soluci´on, se elimina el peor nodo seg´un su funci´on heur´ıstica y se introduce el nuevo.

(15)

Figura 1.5: B´usqueda Primero el Mejor Recursiva

(16)

1.2.

Estrategias de B´

usqueda en Grafos YO: Heur´ısticas

Se dice que un problema es descomponible si se puede descomponer en un conjunto de subproblemas independientes m´as sencillos; y es en estos casos en los que una representaci´on del problema por reducci´on es la m´as apropiada.

Los ´arboles YO, empleados en la representaci´on por reducci´on, 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 soluci´on se corresponde con un problema primitivo y se llama Primitiva.

Si al aplicar un operador se produce un conjunto de subproblemas soluci´on 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 soluci´on (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 s´olo contiene 1-conectores es un grafo ordinario.

Con representaci´on mediante estados se necesita conocer el estado inicial, los operadores y el estado final. Con representaci´on mediante reducci´on, por otra parte, se necesita saber el nodo distinguido, los operadores y las primitivas.

La soluci´on en este tipo de problemas es un subgrafo que una el nodo distinguido con todos o algunos de los nodos primitiva.

(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 comoG0 a un grafo soluci´on desde el nodonal conjunto

N (conjunto de nodos primitiva) dentro de un grafo G. Sines un elemento de N,G0 consta s´olo de n. En otro caso:

• Sintiene unk-conector que parte de ´el dirigido a los nodos n1, n2, . . . , nk tal que

haya un grafo soluci´on para cadani hasta N, entoncesG0 consta:

del nodon, delk-conector, de los nodosn1, n2, . . . , nkm´as los grafos soluci´on desde

cadani hasta N.

• En otro caso, no hay grafo soluci´on de na N.

Costo asociado al grafo soluci´on de n a N: K(n, N) Sines 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 soluci´on entonces

K(n, N) =ck+ k

X

i=1

K(ni, N)

(18)

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. Caracter´ısticas de las funciones de evaluaci´on para grafos YO

Llamaremos grafo soluci´on ´optimo a aquel grafo soluci´on que tenga costo m´ınimo. Dicho costo est´a denotado porh∗(n), pero, como ya sabemos, este valor es muy dif´ıcil 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 calcularh para cada uno de ellos.

3. Cambiar la h estimada del nodo recientemente expandido para reflejar la nueva infor-maci´on proporcionada por sus sucesores. Propagar este cambio hacia atr´as a trav´es del grafo. Para cada nodo que se visita mientras se va avanzando en el grafo, decidir cu´al de sus conectores es m´as prometedor y marcarlo como parte del mejor grafo soluci´on parcial actual. Esto puede hacer que dicho grafo soluci´on 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 soluci´on ´optimo

(19)

1.2.2. B´usqueda mejor nodo para grafos YO

Proposici´on 1.2 Sih(n)es admisible (h(n)≤h∗(n), ∀n) la soluci´on encontrada ser´a siem-pre ´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 mon´otona si cumple que:

h(n)≤ck+ k

X

i=1

h(ni), ∀ n

Proposici´on 1.3 Recordemos que si n es soluci´on, entonces h(n) = 0. Y por lo tanto, si

h(n)es mon´otona, 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)≡51 + 1

Figura 1.12: Grafo YO conh(n) no mon´otona

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 heur´ısticos s´olo a trav´es de los conectores marcados.

El orden de expansi´on est´a indicado por el n´umero dentro del c´ırculo y una X significa que ese nodo ha sido resuelto.

(20)

funci´on YO*(problema)devuelve grafo soluci´on

locales: G,G0 grafos

G grafo vac´ıo

G←G+{inicio}

costo(inicio)←h(inicio)

si inicio∈TERMINALentoncesinicio marcado resuelto

repetir hasta inicio marcado resuelto o costo(inicio)> futilidad Construir G0 ⊆G con los conectores marcados

nodo∈frontera(G0)

sino hay ning´un sucesor en EXPANDIR(nodo) entoncescosto(nodo)=futilidad

en otro caso∀ sucesor∈EXPANDIR(nodo)hacer G←G+{sucesor}

sisucesor∈TERMINALentonces sucesor marcado resuelto y costo(sucesor)=0

sisucesor∈/TERMINAL y no estaba en Gentonces costo(sucesor)=h(sucesor) S={nodo}(S conjunto de nodos que se han marcado resuelto o cambiado su costo)

repetir hastaS vac´ıo

actual∈S de modo que ning´un descendiente en Gde actual est´e en S

S ←S−{actual}

para cadak-conector de actual{ni1, ni2, . . . , nik}calcular

costoi(actual) =c+costo(ni1) +· · ·+costo(nik)

costo(actual)←minicostoi(actual)

marcar conector por el que se ha obtenido ese m´ınimo (borrar otra marca previa)

sitodos los sucesores a trav´es de ese conector est´an etiquetados como resueltos

entonces etiquetar como resuelto actual

siactual se ha etiquetado como resuelto o se ha cambiado su costo

entonces propagar esa informaci´on hacia el principio del grafo y

S←S+{antecesores de actual}

(21)

Figura 1.13: Soluci´on 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 ´optimoresultado de aplicar el algoritmo YO* al grafo de la figura 1.12, propagando los nuevos valores heur´ısticos a todos los antecesores.

El orden de expansi´on est´a indicado por el n´umero dentro del c´ırculo y una X significa que ese nodo ha sido resuelto.

Figura 1.14: Soluci´on al grafo de la figura 1.12 propagando por todos los antecesores

El costo de esta soluci´on es 7.

Como conclusi´on podemos decir que:

Si h(n) es admisible, no es necesario propagar los valores heur´ısticos a todos los antece-sores para encontrar la soluci´on ´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 ante-cesores si se quiere encontrar la soluci´on ´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.

(22)

Figura 1.15: Grafo YO conh(n) mon´otona

Figura 1.16: Soluci´on al grafo de la figura 1.15 propagando por conectores marcados

Ya vimos c´omo calcular el costo de un grafo soluci´on, y vimos que en ocasiones un arco ten´ıa que contabilizarse m´as 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 f´ısico (por ejemplo, soldar un circuito) tendremos que

costo1= 7 y costo2= 9, y la soluci´on ´optima es la 1.

(23)

Figura 1.18: Soluciones al Grafo YO de la figura 1.17

1.3.

Funciones Heur´ısticas

1.3.1. Efecto de la precisi´on heur´ıstica en el rendimiento

Vamos a tratar sobre el problema del 8-puzzle.

Ejemplo 1.12

7 2 4 5 6 8 3 1

26 pasos

−→

1 2 3 4 5 6 7 8

Estado Inicial 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)

h2 ≡Distancia de Manhattan h2(EI) = 18 h1 y h2 son admisibles

      

h≤h∗

En el ejemplo anterior se tiene que h1(n) ≤ h2(n) ∀ n y se dice que h2 domina a h1.

Adem´as tambi´en se cumple que h1(n)≤h2(n) ≤h∗ ⇒h2 es mejor queh1 porque se acerca m´as ah∗.

Definici´on 1.12 Factor de ramificaci´on eficaz: b∗.

SeaN el n´umero de nodos generados por un algoritmoA∗ y sea la longitud de la soluci´on

d, entoncesb∗ es el factor de ramificaci´on que un ´arbol uniforme de profundidadddebe tener para contenerN + 1nodos.

Es decir

N + 1 = 1 +b∗+ (b∗)2+· · ·+ (b∗)d

Vamos a realizar un estudio comparativo en el que generamos 1200 8-puzzles con soluci´on 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´usquedaA∗ con las funciones h1

(24)

Costo de la B´usqueda Factor de Ramificaci´on Eficaz

d BPI A∗(h1) A∗(h2) BPI A∗(h1) A∗(h2)

2 10 6 6 2’45 1’79 1’79

4 112 13 12 2’87 1’48 1’45 6 680 20 18 2’73 1’34 1’30 8 6384 39 28 2’80 1’33 1’24 10 47127 93 39 2’79 1’38 1’22 12 3644305 227 73 2’78 1’42 1’24

14 - 539 113 - 1’44 1’23

16 - 1301 211 - 1’45 1’25 18 - 3056 363 - 1’46 1’26 20 - 7276 676 - 1’47 1’27 22 - 18094 1219 - 1’48 1’28 24 - 39135 1641 - 1’48 1’26

Como conclusiones del estudio podemos afirmar que:

1. A∗ es mucho mejor que BPI

2. h2 es mejor queh1 porque A∗(h2)≤A∗(h1) y b∗h2 ≤b ∗ h1

Nota.- Obs´ervese que si se utilizarah∗ siempre tendr´ıamos que b∗ = 1, es decir, encontrar´ıa la soluci´on directamente en un n´umero de pasos igual a la longitud de la soluci´on.

1.3.2. Inventando funciones heur´ısticas

Vamos a ver tres maneras de obtener buenas funciones heur´ısticas.

La primera de ellas hace uso de un procedimiento que nos permite averiguar funciones heur´ısticas admisibles (no necesariamente eficientes), y que consiste en resolver el problema relajando alguna de las condiciones del problema original.

No olvidemos que cuanto m´as se acerqueh a h∗, m´as dif´ıcil ser´a 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 vac´ıa.

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

Man-hattan

2. A se mueve a B si B est´a vac´ıo

3. A se mueve a B −→ No de piezas mal colocadas

La segunda manera consiste en tomar varias funciones admisibles de las cuales no cono-cemos cu´al domina sobre cu´al. Si tomamos el m´aximo de todas ellas obtenemos una funci´on heur´ıstica admisible mejor (o igual) que cualquiera de ellas (h=max(h1, h2, . . . , hn)), como

se observa en la figura 1.19

Por ´ultimo, tambi´en se puede obtener una funci´on heur´ıstica a partir de la experiencia, mediante el aprendizaje (lo veremos m´as adelante).

h =c1·x1+· · ·+ck·xk y los coeficientes c1, . . . , ck se van ajustando din´amicamente a

(25)

Figura 1.19: Funci´on admisibleh=max(h1, h2, h3)≤h∗

1.4.

Estrategias de B´

usqueda Local y Problemas de

Optimi-zaci´

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 s´olo uno: el que actualmente se est´a estudiando.

Este tipo de b´usqueda es muy r´apida y se suele encontrar buenas soluciones.

Figura 1.20: Funci´on Objetivo vs Espacio de Estados

Definici´on 1.13 M´aximo local. Aquel estado en el que todos sus vecinos tienen peor valor heur´ıstico que ´el.

Definici´on 1.14 Crestas. Conjunto de m´aximos locales pr´oximos entre s´ı

Definici´on 1.15 Meseta. Aquel estado en el que todos sus vecinos tienen peor valor heur´ısti-co que ´el o, a lo sumo, igual.

1.4.1. B´usqueda de ascensi´on de colinas (mejor avara)

(26)

funci´on ASCENSI ´ON-COLINAS(problema) devuelveun estado que es un m´aximo local

entradas: problema, un problema

variables locales: actual, un nodo vecino, un nodo

actual←HACER-NODO(ESTADO-INICIAL[problema])

bucle hacer

vecino←sucesor de valor m´as alto de actual

siVALOR[vecino]≤VALOR[actual] entonces devolver ESTADO[actual] actual←vecino

Function ASCENSI´ON-COLINAS(problema)

Ejemplo 1.14 Sea el juego de las 8 reinas con funci´on heur´ıstica 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 heur´ıstico 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 qu´e ser ´optima, es decir, no tiene por qu´e 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 m´ınimo local con valor heur´ıstico 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.

(27)

Para evitar esto se establece un n´umero m´aximo de movimientos laterales lo suficien-temente grande como para saltar terrazas y lo suficiensuficien-temente 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.

Sip es la probabilidad de encontrar la soluci´on ´optima, necesitaremos 1p reinicios para encontrar dicha soluci´on.

No de pasos = Coste de iteraci´on acertada + 1−p

p ·(Coste de iteraci´on fracasada)

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

actual←HACER-NODO(ESTADO-INICIAL[problema]) mejor←actual

mejorcosto←VALOR[mejor]

bucle hacer

vecino←sucesor∈CandidatosN(actual)⊆N(H,actual) que minimice

VALOR(H,actual) sobre el conjunto anterior actual←vecino

Actualizar H

siVALOR(actual)<mejorcostoentonces

mejor←actual

mejorcosto←VALOR[mejor]

siuna iteraci´on m´axima u otra regla de paradaentonces devolver mejor

Function TABU(problema)

En la b´usqueda tab´u se elige un sucesor de entre un subconjunto de vecinos. El procedi-miento en s´ı es heur´ıstico, pues tiene en cuenta:

´

Ultimos movimientos hechos

Frecuencia de un movimiento

Calidad de un movimiento

Influencia en el proceso de buscar la mejor soluci´on

(28)

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 4 3 5 6

En esta tabla, la casilla (i, j) indica el n´umero de veces que

est´a prohibido intercambiar el elementoiy elj. 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 qu´e 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

5 4 1 -1

..

. ...

si se intercambian los elementos 5 y 4, se produce un incremento en el

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

2 4 7 3 5 6 1 con valor de aislamiento 16

3 1 2

2 3 1

3 6 -1

7 1 -2

6 1 -4

.. . Iteraci´on 2

2 4 7 1 5 6 3 con valor de aislamiento 18

1 3 -2 T

2 4 -4 *

7 6 -6

4 5 -7 T

5 3 -9

.. .

2 3 4 5 6 7

1 3 2 3 4 2 5 6

La ascensi´on de colinas habr´ıa parado aqu´ı, pero v´ease c´omo prohibir el intercambio 1,3 (que acaba de realizarse) diversifica la b´usqueda.

(29)

Iteraci´on 3

4 2 7 1 5 6 3 con valor de aislamiento 14 (mejor valor guardado = 18)

4 5 6 T

5 3 2

7 1 0

1 3 3 T

2 6 -6

.. .

2 3 4 5 6 7

1 2 2 3 3 4 1 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

7 1 0

4 3 -3

6 3 -5

5 4 -6 T

2 6 -8

.. .

2 3 4 5 6 7

1 1 2 2 3 4 3 5 6 Iteraci´on 26

1 3 6 2 7 5 4 con valor de aislamiento 12 (mejor valor guardado = 20)

1 4 3 T

2 4 -1

3 7 -3

1 6 -5

6 5 -6

.. .

1 2 3 4 5 6 7

1 3

2

3 3 2

4 1 5 1

5 4 4

6 1 2

7 2 3

Esta ´ultima 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 *

1 6 -5 -5

6 5 -6 -8

.. .

Y ahora reordenamos la tabla seg´un la nueva columna.

(30)

1.4.3. B´usqueda por haz local

Como estado inicial se generan kestados iniciales aleatorios.

Para cada estado se generan los sucesores y entre todos los sucesores, tomamos los k

mejores.

Si alguno de esos kes soluci´on, se para. Y si se llega a la condici´on de parada extrema se devuelve la mejor soluci´on hasta el momento.

1.4.4. Algoritmo gen´etico

La diferencia con los algoritmos vistos hasta ahora es que en ´estos hay una relaci´on asexual entre los estados, mientras que en el algoritmo gen´etico se dice que entre los estados hay una relaci´on sexual.

Hay que decidir cu´antos individuos (estados) hay en cada poblaci´on (conjunto de estados).

Definici´on 1.16 Idoneidad: La funci´on de fitness mide c´omo de bueno es un individuo.

Y en funci´on de c´omo de bueno sea un individuo se seleccionar´a para cruzarse y generar individuos para la nueva poblaci´on.

Los pasos que se siguen para conseguir una nueva poblaci´on a partir de la actual son: Poblaci´on

antigua −→

Poblaci´on seleccionada −→

Poblaci´on cruzada −→

Poblaci´on mutada −→

Poblaci´on nueva La nueva poblaci´on obtenida pasa a ser la poblaci´on actual y se repite el ciclo.

El cruce de individuos intensifica la b´usqueda, mientras que la mutaci´on la diversifica.

Ejemplo 1.16 Vamos a estudiar el problema de las 8 reinas con el algoritmo gen´etico. 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(I1)

Pn

i=1h(Ii) ·100

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

pc = 002 y probabilidad de mutaci´on pm= 0001.

(31)

1.5.

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 tambi´en se le llama b´usqueda en am-bientes desconocidos.

Definici´on 1.17 Acciones(s): Funci´on que devuelve todas las acciones posibles a partir del estados.

Definici´on 1.18 c(s, a, s0): Funci´on coste que devuelve el coste asociado a aplicar la acci´on

aal estadospara pasar als0. Esta funci´on se calcula despu´es de haber aplicado la acci´on a, cuando ya nos encontramos en el estado s0.

funci´on BPP-ONLINE(s’)devuelveuna acci´on

entradas: s’, una percepci´on que identifica el estado actual

variables locales: resultado, una tabla indexada por la acci´on y el estado, inicialmente vac´ıa

noexplorados, una tabla que enumera, para cada estado visitado, las acciones todav´ıa no intentadas

nohaciatras, una tabla que enumera, para cada estado visitado, los nodos hacia atr´as todav´ıa no intentados

s,a, el estado y acci´on previa, inicialmente nula

si TEST-OBJETIVO(s’)entonces devolver parar

si s’ es un nuevo estadoentoncesnoexplorados[s’]←ACCIONES(s’)

si s es no nuloentonces hacer

resultado[a,s]←s’

a˜nadir s al frente de nohaciatras[s’]

si noexplorados[s’] est´a vac´ıoentonces

sinohaciatras[s’] est´a vac´ıoentonces devolver parar

en caso contrarioa←una acci´on b tal que resultado[b,s’]=POP(nohaciatras[s’])

en caso contrario a←POP(noexplorados[s’]) s←s’

devolver a

Function BPP-ONLINE(s’)

Ejemplo 1.17 Dado el siguiente “laberinto”:

Y U B X T N A Z V

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

BPP-Online(A)

s, a vac´ıos s0=A

noexplorados[A]=Arriba, Derecha

(32)

BPP-Online(X)

s=A, a=Arriba s0 =X

noexplorados[X]=Abajo resultado[Arriba,A]=X nohaciatras[X]=A

a=Abajo, s=X {Aparece estadoA}

BPP-Online(A)

s=X, a=Abajo s0=A

noexplorados[A]=Derecha resultado[Abajo,X]=A nohaciatras[A]=X

a=Derecha, s=A {Aparece estadoZ}

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 estadoA}

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 estadoZ}

BPP-Online(Z)

s=A, a=Derecha s0=Z

a=Arriba, s=Z {Aparece estadoT}

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 estadoZ}

BPP-Online(Z)

s=T, a=Abajo s0=Z

resultado[Abajo,T]=Z nohaciatras[Z]=T

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

Estrategias en adversarios

1.6.1. Juegos

Supongamos dos contrincantes llamados MAX y MIN, un estado inicial con la posici´on del tablero y con la decisi´on de qui´en 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 cu´ando un estado es terminal.

Definici´on 1.21 Funci´on 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)

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 decisi´on ´optima), es la siguiente:

Valor Minimax(n)=

  

utilidad(n) sin es terminal

maxs∈sucesores(n)V alor M inimax(s) sin es nodo MAX mins∈sucesores(n)V alor M inimax(s) sin es nodo MIN

Figura 1.23: Estrategia MiniMax

Juegos con 3 jugadores

Ahora en cada nodo habr´a un vector con 3 valores, correspondientes a la puntuaci´on de cada jugador. El objetivo de cada jugador es maximizar su puntuaci´on.

Figura 1.24: Ejemplo de juego con 3 jugadores

Nota.- No todos los nodos terminales tiene por qu´e 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 soluci´on ´optima.

α es el valor de la mejor alternativa (m´aximo valor) para MAX a lo largo del camino.

β es el valor de la mejor alternativa (m´ınimo valor) para MIN a lo largo del camino. El orden en que se visitan los nodos influye en la poda.

(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 l´ımite.

Si hay dos jugadores interesa poner una profundidad l´ımite que sea par. Si se realiza poda puede ocurrir que perdamos la soluci´on ´optima.

Por lo tanto, tenemos que definir una nueva funci´on que nos diga c´omo de bueno es un estado no terminal.

si TEST-CORTE(estado,profundidad)entonces devolver EVAL(estado) EVAL(n)

UTILIDAD(n) si nes terminal FUNCION HEURISTICA(n) si nes no terminal

Cuanto mayor sea la profundidad de corte, evidentemente, m´as y mejor informaci´on heur´ıstica tendremos. Nosotros hemos supuesto que los terminales est´an por debajo de la profundidad l´ımite.

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 ra´ız es 0).

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

Como funci´on heur´ıstica se ha usado: f(n) = No de filas, columnas y diagonales libres

(36)

1.6.3. Juegos que incluyen un elemento de posibilidad

Adem´as de los nodos MAX y MIN, aparecen los nodos de posibilidad.

Ejemplo 1.20 En el juego del parch´ıs, tiramos un dado, con 16 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.

MiniMax Esperada(n)

      

utilidad(n) sines terminal

maxs∈sucesores(n)M iniM ax Esperado(s) sines nodo MAX mins∈sucesores(n)M iniM ax Esperado(s) sines nodo MIN

P

s∈sucesores(n)P(s)·M iniM ax Esperado(s) sines nodo posibilidad

(37)

Representaci´

on del Conocimiento.

Razonamiento

Para resolver un problema, lo b´asico necesario es:

Representaci´on

Operadores

Control

2.1.

Representaci´

on del Conocimiento mediante L´

ogicas no

Cl´

asicas

2.1.1. L´ogicas no mon´otonas

La l´ogica cl´asica es una l´ogica mon´otona, en la cual la incorporaci´on de nuevo conocimiento debe ser consistente (no contradictorio). En la l´ogica no mon´otona, la incorporaci´on de nueva informaci´on podr´ıa invalidar parte de la informaci´on previa existente.

En un problema con conocimiento incompleto puede aplicarse la l´ogica no mon´otona (pero no la l´ogica mon´otona) y se aplica un razonamiento llamado “por defecto”.

Ejemplo 2.1 “Juan y Mar´ıa yacen en el suelo muertos. Hay cristales en el suelo y agua.

¿Qu´e ha pasado?” Soluci´on: Juan y Mar´ıa son dos peces.

2.1.2. L´ogica de situaciones

Soporta una estructura din´amica (en un momento algo puede ser cierto, y, m´as 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 podr´ıan coexistir en una l´ogica cl´asica. Para que s´ı puedan coe-xistir, 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) tambi´en 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

)]

(38)

Figura 2.1: Ejemplo de l´ogica de situaciones

Este tipo de l´ogica se emplea en planificaci´on

2.1.3. L´ogica difusa

Empleada cuando se usa una notaci´on imprecisa.

Ejemplo 2.3 “Juan es joven”

Muchas veces un concepto vago depende del contexto y de la subjetividad. Toda la l´ogica difusa est´a montada sobre la definici´on de una serie de elementos:

Definici´on 2.1 Conjunto difuso:

x∈Adonde Aes un conjunto difuso

µA(x)∈[0,1],µA es la funci´on de pertenencia al conjunto A.

La diferencia con la probabilidad es que ´esta precisa de una experimentaci´on previa antes de obtener un resultado. Con los conjuntos difusos no es necesaria experiencia previa.

Figura 2.2: Funci´on de pertenencia continua ser joven

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

µF(A)=F[µA(x)]

  

µM U Y A(x) = [µA(x)]2

µM AS O M EN OS A(x) = [µA(x)] 1 2

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

(39)

En ocasiones la funci´on de pertenencia es una funci´on discreta.

Figura 2.4: Funci´on de pertenencia discretaser joven

Definici´on 2.3 Composici´on de conjuntos:

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

  

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

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

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

1. SiA⊆B entoncesµA(x)≤µB(x)

2. µA(x) +µ¬A(x) = 1

De aqu´ı se deduce que

µA∪B(x)≥max(µA(x), µB(x))

µA∩B(x)≤min(µA(x), µB(x))

µ¬A(x) = 1−µA(x)

Los operadores de Zadeh son:

µA∪B(x) =max(µA(x), µB(x))

µA∩B(x) =min(µA(x), µB(x))

µ¬A(x) = 1−µA(x)

Pero tambi´en podr´ıamos definir la composici´on como:

µA∗B(x, y) =F∗(µA(x), µB(y))

Figura 2.5: Operadores de Zadeh

A contiene elementos x, B contiene elementosy. Para componerlos construimos un con-junto com´un: el producto cartesiano deA yB.

Definici´on 2.4 Extensi´on cil´ındrica: Consiste en extender los conjuntos al producto carte-siano.

µ(C)

µ0(A) si C=A×Y

(40)

Figura 2.6: Extensi´on Cil´ındrica

Definici´on 2.5 Proyecci´on cil´ındrica

µ(C) =supy{µ0(x, y)}, ∀ C

En la l´ogica tendremos hechos simples y compuestos.

Definici´on 2.6 Hechos simples:

p: x∈A (µp(x) =µA(x))

Definici´on 2.7 Hechos compuestos:

p∨q: (x esA)∨(x esB)

p∧q: (x esA)∧(x esB)

¬p: (x es¬A)

  

µp∨q(x)≥max(µp(x), µq(x))

µp∧q(x)≤min(µp(x), µq(x))

µ¬p(x) = 1−µp(x)

  

µp∨q(x) =OR(µp(x), µq(x))

µp∧q(x) =AN D(µp(x), µq(x))

µ¬p(x) =N OT(µp(x))

Definici´on 2.8 Inferencia:

p→q: si (xes A) entonces (y esB)

µp→q(x, y) =IM P LIC(µp(x), µq(y)) =OR(N OT(µp(x)), µq(y))

Modus Ponens:

p→q p q

µq(y) =supx{M P(µp(x), µp→q(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 rui-doso.

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:

Representaci´on

Operadores

Control

(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: negaci´on de cierto.

Definici´on 2.12 Cierto es an´alogo 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 d´ıa 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 = 007, donde c1 representa el grado de certidumbre de que la regla p→q sea cierta.

pe→qh c1= 007 Representaci´on de una regla

pe c2= 0055 Representaci´on de un hecho

qh c3=? T´ecnica 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 po-dr´ıamos decir que es estrictamente aleatorio, pero por alguna raz´on, no hay datos sufi-cientes.

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 est´a representado en t´erminos 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. Teor´ıa de Dempster-Shafer de la evidencia

En el ejemplo de las urnas puede ocurrir que perdamos en el camino parte de la informa-ci´on. Ahora el resultado no ser´a una probabilidad sino un intervalo.

TDS: Teor´ıa de Dempster-Shafer TPr: Teor´ıa de la Probabilidad TPos: Teor´ıa de la Posibilidad

Definici´on 2.13 Frame de decisi´on θ: conjunto de hip´otesis mutuamente exclusivas y ex-haustivo en el cual tratamos de obtener la respuesta m´as adecuada mediante la concentraci´on de sucesivas evidencias.

Definici´on 2.14 2θ: conjunto de todas las decisiones del frame de decisi´on.

(42)

A las hip´otesis se les llama singulares.

Como en 2θ tambi´en est´a el ∅, a ese ∅ se le llama hip´otesis vac´ıa y corresponde a una hip´otesis totalmente falsa.

Ejemplo 2.7 θ={HEP, CIRR, P IE, P AN}

A partir de las evidencias se determinar´a qu´e enfermedades hep´aticas hay.

Cuanto m´as restrictiva sea la hip´otesis mejor. El complemento deAes¬A siA∨ ¬A=θ.

Ejemplo 2.8 .

A={HEP}

¬A={CIRR, P IE, P AN}

En 2θ hay hip´otesis m´as generales y m´as restrictivas. Nos interesar´a tomar decisiones en conjuntos de hip´otesis 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 tambi´en se puede tener cirrosis”.

Funci´on de asignaci´on b´asica de probabilidad

Nos sirve para asignar valores a las hip´otesis, seg´un la evidencia que se tenga.

m(A): cantidad de certeza que posee el elemento A (que es una hip´otesis 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 (asignaci´on b´asica de probabilidad) si cumple que:

m(∅) = 0

P

A⊆θm(A) = 1

Ejemplo 2.10 θ={blancas, rojas} m(blancas) = 0035

m(rojas) = 004

¿Qu´e pasa con el 0’25 restante? Soluci´on: m(θ) = 0025

Construimos m

1. m(∅) = 0

Si una evidencia confirma una hip´otesisA con un valorp, entonces 2. m(A) =p

m(θ) = 1−p

Si una evidencia desconfirma una hip´otesis A con un valorp, entonces 3. m(¬A) =p

m(θ) = 1−p

(43)

Ejemplo 2.11 Se tiene una evidencia que desconfirma una hip´otesis de HEP con un valor de 0’7

m({CIRR, P IE, P AN}) = 007

m(θ) = 003

m(∗) = 0

m(∅) = 0

       X = 1

A partir dem vamos a construir las dos siguientes funciones: Credibilidad de una hip´otesis A

Cr(A) = X

B⊆A

m(B)

Plausibilidad de A

P l(A) = X

B∩A6=∅

m(B)

Tanto Cr como P lson funciones de probabilidad.

Todas las hip´otesis B de la credibilidad est´an incluidas en las hip´otesis B de la plausibi-lidad.

Cr(A)≤P r(A)≤P l(A)

|P l(A)−Cr(A)|mide la falta de informaci´on.

Por lo tanto con esta teor´ıa (que es una generalizaci´on de la probabilidad) se mide tanto incertidumbre, como falta de informaci´on.

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´otesisA={CIRR, P IE, P AN}

y su complemento sabiendo que:

m(A) = 007

m(θ) = 003

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({∅}) = 007 + 0 +· · ·+ 0 = 007

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({θ}) = 007 + 0 + 0 + 0 + 0 + 0 + 0 + 003 = 1

007≤P r(A)≤1

Regla de Combinaci´on de a.b.p. de Dempster-Shafer

Seanm1 y m2 dos a.b.p. sobre dos hip´otesis.

m1⊕m2(Ck) =

X

Aj∩Bj=Ck

m1(Aj)·m2(Bj)

m1⊕m2 tambi´en es una a.b.p.

Propiedades m1⊕m2 =m2⊕m1

m1⊕(m2⊕m3) = (m1⊕m2)⊕m3

(44)

Ejemplo 2.13 Sea m1 una a.b.p. que confirma la hip´otesis{HEP, CIRR}con un valor 0’6. m1({HEP, CIRR}) = 006 m1(θ) = 004

Y sea

m2({CIRR, P IE, P AN}) = 007 m2(θ) = 003

m3({HEP}) = 008 m3(θ) = 002

m1

m2

{CIRR, P IE, P AN} 007 θ 003

{HEP, CIRR} 006 {CIRR} 006·007 {HEP, CIRR} 006·003

θ 004 {CIRR, P IE, P AN} 004·007 θ 004·003

m1⊕m2({CIRR}) = 0042 m1⊕m2({HEP, CIRR}) = 0018

m1⊕m2({CIRR, P IE, P AN}) = 0028

m1⊕m2({θ}) = 0012

X

A⊆θ

m1⊕m2(A) = 1

m3

m1⊕m2

{CIRR}0042 {HEP, CIRR}0018 {CIRR, P IE, P AN}0028 θ0012

{HEP}008 ∅008·0042 {HEP}008·0018 ∅008·0028 {HEP}008·0012

θ002 {CIRR}002·0042 {HEP, CIRR}002·0018 {CIRR, P IE, P AN}002·0028 θ 002·0012

m1⊕m2⊕m3(∅) = 00336 + 00224 = 0056→0

m1⊕m2⊕m3({HEP}) = 00144 + 00096 = 0024→

0024 1−0056 = 0

0545

m1⊕m2⊕m3({CIRR}) = 00084→ 0

0084

0044 = 0 0191

m1⊕m2⊕m3({HEP, CIRR}) = 00036→00082 m1⊕m2⊕m3({CIRR, P IE, P AN}) = 00056→00127

m1⊕m2⊕m3({θ}) = 00024→00055

Seg´un vemos, la evidencia de θ va siendo cada vez m´as peque˜na, seg´un se va combinando informaci´on.

Sim1⊕m2⊕m3(∅) =p6= 0 entonces hay que normalizar el resto de valores, dividi´endolos

entre 1−p, para que su suma sea igual a 1. Si se da esta situaci´on es porque ha habido contradicci´on.

Al normalizar estamos perdiendo informaci´on; y podr´ıa ocurrir que la contradicci´on fuera muy alta y al normalizar no se reflejara fielmente la realidad.

Introducci´on a la Inferencia

C´omo representar los hechos:

Hechos

  

Simples “x esA”

Compuestos

“x1 esA1 ox2 esA2”⇒(x1, x2) esA1+A2

“x1 esA1 yx2 esA2” ⇒(x1, x2) esA1×A2

dondeA1+A2=A1×A2 = (A1×X2)∪(X1×A2), siendoXi el mundo de discurso de Ai.

La teor´ıa de la evidencia permite trabajar con vaguedad, mientras que la probabilidad no puede.

C´omo representar las reglas:

(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) =β≥α

mF(A) =α mF( ¯A) = 1−β

mF(δ) =β−α

CrR( ¯A+B) =α P lR( ¯A+B) =β ≥α

mR( ¯A+B) =α mR(A×B¯) = 1−β

mR(X1×X2) =β−α

M´etodo general de razonamiento (o inferencia)

Tenemos F1, F2, . . . , Fm yR1, 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 m´as peque˜na posible que contenga Fi,Rj yF.

Ω =X1×X2× · · · ×Xp p=m+n+ 1

2. Calcular la extensi´on cil´ındrica de las a.b.p. mFi ymRj 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 aF).

5. CalcularCrF yP lF a partir de dicha proyecci´on.

Este m´etodo es una generalizaci´on del Modus Ponens cl´asico, pues si tanto los hechos como las reglas fueran ciertos (Cr= 1,P l= 1) obtendr´ıamos conclusiones tambi´en ciertas.

2.3.

Representaciones Estructuradas del Conocimiento

2.3.1. Redes Sem´anticas

Nos sirven para representar el conocimiento de manera que se parezca a c´omo represen-tamos nosotros el conocimiento. Es una representaci´on parecida a la l´ogica, pero m´as visual, m´as gr´afica.

Definici´on 2.16 Una red sem´antica es una estructura de datos compuesta de nodos y “links” (arcos) y cada elemento tiene un asociado sem´antico.

Un nodo se corresponde con un hecho, suceso, evento u objeto. Un link tiene una relaci´on binaria entre los nodos que une:

n1

r

−→n2

n1, n2 : nodos r: link

Representaci´on de una red sem´antica generalizada

Nuestro conocimiento tiene relaciones n-arias, pero s´olo podemos usar relaciones binarias si queremos usar una red sem´antica.

(46)

Figura 2.7: Ejemplo de Red Sem´antica

Veamos ahora c´omo se representan las reglas: aparecen dos tipos de links.

Conclusi´on −→(Asociados a los nodos que pertenecen al consecuente de una regla).

Condici´on 99K(Asociados a los nodos que pertenecen al antecedente de una regla).

Ejemplo 2.15 Regla: “Todo acto de dar tiene su rec´ıproco de recibir”

Tomamos el evento x

Figura 2.8: Ejemplo de regla en una Red Sem´antica

Ya tenemos dos trozos de red sem´antica: un hecho y una regla.

Ejemplo 2.16 “Juan da un libro a Mar´ıa y el acto rec´ıproco de dar es recibir”

Figura 2.9: Ejemplo de Red Sem´antica 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 sem´antica jer´arquica.

Ejemplo 2.17 elefantees un−→mam´ıfero es un−→animal

Por la herencia, las propiedades del caso general las tiene el caso particular. Adem´as estos links cumplen la propiedad transitiva.

Tambi´en existen links que denotan restricciones temporales:antes de,despues de,simultaneo,

causa.

Ejemplo 2.18 .

e1

despues

−→ e2 e1

simultaneo

(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. Unificaci´on 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 sem´antica. La inferencia termina cuando se llega a la red sem´antica vac´ıa. Por lo tanto, lo primero que hay que hacer es extraer de la base de conocimiento la informaci´on suficiente y necesaria para hacer la inferencia que nos interesa.

Si us´aramos la base de conocimiento completa habr´ıa que destruirla entera para poder inferir (y estar´ıamos destruyendo informaci´on que no har´ıa 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 sem´anticas (1)

(48)

Figura 2.12: Ejemplo de inferencia en redes sem´anticas (2)

x=y

x=y=Socrates

Figura 2.13: Ejemplo de inferencia en redes sem´anticas (3)

Hemos llegado a la red sem´antica vac´ıa (pues la informaci´on que queda no deber´ıamos 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 abstracci´on.

Las redes sem´anticas est´an muy pr´oximas a la l´ogica, por lo tanto se necesita todo el conocimiento para poder inferir (si falta conocimiento no se llega a una red sem´antica vac´ıa).

Definici´on 2.17 Un frame va a ser una estructura de datos que representa un tipo entidad y consta de una colecci´on 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 podr´ıamos 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 va-mos a instanciar los dos con la misma entidad.

(49)

Cuando se rellena un frame (sus ranuras) se dice que est´a 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 gen´ericos.

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 definici´on, son disjuntos (por ejemplo, Padre de Familia

y No Padre de Familia). La instanciaci´on 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, comoDisposici´on); en otro caso se renombra el slot. Hay slots que tienen valores restringidos (por ejemplo, laedad en el frameEmpleado debe estar entre 18 y 65).

Cuando se nos da cierta informaci´on, buscamos aquel frame que mejor se ajuste (mayor grado de emparejamiento) a esa informaci´on, 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 gen´ericas son: sangre caliente, tie-ne 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 Mar´ıa yacen muertos en el suelo. Hay un charco de agua,...” Cometemos un error al presuponer que Juan y Mar´ıa 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 jerarqu´ıa de frames

(50)

M´etodos de inferencia

1. Existencia inferida

Tenemos una entidadE (informaci´on recibida) que se desconoce de qu´e tipo es.

EmparejamosE con el frameF que mejor se adapte aE, pero con un grado de creencia. Dicho grado de creencia vendr´a dado por el grado de emparejamiento entreE y F.

2. Propiedades gen´ericas inferidas

Una vez emparejadosE yF, aEse le asocian todas las propiedades gen´ericas del frame

F con un grado de creencia (dependiente del grado de emparejamiento y del grado de creencia de la ranura de la propiedad gen´erica).

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 analog´ıa

No es exclusiva de los frames y consiste en tomar informaci´on de un frame para aso-ci´arsela 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 gui´on es un frame que describe una secuencia de acontecimientos en un contexto (como un gui´on 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 gui´on representa una situaci´on si se cumplen las condiciones de entrada.

Figure

Actualización...

Referencias

Actualización...

Related subjects :