UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE...

239
UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial MÉTODOS LOCALES Y DISTRIBUIDOS PARA LA CONSTRUCCIÓN DE REDES DE CREENCIA ESTÁTICAS Y DINÁMICAS TESIS DOCTORAL José Miguel Puerta Callejón Granada, Septiembre de 2001

Transcript of UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE...

Page 1: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

UNIVERSIDAD DE GRANADA

E.T.S. DE INGENIERÍAINFORMÁTICA

Departamento de Ciencias de la Computacióne Inteligencia Artificial

MÉTODOS LOCALES Y DISTRIBUIDOS PARALA CONSTRUCCIÓN DE REDES DE CREENCIA

ESTÁTICAS Y DINÁMICAS

TESIS DOCTORAL

José Miguel Puerta Callejón

Granada, Septiembre de 2001

Page 2: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial
Page 3: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

MÉTODOS LOCALES Y DISTRIBUIDOS PARA LACONSTRUCCIÓN DE REDES DE CREENCIA ESTÁTICAS Y

DINÁMICAS

MEMORIA QUE PRESENTAJOSÉ MIGUEL PUERTA CALLEJÓN

PARA OPTAR AL GRADO DE DOCTOR EN INFORMÁTICASEPTIEMBRE 2001

DIRECTORLUIS MIGUEL DE CAMPOS IBÁÑEZ

DEPARTAMENTO DE CIENCIAS DE LA COMPUTACIÓNE INTELIGENCIA ARTIFICIAL

E.T.S. DE INGENIERÍA INFORMÁTICA UNIVERSIDAD DE GRANADA

Page 4: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial
Page 5: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

La memoria tituladaMétodos Locales y Distribuidos para la Construcción deRedes de Creencia estáticas y dinámicas, que presenta D. José Miguel PuertaCallejón para optar al grado de DOCTOR, ha sido realizada en el Departamento deCiencias de la Computación e Inteligencia Artificial de la Universidad de Granadabajo la dirección del Doctor D. Luis Miguel de Campos Ibáñez.

Granada, Septiembre de 2001

El doctorando El director

José Miguel Puerta Callejón Luis Miguel de Campos Ibáñez

Page 6: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial
Page 7: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

AGRADECIMIENTOS

En primer lugar he de mostrar mi más sincero agradecimiento al doctor Luis Miguel deCampos Ibáñez, director de esta memoria, por el apoyo, los consejos, el estímulo que herecibido en todo momento y sobre todo por su amistad, forjada a lo largo de estos añosde colaboración. Tengo clarísimo que sin su esfuerzo, ayuda y dedicación este trabajonunca hubiese visto la luz.

También quiero dar las gracias a S. Acid, A. Cano, J. M. Fernández, J. Huete, S. Moraly al resto de miembros del grupo de investigación UTAI del departamento de Cienciasde la Computación e I.A. de la Universidad de Granada su interés y su apoyo a lo largode estos años. Especialmente quiero agradecerle a Juan Huete su enorme interés, suinestimable apoyo y su gran humanidad, gracias Juan por aguantarme todos estos años.Quiero extender este agradecimiento al resto de miembros del Departamento de Cienciasde la Computación e I.A. que de alguna manera se interesaron por la evolución de estetrabajo.

Cómo no, agradecer a mis compañeros de departamento F. Cuartero, P. Cuenca, J. A.Gámez, A. Garrido, R. García, P. González, F. J. Gómez, J. A. Guerrero, M. López,T. Olivares, F. J. Quiles, J.L. Sánchez, V. Valero y F. J. Vigo su apoyo, comprensión einterés que mostraron a lo largo del desarrollo de esta memoria. No obstante, me gustaríadar las gracias especialmente a J. A. Guerrero por la desinteresada ayuda que siempre meha ofrecido; a F. Cuartero, A. Garrido, F. J. Quiles y V. Valero por la enorme confianzaque siempre han depositado en mí y por sus consejos, siempre sabios.

Sin embargo, no tengo por más que destacar a José Antonio Gámez, compañero y sobretodo amigo, amigo con mayúsculas; con compañeros como José Antonio de verdad queda gusto tanto trabajar como ir a tomar alguna cosa en algún lugar. Gracias Jose, porhaber compartido todos estos años conmigo y esperemos que sigamos compartiendo pormuchos años más. También he de hacer mención aparte a Teresa Olivares, mi cuñada,por estar siempre ahí, nunca poner mala cara y siempre estar dispuesta a echar una mano.

Quiero hacer extensiva mi gratitud al resto de mis compañeros del departamento de In-formática de la Universidad de Castilla-La Mancha.

Por último, y muy especialmente, quiero dar las gracias a mi esposa, Elena, por su com-prensión infinita, apoyo infatigable y enorme calidad humana. Espero compensarte algúndía todo este tiempo. A mi hija Ana, gracias por tus ganas de vivir y por recordarnoslo que es más importante. A mis padres, por confiar en su “primogénito”, a mis abue-los, hermanos, cuñados y sobrinos; y al resto de mi familia por ser todos como sois, nocambiéis nunca.

Page 8: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial
Page 9: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

A Elena y Ana.A mi familia.

MÉTODOS LOCALES Y DISTRIBUIDOS PARA LACONSTRUCCIÓN DE REDES DE CREENCIA ESTÁTICAS Y

DINÁMICAS

JOSÉ MIGUEL PUERTA CALLEJÓN

Page 10: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial
Page 11: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

Índice General

Introducción 1

1 Redes de Creencia, Algoritmos de Aprendizaje y Redes de Creen-cia Dinámicas 91.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.2 Redes de Creencia . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.2.1 Axiomática de Independencia . . . . . . . . . . . . . . . . 111.2.2 Redes de Creencia como Modelos de Dependencias . . . . . 13

1.3 Algoritmos de Aprendizaje . . . . . . . . . . . . . . . . . . . . . . 191.3.1 Algoritmos basados en relaciones de independencia condi-

cional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191.3.1.1 Algoritmo PC . . . . . . . . . . . . . . . . . . . 21

1.3.2 Algoritmos basados en optimización de una medida . . . . . 251.3.2.1 Medidas de Calidad de una Red de Creencia . . . 261.3.2.2 Medidas Bayesianas . . . . . . . . . . . . . . . . 281.3.2.3 Medidas de Mínima Longitud de Descripción . . 281.3.2.4 Medidas de Información . . . . . . . . . . . . . . 291.3.2.5 Algoritmos de Búsqueda . . . . . . . . . . . . . 30

1.3.3 Un algoritmo Híbrido basado en conjuntos mínimos d-se-paradores. BENEDICT. . . . . . . . . . . . . . . . . . . . 33

1.4 Redes de Creencia Dinámicas . . . . . . . . . . . . . . . . . . . . 361.4.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . 361.4.2 Conceptos básicos. Definición formal del modelo . . . . . . 411.4.3 Aprendizaje de redes de creencia dinámicas . . . . . . . . . 43

2 Métodos de Búsqueda Local para el Aprendizaje de Redes deCreencia 452.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452.2 Búsqueda en Entorno Variable . . . . . . . . . . . . . . . . . . . . 47

2.2.1 Otras extensiones . . . . . . . . . . . . . . . . . . . . . . . 49

i

Page 12: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

ii Índice General

2.3 Métodos de Búsqueda Local en el espacio de Grafos Dirigidos Ací-clicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512.3.1 Un Algoritmo de Búsqueda Local híbrido con Reinicio ba-

sado en Tests de Independencia Condicional y ConjuntosMínimos D-separadores . . . . . . . . . . . . . . . . . . . 52

2.3.2 Búsqueda en Entorno Variable en el espacio de Grafos Di-rigidos Acíclicos . . . . . . . . . . . . . . . . . . . . . . . 56

2.4 Métodos de Búsqueda Local en el espacio de Órdenes . . . . . . . . 592.4.1 Método de Ascensión de Colinas en el espacio de Órdenes . 632.4.2 Búsqueda en Entorno Variable en el espacio de Órdenes . . 662.4.3 El Problema del Punto de Inicio en la Búsqueda. Heurística

K2SN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 682.5 Experimentación y Conclusiones . . . . . . . . . . . . . . . . . . . 73

2.5.1 Descripción de los experimentos . . . . . . . . . . . . . . . 73

2.5.2 Análisis de los experimentos . . . . . . . . . . . . . . . . . 772.6 Redefiniendo la vecindad para una ascensión de colinas en el espa-

cio de grafos dirigidos acíclicos . . . . . . . . . . . . . . . . . . . 892.6.1 Análisis experimental . . . . . . . . . . . . . . . . . . . . . 91

3 Métodos de Búsqueda Distribuidos para el Aprendizaje de Re-des de Creencia 953.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 953.2 Búsqueda en Entorno Variable Distribuida . . . . . . . . . . . . . . 96

3.2.1 Esquema de inicialización de las búsquedas distribuidas . . 993.2.2 Un modelo de colaboración inspirado en los Algoritmos Ge-

néticos paralelos. El Modelo de Islas . . . . . . . . . . . . 1033.3 Aprendizaje Cooperativo y Distribuido de Redes de Creencia me-

diante Colonias de Hormigas . . . . . . . . . . . . . . . . . . . . . 1063.3.1 El Sistema de Colonias de Hormigas . . . . . . . . . . . . . 107

3.3.1.1 El Sistema de Hormigas para el problema del via-jante de comercio . . . . . . . . . . . . . . . . . 107

3.3.1.2 El Sistema de Colonias de Hormigas para el pro-blema de la asignación cuadrática . . . . . . . . . 110

3.3.1.3 Sistema Híbrido de Hormigas . . . . . . . . . . . 1103.3.1.4 Algoritmo General para Optimización basado en

Colonias de Hormigas . . . . . . . . . . . . . . . 1123.3.2 Aprendizaje de Redes de Creencia mediante Colonias de

Hormigas en el espacio de Órdenes . . . . . . . . . . . . . 1133.3.3 Aprendizaje de Redes de Creencia mediante Colonias de

Hormigas en el espacio de Grafos Dirigidos Acíclicos . . . 120

Page 13: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

Índice General iii

3.4 Un Sistema Distribuido Híbrido entre la Búsqueda VNS y el El Sis-tema de Colonias de Hormigas . . . . . . . . . . . . . . . . . . . . 122

3.5 Experimentación y Conclusiones . . . . . . . . . . . . . . . . . . . 1253.5.1 Descripción de los experimentos . . . . . . . . . . . . . . . 1253.5.2 Análisis de los resultados . . . . . . . . . . . . . . . . . . . 125

4 Aprendizaje de Relaciones Temporales en Redes de CreenciaDinámicas 1354.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1354.2 Definición formal del problema del aprendizaje de relaciones tem-

porales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1364.3 Algoritmos locales basados en optimización de métricas . . . . . . 137

4.3.1 Algoritmo TeReK2 . . . . . . . . . . . . . . . . . . . . . . 1374.3.2 Algoritmo TeReBenedict . . . . . . . . . . . . . . . . . . . 139

4.4 Algoritmos basados en relaciones de independencia condicional . . 1424.4.1 Algoritmo TeRePC . . . . . . . . . . . . . . . . . . . . . . 1434.4.2 Algoritmo de aprendizaje de relaciones temporales basado

en el subconjunto Manto de Markov parcial . . . . . . . . . 1464.4.3 Algoritmo de aprendizaje de relaciones temporales basado

en el conjunto mínimo d-separador . . . . . . . . . . . . . . 1534.4.4 Modificaciones de los Algoritmos ART y FART . . . . . . . 163

4.5 Refinando los resultados . . . . . . . . . . . . . . . . . . . . . . . 1664.5.1 Refinando mediante la métrica BIC . . . . . . . . . . . . . 1664.5.2 Refinando mediante el conjunto mínimo d-separador . . . . 167

4.6 Aprendizaje de redes de creencia dinámicas simples . . . . . . . . . 1694.7 Experimentación y Conclusiones . . . . . . . . . . . . . . . . . . . 170

5 Aprendizaje de Redes de Creencia Dinámicas 1815.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1815.2 Aprendizaje de RCD cuando se conoce el instantet = 0 . . . . . . . 182

5.2.1 Método de aprendizaje general . . . . . . . . . . . . . . . . 1825.3 Aprendizaje de RCD cuando no se conoce el instantet = 0 . . . . . 1875.4 Aprendizaje de RCD basado en algoritmos para el aprendizaje de

RC estáticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1905.4.1 Algoritmos basados en tests de independencia condicional

para el aprendizaje de RCD . . . . . . . . . . . . . . . . . 1905.4.2 Algoritmos locales de búsqueda para el aprendizaje de RCD 193

Conclusiones y Trabajos Futuros 197

Bibliografía 204

Page 14: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

iv Índice General

Page 15: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

Índice de Figuras

1.1 Red de creencia Asia. . . . . . . . . . . . . . . . . . . . . . . . . . 111.2 Algoritmo SGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221.3 Algoritmo PC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241.4 Algoritmo K2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311.5 Algoritmo B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321.6 El algoritmo BENEDICT. . . . . . . . . . . . . . . . . . . . . . . . 351.7 Red de creencia para un sistema de producción de trigo. . . . . . . . 371.8 Red de creencia dinámica para un sistema de producción de trigo. . 381.9 Modelo Gráfico para un MDMPO. . . . . . . . . . . . . . . . . . . 401.10 Red de Creencia Dinámica. Los arcos temporales aparecen como

curvas.G(0,1) representa la unión de los dos primeros periodos detiempo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

2.1 Ejemplo de Transformación del Algoritmo IMAPR. . . . . . . . . . 542.2 Algoritmo IMAPR . . . . . . . . . . . . . . . . . . . . . . . . . . 552.3 MedidasK2(log) para las estructuras del ejemplo anterior. . . . . . 582.4 Algoritmo VNSST . . . . . . . . . . . . . . . . . . . . . . . . . . 592.5 Algoritmo HCSN . . . . . . . . . . . . . . . . . . . . . . . . . . . 652.6 Algoritmo VNSSN . . . . . . . . . . . . . . . . . . . . . . . . . . 672.7 Algoritmo K2SN . . . . . . . . . . . . . . . . . . . . . . . . . . . 702.8 Ejemplo del árbol de búsqueda con tres variables para el algorit-

mo K2SN. El nodo máximo es siempre el que se expande (el mása la izquierda, subrayada la medida máxima en cada etapa). En es-te ejemplo se han calculado todos los estadísticos necesarios; comopodemos observar no siempre se han de calcular todos los estadísti-cos en cada nivel, es posible reutilizar cálculos previos. En la parteinferior de la figura podemos observar la red resultado y recuadradola medida parcial en cada etapa del algoritmo; la medida final serála suma de todas las etapas anteriores. . . . . . . . . . . . . . . . . 71

2.9 Red de creencia INSURANCE. . . . . . . . . . . . . . . . . . . . . 75

v

Page 16: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

vi Índice de Figuras

2.10 Red de creencia ALARM. . . . . . . . . . . . . . . . . . . . . . . 76

3.1 Esquema del Algoritmo VNS Distribuido - Búsquedas Independientes 97

3.2 Esquema del Algoritmo VNS Distribuido - Búsquedas CoordinadasGlobalmente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

3.3 Algoritmo B Probabilístico . . . . . . . . . . . . . . . . . . . . . . 101

3.4 Algoritmo K2SN Probabilístico . . . . . . . . . . . . . . . . . . . 102

3.5 Esquema del Algoritmo VNS Distribuido - Búsquedas CoordinadasModelo de Islas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

3.6 Algoritmo General de un Sistema de Colonias de Hormigas . . . . . 113

3.7 Hormiga K2SN . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

3.8 Hormiga K2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

3.9 Hormiga B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

3.10 Esquema del Algoritmo VNS Distribuido - Búsqueda Híbrida . . . . 124

4.1 Algoritmo TeReK2 . . . . . . . . . . . . . . . . . . . . . . . . . . 139

4.2 Algoritmo TeReBenedict . . . . . . . . . . . . . . . . . . . . . . . 141

4.3 Algoritmo TeRePC . . . . . . . . . . . . . . . . . . . . . . . . . . 144

4.4 Ejemplo de funcionamiento del Algoritmo TeRePC. . . . . . . . . . 145

4.5 Ejemplo de Manto de Markovi, j. Los nodos sombreados pertene-cen a este subconjunto . . . . . . . . . . . . . . . . . . . . . . . . 147

4.6 Algoritmo ART . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150

4.7 Red de creencia dinámica. Ejemplo del Algoritmo ART. . . . . . . 151

4.8 Podemos observar que desde el nodoA del periodo de tiempok noparte ningún arco haciak+1. . . . . . . . . . . . . . . . . . . . . . 154

4.9 Ejemplo de grafoGi, j (para los nodosC(k) y B(k+1)) para el grafode la figura 4.8. Los arcos punteados corresponden al conjuntoE −i, jy el arco más claro corresponde al conjuntoE+

i, j . . . . . . . . . . . . 157

4.10 Algoritmo FART . . . . . . . . . . . . . . . . . . . . . . . . . . . 160

4.11 Ejemplo comparativo entre ART y FART . . . . . . . . . . . . . . 160

4.12 Algoritmo ARTSub . . . . . . . . . . . . . . . . . . . . . . . . . . 164

4.13 Algoritmo FARTSub . . . . . . . . . . . . . . . . . . . . . . . . . 165

4.14 Algoritmo TeReRefinaBIC . . . . . . . . . . . . . . . . . . . . . . 167

4.15 Algoritmo TeReRefinaMinDsep . . . . . . . . . . . . . . . . . . . 168

5.1 Patrón de salida de PC y una vez completadas las orientaciones enel patrón. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184

5.2 Salida del Algoritmo ART y FART para una red de creencia diná-mica con el patrón completo de partida mal orientado. . . . . . . . . 185

Page 17: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

Índice de Figuras vii

5.3 Salida del algoritmo PC para el aprendizaje deG(k). Salida delmodeloG(k,k+1) utilizando el esquema general de aprendizaje deRCD y el algoritmo ART o FART. . . . . . . . . . . . . . . . . . . 188

5.4 Algoritmo PCRCD . . . . . . . . . . . . . . . . . . . . . . . . . . 192

Page 18: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

viii Índice de Figuras

Page 19: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

Índice de Tablas

2.1 Resultados para la Base de Datos ALARM (3000) . . . . . . . . . . 66

2.2 Resultados para una ascensión de colinas en el espacio de estructu-ras HCST. ALARM 3000 casos. . . . . . . . . . . . . . . . . . . . 79

2.3 Resultados para una ascensión de colinas en el espacio de estructu-ras HCST. ALARM 10000 casos. . . . . . . . . . . . . . . . . . . . 80

2.4 Resultados para una ascensión de colinas en el espacio de estructu-ras HCST. INSURANCE 10000 casos. Promedio 3 bases de datos. . 80

2.5 Resultados para una ascensión de colinas en el espacio de órdenesHCSN. ALARM 3000 casos. . . . . . . . . . . . . . . . . . . . . . 81

2.6 Resultados para una ascensión de colinas en el espacio de órdenesHCSN. ALARM 10000 casos. . . . . . . . . . . . . . . . . . . . . 82

2.7 Resultados para una ascensión de colinas en el espacio de órdenesHCSN. INSURANCE 10000 casos. Promedio 3 bases de datos . . . 83

2.8 Resultados IMAPR ALARM 3000 casos 15 iteraciones. . . . . . . . 84

2.9 Resultados IMAPR ALARM 10000 casos 15 iteraciones. . . . . . . 84

2.10 Resultados IMAPR INSURANCE 10000 casos 15 iteraciones. Pro-medio 3 bases de datos . . . . . . . . . . . . . . . . . . . . . . . . 84

2.11 VNSST ALARM 3000 casoskmin = 1 y kstep= 1. . . . . . . . . . . 86

2.12 VNSST ALARM 3000 casoskmin = 7 y kstep= 5. . . . . . . . . . . 87

2.13 VNSST ALARM 10000 casoskmin = 1 y kstep= 1. . . . . . . . . . 87

2.14 VNSST ALARM 10000 casoskmin = 7 y kstep= 5. . . . . . . . . . 87

2.15 VNSST INSURANCEkmin = 1 y kstep= 1. . . . . . . . . . . . . . 88

2.16 VNSSN ALARM 3000 casosr = 7, kmin = 1, kstep= 1 y kmax= 8. . 88

2.17 VNSSN ALARM 10000 casosr = 7, kmin = 1, kstep= 1 y kmax= 8. 88

2.18 VNSSN INSURANCEr = 13,kmin = 1, kstep= 1 y kmax= 9. . . . . 89

2.19 Resultados para una ascensión de colinas en el espacio de estructu-ras HCST redefiniendo la vecindad. ALARM 3000 casos. . . . . . . 92

2.20 Resultados para una ascensión de colinas en el espacio de estructu-ras HCST redefiniendo la vecindad. ALARM 10000 casos. . . . . . 93

ix

Page 20: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

x Índice de Tablas

2.21 Resultados IMAPR ALARM 3000 casos 15 iteraciones. Definiciónnueva vecindad. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

2.22 Resultados IMAPR ALARM 10000 casos 15 iteraciones. Defini-ción nueva vecindad. . . . . . . . . . . . . . . . . . . . . . . . . . 93

3.1 Resultados ALARM 3000 - Algoritmo DVNSST. Modelo de islas4×2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

3.2 Resultados ALARM 3000 - Algoritmo DVNSSN. Modelo de islas2×2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128

3.3 Resultados INSURANCE - Algoritmo DVNSST. Modelo de islas4×2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

3.4 Resultados INSURANCE - Algoritmo DVNSSN. Modelo de islas2×2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

3.5 Resultados ALARM 3000 - Algoritmo DVNSST. Hibridación concolonias de hormigas. 8 procesadores.(ρ = 0.4,β = 2.0,q0 = 0.8).(VNSSTkmin = 5,kstep= 5,kmax= 20). . . . . . . . . . . . . . . . 130

3.6 Resultados INSURANCE - Algoritmo DVNSST. Hibridación concolonias de hormigas. 8 procesadores.(ρ = 0.4,β = 2.0,q0 = 0.8).(VNSSTkmin = 5,kstep= 5,kmax= 20). . . . . . . . . . . . . . . . 131

3.7 Resultados ALARM 3000 - Algoritmo ACO-K2SN. . . . . . . . . . 132

3.8 Resultados ALARM-3000 - Algoritmo ACO-B. . . . . . . . . . . . 133

3.9 Resultados INSURANCE - Algoritmo ACO-K2SN. . . . . . . . . . 133

3.10 Resultados INSURANCE - Algoritmo ACO-B. . . . . . . . . . . . 134

4.1 Resultados para el Algoritmo ART con Redes Dinámicas de 15 no-dos por intervalo de tiempo . . . . . . . . . . . . . . . . . . . . . . 171

4.2 Resultados para el Algoritmo ART + refinamiento con Mínimo d-separador con Redes Dinámicas de 15 nodos por intervalo de tiempo 172

4.3 Resultados para el Algoritmo ART + refinamiento con BIC con Re-des Dinámicas de 15 nodos por intervalo de tiempo . . . . . . . . . 172

4.4 Resultados para el Algoritmo ARTSub con Redes Dinámicas de 15nodos por intervalo de tiempo . . . . . . . . . . . . . . . . . . . . 173

4.5 Resultados para el Algoritmo ARTSub + refinamiento con Mínimod-separador con Redes Dinámicas de 15 nodos por intervalo de tiempo173

4.6 Resultados para el Algoritmo ARTSub + refinamiento con BIC conRedes Dinámicas de 15 nodos por intervalo de tiempo . . . . . . . . 173

4.7 Resultados para el Algoritmo FART con Redes Dinámicas de 15nodos por intervalo de tiempo . . . . . . . . . . . . . . . . . . . . 174

4.8 Resultados para el Algoritmo FART + refinamiento con Mínimo d-separador con Redes Dinámicas de 15 nodos por intervalo de tiempo 175

Page 21: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

Índice de Tablas xi

4.9 Resultados para el Algoritmo FART + refinamiento con BIC conRedes Dinámicas de 15 nodos por intervalo de tiempo . . . . . . . . 175

4.10 Resultados para el Algoritmo FARTSub con Redes Dinámicas de15 nodos por intervalo de tiempo . . . . . . . . . . . . . . . . . . . 176

4.11 Resultados para el Algoritmo FARTSub + refinamiento con Mínimod-separador con Redes Dinámicas de 15 nodos por intervalo de tiempo176

4.12 Resultados para el Algoritmo FARTSub + refinamiento con BIC conRedes Dinámicas de 15 nodos por intervalo de tiempo . . . . . . . . 176

4.13 Resultados para el Algoritmo TRPC con Redes Dinámicas de 15nodos por intervalo de tiempo . . . . . . . . . . . . . . . . . . . . 177

4.14 Resultados para el Algoritmo TRPC + refinamiento con Mínimo d-separador con Redes Dinámicas de 15 nodos por intervalo de tiempo 177

4.15 Resultados para el Algoritmo TRPC + refinamiento con BIC conRedes Dinámicas de 15 nodos por intervalo de tiempo . . . . . . . . 178

4.16 Resultados para el Algoritmo TRBenedict con Redes Dinámicas de15 nodos por intervalo de tiempo . . . . . . . . . . . . . . . . . . . 179

4.17 Resultados para el Algoritmo TRBenedict + refinamiento con Míni-mo d-separador con Redes Dinámicas de 15 nodos por intervalo detiempo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179

4.18 Resultados para el Algoritmo TRBenedict + refinamiento con BICcon Redes Dinámicas de 15 nodos por intervalo de tiempo . . . . . 179

4.19 Resultados para el Algoritmo TRK2 con Redes Dinámicas de 15nodos por intervalo de tiempo . . . . . . . . . . . . . . . . . . . . 180

Page 22: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

xii Índice de Tablas

Page 23: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

Introducción

La incertidumbre está presente en toda la información que manejamos en nuestravida diaria, la cual puede provenir de que los datos que manejamos sean vagos, im-precisos, errores de medidas, etc. Así pues, el manejo de la incertidumbre se haceimprescindible en cualquier tarea que pretendamos abordar en cualquier campo dela informática, especialmente en aquellos sistemas donde se pretenda un compor-tamiento inteligente tal como el aprendizaje, el razonamiento, la planificación, latoma de decisiones y muchos otros en donde se incorporen datos del mundo real.

Las Redes de Creencia[85, 111] son una herramienta que en los últimos añosha demostrado su potencialidad como modelo de representación del conocimientocon incertidumbre en Inteligencia Artificial. El éxito de numerosas aplicacionesen campos tan variados como la medicina, recuperación de la información, visiónartificial, fusión de información, agricultura, etc. avalan esta afirmación [86, 109, 1,16, 119, 74, 83, 62, 14, 77, 80, 11, 58, 56]

Las redes de creencia representan mediante un grafo dirigido acíclico el conoci-miento cualitativo del modelo, este conocimiento se articula en la definición de rela-ciones de independencia/dependencia entre las variables que componen el modelo.Estas relaciones abarcan desde una independencia completa hasta una dependenciafuncional entre variables del modelo. El hecho de utilizar una representación grá-fica para la especificación cualitativa del modelo hace de las redes de creencia unaherramienta muy atractiva en su uso, ya que esta forma de representación es muycercana a la forma de representar el conocimiento por parte de un humano.

El conocimiento cuantitativo viene determinado por un conjunto de parámetrosque ponderan de alguna forma la fuerza de la relaciones expresadas en la partecualitativa. Si estos parámetros son especificados mediante distribuciones de pro-babilidad (marginales y condicionales), entonces las redes de creencia se suelendenominarRedes Bayesianas. Sin embargo, estos parámetros se pueden especificarutilizando otras medidas de incertidumbre y no necesariamente probabilidades.

En los últimos años se ha producido un estudio profundo y por consiguiente unavance espectacular en el formalismo de las redes de creencia. Una de las dificulta-des más importantes asociadas a la construcción de sistemas expertos probabilísti-

1

Page 24: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

2 Introducción

cos, la mayoría de los cuales se basan en las redes de creencia, está en su elicitación[125]. Es por ello que se han estudiado formas de extraer el conocimiento a partir dedatos en forma de redes de creencia. Estos métodos de aprendizaje automático deredes de creencia a partir de datos pueden ser una herramienta por sí sola y por tantoaportar una solución al problema "definitiva". O bien, estos métodos de aprendizajese pueden ver como una herramienta para la toma de decisiones; como un modelode partida en el que se base posteriormente un experto en el dominio en cuestión.Este ciclo de colaboración se puede iterar hasta alcanzar un modelo satisfactoriopara el problema abordado.

El problema básico que resuelve el aprendizaje es el de poder encontrar un mo-delo de red a partir de datos ejemplo que mejor se adapte a éstos. De esta formarepresentamos el conocimiento aportado por los datos de una forma más útil y com-pacta, así como más comprensible para un humano. A partir de esta representaciónpodremos realizar tareas de razonamiento válidas para situaciones o casos aún noobservados.

Hemos comentado que las redes de creencia constan de dos componentes dife-rentes aunque estrechamente relacionados; los algoritmos de aprendizaje automáti-co para las redes necesariamente tienen que realizar dos tareas bien diferenciadas,aunque no independientes entre sí:

• El aprendizaje de la estructura gráfica. Un grafo dirigido acíclico.

• La estimación de las distribuciones asociadas en la red. Distribuciones mar-ginales y condicionales en redes Bayesianas.

La tarea del aprendizaje estructural depende de la estimación paramétrica querealicemos y el aprendizaje paramétrico depende de la estructura gráfica empleada.Así que, de una forma u otra, el aprendizaje estructural necesita de la estimaciónde los parámetros para confirmar o desmentir la presencia o no de una relación dedependencia/independencia entre variables del modelo.

En esta memoria fundamentalmente nos vamos a dedicar al problema del apren-dizaje automático a partir de datos de la estructura de una red de creencia.

Por otra parte, para poder modelar procesos dinámicos, aunque éstos podríanser modelados, bajo ciertas condiciones, con redes de creencia, ha aparecido unaextensión de las mismas. Estas redes, denominadasRedes de Creencia Dinámicas,1

son capaces de modelar sistemas dinámicos y, por tanto, tratar de forma explícita eltiempo. Un caso especial de redes de creencia dinámicas son aquellas que modelansistemas dinámicosmarkovianos. Estas redes tienen la característica fundamentalde que las predicciones sobre un tiempo futuro sólo dependen del tiempo presente,

1Cuando comparemos ambos modelos, denominaremos a las redes de creencia,redes de creenciaestáticasen contraposición a lasredes de creencia dinámicas.

Page 25: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

3

esto es, el tiempo futuro es condicionalmente independiente del tiempo pasado co-nocido el tiempo presente. Si a esta última propiedad le añadimos la propiedad deque el sistema dinámico que queremos modelar esestacionario, entonces da lugara que las distribuciones de probabilidad condicional que describen el modelo sonindependientes del tiempo, esto es, se repiten las mismas distribuciones en todos ycada uno de los instantes de tiempo considerados en el modelo.

A partir de estas propiedades se puede establecer un modelo gráfico para poderdescribir estos sistemas. Fundamentalmente consistirá en un conjunto de variables(nodos) indexados en el tiempo, y unas relaciones entre las variables, temporales yno temporales. Las primeras conectarán variables de distinto índice en el tiempoy con una orientación desde el índice menor hacia el índice mayor; y las segundasconectarán variables en el propio índice temporal. Si se cumplen las propiedadesdescritas en el párrafo anterior, entonces las relaciones temporales sólo pueden unirvariables de índices de tiempo consecutivos, y todas las relaciones, tanto tempora-les como no temporales, son las mismas independientemente del índice de tiempoconsiderado. Así, una red de creencia dinámica markoviana y estacionaria se puedever como:

• Una red inicial, para el primer periodo (índice) de tiempo, que especifica unadistribución para el estado inicial del sistema dinámico.

• Un modelo de transición definido sobre una pareja de periodos de tiempoconsecutivos, que especifica las distribuciones de transición del sistema diná-mico.

En esta memoria nos dedicaremos también a estudiar estos modelos y a pro-poner métodos de aprendizaje estructural automático a partir de datos bajo ciertaspremisas.

Objetivos

El objetivo básico de esta memoria es proponer algoritmos de aprendizaje estruc-tural para redes de creencia estáticas y dinámicas. En el primer caso nos hemoscentrado en el estudio de algoritmos locales de búsqueda para la optimización deuna métrica o función de ajuste dada. Uno de los objetivos será desarrollar nue-vos métodos de búsqueda, así como la adaptación de otras metaheurísticas, basadasen búsquedas locales, al problema del aprendizaje estructural. Por otra parte sedesarrollarán métodos distribuidos de búsqueda para poder ser aplicados al mismoproblema.

En el caso de las redes de creencia dinámicas vamos a proponer una nueva meto-dología en el proceso de aprendizaje. El objetivo básico es el de desarrollar nuevos

Page 26: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

4 Introducción

métodos de aprendizaje automático, tanto de las relaciones temporales como de lasredes de creencia dinámicas completas.

Los subobjetivos para conseguir los objetivos anteriormente descritos son:

• Estudio de las redes de creencia como herramienta para la representación delconocimiento con incertidumbre, así como el estudio de las redes de creenciadinámicas como mecanismo de representación de sistemas dinámicos.

• Estudio de las técnicas de aprendizaje automático existentes para la cons-trucción de redes de creencia estáticas y dinámicas a partir de datos. Estosmétodos básicamente se pueden dividir en: técnicas basadas en tests de inde-pendencia condicional y técnicas basadas en optimización más una funciónde ajuste. Las primeras de ellas tratan de representar en una red las dependen-cias e independencias encontradas entre las variables del problema a partirde los datos. Los segundos tratan de encontrar una buena aproximación dela distribución subyacente en los datos. Para ello, habitualmente, se recorreel espacio de búsqueda de los grafos dirigidos acíclicos evaluando cada unode ellos mediante la métrica utilizada, quedándose con el grafo que mejorpuntuación obtenga como salida. En este caso particular estamos interesadosen los métodos de búsqueda local por su eficiencia y por su relativa efica-cia en los dominios previamente comprobados. También estamos interesadosen estudiar métodos de búsqueda distribuidos para explorar más regiones delespacio de búsqueda de forma simultánea con la esperanza de aumentar laprobabilidad de encontrar un buen óptimo.

• Desarrollo de nuevos métodos de búsqueda local para el aprendizaje de redesde creencia estáticas, así como la aplicación de una nueva metaheurística dereciente aparición, basada en búsquedas locales. Además de proponer nuevosmétodos de búsqueda local en el espacio de los grafos dirigidos acíclicos, es-tudiaremos cómo realizar una búsqueda local en el espacio de órdenes entrelas variables. En este caso deberemos definir una vecindad apropiada a esteespacio y una forma de evaluar eficientemente una secuencia de ordenacióna partir de una vecina. Es de destacar que varios trabajos previos de diferen-tes autores, ponen de manifiesto que el espacio de búsqueda en órdenes esmas homogéneo que el espacio de grafos dirigidos acíclicos. Adaptaremosla metaheurística, comentada previamente, a la búsqueda en los dos espacioscomentados.

• Desarrollo de nuevos métodos de búsqueda local distribuida basada en la ante-rior metaheurística. También aplicaremos otra nueva metaheurística distribui-da y colaborativa para la resolución del problema del aprendizaje estructural.

Page 27: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

5

• Desarrollo de una metodología general de aprendizaje de redes de creencia di-námicas. Desarrollo, dentro de esta metodología, de nuevos algoritmos tantobasados en búsquedas locales y métricas como en tests de independencia con-dicional para el aprendizaje del modelo de transición de un sistema dinámicomarkoviano y estacionario.

• Adaptación general de los algoritmos de aprendizaje estructural de redes decreencia estáticas para el aprendizaje de redes de creencia dinámicas.

Contenido de la Tesis

El capítulo primero contiene el estudio de los conceptos preliminares necesariospara el resto de la memoria. Se articula en cuatro secciones; en la primera secciónse realiza una introducción al resto del capítulo. La segunda sección realiza unadescripción de los conceptos básicos sobre redes de creencia. La siguiente secciónse centra en el problema del aprendizaje de redes de creencia estáticas, estudiandolos métodos basados en tests de independencia condicional así como los basadosen una métrica más una búsqueda local, particularizando en los algoritmos másconocidos en la literatura específica del tema y en los que nos basaremos en granmedida a lo largo de esta memoria. La última sección se dedica a estudiar el modelode red de creencia dinámica, así como unos breves apuntes sobre el aprendizajeestructural en estos modelos.

El segundo capítulo se dedica a estudiar tanto nuevos métodos de búsqueda lo-cal, como la adaptación de una nueva heurística local para el aprendizaje de redes decreencia estáticas. Este capítulo se articula en seis secciones dedicando la primeraa introducir el resto del capítulo. La segunda sección se dedica al estudio de unanueva metaheurística (VNS, Búsquedas en Entornos Variables) basada en múltiplesreinicios y posteriores búsquedas locales en entornos de vecindad cada vez superio-res si la búsqueda actual no ha tenido éxito (mejora el óptimo actual). La siguientesección se dedica a estudiar tanto nuevos métodos de búsqueda local en el espa-cio de grafos dirigidos acíclicos, como la adaptación del método VNS al problemadel aprendizaje en este mismo espacio de búsqueda. La sección cuarta se dedica adesarrollar nuevos métodos de aprendizaje basados en búsquedas locales pero estavez en el espacio de secuencias de ordenación entre las variables; desarrollaremosun algoritmo de ascensión de colinas en este espacio de búsqueda y posteriormen-te adaptaremos de nuevo la heurística VNS a este nuevo espacio de búsqueda. Enla sección siguiente evaluaremos experimentalmente todos los algoritmos desarro-llados previamente. Para finalizar este capítulo, estudiaremos una nueva definiciónde vecindad en el espacio de grafos dirigidos acíclicos y lo validaremos de formaexperimental.

Page 28: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

6 Introducción

El tercer capítulo se dedica al estudio de nuevos métodos de aprendizaje distri-buido de redes de creencia estáticas. Nuestro enfoque, en este caso, será el de distri-buir la búsqueda de tal forma que se mejora la eficacia de los algoritmos desarrolla-dos. Este capítulo se divide en cinco secciones, siendo la primera una introducciónal capítulo correspondiente. La segunda sección se dedica a estudiar cómo se puededistribuir la búsqueda VNS cuando disponemos den procesadores y de memoriacompartida en un computador. Esta suposición estará presente en todos los métodosdesarrollados durante este capítulo. En la siguiente sección estudiamos una nuevametaheurística de reciente aparición como es el Sistema de Colonias de Hormigas.Esta metaheurística se puede ver como una método de búsqueda distribuido y coo-perativo entre diferentes búsquedas, habitualmente locales. Durante esta secciónadaptaremos y desarrollaremos todos los elementos necesarios para poder aplicaresta metaheurística al problema del aprendizaje de redes de creencia estáticas, tantoen el espacio de grafos dirigidos acíclicos como en el espacio de secuencias de orde-nación entre las variables del problema. En la sección cuarta se presenta una nuevametodología de búsqueda híbrida entre las dos primeras búsquedas estudiadas, estoes, el método VNS y el Sistema de Colonias de Hormigas. Para finalizar el capítulo,evaluaremos de forma experimental los algoritmos desarrollados a lo largo de éste.

El capítulo cuarto se dedica al estudio del aprendizaje de la relaciones tempora-les de una red de creencia dinámica, conocida la estructura “estática” de la misma,esto es, conocidas las relaciones de dependencia/independencia no temporales. Laprimera sección se dedica a introducir el problema que se quiere resolver. En lasección segunda plantearemos de una manera más formal el problema así como laspremisas para su resolución. La tercera sección se dedica al estudio de métodos debúsqueda local basados en una función de ajuste para el aprendizaje de las relacionestemporales de un modelo dinámico. En la cuarta sección se desarrollan algoritmosbasados en tests de independencia condicional para solucionar el mismo problema;validaremos de forma teórica cada uno de los algoritmos planteados a lo largo deesta sección. En la siguiente sección se plantean algoritmos para refinar los resulta-dos ofrecidos por los anteriores. En la sección sexta definiremos un modelo de redde creencia, que hemos denominadosimple, que de forma habitual se presenta encasos prácticos; daremos una definición formal del modelo así como un algoritmobasado en tests de independencia condicional para su aprendizaje. Para finalizar elcapítulo, realizaremos un estudio experimental de los algoritmos descritos duranteel mismo.

En el capítulo quinto nos dedicamos a estudiar cómo se puede realizar de for-ma general el aprendizaje de redes de creencia dinámicas a partir de los algoritmosdescritos en los capítulos anteriores. Tras la primera sección, de introducción, lassecciones segunda y tercera introducen una metodología general, que será la de uti-lizar un algoritmo de redes de creencia estática, para aprender el modelo “estático”

Page 29: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

7

de las redes de creencia dinámicas y utilizar posteriormente algoritmos de aprendi-zaje de relaciones temporales para completar el modelo de transición de las redesde creencia dinámicas. En la sección segunda este proceso se lleva a cabo bajo lasuposición de que el instante inicial en que comienza el proceso temporal es cono-cido, mientras que en la sección tercera no se asume esta restrición. Para finalizarel capítulo, en la sección cuarta estudiaremos cómo poder adaptar los algoritmos deaprendizaje de redes de creencia estáticas, tanto basados en tests de independenciacondicional como lo basados en búsquedas locales más una función de ajuste, alaprendizaje directo (sin distinguir entre relaciones temporales y no temporales) delas redes de creencia dinámicas.

Por último, presentamos las conclusiones sobre el trabajo realizado en esta me-moria y algunas posibles líneas para continuar nuestra investigación.

Page 30: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

8 Introducción

Page 31: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

Capítulo 1

Redes de Creencia,Algoritmos de Aprendizajey Redes de CreenciaDinámicas

1.1 Introducción

Las Redes de Creencia (RC)son una representación apropiada para manejar co-nocimiento incierto y es por ello que son utilizadas habitualmente como núcleode sistemas expertos capaces de manejar incertidumbre. Una red de creencia esuna estructura gráfica (grafo dirigido acíclico) que de forma explícita representa unconjunto de variables y las relaciones de independencia y dependencia entre éstas.Cuando estas relaciones entre las variables se interpretan como causas y efectos, aestas redes se le suelen denominarRedes Causales.

Este tipo de redes, además de su representación cualitativa correspondiente a latopología de la red, nos permite representar un conocimiento cuantitativo entre lasvariables. Este conocimiento viene expresado habitualmente mediante distribucio-nes de probabilidad condicionales que miden la fuerza de las relaciones anterior-mente planteadas. Cuando esto es así se suelen denominarRedes Bayesianas.

El primer problema que se plantea a la hora de utilizar las redes de creencia esel de la construcción del modelo para un determinado problema a resolver. Una po-sible solución será un conjunto de técnicas que nos permita elicitar el conocimientoaportado por un experto. Sin embargo, es bien conocido que la adquisición del co-nocimiento a partir de expertos produce uncuello de botellaa la hora de desarrollar

9

Page 32: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

10 Redes de Creencia, Algoritmos de Aprendizaje y Redes de Creencia Dinámicas

estos modelos. Para paliar este problema, se han desarrollado un conjunto de he-rramientas que permiten el aprendizaje automático a partir de casos ejemplo de estetipo de estructuras.

En este capítulo se presenta una introducción sobre este formalismo y estudia-remos algunos algoritmos de aprendizaje automático de estos modelos. Finalmentepresentaremos el problema que se nos plantea cuando tratamos de utilizar el anteriorformalismo para modelar sistemas temporales, y por tanto justificaremos e introdu-ciremos el formalismo de lasRedes de Creencia Dinámicas (RCD)para tratar consistemas dinámicos.

1.2 Redes de Creencia

Una red de creencia nos va a permitir representar nuestro conocimiento sobre undeterminado problema a través de estructuras gráficas, grafos dirigidos acíclicos,donde los nodos representan las variables del problema y los arcos representan re-laciones de dependencia, relevancia o causalidad. Observando la estructura gráficade una red, notaremos que tenemos una representación explícita de un conjunto dedependencias e independencias entre las variables de nuestro problema. Esta obser-vación nos lleva a obtener una representación semántica de la red, esto es, para undeterminado problema, podemos extraer relaciones de relevancia o causalidad entrelas variables. Una relación de dependencia entre dos variablesx e y, implica unamodificación en la creencia dex, dado que conocemos el valor que toma la variabley. Análogamente, una relación de independencia entre estas variables se interpretacomo una no ganancia de información (no se modifica nuestra creencia) al conocerel valor de una de ellas.

Veremos ahora un ejemplo ilustrativo de las relaciones de independencia re-presentadas en una red de creencia. Supongamos que tenemos la red de creencia,denominada Asia, de la figura 1.1. La red Asia fue presentada por [100] Lauritzeny Spiegelhalter a modo de ilustración de su método de propagación de evidencias.En esta red tenemos representadas ocho variables discretas. Por ejemplo la variableFumadorrepresenta una variable bivaluada que nos indica si el paciente fuma o no,la variableVisita a Asiaindica si el paciente a visitado Asia o no previamente.

Veamos las relaciones que se pueden deducir del ejemplo anterior: Fijémonosprimero en el subgrafoFumador→ Bronquitis→ Disnea. La evidencia de sa-ber que un paciente es fumador nos hace aumentar la creencia de que va a pade-cer Bronquitis y ésta a su vez nos hace aumentar la creencia de que sufrirá Dis-nea. Sin embargo, si conocemos que el paciente padece Bronquitis, entonces elconocer si es o no fumador no me aportará una mayor creencia de que padeceráDisnea. Esto nos dirá que las variables Fumador y Disnea son CondicionalmenteIndependientes conocida la variable Bronquitis. Fijémonos ahora en el subgrafo

Page 33: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

1.2. Redes de Creencia 11

Visita a Asia

Tuberculosis Cancer de Pulmon

Fumador

Bronquitis

DisneaRayos X Positivos

o TuberculosisCancer de Pulmon

Figura 1.1: Red de creencia Asia.

Tuberculosis→ Cáncer de Pulmón o Tuberculosis← Cáncer de Pulmón. Sin nin-guna evidencia las variables Tuberculosis y Cáncer de pulmón son independientes,esto es, el conocer que un paciente tenga o no Tuberculosis no me aportará nin-guna creencia nueva de que padezca Cáncer de pulmón o no, sin tener conocidonada más. Ahora bien, si tenemos la evidencia de que el paciente tiene Cáncer dePulmón o Tuberculosis, esto es, la variable Cáncer de Pulmón o Tuberculosis espositiva, entonces el conocer que el paciente tiene Cáncer de pulmón evidentemen-te me aportará una menor creencia sobre la variable Tuberculosis. En este tipo desituaciones, se dice que las variables Tuberculosis y Cáncer de pulmón son Mar-ginalmente Independientes y son Condicionalmente Dependientes conocido Cáncerde Pulmón o Tuberculosis.

En la siguiente sección realizaremos un estudio del concepto de independencia,presentando el conjunto de axiomas que parece sensato exigirle al concepto intuitivode independencia.

1.2.1 Axiomática de Independencia

Existen situaciones en donde somos capaces de establecer de forma clara que en-tre un conjunto de variables existe una relación de independencia, sin que por elloseamos capaces de establecer de forma cuantitativa estas relaciones. Es por elloque deberíamos pensar en el concepto de independencia más allá que como un con-cepto meramente cuantitativo, por consiguiente es necesario establecer un entornoabstracto para capturar el concepto de independencia.

Notaciones. SeaU el conjunto de variables del sistema (Universo del discurso),denotaremos con letras minúsculas a los elementos individuales deU , esto es,x, y,..., mientras que los conjuntos de variables se denotarán mediante letras mayúsculasX, Y ,... sx representa el conjunto de estados que puede tomar la variable discretax,

Page 34: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

12 Redes de Creencia, Algoritmos de Aprendizaje y Redes de Creencia Dinámicas

asísX , representará el conjunto de configuraciones, a partir de sus estados, que pue-de tomar el conjunto de variables discretasX. Una configuración deX, se denotarácomox.

Definición 1.1 (Modelo de Dependencias)Un modelo de Dependencias [111] sedefine como un par M= (U, I(·)), donde I(·) es un conjunto de reglas que asignanvalores de verdad al predicado “X es independiente de Y , dado que conocemos losvalores que toman las variables de Z” y lo notaremos como I(X,Y|Z).

Por ejemplo, en entornos probabilísticos, una distribución de probabilidadP ,puede ser considerada un modelo de dependencias utilizando la siguiente relación[35, 130, 112, 99]:

I(X,Y|Z)⇐⇒ P(X|YZ) = P(X|Z) siempre y cuandoP(YZ) > 0 (1.1)

para toda instanciación de los subconjuntosX,Y y Z. En cualquier caso, un modelode dependencias puede aplicarse con cualquier otro formalismo no probabilístico[38, 46, 39, 45, 136, 81]. Un estudio de las relaciones de independencia en la teoríade la probabilidad y en la teoría de Bases de Datos [55], proporciona un conjunto depropiedades que parece razonable exigir a toda relación que intente capturar el con-cepto intuitivo de independencia. Estas propiedades se pueden axiomatizar comosigue [111]:

A0 Independencia Trivial:I(X, /0|Z)

En cualquier estado de conocimiento, una información nula no modifica lainformación que tenemos sobreX.

A1 Simetría:I(X,Y|Z)⇒ I(Y,X|Z)

Dado un estado de conocimientoZ, si el conocerY no aporta ninguna infor-mación sobre el valor deX, entonces el conocerX no aportará informaciónsobre el valor que pueda tomarY.

A2 Descomposición:I(X,Y∪W|Z)⇒ I(X,Y|Z)

Si dos componentes de informaciónY y W conjuntamente son consideradasirrelevantes sobre el valor que pueda tomarX, entonces cada una por separadotambién debe ser considerada irrelevante paraX.

A3 Unión Débil: I(X,Y∪W|Z)⇒ I(X,W|Y∪Z)

Page 35: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

1.2. Redes de Creencia 13

Este axioma, establece que al conocer la informaciónY considerada irrelevan-te paraX, entonces esta información no puede ayudar a que otra informaciónirrelevanteW se transforme en relevante paraX.

A4 Contracción:I(X,Y|Z)& I(X,W|Z∪Y)⇒ I(X,Y∪W|Z)

Si se considera queW es una información irrelevante paraX después de co-nocer información irrelevanteY, entoncesW también debería ser irrelevanteparaX antes de conocerY.

A5 Intersección:I(X,Y|Z∪W)& I(X,W|Z∪Y)⇒ I(X,Y∪W|Z)

Si dos elementos combinados de información,Y y W son relevantes paraX,entonces al menos uno de ellos deber ser relevante paraX, cuando el otro esconocido junto conZ.

Cualquier modelo de dependencias que satisface los axiomas anteriores menosel A5 se denomina semigrafoide, si además satisface el axioma A5 de intersecciónse llama grafoide [113].

Este conjunto de axiomas permite representar la esencia del concepto de inde-pendencia. Por tanto, proporcionan una herramienta adecuada para poder compararlas propiedades de una relación de independencia considerando diferentes formalis-mos. Además, el conjunto de axiomas puede considerarse como una regla generalde inferencia, capaz de derivar nuevas relaciones de independencia a partir de unconjunto inicial de relaciones.

1.2.2 Redes de Creencia como Modelos de Dependencias

El objetivo de esta sección será considerar la red de creencia como una represen-tación gráfica de un modelo de dependencias y realizar un análisis de las distintaspropiedades que se presentan. En este caso, debe de existir una correspondenciadirecta entre el conjunto de variables en el modelo y el conjunto de nodos en ungrafo, donde mediante la estructura gráfica de la red se representen un conjunto depropiedades de independencia del modelo.

Definición 1.2 (Grafo de Dependencias)Un grafo G= (V,E), donde V es el con-junto de nodos y E el conjunto de enlaces, es un grafo de dependencias para elmodelo M= (U, I(·)) si existe una correspondencia directa entre los elementos deU y V, tal que la topología del grafo refleje algunas propiedades de I(·).

Si bien los grafos de dependencias pueden ser no dirigidos o dirigidos, estosúltimos son los más usados debido a su mayor expresividad. Así, la existencia de

Page 36: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

14 Redes de Creencia, Algoritmos de Aprendizaje y Redes de Creencia Dinámicas

un arcox→ y indica dependencia directa entre las variablesx ey. Además, algunasveces muestra relación de causalidad entre ellas:x es causa dey. No obstante, estaafirmación no siempre es cierta, sino que depende del campo de conocimiento enque nos movamos.

Una interpretación semántica de un grafo de dependencias, necesita algún crite-rio gráfico que de forma precisa determine qué propiedades de independencia sonreflejadas por la estructura del grafo. Este mismo criterio debe ser utilizado al hacerel análisis del grafo como una representación de un modelo de dependencias. Antesde considerar el criterio, debemos establecer una serie de definiciones.

Definición 1.3 (Conceptos básicos sobre grafos dirigidos)Dado un grafo G=

(V,E) dirigido, denominaremos:

• camino, a una secuencia ordenada de nodos(x1, . . . ,xr), tal que∀ j = 1. . . r−1 la arista xj → x j+1 ∈ E o xj+1→ x j ∈ E.

• camino dirigido, a una secuencia ordenada de nodos(x1, . . . ,xr), tal que∀ j = 1. . . r−1 la arista xj → x j+1 ∈ E.

• ciclo, a un camino(x1, . . . ,xr), en el que x1 = xr .

• ciclo dirigido , a un camino dirigido(x1, . . . ,xr), en el que x1 = xr .

• padres, de xi , al conjunto de nodos:

π(xi) = {x j ∈V | x j → xi ∈ E}

• hijos, de de xi , al conjunto de nodos:

hi j(xi) = {x j ∈V | xi → x j ∈ E}

• ancestros, de xi , al conjunto de nodos:

Anc(xi) = {x j ∈V | ∃ un camino dirigido(x j , . . . ,xi)}

• descendientes, de xi , al conjunto de nodos:

Desc(xi) = {x j ∈V | ∃ un camino dirigido(xi , . . . ,x j)}

• nodos adyacentes, de xi , al conjunto de nodos:

Adyac(xi) = {x j ∈V | ∃ xi → x j ∈ E ó xj → xi ∈ E}

• grafo dirigido acíclico (GDA), a un grafo dirigido que no contiene ningúnciclo dirigido.

Page 37: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

1.2. Redes de Creencia 15

Definición 1.4 El esqueleto de un grafo dirigido acíclico (GDA) G es el grafo nodirigido que se forma al eliminar de G todas las direcciones en los arcos. Un enlacecabeza-cabeza en un nodo es un camino que tiene la forma x→ z← y, el nodo zes un nodo cabeza-cabeza en el camino, se dice que no es acoplado cuando x noes adyacente a y. Un camino C se dice activo por un conjunto de variables Z si sesatisface que:

• Todo nodo del camino C con arcos cabeza-cabeza está en Z o tiene algúndescendiente dentro de Z.

• Cualquier otro nodo en el camino no pertenece a Z.

Si no se satisface esta relación se dice que el camino está bloqueado por Z.

Vistas estas definiciones el criterio gráfico de independencia en una red de creen-cia, llamadod-separación[111, 106, 134], puede expresarse como:

Definición 1.5 (d-separación). Si X, Y y Z son tres subconjuntos de nodos disjun-tos en un GDA G, entonces Z se dice qued-separaX de Y, o lo que es lo mismo X eY son gráficamente independientes dado Z y lo notaremos como〈X,Y|Z〉, si todoslos caminos entre cualquier nodo de X y cualquier nodo de Y están bloqueados porZ.

Utilizando el anterior criterio, cualquier GDAG sobre un conjunto de variablesU , se puede considerar como un Modelo de Dependencias,M(U,〈·〉) [111]. Eneste caso, además tenemos que el modelo de dependencias es un grafoide, esto es,satisface el conjunto de axiomas anterior.

Dado un modelo de dependenciasM, no siempre es posible construir un GDAque satisfaga todas las relaciones de independencia en el modelo. Si nos plantemosla posible relación existente entre el modelos de dependenciasM y su representacióngráficaG, podremos encontrarnos los siguientes casos.

Definición 1.6 (I-Map) [111]. Un GDA G se dice que es unI-Map de un modelode dependencias M si toda relación de d-separación en G corresponde a una rela-ción de independencia válida en el modelo M, es decir, si dados X, Y y Z conjuntosdisjuntos de variables tenemos que:

〈X,Y|Z〉=⇒ I(X,Y|Z) (1.2)

Dado un GDAG, que es un I-Map de un modelo de dependenciasM, decimosque es unI-Map Minimal deM si al borrar alguno de sus arcos,G deja de ser unI-Map del modelo.

Page 38: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

16 Redes de Creencia, Algoritmos de Aprendizaje y Redes de Creencia Dinámicas

Definición 1.7 (D-Map)[111]. Un GDA G se dice que es unD-Map de un modelode dependencias M si toda relación de independencia en el modelo M se corres-ponde con una relación de d-separación en G, es decir, si dados X, Y y Z conjuntosdisjuntos de variables tenemos que:

〈X,Y|Z〉 ⇐= I(X,Y|Z) (1.3)

Un I-Map garantiza que los nodos que están d-separados corresponden a va-riables independientes, pero no garantiza que para aquellos nodos que están d-conectados (no d-separados), sus variables sean dependientes. Recíprocamente, enun D-Map se puede asegurar que todos los nodos que están d-conectados son depen-dientes en el modelo, pero no toda relación de d-separación corresponde a variablesindependientes en el modelo.

Definición 1.8 (Perfect-Map)[111]. Un GDA G se dice que es unPerfect-Mapde un modelo M, si es un I-Map y un D-Map simultáneamente, esto es:

〈X,Y|Z〉 ⇐⇒ I(X,Y|Z) (1.4)

Si un grafoG es un Perfect-Map de un modelo de dependenciasM, diremosque los modelos sonIsomorfos, pudiéndose hablar indistintamente, entonces, derelaciones de independencia y de relaciones de d-separación.

Dado un modelo de dependencias, pueden existir distintas representaciones grá-ficas reflejando las mismas relaciones de independencia que el modelo. En estecaso decimos que las representaciones son Isomorfas, y lo notaremos como≡. Porejemplo, las siguientes relaciones reflejan el hecho de quex y z son marginalmentedependientes, pero conociday se hacen condicionalmente independientes:

x← y← z≡ x→ y→ z≡ x← y→ z

El siguiente teorema [111] nos da un conjunto de propiedades necesarias paraque un GDA sea considerado isomorfo a un modelo de dependencias.

Teorema 1.1 Una condición necesaria para un modelo de dependencias M seaisomorfo a un GDA G es que toda relación I(X,Y|Z) satisfaga el siguiente conjuntode axiomas:

• Simetría:

I(X,Y|Z)⇔ I(Y,X|Z)

• Composición / Descomposición:

I(X,Y∪W|Z)⇔ I(X,Y|Z)& I(X,W|Z)

Page 39: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

1.2. Redes de Creencia 17

• Unión Débil:

I(X,Y∪W|Z)⇒ I(X,W|Y∪Z)

• Contracción:

I(X,Y|Z)& I(X,W|Z∪Y)⇒ I(X,Y∪W|Z)

• Intersección:

I(X,Y|Z∪W)& I(X,W|Z∪Y)⇒ I(X,Y∪W|Z)

• Transitividad Débil:

I(X,Y|Z)& I(X,Y|Z∪w)⇒ I(X,w|Z) ó I(w,Y|Z)

• Cordalidad:

I(x,w|y∪z)& I(y,z|x∪w)⇒ I(x,w|y) ó I(x,w|z)

Hasta ahora nos hemos referido únicamente a la parte cualitativa del modeloque es la que nos permite representar las (in)dependencias entre las variables delsistema. A continuación vamos a añadir a éste la parte cuantitativa del modelo.

El formalismo que vamos a utilizar a lo largo de esta memoria para representarla parte cuantitativa del modelo es lateoría de la probabilidad. En entornos proba-bilísticos, una distribución de probabilidadP , puede ser considerada un modelo dedependencias utilizando la siguiente relación [35, 130, 112, 99]:

I(X,Y|Z)⇐⇒ P(X|YZ) = P(X|Z) siempre y cuandoP(YZ) > 0 (1.5)

para toda instanciación de los subconjuntosX,Y y Z.En un entorno probabilístico el conocimiento cuantitativo viene expresado por

una distribución de probabilidad conjunta definida sobre las variables del sistemaU = {x1,x2, . . . ,xn}. Esto plantea un problema de representación, ya que si supone-mos por ejemplo que todas las variables tienen dos estados posibles y que tenemosn variables, el número de entradas necesarias para representar la distribución deprobabilidad conjunta es 2n.

Vamos a ver ahora que si tenemos representada la parte cualitativa del cono-cimiento como un grafo de dependenciasG, entonces la parte cuantitativa puederepresentarse de forma eficiente. SeaP una distribución de probabilidad conjunta

Page 40: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

18 Redes de Creencia, Algoritmos de Aprendizaje y Redes de Creencia Dinámicas

sobreU . La regla de la cadena nos permite representar la distribución de probabili-dad conjuntaP(x1,x2, . . . ,xn), como:

P(x1,x2, . . . ,xn) = P(xn|xn−1, . . . ,x1) . . .P(x3|x2x1)P(x2|x1)P(x1) (1.6)

Supongamos ahora que tenemos definido un ordenσ sobre las variables deU ,tal que sixi → x j ∈G, entoncesxi <σ x j (orden topológico, al ser un grafo dirigidoacíclico siempre se puede encontrar este orden). Tomemos ahora un factor cual-quieraP(xi |xi−1, . . . ,x1) de la expresión anterior. Si la secuencia de variables estáordenada segúnσ respecto deG, es claro que el conjunto{x i−1, . . . ,x1} contieneal conjuntoπ(xi) y no contiene ningún descendiente dexi , cumpliéndose entoncesque:

〈xi ,{xi−1, . . . ,x1}|π(xi)〉G

Si consideramos queG es un I-map, atendiendo al conocimiento cualitativo ex-presado en la red, entonces una variablexi es condicionalmente independiente co-nocidos sus padres del resto de variables excepto sus descendientes, entonces ladistribución de probabilidadP anterior se puede expresar como sigue:

P(x1,x2, . . . ,xn) = P(xn|π(xn)) . . .P(x2|π(x2))P(x1|π(x1)) (1.7)

con π(xi) representado el conjunto de padres del nodox i en la red. Por tanto ladistribución de probabilidad conjunta se puede recuperar a través de la siguienteexpresión:

P(x1,x2, . . . ,xn) = ∏i

P(xi |π(xi)) (1.8)

Por tanto, para recuperar la distribución de probabilidad sólo tendremos quealmacenar para cada nodo una distribución de probabilidad condicional. Con estarepresentación se consigue, en general, un ahorro considerable en espacio requeridopara almacenar la distribución de probabilidad conjunta.

Una vez visto cómo representar tanto la parte cuantitativa como cualitativa deun modelo, vamos a dar la definición formal deRed de Creencia Bayasiana.

Definición 1.9 (Red de Creencia Bayesiana)Dada una distribución de probabili-dad P sobre un conjunto de variables U, se define una red de creencia bayesiana(RC) como un grafo dirigido acíclico G tal que:

1. Cada nodo del grafo representa a una variable de U.

2. G es un I-map minimal de P.

Page 41: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

1.3. Algoritmos de Aprendizaje 19

3. Toda xi ∈U lleva asociada la distribución de probabilidad condicional:

P(xi |π(xi))

1.3 Algoritmos de Aprendizaje

Una vez que hemos definido las redes de creencia, se pueden destacar dos proble-mas fundamentales para trabajar con este formalismo. Por un lado se trata de utilizaréstas para realizar procesos eficientes de razonamiento una vez que tengamos espe-cificado el modelo completo. Para este tipo de tareas han sido muchos los trabajosrealizados en la literatura [122, 64, 10, 111, 51, 26, 100]. La existencia de estosalgoritmos cada vez más eficientes, hacen que aparezcan cada vez más aplicacionesprácticas [11, 13, 17] que utilizan las redes de creencia como motor de inferenciaen sus sistemas.

En los anteriores casos se considera que el modelo completo de red esta cons-truido de antemano. El problema que se plantea ahora es cómo construir la red.Una posibilidad es elegir a un conjunto de expertos en el dominio en cuestión paraque construyan el modelo, sin embargo es de enorme interés proporcionarles a estosexpertos herramientas que adquieran este tipo de conocimiento de forma automáticaa partir de ejemplos de muestra, para que de esta forma tengan una herramienta desoporte para la decisión.

En esta sección revisaremos algunos de los algoritmos de Aprendizaje de Redesde Creencia más conocidos en la literatura especializada del tema, así como susfundamentos teóricos en cada caso.

Podemos realizar una clasificación de los algoritmos de aprendizaje basándonosen las técnicas que utilizan en el proceso de adquisición del conocimiento.

• Métodos que utilizan relaciones de independencia condicional.

• Métodos que utilizan técnicas de optimización en base a una medida de ajusteo métrica.

Esta clasificación no es estricta ni exhaustiva, existen métodos que utilizan unacombinación de ambos métodos, por ejemplo en [124, 5, 7, 34] o utilizan otro tipode técnicas [12].

1.3.1 Algoritmos basados en relaciones de independencia condi-cional

En esta sección, vamos a estudiar algoritmos de aprendizaje basados en criterios deindependencia condicional entre variables del modelo. Como comentábamos, estos

Page 42: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

20 Redes de Creencia, Algoritmos de Aprendizaje y Redes de Creencia Dinámicas

algoritmos en cierta medida son independientes del modelo de representación cuan-titativa expresada en una red, por lo que se pueden considerar más “abstractos”. Eneste sentido, su objetivo no es obtener una red donde la distribución de probabilidadque representa se “parezca” a la original, sino que hacen un estudio cualitativo delas propiedades del modelo y a partir de ellas intentan recuperar una red que repre-sente “mejor” estas propiedades. Estos algoritmos toman como entrada un conjuntode relaciones de independencia condicional entre las variables o conjuntos de va-riables en el modelo. La salida será una red de creencia o red Bayesiana donde sesatisfagan estas propiedades, es por ello que a este tipo de algoritmos también se losuelen denominar como algoritmos de satisfacción de restricciones.

Para construir una red Bayesiana bastaría con estimar las distintas distribucio-nes de probabilidad condicional y efectuar algún tipo de test de hipótesis comotest de independencia condicional y de esta forma conseguir los predicados de in-dependencia condicional presentes en el modelo. En nuestro caso vamos a utili-zar un test de hipótesis basado en la distribuciónχ 2; sabiendo que el estadístico2 ·N ·Dep(X,Y|Z), siendoDep(·) la entropía cruzada de Kullback-Leibler (expre-sión 1.18), sigue una distribuciónχ 2 con [sZ · [(sX−1) · (sY−1)]] grados de liber-tad, consX representando el número de configuraciones posibles para el conjuntoX,considerandoX un conjunto de variables discretas. Y siendoN el número de casossobre los datos que realizamos el test de independencia condicional.

Podemos hacer una abstracción del modelo original y considerarlo como un Mo-delo de DependenciasM. Hay que indicar que una distribución de probabilidad ouna red de creencia (utilizando como test de independencia condicional el criteriode d-separación), pueden ser consideradas como modelos de dependencias.

Con objeto de recuperar la red, supondremos que los resultados de los tests deindependencia condicional realizados se corresponden con las relaciones de inde-pendencia en el modelo. Además, se asume que se observan todas las variablesrelevantes en el problema y, que cuando partimos de una base de datos de casos,todos éstos siguen la misma relación. Con este tipo de algoritmos, se independizael método para construir la red del formalismo que se utiliza para representar, deforma cuantitativa , el conocimiento sobre el problema. Para ello, los algoritmos sebasan en el estudio de las propiedades estructurales del modelo. Como resultadode estas propiedades, tenemos que cuando el modelo es representable por un grafodirigido acíclico, en general se encuentra la mejor representación del modelo. Entrelas desventajas que tiene el uso de este tipo de algoritmos podemos destacar que: a)Cuando se parte de una base de datos, se necesitan una gran cantidad de observa-ciones para que los resultados de los tests de independencia sean fiables; b) No esposible asignar a priori probabilidades sobre los arcos, aunque si se podría permitirel uso del conocimiento dado por un experto sobre la existencia de una determinadarelación o no, algún orden entre las variables [129, 44], etc.; c) Finalmente, propor-

Page 43: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

1.3. Algoritmos de Aprendizaje 21

cionan como salida un único modelo, sin cuantificar la verosimilitud con respecto aotras estructuras. Además en este último aspecto, en general, una equivocación enla estimación de una determinada relación de independencia suele ser más negativoen este tipo de algoritmos que en los basados en métricas.

A continuación estudiaremos un algoritmo de este tipo para ilustrar su compor-tamiento y su filosofía general, que de alguna forma comparten todos estos algo-ritmos. Este algoritmo es el algoritmo PC, el algoritmo más conocido sin lugar adudas inspirado en este tipo de técnicas. Sin embargo existen una gran cantidad dealgoritmos que de alguna u otra forma utilizan este mismo criterio. En los primerosde ellos se imponen restricciones en cuanto a su estructura [37, 40, 41, 67, 68] paramejorar la eficiencia de éstos. Posteriormente se diseñan algoritmos para recuperarGDAs tal como en los trabajos [44, 134, 126, 135].

1.3.1.1 Algoritmo PC

Para los algoritmos que estudiaremos a continuación se supone que el modeloM esrepresentable por un grafo dirigido acíclicoG, esto es, el modelo es isomorfo aG.

El primer algoritmo que consideraremos, dado por Spirtes, Glymour y Schei-nes [127], recupera de forma única un grafo que, salvo isomorfismos, representa elmodelo. El algoritmo se basa en la siguiente propiedad:

Proposición 1.1 Sea M un modelo isomorfo a un grafo dirigido acíclico G. Enton-ces M es isomorfo a G si y solo si:

1. Para cada par de variables x e y en G, x e y son adyacentes si y solo si x ey son condicionalmente dependientes dado todo subconjunto de nodos en Gque no incluye a x ni a y.

2. Para cada terna de variables(x,y,z) tal que el par(x,y) es adyacente enG y el par(z,y) también es adyacente en G, pero no el par(x,z), entoncesx→ y← z es un subgrafo de G si y solo si x y z son dependientes dado todoconjunto de variables que contiene a y pero no a z ni x

Si utilizamos directamente la proposición 1.1, tendremos el algoritmo denomi-nado SGS, el cual tiene un coste computacional exponencial, ya que por fuerza brutadebemos de buscar un subconjunto deU \{x,y} que haga independientesx dey. Elalgoritmo SGS puede observarse en la figura 1.2.

Por consiguiente en el peor de los casos el algoritmo SGS requiere un número detests de d-separación que se incrementa exponencialmente con el número de vérti-ces. Dicho algoritmo es muy ineficiente ya que para cada arco en el grafo verdaderoG el peor caso es el caso esperado. Para cualquier arco no dirigido que está en elgrafoG, el número de tests de d-separación que debe realizarse en el paso segundo

Page 44: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

22 Redes de Creencia, Algoritmos de Aprendizaje y Redes de Creencia Dinámicas

Algoritmo SGS

1. Formar un grafo completo no dirigido H con el conjunto de vértices U.

2. Para cada par de variables x e y, si existe un subconjunto S de U\{x,y} talque I(x,y|S), eliminar la arista x−y de H.

3. Sea K el grafo no dirigido que se obtiene como resultado del paso anterior.Entonces para cada tripleta x− y− z en H donde z− x no esté en H, si noexiste un subconjunto S de U\{x,y}, tal que I(x,z|S∪{y}), entonces orientarla tripleta como x→ y← z.

4. Repetir

(a) Si x→ y−z está en H, con x y z dos nodos no adyacentes, orientar y−zcomo y→ z.

(b) Si existe un camino dirigido desde x hasta y, y existe la conexión x−y,entonces orientar el arco como x→ y.

Hasta que no puedan ser orientados más arcos.

Figura 1.2: Algoritmo SGS

Page 45: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

1.3. Algoritmos de Aprendizaje 23

del algoritmo no es afectado de ningún modo por las adyacencias en el grafo verda-dero. Por otra parte, el algoritmo tiene un problema cuando trabajamos con datos, ladeterminación de relaciones de independencia condicional de alto orden1 a partir dedatos es generalmente menos eficiente y fiable que si realizamos tests de relacionesde independencia condicional de orden bajo.

Por tanto sería de desear un algoritmo que tomara en cuenta estas consideracio-nes y no realizara tests de orden alto, atendiendo a las relaciones de adyacencia delgrafo G. El siguiente algoritmo hace precisamente esto, empieza con el grafo nodirigido completo y va comprobando en primer lugar las relaciones de orden cero,posteriormente las de orden uno y así sucesivamente. El conjunto de variables sobrelos que se va a condicionar sólo necesita ser un subconjunto del conjunto de varia-bles adyacentes a una u otra de las variables condicionadas en el grafo formado enla etapa donde realiza tal comprobación.

SeaAdyac(G,x) el conjunto de vértices adyacentes ax en el grafoG. Esteconjunto se va modificando, en el algoritmo que veremos, conforme el algoritmo vaprogresando partiendo del grafo completo. El algoritmo PC puede observarse en lafigura 1.3.

La complejidad del algoritmo depende del número de adyacencias que tenganlos nodos en el grafo. Seak el mayor número de adyacencias para un nodo en elgrafoG, y sean el número de vértices en el grafo. Entonces el número de tests deindependencia condicional necesarios para el algoritmo está acotado por:

2

(n2

) k

∑i=0

(n−1

i

)

Esta cantidad esta acotada por:

n2(n−1)k−1

(k−1)!

Para hacer el análisis en el peor caso, se asume que todo par de variables estád-separado por un subconjunto con cardinalidadk. En el caso general, el númerode tests de independencia condicional requeridos por grafos con una cardinalidadmáximak será mucho menor. De todas formas, los requerimientos computacionalescrecen exponencialmente conk.

El algoritmo PC es eficiente y fiable, pero realiza tests innecesarios. Así, paradeterminar cuándo se elimina un arco entrex ey, el procedimiento debe comprobartodo subconjuntoSdeAdyac(C,x)\{y} o deAdyac(C,y)\{x}, pero las relacionesde independencia o dependencia entre muchos de estos subconjuntos de variables

1Se denomina así a las relaciones de independencia condicional en donde el conjunto condicionantetiene un número elevado de variables. Si por el contrario este conjunto contiene un número reducido devariables se le denominan relaciones de independencia de orden bajo.

Page 46: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

24 Redes de Creencia, Algoritmos de Aprendizaje y Redes de Creencia Dinámicas

Algoritmo PC

1. Formar el grafo C completo no dirigido sobre el conjunto de vértices U.

2. n= 0

Repetir

- Repetir

- Seleccionar un par ordenado de variables x e y que sean adyacen-tes en C, tal que Adyac(C,x) \ {y} tiene un cardinal mayor o igual an, y un subconjunto S de Adyac(C,x) \ {y} de cardinal n. Si x e yestán d-separadas dado S, borrar el arco x− y de C y guardar S enSEPSET(x,y) y SEPSET(y,x).

Hasta

- Todos los pares ordenados de variables adyacentes de x e y, tal queAdyac(C,x)\{y} de cardinalidad n han sido ya comprobados anterior-mente.

n = n+1

Hasta

- Para cada par ordenado de variables adyacentes a x e y. Adyac(C,x)\{y}tiene una cardinalidad menor que n.

3. Sea C′ el grafo resultado de la etapa anterior. Para cada tripleta de vértices(x,y,z) tal que: el par(x,y) y el par(y,z), son adyacentes en C′, pero el par(x,z) no es adyacente en C′, orientar x−y−z como x→ y← z si y solo si yno esta en SEPSET(x,z).

4. Repetir

- Si a→ b, b− c y a y c no son adyacentes y no hay cabeza de flecha en b,entonces orienta b−c como b→ c.

- Si hay un camino dirigido desde a hasta b y un arco entre a y b, entoncesorienta a→ b.

Hasta que que ningún arco más se pueda orientar.

Figura 1.3: Algoritmo PC

Page 47: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

1.3. Algoritmos de Aprendizaje 25

pueden ser irrelevantes para establecer una relación entrex e y. Si, para un mode-lo isomorfo a un grafo dirigido acíclico, las variablesx e y son condicionalmenteindependientes dado los padres dex o los padres dey, entonces lo son dado unsubconjunto de padres dex o de padres dey que contiene sólo los vértices que seencuentran en un camino no dirigido entrex ey. Por tanto, es suficiente con realizarlos tests de independencia condicionados a subconjuntos de variables adyacentes axy subconjuntos de variables adyacentes ay que están en caminos no dirigidos entrex e y. Esta idea se encuentra en [127] con una versión del algoritmo denominadaPC∗. En cualquier caso, el número de caminos posibles entre dos nodos es lo sufi-cientemente grande como para que, por requerimientos de memoria, este algoritmosólo tenga una aplicación práctica con un conjunto pequeño de variables. Cuandoel número de variables es grande se deberá utilizar el algoritmo PC.

En el primer punto del segundo paso del algoritmo, se selecciona un par devariables y un subconjuntoSpara determinar una relación de independencia en elmodelo. La búsqueda que realiza será más rápida si se seleccionan en primer lugaraquellas variables con más probabilidad de ser condicionalmente independientesdadoS. Este problema se puede abordar utilizando distintas heurísticas de búsqueda:

H1 Comprobar los pares de variables y subconjuntosSen orden lexicográfico.

H2 Comprobar primero aquellos pares de variables que sean menos dependientes.Los subconjuntosSse seleccionan en orden lexicográfico.

H3 Para una variable determinadax, comprobar primero aquellas variablesyque son probabilísticamente menos dependientes conx, condicionando so-bre aquellos subconjuntos que son probabilísticamente más dependientes conx.

En [127] podemos encontrar una descripción del comportamiento de estas tresheurísticas ante un conjunto de ejemplos.

1.3.2 Algoritmos basados en optimización de una medida

En esta sección realizaremos un repaso de algunos algoritmos de aprendizaje queutilizan algún criterio de bondad en el ajuste como base para recuperar la red. Elproblema se puede enfocar en cómo podemos construir, a partir de datos, un grafodirigido acíclico que, con el menor número de arcos, sea una buena representaciónde la base de datos.

Los algoritmos que se enmarcan en esta clase incorporan, implícita o explícita-mente, los siguientes tres elementos:

• Una medida de calidadf que nos permite seleccionar la mejor estructura entreun conjunto de ellas.

Page 48: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

26 Redes de Creencia, Algoritmos de Aprendizaje y Redes de Creencia Dinámicas

• Una heurística de búsqueda para seleccionar, de entre todo el conjunto deposibles estructuras un subconjunto “bueno” de ellas, ya que es bien cono-cido que el espacio de búsqueda de los grafos dirigidos acíclicos es super-exponencial [29, 121].

• Un método para obtener la información cuantitativa (distribuciones de proba-bilidad) de la estructura resultante.

1.3.2.1 Medidas de Calidad de una Red de Creencia

Una medida de calidadf (G : D,φ), es un criterio mediante el cual podemos ordenarde alguna forma el conjunto de redes de creencia posibles, dondeG es un red decreencia,φ es una información a priori2, y D es un conjunto de datos. Por ello,dada la información a priori y/o un conjunto de datosD, el objetivo perseguido esobtener una red de creencia de alta calidad. Una medida de calidad debe satisfacerciertas propiedades deseables. Por ejemplo, sería deseable que una media de calidadf asignara la misma medida a dos redesG1 y G2 que fuesen isomorfas, esto es,representaran el mismo modelo de dependencias. Otras propiedades deseables parauna medidaf serían:

• A redes recomendadas por los expertos se les debe asignar calidades más altasque a las rechazadas por ellos.

• Las representaciones perfectas (Perfect-Map) deben recibir calidades mayo-res que las que no lo son.

• Los I-Map minimales deber recibir calidades mayores que los no minimales.

• Las redes de reducido número de parámetros a igualdad de condiciones debenrecibir mayor medida de calidad.

• Las redes que confirmen la información contenida en los datosD deben obte-ner una mayor medida de calidad que las que los contradigan.

Para ampliar conocimientos sobre este tema y otras propiedades se puede con-sultar [19, 20, 21, 75, 66, 23, 25, 24].

Las medidas de calidad, en nuestro caso, deben manejar la incertidumbre en dosparámetros, esto es, la estructura de la red de creencia y los parámetros asociados aésta. En este caso se puede disponer de la información a prioriφ y el conjunto dedatosD, y el objetivo es encontrar la mejor red de creencia usando alguna medidade calidadf (G : D,φ). En este caso hemos de notar que enG tenemos representadotanto la estructura gráfica como el conjunto de parámetros de la red. Si estamos

2es habitual obviar este término en la funciónf ya que normalmente se especifica esta información apriori, de esta forma es normal encontrarnos la función comof (G : D)

Page 49: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

1.3. Algoritmos de Aprendizaje 27

interesados solamente en el aprendizaje estructural, entonces hemos de maximizaresta medida con respecto a sus parámetros.

Algunas medidas de calidad se definen como la suma de tres componentes [27]:f = p(información a priori)+g(datos disponibles)+h(complejidad), donde las ante-riores funciones son conocidas. El significado de estas funciones son los siguientes:

• La funciónp asigna una probabilidad alta a las redes que han sido indicadascomo altamente probables por la información a priori y una probabilidad bajaa las que han sido indicadas como poco probables, este término se va haciendodespreciable conforme el conjunto de datos del que disponemos aumenta. Sino hay conocimiento previo este término se sustituye por cero lo que equivalea que se supone que la distribución de probabilidad asignada es la uniforme.

• La funcióng es un término de bondad en el ajuste que mide lo bien o mal queuna red de creencia reproduce los datos disponiblesD. Da una medida alta alas redes que estén de acuerdo con los datos y baja a las que los contradicen.Normalmente la contribución de este término aumenta conforme aumentanel número de arcos que introducimos en la red. En este caso se tiene másparámetros o grados de libertad y, normalmente, se puede obtener un mejorajuste a los datos. Las elecciones típicas para este término son las siguientes:

– La log-verosimilitud, esto es, el logaritmo de la función verosimilitudde los datos con respecto a la red: logP(D|G(θ )), dondeθ representa elconjunto de parámetros de la red.

– El logaritmo de la probabilidad a posteriori de los parámetrosθ dada laestructuraG y los datosD: logP(θ |G,D).

• La función complejidadhpenaliza aquellas redes con una estructura compleja(en parámetros o en arcos). Por esto, este término favorece a redes simplescon un número reducido de arcos y parámetros.

Para medir la complejidad de una red es necesario conocer su dimensión ynormalmente se define como el número de parámetros necesarios para espe-cificar su distribución conjunta.

En la literatura especializada existente se han propuesto varias medidas de cali-dad para redes de creencia. Estas las podemos clasificar en los tipos siguientes:

• Medidas Bayesianas

• Medidas de Mínima Longitud de Descripción (MDL)

• Medidas de Información

Estos tres tipos de medidas de calidad se discuten en las secciones siguientes.

Page 50: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

28 Redes de Creencia, Algoritmos de Aprendizaje y Redes de Creencia Dinámicas

1.3.2.2 Medidas Bayesianas

Las medidas de calidad Bayesianas se basan en la estadística Bayesiana (teoremade Bayes y las familias conjugadas en particular). En definitiva sería calcular laprobabilidad a posteriori:

P(G|D) =P(D|G)P(G)

P(D)(1.9)

La idea básica de estas medidas Bayesianas consiste en asignar a toda red unamedida que es una función de su probabilidad a posteriori (ver [66, 31]).

Medida de Cooper-Herskovits K2. Cooper y Herskovits [31] proponen la medi-da siguiente:

f (G : D) = logP(G)+n

∑i=1

[si

∑k=1

[log

Γ(ri)

Γ(Nik + r i)+

r i

∑j=1

logΓ(Ni jk +1)

]](1.10)

dondeNi jk es la frecuencia de las configuraciones encontradas en los datosD delas variablesxi , donden es el número de variables, tomando suj-ésimo valor y suspadres enG, πG(xi), tomando suk-ésima configuración, dondesi es el número deconfiguraciones posibles del conjunto de padres yr i es el número de valores quepuede tomar la variablexi . Nik = ∑r i

j=1Ni jk . DondeΓ() es la distribución Gamma;

en el caso discretoΓ(n) = (n−1)!.

Medida de Geiger y Heckerman BDe. Geiger y Heckerman [66] proponen lasiguiente medida:

f (G : D) = logP(G)+n

∑i=1

[si

∑k=1

[log

Γ(ηik)

Γ(Nik +ηik)+

r i

∑j=1

logΓ(Ni jk +ηi jk)

Γ(ηi jk)

]]

(1.11)dondeηi jk son hiperparámetros yη ik = ∑r i

j=1ηi jk . Existen diferentes formas de

calcular estos hiperparámetros, bajo ciertas condiciones, a partir de un parámetroηque puede interpretarse como el “tamaño muestral equivalente”. Un caso particulares cuandoηi jk = 1, en este caso esta medida coincide con la anterior (K2). Otrocaso particular es cuandoη i jk = η/(r i ·si), en este caso se le suele denominar BDeu(uniforme).

1.3.2.3 Medidas de Mínima Longitud de Descripción

En las medidas Bayesianas es necesario especificar la información a priori. Estainformación no tiene porque ser conocida y es por ello que en la mayoría de las

Page 51: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

1.3. Algoritmos de Aprendizaje 29

situaciones se suponga uniforme (desconocimiento absoluto, máxima entropía). Lasmedidas de mínima longitud de descripción [94, 131, 120] son una forma alternativade establecer una métrica basada en conceptos de la teoría de la codificación, endonde la codificación se basa en reducir lo más posible el número de elementosnecesarios para representar un mensaje atendiendo a su probabilidad de ocurrencia,esto es, los mensajes más frecuentes tienen códigos cortos y los mensajes menosfrecuentes tendrán códigos largos. El principio de mínima longitud de descripciónselecciona la codificación de conduce a una mínima longitud en la codificación delos mensajes.

En el caso de redes de creencia, la longitud de descripción incluye: La longitudrequerida para almacenar los parámetrosθ de la red. Es conocido que la longitudmedia necesaria para almacenar un número en el rango 0 aN es 1/2logN. Poresta razón, para almacenar los parámetros de la función de probabilidad conjunta,se necesita una longitud de 1/2C(G) logN, dondeN es el tamaño de la muestra yC(G) es la complejidad de la redG definida como:

C(G) =n

∑i=1

(ri−1)si (1.12)

es decir, el número de parámetros libres asociados a la función de probabilidad con-junta, siempre que almacenemos éstas como tablas de probabilidad; esta funciónpuede verse modificada si utilizamos otras representaciones como árboles de proba-bilidad [59, 26].

Por otra parte hemos de considerar la longitud del conjunto de datosD codifi-cados usando la distribución de probabilidad asociada aG, que en caso de redes decreencia discretas resulta ser:

n

∑i=1

r i

∑j=1

si

∑k=1

Ni jk logNi jk

Nik(1.13)

Entonces la medida quedaría de la siguiente forma:

f (G : D) =n

∑i=1

r i

∑j=1

si

∑k=1

Ni jk logNi jk

Nik−1/2C(G) logN (1.14)

1.3.2.4 Medidas de Información

Otra forma de medir la calidad de una red de creencia es mediante las medidas de in-formación. Estas medidas están muy relacionadas con las anteriores. La idea básicaconsiste en seleccionar la estructura de red que mejor se ajusta a los datos, pena-lizada por el número de parámetros necesarios para especificar su correspondientefunción de probabilidad conjunta. Esto conduce a una generalización de la medidade la ecuación 1.14:

Page 52: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

30 Redes de Creencia, Algoritmos de Aprendizaje y Redes de Creencia Dinámicas

f (G : D) =n

∑i=1

r i

∑j=1

si

∑k=1

Ni jk logNi jk

Nik−C(G) f (N) (1.15)

donde f (N) es una función de penalización no negativa. Si esta funciónf (N) =

1, tendremos la medida del criterio de información de Akaike (AIC), sif (N) =

logN/2, entonces tendremos la medida del criterio de información de Schwarz(BIC) dando lugar a la misma medida de la ecuación 1.14 y sif (N) = 0, tendre-mos una medida (Bayesiana) del criterio de máxima verosimilitud.

Otras medidas de información bastante utilizadas están basadas en la medida deentropía cruzada de Kullback-Leibler [92], por ejemplo en el trabajo [30] utilizanesta medida para recuperar árboles. Posteriormente en el trabajo [118] generalizanel anterior algoritmo para recuperar poliárboles. Otros algoritmos que se puedenconsiderar como generalización del anterior son [3, 65]. Otro trabajo en donde seutiliza una medida de entropía es [79].

1.3.2.5 Algoritmos de Búsqueda

El problema del aprendizaje se podría plantear de la siguiente forma: Tenemos unabase de datos de casosD = {v1, . . . ,vm}, dondevi es un caso de la base de da-tos. Asumimos que tenemos definida una función de medida para un grafo dirigidoacíclico dados los datos de la base de datos de casosf (G : D). SeaGn la familiade todos los grafos dirigidos acíclicosG con n nodos. Entonces el problema quequeremos resolver será:

Encontrar G∗ = arg maxG∈Gnf (G : D) (1.16)

Una propiedad deseable paraf y muy importante para el problema del aprendi-zaje es que la métrica sea descomponible en presencia de datos completos, esto es,la métricaf puede ser descompuesta del siguiente modo:

f (G : D) =n

∑i=1

f (xi ,πG(xi) : Nxi ,πG(xi )) (1.17)

dondeNxi ,πG(xi)son los estadísticos (frecuencias) del valor de la variablexi y el

conjunto de sus padres enG, πG(xi), enD, esto es, el número de instancias enD queconcuerdan con cada posible configuración dex i y πG(xi) (en adelante omitiremosel términoNxi ,πG(xi)

) . Esta propiedad es muy importante para el aprendizaje de

redes de creencia: Un procedimiento local que cambia un solo arco para definir suvecindad, puede eficientemente evaluar el valor de la funciónf para cada uno delos vecinos deG. Estos procedimientos puede hacer uso intensivo de los cálculosrealizados en etapas anteriores.

Page 53: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

1.3. Algoritmos de Aprendizaje 31

Es bien conocido (ver [29]) que el problema de aprendizaje de redes de creenciaes no polinomial (NP-duro), es por ello que se ha planteado como un problema deoptimización combinatoria en donde se han aplicado diferentes técnicas heurísticasde búsqueda, como pueden ser métodos locales [23, 31, 21, 60]...; Algoritmos deoptimización global [97, 98, 42, 105]...

A continuación vamos a detallar dos de los algoritmos más conocidos en la li-teratura y sobre los que nos basaremos en gran medida a lo largo de esta memoria.Estos dos algoritmos utilizan como método de búsqueda una ascensión de colinas,heurística greedy. Estos dos algoritmos son el algoritmo K2 y el algoritmo B.

El algoritmo K2 fue propuesto por Cooper y Herskovits en [31] y fue una exten-sión de otro algoritmo propuesto por ellos mismos en [79]. Este algoritmo (figura1.4) comienza por la red vacía de enlaces y supone que tenemos un orden causalestablecido entre los nodos de la red. Para cada variablex i , el algoritmo añade asu conjunto de padresπ(xi), el nodo, menor quexi en el orden, que conduce a unmáximo incremento en la medida utilizadaf . El proceso se repite hasta que, o bienno se incremente el valor de la medida, o se llegue a una cotau en el número de pa-dres. En [9] se presenta una evaluación de este algoritmo de aprendizaje utilizandoconjuntos de datos simulados.

Algoritmo K2

1. Para i= 1 hasta n hacer:

(a) πi = /0 ; OK = True.

(b) Pold = f (xi ,πi).

(c) Mientras OK y|πi |< u hacer:

i. Sea z el nodo en el conjunto de predecesores de xi que no pertene-cen aπi , que maximiza a f(xi ,πi ∪{z}).

ii. Pnew= f (xi ,πi ∪{z}).

iii. Si Pnew> Pold Entonces{Pold = Pnew;πi ∪{z}}. En caso contrarioOK = f alse.

(d) Los padres del nodo xi sonπi.

Figura 1.4: Algoritmo K2

El algoritmo B (figura 1.5) fue propuesto por Buntine en [23]. El algoritmocomienza con conjuntos de padres vacíos como el algoritmo K2. En cada etapa

Page 54: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

32 Redes de Creencia, Algoritmos de Aprendizaje y Redes de Creencia Dinámicas

Algoritmo B

1. Etapa de Inicialización:

(a) Para i= 1 hasta n hacer:π(xi) = /0

(b) Para i= 1 y j = 1 hasta n hacer:Si (i 6= j) Entonces A[i, j] = f (xi ,x j)− f (xi , /0)

2. Etapa Iterativa:

(a) Repetir hasta que(A[i, j]≤ 0 ó A[i, j] =−∞ ∀i, j).

i. Seleccionar un par de índices(i, j) = max i, j A[i, j]

ii. Si (A[i, j] > 0) Entoncesπ(xi) = π(xi)∪{x j}

iii. Para xa ∈ Ancestros(xi) y xb ∈Descendientes(xi)∪{xi} hacer:A[a,b] =−∞.

iv. A[i, j] =−∞v. Para k= 1 hasta n hacer:

Si (A[i,k] > −∞) Entonces A[i,k] = f (xi ,π(xi) ∪ {xk}) −

f (xi ,π(xi))

Figura 1.5: Algoritmo B

Page 55: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

1.3. Algoritmos de Aprendizaje 33

se añade una nueva arista que no de lugar a ciclos dirigidos y que maximice elincremento de la medidaf utilizada. El proceso se repite hasta que no se consigueincrementar más la medida utilizada o se obtiene una red completa.

1.3.3 Un algoritmo Híbrido basado en conjuntos mínimos d-se-paradores. BENEDICT.

BENEDICT [5], acrónimo compuesto por las palabras BElief NEtworks DIscoveryusing Cut-set Techniques, es una metodología híbrida para el aprendizaje de redesde creencia: utiliza una métrica específica y un método de búsqueda, pero tambiénemplea explícitamente las relaciones de independencia condicional representadas enla red para definir la métrica, y utiliza tests de independencia para limitar el procesode búsqueda.

La idea básica de los algoritmos de este tipo es cuantificar la discrepancia entrecualquier red candidata y la base de datos, midiendo para ello las discrepancias entrelas independencias condicionales representadas en la red (a través del concepto ded-separación, separación direccional o independencia gráfica [111]) con las corres-pondientes independencias condicionales que puedan deducirse de la base de datos.La agregación de todas estas discrepancias será la métrica que utilicen los algorit-mos. En cuanto al proceso de búsqueda, BENEDICT emplea una técnica greedy:inicialmente se parte de un grafo completamente inconexo, y en cada iteración seprueba a insertar cada uno de los arcos posibles, eligiendo aquél que produce unamayor disminución de la discrepancia, e incluyéndolo en el grafo de forma perma-nente. Se continua con este proceso hasta que finalmente se satisface una condiciónde parada.

La versión de BENEDICT que comentaremos aquí determina la estructura de lared bajo la suposición de que se dispone de una ordenación total de las variables(como sucede con otros algoritmos de aprendizaje [31, 79, 134]).

Puesto que la idea básica del algoritmo es medir las discrepancias entre las in-dependencias condicionales representadas en cualquier red candidata y aquéllas quereflejan los datos, lo primero que hay que plantear es qué independencias representauna red. Esta cuestión tiene, en principio, una respuesta muy clara: todas las re-laciones de independencia que pueden deducirse del grafo mediante el criterio ded-separación. Sin embargo, el número de asertos de d-separación representados enun grafo puede ser muy alto (crece exponencialmente con el tamaño del mismo), ypor razones de eficiencia y fiabilidad interesa excluir gran parte de ellos y utilizarsólo un subconjunto “representativo” de todas las d-separaciones presentes. Una op-ción muy razonable se basa en utilizar el hecho de que en un grafo dirigido acíclicoG, cualquier nodox j que no sea un descendiente dexi está d-separado dexi medianteel conjunto de padres dexi en el grafo. Por tanto, se puede emplear como conjuntode independencias el formado por las sentencias de la formaI(x i ,x j |πG(xi)), para

Page 56: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

34 Redes de Creencia, Algoritmos de Aprendizaje y Redes de Creencia Dinámicas

cada par de variables no adyacentesxi y x j ; se supone quex j < xi en el orden dado.Sin embargo también importa el número de variables implicadas en esas inde-

pendencias: cada uno de los asertos de independencia extraídos del grafo ha de sercontrastado con los datos mediante una medida de discrepancia,Dep. Así pues,interesa reducir lo más posible el tamaño de los conjuntos d-separadores: dados dosnodosxi y x j , tal quex j < xi , en lugar de utilizar el conjuntoπG(xi), BENEDICTusa un conjunto de tamaño mínimo que consiga d-separarx i dex j . Encontrar esteconjunto supondrá un esfuerzo adicional, pero se verá compensado con un decreci-miento en la computación de la medida de discrepancia; también se obtendrán unosresultados más fiables, ya que se necesitan menos datos para estimar fiablementeuna medida de orden menor.

Por tanto, dada una red candidataG, las relaciones de independencia cuya dis-crepancia con los datos se va a calcular son:I(xi ,x j |Sd(xi ,x j)G), para cualquier parde nodos no adyacentesxi ,x j enG, tal quex j < xi , dondeSd(xi ,x j)G es el mínimoconjunto d-separador dexi y x j . El método empleado para encontrar los conjun-tos Sd(xi ,x j)G está basado en una modificación del conocido algoritmo de Ford-Fulkerson para problemas de máximo flujo en redes [4]. En el algoritmo BENE-DICT, el cálculo de los conjuntos d-separadores mínimos se lleva a cabo mediantela funciónMínimo-Corte.

En cuanto a la forma de medir la discrepancia entre cualquier sentencia gráficade independencia condicional representada en el grafo y los datos, se emplea laentropía cruzada de Kullback-Leibler [92], que mide el grado de dependencia entrex ey dado que conocemos el valor dez:

Dep(x,y|z) = ∑x,y,z

P(x,y,z) logP(x,y|z)

P(x|z)P(y|z)(1.18)

dondeP representa la distribución de probabilidad estimada a partir de la basede datos. Esta medida toma el valor 0 cuandox e y son realmente independientesdadoz, y es tanto mayor cuanto más dependientes entre sí sonx e y dadoz.

En lo que se refiere a la medida de discrepancia global entre el grafoG y la basede datosD, f (G : D), que emplea el algoritmo para puntuar los méritos relativos decada red candidata seleccionada por el proceso de búsqueda, se define de la siguientemanera:

f (G : D) = ∑xj <xi ,xj 6∈πG(xi)

Dep(xi ,x j |Sd(xi ,x j)G)

El algoritmo BENEDICT se describe en la figura 1.6.En la descripción del algoritmo anterior no se ha especificado la forma concreta

en que se detiene el proceso de aprendizaje. Se utilizan tests de independencia parair eliminando arcos del conjunto de arcos candidatos, y detener el proceso de formanatural cuando dicho conjunto llegue a ser vacío [7] (se eliminan arcos candidatos

Page 57: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

1.3. Algoritmos de Aprendizaje 35

Algoritmo BENEDICT

1. Comenzar con un grafo G sin arcos (G= /0)

2. Se fija L= {x j → xi |x j < xi}; f = 0

3. Para cada par de nodos xs < xt hacer f= f +Dep(xt ,xs| /0)

4. min= f

5. Hasta detenerse hacer

(a) Para cada enlace xj → xk ∈ L hacer

i. G′ = G∪{x j → xk}; f = 0

ii. Para cada nodo xt hacer

Para cada nodo xs < xt tal que xs 6∈ πG′(xt) hacer

SG′(xt ,xs) = Minimo-Corte(xt ,xs)

f = f +Dep(xt ,xs|Sd(xt ,xs)G′)

iii. Si f < min entonces

min= fx = xk; y = x j

(b) G= G∪{y→ x}

(c) L = L\{y→ x}

Figura 1.6: El algoritmo BENEDICT.

Page 58: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

36 Redes de Creencia, Algoritmos de Aprendizaje y Redes de Creencia Dinámicas

bien porque se insertan en la estructura o bien porque sus nodos extremos se hallanindependientes). También se realiza un proceso final de poda de arcos (similar a losmétodos de poda empleados habitualmente para árboles de clasificación): una vezterminado el proceso de inserción de arcos, se procede a una revisión de cada unode ellos: se prueba a eliminarlos uno a uno, empleando también para ello un test deindependencia.

1.4 Redes de Creencia Dinámicas

1.4.1 Introducción

La mayoría de las investigaciones en razonamiento probabilístico se han centrado enla construcción y uso de modelos fundamentalmente estáticos, en los cuales las rela-ciones temporales entre las variables del modelo son fijas e invariantes en el tiempo.Las predicciones o cálculos de las probabilidades a posteriori dado un conjunto deobservaciones no varían con el tiempo. En estos modelos estáticos se tiene solo encuenta las observaciones actuales para predecir el estado del sistema sin posibilidadde tener en cuenta la historia de la evolución temporal de las observaciones en elsistema.

Aunque algunos problemas dinámicos se pueden resolver con modelos estáti-cos, parece más razonable considerar en el modelo resultante la evolución temporaldel sistema, con los medios necesarios para poder actualizar las relaciones que de-pendan del tiempo. En comparación con los modelos estáticos, una consideracióntemporal en el modelo enriquecería el mismo con la información de la tendenciatemporal del sistema así como con métodos para poder actualizar el modelo en res-puesta a las observaciones de la historia del proceso evolutivo del sistema.

Ejemplo 1.1 Vamos a suponer que tenemos la red de creencia descrita en la figura1.7 para monitorizar el proceso de siembra y recolección del trigo.

En dicha red tenemos la información necesaria para poder obtener median-te algoritmos de inferencia, [100, 84], de manera eficiente P(CPS|T,ES,SNV) oP(F |T,ES,SNV), etc. Hemos de notar, sin embargo, que estas distribuciones deprobabilidad a posteriori son válidas solo para un periodo de tiempo determinado,por ejemplo una semana, ya que claramente existen variables en el sistema que de-penden del tiempo. Por otra parte, en un proceso dinámico han de tenerse en cuentano solo las evidencias que tenemos en el actual instante de tiempo, sino también lallegada de nueva evidencia para un proceso de razonamiento.

En primer lugar, como hemos comentado, parece razonable que un modelo grá-fico dinámico pueda tener en cuenta las observaciones históricas, sin embargo exis-te otra razón por la que es recomendable ampliar el modelo de la red de creencia.

Page 59: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

1.4. Redes de Creencia Dinámicas 37

Actividad de Fotosintesis

C. Hoja Verde C. Hoja afectada porel Moho

Cantidad de Enegia Solar

FungicidaSuperfice Neta de

Hoja verdePrecipitaciones

Microclima Temperatura

Cantidad de ProduccionSeca

P

M

T

AF

F

CHMCHV

SNV

CPS

ES

Figura 1.7: Red de creencia para un sistema de producción de trigo.

Si observamos de nuevo la estructura de la red de la figura 1.7, parece lógico es-tablecer la siguiente relación: La cantidad de hoja afectada por el moho es causadirecta para la superficie neta de hoja verde y ésta a su vez influye directamente enel microclima, pero de nuevo éste influiría de manera directa en la cantidad de hojaafectada por el moho. Este tipo de relaciones no se pueden representar directamen-te en una red de creencia ya que se establecería un bucle dirigido no permitido.

Por estas razones ha de plantearse la utilización de un modelo gráfico que per-mita representar sin ningún problema las situaciones que hemos planteado y reali-zar procesos de razonamiento válidos.

Se han desarrollado extensiones de las redes de creencia para tratar de formaexplícita el tiempo dando lugar a las redes de creencia dinámicas, que caracterizanla evolución temporal del sistema mediante un modelo de evolución que estable-ce las dependencias temporales entre las variables del sistema en cuestión. Paranuestro ejemplo, una modelización temporal del sistema de producción podría pa-recerse al de la figura 1.8. Con este modelo desde el instante de tiempo t= 0 hastat = n−1, es decir, desde el inicio del proceso dinámico hasta el final del mismo, nospermitiría resolver las cuestiones que planteábamos en un principio, estas son, te-ner en cuenta la evolución histórica de las observaciones y por otra parte establecerrelaciones temporales entre las variables de una manera explícita.

Page 60: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

38 Redes de Creencia, Algoritmos de Aprendizaje y Redes de Creencia Dinámicas

Actividad de Fotosintesis

C. Hoja Verde C. Hoja afectada porel Moho

Cantidad de Enegia Solar

FungicidaSuperfice Neta de

Hoja verdePrecipitaciones

Microclima Temperatura

Cantidad de ProduccionSeca

P

T

AF

F

CHMCHV

SNV

CPS

ES

tk

Actividad de Fotosintesis

C. Hoja Verde C. Hoja afectada porel Moho

Cantidad de Enegia Solar

FungicidaSuperfice Neta de

Hoja verdePrecipitaciones

Microclima Temperatura

Cantidad de ProduccionSeca

P

M

T

AF

F

CHMCHV

SNV

CPS

ES

tk+1

M

Figura 1.8: Red de creencia dinámica para un sistema de producción de trigo.

Page 61: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

1.4. Redes de Creencia Dinámicas 39

Se han desarrollado modelos dinámicos para el razonamiento temporal probabi-lístico, tales modelos pueden ser aplicados a un gran campo de aplicaciones comola predicción, control, planificación, problemas de simulación, etc.

Los investigadores en el campo de la estadística han desarrollado numerosos mé-todos para razonar sobre las relaciones temporales entre las variables que describenun modelo. Este campo, generalmente conocido comoanálisis de series tempo-rales, consiste en una colección de muestras de un proceso evolutivo estocástico,es decir, un conjunto de observaciones que se realizan secuencialmente conformeevoluciona el tiempo. Se han obtenido buenos métodos para modelar y resolvereste tipo de problemas cuando las relaciones temporales que se describen no soncomplejas y son lineales. Solo recientemente se han unido de alguna forma es-te último campo y el del estudio de la representación del conocimiento inciertomediante redes de creencia, dando lugar al modelo de red de creencia dinámica[15, 50, 70, 89, 102, 107, 115, 114, 116, 32, 33].

En general, en un modelo dinámico, consideraremos un conjunto de variablesaleatoriasX(k), que describen el estado del sistema en el instante de tiempo dis-creto, t = k, como por ejemplo la variable temperatura del ejemplo anterior. Enestos modelos nos interesan conocer las creencias relacionadas con un mundo cam-biante. Si tenemos la evolución histórica de una determinada observación desdet = 0, . . . ,t = k, incluido éste, tendremos una serie de observaciones para un con-junto de variablesO en cada periodo de tiempot, esto es,O(0), . . . ,O(k). El primerproblema que se nos puede plantear solucionar será el de calcular la creencia delestado del sistema en el instante de tiempot = k, en base a la evidencia acumuladahastat = k. En términos de probabilidad será calcular la expresión:

P(X(k)|O(0), . . . ,O(k))

Calcular la expresión anterior de manera directa puede ser bastante complejo,así que podemos simplificar bastante su cálculo si consideramos que el problemaes de tipo markoviano, esto es, la distribución del estado actual depende exclusiva-mente del estado anterior y del conjunto de observaciones actuales. En términos deprobabilidad esto quiere decir que:

P(X(k)|X(0), . . . ,X(k−1),O(0), . . . ,O(k)) = P(X(k)|X(k−1),O(k))

A este tipo de modelos dinámicos markovianos se les denomina en la literaturaestadísticaModelos Dinámicos Markovianos Parcialmente Observables, MDMPO,modelos que se caracterizan por tener un conjunto de observaciones en cada instantede tiempo. En estos modelos el conjunto de observaciones ent = k solo dependedel estado actual del sistema, es decir deX(k), en términos de probabilidad:

P(O(k)|X(0), . . . ,X(k),O(0), . . . ,O(k−1)) = P(O(k)|X(k))

Page 62: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

40 Redes de Creencia, Algoritmos de Aprendizaje y Redes de Creencia Dinámicas

Fijémonos en que parece razonable pensar que el conjunto de observaciones ent = k nos ayude a estimar el estado actual del proceso dinámico junto con el estadoprevio del sistema. Las expresiones que hemos visto nos llevan de una maneranatural a definir un modelo gráfico que establezca las relaciones comentadas.

Estado Estado Estadott tk-1 k k+1

Observacion t Observacion t Observacion tk-1 k k+1

MODELO DE EVOLUCION DEL ESTADO

MODELO SENSORIAL

Figura 1.9: Modelo Gráfico para un MDMPO.

En la figura 1.9, el modelo de evolución del estado corresponde al modelo detransición entre estados del sistema, en términos de probabilidad se correspondecon la distribuciónP(X(k)|X(k− 1)) y el modelo sensorial se corresponderá a ladistribuciónP(O(k)|X(k)).

El conjunto de expresiones que hemos visto hasta ahora nos permite simplifi-car de manera significativa el cálculo correspondiente a la estimación del estadoactual del sistemaP(X(k)). El cálculo se puede realizar en dos fases: (a) Fase depredicción y (b) Fase de estimación. Estas dos fases son una generalización de lastécnicas bien conocidas en el análisis de series temporales con el nombre defiltrosde Kalman(Kalman filters). Estas técnicas se aplican universalmente en proble-mas de monitorización y control de todo tipo de sistemas dinámicos, desde plantasquímicas hasta proyectiles dirigidos.

El cálculo deP(X(k)) se podrá realizar de la siguiente forma:

• Fase de Predicción: Primero, se predice la distribución de probabilidad enaquellos estados que habríamos esperado, con base al conocimiento que dis-ponemos acerca del estado anterior:

P(X(k)) = ∑X(k−1)

P(X(k)|X(k−1))P(X(k−1))

• Fase de Estimación: Tenemos ahora una distribución que se extiende a travésde las variables de estado actuales, basada en todo menos en las observacionesrecientes. La fase de estimación actualiza lo anterior a través de la observa-ción en el instantet = k:

P(X(k)|O(k)) = αP(O(k)|X(k))P(X(k))

Page 63: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

1.4. Redes de Creencia Dinámicas 41

en dondeα es una constante de normalización.

1.4.2 Conceptos básicos. Definición formal del modelo

En este punto del trabajo vamos a estudiar y definir de una manera formal cómo sepuede representar la evolución temporal del estado de un sistema dinámico medianteredes de creencia. Para ello vamos a seguir la notación y el modelo desarrollado porKærulff en el trabajo [88].

Formalmente una Red de Creencia Dinámica (RCD) extiende la representaciónde una red de creencia para modelar procesos temporales. Asumiremos que loscambios de estado ocurren entre periodos de tiempo discretos, los cuales van a serindexados por enteros no negativos. Asíxi(k) ∈ V(k) representará el estado de lavariablexi en el periodo de tiempot = k, yV(k) representará el conjunto de variablesaleatorias en el periodo de tiempot = k. También asumiremos que hay un númerofinito de periodos de tiempon, esto es, el índicek tomará sus valores en un rangofinito [0,(n−1)].

De esta forma una RCD puede ser definida comoG = (V,E) un grafo dirigidoacíclico que describe la estructura del modelo dinámico. Sit = 0 es el primer mo-delo de la red, entoncesV lo forman los subconjuntos disjuntos,V(0), ...,V(n−1).Es decir,

V = V(0,(n−1)) =n−1⋃

t=0

V(t)

Al conjunto de arcos dirigidos

Etmp(k) = {xi(k−h)→ x j(k)} ⊂ E

donde, 0< k≤ n−1 y 0< h≤ k, se le denominanarcos temporaleso relacionestemporalesen el periodo de tiempot = k, los cuales definen el modelo de transicióndel sistema dinámico.

De esta forma el conjunto de arcosE enG puede ser definido como:

E = E(0,(n−1)) = E(0)∪n−1⋃

t=1

E∗(t),

dondeE(t) ⊆ V(t)×V(t) y E∗(t) = E(t)∪Etmp(t). De esta forma, la estructuragráfica del modelo en el periodo de tiempot será:G(t) = (V(t),E(t)).

Para representar las creencias sobre las posibles trayectorias del proceso diná-mico, necesitamos especificar una distribución de probabilidad sobre el conjuntode variablesV(0),V(1), . . . ,V(n−1). Esta distribución puede ser extremadamente

Page 64: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

42 Redes de Creencia, Algoritmos de Aprendizaje y Redes de Creencia Dinámicas

compleja, así que es muy usual asumir que el proceso dinámico que estamos re-presentando esmarkoviano. En términos de probabilidad esto último quiere decirque:

P(V(k)|V(0), . . . ,V(k−1)) = P(V(k)|V(k−1))

es decir, el futuro es condicionalmente independiente del pasado dado el presente.Formalmente, y en términos de relaciones de independencia condicional lo podemosnotar como:

I({V(0), ...,V(k−1)},{V(k+1), ...,V(n−1)}|V(k))

parak > 0 y n> 0. Esto implicará que el conjunto de relaciones temporalesE tmp(k)contendrá solo arcos entre periodos consecutivos de tiempo. También es usual asu-mir que el proceso dinámico que queremos modelar esestacionario, esto quie-re decir queP(V(k)|V(k− 1)) es independiente del índicek. Las consideracio-nes previas dan lugar a que en cada nodox i(k) tengamos almacenadas las dis-tribuciones de probabilidad condicionalesP(xi(k)|πk(xi(k)) ∪ πk−1(xi(k))) dondeπk(xi) = {π(xi)∩V(k)}, es decir, el conjunto de padres dexi restringido al periodode tiempok. Estas distribuciones de probabilidad condicional serán las mismas entodos los periodos de tiempo. Esto, además, implicará que las estructurasG(t) seantambién las mismas en todos los periodos de tiempo (Figura 1.10).

G(0) G(1) G(n-1)

G(0,1)

Figura 1.10: Red de Creencia Dinámica. Los arcos temporales aparecen como

curvas. G(0,1) representa la unión de los dos primeros periodos de

tiempo.

Definiremos ahora la estructura gráfica resultante de la unión de dos periodos detiempo consecutivos comoG(k,k+ 1) = (V(k,k+ 1),E(k,k+ 1)), dondeV(k,k+

1) = V(k)∪V(k+1) y E(k,k+1) = E(k)∪E(k+1)∪Etmp(k+1).

Page 65: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

1.4. Redes de Creencia Dinámicas 43

Anteriormente hemos definido el conjunto de padres de un nodox i restringido aun periodo de tiempok. De igual forma se podrá definir el conjunto de hijos de unnodoxi restringido a un periodo de tiempok.

En definitiva, una RCD se puede considerar como un grafo dirigido acíclico, endonde un conjunto de variables se repiten en el tiempo y el conjunto de arcos estácompuesto por los arcos temporales que interconectan periodos de tiempo conse-cutivos y arcos no temporales que interconectan las variables en el mismo periodode tiempo. Esta estructura gráfica representa una distribución de probabilidad con-junta sobre todas las posibles trayectorias del sistema dinámico, el cual consistebásicamente en dos partes:

• Una red inicialG(0) que especifica una distribución sobre el estado inicial delproceso temporal.

• Un modelo de transición definido sobreG(k,k+1), que especifica las proba-bilidades de transición entre estados del proceso temporal.

1.4.3 Aprendizaje de redes de creencia dinámicas

Existen muy pocos trabajos en la literatura especializada en aprendizaje de redes decreencia que traten el aprendizaje estructural de redes de creencia dinámicas ([47]).Existen bastantes más trabajos ([22, 90]) para el aprendizaje paramétrico en estetipo de estructuras dinámicas.

Friedman y col [61] desarrollan una extensión de una métrica Bayesiana (BDeecuación 1.11) y una medida de información (BIC ecuación 1.14) para tratar conmodelos dinámicos markovianos y estacionarios. Posteriormente tratan el apren-dizaje del modelo como un problema de optimización de la misma manera que elaprendizaje de una red de creencia estática (usaremos esta denominación en contra-posición a las redes de creencia dinámicas) restringido al grafo compuesto por dosperiodos de tiempo consecutivosG(k,k+ 1). Para este caso sólo es necesario res-tringir la búsqueda de forma adecuada en el proceso de optimización, de tal formaque los enlaces temporales sólo tengan una posible orientación (orden temporal), yque si encontramos una relación no temporal entre dos variables del mismo periodode tiempoxi(k)→ xj(k), ésta se replique en el periodo de tiempo siguientet = k+1.

Para estos casos debemos asumir que tenemos definida una base de datos decasos independientes:

D = {v(0)1, . . . ,v(0)m,v(1)1, . . . ,v(1)m, . . . ,v(n−1)1, . . . ,v(n−1)m}

dem casos, dondev(k)i representa una instanciación de las variables deV(k) en elcasoi-ésimo de la base de datosD. A partir de estos casosD y teniendo definida unamétrica f (G : D), dondeG representa una red de creencia dinámica, el problema

Page 66: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

44 Redes de Creencia, Algoritmos de Aprendizaje y Redes de Creencia Dinámicas

del aprendizaje se puede formular del mismo modo que el aprendizaje de redesde creencia estáticas. Friedman y col [61] demuestran que si tenemos un sistemadinámico markoviano y estacionario entonces nos podemos centrar en el aprendizajede dos periodos de tiempo consecutivost = k y t = k+ 1, esto es, restringirnos aaprender el grafoG(k,k+ 1). Una vez estimado este modelo, podemos replicar elmismo para el resto de periodos de tiempo.

Teniendo en cuenta el anterior planteamiento, podemos decir que cuanto máseficaz y eficiente sea un método de aprendizaje (basado en métricas) de redes decreencia estáticas, normalmente, más eficaz y eficiente será este método para elaprendizaje de redes de creencia dinámicas. Es por ello que en los dos siguientescapítulos desarrollaremos métodos generales de aprendizaje de redes de creenciaestáticas.

Por otra parte, existen una gran cantidad de redes de creencia dinámicas en apli-caciones reales ([57, 61, 138, 87]) en donde hemos podido observar que el númerode relaciones no temporales entre variables del mismo periodo de tiempo es muyescaso, incluso es bastante habitual que no exista ninguna relación de este tipo. Espor ello, que estas relaciones puedan ser conocidas y fijadas a priori (bien por unexperto, bien por algún algoritmo de aprendizaje restringido aG(0)). En este ca-so, podemos centrarnos en aprender las relaciones temporales a partir de los datosD supuesto que tenemos conocidas las relaciones no temporales. En el capítulo 4nos centraremos en el estudio de esta última cuestión y desarrollaremos métodos deaprendizaje específicos para el aprendizaje de relaciones temporales.

Page 67: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

Capítulo 2

Métodos de BúsquedaLocal para el Aprendizajede Redes de Creencia

2.1 Introducción

Muchos autores, [21, 76, 23, 31, 7],... han utilizado métodos de búsqueda local enel aprendizaje de redes de creencia basado en optimización de alguna métrica. Estosmétodos se han mostrado eficientes en este tipo de problemas, obteniéndose buenassoluciones en general. Quizás los métodos locales más representativos de este tipode búsquedas sean los métodos de ascensión de colinas (hill-climbing) en sus di-ferentes versiones, deterministas o estocásticas. El método clásico de ascensión decolinas se queda bloqueado en el primer máximo local encontrado, es por esto quese han planteado soluciones para escapar de estos máximos locales; uno de los mé-todos más empleado quizás para evitar este tipo de situaciones, sea la ascensión decolinas con reinicios aleatorios. En general, este método perturba de forma drásticauna solución encontrada al problema para empezar de nuevo una ascensión de coli-nas con esta nueva solución perturbada, con la esperanza de encontrar una soluciónque mejore la actual.

La mayoría de las aplicaciones de este tipo de búsquedas al problema de la bús-queda de la red de creencia que mejor explica una base de datos de casos, se basanen el espacio de búsqueda de los grafos dirigidos acíclicos. Los operadores localesclásicos de transformación de un grafo hacia sus vecinos son los de inversión de unarco existente en el grafo, borrado de un arco existente y añadido de un arco nuevoal grafo, todo ello evitando formar ciclos dirigidos. El espacio de búsqueda de los

45

Page 68: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

46 Métodos Locales de Búsqueda

grafos dirigidos acíclicos es enorme y es por ello que se han planteado esquemasde búsqueda específicos para las redes de creencia, esto es, no tratando el grafo di-rigido en sí sino una representación de las clases de equivalencia que estos grafosrepresentan, y a partir de ello realizar transformaciones para movernos en el espaciode las clases de equivalencia que es mucho menor que el anterior [28, 6].

El éxito relativo de los esquemas de búsqueda local con reinicio aleatorio, hahecho que nos planteemos en este capítulo un algoritmo basado en los principiosdel anterior esquema, pero realizando un reinicio más fundamentado desde el puntode vista teórico que el anterior caso. Por otra parte, recientemente ha aparecidoun nuevo esquema de búsqueda local basado también en el anterior esquema, perorealizando reinicios sistemáticos en vecindades cada vez de orden superior si labúsqueda actual no ha tenido éxito. Esta metaheurística se denominaBúsqueda enEntorno Variabley nosotros estudiaremos su adaptación a nuestro problema y sucomportamiento en su resolución.

Otros autores [97, 60, 42, 43, 49, 8]... han realizado estudios de esquemas debúsqueda no en el espacio de grafos dirigidos acíclicos sino en el espacio de órdenescompatibles con una red de creencia. En general, estos autores demuestran que elespacio de órdenes es mucho más “suave” que el espacio de búsqueda sobre grafosdirigidos acíclicos, esto quiere decir que es un espacio en donde no se presentancomportamientos muy diferentes para vecinos próximos, cosa que sí ocurre en elespacio de grafos dirigidos acíclicos. Además, el espacio de órdenes es tambiénmucho menor que el espacio de grafos dirigidos acíclicos. Si bien esto último esventajoso, también hemos de notar que evaluar un orden a través de las métricashabituales de redes necesita el paso intermedio de aprender una red compatible conel orden dado que mejor se adapte a nuestros datos y por consiguiente será muchomás costoso que realizarlo directamente sobre la estructura modificada localmente.Por consiguiente, esta evaluación habrá que realizarla de forma eficiente mediantealguna heurística. En este capítulo también nos dedicaremos a estudiar métodoslocales de búsqueda en el espacio de órdenes.

Este capítulo se estructura como sigue: En primer lugar revisaremos la Me-taheurísticaBúsqueda en Entorno Variableasí como sus posibles extensiones. Se-guidamente estudiaremos dos algoritmos de búsqueda local en el espacio de grafosdirigidos acíclicos con múltiples reinicios, el primero se basará en tests de inde-pendencia condicional y el segundo será una aplicación de la búsqueda en entornovariable al problema del aprendizaje de redes de creencia. A continuación veremoscómo realizar una búsqueda local en el espacio de órdenes entre las variables, dondeestudiaremos cómo evaluar una secuencia de ordenación, un método de ascensiónde colinas en el espacio de búsqueda de órdenes, su aplicación en el esquema de bús-queda en entorno variable y finalmente cómo obtener una buena ordenación inicialpara comenzar la búsqueda en los anteriores métodos.

Page 69: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

2.2. Búsqueda en Entorno Variable 47

2.2 Búsqueda en Entorno Variable

En esta sección del capítulo vamos a revisar las reglas básicas del método de bús-queda en entorno variable (VNS, Variable Neighborhood Search) y alguna de susextensiones para resolver problemas de optimización [104, 71]. Este método, engeneral, se puede encuadrar en los métodos de ascensión de colinas con múltiplesreinicios. La novedad de esta metaheurística es la forma de realizar estos reiniciosde las búsquedas posteriores.

Es conocido que el método de ascensión de colinas clásico queda bloqueadoen el primer máximo local que se encuentre. Este no es el caso de otros métodosestudiados en la literatura, que proveen formas, deterministas o estocásticas, paraescapar de estos óptimos locales. Uno de estos métodos de reciente aparición es labúsqueda local en entorno variable (VNS). Este método es bastante atractivo desdeel punto de vista de la eficiencia además de ser bastante sencillo e intuitivo, y pre-senta una forma sistemática y razonable de realizar reinicios para posteriormenterealizar una nueva ascensión de colinas clásica.

Este método se basa en el principio de búsqueda sistemática en entornos cadavez mayores de vecindad durante el proceso de búsqueda. En este método existeun paso intermedio basado en una ascensión de colinas clásica. Para realizar unabúsqueda en entorno variable, en primer lugar se debe definir un conjunto finito ypreseleccionado de estructuras de vecindad denotadas comoN k(k = 1, . . . ,kmax).Nk(x) será el conjunto de soluciones en lak−ésima vecindad dex (una ascensiónde colinas clásica toma comokmax= 1). Por ejemplo, si una soluciónx contienelatributos, un vecino dex en la vecindadk-ésima podría estar formado a partir dekintercambios entre losl atributos. El VNS básico consistirá en los siguientes pasos:

1. Inicialización: Seleccionar el conjunto de estructuras de vecindadN k, (k =

1, . . . ,kmax), que utilizaremos durante la búsqueda; Seleccionar algún puntode partidax como inicio de la búsqueda; Seleccionar un criterio de parada.

2. Repetir los siguientes pasos hasta la condición de parada.

(a) k = 1, Hasta quek = kmax, repetir los siguientes pasos.

i. Generar un vecinox′ aleatorio a partir deNk(x) (x′ ∈Nk(x)).

ii. Aplicar una búsqueda local conx′ de punto de partida hasta alcan-zar un máximo localx′′.

iii. Si este máximo localx′′ es mejor que el inicialx, entonces mo-vernos a este máximo y fijarlox = x′′ y continuar la búsqueda conk = 1; en otro casok = k+1.

La condición de parada puede ser seleccionada en base a: (a) Máximo tiempode ejecución; (b) Máximo número de iteraciones del bucle externo; (c) Máximonúmero de iteraciones entre dos mejoras de la solución actual; etc.

Page 70: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

48 Métodos Locales de Búsqueda

Hemos de notar que la soluciónx′ de la que partimos se genera de forma alea-toria con el objetivo de evitar ciclos que pudieran ocurrir si se eligiera de formadeterminista. Será frecuente necesitar varias soluciones generadas de esta forma envecindades sucesivas para poder escapar de estos máximos locales obtenidos por elpaso de búsqueda local aplicada.

La idea de este esquema de búsqueda es la siguiente: Cuando estamos en unmáximo local alcanzado mediante una búsqueda local con mínima vecindad, enton-ces saltamos a un vecino aleatorio inmediatamente de orden superior y de nuevorealizamos una búsqueda local con mínima vecindad partiendo desde este vecinoaleatorio. Si mejoramos el máximo obtenido, entonces de nuevo buscamos con unavecindad de mínimo orden y si no mejoramos nos movemos a una vecindad de or-den superior. La filosofía subyacente de este esquema es que si nos encontramos enun máximo (que puede estar cerca del óptimo) no distanciarnos demasiado (solo lojusto y cada vez más) de este máximo para seguir optimizando con la esperanza deque el óptimo quede cerca del anterior, es decir, aprovechar de una manera óptima lainformación que aporta un buen óptimo local de nuestro problema. En general, estapremisa se cumpliría en aquellos espacios de búsqueda en donde la función objetivoque intentamos maximizar (minimizar) es cuasi convexa, esto es, no existen vallesalejados unos de otros en mucha distancia en nuestro espacio de búsqueda.

Una vez que tenemos un método apropiado al problema para realizar un búsque-da local, hemos de notar que es muy fácil implementar el resto de pasos del esquemaVNS. Por ejemplo, siNk se obtiene mediantek-intercambios de los atributos de unasoluciónx, solo necesitaríamos añadir unas pocas líneas de código a un método debúsqueda local.

Teniendo en cuenta que un óptimo local dentro de una vecindad, en el esquemabásico del VNS un óptimo local encontrado en la vecindadN 1, no es necesariamen-te un óptimo dentro de otra vecindadNk, se podrían realizar cambios de vecindaddentro de la fase de búsqueda local. Esta búsqueda local se denomina VND (Varia-ble Neighborhood Descent) y sus pasos son los siguientes:

1. Inicialización: Seleccionar el conjunto de estructuras de vecindadN k, (k =

1, . . . ,kmax) que utilizamos durante la búsqueda; Seleccionar algún punto departidax como inicio de la búsqueda; Seleccionar un criterio de parada.

2. Repetir los siguientes pasos hasta que no se produzca ninguna mejora.

(a) k = 1, Hasta quek = kmax, repetir los siguientes pasos.

i. Buscar el mejor vecinox′ a partir deNk(x) (x′ ∈Nk(x)).

ii. Si este máximo localx′ es mejor que el inicialx, entonces movernosa este máximo y fijarlox = x′; en otro casok = k+1.

Page 71: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

2.2. Búsqueda en Entorno Variable 49

El VNS básico es un método siempre ascendente (descendente), en el sentido deque no permitimos nunca un movimiento a una solución peor que el actual óptimoconseguido, salvo obviamente en los nuevos reinicios en la vecindad correspon-diente. Sin mucho esfuerzo adicional, se podría transformar el esquema básico delVNS en un método ascendente-descendente si por ejemplo, permitimos aceptar unasoluciónx′′ con alguna probabilidad incluso si la solución es peor que el óptimo ac-tual. Por supuesto esta versión está basada en el esquema del enfriamiento simulado(simulated annealing).

Otras versiones del esquema básico podrían ser:

• Buscar la soluciónx′ como la mejor de entreh aleatoriamente generadas apartir de la estructura de vecindadNk.

• Introducir dos parámetroskmin y kstepque controlen de alguna forma el movi-miento entre vecindades. Esto significa que en lugar de fijark = 1 y k = k+1fijemosk = kmin y k = k+ kstep respectivamente. Estos parámetros guían laintensificación y diversificación en la búsqueda.

• Eliminar directamente la búsqueda local intermedia. Esta variante denomi-nada VNS reducido, podría ser beneficiosa en problemas muy complejos endonde la búsqueda local fuese muy costosa. Este esquema está muy relacio-nado con los métodos de Monte-Carlo, pero en un modo más sistemático enla generación de soluciones.

Cuando utilizamos más de una estructura de vecindad en nuestra búsqueda, co-mo en el caso del VNS, deberíamos plantearnos las siguientes cuestiones:

• ¿Qué estructuras de vecindad y cuántas de ellas deberían ser utilizadas?

• ¿Cuál debería ser el orden en la búsqueda?

• ¿Qué estrategia debería utilizarse en el cambio entre vecindades?

Además de esto último debemos decidir qué método de búsqueda local deberíaser utilizado en el paso apropiado del esquema VNS.

2.2.1 Otras extensiones

Algunos estudios sobre la distribución de los óptimos locales, para una variedadde problemas de optimización combinatoria, muestran que a menudo estos óptimoslocales se encuentran concentrados en unos pocos “valles” de gran dimensión y ensus partes más altas (bajas). En otras palabras, hay una o muy pocas regiones enel espacio de búsqueda cuasi-convexas con algún ruido donde se concentran losóptimos locales. El esquema básico VNS, en principio, es más eficiente para buscar

Page 72: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

50 Métodos Locales de Búsqueda

óptimos en una de estas regiones (la primera que se explora), pero perdería eficaciaen la búsqueda en otras regiones posiblemente con mejor óptimo local. Por otraparte, la información contenida en el mejor óptimo encontrado se va diluyendo ensu importancia conforme nos vamos alejando en las estructuras de vecindad, así elesquema básico del VNS tenderá a degenerar en un esquema con reinicio aleatoriosi kmax es demasiado grande.

Una extensión del VNS para intentar alcanzar otros “valles” a partir del actualóptimo local es la siguiente: En el esquema del VNS básico una soluciónx ′ ∈Nk(x)es utilizada para reiniciar una búsqueda local, obteniéndose de nuevo un óptimo lo-cal x′′. Si la mejora obtenida por la soluciónx′′ no es lo suficientemente buena conrespecto ax, esto es,f (x′′)− (+) f (x), dependiendo si estamos maximizando o mi-nimizando, es una cantidad pequeña y además los atributos de las solucionesx ′′ y xse parecen demasiado, esto es, la distancia entrex′′ y x es también pequeña, enton-ces podemos utilizar una corrección proporcional a la distancia entre las solucionesx y x′′ y al valor de la función enx y al valor de la función enx ′′ en en el últimopaso del esquema VNS, para relocalizar la búsqueda y de esta forma forzar a buscaren zonas más alejadas del óptimo local (y del “valle” al que pertenece). El esquemamodificado es el siguiente:

1. Inicialización: Seleccionar el conjunto de estructuras de vecindadN k, (k =

1, . . . ,kmax) que utilizamos durante la búsqueda; Seleccionar algún punto departidax como inicio de la búsqueda y su valorf (x); Fijar xopt = x y fopt =

f (x); Seleccionar un criterio de parada.

2. Repetir los siguientes pasos hasta que la condición de parada se cumpla.

(a) k = 1, Hasta quek = kmax, repetir los siguientes pasos.

i. Generar un vecinox′ aleatorio a partir deNk(x) (x′ ∈Nk(x)).

ii. Aplicar una búsqueda local conx′ de punto de partida hasta alcan-zar un máximo localx′′.

iii. Si f (x′′) < (>) fopt entonces fijarfopt = f (x′′) y xopt = x′′.

iv. Si f (x′′)+ (−)αρ(x,x′′) < (>) f (x) entonces fijarx = x′′ y k = 1;En otro casok = k+1.

Para este esquema habrá que definir una constanteα de proporcionalidad y unafunción de distancia entre solucionesρ , como por ejemplo número de atributos dis-tintos entre dos solucionesx y x′. En esta extensión del VNS básico lo que se preten-de fundamentalmente es que si la mejora que obtenemos no es lo suficientemente“buena” con respecto al óptimo actual, entonces seguir explorando en vecindadesmás alejadas a este óptimo para poder así explorar otras regiones del espacio debúsqueda.

Page 73: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

2.3. Métodos de Búsqueda Local en el espacio de Grafos Dirigidos Acíclicos 51

Otra segunda extensión al esquema básico del VNS va orientada a agilizar demanera notable el paso de búsqueda local, pretendiendo preservar la informacióncontenida en el óptimo alcanzado. Esta extensión del VNS realiza una búsquedalocal sólo en los atributos de la soluciónx que han sido cambiados en la etapacorrespondiente. Para una solución dadax, generamos una soluciónx ′ de formaaleatoria en la vecindadNk, a partir de esta soluciónx′ en lugar de realizar unabúsqueda local en el espacio de búsqueda completo, la realizamos en el espacio debúsqueda de las variables fijadas de forma aleatoria. Los demás pasos del esquemabásico del VNS permanecen inalterados. Los pasos de esta otra extensión son lossiguientes:

1. Inicialización: Seleccionar el conjunto de estructuras de vecindadN k, (k =

1, . . . ,kmax) que utilizamos durante la búsqueda; Seleccionar algún punto departidax como inicio de la búsqueda; Seleccionar un criterio de parada.

2. Repetir los siguientes pasos hasta que la condición de parada se cumpla.

(a) k = 1, Hasta quek = kmax, repetir los siguientes pasos.

i. Generar un vecinox′ aleatorio a partir deNk(x). (x′ ∈Nk(x)). Seay = (x′ \x).

ii. Aplicar una búsqueda local en el espacio de búsqueda definido pory conx′ de punto de partida hasta alcanzar un máximo localy ′. Seax′′ = (x′ \y)∪y′.

iii. Si este máximo localx′′ es mejor que el inicialx, entonces mo-vernos a este máximo y fijarlox = x′′ y continuar la búsqueda conk = 1; en otro casok = k+1.

2.3 Métodos de Búsqueda Local en el espacio de Gra-fos Dirigidos Acíclicos

En esta sección nos vamos a dedicar al estudio de algoritmos de búsqueda local enel espacio de los grafos dirigidos acíclicos, en adelante GDAs. Estos métodos sonen general eficientes y en cierta medida eficaces, porque son capaces de encontrarbuenas soluciones. Por este motivo nos hemos decidido a estudiar este tipo de al-goritmos y proponer métodos basados en este tipo de estrategias. El problema delaprendizaje se podría plantear de la siguiente forma: Tenemos una base de datos decasosD = {v1, . . . ,vm}, dondevi es un caso de la base de datos. Asumimos quetenemos definida una función de medida para un grafo dirigido acíclico dados losdatos de la base de datos de casosf (G : D). SeaGn la familia de todos los grafosdirigidos acíclicosG con n nodos. Entonces el problema que queremos resolverserá:

Page 74: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

52 Métodos Locales de Búsqueda

Encontrar G∗ = arg maxG∈Gnf (G : D) (2.1)

Una de las razones por las que los métodos de búsqueda local en el espaciode GDAs son eficientes es por la propiedad de descomposición que habitualmentepresentan las métricas que se pretenden optimizar, como hemos destacado en elcapítulo anterior.

Si en un método de ascensión de colinas con reinicios aleatorios el número detransformaciones aleatorias realizadas es grande, como ocurre habitualmente, la ta-sa de reutilización de los cálculos previamente realizados será pobre, además de quela ascensión de la colina actual será mucho más costosa, y es también muy probableque la red resultante de esta perturbación aleatoria sea bastante compleja (en el sen-tido de que el número de padres medio por variable sea elevado, e incluso que algúnnodo tenga un número muy elevado de padres, con lo que los estadísticos nuevos arecalcular serán bastante complejos). Por el contrario si el número de transforma-ciones realizadas es bajo, se corre el riesgo de que no salgamos del máximo actual,es por esto que este número de transformaciones sea un parámetro de difícil ajuste.

Por estas razones, estudiaremos un algoritmo que intenta reiniciar una búsquedalocal cuando ésta queda atrapada en un óptimo local, de una manera no totalmen-te aleatoria, sino intentando buscar un punto nuevo de inicio guiado por los datosque disponemos para el aprendizaje de redes, esto es, aprovechando nuestro conoci-miento específico sobre redes de creencia para reiniciar la búsqueda con una buenasolución.

En segundo lugar, estudiaremos la adaptación de la metaheurística de búsquedaen entorno variable para el aprendizaje de redes de creencia en el espacio de grafosdirigidos acíclicos.

2.3.1 Un Algoritmo de Búsqueda Local híbrido con Reinicio ba-sado en Tests de Independencia Condicional y ConjuntosMínimos D-separadores

En esta subsección nos vamos a plantear el realizar una transformación en el reiniciode la ascensión no tan aleatoria y con una fundamentación teórica que nos permitaobtener un punto de inicio de la ascensión razonable y probablemente cercano alóptimo (quizás no en tanto a la medida utilizada pero sí en cuanto a la estructuragráfica obtenida). Acid y Campos [4] estudian cómo se puede obtener de una mane-ra eficiente en un grafo dirigido acíclico un subconjunto mínimo que d-separe dosnodos dados de una red de creencia; también hemos visto los conceptos de I-map eI-map minimal. Éstos serán los ingredientes esenciales del algoritmo que estudiare-mos a continuación. Se puede demostrar de forma directa, a partir de la definiciónde I-map, la siguiente proposición.

Page 75: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

2.3. Métodos de Búsqueda Local en el espacio de Grafos Dirigidos Acíclicos 53

Proposición 2.1 Dado un grafo dirigido acíclico G que es un I-map de una distri-bución de probabilidad conjunta P, entonces para toda pareja de variables xi y xj

no adyacentes en G, se verifica I(xi ,x j |Sd(xi ,x j)G), siendo Sd(xi ,x j )G un conjuntomínimo d-separador de xi y xj en G.

Esta proposición será la base fundamental de la transformación que llevaremosa cabo de un máximo local obtenido por la ascensión de colinas realizada en unaetapa de nuestro algoritmo. Nuestra idea es comprobar si el grafo dirigido acícli-co obtenido como máximo local es un I-map, para ello realizaremos todos los testsde independencia condicional con el conjunto mínimo d-separador, y si encontra-mos que alguna pareja de variables no son condicionalmente independientes dadoel conjunto mínimo d-separador, entonces el grafo no será un I-map, con lo quetendríamos una razón para seguir buscando otros máximos locales. La pregunta quese plantea ahora es por cuál región de nuestro espacio de búsqueda seguir el proce-so. El método que proponemos es el siguiente: Si durante la comprobación de unapareja de variables no adyacentes en el grafo (máximo local) encontramos que noson independientes, esto es,¬I(xi ,x j |Sd(xi ,x j)G), entonces de alguna forma esta-mos habilitados (no de forma segura) para poner un arco entre ellos, evitando ciclosdirigidos. Por otra parte, y del mismo modo, si tenemos dos variables adyacentes enel grafo (máximo local), suponemos por un instante que realmente no son adyacen-tes y realizamos el testI(xi ,x j |Sd(xi ,x j)G\{xi−x j}

) y éste resulta positivo, entonces

de nuevo de alguna forma estamos habilitados (no de forma segura) para borrar estearco.

Siguiendo el esquema planteado previamente de transformación del grafo máxi-mo actual, se puede notar que la introducción de un nuevo arco o el borrado de unarco existente puede influir en los tests posteriores que realicemos, es por ello queel orden en que efectuemos la comprobación de estos tests puede influir en la trans-formación final del grafo máximo actual. Por otra parte, es necesario realizar todoslos posibles tests de independencia condicional (O(n2)), esto es, una vez realizadoel testI(xi ,x j |Sd(xi ,x j)G), es necesario realizar el test inversoI(x j ,xi |Sd(x j ,xi)G).Esto es así porque al realizar el segundo test puede que la red haya cambiado conrespecto a la situación en el primero de los tests. Por otra parte, es necesario rea-lizar las modificaciones del grafo máximo actual conforme el algoritmo planteadoprogresa, porque puede suceder que los arcos que se van introduciendo en el gra-fo influyan en los tests posteriores. Aclaremos estas cuestiones con el siguienteejemplo.

Ejemplo 2.1 Suponemos que la red objetivo que queremos aprender es x1→ x2→

x3 y que nuestro grafo máximo local es el vacío; suponemos también que el ordende comprobación es el orden lexicográfico de las variables. Entonces procedería-mos como sigue: realizaríamos el test I(x1,x2| /0), que resultaría negativo, entonces

Page 76: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

54 Métodos Locales de Búsqueda

x1

x2

x3

Solucion FinalG Solucion InicialG0

x1

x2

x3

G2

¬I(x1,x3| /0)

x1

x2

x3

G3

x1

x2

x3

¬I(x2,x3|x1)

G4

x1

x2

x3

G5

I(x3,x1|x2)¬I(x3,x2| /0)

x1

x2

x3

G6, Solucion Final.

¬I(x1,x2| /0)

¬I(x2,x1| /0)

x3

x1

x2

G1

x3

x2

x1

Figura 2.1: Ejemplo de Transformación del Algoritmo IMAPR.

pondríamos un arco entre ambos nodos, por ejemplo x1→ x2; a continuación reali-zaríamos el test I(x1,x3| /0), que también resultaría negativo, con lo que pondríamosun arco entre los nodos comprobados, por ejemplo x1→ x3. Posteriormente se rea-lizaría el test I(x2,x1| /0), que resultaría negativo, con lo que mantendría el arcoentre ambos nodos. En la siguiente fase se realizaría el test I(x2,x3|x1) que de nue-vo resultará negativo, con lo que pondría el arco x2→ x3. En la posterior etapase lleva a efecto el test I(x3,x1|x2) que en este caso es positivo, por consiguienteborraríamos el arco x1→ x3; y por último realizamos el test I(x3,x2| /0), que resul-taría negativo y por tanto dejaríamos dicho arco, obteniendo en este caso la redque buscamos. Ver figura 2.1 para seguir el ejemplo gráficamente. Si el orden decomprobación fuese x3x1x2, entonces obtendríamos un grafo completo, que tambiénes un I-map del modelo original, aunque con un número mayor de arcos.

En el anterior ejemplo se puede observar lo que hemos dicho previamente, esmuy importante el orden de comprobación de los nodos y es necesario realizar todoslos tests posibles. También hemos podido observar mediante el ejemplo que no sóloel orden de comprobación es un parámetro libre en el esquema, sino que también es

Page 77: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

2.3. Métodos de Búsqueda Local en el espacio de Grafos Dirigidos Acíclicos 55

libre la elección de la orientación del arco que nuestro esquema decide añadir en elgrafo. Por tanto, son dos parámetros que podemos elegir aleatoriamente para que elesquema de transformación no desemboque en un ciclo, situación que se podría darsi lo hiciésemos de forma determinista.

Una vez planteado el esquema de transformación que seguiremos del grafo re-sultante de una ascensión de colinas clásica en el espacio de GDAs, concretaremosestos conceptos en un algoritmo que denominaremosIMAPR (I-map Restart) y quepodemos observar en la figura 2.2.

Algoritmo IMAPR

1. Inicialización: Elegimos una solución inicial G.

2. Repetir hasta alcanzar un número de iteraciones.

(a) Realizar una ascensión de colinas clásica en el espacio de estructuraspartiendo del grafo G, hasta obtener un máximo local G′. Hacer G:=G′.

(b) Elegir una secuencia de ordenación entre las variables de forma alea-toria.

(c) Repetir hasta realizar todos los tests de independencia condicional.

i. Seleccionar xi y xj siguiendo el orden establecido. Calcular el sub-conjunto Sd(xi ,x j)G borrando el arco previamente caso de que exis-ta un arco entre las variables seleccionadas.

ii. Si ¬I(xi ,x j |Sd(xi ,x j)G) y no existía un arco entre ambas variables,poner un arco entre ambas variables en G con dirección aleatoria,pero evitando formar ciclos dirigidos.

iii. Si I (xi ,x j |Sd(xi ,x j)G) y existía un arco entre ambas variables, bo-rrar este arco de G; en caso contrario, restablecer dicho arco.

Figura 2.2: Algoritmo IMAPR

Los tests de independencia condicional se realizan, normalmente, utilizando untest de hipótesis basado en la distribuciónχ 2 [93, 92]. Para ello es necesario fijar unnivel de confianza, en nuestro caso se han fijado dos niveles de confianza distintos,dependiendo de si existe el arco en la estructura comprobada o no: si existe el arcohemos fijado un nivel de confianza elevado, 0.99; de esta forma estamos exigiendoque los datos confirmen de manera sólida la posible dependencia condicional encon-

Page 78: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

56 Métodos Locales de Búsqueda

trada (y facilitando la eliminación del arco en caso contrario). Por otra parte, si noexiste el arco, entonces hemos elegido un nivel de confianza más bajo, 0.75; de estaforma somos menos exigentes con el test realizado, posibilitando la incorporacióndel arco comprobado. En ambos casos la idea es que se favorezca la modificaciónde la estructura actual, siempre y cuando dicha modificación no se contradiga deforma clara con los datos disponibles.

2.3.2 Búsqueda en Entorno Variable en el espacio de Grafos Di-rigidos Acíclicos

En esta subsección nos proponemos aplicar la metaheurística VNS, descrita pre-viamente, al problema del aprendizaje tal como lo hemos planteado al inicio de lasección. Para ello hemos de concretar las cuestiones que se plantean para poderaplicar a un determinado problema la citada metaheurística. Aplicaremos un VNSespecíficamente diseñado para buscar en el espacio de GDAs. Para realizar esto,necesitamos definir las estructuras de vecindadNk. En este caso, tenemos las si-guientes transformaciones sobreG: borradode un arco,añadidode un arco entredos nodos no adyacentes, einversiónde un arco (evitando ciclos dirigidos). Se po-dría haber elegido algún otro tipo de transformaciones, aunque éstas últimas son lastransformaciones clásicas en los métodos de búsqueda local basados en el espaciode GDAs. Una transformación, que pensamos puede dar buenos resultados, pensa-da específicamente para redes de creencia, puede ser la inversión de un arco en lacual los extremos de este arco tuviesen padres comunes y el borrado posterior deestos arcos entre los padres comunes y los extremos del arco invertido. Pensamosque será útil porque una gran cantidad de métricas habituales, sobre todo las “score-equivalentes”, utilizadas en el aprendizaje de redes de creencia tienden a cruzar lospadres de dos nodos extremos si hemos equivocado la dirección entre ambos, estoes, tienden de forma natural a realizar la operación de inversión de arcos en unared de creencia. Estas familias así formadas habitualmente tienen una buena medi-da y suelen caer en un óptimo local difícil de superar, por tanto con este operadorde transformación lo que se pretende es intentar salir de estas situaciones, aunquese corre el riesgo de que después de esta transformación las familias de los nodosinvolucrados no mejoren transitoriamente la medida empleada y por tanto no se es-cogiese nunca realizar este tipo de transformación. Es por ello que pensamos queeste tipo de transformación sería más útil en un esquema ascendente/descendente debúsqueda, esto es, métodos que eventualmente permitieran un empeoramiento delóptimo alcanzado. Lo que sí podremos hacer en el esquema VNS es que en el pasode generación aleatoria en un determinada vecindad elijamos con cierta probabilidadla inversión y borrado de padres comunes como otro operador de transformación delgrafo óptimo actual. Veamos lo argumentado anteriormente en el siguiente ejemplo.

Page 79: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

2.3. Métodos de Búsqueda Local en el espacio de Grafos Dirigidos Acíclicos 57

Ejemplo 2.2 Hemos construido la red de creencia de la figura 2.3(a) con cuatrovariables y hemos generado mediante muestreo lógico probabilístico una base dedatos de 1000 casos que sigue la probabilidad conjunta expresada en esta red.Podemos observar en la figura 2.3(a) la medida K2(log) para esta base de datosgenerada y la estructura de la red. Si en un proceso de búsqueda llegamos a laestructura de la red de la figura 2.3(b)1, podemos observar que su medida no distamucho de la anterior. En la figura 2.3(c) podemos ver que la medida empeoratransitoriamente al realizar el esquema de transformación planteado en el párrafoanterior y es peor también que las posibles transformaciones (mejores) clásicasexpresadas en las figuras 2.3(d)(e)(f). Sin embargo, si observamos la figura 2.3(h),podemos ver que introduciendo el arco entre las variables x1 y x3 la medida K2(log)

se acerca mucho a la de la red real 2.3(a).Por otra parte podemos observar en las figuras 2.3(d)(e)(f) que a partir de la

figura 2.3(b) al aplicar las posibles transformaciones clásicas (mejores) no mejo-ramos la medida y por consiguiente entraríamos en un máximo local.

Para la aplicación del VNS a nuestro problema, las estructuras de vecindad es-tarán definidas por la cardinalidad de la diferencia simétrica entre los conjuntos dearcos para dos grafosG = (V,E) y G′ = (V,E′):

ρ(G,G′) = |(E\E′)∪ (E′ \E)| (2.2)

es decir,ρ(G,G′) = k, si hay exactamentek arcos que pertenecen aG y no aG′ oviceversa. Entonces

G′ ∈Nk(G)⇐⇒ ρ(G,G′)≤ k (2.3)

El método de búsqueda elegido para el paso intermedio del VNS es la ascensiónde colinas clásica en el espacio de GDAs, es decir, en cada paso de este método,aplicaremos la operación (borrado, añadido o inversión) que maximice la funciónf (G : D), hasta que se alcance un óptimo local. A este algoritmo lo denominaremosHCST (Hill-Climbing for STructure).

La estrategia de búsqueda entre vecindades que vamos a usar es la empleadaen el esquema del VNS básico (k = 1 y en cada iteraciónk = k+ 1) y también lasegunda variante descrita anteriormente (k = kmin y en cada iteraciónk = k+kstep).Como criterio de parada del algoritmo, usaremos el número máximo de iteraciones

1situación que se puede dar frecuentemente, porque imaginemos por un instante que la relación másfuerte entre las variables conforme a los datos es la de las variablesx2 y x3 y partimos de la red vacíade enlaces, entonces una métrica “score-equivalente” no podría distinguir entre ambas orientaciones ypodría elegir la orientación incorrecta. Posteriormente, normalmente, el proceso continuaría hasta cruzarlos padres de ambas variables.

Page 80: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

58 Métodos Locales de Búsqueda

K2(log) =−1056 K2(log) =−1063

K2(log) =−1063 K2(log) =−1099 K2(log) =−1071

K2(log) =−1125 K2(log) =−1058

(a) (b) (c)

(d) (e)

(g) (h)

x0

x2

x1

x3

x0

x2

x1

x3

K2(log) =−1126

x0

x2

x1

x3

x0

x2

x1

x3

x0 x1

x2 x3

x0 x1

x2 x3

x0

x2

x1

x3

x0 x1

x2 x3

(f)

Figura 2.3: Medidas K2(log) para las estructuras del ejemplo anterior.

Page 81: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

2.4. Métodos de Búsqueda Local en el espacio de Órdenes 59

entre dos mejoras del máximo actual, junto con un número máximo de iteracionestotales. Comokmax (el cual es un parámetro libre) en principio se puede utilizar elnúmero de variables,n. El Algoritmo, que denominaremos VNSST, se puede seguiren la figura 2.4.

Algoritmo VNSST

1. Inicialización: Fijamos la estructura de vecindades definidas por la ecuación2.3. Fijamos kmax, kmin y kstep. Elegimos una solución inicial dada G. Fijamosnúmero máximo de iteraciones, It.

2. Ejecutamos el algoritmo HCST con esta solución. Fijar Gmax.

3. n= 1.

4. Repetir hasta alcanzar la condición de parada.(n> It ó dos iteraciones sin mejoras).

(a) k= kmin y n= n+1.

(b) Repetir hasta que k= kmax

i. Generar de forma aleatoria una G′ de vecindad k(G′ ∈Nk(Gmax)).

ii. Aplicar el algoritmo HCST con G′ como punto de inicio, dandolugar a otro óptimo local G′′.

iii. Si f (G′′ : D) es mejor que f(Gmax : D), entonces; Gmax = G′′ yk = kmin; en otro caso k= k+kstep.

Figura 2.4: Algoritmo VNSST

2.4 Métodos de Búsqueda Local en el espacio de Ór-denes

En esta sección nos dedicaremos a estudiar y proponer métodos de aprendizaje deredes de creencia basados en la búsqueda local de la red máxima a posteriori dadoslos datosD, pero en lugar de realizarlo en el espacio de grafos dirigidos acíclicoslo realizaremos en el espacio de órdenes entre las variables. Para un grafoG, dadoun orden causalσ , esto es, si existe un arco entre dos variablesx i → x j , entoncesxi <σ x j , entoncesxi es condicionalmente independiente del resto de variables que la

Page 82: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

60 Métodos Locales de Búsqueda

preceden en el orden dados sus padresπG(xi), para todoxi . De esta forma podemosconstruir una red de creencia de una forma sistemática: Para cadax i , los padres dexi en un GDA son el conjunto mínimo de predecesores dex i (en el ordenσ ) el cualhacexi condicionalmente independiente del resto de predecesores.

Sin embargo, diferentes órdenes pueden producir diferentes redes. Entonces seprefieren aquellas redes que son capaces de representar cuantas más relaciones deindependencia mejor. Por esta razón tiene sentido buscar un buen orden causal entrelas variables.

Nuestro espacio de búsqueda en este caso será el conjunto den! órdenes,σ ,entre las variables del sistema (esto es, el conjunto de todas las permutaciones den elementos). Este espacio de búsqueda, [60], es mucho menor que el espacio degrafos dirigidos acíclicos,n! frente a [121]:

f (n) =n

∑i=1

(−1)i+1(

ni

)2i(n−i) f (n− i) dondef (0) = 1 y f (1) = 1 (2.4)

También en diferentes trabajos se demuestra que tiene un comportamiento más“suave” (menos máximos locales y permutaciones vecinas tienen medidas pareci-das), frente al espacio de grafos dirigidos acíclicos (redes vecinas tienen medidasmuy diferentes), en definitiva tiene un comportamiento en general mucho más ho-mogéneo que el espacio de grafos dirigidos acíclicos [97, 42].

De una manera más formal, el problema de aprendizaje de redes de creen-cia basado en órdenes se puede formular como: Tenemos una base de datosD =

{v1, . . . ,vm}, que contienem instancias deV. Asumiremos que tenemos una métri-ca descomponiblef (G : D) para GDAs. SeaΣn el conjunto de todos los órdenes den elementos yGσ la familia de todos los GDAsG cuyo conjunto de vértices esV ycuyos arcos son compatibles con el ordenσ . Entonces el problema considerado es:

Encontrar σ ∗ = arg maxσ∈Σnf (σ : D) (2.5)

dondef (σ : D) = f (Gσ : D) = maxG∈Gσ

f (G : D) (2.6)

De esta forma, primero buscamos el mejor GDA,Gσ (de acuerdo a la métrica selec-cionadaf ), compatible con un ordenσ , y posteriormente seleccionamos el ordenσ∗ que ha producido el mejor GDA. El GDAGσ∗ es la solución deseada para nues-tro problema de aprendizaje. Vamos a resolver este problema desde un punto devista heurístico: los dos procesos de optimización se resuelven utilizando métodosde búsqueda heurísticos.

Para definir un método de búsqueda local, hemos de definir un operador de ve-cindad entre dos configuracionesσk y σk′ con mínimo cambio entre ambas a travésdel cual nos moveremos en el espacio de búsqueda definido. En nuestro caso al

Page 83: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

2.4. Métodos de Búsqueda Local en el espacio de Órdenes 61

proponer el espacio de búsqueda de órdenes entre las variables, nuestro operadornatural será el intercambio entre dos posicionesi y j dentro de la secuencia quedefine nuestro orden entre las variables, esto es:

σk = (x1, . . . ,xi , . . . ,x j , . . . ,xn)→ σk′ = (x1, . . . ,x j , . . . ,xi , . . . ,xn)

Más formalmente, siσ es la actual configuración, entonces lasn(n−1)/2 con-figuraciones vecinas deσ son aquellasσ i, j , dondei < j, definidas como:

Seanxu y xv tal queσ(xu) = i y σ(xv) = j. Entonces

σi j (xk) =

σ(xk) si xk 6= xu y xk 6= xv

j si xk = xu

i si xk = xv

(2.7)

Una vez definido el operador local entre secuencias de órdenes vecinas, necesi-tamos definir cómo evaluar estas secuencias. En nuestro caso será medir la proba-bilidad a posteriori de una base de datos de casosD dada la secuenciaσ . Nuestrapropuesta es usar una métrica,f , definida para GDAs y realizar una búsqueda enel espacio de GDAs compatibles con el ordenσ . El valor de la función para elgrafo así obtenidoGσ , f (Gσ : D), será el valor de la medida para la secuenciaσ( f (σ : D) = f (Gσ : D)). En otras palabras, tenemos que buscar el mejor conjun-to de padres para la variablexi entre las variables que le preceden en el ordenσ .La búsqueda del conjunto de padres para una variablex i puede realizarse de formaindependiente de la búsqueda de los padres del resto de variables.

Por tanto, si la métricaf es una métrica descomponible, deberíamos intentaraprovechar esta propiedad para reducir la complejidad de la evaluación de una se-cuenciaσi j , usando toda la información previa del cálculo de la configuración ante-rior σ .

Durante una búsqueda local tal y como la hemos planteado, vamos a realizaruna permuta entre dos posicionesi y j de la secuencia mejor que tengamos en unaiteración del algoritmo. Entonces hemos de notar que antes del índicei y despuésdel índice j los cálculos serán los mismos que tuviésemos en la etapa anterior ypor tanto no hará falta realizarlos de nuevo. Teniendo en cuenta esta situación,la primera forma directa de evaluar de forma heurística una secuencia dada, seríautilizar una heurística local para encontrar los padres de una variablexh, entre losíndicesi y j permutados, de entre las variables que le preceden en el ordenσ i j . Unaforma de realizarlo eficazmente es utilizando la heurística K2, esto es, iniciamosel proceso con el conjunto de padres vacío y vamos incorporando en cada etapa elpadre que maximice nuestra medida hasta que no se pueda mejorar más la medidade la familia correspondiente(xh∪πσi j

(xh)). A continuación detallamos los pasosde la función de evaluación:

1. Para aquellos nodosxa <σi jxv, f (xa,πσi j

(xa)) = f (xa,πσ (xa)).

Page 84: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

62 Métodos Locales de Búsqueda

2. Para aquellos nodosxp >σi jxu, f (xp,πσi j

(xp)) = f (xp,πσ (xp)).

3. Para aquellos nodosxv≤σi jxh≤σi j

xu, realizar los pasos siguientes:

(a) Borramos el conjunto de padres calculado en la etapa anterior para unavariablexh, e iniciamosπσi j

(xh) = /0.

(b) Elegiremos entre los nodosx /∈ πσi j(xh), anteriores en el ordenσ i j nuevo

aquél que nos maximiza la medidaf (xh,πσi j(xh)∪{x}).

(c) Nos quedamos con este máximo y actualizamos el conjunto de padresdexh incluyendo el nuevo nodo padre,π σi j

(xh) = πσi j(xh)∪{x}.

(d) Repetimos los pasos (b) y (c) hasta que no consigamos mejorar nuestramedidaf paraxh.

Sin embargo, hemos de notar que incluso para las variables comprendidas entrelos índices permutados, incluidos éstos, los padres de estas variables calculadosen la etapa anterior del algoritmo pueden ser compatibles con el nuevo orden eincluso con algo de suerte puede que sean los mismos que en la etapa anterior,ya que el intercambio entre secuencias es mínimo, así que, con la esperanza derealizar los menos cálculos posibles, vamos a proponer una heurística inspirada enla filosofía de búsqueda de padres del proceso anterior entre los índices permutadosincluidos éstos, pero intentando reutilizar parte de los cálculos efectuados en laetapa anterior. Los pasos para la evaluación de una nueva secuenciaσ i j a partir dela anterior secuenciaσ serán los siguientes:

1. Para aquellos nodosxa <σi jxv, f (xa,πσi j

(xa)) = f (xa,πσ (xa)).

2. Para aquellos nodosxp >σi jxu, f (xp,πσi j

(xp)) = f (xp,πσ (xp)).

3. Para aquellos nodosxv≤σi jxh≤σi j

xu, realizar los pasos siguientes:

(a) Borramos del conjunto de padres calculado en la etapa anterior parauna variablexh, aquellos nodosx ∈ πσ (xh) que no sean compatiblescon el nuevo ordenσ i j , e iniciamos como máximof (xh,πσ (xh) \C),siendoC el conjunto de todos los nodos incompatibles con el ordenσ i j

y πσi j(xh) = πσ (xh)\C.

(b) Elegiremos entre los nodosx∈ πσi j(xh) aquél que eliminándolo del con-

junto de padres nos maximiza la medidaf (xh,πσi j(xh)\{x}).

(c) Elegiremos entre los nodosx /∈ πσi j(xh), anteriores en el orden nuevo

σi j , aquél que nos maximiza la medidaf (xh,πσi j(xh)∪{x}).

(d) Nos quedamos con el máximo de las dos anteriores operaciones y eli-minamos o insertamos un padre atendiendo al máximo de las dos, yescogemos como nuevo máximo éste último calculado.

Page 85: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

2.4. Métodos de Búsqueda Local en el espacio de Órdenes 63

(e) Repetimos los tres pasos anteriores hasta que no consigamos mejorarnuestra medidaf paraxh.

Si nos fijamos detalladamente en el método propuesto de evaluación de secuen-cias, esta heurística es una ascensión de colinas en el espacio de GDAs, pero apro-vechando la información proporcionada por la secuencia de ordenación y la pro-piedad de descomposición habitual en las métricas utilizadas, esto es, no tenemosun operador de inversión de arcos y al seguir una ordenación las variables, se pue-den maximizar las familias de cada nodo de forma secuencial e independientementesiguiendo el ordenσi j . Otra variante de esta última forma de evaluar secuencias po-dría ser la siguiente: en lugar de partir con el conjunto inicial de padres compatiblescon el orden, partir de un conjunto vacío de padres. Creemos que su comporta-miento sería, en general, similar a la primera forma de evaluar, pero tiene la ventajade que permitiría borrar un padre de un nodo cuando se estime oportuno. Por otraparte, al iniciar el proceso de búsqueda de padres de cada nodo con el conjuntovacío, se pueden evitar situaciones de tipo siguiente: Suponemos que tenemos ma-ximizada una familia de un nodoxi en donde este máximo se consigue a costa deintroducir más arcos de los necesarios porque esta variable en realidad está malordenada, entonces es probable que si mantenemos ciertos padres de esta variablecompatibles con el orden no podamos mejorar este máximo encontrado, situaciónque podríamos intentar salvar calculando todos sus padres de nuevo. Este problemaes el mismo que planteábamos en la sección 2.3.2, en la figura 2.3(b), cuando intro-ducíamos una transformación específica para obtener la vecindad en el espacio deGDAs.

Hemos de notar también que, normalmente estas modificaciones locales en lasecuencia de ordenación, implicarán una mayor movilidad entre los grafos dirigi-dos acíclicos compatibles con las secuencias de ordenación, esto quiere decir queun movimiento local entre dos secuencias puede resultar en que los grafos mejorescompatibles con estas secuencias no sean vecinos en el espacio de grafos dirigidosacíclicos. También hemos de notar que, al contrario de lo que ocurre en los méto-dos locales basados en el espacio de grafos dirigidos acíclicos, un movimiento en elespacio de secuencias de ordenación será más costoso desde el punto de vista com-putacional, aún utilizando las heurísticas de evaluación presentadas previamente.

2.4.1 Método de Ascensión de Colinas en el espacio de Órdenes

Una vez estudiado cómo realizar la evaluación de una secuencia de ordenaciónσ ,pasaremos a describir un algoritmo de búsqueda local para la búsqueda de una bue-na secuencia, y también de la red de creencia compatible con esta secuencia deordenación. Este primer algoritmo será una búsqueda en la vecindad marcada por eloperador descrito previamente, intercambios de dos variables en una secuencia, de

Page 86: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

64 Métodos Locales de Búsqueda

aquel movimiento que maximiza nuestra medidaf , y si ésta mejora el máximo quellevamos hasta ese instante consolidamos el cambio e iteramos de nuevo el procesohasta que no se pueda mejorar más, esto es, una ascensión de colinas clásica peroesta vez en el espacio de órdenes.

Es bien conocido que en este tipo de algoritmos juega un papel muy impor-tante la inicialización del mismo, en nuestro caso la secuencia de partida y la redcompatible con esta secuencia dada, pues de ello dependerá la evolución global delalgoritmo, en cuanto a número de iteraciones y camino entre secuencias seguido.En nuestro caso se pueden elegir varias alternativas, como puede ser inicializar conel algoritmo PC [127, 34], extraer de él un orden topológico y posteriormente coneste orden ejecutar el algoritmo K2 como red de inicialización; también podemosinicializar con una secuencia aleatoria y la red vacía de enlaces o con una secuenciaaleatoria y el resultado de la ejecución del algoritmo K2, etc. Posteriormente en lasubsección 2.4.3 estudiaremos cómo construir una buena solución inicial.

Con el objetivo de mejorar la eficiencia de estos métodos, vamos a restringirmediante un parámetror (radio) los vecinos de una secuenciaσ dada, para ellovamos a observar el siguiente hecho: Si la inicialización es buen punto de partida,es lógico pensar que permutas muy alejadas en una secuencia durante el procesode búsqueda no van a estar muy “relacionadas” y por tanto no se han de esperarmejoras substanciales en nuestra medida. Por otra parte, los métodos propuestosde evaluación de secuencias de ordenación serán más eficientes cuanto menor di-ferencia exista entre los índices permutados. Por estas razones vamos a proponerintroducir en la búsqueda local un parámetror que define el radio de acción de laspermutas entre las variables, de tal forma que las permutas buscadas no superen enningún caso este radio de acción. Esto implicará no comprobar permutas entre va-riables que estén a una distancia en una secuencia mayor que este parámetror. Deuna manera más formal, los vecinos admisibles para una secuenciaσ son aquellaspermutasσi, j , tal que la “distancia” entre las variables intercambiadas no es superiora r, esto es,| j− i| ≤ r. Esto nos permitirá agilizar de manera considerable el cálculode la máxima permuta en cada etapa del algoritmo ya que tendremos un número devecinos inferior (exactamenter(n− (r + 1)/2)) y los vecinos descartados son losmás complejos de calcular. Un radior = n− 1 equivale a no introducir ningunarestricción. En cualquier caso, un intercambio entre dos nodos distantes en una se-cuenciaσ es posible conseguirlo a través de varios intercambios más pequeños ynodos intermedios en la secuencia, por ejemplo, un intercambio de longitud| j − i|puede ser obtenido por medio de tres intercambios de longitud| j− i|/2.

El pseudocódigo de este algoritmo, que denominaremos HCSN (Hill-Climbingfor Sorting Nodes), se puede ver en la figura 2.5.

Para intuir e ilustrar el comportamiento del parámetror propuesto en el párrafoanterior, vamos a realizar un pequeño experimento en el siguiente ejemplo.

Page 87: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

2.4. Métodos de Búsqueda Local en el espacio de Órdenes 65

Ejemplo 2.3 Posteriormente en la sección 2.4.3 veremos cómo podremos construiruna secuencia inicial para el proceso que hemos detallado previamente. El resulta-do de la aplicación de este algoritmo, que describiremos en la referida sección, enel dominio ALARM [31] para los3000primeros datos de la base de datos de casosALARM, es la siguiente secuencia entre las variables:σ = {x21,x19,x23,x12,x28,x18,x3,x22,x24,x31,x30,x17,x16,x37,x36,x35,x32,x34,x33,

x14,x11,x15,x10,x25,x2,x1,x26,x7,x29,x9,x6,x8,x20,x27,x13,x5,x4}

En negrita aparecen las variables que están mal ordenadas según un orden an-cestral entre las variables de la estructura real de la red ALARM. Si nos fijamosdetalladamente en dicha secuencia podremos observar lo siguiente: la variable x32está mal colocada porque debería de aparecer después en la secuencia que la va-riable x34, que si nos damos cuenta está justamente a continuación, esto es, conradio 1. La variable con más distancia con las variables que deben precederle en elorden es la variable x29 a la que debe preceder la variable x27 y que en la secuenciase encuentra a una distancia de 5.

En total, como podemos observar en la secuencia, hay solo 5 variables fuerade lugar o mal colocadas según un orden ancestral de la estructura de la red realALARM.

Como pone de manifiesto este ejemplo, podemos intuir que si la secuencia departida es buena, el efecto del parámetro radio r no va a influir de manera decisivaen el resultado del algoritmo que hemos planteado.

Algoritmo HCSN

1. Inicialización: Elegimos una solución inicialσ y Gσ .

2. Repetir hasta que no se pueda mejorar nuestra soluciónσ .

(a) Escoger aquella secuenciaσ ′ que maximiza la medida f , mediante in-tercambios simples de parejas de variables en la secuenciaσ de radior.

(b) Si la secuenciaσ ′ es mejor queσ , entonces seguir iterando el procesoconσ = σ ′.

Figura 2.5: Algoritmo HCSN

Page 88: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

66 Métodos Locales de Búsqueda

Base de Datos ALARM (3000)

radio f(inicial) f(final) A B MO1 -14,593.25 -14,409.77 4 2 05 -14,593.25 -14,409.25 6 2 37 -14,593.25 -14,408.67 1 2 036 -14,593.25 -14,408.54 2 2 0

Tabla 2.1: Resultados para la Base de Datos ALARM (3000)

Ejemplo 2.4 Para ilustrar el comportamiento del algoritmo HCSN hemos realiza-do una ejecución del mismo sobre la red ALARM con los mismos 3000 datos de labase de datos ALARM usados en el anterior ejemplo. La medida que hemos utili-zado es la métrica K2(log). Y para ilustrar el comportamiento del parámetro r, lohemos fijado al máximo, r= 36, al mínimo r= 1, al máximo de la distancia entre lasvariables mal ordenadas r= 5 y también a r= 7. La secuencia de partida y la redde partida es la ofrecida por la heurística comentada en el ejemplo anterior, descri-ta en la sección 2.4.3. La métrica K2(log) para la red ALARM real para estos 3000primeros casos es de−14.412.69. Los resultados de estas pruebas los podemos ob-servar en la tabla 2.1. La primera columna es el radio r utilizado en la ejecución, lasegunda columna es la métrica K2(log) inicial del proceso, esto es, el resultado dela heurística descrita en la sección 2.4.3, la tercera columna es la métrica K2(log)final que nos ofrece el algoritmo HCSN, la siguiente hace referencia al número dearcos añadidos con respecto a la red real ALARM, la siguiente el número de arcosborrados y la última el número de arcos mal orientados con respecto a la red realALARM.

2.4.2 Búsqueda en Entorno Variable en el espacio de Órdenes

En nuestro caso, para el problema que queremos resolver, la estructura de vecindadque podemos manejar será la siguiente: La vecindad mínima será la estudiada en lasección anterior:

σk ∈N1(σ)⇐⇒ σk(xu) = σ(xv),σk(xv) = σ(xu) y σk(xi) = σ(xi)∀xi 6= xu,xv

N2 será definido como el intercambio de dos pares de posiciones dentro de unapermuta, esto es:

σl ∈N2(σ)⇐⇒ σl ∈N1(σk) y σk ∈N1(σ)

Page 89: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

2.4. Métodos de Búsqueda Local en el espacio de Órdenes 67

De forma similar:

σl ∈Nh(σ)⇐⇒ σl ∈N1(σk) y σk ∈Nh−1(σ)

Como condición de parada hemos elegido la misma que el algoritmo VNSST.De esta forma, el algoritmo que denominaremos VNSSN, quedaría como el de lafigura 2.6.

Algoritmo VNSSN

1. Inicialización: Elegimos una solución inicial dadaσ y Gσ .

2. Lanzar el algoritmo HCSN con esta solución inicial para alcanzar una nuevasolución y fijar ésta como máximo.

3. n= 1.

4. Repetir hasta alcanzar la condición de parada.

(a) k= kmin y n= n+1.

(b) Repetir hasta que k= kmax

i. Generar de forma aleatoria unaσ ′ de vecindad k.(σ ′ ∈Nk(σ)).

ii. Aplicar el algoritmo HCSN conσ ′ como punto de inicio dado lugara otra secuencia localmente máximaσ ′′.

iii. Si σ ′′ es mejor secuencia queσ , entonces movernos a esta secuen-cia σ = σ ′′ y k= kmin; en otro caso k= k+kstep.

Figura 2.6: Algoritmo VNSSN

Otro factor que influirá en la búsqueda para nuestro caso particular será el radior que impongamos en el algoritmo HCSN. Teniendo en cuenta que es otro paráme-tro libre en nuestro proceso podemos plantear también un esquema de actualizaciónde este parámetro siguiendo la misma filosofía de la búsqueda en entorno varia-ble VNS. Esto se puede traducir en un esquema de actualización del radior cadavez mayor conforme nos movamos a vecindades mayores, volviendo a buscar con elradio inicialr cada vez que lo hagamos con vecindad mínima. La elección del incre-mento del radior desde luego es de nuevo un parámetro libre y que tendremos queajustar para cada problema, pero posibles elecciones de este esquema podrían ser:Incrementar en uno el radior cada vez que incrementamos la vecindadk enk step,volviéndolo a su valor original de partida cuando iniciamos de nuevo la vecindad

Page 90: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

68 Métodos Locales de Búsqueda

k = kmin. Otra posible opción podría ser, si tenemos un número fijo de iteraciones,incrementar nuestro radior tal que en la última iteración se alcance el radio máximo,o simplemente un incremento fijo predeterminado. De esta forma lo que intentamosconseguir es la posibilidad de movernos con una mayor amplitud en el espacio debúsqueda cuando hayamos alcanzado un óptimo local y volver a un radio reducidocuando estemos en una “buena” solución.

Generación de una secuencia aleatoria para Redes de Creencia.En el pa-so apropiado del algoritmo VNSSN donde se genera una solución aleatoriaσ ′ ∈Nk(σ), se pueden elegir libremente parejas de variables (xi ,x j ) para ser intercam-biadas, pero si pensamos más detenidamente en el problema que queremos resolver,nos damos cuenta que el orden topológico de una red de creencia es un orden par-cial, esto quiere decir que puede que intercambiemos variables de una secuenciaσ yla secuencia resultante sea equivalente, sea compatible también con la red aprendi-da, con lo que el cambio efectuado no será efectivo. Es por esta razón que nosotrosrealizaremos estos intercambios en un secuenciaσ con un poco más de cuidado,de tal forma que forzaremos de alguna manera a que la secuencia resultante no seaequivalente en el sentido expresado previamente.

El proceso será el siguiente: En primer lugar elegiremos con probabilidad uni-forme una variable de la secuenciaxi , posteriormente calcularemos el conjunto devariables descendientes dexi asociadas aGσ (el óptimo, GDA, local alcanzado enla etapa actual del algoritmo para la secuenciaσ ), elegiremos de forma uniformeuna variablex j de este conjunto y realizaremos el intercambio en la secuenciaσ deestas dos variables así elegidas. Sixi es un nodo hoja en la red, entonces realizamosel mismo proceso pero con los nodos ancestros dex i .

2.4.3 El Problema del Punto de Inicio en la Búsqueda. Heurísti-ca K2SN

La heurística de inicialización, a la que hemos hecho referencia en la subsección2.4.1, es una búsqueda greedy de un buen orden de partida entre las variables ysu red asociada, buscada ésta como lo hace el algoritmo K2. Asumiremos denuevo que tenemos definida una medidaf descomponible, tal quef (G : D) =

∑ni=1 f (xi ,πG(xi)), entonces lo que hará este algoritmo es lo siguiente: En primer

lugar buscaremos aquél nodo (entre todos) que maximiza nuestra medida dado elconjunto vacío de padres, esto es,f (xi , /0), y escogemos éste nodo como primeroen el orden; por supuesto este nodo no tendrá a ningún otro como padre. A conti-nuación escogeremos aquel nodo del resto de nodos que maximiza nuestra medida,pudiendo contener como padres los nodos que le preceden en el orden parcial quevayamos obteniendo. La forma de evaluar este máximo de nuevo será heurística yserá como lo hace el algoritmo K2, esto es, se inicializa con el conjunto de padres

Page 91: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

2.4. Métodos de Búsqueda Local en el espacio de Órdenes 69

vacío e iremos insertando nodos en el conjunto de padres conforme vayamos mejo-rando su medida y pararemos cuando dejemos de mejorarla2, y así procederemoscon el resto de variables. El pseudocódigo de este algoritmo, que denominaremosK2SN (K2 for Sorting Nodes) se puede observar en la figura 2.7. En esta figura,las llamadasf = K2(xi ,VISITADOS) y π(xi) = K2(xi ,VISITADOS), quieren decirque calculamos el conjunto de padres del nodox i de entre los nodos en el conjun-to VISITADOScomo lo hace el algoritmo K2 yf es la medida para esta familia{xi ∪π(xi)}. Esta heurística, si nos fijamos bien en ella, no es más que una búsque-da en profundidad acotada a un solo nivel. Esto quiere decir que solo el máximonodo en cada nivel de nuestro árbol de búsqueda se expande. Una representacióngráfica de un ejemplo de cómo el algoritmo K2SN progresa se puede observar en lafigura 2.8.

Otra posible forma de buscar los padres en cada etapa del algoritmo podría ser lasiguiente: Suponer un número de padres máximop para cada una de las variables,y entonces quedarnos con la mejor familia para una variable comprobando todaslas posibles combinaciones deq≤ p padres de entre los nodos predecesores, aligual que se propone en [96, 60], aunque esta opción es claramente más costosa quela anterior. Otra posible forma de buscar el conjunto de padres sería utilizar unatécnica de ramificación y poda al igual que se propone en los trabajos [132, 131].Esta opción es una clara extensión de este algoritmo en el futuro.

Cómo hemos visto en el anterior ejemplo 3 de este capítulo, esta simple bús-queda acotada en profundidad a un solo nivel nos ofrece una muy buena secuenciade ordenación entre las variables de la red ALARM para los 3000 primeros casos.También hemos observado en el ejemplo de la figura 2.8 que es posible reutilizarbastantes cálculos de los efectuados en los niveles superiores del árbol. Es por elloque se podría realizar una búsqueda acotada en general enl niveles de profundidadpara intentar mejorar nuestra solución inicial. Esta opción tiene el claro inconve-niente de que a poco que aumentemos la cota de profundidad en el árbol de búsque-da, el proceso de búsqueda se convertirá en impracticable por la cantidad de ramasque hemos de expandir en cada nivel. Sin embargo, este inconveniente se podríaaliviar utilizando una técnica de poda en la expansión del árbol de búsqueda.

Hemos estudiado en el capítulo anterior varias métricas o medidasf (G : D), co-mo por ejemplo la BIC, K2, BDe, que cumplen la propiedad de ser descomponibles.Estas tres métricas en particular son bastante utilizadas en la literatura especializa-da en el tema de aprendizaje automático de redes de creencia. Además estas tresmedidas poseen otra propiedad particularmente interesante para el problema quehemos expuesto en el párrafo anterior. Se podría demostrar que para toda fami-lia {xi ∪ πG(xi)}, el valor de la medidaf (xi ,πG(xi)) es siempre un valor negativo

2Es bien conocido que el algoritmo K2 tiene un comportamiento bueno siempre que conozcamos unorden a priori entre las variables.

Page 92: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

70 Métodos Locales de Búsqueda

Algoritmo K2SN

1. VISITADOS= /0 y PORVISITAR= VARIABLES.

2. max=−∞

3. Para i= 1 hasta|PORVISITAR| hacer

Si f(xi , /0) > max entoncesmax= f (xi , /0) y x= xi

4. VISITADOS= VISITADOS∪{x}PORVISITAR= PORVISITAR\{x}π(x) = /0

5. Mientras|PORVISITAR|> 0 hacer

(a) max=−∞

(b) Para i= 1 hasta|PORVISITAR| hacer

i. Sea xi ∈ PORVISITAR

ii. f = K2(xi,VISITADOS)

iii. π(xi) = K2(xi,VISITADOS)

iv. Si f(xi ,π(xi)) > max entoncesmax= f (xi ,π(xi)) y x= xi y π(x) = π(xi)

(c) V ISITADOS= VISITADOS∪{x}PORVISITAR= PORVISITAR\{x}

Figura 2.7: Algoritmo K2SN

Page 93: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

2.4. Métodos de Búsqueda Local en el espacio de Órdenes 71

x1 x2 x3

x3f (x2, /0) óx2

x3

f (x3, /0) ó

f (x2,{x1})

f (x1, /0) f (x2, /0) f (x3, /0)

f (x1, /0)

f (x1, /0)+ f (x2, /0)

f (x3,{x1})

f (x3,{x2}) ó f (x3,{x1})

f (x3, /0) ó f (x3,{x1,x2}) ó

f (x1, /0)+ f (x2, /0)+ f (x3,{x1,x2})

x1 x2

x3

Figura 2.8: Ejemplo del árbol de búsqueda con tres variables para el algoritmo

K2SN. El nodo máximo es siempre el que se expande (el más a la

izquierda, subrayada la medida máxima en cada etapa). En este ejem-

plo se han calculado todos los estadísticos necesarios; como podemos

observar no siempre se han de calcular todos los estadísticos en cada

nivel, es posible reutilizar cálculos previos. En la parte inferior de la fi-

gura podemos observar la red resultado y recuadrado la medida parcial

en cada etapa del algoritmo; la medida final será la suma de todas las

etapas anteriores.

Page 94: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

72 Métodos Locales de Búsqueda

(véanse las ecuaciones 1.11, 1.10, 1.14).Si tenemos una grafoG = (V,E), los datosD y tenemos una medidaf (G : D)

(BIC, K2, BDe), entonces se podría demostrar que:f (G′ : D)≥ f (G : D) para todoG′ subgrafo deG, siendoG′ = (V ′,E′) y V ′ = V \ {xi} y E′ = E \ {x j → xi ∀x j ∈

πG(xi)} para todoxi ∈V. Esto quiere decir que al ir incorporando nodo a nodo a lamedidaf , ésta en cada sumando siempre irá disminuyendo su valor. Por ejemplo enla figura 2.8 tendremos que se cumple:

f (x1, /0)≥ f (x1, /0)+ f (x2, /0)≥ f (x1, /0)+ f (x2, /0)+ f (x3,{x1,x2})

Teniendo en cuenta lo anteriormente expuesto, si en un nodo del árbol de ex-pansión vemos que la medida que obtenemos en la secuencia parcial que llevamoses peor (menor) que la que tenemos como máximo, podemos dejar tranquilamentede expandir este nodo porque al expandirlo sólo empeoraremos aún más la solu-ción final encontrada. Esta solución agilizará de forma considerable la búsqueda yla agilizaremos aún más si ordenamos nuestros nodos a expandir en cada nivel delárbol conforme su medida de la función crezca en valor, es decir, los ordenamos demenor a mayor, esto hará que probablemente la primera (o de las primeras) soluciónque encontremos sea una buena medida de cota superior para podar nuestro árbolde búsqueda.

Aún con esta poda del árbol de búsqueda, el esfuerzo computacional que debe-mos realizar, incluso con valores pequeños de la cota de profundidadl , puede quesea excesivo. Por consiguiente sería conveniente proponer alguna función aproxi-mada del valor esperado de la solución final al expandir un determinado nodo enun determinado nivel del árbol de búsqueda y utilizar ésta como una función parapodar aquellas ramas de árbol que estimemos no van a mejorar la solución parcialque tengamos en ese instante, al estilo de la función de evaluación del algoritmoA∗ [72, 73, 110, 108]. Si observamos algún proceso de búsqueda, podemos verque si nuestro máximo actual tiene un determinado valorf max, y vamos a expandirun determinado nodo cuya medida de la solución parcial que ha buscado hasta eseinstante es un valor muy cercano afmax, y nos quedan todavía ciertos niveles queexpandir para encontrar la solución final, podríamos estimar que no merece la penaseguir expandiendo esta rama del árbol de búsqueda porque en el resto de nivelesseguramente va a empeorar la solución que tenemos como máximo en este instante.

La cuestión ahora es qué función utilizamos para estimar a partir de un nodo elvalor de la métrica para una solución final a partir de este nodo y en función delvalor máximo que tengamos en este instante de la búsqueda. Si en un momentodado tenemos como máximofmax para una soluciónx y tenemos una cotal enprofundidad, la media en cada nivel para llegar af max (teniendo en cuenta quefmax

se obtiene como la suma de cada nodo perteneciente a la solución) seráf max/l , estoes, suponemos que en cada nivel se ha sumado exactamente la misma cantidad para

Page 95: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

2.5. Experimentación y Conclusiones 73

llegar a fmax. Si vamos a expandir un nodo en el árbol de búsqueda, con la soluciónparcialx′ y con un valorf ′, si a este valor le sumamos el valor esperado por nivelque tenemos para el máximo actualfmax/l por los niveles que aún nos faltan porexpandir, tendremos un valor esperado para la solución final que nos ofrecerá labúsqueda al expandir esta rama del árbol, esto es:

f ′+[( fmax/l)(l −na)] (2.8)

dondena es el nivel actual de la búsqueda antes de expandir un determinado nodo.Entonces si el valor de la función 2.8 es peor que la que llevamosf max, entoncesdejaremos de expandir el nodo correspondiente en el árbol. Teniendo en cuenta queesta función no deja de ser una aproximación del valor que se espera de la soluciónfinal a partir de un nodo en la búsqueda y estar en función del máximo que hemosobtenido hasta ese instante, el cual puede que esté lejos del óptimo, es arriesgadopodar una rama del árbol de esta forma. Es por ello, que vamos a introducir unparámetroβ ∈ [0,1] que ajustará de alguna forma (o corregirá) este valor esperadoen cada paso de la solución que llevemos en un determinado instante como máximo,esto es:( fmax/l)β , de tal forma, que siβ = 0 estamos en el caso primero, en dondepodamos sólo si la solución parcial es peor, y siβ = 1 estamos en el anterior caso,por esta razón este parámetroβ puede interpretarse como un compromiso entreeficiencia y eficacia en la búsqueda. La función quedaría como sigue:

f ′+[( fmax/l)β − (1−β)](l −na) (2.9)

2.5 Experimentación y Conclusiones

En esta sección vamos a presentar los resultados empíricos obtenidos en el apren-dizaje de una serie de bases de datos en diferentes dominios mediante los diversosalgoritmos presentados en las anteriores secciones del capítulo. Resumidos en for-mas de tablas, podremos analizarlos y extraer de ellos una serie de conclusionesacerca del comportamiento de los diferentes algoritmos utilizados.

2.5.1 Descripción de los experimentos

Con el objetivo de realizar un estudio comparativo sobre los algoritmos estudiadosa lo largo del capítulo se han empleado los siguientes parámetros para los diferentesalgoritmos.

En todos los casos hemos utilizado la métrica K2(log) [31] para el proceso debúsqueda de la redes de creencia. Para los experimentos realizados se han utilizado5 bases de datos diferentes correspondientes a dos dominios distintos, el dominiode ALARM [13](figura 2.10) y el dominio de INSURANCE [17](figura 2.9). Para

Page 96: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

74 Métodos Locales de Búsqueda

el primero de ellos hemos elegido los primeros 3000 casos y los primeros 10000 dela base de datos ALARM; esta base de datos de casos, de 20000 casos, se obtuvomediante muestreo lógico probabilístico [78] para el estudio realizado en el trabajo[13] y se encuentra disponible en [133]. Esta base de datos y la red ALARM co-rrespondiente, se han convertido en un estándar en la evaluación de algoritmos deaprendizaje; éste es un dominio médico que se compone de 37 variables y 46 arcos.En el segundo caso, también se ha utilizado el muestreo lógico probabilístico paragenerar 3 bases de datos de casos de 10000 casos cada una con las que realizaremoslos experimentos en esta sección. El domino INSURANCE consta de 27 variablesy 52 arcos, y trata de los riesgos en los seguros de automóviles.

El propósito de cada uno de los experimentos es recuperar la red a partir dela cual se generaron las bases de datos empleadas en los procesos de aprendizaje.Por otra parte también estamos interesados en mostrar la eficiencia de los diferen-tes algoritmos empleados. Para poder comparar estos algoritmos se calcularon lossiguientes parámetros mostrados en las diferentes tablas.

• Las iteraciones que tuvieron que dar hasta encontrar el óptimo alcanzado porcada uno de los algoritmos. En los tipos de algoritmos estudiados en estecapítulo, este parámetro corresponde al número de ascensiones de colinas quetuvieron que realizar durante el proceso de aprendizaje, tanto en el espacio degrafos dirigidos acíclicos como en el espacio de secuencias de ordenación.

• Una vez que alguno de estos algoritmos nos ofrece un resultado, lo hemoscomparado de forma estructural con las redes originales utilizadas para gene-rar los datos. Esta comparación nos va a ofrecer tres parámetros. El númerode arcos añadidos en la red aprendida que no aparecen en la red original, elnúmero de arcos borrados en la red aprendida que si aparecen en la red origi-nal y por último el número de arcos invertidos no siendo isomorfos en ambasredes.

• Por supuesto la medida utilizada en el aprendizaje K2(log), tanto en la me-dia de las ejecuciones realizadas, cuando tenga sentido, como la mejor redencontrada por el algoritmo correspondiente.

• El parámetro denominado KL en nuestras tablas proviene de la entropía cru-zada de Kullback, que mide la distancia entre la distribución de probabilidad,PG, asociada a una red de creencia y la distribución de probabilidad,P, asocia-da a los casos de la base de datos. Aunque esta medida es en principio difícilde calcular, se puede aprovechar el hecho de que la distribución especificadamediante la red de creencia tiene una forma especial. SiPG es la distribu-ción conjunta asociada a la redG, que tiene el siguiente conjunto de nodosX = {x1, . . . ,xn}, la entropía cruzada se puede descomponer en los siguientestérminos [94], [36]:

Page 97: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

2.5. Experimentación y Conclusiones 75

SocioEcon

GoodStudent RiskAversion

VehicleYear MakeModel

AntiTheft HomeBase

OtherCar

Age

DrivingSkill

SeniorTrain

MedCost

DrivQuality DrivHistRuggedAuto AntilockCarValue Airbag

Accident

ThisCarDam OtherCarCost ILiCost

ThisCarCost

Cushioning

Mileage

PropCost

Theft

Figura 2.9: Red de creencia INSURANCE.

Page 98: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

76 Métodos Locales de Búsqueda

1 2 3

25 18 26

17

19 20

10 21

27

28 29

7 8 9

30

32

12

34 35

33 14

22

15

23

13

16

36

24

6 5 4 11

31

37

Figura 2.10: Red de creencia ALARM.

cross−entropy(P,PG) =−HP(X)+n

∑i=1

HP(xi)−n

∑i=1,π(xi)6= /0

Dep(xi ,π(xi)| /0)

(2.10)

dondeHP denota la entropía de Shannon sobre la distribuciónP y Dep esigual a:

Dep(X,Y| /0) = ∑xi ,y j

P(xi ,y j) logP(xi ,y j)

P(xi)P(y j)(2.11)

Podemos observar que los dos primeros términos de la expresión 2.10 no de-penden del grafoG, son constantes independientes de la topología de la red,así sólo nos interesa el último término, precisamente el parámetro que utili-zamos en nuestras tablas como KL. La entropía cruzada será menor cuantomayor sea el último término. De ahí que la interpretación de este parámetrosea, una red será mejor cuanto mayor sea este valor KL.

• En cuanto a la complejidad del algoritmo hemos obtenido los siguientes pa-rámetros. En primer lugar el número de individuos (Ind) que se han visitadodurante el proceso de búsqueda (en cada caso de acuerdo al espacio de bús-queda empleado en el proceso). En segundo lugar, mostramos el número totalde estadísticos calculados (TEst) a partir de los datos empleados en el proce-so de aprendizaje, esto es,Ni jk , la frecuencia para una variablexi que tomasu j-ésimo valor y lak-ésima configuración de su conjunto de padres en la

Page 99: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

2.5. Experimentación y Conclusiones 77

red correspondiente. Este número de estadísticos no tiene por qué ser el nú-mero de estadísticos realmente calculados sobre los datos (nótese que esteproceso suele ser el más costoso en el tipo de algoritmo estudiado a lo largodel capítulo) ya que si utilizamos técnicas de hashing este número puede sersustancialmente reducido; por consiguiente también mostramos en las tablasen número de estadísticos diferentes que aparecieron durante el proceso debúsqueda (EstEv). Por último, la complejidad del calculo de estadísticos pue-de ser exponencial con respecto al número de variables que intervienen enellos, es por esto que mostramos el número medio de variables que intervie-nen en los estadísticos calculados durante el proceso de aprendizaje (Nvars).En términos de comparación, una estimación del tiempo empleado por losdiferentes algoritmos puede ser: EstEv×2 Nvars.

Todos los algoritmos empleados en los experimentos han utilizado tres formasde inicialización de la búsqueda. Inicialización con la red vacía (EMP) de enlaces,y en el espacio de órdenes además la secuencia de ordenación encontrada en la ba-se de datos utilizada; Inicialización con el resultado de la ejecución del algoritmoK2SN descrito en la sección 2.4.3 en su primera y más básica versión (figura 2.7);Inicialización con el resultado de la ejecución del algoritmo PC [127], cuando tra-bajemos con el espacio de órdenes se extraerá de este resultado un orden topológicocomo secuencia de inicialización3.

En los algoritmos deterministas empleados en los experimentos, éstos se hanejecutado una sola vez, sin embargo en los estocásticos se ha ejecutado 10 vecescada uno, para cada inicialización y para cada base de datos de casos, obteniéndoseen cada caso la mediaµ y la desviación estándarσ , así como el mejor resultado deestas ejecuciones.

2.5.2 Análisis de los experimentos

Los resultados de todos los experimentos se pueden observar en las tablas que apa-recen a lo largo de esta subsección. Compararemos los resultados de cada algoritmocon el resto de los algoritmos (comparables) y para cada una de las bases de da-tos utilizadas. Como punto de referencia para todos los casos, se puede utilizar lamedida K2 para las bases de datos utilizadas para la estructura verdadera de las re-des utilizadas en los experimentos, que son−14412,69 para la red ALARM paralos primeros 3000 casos,−47086,57 para la red ALARM para los primeros 10000casos y−58120,95 para la red INSURANCE (promedio de las tres bases de datosgeneradas con 10000 casos cada una).

3Hemos de notar que a partir de un GDA puede obtenerse más de un orden topológico válido. Noso-tros sólo hemos considerado uno de ellos para hacer determinista la inicialización.

Page 100: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

78 Métodos Locales de Búsqueda

Análisis de los algoritmos greedy, ascensión de colinas, HCST y HCSN.En lastablas 2.2 y 2.5 se muestran los resultados para los algoritmos HCST y HCSN (con2 radios de búsqueda diferentes) para el dominio ALARM para los 3000 primeroscasos y en las tablas 2.3 y 2.6 se muestran los resultados, para este mismo dominio,para los 10000 primeros casos de la base de datos utilizada. En ambos casos en elespacio de búsqueda de secuencias de ordenación se ha fijado el radio a dos valoresdistintos,r = 7 y r = 36 (aproximadamente 1/5 del total de variables y el total devariables respectivamente).

En las tablas 2.4 y 2.7 se muestran los resultados obtenidos (en promedio) en eldominio INSURANCE, en este caso sólo se ha ejecutado el algoritmo HCSN conun radior = 13 (aproximadamente la mitad de las variables del dominio).

En cuanto a la base de datos ALARM de 3000 casos, cabe destacar lo siguien-te: En primer lugar, si exceptuamos la inicialización EMP en el algoritmo HCSNpara un radio 7 (cuyo resultado es especialmente malo debido a que el orden en labase de datos ALARM es también especialmente malo y este radio no es capaz deofrecer una buena solución) y también exceptuamos la inicialización PC en el al-goritmo HCST, en donde su comportamiento es excelente como inicialización paraeste caso, podemos observar para el resto de casos que el algoritmo HCSN tiene uncomportamiento más homogéneo; quizás cabe resaltar el comportamiento de la ini-cialización K2SN en el algoritmo HCSN ya que tiene un comportamiento excelentecomo inicialización en este dominio. El comportamiento de la inicialización PC conel algoritmo HCSN es un poco peor, pero hemos de tener en cuenta que a la estruc-tura resultante de la ejecución del algoritmo PC podremos extraerle más de un ordenancestral, nosotros hemos probado sólo con uno de ellos. En cuanto a la eficienciadel algoritmo HCSN destacaremos que si aproximamos el tiempo de ejecución porla expresión EstEv×2 NVars, por ejemplo para la inicialización K2SN4 con radior = 7 el algoritmo es 2,67 veces más lento que el HCST, y con radior = 36 es5,16 veces más lento. Esto quiere decir, como argumentábamos anteriormente, queevaluar un cambio en la estructura será mucho más eficiente que evaluar un inter-cambio en una secuencia de ordenación y que éstas a su vez dependerán del radioque fijemos en la ejecución del algoritmo.

En cuanto a la base de datos para ALARM de 10000 casos, el comportamientodel algoritmo HCSN es similar al de 3000 casos, cabe destacar que en este casoincluso para la inicialización PC el algoritmo HCSN ofrece un mejor resultado queel algoritmo HCST.

En cuanto al dominio INSURANCE, en primer lugar destacaremos que la ini-cialización K2SN en este dominio tiene un comportamiento especialmente malo,

4Hemos elegido esta inicialización para esta comparación por ser una inicialización informada y notan costosa como puede ser la inicialización con el algoritmo PC, además en este último caso habría quetener en cuenta los estadísticos calculados para realizar los tests de independencia condicional durantesu ejecución (en las tablas aparece como TIC).

Page 101: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

2.5. Experimentación y Conclusiones 79

HCST Empty K2SN PCK2 -14425,62 -14520,21 -14403,77KL 9,220 9,229 9,231A 6 8 1B 4 2 1I 3 2 0It 1 1 1Ind (×1000) 76 11 32EstEv 3375 4970 1880 + TICTEst 154637 47041 39704 + TICNVars 2,99 3,53 3,29

Tabla 2.2: Resultados para una ascensión de colinas en el espacio de estructuras

HCST. ALARM 3000 casos.

hemos de fijarnos en el resultado obtenido por esta inicialización con el algoritmoHCST (tabla 2.4) y la diferencia estructural obtenida. En este dominio el compor-tamiento del algoritmo HCSN siempre ofrece un mejor resultado que el algoritmoHCST, independientemente de la inicialización.

También hemos de fijarnos que el número de individuos evaluados en el espaciode secuencias de ordenes es significativamente menor que en el espacio de grafos di-rigidos acíclicos, esto nos da una idea de que el espacio de secuencias de ordenaciónes mucho más “suave” u homogéneo que el de las estructuras.

Por último indicar que estos experimentos los hemos realizado con la tercerade las opciones para la evaluación de la secuencias de órdenes5, se han realizadopruebas con las otras dos opciones y los resultados son similares desde el punto devista de la calidad y también de la eficiencia, teniendo en cuenta sólo los estadísticosevaluados, ya que en nuestra implementación hemos utilizado técnicas de hashing.

Análisis de los resultados del algoritmo IMAPR. En este caso hemos ejecutadoeste algoritmo 15 iteraciones en las pruebas realizadas y los resultados se puedenobservar en las tablas 2.8, 2.9 y 2.10.

En primer lugar cabe resaltar que todos los algoritmos IMAPR mejoran nota-blemente la red encontrada por una ascensión de colinas clásica en el espacio deestructuras, en cuanto a la métrica utilizada en la búsqueda, también respecto a lamedida KL y número de arcos erróneos. La excepción se da con la inicializaciónPC en el dominio ALARM, en donde hemos podido comprobar que esta inicializa-

5Donde inicializamos el conjunto de padres para cada uno de los nodos al conjunto vacío y los ope-radores para encontrar el nuevo conjunto de padres son la inserción y el borrado de padres.

Page 102: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

80 Métodos Locales de Búsqueda

HCST Empty K2SN PCK2 -47267,11 -47081,66 -47133,41KL 9,266 9,276 9,271A 11 3 3B 4 1 1I 6 0 2It 1 1 1Ind (×1000) 72 16 18EstEv 3280 5384 1804 + TICTEst 147008 55614 36539 + TICNVars 2,99 3,65 3,21

Tabla 2.3: Resultados para una ascensión de colinas en el espacio de estructuras

HCST. ALARM 10000 casos.

HCST Empty K2SN PCK2 -57998,10 -58895,94 -57869,01KL 8,423 8,320 8,449A 10,33 30,67 1,33B 11,67 14,67 8,67I 7,67 15,67 1,33It 1 1 1Ind 3,74E+04 1,13E+04 1,17E+04EstEv 2050,33 3801,33 1094,00 + TICTEst 7,66E+04 3,55E+04 2,41E+04+ TICNVars 3,09 3,97 3,37

Tabla 2.4: Resultados para una ascensión de colinas en el espacio de estructuras

HCST. INSURANCE 10000 casos. Promedio 3 bases de datos.

Page 103: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

2.5. Experimentación y Conclusiones 81

HCSN (r = 7) Empty K2SN PCK2 -14860,49 -14408,67 -14412,28KL 9,136 9,222 9,220A 30 1 1B 6 2 3I 11 0 1It 1 1 1Ind (×1000) 5,2 1,8 2,3EstEv 14718 10152 17072 + TICTEst 1,97E6 5,61E5 7,16E5 + TICNVars 4,38 3,92 4,34

HCSN (r = 36) Empty K2SN PCK2 -14409,46 -14408,54 -14418,24KL 9,223 9,223 9,226A 2 2 5B 2 2 2I 0 0 4It 1 1 1Ind (×1000) 12 4 5,3EstEv 37563 17427 24593 + TICTEst 9,42E6 2,84E6 3,96E6 + TICNVars 4,54 4,09 4,36

Tabla 2.5: Resultados para una ascensión de colinas en el espacio de órdenes

HCSN. ALARM 3000 casos.

Page 104: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

82 Métodos Locales de Búsqueda

HCSN (r = 7) Empty K2SN PCK2 -47513,60 -47079,60 -47117,67KL 9,269 9,276 9,264A 23 4 2B 3 1 3I 11 0 0It 1 1 1Ind (×1000) 7,3 1,3 3,1EstEv 18333 11384 17266 + TICTEst 2,88E6 4,27E5 9,73E5 + TICNVars 4,67 4,15 4,36

HCSN (r = 36) Empty K2SN PCK2 -47080,22 -47076,20 -47109,89KL 9,274 9,274 9,266A 1 1 1B 1 1 2I 0 0 0It 1 1 1Ind (×1000) 17 3,3 3,4EstEv 51609 20160 26263 + TICTEst 1,39E7 2,52E6 2,96E6 + TICNVars 4,83 4,35 4,39

Tabla 2.6: Resultados para una ascensión de colinas en el espacio de órdenes

HCSN. ALARM 10000 casos.

Page 105: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

2.5. Experimentación y Conclusiones 83

HCSN (r = 13) Empty K2SN PCK2 -57877,99 -58010,39 -57842,38KL 8,443 8,424 8,442A 4,00 12,00 4,00B 9,67 13,00 9,67I 2,33 10,67 1,33It 1 1 1Ind 3,00E+03 4,10E+03 2,55E+03EstEv 8899,67 20274,67 8851,33TEst 1,04E+06 1,67E+06 8,96E+05NVars. 4,02 4,60 4,07

Tabla 2.7: Resultados para una ascensión de colinas en el espacio de órdenes

HCSN. INSURANCE 10000 casos. Promedio 3 bases de datos

ción más un HCST es ya un resultado excelente. Hemos de notar que la medida K2utilizada, es en realidad log(K2), con lo que las diferencias serán muchos mayoresen la medida K2 en escala no logarítmica.

En todos los casos, atendiendo al mejor individuo encontrado en las 10 eje-cuciones de nuestro algoritmo6, la red resultante puede calificarse de muy buenaaproximación.

Si bien esto anterior es cierto, no es menos cierto que comparado con el al-goritmo VNSST (tablas 2.11, 2.13 y 2.15), el cual utiliza también un esquema demúltiples reinicios y búsquedas en el espacio de estructuras, pero de una forma esto-cástica, los resultados de IMAPR son más pobres que los de los algoritmos VNSST,además las diferencias de tiempos de ejecución entre ambos algoritmos no son signi-ficativas (teniendo en cuenta los tests de independencia condicional que se realizanen cada iteración en el algoritmo IMAPR). Estos resultados, en principio, nos sor-prenden un poco ya que en el algoritmo IMAPR se realizan reinicios muchos másguiados por los datos que los reinicios efectuados en los algoritmos VNSST. El pro-blema, pensamos, radica en que si en el esquema de reinicios elegido en el IMAPRelegimos una mala secuencia de ordenación, éste algoritmo tenderá a encontrar unared I-map de los datos y éstos I-map, normalmente con un número mayor de enla-ces, serán puntos de difícil salida para la ascensión de colinas correspondiente. Esteproblema se resuelve satisfactoriamente en el nuevo esquema de vecindad planteadoen la sección 2.6.

6Se podrían considerar las 10 ejecuciones como una sola ejecución del método reiniciando éste cada15 iteraciones con el punto inicial elegido.

Page 106: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

84 Métodos Locales de Búsqueda

IMAPR Empty K2SN PCµ σ Mejor µ σ Mejor µ σ Mejor

K2 -14416,37 7,39 -14405,12-14405,67 2,98 -14401,29-14402,06 1,18 -14401,29KL 9,225 0,003 9,231 9,233 0,003 9,231 9,231 0,000 9,231A 5,00 2,16 3 5,20 1,75 2 1,90 0,74 2B 2,70 1,16 1 1,60 0,52 1 1,00 0,00 1I 2,60 0,52 2 0,70 0,67 0 0,00 0,00 0It 10,60 4,88 11,60 4,22 5,10 4,41Ind 5,24E+05 2,15E+04 4,53E+05 2,02E+04 5,17E+05 2,91E+04EstEv 12485,70 452,62 14071,90 393,69 12633,10 940,00Test 1,07E+06 4,35E+04 9,47E+05 4,11E+04 1,05E+06 5,93E+04Nvars 4,24 0,09 4,48 0,07 4,62 0,06

Tabla 2.8: Resultados IMAPR ALARM 3000 casos 15 iteraciones.

IMAPR Empty K2SN PCµ σ Mejor µ σ Mejor µ σ Mejor

K2 -47246,15 48,73 -47111,03-47080,30 1,75 -47078,27-47133,41 0,00 -47133,41KL 9,266 0,002 9,268 9,275 0,001 9,274 9,271 0,000 9,271A 9,70 2,58 3 1,90 1,45 0 3,30 0,48 4B 3,60 0,70 2 1,00 0,00 1 1,00 0,00 1I 4,90 1,52 2 0,00 0,00 0 2,00 0,00 2It 5,10 5,24 3,60 4,40 3,50 4,40Ind 6,07E+05 1,51E+04 5,18E+05 1,16E+04 5,32E+05 2,60E+04EstEv 14570,60 391,98 16152,80 477,96 13046,50 563,63Test 1,24E+06 3,07E+04 1,08E+06 2,36E+04 1,08E+06 5,30E+04Nvars 4,46 0,04 4,54 0,04 4,69 0,09

Tabla 2.9: Resultados IMAPR ALARM 10000 casos 15 iteraciones.

IMAPR Empty K2SN PCµ σ Mejor µ σ Mejor µ σ Mejor

K2 -57912,43 40,31 -57842,76-58123,73 66,71 -57941,45-57831,29 14,43 -57815,88KL 8,439 0,006 8,465 8,416 0,014 8,385 8,458 0,002 8,413A 9,73 0,88 3 16,17 2,63 12 1,60 0,59 1B 11,20 0,35 8 11,97 0,68 12 7,37 0,49 7I 8,93 1,79 3 16,50 2,03 10 2,07 0,42 2It 8,80 4,04 12,13 2,28 3,90 2,08Ind 1,93E+05 1,04E+04 1,50E+05 1,10E+04 1,65E+05 9,77E+03EstEv 5940,00 291,01 7754,50 316,27 5212,97 288,13Test 3,97E+05 2,14E+04 3,23E+05 2,26E+04 3,39E+05 2,01E+04Nvars 4,41 0,07 4,64 0,06 4,59 0,06

Tabla 2.10: Resultados IMAPR INSURANCE 10000 casos 15 iteraciones. Prome-

dio 3 bases de datos

Page 107: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

2.5. Experimentación y Conclusiones 85

Análisis de los resultados de los algoritmos VNS.Ahora pasaremos a discutirlos resultados obtenidos por los algoritmos VNS tanto en el espacio de grafos diri-gidos acíclicos como en el espacio de secuencias de ordenación. Estos resultadosse pueden observar en las tablas 2.11, 2.12, 2.13, 2.14 para el dominio ALARM ypara el algoritmo VNSST con diferentes parámetros, y en la tabla 2.15 para el do-minio INSURANCE. En todos estos algoritmos hemos fijado comokmax el númerode variables en el dominio en cuestión.

Los resultados para los mismos dominios y para el algoritmo VNSSN se puedenobservar en las tablas 2.16, 2.17 y 2.18.

Respecto del algoritmo VNSST para ALARM, los 3000 primeros casos y losparámetroskmin = 1 y kstep= 1, podemos decir que se obtienen unos magníficos re-sultados, prácticamente se encuentra siempre la mejor red encontrada por nosotroscon una medida K2 de−14401,29. Este algoritmo (para la inicialización K2SN)es del orden de 13,2 veces más lento que el algoritmo HCST, sin embargo hemosde tener en cuenta el número de ascensiones de colinas realizadas por el algoritmoVNSST, que es significativamente superior a este último número. En cuanto a losparámetroskmin = 7 y kstep= 5, podemos decir que se obtienen muy buenos resul-tados, que difieren muy poco del anterior caso, pero con un ahorro de tiempo decálculo considerable (este algoritmo es del orden de 2,52 veces más rápido que paralos parámetroskmin = 1 y kstep= 1 y para la inicialización K2SN), en todos los casosy todas las inicializaciones se alcanza un número considerable de veces la mejor redmencionada anteriormente. Hemos de destacar, que en ambos casos se mejoran losresultados obtenidos sin utilizar la transformación específica diseñada en la sección2.3.27, como puede comprobarse con los resultados obtenidos en el trabajo [48].Además en este último trabajo se puede comprobar la significativa mayor eficienciay eficacia del algoritmo VNSST en comparación a una simple ascensión de colinascon múltiples reinicios aleatorios.

En cuanto al algoritmo VNSST con los 10000 primeros casos de la base de datosALARM, prácticamente se mantiene la misma tónica que en el caso anterior. En estecaso se empeora en media un poquito el resultado para la inicialización EMP conlos segundos parámetros probados (kmin = 7 y kstep= 5), pero esto es porque unasola ejecución de las 10 realizadas dio un resultado muy pobre (−47213).

Para el dominio INSURANCE y el algoritmo VNSST, hemos de decir que entodas las inicializaciones se ha encontrado la mejor red encontrada por nosotroscon un medida K2 de−57773,43. En este dominio observamos de nuevo que lainicialización con el algoritmo PC ofrece los mejores resultados sobre todo en la di-ferencia estructural obtenida. Hemos de destacar, como comentábamos más arriba,que la inicialización con el algoritmo K2SN es especialmente mala, como se puedeobservar en la tabla 2.4, sin embargo el algoritmo VNSST es capaz de superar esta

7Donde con cierta probabilidad en la inversión de un arco borrábamos el conjunto de padres comunes.

Page 108: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

86 Métodos Locales de Búsqueda

VNSST Empty K2SN PCµ σ Mejor µ σ Mejor µ σ Mejor

K2 -14401,30 0,04 -14401,29-14401,30 0,04 -14401,29-14401,29 0,00 -14401,29KL 9,231 0,000 9,231 9,231 0,000 9,231 9,231 0,000 9,231A 2,10 0,32 2 2,10 0,32 2 2,00 0,00 2B 1,00 0,00 1 1,00 0,00 1 1,00 0,00 1I 0,00 0,00 0 0,00 0,00 0 0,00 0,00 0It 97,90 19,73 71,90 13,40 17,90 11,88Ind 4,50E+06 7,48E+05 4,05E+06 1,28E+06 2,90E+06 6,46E+05EstEv 37230,80 3561,79 36418,40 3787,11 29803,70 2494,36Test 5,32E+06 7,68E+05 4,73E+06 8,67E+05 3,62E+06 4,71E+05Nvars 4,41 0,03 4,38 0,04 4,41 0,04

Tabla 2.11: VNSST ALARM 3000 casos kmin = 1 y kstep= 1.

situación y llegar a unos resultados bastante buenos. En este caso este algoritmo,de nuevo para la inicialización K2SN, es del orden de 8,91 veces más lento que elalgoritmo HCST.

Para el dominio ALARM, en las bases de datos probadas, el algoritmo VNSSNllega a unos resultados un poco peores que el correspondiente al VNSST, a pesar deello vemos que prácticamente llegan a unos resultados buenos y que, como hemosargumentado a lo largo de este capítulo, el espacio de búsqueda en las secuenciasde ordenación es más “suave”, esto lo demuestra el número de individuos evaluadosen ambos casos. Aunque también, como comentábamos anteriormente, evaluar unasecuencia vecina es más costoso que evaluar un vecino de un GDA. Por últimohemos de destacar el buen comportamiento que tiene en este espacio y para estedominio la inicialización K2SN. En este caso este algoritmo prácticamente tarda elmismo tiempo que el algoritmo VNSST con los parámetroskmin= 1 ykstep= 1 y porconsiguiente será del orden del doble más lento que el VNSST con los parámetroskmin = 7 y kstep= 5.

Sin embargo, para el dominio INSURANCE el algoritmo VNSSN obtiene unosmuy buenos resultados, mejorando los resultados ofrecidos por el algoritmo VNSST.Esto nos pone de manifiesto que, por una parte, dependiendo del dominio en cues-tión un algoritmo ofrecerá mejores resultados que el otro, y por otra que quizáseligiendo un radio más adecuado en cada dominio, el algoritmo VNSSN ofrece-rá mejores resultados. Conjeturamos que quizás con la mitad de las variables deldominio como inicialización del radio, el algoritmo VNSSN ofrecerá muy buenosresultados y más homogéneos que el algoritmo VNSST. En cuanto al tiempo deejecución hemos de decir que el algoritmo VNSST es del orden de 2,39 veces másrápido que el VNSSN probado.

Page 109: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

2.5. Experimentación y Conclusiones 87

VNSST Empty K2SN PCµ σ Mejor µ σ Mejor µ σ Mejor

K2 -14403,45 4,22 -14401,29-14402,82 2,39 -14401,29-14402,53 1,30 -14401,29KL 9,230 0,002 9,231 9,231 0,002 9,231 9,231 0,000 9,231A 2,30 1,06 2 2,80 1,40 2 1,50 0,53 2B 1,30 0,67 1 1,20 0,42 1 1,00 0,00 1I 0,10 0,32 0 0,30 0,67 0 0,00 0,00 0It 21,20 5,79 15,20 3,52 3,00 2,31Ind 1,67E+06 5,35E+05 1,09E+06 3,49E+05 6,24E+05 2,20E+05EstEv 17833,80 2643,55 16919,40 1712,36 10580,00 1764,23Test 1,62E+06 3,22E+05 1,19E+06 2,03E+05 7,69E+05 1,71E+05Nvars 4,17 0,10 4,15 0,08 4,11 0,08

Tabla 2.12: VNSST ALARM 3000 casos kmin = 7 y kstep= 5.

VNSST Empty K2SN PCµ σ Mejor µ σ Mejor µ σ Mejor

K2 -47076,20 0,00 -47076,20-47076,20 0,00 -47076,20-47076,20 0,00 -47076,20KL 9,274 0,000 9,274 9,274 0,000 9,274 9,274 0,000 9,274A 1,90 0,32 2 1,90 0,32 2 2,00 0,00 2B 1,00 0,00 1 1,00 0,00 1 1,00 0,00 1I 0,00 0,00 0 0,00 0,00 0 0,00 0,00 0It 98,10 28,12 58,40 11,93 47,00 17,54Ind 4,34E+06 8,91E+05 4,35E+06 1,14E+06 3,77E+06 1,25E+06EstEv 35838,90 4098,73 38148,50 4492,77 32901,80 3704,42Test 5,17E+06 9,07E+05 4,98E+06 8,44E+05 4,37E+06 8,25E+05Nvars 4,42 0,06 4,42 0,05 4,42 0,05

Tabla 2.13: VNSST ALARM 10000 casos kmin = 1 y kstep= 1.

VNSST Empty K2SN PCµ σ Mejor µ σ Mejor µ σ Mejor

K2 -47091,03 43,06 -47076,20-47076,88 1,43 -47076,20-47076,62 0,87 -47076,20KL 9,274 0,001 9,274 9,274 0,001 9,274 9,274 0,000 9,274A 2,00 1,76 2 2,10 1,10 2 1,60 0,70 2B 1,10 0,32 1 1,00 0,00 1 1,00 0,00 1I 0,70 1,49 0 0,00 0,00 0 0,00 0,00 0It 23,80 6,49 10,80 3,52 11,90 4,56Ind 1,86E+06 4,50E+05 1,13E+06 4,09E+05 1,18E+06 3,20E+05EstEv 19060,60 2581,05 17134,20 2573,82 14876,80 2237,52Test 1,79E+06 3,10E+05 1,19E+06 2,72E+05 1,24E+06 2,52E+05Nvars 4,24 0,08 4,19 0,07 4,23 0,09

Tabla 2.14: VNSST ALARM 10000 casos kmin = 7 y kstep= 5.

Page 110: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

88 Métodos Locales de Búsqueda

VNSST Empty K2SN PCµ σ Mejor µ σ Mejor µ σ Mejor

K2 -57848,90 3,90 -57773,43-57843,93 24,45 -57773,43-57814,30 27,43 -57773,43KL 8,446 0,041 8,408 8,446 0,041 8,408 8,458 0,041 8,408A 7,83 3,84 2 6,63 1,24 2 1,97 0,76 2B 10,57 1,88 8 10,07 0,67 8 7,30 0,20 8I 8,30 5,26 1 7,17 1,50 1 2,03 0,61 1It 59,43 13,80 135,70 5,79 30,97 5,84Ind 1,35E+06 1,52E+05 2,02E+06 1,87E+05 9,45E+05 5,25E+04EstEv 13907,00 776,04 20215,97 880,86 11660,03 401,29Test 1,51E+06 1,50E+05 2,10E+06 1,31E+05 1,15E+06 5,89E+04Nvars 4,63 0,05 4,71 0,03 4,63 0,04

Tabla 2.15: VNSST INSURANCE kmin = 1 y kstep= 1.

VNSSN Empty K2SN PCµ σ Mejor µ σ Mejor µ σ Mejor

K2 -14408,83 0,64 -14407,92-14408,43 0,27 -14407,92-14408,50 0,23 -14407,92KL 9,224 0,001 9,225 9,223 0,001 9,225 9,223 0,001 9,225A 2,30 0,48 3 2,10 0,57 3 2,20 0,42 3B 2,00 0,00 2 2,00 0,00 2 2,00 0,00 2I 0,00 0,00 0 0,00 0,00 0 0,00 0,00 0It 27,80 9,32 8,20 5,83 16,40 3,10Ind 1,43E+05 5,43E+04 9,08E+04 5,47E+04 8,33E+04 2,93E+04EstEv 46418,30 7044,06 37646,70 8752,57 42358,20 4132,27Test 3,24E+07 1,01E+07 2,30E+07 1,25E+07 1,90E+07 6,11E+06Nvars 4,60 0,07 4,47 0,09 4,59 0,06

Tabla 2.16: VNSSN ALARM 3000 casos r = 7, kmin = 1, kstep= 1 y kmax= 8.

VNSSN Empty K2SN PCµ σ Mejor µ σ Mejor µ σ Mejor

K2 -47087.39 12.26 -47077.18-47076.49 0.90 -47076.20-47110.08 0.41 -47109.89KL 9.273 0,004 9.274 9.274 0.000 9.274 9.266 0.000 9.265A 4.5 3.03 2 1.8 0.42 2 1.9 0.32 2B 1.6 0.52 1 1.0 0.0 1 2.0 0.0 2I 0.8 1.03 0 0.0 0.0 0 0.0 0.0 0It 40.8 15.75 18.1 5.54 12.4 4.35Ind 327335 204091 179865 55924 99061 30844EstEv 68087 11680 49902 5664 54670 7832Test 5.98+E7 2.73+E7 4.16+E7 1.12+E7 2.43+E7 6.53+E6Nvars 4,96 0,06 4.79 0,08 4.85 0.1

Tabla 2.17: VNSSN ALARM 10000 casos r = 7, kmin = 1, kstep= 1 y kmax= 8.

Page 111: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

2.6. Redefiniendo la vecindad para una ascensión de colinas en el espacio de grafos

dirigidos acíclicos 89

VNSSN Empty K2SN PCµ σ Mejor µ σ Mejor µ σ Mejor

K2 -57826,40 24,26 -57779,29-57826,01 32,88 -57773,43-57808,34 30,85 -57774,30KL 8,446 0,042 8,482 8,447 0,041 8,408 8,448 0,042 8,486A 3,27 0,31 3 3,33 0,71 2 3,10 0,17 2B 9,20 0,26 9 8,83 0,06 8 8,93 0,06 8I 0,97 0,25 1 2,80 0,17 1 0,80 0,35 0It 11,47 8,38 29,83 1,63 10,63 2,05Ind 9,26E+04 3,30E+04 1,64E+05 2,06E+04 9,52E+04 6,69E+03EstEv 30911,97 3781,39 49164,03 1091,23 32339,40 629,22Test 2,14E+07 5,59E+06 3,17E+07 2,65E+06 2,16E+07 1,84E+06Nvars 4,47 0,05 4,69 0,05 4,50 0,01

Tabla 2.18: VNSSN INSURANCE r = 13, kmin = 1, kstep= 1 y kmax= 9.

2.6 Redefiniendo la vecindad para una ascensión decolinas en el espacio de grafos dirigidos acíclicos

Hemos observado, en el ejemplo 2 de este capítulo, que cuando nos equivocamos enla orientación de un determinado enlace, cosa que puede ocurrir a menudo sobre to-do si no tenemos más elementos de juicio que solamente el enlace a introducir entredos variables, entonces la mayoría de los algoritmos tienden a “cruzar” los padresde ambas variables del enlace en cuestión. Hemos observado que esto puede ocurrirtambién a menudo en el algoritmo IMAPR si se elige una secuencia de ordenaciónmala, de todas formas es bien conocido que este comportamiento se presenta en unagran cantidad de algoritmos de aprendizaje.

Como hemos indicado anteriormente, esta situación puede ocurrir con bastan-te asiduidad, imaginemos, centrándonos en el ejemplo 2, que la relación con más“fuerza” es la relación entre las variablesx2 y x3, con lo cual un algoritmo de bús-queda probablemente introducirá un arco entre ellos en primer lugar. Si utilizamosuna medida o métrica “score-equivalente” como puede ser la BIC, entonces el mis-mo valor tendrá introducir el enlace en una dirección u otra, ya que no tenemoselementos para discernir su orientación correcta. Si el algoritmo decide introducirla orientación contraria a la verdadera, éste tenderá a hacer comunes los padres deambas variables con una probabilidad muy alta.

Por otra parte, hemos notado que este tipo de estructuras ya tienen un buen valoren la medida o métrica utilizada y que habitualmente los operadores clásicos deborrado, añadido o inversión de un solo arco no son capaces de escapar de estosmáximos (óptimos) locales.

Se han desarrollado algoritmos en la literatura que de una forma u otra intentan“no moverse en el espacio de grafos dirigidos acíclicos sino moverse en el espacio deredes de creencia”. Por ejemplo en los trabajos [28] y [128], se mueven en el espaciode las clases de equivalencia de redes de creencia, y definen operadores específicos

Page 112: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

90 Métodos Locales de Búsqueda

para moverse por este espacio, pero el problema que se plantea es un poco similaral que ocurre en el espacio de secuencias de ordenación, y es que no se aprovechala eficiencia que proporciona habitualmente la propiedad de descomposición de lasmétricas y por consiguiente serán, en general, menos eficientes. También en [2] ensu algoritmo BENEDICT-sin orden plantean movimientos en el espacio de clases deequivalencia. Los resultados ofrecidos por estos algoritmos mejoran, normalmente,los resultados ofrecidos por los operadores clásicos de grafos dirigidos acíclicos,pero a costa de perder eficiencia.

Recientemente en [91] se estudia la posibilidad de llegar a una situación de com-promiso entre el espacio de clases de equivalencia y el espacio de GDAs. En estetrabajo se hace uso intensivo de un operador denominado RCAR (Repeated CoveredArc Reversal), en donde repetidamente se van invirtiendo arcos con padres comunes(un cierto número de ellos prefijado de antemano), para fundamentalmente en unafase posterior relanzar una algoritmo HCST y obtener así un nuevo óptimo local.

Si analizamos bien el problema que planteamos en esta sección y los desarrollosllevados a cabo tanto en [28] y [91], es muy probable que en ambas aproximacionestampoco se salga a menudo de estos óptimos locales, fundamentalmente porque enambos casos se mantendrían todos los enlaces de las familias involucradas en estoscruces y posteriormente sólo se intenta mover en una vecindad local, esto es, intentarborrar/añadir un solo arco8.

Es por ello que nosotros plantearemos un nuevo operador para el espacio deGDAs, en la misma filosofía que en [91], pero pensado específicamente para lasredes de creencia. La vecindad clásica para el espacio de GDAs se ha estudiado enlas secciones anteriores:

NA(G) = {(V,E′)/E′ = E∪{x j → xi},x j → xi /∈ E y (V,E′) es un GDA}

NB(G) = {(V,E′)/E′ = E \{x j → xi},x j → xi ∈ E}

NI (G) = {(V,E′)/E′= (E∪{x j→ xi})\{xi→ x j},xi→ x j ∈E y (V,E′) es un GDA}

Así la vecindad para un grafoG será la unión de las operaciones anteriores, estoes,N (G) =NA(G)∪NB(G)∪NI (G). Nuestra propuesta es la modificación deloperador de inversión, y por consiguiente la redefinición de la vecindadN I (G), queahora quedará definida como:

NI (G) ={(V,E′)/E′ =

((E∪{x j → xi}\

({xi → x j}∪P

xj ,xiold

))∪P

xj ,xinew

)}

(2.12)8Hemos visto en el ejemplo 2 que probablemente si nos movemos un sólo arco, entonces transitoria-

mente empeoremos el valor de la métrica utilizada.

Page 113: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

2.6. Redefiniendo la vecindad para una ascensión de colinas en el espacio de grafos

dirigidos acíclicos 91

tal quexi → x j ∈ E y (V,E′) es un GDA y donde:

Pxj ,xiold

=

{{xp j→ x j},{xpi

→ xi} ∈ E,xp j∈ πG(x j),xpi

∈ πG(xi)}

,

Si πG(xi)∩πG(x j) 6= /0/0,Si πG(xi)∩πG(x j) = /0

(2.13)

y

Pxj ,xinew =

{{xpnj

→ x j},{xpni→ xi},xpnj

∈ A,xpni∈ B y A,B∈P(πG(xi)∪πG(x j))

},

Si πG(xi)∩πG(x j) 6= /0/0,Si πG(xi)∩πG(x j) = /0

(2.14)dondeP(πG(xi)∪ πG(x j)), representa el conjunto de las partes de la unión delconjunto de padres de ambos nodos, yπG representan el conjunto de padres de unnodo en el grafoG.

Esta nueva definición de vecindad quiere decir que cuando nos encontramos queen la inversión de un arco los nodos implicados tienen padres comunes, entonces,además de invertir dicho arco, probaremos como padres de ambos nodos todos losposibles subconjuntos a partir de la unión de los padres que tuviesen ambos nodos.El número de estos subconjuntos sería deO(22n), siendon el número de variables enla unión de los padres, con lo que, en principio, este operador hace que el número devecinos de cada grafo crezca de forma exponencial. Sin embargo, hemos de teneren cuenta que habitualmente el número de padres para una cierta variable es uncantidad baja, este hecho se revela en los experimentos que hemos realizado, y portanto el coste computacional en la práctica no será excesivo. De todas formas, sepodría plantear el limitar el número de subconjuntos tal que no superasen una ciertacantidad en su cardinalidad, como por otra parte es habitual en otros trabajos como[60, 96, 31].

2.6.1 Análisis experimental

En este caso vamos a utilizar los mismos dominios y bases de datos que en la sec-ción 2.5, excepto el dominio INSURANCE. Para este caso hemos realizado unaimplementación de una ascensión de colinas clásica con esta nueva definición devecindad, además hemos ejecutado el algoritmo IMAPR con esta nueva ascensiónde colinas en las mismas condiciones que en la sección 2.5.

Los resultados de la ascensión de colinas clásica se pueden observar en las tablas2.19 y 2.20. En primer lugar la mejora de los resultados, comparados con los de las

Page 114: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

92 Métodos Locales de Búsqueda

HCST Empty K2SN PCK2 -14414,55 -14405,48 -14403,77KL 9,225 9,234 9,231A 4 3 1B 2 1 1I 2 0 0EstEv 3336 5123 1830 + TICTEst 155635 57689 33643 + TICNVars 2,93 3,50 3,14

Tabla 2.19: Resultados para una ascensión de colinas en el espacio de estructuras

HCST redefiniendo la vecindad. ALARM 3000 casos.

tablas 2.2 y 2.3, en el dominio comprobado es bastante significativa en cuanto ala calidad del resultado. Por otra parte si nos fijamos en los estadísticos evaluadosdistintos en ambas ejecuciones y lo comparamos con los de la vecindad clásicade GDAs, resulta que el número de ellos es prácticamente similar, al igual que elnúmero de variables medio que intervienen en ellos (esto hace que prácticamente eltiempo de ejecución de ambos sea similar).

En cuanto a los algoritmos IMAPR para la base de datos de ALARM 3000 casos,los resultados obtenidos mejoran de manera notable los obtenidos por la ascensiónde colinas con la definición de vecindad clásica, y son prácticamente similares alos obtenidos por los algoritmos VNSST en las tablas 2.11 y 2.12. En cuanto a laeficiencia, centrándonos de nuevo en la inicialización K2SN, decir que el algoritmoIMAPR con la definición de vecindad clásica es del orden de 1,13 veces más rápidoque con la redefinición de vecindad realizada en esta sección.

Para la base de datos ALARM y los primeros 10000 primeros casos, hemos dedestacar el comportamiento de IMAPR con esta redefinición de vecindad para lainicialización EMP, para el resto de inicializaciones hemos de notar que una simpleascensión de colinas con esta nueva definición de vecindad obtiene ya un resultadoexcelente, que el algoritmo IMAPR no es capaz de mejorar, por ser éste ya un ópti-mo muy difícil de superar. En cuanto a la eficiencia hemos de decir que se mantieneen el mismo orden (1,3) que en el caso anterior.

Page 115: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

2.6. Redefiniendo la vecindad para una ascensión de colinas en el espacio de grafos

dirigidos acíclicos 93

HCST Empty K2SN PCK2 -47111,03 -47078,27 -47078,27KL 9,268 9,274 9,274A 3 0 0B 2 1 1I 2 0 0EstEv 3327 5147 1973 + TICTEst 152742 44500 44558 + TICNVars 2,94 3,53 3,21

Tabla 2.20: Resultados para una ascensión de colinas en el espacio de estructuras

HCST redefiniendo la vecindad. ALARM 10000 casos.

IMAPR Empty K2SN PCµ σ Mejor µ σ Mejor µ σ Mejor

K2 -14402,41 1,20 -14401,29-14402,72 1,27 -14401,29-14402,54 1,29 -14401,29KL 9,231 0,001 9,231 9,230 0,001 9,231 9,231 0,000 9,231A 1,70 0,48 2 1,20 0,63 2 1,60 0,70 2B 1,00 0,00 1 1,00 0,00 1 1,00 0,00 1I 0,40 0,84 0 0,00 0,00 0 0,00 0,00 0It 8,00 3,40 7,10 3,70 5,10 5,43EstEv 16489,80 1401,51 16927,10 726,28 14333,30 1179,68Test 2,46E+06 8,80E+05 1,98E+06 3,83E+05 2,15E+06 7,15E+05Nvars 4,45 0,12 4,39 0,06 4,52 0,10

Tabla 2.21: Resultados IMAPR ALARM 3000 casos 15 iteraciones. Definición nue-

va vecindad.

IMAPR Empty K2SN PCµ σ Mejor µ σ Mejor µ σ Mejor

K2 -47078,51 0,78 -47078,26-47078,27 0,00 -47078,26-47078,06 0,65 -47076,20KL 9,274 0,000 9,274 9,274 0,000 9,274 9,274 0,000 9,274A 0,30 0,48 1 0,30 0,48 1 0,30 0,48 2B 1,10 0,32 1 1,00 0,00 1 1,00 0,00 1I 0,10 0,32 0 0,00 0,00 0 0,00 0,00 0It 5,60 4,50 2,60 2,84 3,40 4,67EstEv 19175,70 1823,15 20465,70 1803,24 19387,10 3315,64Ntest 3,44E+06 9,21E+05 3,26E+06 1,07E+06 5,72E+06 3,89E+06Nvars 4,58 0,10 4,58 0,12 4,83 0,25

Tabla 2.22: Resultados IMAPR ALARM 10000 casos 15 iteraciones. Definición

nueva vecindad.

Page 116: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

94 Métodos Locales de Búsqueda

Page 117: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

Capítulo 3

Métodos de BúsquedaDistribuidos para elAprendizaje de Redes deCreencia

3.1 Introducción

Cada vez más tenemos a nuestra disposición computadores a bajo coste con capa-cidad de multiprocesamiento, por lo que es muy razonable tratar de aprovechar lasventajas que nos ofrecen este tipo de computadores para realizar nuestras tareas deforma más eficiente y más eficaz. Es por ello que en este capítulo nos dedicaremos aestudiar formas de distribuir tareas en los procesos de búsqueda que previamente he-mos planteado, así como comprobar en nuestro problema en particular su eficienciay sobre todo su eficacia. Estos entornos multiprocesador nos ofrecen la posibili-dad de realizar de forma simultánea varias tareas aprovechando de manera óptimasus recursos. Fundamentalmente se puede pensar en dos formas de distribuir losproblemas en varias tareas atendiendo al objetivo perseguido:

• Subdividir un problema en subproblemas más o menos independientes y re-solverlos de forma simultánea en el tiempo, para fundamentalmente aumentarsu eficiencia (reducir el tiempo de computación).

• Relacionado con el punto anterior, abordar un problema más o menos com-plejo realizando más trabajo, y aumentando así nuestras garantías de éxito

95

Page 118: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

96 Métodos de Búsqueda Distribuida

al poder realizar más tareas en un mismo periodo de tiempo, para aumentarfundamentalmente su eficacia.

La búsqueda distribuida en el aprendizaje de redes de creencia no ha recibidotanta atención en la literatura como la búsqueda secuencial. Se pueden encontraralgunos trabajos relacionados con el tema: Sangüesa y col. [123] desarrollan unalgoritmo paralelo para el aprendizaje de redes posibilísticas. Xiang y col. [137]desarrollan algoritmos paralelos para el aprendizaje estructural de redes de Markov.Lam y col. [95] desarrollan un algoritmo distribuido para el aprendizaje estructuralde redes Bayesianas, en donde fundamentalmente se distribuyen los cálculos (bús-queda del conjunto de padres de un determinado nodo) para aumentar la eficienciaen una técnica de ramificación y acotamiento, sin embargo este algoritmo necesi-ta de un orden previo entre las variables. Por último Lozano y col. [103] diseñanalgoritmos paralelos para fundamentalmente disminuir el coste de la búsqueda.

Nosotros, debido al problema que queremos resolver, estamos más interesadosen la segunda opción, esto es, aumentar de alguna forma las garantías de encontraruna buena solución, explorando más regiones de nuestro espacio de búsqueda en unmismo periodo de tiempo. En primer lugar estudiaremos una versión distribuida delesquema de búsqueda local en entorno variable presentado en el capítulo anterior.A continuación estudiaremos cómo resolver nuestro problema mediante una técnicade reciente aparición, como es el modelo de agentes cooperativos, el modelo delas colonias de hormigas. Finalmente, propondremos un sistema distribuido híbridoentre las búsquedas VNS y las colonias de hormigas.

3.2 Búsqueda en Entorno Variable Distribuida

La principal motivación de realizar una versión distribuida de la búsqueda en en-torno variable es aumentar la calidad de la solución encontrada sin incrementar eltiempo de computación. Una primera idea para distribuir la búsqueda en entornovariable directa y simple sería lanzark búsquedas en paralelo independientes y que-darnos con la mejor de ellas al finalizar estas búsquedas. En la figura 3.1 podemosver un esquema de funcionamiento de este tipo de algoritmo. Siendo la búsqueda enentorno variable una búsqueda estocástica, podremos esperar que el algoritmo ofre-ciera diferentes resultados durante distintas ejecuciones, esperando que este simplemétodo mejore la calidad de la solución buscada.

Esta primera aproximación no deja de ser equivalente a realizark iteracionesdel algoritmo VNS simple, esto es, esta versión realizaría la misma búsqueda des-de el punto de vista de la calidad de la solución aportada. En lugar de realizarkbúsquedas totalmente independientes, podemos de alguna forma colaborar entre lask búsquedas iniciadas de forma paralela, cada cierto tiempo coordinar de algunaforma nuestra búsqueda con el objetivo principal de centrarnos en las zonas más

Page 119: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

3.2. Búsqueda en Entorno Variable Distribuida 97

�������������������������������������������������������������������������������������������������������������������������

�������������������������������������������������������������������������������������������������������������������������

�������������������������������������������������������������������������������������������������������������������������

�������������������������������������������������������������������������������������������������������������������������

������������������������������������������������������������������������������������������������������������������������������������

������������������������������������������������������������������������������������������������������������������������������������

VNS

VNS

VNS

P1

P2

Pk

σ1

σ2

σk

σ ′1

G′σ1

σ ′2

G′σ2

σ ′k

G′σkGσk

Gσ2

Gσ1

Figura 3.1: Esquema del Algoritmo VNS Distribuido - Búsquedas Independientes

Page 120: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

98 Métodos de Búsqueda Distribuida

��������������������������������������������������������������������������������������������������������������

��������������������������������������������������������������������������������������������������������������

��������������������������������������������������������������������������������������������������������������

��������������������������������������������������������������������������������������������������������������

������������������������������������������������������������������������������������������������������������������������

������������������������������������������������������������������������������������������������������������������������

VNS

VNS

VNS

P1

P2

Pk

σ1

σ2

σk

σ ′1

G′σ1

σ ′2

G′σ2

σ ′k

G′σkGσk

Gσ2

Gσ1

maxg(Gσ )

Figura 3.2: Esquema del Algoritmo VNS Distribuido - Búsquedas Coordinadas Glo-

balmente

Page 121: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

3.2. Búsqueda en Entorno Variable Distribuida 99

prometedoras exploradas hasta el momento. Esta coordinación entre búsquedas sepuede realizar de distintas maneras y es un problema que de cierta forma quedaabierto. Nosotros hemos elegido una forma simple de coordinar nuestra búsqueday es la siguiente: Una vez que lask búsquedas, iniciadas desde algún punto elegidopreviamente, han terminado el bucle interno del método VNS, esto es, han alcanza-do la vecindad máxima de búsqueda, entonces nos quedamos con la mejor soluciónaportada e iniciamos de nuevok búsquedas en paralelo con esta solución como ini-cio de la búsqueda. De esta forma en cada iteración del VNS nos centraremos en laregión del máximo local alcanzado hasta ese momento, con la esperanza de que elóptimo local no quede lejos del que hemos alcanzado. Esta estrategia de coordina-ción entre búsquedas no se aleja lo más mínimo de la filosofía inicial de la búsquedaen entorno variable. Esta aproximación puede ser vista como un modelo de coordi-nación global entre todas las soluciones y hemos de notar que es independiente delproblema a tratar. Un esquema de este tipo de algoritmo lo podemos ver en la figura3.2.

Por último notar que para nuestro problema de aprendizaje de redes de creencia,estas aproximaciones son directamente aplicables, tanto en el espacio de búsquedade grafos dirigidos acíclicos como en el espacio de órdenes.

3.2.1 Esquema de inicialización de las búsquedas distribuidas

Un forma de inicializar las diferentes búsquedas es por supuesto de forma aleatoria,tanto en el espacio de órdenes como en el espacio de grafos dirigidos acíclicos. Unaforma un poco menos aleatoria es elegir una secuencia de ordenación aleatoria entrelos nodos y aprender mediante el algoritmo K2 la estructura de la red de creenciainicial para todos o parte de los individuos de la población.

La inicialización aleatoria tiene las ventajas de que al ser al azar: (a) podemoselegir un buen punto de inicio para la búsqueda y (b) explorar más regiones delespacio de búsqueda correspondiente, esto es, diversificaríamos los puntos de inicioen el espacio de búsqueda, pero tiene el claro inconveniente de que con frecuenciaperderemos tiempo intentando optimizar malos puntos de inicio.

Otra forma de inicialización puede ser un poco más guiada que las anteriores, detal forma que nos centremos desde el principio en regiones prometedoras del espa-cio de búsqueda. Por otra parte, la inicialización de los diferentes puntos de iniciodebe ser eficiente ya que no sería deseable invertir demasiado tiempo en buscar es-tas zonas del espacio de búsqueda prometedoras. Una heurística de búsqueda en elespacio de grafos dirigidos acíclicos bastante eficiente es el Algoritmo B [23]: Estealgoritmo realiza una búsqueda local a partir de grafo vacío de enlaces, en donde deforma incremental va introduciendo arcos entre nodos, eligiendo en cada etapa aquélque maximiza una medida, todo ello evitando ciclos dirigidos (ver capítulo 1). Elresultado de este algoritmo sería una buena opción como punto de partida para nues-

Page 122: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

100 Métodos de Búsqueda Distribuida

tra búsqueda, ya que el resultado suele ser una aproximación bastante informada delóptimo que deseamos conseguir, además de ser un algoritmo suficientemente rápidocomo para plantearlo como inicialización. El problema que se nos plantea ahora esque este algoritmo es determinista y por tanto no sería conveniente inicializar todaslas búsquedas con el mismo punto ya que no diversificaríamos suficientemente labúsqueda.

Para solucionar este inconveniente vamos a plantear una versión probabilísticadel algoritmo B, de tal forma que no se generen (normalmente) los mismos resul-tados como inicio de las búsquedas posteriores VNS y sigan conservando en ciertamedida la propiedad de ser unos puntos de inicio prometedores. Esta versión pro-babilística, (figura 3.3), consistirá en cambiar la forma de seleccionar el arco a in-troducir de tal forma que con cierta probabilidadp (parámetro de intensificación odiversificación) se seleccione de forma proporcional a su valor de la métrica el arcoque debe ser introducido y con una probabilidad 1− p se siga eligiendo el arco quemaximiza la métrica utilizada (ecuación 3.1). De esta forma no cambiaríamos deforma radical todos los atributos que nos ofrece la solución determinista del Algo-ritmo B.

i, j =

argmaxi, j

{[ f (xi ,π(xi)∪{x j})− f (xi,π(xi))]

}con probabilidad 1− p,

Selec. con prob.[ f (xi ,π(xi)∪{x j})− f (xi ,π(xi))]

∑h,u[ f (xh,π(xh)∪{xu})− f (xh,π(xh))]con probabilidadp.

(3.1)

En la ecuación 3.1 hay que especificar dos restricciones: (a) Cuando la inclusiónde un arco introduce un ciclo dirigido, entonces no se ha de escoger, en el caso deque estemos maximizando simplemente se ignora; y en el caso de que sorteemossimplemente ponemos esta probabilidad a 0. (b) Cuando la inclusión de un arco nosde una diferencia negativa, por un lado en el caso de que estemos maximizando nohay ningún problema, pues el propio algoritmo B se encarga de no escoger este tipode arcos; y en el caso de que sorteemos de nuevo pondremos esta probabilidad a 0,de esta forma nos aseguramos de que nunca se escogerá la inclusión de este arco1.

En este algoritmo la matrizA[i, j] representa una matriz de adyacencias en dondeguardamos las diferencias entre la medida con los padres del nodox i en la actualetapa con la inclusión en el conjunto de padres del nodox j y la medida con losactuales padresπ(xi) sin la inclusión del nodox j . En este caso identificamos lainclusión de ciclos dirigidos en la actual solución con la asignación a esta matriz delvalor−∞, esto se hace en cada etapa buscando los ancestros y los descendientes deun determinado nodoxi .

El mismo esquema se podría utilizar para buscar puntos de inicio prometedores

1En el proceso de sorteo generamos un U[0,1], en el caso de que nos genere un 0 la primera vez,repetimos la generación hasta que nos genere un número diferente de 0

Page 123: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

3.2. Búsqueda en Entorno Variable Distribuida 101

Algoritmo B Probabilístico

1. Etapa de Inicialización:

(a) Para i= 1 hasta n hacer:π(xi) = /0

(b) Para i= 1 y j = 1 hasta n hacer:Si (i 6= j) Entonces A[i, j] = f (xi ,x j)− f (xi , /0)

2. Etapa Iterativa:

(a) Repetir hasta que∀ i, j (A[i, j] ≤ 0 ó A[i, j] =−∞).

i. Seleccionar un par de índices i y j siguiendo la ecuación 3.1

ii. Si (A[i, j] > 0) Entoncesπ(xi) = π(xi)∪{x j}

iii. A [i, j] =−∞iv. Para xa ∈ Ancestros(xi) y xb ∈Descendientes(xi)∪{xi} hacer:

A[a,b] =−∞.

v. Para k= 1 hasta n hacer:Si (A[i,k] > −∞) Entonces A[i,k] = f (xi ,π(xi) ∪ {xk}) −

f (xi ,π(xi))

Figura 3.3: Algoritmo B Probabilístico

Page 124: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

102 Métodos de Búsqueda Distribuida

en el espacio de órdenes, pero en lugar de utilizar el algoritmo B, podríamos utilizarel algoritmo K2SN. De esta forma podríamos plantear una versión probabilísticade este algoritmo en el mismo sentido del caso anterior, realizando una selecciónproporcional con probabilidadp y una selección por máximo con una probabilidad1− p. Esta versión probabilística del algoritmo K2SN la podemos ver en la figura3.4.

K2SN Probabilístico

1. VISITADOS= /0 y PORVISITAR= VARIABLES.

2. Mientras|PORVISITAR|> 0 hacer

(a) Si(q≤ (1− p)) (q∈U [0,1]) Entonces

i. max=−∞ii. Para i = 1 hasta|PORVISITAR| hacer

A. Sea xi ∈ PORVISITAR

B. f = K2(xi,VISITADOS)

C. π(xi) = K2(xi ,VISITADOS)

D. Si f(xi ,π(xi)) > max entoncesmax= f (xi ,π(xi)), x= xi

(b) Si(q > (1− p)) Entonces

i. Para i = 1 hasta|PORVISITAR| hacer

A. Sea xi ∈ PORVISITAR

B. f = K2(xi,VISITADOS)

C. π(xi) = K2(xi ,VISITADOS)

D. prob[i]= f (xi ,π(xi))

ii. Normalizar prob y xs = SORTEAR(prob), x= xs

(c) V ISITADOS= VISITADOS∪{x}

(d) PORVISITAR= PORVISITAR\{x}

Figura 3.4: Algoritmo K2SN Probabilístico

Page 125: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

3.2. Búsqueda en Entorno Variable Distribuida 103

3.2.2 Un modelo de colaboración inspirado en los AlgoritmosGenéticos paralelos. El Modelo de Islas

Una técnica de coordinación más elaborada y menos global que la anterior, e ins-pirada en una estrategia de colaboración de los algoritmos Genéticos paralelos esla denominada modelo de Islas, proveniente de conceptos de la teoría de la evolu-ción. En este modelo la población está subdividida en subpoblaciones que viven enáreas independientes y directamente no accesibles unas de otras, denominadas is-las. La interacción entre estas subpoblaciones se realiza mediante migraciones entremiembros de islas, que deciden viajar entre islas comunicadas bajo una topologíade comunicaciones entre ellas normalmente prefijada; esta topología nos dirá quéislas son accesibles desde cierta isla en cada instante de tiempo y los individuosde una determinada isla sólo pueden viajar a una isla vecina determinada por estatopología.

La principal propiedad de este modelo es que su convergencia parece ser másrápida que el equivalente no distribuido. Además es un modelo que se presta a unadirecta y simple distribución entre los procesadores disponibles. Algunos autoreshan utilizado este modelo para distribuir procesos de búsqueda, por ejemplo Laursen[101] utiliza este modelo para proponer una método de estrategia de división parauna búsqueda “simulated annealing distribuida”.

Las cuestiones principales a resolver en este modelo de islas son el esquema demigración entre islas, esto es, decidir cuándo se realizan las migraciones, cómo yqué individuos migran entre islas y elegir entre los nuevos y viejos individuos enuna isla determinada. Estas reglas son dependientes del problema y se deben ajustarpara un problema específico.

Nosotros ahora vamos a proponer una adaptación de este modelo de islas pararealizar una búsqueda en entorno variable distribuida con una coordinación basadaen este modelo. Vamos a suponer que tenemos en cada procesador una población deh individuos, cada uno de ellos puede ser visto como un estado inicial para empezara realizar una búsqueda en entorno variable de forma paralela, y cada una de ellasalcanzará un estado final cuando se determine que se deben coordinar las búsquedasentre todos los procesadores. Esta fase de coordinación se puede realizar de variasformas, nosotros hemos decidido coordinar las búsquedas de igual forma que en elesquema anterior, esto es, cuando se termine de realizar la búsqueda con el máximofijado de vecindad, es decir, cuando realizamos una iteración del VNS para cadaindividuo de nuestra población. Fijémonos que entonces cada procesador puede servisto como una isla en el modelo descrito previamente.

Una vez alcanzados los estados finales para cada individuo de todos los proce-sadores disponibles, entonces se iniciará una fase de migración entre procesadores(islas) vecinos. Se deben elegir los individuos que han de migrar y una vez realizadala migración entre procesadores se debe seleccionar entre los individuos (viejos y

Page 126: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

104 Métodos de Búsqueda Distribuida

nuevos) para de nuevo tenerh individuos como estado inicial de esta nueva pobla-ción. Entonces el algoritmo procederá de la siguiente forma:

a) Todos los procesadores realizan una iteración (interna) del VNS, utilizandosush individuos como estados iniciales de la búsqueda.

b) Dependiendo de la topología de comunicación elegida, emparejamos cadaprocesador con sus procesadores vecinos y hacemos migrar a un número deindividuos de un procesador a otro.

c) Seleccionamos en cada procesadorh individuos, entre los viejos y los nuevosque acaban de migrar a éste.

d) De nuevo realizamos una nueva iteración (interna) del VNS, hasta que algunacondición de parada prefijada se cumpla.

Este algoritmo se puede ver como un híbrido entre Algoritmos Genéticos y Bús-queda en Entorno Variable: entre las fases de coordinación (búsquedas independien-tes) se realizan búsquedas VNS y en la fase de coordinación se puede ver como unalgoritmo genético. La cuestión ahora es cómo realizar la migración entre procesa-dores y la selección de individuos una vez realizada la migración. Hemos de fijarnostambién que este modelo descrito, después lo matizaremos más, contiene como ca-sos particulares los modelos de coordinación que hemos estudiado al principio de lasección.

Como comentamos más arriba, no hay normas generales y universales para ele-gir el esquema de migración y selección más adecuado para todo tipo de problemas,así como una topología de comunicaciones.

Para elegir una topología de comunicaciones se puede optar por varias opciones:Una topología en anillo, es estrella, (hiper)cubo, etc. Estas topologías pueden serestáticas (no varían durante la ejecución del algoritmo) o pueden ser dinámicas.Para nuestras pruebas, hemos elegido una topología en anillo, esto es, el procesador0 realiza una migración de individuos al procesador 1, éste a su vez realizará unamigración de individuos al procesador 2, así hasta que el último procesador realizaráuna migración al procesador primero 0. En general tendremos que los procesadoresse comunicarán con el siguiente patrón:i → (i + 1)modn, siendon el número deprocesadores disponibles. Un ejemplo con 4 procesadores se muestra en la figura3.5.

Ahora debemos decidir tanto el esquema de migración como de selección quevamos a seguir para nuestro algoritmo. Las opciones que se pueden seguir pararealizar el esquema de migración, una vez elegido la isla vecina donde vamos amigrar, pueden ser:

• Poner losj mejores individuos en la isla vecina.

Page 127: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

3.2. Búsqueda en Entorno Variable Distribuida 105

�������������������������������������������������������������������������������������������������������������������������

�������������������������������������������������������������������������������������������������������������������������

������������������������������������������������������������������������������������������������������������������������������������

������������������������������������������������������������������������������������������������������������������������������������

������������������������������������������������������������������������������������������������������������������������������������

������������������������������������������������������������������������������������������������������������������������������������

������������������������������������������������������������������������������������������������������������������������������������

������������������������������������������������������������������������������������������������������������������������������������

������������������������������������������������������������������������������������������������������������������������������������

������������������������������������������������������������������������������������������������������������������������������������

������������������������������������������������������������������������������������������������������������������������������������

������������������������������������������������������������������������������������������������������������������������������������

������������������������������������������������������������������������������������������������������������������������

������������������������������������������������������������������������������������������������������������������������

������������������������������������������������������������������������������������������������������������������������

������������������������������������������������������������������������������������������������������������������������

������������������������������������������������������������������������������������������������������������������������

������������������������������������������������������������������������������������������������������������������������

�������������������������������������������������������������������������������������������������������������������������

�������������������������������������������������������������������������������������������������������������������������

������������������������������������������������������������������������������������������������������������������������������������

������������������������������������������������������������������������������������������������������������������������������������

������������������������������������������������������������������������������������������������������������������������������������

������������������������������������������������������������������������������������������������������������������������������������

Isla 4Isla 3

Isla 1 Isla 2

VNS

VNS

VNS

P1

P2

Pk

σ1

σ2

σk

σ ′1

σ ′2

σ ′k

VNS

VNS

VNS

P1

P2

Pk

σ1

σ2

σk

σ ′1

σ ′2

σ ′k

VNS

VNS

VNS

P1

P2

Pk

σ1

σ2

σk

σ ′1

σ ′2

σ ′k

Gσ2

Gσ1

VNS

VNS

VNS

P1

P2

Pk

σ1

σ2

σk

σ ′1

σ ′2

σ ′k

Gσ1

Gσ2

GσkG′σk

G′σ2

G′σ1Gσ1

Gσ2

GσkG′σk

G′σ2

G′σ1

G′σ1

G′σ2

G′σkGσk

G′σk

G′σ2

G′σ1Gσ1

Gσ2

Gσk

Figura 3.5: Esquema del Algoritmo VNS Distribuido - Búsquedas Coordinadas Mo-

delo de Islas

• Poner solo el mejor individuo.

• Poner todos los individuos.

En nuestro caso vamos a elegir la última opción, es decir, copiamos toda lapoblaciónh del procesadori al procesador(i + 1)modn, así temporalmente esteúltimo procesador tiene 2h individuos en su población. La justificación de estaelección es que nuestro problema es tan complejo que no podemos iterar muchasveces el proceso, con lo cual mediante esta elección aseguramos en poca iteracionesque todos los mejores individuos estén presentes en todos los procesadores. De estaforma dirigimos el proceso de búsqueda hacia las zonas más prometedoras en pocasiteraciones.

Ahora cada procesador debe seleccionarh individuos entre todos los individuos,(2h), para mantener su población. Como podemos imaginar existen múltiples op-ciones para realizar esta última operación de selección:

• Selección inspirada en el paradigma de los algoritmos Genéticos (seleccióngenética, incluso se podría plantear cruzar y mutar ciertos individuos).

• Selección determinista, se seleccionan directamente losh mejores individuos.

Page 128: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

106 Métodos de Búsqueda Distribuida

• Selección totalmente aleatoria.

Teniendo en cuenta la filosofía VNS, quizás la estrategia que se deba elegir es lade seleccionar directamente losh individuos mejores, esta es la operación de selec-ción que hemos elegido. Por la misma razón planteada en la elección del esquemade migración, en nuestro caso preferimos una rápida convergencia de nuestro algo-ritmo hacia zonas prometedoras del espacio de búsqueda, ya que como comentamosno podemos realizar demasiadas iteraciones del proceso.

También hemos de notar que aunque hemos elegido un esquema de migraciónestático entre losn procesadores, al realizar como mínimon iteraciones del procesotodos los mejores individuos se mezclarán en todas la islas.

Hemos comentado anteriormente que los esquemas de distribución planteadosal principio del capítulo pueden ser vistos como un caso particular del modelo deislas que hemos descrito previamente. Efectivamente si tenemos un solo procesadorconh individuos, es como si tuviésemosh búsquedas en entorno variable de formaindependiente, que es el primer esquema planteado. Si tuviésemosn procesadorescon un solo individuo en su población, después dei > n iteraciones tendríamos elesquema planteado en segundo lugar, pues el mejor individuo estaría replicado entodos los procesadores.

3.3 Aprendizaje Cooperativo y Distribuido de Redesde Creencia mediante Colonias de Hormigas

El Sistema de Colonias de Hormigas (SCH) [53, 54, 52] se ha transformado en másque una metáfora divertida del comportamiento cooperativo y distribuido de ciertasclases de hormigas. Aunque la primera versión, denominada Sistemas de Hormigas,sólo obtuvo pequeñas mejoras en los problemas aplicados, recientes desarrollos ymejoras del anterior sistema han mejorado de largo los primeros resultados obteni-dos.

La idea subyacente de este sistema es usar una retroalimentación del sistema,basada en la analogía natural de ciertas especies de hormigas y algunos otros in-sectos con comportamiento social, para reforzar aquellas soluciones prometedorasque pueden contribuir a mejorar la solución final del sistema. El sistema de refuer-zo utilizado es una cantidad de feromona virtual que nos permite memorizar estassoluciones prometedoras, y a partir de éstas intentar mejorar las soluciones en unfuturo. Desde luego si sólo permitimos que se refuercen las soluciones mejores,podemos correr el riesgo de que limitemos tanto nuestro espacio de búsqueda quehaga que entremos en una solución suboptimal. Para evitar esto se introduce unapenalización para aquellas soluciones repetidas en exceso mediante lo que se deno-mina evaporación de feromona. Esta evaporación se lleva a cabo cada cierto tiempo,

Page 129: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

3.3. Aprendizaje Cooperativo y Distribuido de Redes de Creencia mediante Colonias de

Hormigas 107

con el compromiso entre el comportamiento cooperativo de las hormigas y la pre-matura convergencia del sistema, esto es, ni el tiempo puede ser demasiado corto nidemasiado largo, respectivamente.

El comportamiento cooperativo y distribuido en este sistema son conceptos muyimportantes, los algoritmos basados en estas ideas hacen uso de la exploración si-multánea de diferentes soluciones por una colección de hormigas idénticas. Lashormigas que realizan bien su trabajo influyen de manera decisiva en el comporta-miento de futuras hormigas.

3.3.1 El Sistema de Colonias de Hormigas

Los algoritmos de Optimización basados en Colonias de Hormigas [54] son sistemasmulti-agente en los que el comportamiento de cada agente (hormiga) está inspiradoen el comportamiento de las hormigas reales. Estos algoritmos se inspiran en elproceso seguido por las hormigas para encontrar una ruta mínima entre una fuentede alimento y el nido. Cuando una hormiga pasa por un camino deposita sobre éluna sustancia química llamada feromona. Las hormigas usan el rastro de feromonadepositado en los caminos para guiarse. Cuando una hormiga se encuentra en uncruce y tiene que decidir el camino a tomar, realiza una decisión de tipo probabi-lístico en función de la cantidad de feromona depositada sobre cada ramificación.De este modo, inicialmente todos los caminos son igualmente probables, pero con eltiempo los caminos más cortos acaban siendo más frecuentados y, por tanto, recibenun aporte de feromona más alto; mientras que los caminos más largos dejan de servisitados y la feromona que había en ellos se evapora. Así, podemos ver como lasolución final emerge entre la colaboración de los miembros de la colonia.

Inicialmente los algoritmos SCH fueron usados para resolver problemas de bús-queda de caminos en grafos; sin embargo, posteriormente Dorigo y Di Caro [53]introducen una Metaheurística basada en colonias de hormigas, válida para resolverproblemas de optimización combinatoria que puedan representarse en forma de gra-fo. Para ilustrar la resolución de algunos problemas en particular y por la relaciónestrecha entre estos problemas y el problema que queremos resolver, pasaremos arevisar la aplicación del SCH al problema del viajante de comercio y al problemade la asignación cuadrática.

3.3.1.1 El Sistema de Hormigas para el problema del viajante de comercio

En el problema del viajante de comercio el objetivo es buscar la ruta de mínima lon-gitud que conectan ciudades. Cada ciudad sólo puede visitarse una y sólo una vez.Seadi, j la distancia entre dos ciudadesi y j. Estas distancias se pueden represen-tar mediante un grafo, en donde los nodos del grafo son las ciudades y los enlacesson las conexiones entre ciudades. La matriz de distancias entre ciudades no tiene

Page 130: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

108 Métodos de Búsqueda Distribuida

porque ser simétrica, esto esdi, j 6= d j ,i , este aspecto es irrelevante en el caso de suresolución mediante el sistema de hormigas.

Durante una iteraciónt del sistema de hormigas cada hormigak construye unaruta completa, empezando por una ciudadi, elegida de forma aleatoria. Una vezemplazados en una ciudad concreta, la hormiga debe elegir la siguiente ciudadjaún no visitada aplicando una regla de transición probabilística. Para cada hormigak la transición entre las ciudadesi y j en una iteraciónt del algoritmo depende delos siguientes aspectos:

• Para cada hormigak se define un conjuntoJk(i) de ciudades que aún no hansido visitadas por esta hormiga durante la construcción de su ruta.

• Se define la visibilidad como la inversa de la distancia entre dos ciudadesηi, j = 1/di, j . Esta información es estrictamente local a cada pareja de ciuda-des y puede representar una información de preferencia para elegir la próximaciudad a visitar estando en una determinada ciudadi. Esta información se uti-lizará como heurística en el proceso de construcción de una ruta por parte deuna hormiga. Hemos de notar que esta información es de carácter estático, esdecir, no cambia en ningún momento.

• La cantidad de feromona virtual en una determinada iteración del algoritmot depositada en una conexión entre las ciudadesi y j, que denominaremosτi, j(t). Esta feromona se irá actualizando durante cada iteración del proceso yrepresenta la preferencia aprendida por el conjunto de hormigas de transiciónentre las ciudadesi y j.

La regla de transición define la probabilidad para una hormigak de elegir laciudad j estando situada en la ciudadi. Se define como:

pk(i, j) =

[τi, j ]α [ηi, j ]

β

∑u∈Jk(i)[τi,u]α [ηi,u]β

si j ∈ Jk(i),

0 en otro caso.(3.2)

dondeηi, j representa la información heurística acerca del problema yJk(i) es elconjunto de nodos a los que podemos ir desde el nodoi y que aún no han sidovisitados por la hormigak; finalmenteα y β son dos parámetros que representan laimportancia relativa de la feromona con respecto a la información heurística.

En una segunda versión los autores cambian esta regla de transición entre losnodos de forma que se pueda decidir de forma paramétrica cuándo se realiza unamayor explotación del conocimiento y cuándo se realiza una mayor exploración enel espacio de búsqueda. Ahora el siguiente nodoj a visitar se elige como:

j =

{argmaxu∈Jk(i)

{[τi,u][ηi,u]

β}

si q≤ q0,

J si q> q0.(3.3)

Page 131: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

3.3. Aprendizaje Cooperativo y Distribuido de Redes de Creencia mediante Colonias de

Hormigas 109

dondeq es un número aleatorio entre[0,1] y 0≤ q0 < 1 es el parámetro para contro-lar la explotación o exploración.J ∈ Jk(i) es un nodo seleccionado aleatoriamentede acuerdo a las probabilidades calculadas usando la ecuación 3.2 tomandoα = 1.

En cada iteración del algoritmo cada hormiga de la colonia construye de formaprogresiva (aplicando la regla anterior 3.3) una solución al problema. En función delas soluciones obtenidas por las hormigas se actualiza la matriz de feromona:

• Actualizaciónglobal: Consiste enreforzar la cantidad de feromona en losarcos que forman parte de la mejor solución hasta el momento,S+. Estofavorece la búsqueda en la vecindad de este camino, es decir, la exploraciónes más dirigida. La regla de actualización global de feromona es:

τi, j ← (1−ρ) · τi, j +ρ ·∆τi, j (3.4)

donde(i, j) son las aristas pertenecientes a la soluciónS+; ρ es el paráme-tro que controla la evaporación de la feromona; y∆τ i, j = 1

C(S+), conC(·) la

función de coste de una solución.

• Actualizaciónlocal: Durante el proceso de construcción de una solución (se-cuencia) por parte de una hormigak, cuando se realiza una transición desdeel nodoi hasta el nodoj se actualiza el nivel de feromona en la arista(i, j)aplicando la siguiente expresión:

τi, j ← (1−ρ) · τi, j +ρ · τ0 (3.5)

dondeτ0 es la cantidad de feromona inicial de cada arista. Por tanto cada vezque una arista es visitada su nivel de feromona disminuye, haciéndola cadavez menos atractiva. Esta regla de actualización local favorece la exploraciónde aristas todavía no visitadas, evitándose así una convergencia prematurahacia un camino común. Sin la regla de actualización local todas las hormigasse limitarían a buscar en la vecindad del mejor camino encontrado hasta elmomento, evitándose la posibilidad de que emerjan otras soluciones.

Otras mejoras introducidas por el sistema de colonias de hormigas a los sistemasprevios de hormigas son:

• Usar una lista de candidatos. Se trata de tener una lista de candidatos o nodospreferidos desde un determinado nodoi, de forma que no sea necesario exa-minar todos los candidatos enJk(i). Sólo cuando ya se han visitado todos losnodos candidatos dei se pasa a examinar el resto de nodos.

• Usar un optimizador local. Todas o algunas de las soluciones aportadas por lashormigas son optimizadas por medio de algún algoritmo de búsqueda local.Esta técnica se ha mostrado especialmente eficaz en problemas de tamañogrande.

Page 132: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

110 Métodos de Búsqueda Distribuida

3.3.1.2 El Sistema de Colonias de Hormigas para el problema de la asignacióncuadrática

Este problema puede ser definido como sigue: Consideramos un conjunto de activi-dadesn que deben ser asignadas a un conjunto den localizaciones o viceversa. UnamatrizD = [di, j ]n,n, al igual que en el problema del viajante de comercio, representalas distancias entre las diferentes localizaciones, y una matrizF = [ fh,k]n,n caracte-riza el flujo (transferencia de datos, material, ...) entre la actividadh y la actividadk.Una asignación es una permutaciónπ de{1. . .n}, dondeπ(i) es la actividad que hasido asignada a la localizacióni. El problema es encontrar la permutación óptima talque la suma de los productos entre los flujos y actividades sea mínimo. Al igual queel problema del viajante de comercio se quiere establecer un orden entre las varia-bles del problema, la única diferencia es que en este problema sí que es importantetanto el nodo inicial de una permutación como la ordenación entre las variables.

En este caso la matriz de feromonaτ i, j cambia su significado. Si bien en elproblema del viajante de comercio, esta matriz representa la feromona virtual depo-sitada sobre la arista(i, j), esto es, la fuerza relativa aprendida de que la ciudadj esla siguiente a la ciudadi, en el problema que nos ocupa representa que la actividadj es asignada en la localizacióni, en definitiva qué lugares ocupan cada una de lasactividades en la permutación correspondiente.

El resto de componentes del algoritmo para aplicar el sistema de colonias dehormigas al problema de la asignación cuadrática puede ser el mismo que el ca-so anterior, excepto qué duda cabe la componente heurística, que en este caso esespecífica al problema que se quiere resolver.

3.3.1.3 Sistema Híbrido de Hormigas

Gambardella y col. [18, 63] proponen un nuevo sistema de hormigas para optimiza-ción combinatoria y lo aplican al problema de la asignación cuadrática, denominadoSistema Híbrido de Hormigas, en el cual cambia de forma considerable el esquemaseguido por los algoritmos previos. Las principales novedades son:

• Las hormigas del sistema modifican de forma parcial una solución, más queconstruir una solución como en los casos anteriores.

• La matriz de feromona se usa como guía para modificar de forma parcial unasolución existente, más que como ayuda para la construcción de una soluciónnueva.

En una fase de inicialización cada hormigak obtiene una permutaciónπ k deforma aleatoria, esta permutación es mejorada con una búsqueda local parcial queposteriormente definiremos más detalladamente. Los valores iniciales de la matrizde feromonaτi, j (con el mismo significado que en el problema de la asignación

Page 133: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

3.3. Aprendizaje Cooperativo y Distribuido de Redes de Creencia mediante Colonias de

Hormigas 111

cuadrática) son asignados al valorτ0 = 1/(Q·C(π+)), dondeπ+ es el coste asociadoa la mejor solución aportada por las hormigas en su fase de inicialización. Entoncesel sistema consta de tres procedimientos descritos a continuación:

Modificación de la Matriz de Feromona. Cada hormigak modifica su permu-tación asociadaπ k aplicando un conjunto deR intercambios, dondeR es un nuevoparámetro del algoritmo: Un índicei es elegido aleatoriamente entre{1, . . . ,n}, en-tonces posteriormente se elige otro índicej 6= i entre{1, . . . ,n} y se intercambian enla permutaciónπ k. La selección del índicej se realiza en uno de los dos siguientesmodos: Con probabilidadq, j se elige tal queτ

i,πk( j)+ τ

j ,πk(i)es máximo, lo que

corresponde a la explotación del conocimiento memorizado en la feromona. Conprobabilidad(1−q), j es seleccionado con probabilidad:

pki, j =

τi,πk( j)

+ τj ,πk(i)

∑nl=1,l 6=i(τi,πk(l)

+ τl ,πk(i)

)(3.6)

lo que corresponde a la estrategia de exploración. EstosR intercambios generan otrasoluciónπk.

Búsqueda Local. La solución generada en el paso anteriorπk se va a transformaren otra nueva soluciónπk mediante una búsqueda local. Este procedimiento localva a examinar todos los posibles intercambios de forma aleatoria y se va a quedarcon el primer intercambio que mejore la solución inicialπk. Entonces esta soluciónasí generada seráπk (realizamos sólo un intercambio y sólo uno tal que mejore lasolución inicial). Hemos de notar queπk no tiene por qué ser un óptimo local enuna búsqueda a no ser que ningún intercambio mejore la solución inicial.

Actualización de la Matriz de Feromona. Cuando todas las hormigas han reali-zado los dos anteriores pasos, hemos de actualizar la matriz de feromona de formasimilar a cómo lo realizamos en los anteriores casos o utilizando la siguiente reglade actualización:

τi,π(i)(t)← (1−ρ) · τi,π(i)(t)+ρ ·∆τi,π(i)(t), (3.7)

donde∆τi,π(i)(t) = 1/C(π+), si (i,π(i)) ∈ π+, y 0 en otro caso. Como en los ante-riores casos 0≤ ρ < 1 representa el parámetro de evaporación de la feromona.

Este esquema tiene el problema siguiente: como la actualización de feromona serealiza en función deC(π +) en una iteración dada, la distribución de las nuevas so-luciones se determina por soluciones pasadas. Cuando una nueva solución mejora laactual, ésta se convierte en el nuevo máximo lógicamente. En general, deben pasarciertas iteraciones más hasta que esta nueva solución influya en la construcción de

Page 134: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

112 Métodos de Búsqueda Distribuida

nuevas soluciones. Es por esta razón que se efectúa un procedimiento, denominadointensificación, que se activa cuando se encuentra una mejor solución.

Finalmente, para prevenir la caída en un óptimo local, se realiza un procedimien-to denominadodiversificación, que consiste en volver a actualizar toda la matriz deferomona a su valor de inicializaciónτ0 = 1/(Q ·C(π+)) si han pasado más deSiteraciones sin que se haya producido una mejora en la solución máxima actual, yse reinicia el proceso.

3.3.1.4 Algoritmo General para Optimización basado en Colonias de Hormi-gas

Aunque los métodos desarrollados en las secciones anteriores puedan parecer espe-cíficos a los problemas que resuelven, se puede establecer una metaheurística paraproblemas de optimización combinatoria basada en Colonias de Hormigas.

Un sistema basado en colonias de hormigas realiza en generaltmax iteracionescon la aplicación de dos procedimientos básicos:

• Un procedimiento de construcción/modificación paralela o distribuida de so-luciones al problema específico a resolver basada en experiencias previas.

• Una procedimiento de actualización de una matriz de feromona virtual enfunción de las soluciones aportadas por el proceso anterior.

La construcción/modificación de las soluciones al problema se realiza de for-ma probabilística en función de un conocimiento heurístico al problema particularque se esta resolviendo y del peso aportado por la feromona virtual (experienciaacumulada en el proceso).

La actualización de la matriz de feromona virtual se realiza en función de lacalidad de la solución aportada por una hormiga de la colonia y de un nivel deevaporación de ésta,ρ .

En función de lo comentado en los párrafos anteriores, el sistema de coloniasde hormigas se puede aplicar a cualquier problema de optimización combinatoriasiempre y cuando se puedan definir las siguientes características en el problema quese pretende resolver:

• Una representación del problema adecuada, tal que nos permita incremental-mente la construcción/modificación de soluciones al problema, usando unaregla probabilística de transición que haga uso de la matriz de feromona y deuna heurística local apropiada para el problema en cuestión.

• Una heurísticaη sobre arcos.

• Un método de satisfacción de restricciones el cual fuerce la construcción deun solución posible.

Page 135: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

3.3. Aprendizaje Cooperativo y Distribuido de Redes de Creencia mediante Colonias de

Hormigas 113

• Una regla de actualización de feromona que especifique cómo se modifica lacantidad de feromona depositada en cada arco del grafo que representa.

• Una regla de transición probabilística en función de la heurísticaη y de laferomona depositada previamente.

En la figura 3.6 se puede observar un algoritmo general con las consideracionesprevias:

Algoritmo SCH

1. Para cada arco(i, j) inicializar la feromonaτ i, j (0) = τ0

2. Para t= 1 hasta tmax hacer

(a) Para k= 1 hasta m hacer

i. Construir una solución al problema Sk(t) aplicando la regla detransición probabilística definida para el problema en función dela matriz de feromonaτ y de la heurística local al problemaη .

(b) Para k= 1 hasta m hacer

i. Calcular el costo asociado para cada solución Ck(t) para cadaSk(t) construida por cada hormiga k

(c) Si el coste de alguna solución mejora la actual entonces actualizarla

(d) Para cada arco(i, j) actualizar la feromona aplicando la regla de ac-tualización de feromona definida para el problema

Figura 3.6: Algoritmo General de un Sistema de Colonias de Hormigas

3.3.2 Aprendizaje de Redes de Creencia mediante Colonias deHormigas en el espacio de Órdenes

En esta subsección del capítulo vamos a adaptar el método de colonias de hormi-gas utilizado en el problema del viajante de comercio para resolver el problema deaprender un red de creencia en el espacio de órdenes. En primer lugar hemos de de-finir la componente heurística principal de los esquemas anteriormente estudiadospara la aportación del conocimiento específico a nuestro problema.

Hemos visto que la heurística K2SN [48] para la obtención de una secuencia deordenación entre las variables es una heurística eficiente y, a tenor de los resultados

Page 136: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

114 Métodos de Búsqueda Distribuida

presentados en el capítulo anterior, la red que ofrece como resultado es bastanteaceptable, sobre todo teniendo en cuenta la poca información que requiere. Nuestraintención es utilizar esta heurística como la componente heurística para el sistemade colonias de hormigas.

Sin embargo, hemos de tener en cuenta que, mientras la información heurísticaen general es estática para los problemas presentados previamente, es decir, no varíadurante la ejecución, en nuestro caso la heurística que utilizamos es dinámica. Así,por ejemplo en el problema del viajante de comercio, la distancia desde la ciudadi hasta la ciudadj no cambia con el tiempo; en la heurística K2SN el valor delpaso del nodoi hasta el nodoj dependerá de los nodos que preceden al nodoj,pues de ellos obtendrá su conjunto de padres y por tanto su valor de la medidadescomponible que utilicemos,f (x j ,π(x j)), conπ(x j) ∈ Predecesores en el orden.Es por ello que cada hormigak del sistema realiza una búsqueda K2SN, pero estavez también teniendo en cuenta la feromona depositada en la arista correspondiente.

A continuación vamos a detallar cada una de las componentes necesarias para elmodelado de nuestro sistema de colonias de hormigas.

• En primer lugar hemos de plantear la representación de nuestro problemaen forma de grafo. Si bien esto puede parecer fácil dado que nuestra redbuscada es un grafo, recordaremos que nuestro espacio de búsqueda es elde las secuencias de ordenación entre las variables. En nuestro problema, elgrafo en el que buscaremos las soluciones será un grafo completo definidosobre todas las variables de la red, ya que al ser el espacio de búsqueda elconjunto de permutaciones posibles, el paso de un nodoi a cualquier nodoj debe estar permitido. Hay que resaltar también que nuestro problema esasimétrico, en el sentido de que no es lo mismo, en general, ir desde el nodoi hasta el nodoj que viceversa.

Para iniciar la matriz de feromona usaremos el mismo criterio que el pro-puesto para el problema del viajante de comercio por Dorigo y col. [53]; esdecirτ0 = 1

n·C(SK2SN) , donden es el número de variables,SK2SN es la solución

obtenida por la heurística K2SN yC(SK2SN) es el valor de la medida de lasolución anterior.

• En el problema del viajante de comercio la componente heurística (llamadavisibilidad) se definió como la inversa de la distancia,η i, j = 1

di, j. En nuestro

caso, teniendo en cuenta que es una maximización de la medidaf , normal-mente vamos a utilizar no la maximización de la verosimilitudP(D|G) si nola maximización de la log-verosimilitud logP(D|G), con lo que el resulta-do de f será negativo, es por ello que nosotros utilizaremos como medidaηi, j = 1

| f (xj ,π(x j ))|, conπ(x j) en los predecesores en la secuencia de variables,

todo ello calculado por la heurística K2SN.

Page 137: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

3.3. Aprendizaje Cooperativo y Distribuido de Redes de Creencia mediante Colonias de

Hormigas 115

• Usar una lista de candidatos en el problema del viajante de comercio no esproblema porque la información heurística, como hemos comentado previa-mente, es estática; por tanto, en cada momento se tendrán lascl ciudades máscercanas al nodoi en esta lista de candidatos y no supondrá realizar ningúncalculo adicional. Por otra parte es evidente que para problemas de gran ta-maño es bastante interesante mantener esta lista desde el punto de vista com-putacional. En nuestro problema, mantener esta lista de candidatos sería deun coste computacional elevado, y no merece la pena porque obtener losclnodos más cercanos a un nodoi supondría realizar los mismos cálculos queen el caso de no mantener dicha lista, esto es, tendríamos que calcular todoslos restantes para quedarnos con los mejores. Sin embargo, sí que podemoshacer estática la información que nos ofrece la heurística K2SN con la queinicializamos el proceso y suponer que los más cercanos a un nodoi son lossiguientes nodos en esta secuencia de inicialización. Por consiguiente, paranosotros mantener una lista decl candidatos sería quedarse con loscl no-dos siguientes en la ordenación de partida que nos ofrece la inicialización delproceso. La justificación de esta elección es naturalmente desde el punto devista computacional y siempre podremos partir de que esta lista es la total.De todas formas hemos de tener en cuenta que la secuencia de partida es losuficientemente buena como para realizar esta suposición en la elección de lalista de candidatos.

• Otro aspecto importante y diferente al problema del viajante de comercio, esla elección del nodo de partida. En el problema del viajante de comercio elpunto de inicio es indiferente para el resultado o previamente es prefijado enel problema. En nuestro caso, la elección de primer nodo es muy importante,ya que deberemos de elegir un nodo como primero de la secuencia que seaun nodo raíz. Una forma de elección podría ser al azar, pero parece que unaelección más juiciosa puede ser la elección que realice la heurística K2SNponderada (utilizando la regla de transición) por la feromona en el punto departida, esto es, consideraremos el nodo de partida como otro nodo más aten-diendo aτ−1,i y η−1,i , siendoi el nodo inicial. Esto no supone almacenamien-to extra en la matriz de feromona, ya que podemos utilizar para almacenar laferomona en el nodo de partida la diagonal de la matriz.

• Las reglas de actualización de feromona global y local son las mismas que enel problema de viajante de comercio (ecuaciones 3.4 y 3.5), donde de nuevo(i, j) son las aristas pertenecientes a la mejor solución encontradaS+; ρ es elparámetro que controla la evaporación de la feromona; y∆τ i, j = 1

| f (S+)|, con

f (·) la medida utilizada en nuestro problema.

• Por último, como procedimiento de optimización local, escogeremos de for-

Page 138: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

116 Métodos de Búsqueda Distribuida

ma natural el algoritmo propuesto en el capítulo anterior HCSN [49].

Una vez descritas las componentes básicas del algoritmo y teniendo en cuentala metaheurística descrita en la figura 3.6, la componente que hemos de especificaren más detalle es cómo construiría una solución una hormiga en nuestro caso, en lafigura 3.7 especificamos con más detalle este punto.

Hibridación con el espacio de grafos dirigidos acíclicos. En el anterior esquematenemos todos los ingredientes necesarios para poder aplicar la metaheurística delSistema de Colonias de Hormigas al problema del aprendizaje de redes de creenciaen el espacio de órdenes, este espacio de búsqueda es casi el mismo que se aplicabaal problema del viajante de comercio. Sin embargo, hay un punto en nuestra adap-tación al problema que puede limitar la eficacia de la búsqueda mediante el Sistemade Colonias de Hormigas. Si observamos de nuevo el algoritmo de la figura 3.7, laforma de buscar los padres de un determinado nodox i de entre todos los predeceso-res (VISITADOS) en la secuencia de ordenación es de forma determinista utilizandopara ello una heurística totalmente greedy. Así nos enfrentamos de alguna manera ala filosofía introducida en la metaheurística que estamos aplicando, en el sentido deque la evolución de esta búsqueda no se maneje de forma similar a como se hace enel espacio de órdenes.

Nuestra propuesta es mantener una segunda matriz de feromonaδ que repre-sente la estructura gráfica de un grafo dirigido acíclico y de esta forma ponderar laaparición de los arcosx j → xi en las soluciones que van construyendo las hormigasen cada iteración. De esta forma, en cada iteración una hormiga va a buscar los pa-dres de un determinado nodoxi , en la secuencia que va construyendo, de entre suspredecesores (VISITADOS), pero esta vez aplicando una regla de transición proba-bilística en función de la matriz de feromonaδ que posteriormente especificaremoscon más detalle.

La regla de actualización de esta nueva matriz de feromona para las estructurases similar a las presentadas anteriormente salvo un nuevo matiz en la regla de actua-lización global: La regla de actualización local de la feromona será la siguiente:

δi, j ← (1−ρ) ·δi, j +ρ ·δ0 (3.8)

dondeδ0 será la misma inicialización aplicada para la matriz de feromona de se-cuenciasτ0.

La regla de actualización global de la matriz de feromonaδ será:

δi, j ← (1−ρ) ·δi, j +ρ ·∆C∗ (3.9)

donde∆C∗ = 1/| f (x j ,π(x j))| si y solo si existe el arcoxi → x j en la máxima redobtenidaS+

G, es decir, reforzamos en la matriz de feromona el arcox i → x j con el

Page 139: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

3.3. Aprendizaje Cooperativo y Distribuido de Redes de Creencia mediante Colonias de

Hormigas 117

Hormiga K2SN

1. VISITADOS= /0 y PORVISITAR= VARIABLES.

2. anterior= 0

3. Mientras|PORVISITAR|> 0 hacer

(a) j = anterior

(b) Si (q≤ q0) (q∈U [0,1]) entonces

i. max=−∞ii. Para i = 1 hasta|PORVISITAR| hacer

A. Sea xi ∈ PORVISITAR

B. f = K2(xi ,VISITADOS)

C. π(xi) = K2(xi ,VISITADOS)

D. Si(τ j ,i ∗ [1/| f (xi ,π(xi))|]β ) > max entonces

max= (τ j ,i ∗ [1/| f (xi ,π(xi))|]β ), x= xi .

(c) Si (q> q0) entonces

i. Para i = 1 hasta|PORVISITAR| hacer

A. Sea xi ∈ PORVISITAR

B. f = K2(xi ,VISITADOS)

C. π(xi) = K2(xi ,VISITADOS)

D. prob[i]=(τ j ,i ∗ [1/| f (xi ,π(xi))|]β )

ii. Normalizar prob y xs = SORTEAR(prob), x= xs

(d) Aplicar la actualización local de feromona con el índice asociado a x yanterior

(e) Hacer anterior igual al índice asociado a x

(f) V ISITADOS= VISITADOS∪{x}

(g) PORVISITAR= PORVISITAR\{x}

Figura 3.7: Hormiga K2SN

Page 140: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

118 Métodos de Búsqueda Distribuida

valor que obtiene su familia(x j ∪π(x j) conxi ∈ π(x j)) en el grafo dirigido acíclicomáximo (recordemos que hemos asumido que tenemos una métrica descomponible,de todas formas si la métricaf no fuese descomponible, se podría reforzar la fero-mona del arco correspondiente con el valor total de la solución completa, esto es, elvalor de la métrica del grafo dirigido acíclico máximo).

Una vez conocido cómo se actualiza la feromona de forma global y cómo seactualiza la feromona cada vez que se elige un nuevo padrex i de entre sus prede-cesores para el nodox j , necesitamos conocer cómo realizaremos la selección delconjunto de padres del nodox j de entre sus predecesores. Para ello necesitamosestablecer dos componentes:

(a) Una regla de transición probabilística que elija el siguiente padre a insertarpara el nodox j .

(b) Un criterio de parada para dejar de introducir nuevos padres para el corres-pondiente nodox j .

La regla de transición probabilística que vamos a elegir tendrá como componenteprincipal la siguiente expresión:

[δi, j ]× [ f (x j ,π(x j)∪{xi})− f (x j ,π(x j))]β

donde dependiendo del parámetroq0 (intensificación o exploración) nos quedare-mos con el máximoxi o realizaremos una selección proporcional en el sentido delas ecuaciones 3.2 y 3.3 (posteriormente las detallaremos más).

El criterio de parada de introducir nuevos padres para un nodox j será que ningu-no de los padres candidatos a introducir den una diferencia positiva. Esto es, vamosintroduciendo padres mientras se vaya mejorando la medida de la familia completa.En la figura 3.8 podemos observar más detalladamente este proceso.

En el algoritmo anterior (figura 3.8),A[i] representa la diferencia entre la me-dida de introducirxi como padre dex j y la medida no introduciéndolo. Teniendoesto último en cuenta, la regla de transición probabilística quedarían de forma másdetallada como:

i =

{argmaxu / A[u]>0

{[δu, j ]× [A[u]]β

}si q≤ q0,

J si q > q0.(3.10)

dondeJ es nodo seleccionado aleatoriamente de acuerdo a la siguiente probabilidad:

pk(i, j) =

[δi, j ]×[A[i]]β

∑u / A[u]>0[δu, j ]×[A[u]]βsi A[i] > 0,

0 en otro caso.(3.11)

Hemos de notar que en ambas expresiones no se tienen en cuenta aquellas transi-ciones que nos de un diferencia negativa, en estos casos simplemente se consideraráuna probabilidad de transición nula.

Page 141: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

3.3. Aprendizaje Cooperativo y Distribuido de Redes de Creencia mediante Colonias de

Hormigas 119

Hormiga K2

1. Entradas: xj , nodo al que debemos buscarle los padres.VISITADOS, nodos predecesores en el orden a xj .

2. π(x j) = /0

3. Para i= 1 hasta|VISITADOS| hacer:A[i] = f (x j ,π(x j)∪{xi})− f (x j ,π(x j))

4. Repetir hasta que(A[i]≤ 0, ∀i) ó π(xi) = VISITADOS.

(a) Seleccionar el nodo xi atendiendo a la regla de transición probabilísticadescrita en 3.10 y 3.11 del conjunto VISITADOS\π(x j)

(b) Si(A[i] > 0) Entoncesπ(x j) = π(x j)∪{xi}

(c) Para k= 1 hasta|VISITADOS| hacer:Si xk /∈ π(x j) Entonces A[k] = f (x j ,π(x j)∪{xk})− f (x j ,π(x j))

5. Salida:π(x j)

Figura 3.8: Hormiga K2

Page 142: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

120 Métodos de Búsqueda Distribuida

3.3.3 Aprendizaje de Redes de Creencia mediante Colonias deHormigas en el espacio de Grafos Dirigidos Acíclicos

Parece razonable que si nuestro problema de forma natural es un grafo (dirigidoacíclico), utilicemos esta representación para la aplicación de la metaheurística delsistema de colonias de hormigas. Es por ello que en esta subsección nos planteare-mos cómo podemos adaptar el sistema de colonias de hormigas, para el aprendizajede redes de creencia basado en el espacio de grafos dirigidos acíclicos.

Ya hemos comentado en la subsección 3.3.1.4 que el sistema de colonias dehormigas se puede aplicar a cualquier problema de optimización combinatoria sipodemos definir:

• Una representación del problema adecuada. La representación que elegimosde forma natural será la de un grafo dirigido acíclico, componente de las redesde creencia que estamos buscando. De esta forma incrementalmente iremoseligiendo arcos entre las variables que pertenecerán a la solución aportada porcada hormiga de la colonia. De esta forma, tal como teníamos en la subsec-ción anterior, tendremos una matriz de feromonaδ que pondera la fuerza decada arco dependiendo de su bondad en la aparición de las distintas solucionesaportadas por las hormigas.

• Una heurísticaη sobre arcos. En este caso la heurística que se utilizará serála de ir introduciendo aquellos arcos que mejoren nuestra medida. Esto es, seelegirá el arco tal que resulta una mayor diferencia en la expresión:

f (xi ,π(xi)∪{x j})− f (xi ,π(xi))

• Un método de satisfacción de restricciones el cual fuerce la construcción deun solución posible. En este caso será doble: Por un lado tendremos queidentificar, una vez introducido un nuevo arco a nuestra solución, aquellosarcos que al introducirlos creen ciclos dirigidos, para en posteriores etapasno tenerlos en cuenta. Y por otro lado tendremos que identificar cuándo laintroducción de un arco no mejora nuestra medida, esto es, la diferencia no espositiva en la expresión anterior para ningún arco no introducido previamente.

• Una regla de actualización de feromona. En este punto tenemos que especifi-car tanto la inicialización de la matriz de feromonaδ0, en donde utilizaremosel mismo criterio que el de anterior caso,δ i, j = δ0 = 1/n|C(SK2SN)|. Las re-glas de actualización global y local de la feromona serán las mismas que lautilizadas en las expresiones 3.9 y 3.8.

• Una regla de transición probabilística. En este caso elegiremos las ecuaciones3.2 y 3.3.

Page 143: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

3.3. Aprendizaje Cooperativo y Distribuido de Redes de Creencia mediante Colonias de

Hormigas 121

Hormiga B

1. Etapa de Inicialización:

(a) Para i= 1 hasta n hacer:π(xi) = /0

(b) Para i= 1 y j = 1 hasta n hacer:Si (i 6= j) Entonces A[i, j] = f (xi ,x j)− f (xi , /0)

2. Etapa Iterativa:

(a) Repetir hasta que∀ i, j (A[i, j] ≤ 0 ó A[i, j] =−∞).

i. Seleccionar un par de índices i y j atendiendo a la regla de transi-ción probabilística descrita en 3.12 y 3.13

ii. Si (A[i, j] > 0) Entoncesπ(xi) = π(xi)∪{x j}

iii. A [i, j] =−∞iv. Para xa ∈ Ancestros(xi) y xb ∈Descendientes(xi)∪{xi} hacer:

A[a,b] =−∞.

v. Para k= 1 hasta n hacer:Si (A[i,k] > −∞) Entonces A[i,k] = f (xi ,π(xi) ∪ {xk}) −

f (xi ,π(xi))

Figura 3.9: Hormiga B

Page 144: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

122 Métodos de Búsqueda Distribuida

Teniendo en cuenta estas consideraciones, la hormiga que construye el grafo ací-clico solución será la representada en la figura 3.9. Este algoritmo es el algoritmo B[23], en donde la forma de elegir el arco que se introduce en cada etapa se hace conarreglo a una determinada regla de transición probabilística, en lugar de elegir siem-pre el que mayor mejora produce en la métrica utilizada, además de por supuestotener en cuenta la ponderación de la experiencia acumulada en las iteraciones pre-vias en la matriz de feromona. En este algoritmo, al igual que el algoritmo de lafigura 3.3, la matrizA[i, j], representa una matriz de adyacencias en donde guarda-mos las diferencias entre la medida con los padres del nodox i en la actual etapa conla inclusión en el conjunto de padres del nodox j y la medida con los actuales padresπ(xi) sin la inclusión del nodox j . En este caso identificamos la inclusión de ciclosdirigidos en la actual solución con la asignación a esta matriz del valor−∞, esto sehace en cada etapa buscando los ancestros y los descendientes de un determinadonodoxi en el actual grafo que tenemos como solución parcial.

Teniendo en cuenta todas estas consideraciones, la ecuación que utilizaremoscomo regla de transición probabilística quedará de la siguiente forma:

i, j =

{argmaxh,u / A[h,u]>0

{[δh,u]× [A[h,u]]β

}si q≤ q0,

J si q > q0.(3.12)

dondeJ es un nodo seleccionado aleatoriamente de acuerdo a la siguiente probabi-lidad:

pk(i, j) =

[δi, j ]×[A[i, j ]]β

∑u,h / A[h,u]>0[δh,u]×[A[h,u]]βsi A[i, j] > 0,

0 en otro caso.(3.13)

Hemos de notar que en ambas expresiones no se tienen en cuenta aquellas transi-ciones que nos de un diferencia negativa, en estos casos simplemente se consideraráuna probabilidad de transición nula.

3.4 Un Sistema Distribuido Híbrido entre la Búsque-da VNS y el El Sistema de Colonias de Hormigas

A nuestro parecer, lo más importante que aporta el Sistema de Colonias de Hormi-gas, es la utilización de un conocimiento heurístico específico al problema junto conuna búsqueda probabilística que resume las experiencias pasadas durante la visitade diferentes “buenas” soluciones a nuestro problema.

Por otra parte hemos constatado durante las pruebas realizadas, que en el procesode búsqueda de redes de creencia, las estructuras de redes con un buen valor de la

Page 145: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

3.4. Un Sistema Distribuido Híbrido entre la Búsqueda VNS y el El Sistema de Colonias de

Hormigas 123

métrica utilizada, en nuestro caso la métrica K2, normalmente tienen más partes encomún que dispares (este tipo de situaciones es muy evidente en dominios comoALARM). Es por ello que parece razonable que estas partes comunes que aparecenrepetidas veces en redes de alta calidad tengan una mayor probabilidad de aparecertambién en el óptimo global buscado.

También hemos observado que el proceso de búsqueda VNS obtiene durante suejecución bastantes buenos óptimos locales, esto es, redes de alta calidad sin quesea el óptimo finalmente alcanzado por el proceso, pero como hemos comentado enel párrafo anterior estos óptimos locales normalmente tienen bastante de común encuanto a la estructura obtenida.

Una forma de acumular estas buenas soluciones tal que influyan en las poste-riores búsquedas es ponderar los atributos de éstas, tal como lo hace el Sistema deColonias de Hormigas mediante el refuerzo de la matriz de feromona, de tal for-ma que aquellas partes que sean más comunes tengan una mayor probabilidad deaparecer en soluciones posteriores.

Nuestra propuesta sería hibridar una búsqueda local con diferentes inicios, talcomo se hace mediante un VNS distribuido, con el sistema de colonias de hormi-gas. Si observamos el esquema de distribución del VNS planteado en la figura 3.2,añadiéndole el esquema de inicialización planteado en la subsección 3.2.1, pode-mos pensar en dotar a este esquema de una matriz de feromonaτ i, j en el mismosentido que tiene en el sistema de colonias de hormigas, de tal forma que las bue-nas soluciones, óptimos locales, que se obtengan por cada uno de los procesadoresinvolucrados en las búsquedas se refuercen en esta matriz. Una vez reforzadas to-das estas soluciones en la matriz de feromona y teniendo en cuenta las hormigasdiseñadas en la sección anterior (figuras 3.7, 3.8 y 3.9), podemos utilizar éstas paragenerar las nuevas soluciones iniciales en la siguiente iteración de las búsquedasdistribuidas. El esquema planteado se puede observar en la figura 3.10.

La cuestión principal ahora es cómo manejar la matriz de feromona, esto es,cuándo se realiza el refuerzo/evaporación de la feromona, qué soluciones reforza-ran feromona atendiendo a su valor de la métrica utilizada, qué esquema de re-fuerzo/evaporación de feromona vamos a seguir. A continuación plantearemos lasolución seguida por nosotros.

En cuanto a las dos primeras cuestiones planteadas en un principio, podemospensar actualizar el nivel de feromona cada vez que se alcance un óptimo local enel esquema VNS en función de su valor con respecto a los datos. Sin embargo he-mos de notar que, por la forma de proceder del esquema VNS, es muy habitual quealcancemos varias veces el mismo óptimo local, este es el caso cuando medianteun determinado cambio de vecindad no podemos alcanzar otros óptimos locales yseguimos atrapados en el mismo “valle”. Teniendo en cuenta lo que acabamos decomentar, vamos a proponer actualizar el nivel de feromona cuando alcancemos un

Page 146: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

124 Métodos de Búsqueda Distribuida

������������������������������������������������������������������������������������������������������������������������

������������������������������������������������������������������������������������������������������������������������

������������������������������������������������������������������������������������������������������������������������

������������������������������������������������������������������������������������������������������������������������

������������������������������������������������������������������������������������������������������������������������

������������������������������������������������������������������������������������������������������������������������

������������������������������������������������������������������������������������������������������������������������

������������������������������������������������������������������������������������������������������������������������

INICIAL.

FEROMONA

NUEVA POBL.

VNS

VNS

VNS

P1

P2

Pk(t0) k Ind.

τi, j

(t+1) k Ind.

Figura 3.10: Esquema del Algoritmo VNS Distribuido - Búsqueda Híbrida

nuevo óptimo local que mejore el actual, en cada uno de los procesadores, de estamanera recogemos todos los máximos locales nuevos que cada búsqueda distribuidadel VNS va recorriendo a lo largo de su ejecución. Así mismo, también, propone-mos actualizar el nivel de feromona una vez generada la siguiente población para laiteración posterior con el mejor individuo que tengamos hasta este momento. De es-ta forma ponderaremos con una mayor fuerza la mejor solución que tengamos paraque influya en las generaciones posteriores.

El esquema que proponemos seguir para la actualización de la feromona una vezque hayamos conseguido un nuevo máximo local es el mismo que se propone en elprimer sistema de colonias de hormigas propuesto por Dorigo y col. [54]

τi, j(t)← (1−ρ) · τi, j(t)+ρ ·∆τi, j(t), (3.14)

donde∆τi, j (t) = 1/| f (S+)|, y xi → x j es un arco en el grafo que actualiza el nivelde feromona, esto es, el grafo máximo local nuevo, y 0 en otro caso. Como en losanteriores casos 0≤ ρ < 1 representa el parámetro de evaporación de la feromona.Hemos de notar que la evaporación de la feromona se efectúa en aquellos arcosque no aparecen en la solución que actualiza la feromona, al poner el valor∆τ i, j (t)igual a 0. Fijémonos que de esta forma aquellos arcos que son comunes a una granmayoría de soluciones que actualizan feromona tendrán un alto nivel de ésta y porconsiguiente tendrán una mayor probabilidad de aparecer en las soluciones inicialesposteriores, como por otra parte buscábamos al principio de la sección. Por último

Page 147: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

3.5. Experimentación y Conclusiones 125

notar que este esquema es adaptable tanto al problema de aprendizaje de redes decreencia en el espacio de grafos dirigidos acíclicos como en el espacio de secuenciasde ordenación entre las variables.

3.5 Experimentación y Conclusiones

En esta sección vamos a presentar la experimentación realizada en el aprendizaje delas mismas bases de datos utilizadas en el capítulo anterior (sección 2.5), excepto labase de datos del dominio ALARM para los 10000 primeros casos. Con respecto aeste última base de datos, hemos podido comprobar en los experimentos del capítuloanterior que su comportamiento es muy similar a la base de datos formada por los3000 primeros casos.

De nuevo resumiremos en forma de tablas los resultados obtenidos, y así podre-mos analizarlos y extraer de ellos una serie de conclusiones acerca del comporta-miento de los diferentes algoritmos utilizados.

3.5.1 Descripción de los experimentos

Para realizar un estudio empírico del comportamiento de los algoritmos propuestosen este capítulo, hemos seguido el mismo procedimiento descrito en la subsección2.5.1 del capítulo anterior. Esto quiere decir que hemos utilizado los mismos do-minios, las mismas bases de datos (excepto ALARM-10000) y hemos extraído losmismos parámetros en las ejecuciones de los algoritmos.

La diferencia estriba en que en este caso la inicialización de los algoritmos serealiza, en el caso de los algoritmos VNS distribuidos, con los procedimientos des-critos en la subsección 3.2.1 y en los demás casos el procedimiento se inicializa conla heurística correspondiente.

También, al igual que en el capítulo anterior, se han ejecutado 10 veces los algo-ritmos para cada una de las bases de datos utilizadas.

3.5.2 Análisis de los resultados

Los resultados de las ejecuciones de los diferentes algoritmos planteados a lo largode esta capítulo se pueden observar en las diferentes tablas. Al igual que en elcapítulo anterior, compararemos los resultados en cada caso, además de compararestos resultados con los resultados obtenidos en el capítulo anterior, cuando seaposible.

Análisis de los algoritmos VNS distribuidos (DVNS). Modelo de islas. En estecaso, hemos realizado experimentos tan sólo con el modelo de islas, por ser éste el

Page 148: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

126 Métodos de Búsqueda Distribuida

que esperamos nos ofrezca mejores resultados. Para este caso hemos ejecutado elalgoritmo distribuido DVNS, tanto en el espacio de grafos dirigidos acíclicos comoen el espacio de órdenes, con la topología descrita en las sección 3.2.2. En el espaciode GDAs hemos considerado 4 procesadores y 2 individuos por procesador. En estecaso hemos utilizado un esquema VNSST con los siguientes parámetros:kmin = 7,kstep= 5 y kmax igual al número de variables en el dominio en cada caso. En elespacio de órdenes hemos utilizado 2 procesadores y 2 individuos por procesador.Los parámetros utilizados en el esquema VNSSN son lo mismos que utilizamos enlos experimentos del capítulo anterior. En todos los casos hemos considerado unnúmero máximo de iteraciones de 4, utilizando el mismo criterio de parada que paralos casos del capítulo anterior.

Análisis para el dominio ALARM - 3000:El algoritmo DVNSST obtiene el me-jor individuo encontrado por nosotros(−14401,29) en la gran mayoría de las 10ejecuciones realizadas en los experimentos. Esto afirmación la demuestra la bajadesviación estándar (σ ) obtenida en estos experimentos (tabla 3.1). Con respec-to al algoritmo VNSST (capítulo 2), hemos de decir que se mejoran los resultadosobtenidos en comparación con el algoritmo VNSST con los mismos parámetros em-pleados en los experimentos del algoritmo distribuido, esto es,kmin = 7, kstep= 5y kmax= 37 (obsérvese la tabla 2.12). También, prácticamente se igualan los resul-tados obtenidos por el algoritmo VNSST con los parámetroskmin = 1, kstep= 1 ykmax= 37 en las tres inicializaciones comprobadas (obsérvese la tabla 2.11).

En cuanto a la eficiencia del algoritmo DVNSST empleado en los experimentos,vamos a compararlo con el método VNSST para los parámetroskmin = 1, kstep= 1y kmax = 37, por ser similares sus resultados. En primer lugar hemos de observarque el algoritmo DVNSST sería del orden de 2 veces más lento2 que el algoritmoVNSST, si ejecutáramos el primero de forma secuencial. Si suponemos que tene-mos un computador MIMD con memoria compartida [82] con 8 procesadores y unaarquitectura SMP (symmetric multiprocessors), entonces podríamos tener hasta unaaceleración (speedup) teórica de 8, esto es, la velocidad de la ejecución secuencialdel algoritmo se vería dividida por un factor de 8, aunque es bien conocido que prác-ticamente es inalcanzable para la mayoría de tipos de aplicación. De todas formashemos de notar que para que las dos versiones comparadas aquí se igualaran, prác-ticamente, en el tiempo de ejecución deberíamos obtener una aceleración del ordende 2.3 Ciertamente esta aceleración es muy pobre, sobre todo teniendo en cuenta el

2Si nos fijamos en la tabla 3.1 y en la tabla 2.11 en el estadístico EstEv y en el estadístico NVars yrealizamos la aproximación del tiempo de ejecución por la expresión EstEv×2NVars, entonces tendre-mos los tiempos aproximados para las versiones secuenciales de ambas aproximaciones. Calculando estaexpresión nos resulta que la versión DVNSST, ejecutada de forma secuencial, es del orden de 2 vecesmás lenta que la versión sin distribuir VNSST.

3Ya que, como hemos comentado en la nota anterior, el algoritmo DVNSST es del orden de 2 vecesmás lento que VNSST si se ejecutara el primero de forma secuencial.

Page 149: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

3.5. Experimentación y Conclusiones 127

tipo de aplicación que tenemos para estos casos, en donde lo que se hace fundamen-talmente es búsqueda e inserción de datos en la memoria de la máquina, lo cual haceque sean fáciles de resolver los problemas de sincronización y coherencia de datospara cada uno de los procesadores. Por todo ello, podemos conjeturar que la versióndistribuida empleada en estos experimentos será bastante más rápida que la versiónno distribuida empleada en el capítulo anterior. Este análisis de eficiencia tambiénes extensible al espacio de órdenes, aunque en este caso la aceleración teórica es de4, por consiguiente en este caso no habrá tanta disminución de tiempo como en elanterior caso.

En cuanto al espacio de órdenes (DVNSSN, tabla 3.2) hemos de decir que losresultados son bastantes parecidos al del espacio de estructuras y que mejoran nota-blemente los resultados obtenidos en la versión no distribuida del capítulo anterior(tabla 2.16) en todas las inicializaciones probadas.

DVNSST ALARM-3000

µ σ MejorK2 -14401,35 0,18 -14401,29KL 9,231 0,001 9,231A 1,90 0,30 2B 1,00 0,00 1I 0,00 0,00 0It 31,60 4,74Ind 11,35E06 28,11E05EstEv 66908,20 4511,06TEst 11,95E06 10,96E05NVars 4,59 0,03

Tabla 3.1: Resultados ALARM 3000 - Algoritmo DVNSST. Modelo de islas 4×2

Análisis para el dominio INSURANCE:Para la búsqueda en el espacio de estructu-ras (véase la tabla 3.3), el resultado ofrecido por la versión distribuida en el dominioINSURANCE mejora substancialmente el resultado ofrecido por la versión no dis-tribuida (en media para las dos primeras inicializaciones -EMP y K2SN-, obsérvesela tabla 2.15) y en cuanto a la eficiencia podemos destacar que la versión distribuidaevalúa una cantidad pequeña más de estadísticos, con lo que siguiendo el análisisefectuado para el dominio ALARM, podemos conjeturar que en este caso la versióndistribuida será todavía más eficiente que la no distribuida para este dominio. Detodas formas este dato no es sorprendente, ya que en este caso hemos utilizado unesquema VNS con unos parámetros (kmin = 7, kstep= 5) que hacen que se realicenun número menor de iteraciones en comparación con el algoritmo VNSST y los

Page 150: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

128 Métodos de Búsqueda Distribuida

DVNSSN ALARM-3000

µ σ MejorK2 -14402,29 1,92 -14401,29KL 9,230 0,002 9,231A 1,90 0,54 2B 1,10 0,30 1I 0,00 0,00 0It 10,70 7,20Ind 40,23E04 15,26E04EstEv 81105,20 11644,94TEst 10,82E07 34,54E06NVars 4,81 0,07

Tabla 3.2: Resultados ALARM 3000 - Algoritmo DVNSSN. Modelo de islas 2×2

parámetros empleados en el capítulo anterior.

En cuanto al espacio de órdenes (véase la tabla 3.4), hemos de destacar el exce-lente resultado ofrecido por el algoritmo DVNSSN para este dominio, destacandotanto la media como el mejor individuo encontrado por nosotros. Hemos de recor-dar que para este dominio la heurística K2SN se comportaba especialmente mal ypor consiguiente las inicializaciones de los individuos, para este caso, no son bue-nos puntos de partidas ya que estas inicializaciones estaban basadas en una versiónprobabilística de la heurística K2SN (véase la figura 3.4), lo que nos hace pensarque el método propuesto es bastante robusto. Además, por esta misma razón, se hade realizar un número mayor de iteraciones hasta encontrar el máximo. En cuantoa la eficiencia, este algoritmo sigue la misma tónica que en los casos anteriores, esdecir, se evalúan muchos más estadísticos, con lo que será menos eficiente que labúsqueda en el espacio de estructuras, aunque esta versión distribuida será al menostan rápida como su correspondiente versión no distribuida.

Análisis de los algoritmos DVNS. Hibridación con colonias de hormigas. Eneste caso nos hemos centrado en el espacio de estructuras para realizar nuestrosexperimentos. Tanto en la tabla 3.5 como en la tabla 3.6 podemos observar losresultados obtenidos, para los parámetros indicados al pie de cada tabla, tanto enel dominio ALARM como en el dominio INSURANCE. En el dominio ALARMprácticamente se llega al mismo resultado que con el algoritmo DVNSST, se evalúanun número ligeramente menor de estadísticos4 y se llega en un número menor de

4Si bien los parámetros utilizados para las iteraciones del VNS nos lleva a pensar que esto es lógico,pues normalmente se realizarán un número menor de iteraciones, hemos de notar que en el cálculo de

Page 151: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

3.5. Experimentación y Conclusiones 129

DVNSST INSURANCE

µ σ MejorK2 -57833,55 22,13 -57773,43KL 8,450 0,034 8,408A 6,03 3,83 2B 9,37 2,11 8I 5,87 4,98 1It 20,27 5,92Ind 33,57E05 93,79E04EstEv 26602,33 2917,77TEst 32,62E05 55,77E04NVars 4,85 0,06

Tabla 3.3: Resultados INSURANCE - Algoritmo DVNSST. Modelo de islas 4×2

DVNSSN INSURANCE

µ σ MejorK2 -57794,14 27,78 -57763,07KL 8,453 0,033 8,487A 2,67 1,35 3B 8,07 0,36 8I 1,00 1,32 2It 43,00 22,39Ind 10,00E05 69,95E04EstEv 85154,90 9201,27TEst 17,29E07 82,22E06NVars 4,83 0,04

Tabla 3.4: Resultados INSURANCE - Algoritmo DVNSSN. Modelo de islas 2×2

Page 152: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

130 Métodos de Búsqueda Distribuida

iteraciones a encontrar el máximo.

En el dominio INSURANCE, se mejoran los resultados ofrecidos por el algorit-mo DVNSST. El resto de parámetros significativos prácticamente se mantienen enel mismo orden.

En ambos casos es interesante resaltar que hemos observado que durante el pro-ceso de generación de una nueva población por parte de las hormigas frecuentemen-te, sobre todo en la primeras iteraciones, se encuentran nuevos óptimos locales quedespués, normalmente, la iteración correspondiente VNS se encarga de mejorar.

DVNSSTACO ALARM - 3000

µ σ MejorK2 -14401,35 0,13 -14401,29KL 9,231 0,000 9,231A 2,20 0,40 2B 1,00 0,00 1I 0,00 0,00 0It 22,70 5,83Ind 30,17E05 24,85E04EstEv 41550,20 2211,75TEst 63,94E05 50,78E04NVars 4,37 0,05

Tabla 3.5: Resultados ALARM 3000 - Algoritmo DVNSST. Hibridación con colonias

de hormigas. 8 procesadores. (ρ = 0.4,β = 2.0,q0 = 0.8). (VNSST

kmin = 5,kstep= 5,kmax= 20).

Análisis de los Sistemas de Colonias de Hormigas.Estos algoritmos los hemosreferenciado como ACO-K2SN para el espacio de órdenes y ACO-B para el espaciode estructuras. Para los experimentos utilizados en este apartado hemos utilizado lossiguientes parámetrosρ = 0.4, β = 2.0, q0 = 0.8, 10 hormigas y 100 iteraciones.En el caso del espacio de órdenes no hemos limitado de ningún modo la lista decandidatos, esto es, en cada momento se comprueban todos los nodos restantes nointroducidos previamente en la secuencia parcial que tengamos durante su construc-ción. No hemos realizado unas pruebas sistemáticas para ajustar estos parámetros,sino que hemos elegido éstos por parecer razonables y normalmente del mismo or-den que los utilizados para la optimización de otro tipo de problemas [69]. Además

estadísticos están contabilizados los necesitados por las hormigas para la inicialización de la siguientepoblación.

Page 153: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

3.5. Experimentación y Conclusiones 131

DVNSSTACO INSURANCE

µ σ MejorK2 -57824,42 35,42 -57763,07KL 8,449 0,035 8,487A 5,70 3,67 3B 9,48 1,97 8I 5,67 5,42 2It 21,67 7,23Ind 14,42E05 12,99E04EstEv 24471,26 1793,54TEst 31,21E05 26,67E04NVars 4,73 0,04

Tabla 3.6: Resultados INSURANCE - Algoritmo DVNSST. Hibridación con colonias

de hormigas. 8 procesadores. (ρ = 0.4,β = 2.0,q0 = 0.8). (VNSST

kmin = 5,kstep= 5,kmax= 20).

hemos utilizado este conjunto de parámetros para los dos dominios, ALARM e IN-SURANCE.

Debido a la complejidad de la búsqueda, sólo hemos utilizado un procedimientode búsqueda local, HCST y HCSN respectivamente en el espacio de estructuras yde órdenes, en la última iteración, donde utilizamos las soluciones construidas portodas las hormigas como puntos de inicio de las búsquedas locales. En el caso de labúsqueda local en el espacio de órdenes, no hemos restringido de ningún modo elparámetror (radio).

Además de los parámetros mostrados en las anteriores tablas del resto de ex-perimentos, hemos introducido un nuevo parámetro (K2noHC) en donde podemoscomprobar las soluciones aportadas por los sistemas de colonias de hormigas antesde utilizar las búsquedas locales descritas en el párrafo anterior.

Por último hemos de decir que hemos realizado algunas pruebas para el SHC enel espacio de órdenes hibridando éste con el espacio de grafos dirigídos acíclicos,como describíamos al final de la subsección 3.2.2, pero los resultados obtenidosno son nada buenos. Es por ello que no los hemos reflejado en tablas durante estasección.

Análisis para el dominio ALARM-3000:En ambos casos, tanto en el espacio deestructuras (véase la tabla 3.8), como en el de órdenes (véase la tabla 3.7), se llegaa una buena solución, sin embargo son levemente peores que las obtenidas por elresto de los algoritmos de este capítulo.

Page 154: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

132 Métodos de Búsqueda Distribuida

Centrándonos en el espacio de estructuras, hemos de notar que la aportación dela búsqueda local en la última iteración mejora ligeramente los resultados y no entodos los casos, esto último lo pone de manifiesto el número de iteraciones (paráme-tro it, en media) hasta alcanzar el óptimo, el cual es de 87,1, menor que el númerode iteraciones realizadas, 100. También es de destacar el número de estadísticosevaluados, por ser éstos menores que para el algoritmo DVNSST y prácticamentesimilares para el caso del algoritmo DVNSSTACO, esto quiere decir que en estecaso se reutilizan de una forma más adecuada los cálculos realizados en etapas an-teriores del algoritmo, al igual que en el algoritmo DVNSSTACO.

En cuanto al espacio de órdenes, hemos de destacar la gran aportación de labúsqueda local en el proceso de búsqueda, obsérvense los parámetros K2noHC eit en la tabla 3.7, ya que el resultado antes de iniciar el proceso local de búsquedaes bastante pobre y siempre se obtiene el óptimo encontrado en la última iteración.Si bien lo comentado anteriormente es cierto, hemos de notar que la aportación delSCH, en este caso, es la de encontrar buenos puntos de inicio para una búsquedalocal posterior. El número de estadísticos evaluados en este caso, contabilizando losefectuados por las búsquedas locales, es bastante parecido al número de éstos en elalgoritmo DVNSSN.

SCH - Órdenes ALARM - 3000

µ σ MejorK2 -14404,07 3,28 -14401,29KL 9,228 0,003 9,231A 2,20 0,60 2B 1,40 0,49 1I 0,00 0,00 0It 100,00 0,00K2noHC -14462,46 14,09EstEv 89154,80 8099,94TEst 58,88E06 51,65E05NVars 4,97 0,08

Tabla 3.7: Resultados ALARM 3000 - Algoritmo ACO-K2SN.

Análisis para el dominio INSURANCE:En el espacio de órdenes (véase la tabla3.9) hemos de notar que de nuevo la aportación de la búsqueda local es fundamentalpara mejorar los resultados aportados por las hormigas. Si bien el resultado para lasmétricas K2 y KL son un poco peores que para el resto de los casos, hemos de notarque en cuanto al número de arcos mal colocados con respecto a la red original tieneun comportamiento bastante aceptable.

Page 155: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

3.5. Experimentación y Conclusiones 133

SCH - Estructura ALARM - 3000

µ σ MejorK2 -14406,06 4,54 -14401,29KL 9,231 0,003 9,231A 3,30 1,79 2B 1,10 0,30 1I 1,70 1,90 0It 87,10 20,68K2noHC -14407,32 5,01EstEv 43349,60 953,87TEst 64,76E05 11,67E04NVars 4,43 0,02

Tabla 3.8: Resultados ALARM-3000 - Algoritmo ACO-B.

En cuanto al espacio de estructuras (véase la tabla 3.10) hemos de comentar que,si exceptuamos el comportamiento del algoritmo DVNSSN (espacio de órdenes),este algoritmo nos ofrece los mejores resultados para este dominio. De nuevo sepone de manifiesto la leve aportación de la búsqueda local en este caso. El númerode estadísticos evaluados es del orden de los calculados para los casos anteriorespara el mismo dominio y el mismo espacio de búsqueda.

SCH - Órdenes INSURANCE

µ σ MejorK2 -57849,40 36,46 -57772,65KL 8,444 0,036 8,485A 4,57 2,64 2B 9,60 1,56 8I 2,80 2,81 1It 100,00 0,00K2noHC -58420,39 138,12EstEv 74169,53 3769,06TEst 37,27E06 27,68E05NVars 4,89 0,03

Tabla 3.9: Resultados INSURANCE - Algoritmo ACO-K2SN.

Page 156: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

134 Métodos de Búsqueda Distribuida

SCH - Estructura INSURANCE

µ σ MejorK2 -57807,81 36,68 -57763,07KL 8,450 0,036 8,487A 3,60 1,99 3B 8,50 1,34 8I 2,43 2,09 2It 80,20 21,57K2noHC -57811,04 37,27EstEv 28738,77 882,93TEst 38,19E05 33,44E03NVars 4,35 0,02

Tabla 3.10: Resultados INSURANCE - Algoritmo ACO-B.

Page 157: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

Capítulo 4

Aprendizaje de RelacionesTemporales en Redes deCreencia Dinámicas

4.1 Introducción

Nuestro objetivo en este capítulo es aprender de forma automática a partir de datos elconjuntoEtmp(k) de relaciones temporales de una red de creencia dinámica (RCD),supuesto que tenemos conocidas las estructuras para cada periodo de tiempok, G(k).

En primer lugar hemos de plantear el problema que queremos resolver. Supone-mos que tenemos bien definidas las estructuras en los periodos de tiempoG(k), en-tonces tan solo nos planteamos aprender la estructura correspondiente aG(k,k+1),para ello nos centramos en aprender el conjunto de arcos temporalesE tmp(k+1).

Resolver este problema es interesante por varias razones:

• Podemos tener conocidas las estructuras correspondientes a los periodos detiempok elicitadas por un experto. Hemos notado que a menudo en apli-caciones reales las estructuras correspondientes aG(k) de una RCD tienenmuy pocas relaciones, enlaces no temporales, incluso ninguna relación. Porconsiguiente, estas estructuras pueden ser fáciles de obtener a priori.

• Podemos utilizar un algoritmo de aprendizaje automático de redes de creenciaestáticas para aprender la estructura que modela cada periodo de tiempok ya partir de esta salida aprender el modelo evolutivo con los algoritmos quedesarrollaremos en este capítulo. Esta forma de proceder la plantearemos enel siguiente capítulo.

135

Page 158: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

136 Aprendizaje de Relaciones Temporales

En esta sección vamos a estudiar diferentes algoritmos para aprender a partir debases de datos de casos el modelo de transición de una red de creencia dinámica,para ello dividiremos estos algoritmos en algoritmos basados en métricas más unabúsqueda de optimización y algoritmos basados en tests de independencia condicio-nal.

4.2 Definición formal del problema del aprendizajede relaciones temporales

Definiremos de una manera más formal el problema que pretendemos resolver alo largo de este capítulo. Suponemos que queremos aprender una red de creenciadinámica markoviana y estacionaria y que para ello tenemos una base de datos decasos:

D = {v(0)1, . . . ,v(0)m,v(1)1, . . . ,v(1)m, . . . ,v(n−1)1, . . . ,v(n−1)m}

de m casos, dondev(k)i representa una instanciación de las variables deV(k) enel casoi-ésimo de la base de datosD. También vamos a suponer que conocemoslas estructurasG(k) para todos los instantes de tiempo, esto es, desdek = 0 hastak = n−1. Entonces el problema que queremos resolver es encontrar de forma auto-mática el conjunto de relaciones temporalesE tmp(k). Dadas las premisas de las cua-les partimos para resolver nuestro problema, nos podremos centrar en aprender deforma automática el conjunto de relaciones temporalesE tmp(k) para cualquiera delas parejas de periodos de tiempo consecutivos que se pueden formar en nuestra basede datos. Esto quiere decir que nosotros elegiremos a priori dos periodos de tiem-po consecutivos cualesquierak y k+ 1 y restringiremos (proyectaremos) nuestrasobservaciones enD a las instanciaciones concretas de estos dos periodos de tiempoconsecutivos, esto es, paraD′ = {v(k)1, . . . ,v(k)m,v(k+1)1, . . . ,v(k+1)m}. En de-finitiva, nos centraremos en aprender el modelo de transición de una red de creenciadinámica.

Si el modelo de red de creencia dinámica que queremos aprender es estacionarioy markoviano, en el sentido expresado en el capítulo 1, hemos de notar que se puededemostrar la siguiente proposición:

Proposición 4.1 Sea una RCD markoviana y estacionaria, y sean dos periodos detiempo consecutivos cualesquiera G(k,k + 1), entonces si se cumple para algúnsubconjunto S∈ V que I(x j(k),xi(k+ 1)|S), entonces podremos encontrar un sub-conjunto S′ tal que se siga cumpliendo I(x j(k),xi(k+1)|S′) y S′ ⊆V(k,k+1).Demostración:Consecuencia directa de que la RCD es markoviana, esto es,I(V(k−1),V(k+1)|V(k)).

Page 159: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

4.3. Algoritmos locales basados en optimización de métricas 137

Por otra parte, como hemos supuesto que la RCD es estacionaria y que se repitenlas estructurasG(k,k+ 1) para todok, podemos estar seguros de que si encontra-mos una relación de independenciaI(x j(k),xi(k+1)|S′) y S′⊆V(k,k+1), entoncesésta se mantendrá en todos los intervalos de tiempo. A partir de estas consideracio-nes, podemos realizar el aprendizaje del modelo de transición de una RCD tan solocentrándonos en cualesquiera dos periodos de tiempo consecutivosk y k+ 1. Estotambién implicará de una forma directa que todos los nodosx i(k) tendrán el mismoconjunto de padres en todos los periodos de tiempok.

4.3 Algoritmos locales basados en optimización de mé-tricas

En esta sección estudiaremos algoritmos que se fundamentan principalmente en labúsqueda local de la estructura del modelo de transición de una red de creenciadinámica basados en la optimización de una medida de bondad en el ajuste o mé-trica. Para ello, hemos de suponer que tenemos definida una métrica o funciónf (G(k,k + 1) : D′). Estos algoritmos fundamentalmente consistirán en buscar elmejor conjunto de padres para cada nodox i(k+1), conocido el conjunto de padresen su propio intervalo de tiempoπk+1(xi(k+ 1)) y atendiendo a la métrica elegidapara el aprendizaje.

En primer lugar plantearemos un algoritmo, basado en el algoritmo K2, en don-de la métrica elegida sea una función descomponible. Además estudiaremos otroalgoritmo que se fundamenta en otra métrica basada en las medidas de discrepanciaentre las relaciones de independencia condicional expresadas en la red candidatay éstas mismas, medidas en nuestra base de datos de casos; para ello se utiliza lamedida de entropía de Kullback-Leibler. Este último algoritmo será una adaptacióndel algoritmo BENEDICT para resolver el problema del aprendizaje de relacionestemporales.

Estos algoritmos utilizarán como método de búsqueda una heurística local greedy(hill-climbing) para plantearse en cada momento el arco que al introducirlo en la ac-tual red mejora la medida que en cada caso se utiliza.

4.3.1 Algoritmo TeReK2

Este algoritmo se basa en la optimización de una medida descomponible como cri-terio de bondad en el ajuste. La idea principal en que se basa es en la búsqueda de laestructura del modelo evolutivo de la red de creencia dinámica que mejor concuer-de con una base de datos de casos, para ello utilizaremos una búsqueda local en elespacio de los posibles arcos temporales del modelo.

Page 160: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

138 Aprendizaje de Relaciones Temporales

Si tenemos una media descomponiblef (G(k,k+ 1) : D ′) y si tenemos especi-ficado un orden causal entre las variables del modelo, al igual que describimos enel capítulo 2, entonces el problema de búsqueda se podría definir como: Encontrarπk(xi(k+1))∗, tal que sea igual a:

arg maxπk(xi(k+1)) f(xi(k+1),

[πk+1(xi(k+1))∪πk(xi(k+1))

]: D′

)(4.1)

para todoxi(k+ 1) ∈ V(k+ 1). Esto quiere decir que el problema consistirá enencontrar el mejor conjunto de padresπk(xi(k+1))∗ en el periodo de tiempo anteriork, para cada nodoxi(k+ 1). En primer lugar hemos de notar que el orden causalentre las variables es conocido en nuestro problema, ya que por una parte tenemosespecificada la estructuraG(k), y que por consiguiente se puede extraer un ordentopológico entre las variables deV(k), y por otro lado conocemos que todas lasvariablesx j(k) ∈ V(k) son menores que cualquier variable deV(k+ 1) debido asu orden temporal natural. Por tanto es posible encontrar los posibles padres enk,relaciones temporales, para cada variablexi(k+1) de forma independiente, esto es,podremos maximizar cada familia por separado, ya que el encontrar un padre enk para una determinada variablexi(k+ 1) no introduce ninguna restricción para labúsqueda del resto de conjunto de padres de cada variable enV(k).

Nosotros vamos a abordar esta búsqueda desde el punto de vista heurístico, uti-lizando para ello una búsqueda local. Para realizar esta búsqueda local es necesarioespecificar la vecindad utilizada, esto es, definir la vecindad del conjunto de padresde una determinada variablexi(k+ 1). Esta definición es bastante sencilla. Serádefinida por la posible introducción de un nodo deV(k) como padre dex i(k+ 1)

que previamente no haya sido introducido, esto es:

N (πk(xi(k+1))) ={

πk(xi(k+1))∪{x j(k)}, ∀x j(k) ∈V(k)\πk(xi(k+1))}

(4.2)Teniendo en cuenta las definiciones anteriores el algoritmo de búsqueda plan-

teado procederá como sigue: En primer lugar tomará de partida los padres de unnodoxi(k+ 1) en su propio intervalo de tiempo, esto es,πk+1(xi(k+ 1)). En cadapaso del algoritmo se añade el padre enV(k) cuya inclusión incremente más la me-dida utilizada de la estructura resultante. Cuando la adición de un padre no puedaincrementar esta medida, se dejan de añadir nodos al conjunto de padres.

Las entradas al algoritmo son:n el cardinal del conjunto de nodos deV(k+ 1)

y una base de datosD′ que contienem casos, proyección deD sobre los periodosde tiempok y k+1. Como salida obtendremos el conjunto de padres de cada nodoxi(k+1).

En la figura 4.1 podemos observar el pseudocódigo correspondiente al algoritmoque hemos descrito en el párrafo anterior.

Page 161: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

4.3. Algoritmos locales basados en optimización de métricas 139

Algoritmo TeReK2

1. Para i= 1 hasta n hacer

(a) π(xi(k+1)) = πk+1(xi(k+1))

(b) Ok= True

(c) Pold = f (xi(k+1),π(xi(k+1) : D′)

(d) Mientras Ok hacer

i. x j(k) = arg maxxh(k)/∈π(xi(k+1)) f(xi(k+1),

[π(xi(k+1))∪{xh(k)}

]: D′

)

ii. Pnew= f(

xi(k+1),[π(xi(k+1))∪{x j(k)}

]: D′

)

iii. Si Pnew> Pold EntoncesPold = Pnew

π(xi(k+1)) = π(xi(k+1))∪{x j(k)}

iv. En caso contrario Ok= f alse

Figura 4.1: Algoritmo TeReK2

4.3.2 Algoritmo TeReBenedict

Este algoritmo se basa en el algoritmo BENEDICT que describíamos en el capítulo1. En concreto se basará en la versión denominada BENEDICT-step. Este algoritmoutiliza una heurística de búsqueda similar en muchos aspectos a la heurística utili-zada en el algoritmo K2. En ambos se presupone un orden causal entre las variablesy también ambos optimizan siguiendo este orden el conjunto de padres para cadavariable del problema en cuestión. Las diferencias fundamentales entre ambos son:Por una lado el algoritmo BENEDICT utiliza tests de independencia condicional,sin coste computacional extra, para limitar el espacio de búsqueda en cada paso delalgoritmo. Y por otro lado las métricas en que se fundamentan ambas búsquedasson diferentes. En general, la métrica en la que se basa el algoritmo BENEDICT noes una medida descomponible.

BENEDICT se basa en una medida de discrepancia entre las independenciascondicionales que expresan la estructura gráfica de una red de creencia y éstas mis-mas estimadas a través de la base de datos de casos.

El algoritmo busca una red de creencia candidata tal que la medida de discre-pancia definida sea mínima, cuando alcancemos este mínimo entonces ofrece comoresultado la red de creencia candidata con la que se ha alcanzado este mínimo. Para

Page 162: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

140 Aprendizaje de Relaciones Temporales

medir la discrepancia entre la red candidata y la base de datos de casos se utiliza lamedida de entropía de KLD(X,Y|Z).

D(X,Y|Z) = ∑x,y,z

P(x,y,z) logP(x,y|z)

P(x|z)P(y|z)

La discrepancia total entre el grafo de la red candidata y la base de datos decasos se mide entonces por:

f (G : D) = ∑xi<Lxj / xi /∈π(x j )

D(xi ,x j |Sd(xi ,x j))

donde<L es un orden entre las variables previamente establecido1 y Sd(xi ,x j) esel subconjunto mínimo d-separador para las variablesx i y x j en el grafo de la redcandidata.

Una vez recordado el funcionamiento del algoritmo BENEDICT, podemos verque la adaptación para el aprendizaje de relaciones temporales en una red de creen-cia dinámica es directa. Para su adaptación hemos de notar, como en los algorit-mos anteriores, que en el caso que nos ocupa las variables sobre las que vamosa trabajar están ordenadas de forma natural debido a su orden temporal, es decir,xi(k) ∈ V(k) < xj(k+ 1) ∈ V(k+ 1), además de poder obtener un orden ancestralentre los propios nodos deV(k). Entonces el algoritmo procedería de la siguienteforma:

Inicialmente partiremos de un grafoG(k,k+ 1) sin ninguna relación temporal,esto es,Etmp(k+ 1) = /0. Iniciamos el proceso con el nodox1(k+ 1), primero enel orden topológico deV(k + 1) y fijamos los posibles enlaces temporales can-didatos hacia este nodo{xi(k),x1(k+ 1)}∀xi(k) ∈ V(k), posteriormente medimosf (G(k,k+1) : D′) sin introducir ninguna relación temporal y tomamos esta medidacomo mínimo actual. Una vez realizada esta inicialización iremos introduciendoarcos del conjunto de arcos temporales candidatos que minimizan la medidaf encada momento. Al igual que describe Acid [2] se pueden ir realizando tests de in-dependencia condicional conforme se vaya calculando la medida con la inclusiónde los arcos candidatos, de tal forma que si estimamos independientes dos variablesxi(k) y x j(k+1) no volveremos a plantearnos la inclusión de este arco temporal enetapas posteriores del algoritmo. El algoritmo queda descrito en la figura 4.2.

Hemos de notar que al seguir el orden ancestral definido por la estructuraG(k+

1), conocemos por una proposición [2] que los conjuntos mínimos d-separadores seencuentran entre la unión de los conjuntos ancestrales de los nodos comprobados.Por esta razón, si nosotros estamos buscando los padres de un determinado nodo

1El algoritmo BENEDICT puede trabajar, con un poco más de complejidad, sin establecer un or-den previo entre las variables, sin embargo para nuestra adaptación para el aprendizaje de relacionestemporales no es necesario.

Page 163: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

4.3. Algoritmos locales basados en optimización de métricas 141

Algoritmo TeReBenedict

Se fija G= G(k,k+1) inicialmente con Etmp(k+1) = /0.

Se fija un orden topológico para las variables de V(k+ 1), empezando porlos nodos raíces.

Para i = 1 hasta n hacer

1. Se fija L= {x j(k)→ xi(k+1)} ∀x j(k) ∈V(k)

2. f = 0

3. Para cada enlace de L hacer

(a) Sd(x j ,xi) = Conj. Min. d-separador en G

(b) f = f +D(x j ,xi |Sd(x j ,xi))

(c) Si I(x j ,xi |Sd(x j ,xi)) Entonces L= L\{x j → xi}

4. Min= f

5. Minimizado = true

6. Mientras L6= /0 y Minimizado hacer

(a) Minimizado = false

(b) Para cada enlace de L (xj → xi) hacer

i. G′ = G∪{x j → xi}

ii. f=0

iii. Para cada nodo xj(k) ∈V(k)\πG′(xi) hacer

A. Sd(x j ,xi) = Conj. Min. d-separador en G′

B. f = f +D(x j ,xi |Sd(x j ,xi))

C. Si I(x j ,xi |Sd(x j ,xi)) Entonces L= L\{x j → xi}

iv. Si f < Min EntoncesMin = fMinimizado = trueEnlace ={x j → xi}

(c) G= G∪Enlace

(d) L = L\Enlace

Figura 4.2: Algoritmo TeReBenedict

Page 164: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

142 Aprendizaje de Relaciones Temporales

xi(k+1) y suponiendo que el algoritmo hasta esta etapa ha sido capaz de extraer elconjunto de padres de cada nodo anterior en el orden ax i(k+1) de forma correcta,entonces podemos estar seguros que los conjuntos d-separadores minimales seráncalculados correctamente.

Otra puntualización del anterior algoritmo es la siguiente: En el algoritmo BE-NEDICT para calcular la medidaf de una red candidata, se han de sumar todosy cada uno de los asertos de d-separación encontrados hasta la etapai-ésima queimplican al nodoxi en la medida global de discrepancia utilizada, sin embargo ennuestra adaptación para el aprendizaje de relaciones temporales que hemos pro-puesto, sólo sumamos los asertos de d-separación entre parejas de nodosx j(k) yxi(k+1). Este hecho se justifica porque los asertos de d-separación entre variablesdel propio periodo de tiempo〈xi(k+ 1),x j(k+ 1)|S〉, dado algún subconjuntoS,son conocidos que realmente son condicionalmente independientes y que por tantosiempre sumaríamos una cantidad constante 0 en la sumatoria global de la medidaf .

Por último indicar que el paso 3 del algoritmo descrito en la figura 4.2 también esdiferente en el algoritmo BENEDICT-step. En este último caso la inicialización dela medidaf se efectúa con la sumatoria de todos los asertos de d-separación〈x,x i | /0〉,esto es porque el nuevo nodoxi a insertar en la estructura en un principio no tieneningún enlace que lo conecte con los nodos predecesores en el orden. Sin embargo,en nuestra adaptación hemos de notar que esto no es así, pueden existir caminos queunan el nodo correspondientexi(k+1) con nodosx j(k) mediante enlaces temporalespreviamente introducidos en etapas anteriores, es por ello que en esta adaptación sehan de calcular los conjuntos mínimos d-separadores para la inicialización de lamedidaf .

4.4 Algoritmos basados en relaciones de independen-cia condicional

En esta sección nos vamos a plantear una serie de algoritmos de aprendizaje que uti-lizan tests de independencia condicional para la inclusión o borrado de los arcos queconforman el modelo evolutivo de la red de creencia dinámica que queremos apren-der. Para cada uno de estos algoritmos demostraremos su correcto funcionamientoy tendrán en común que para ello partiremos de la suposición de que los datos ennuestra base de datos son datos obtenidos a partir de un modelo de independenciasisomorfo a un grafo dirigido acíclico que representa a una red de creencia dinámica.

Page 165: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

4.4. Algoritmos basados en relaciones de independencia condicional 143

4.4.1 Algoritmo TeRePC

El algoritmo que vamos a presentar a continuación está inspirado en su forma deproceder y en sus fundamentos teóricos en el algoritmo PC. Como vimos en elcapítulo 1, el algoritmo PC es una mejora del algoritmo SGS, ambos desarrolladospor Spirtes, Glymour y Scheines [127].

El algoritmo PC, en el fondo, se fundamenta en la búsqueda de posibles separa-dores de una pareja de nodos que los haga independientes para de esta forma poderasegurar que en la salida final estos dos nodos no serán adyacentes. La forma debúsqueda de estos posibles separadores, se hace de tal forma que los tests de inde-pendencia condicional se realicen en orden creciente atendiendo a su complejidad.La siguiente proposición nos asegurará el correcto funcionamiento del algoritmoque expondremos posteriormente y que denominaremosTeRePC.

Proposición 4.2 Si consideramos G(k,k+ 1) como la unión de los dos grafos di-rigidos acíclicos en dos periodos de tiempo consecutivos en una RCD, podremosasegurar que x(k) ∈V(k) e y(k+1) ∈V(k+1), no son adyacentes si y solo si:

〈x(k),y(k+1)|πk(y(k+1))∪πk+1(y(k+1))〉 (4.3)

Demostración:La demostración es clara, teniendo en cuenta que el nodoy(k+ 1)

no puede ser un ancestro dex(k) enG(k,k+1).

Partiendo de esto y siguiendo el proceso del algoritmo PC, podremos dar unalgoritmo (fig 4.3) que recupere el conjuntoE tmp(k+1) de una red de creenciadinámica. El algoritmo comenzará con un grafoG unión deG(k) y G(k+1) endonde para cada variable o vértice deG(k+1) conectaremos un arco desde todoslos nodos deG(k). Procederemos, al igual que PC, de forma que realizamos primerolos tests de independencia condicional de un orden menor, empezando con los deorden cero, y así sucesivamente.

Ejemplo 4.1 Veremos un pequeño ejemplo del funcionamiento del algoritmo Te-RePC. Tenemos el grafo inicial de la figura 4.4 (a).

• n = 0.

– I(A(k),B(k+1)| /0)⇒ Eliminamos A(k)→ B(k+1).

– I(B(k),B(k+1)| /0)⇒ Elim. B(k)→ B(k+1).

– I(C(k),B(k+1)| /0)⇒ Elim. C(k)→ B(k+1).

– I(D(k),B(k+1)| /0)⇒ Elim. D(k)→ B(k+1).

• n = 1.

– I(A(k),D(k+1)|C(k+1))⇒ Elim. A(k)→ D(k+1).

Page 166: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

144 Aprendizaje de Relaciones Temporales

Algoritmo TeRePC

1. Formar el grafo G= G(k)∪G(k+1)∪Etmp(k+1).

2. Etmp(k+1) = {(x(k),y(k+1))/(x(k),y(k+1)) ∈V(k)×V(k+1)}.

3. n= 0

4. Repetir

(a) RepetirSeleccionar un par ordenado de variables x(k) e y(k+1) adyacentes enG tal queπ(y(k+ 1)) \ {x(k)} tenga un cardinal mayor o igual que n,y seleccionar un subconjunto S deπ(y(k+1))\{x(k)} de cardinalidadn. Si I(x(k),y(k+1)|S) eliminar el arco x(k)→ y(k+1) de G.

Hasta que todos los pares de variables adyacentes x(k) e y(k+1) talesqueπ(y(k+1))\{x(k)} tengan cardinalidad mayor o igual que n y to-dos los subconjuntos S deπ(y(k+1))\{x(k)} de cardinalidad n hayansido comprobados para establecer la independencia.

(b) n= n+1

5. Hasta que el conjuntoπ(y(k+1))\{x(k)} tenga cardinalidad menor que n,para cada par de vértices adyacentes(x(k),y(k+1)).

Figura 4.3: Algoritmo TeRePC

Page 167: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

4.4. Algoritmos basados en relaciones de independencia condicional 145

A B

C

D

A B

C

D

A B

C

D

A B

C

D

A B

C

D

A B

C

D

(a) Red de Creencia Dinamica de partida.

(c) Grafo resultante para n=0.

(e) Resultado Final.(d) Grafo resultante para n=1

A B

C

D

A B

C

D

A B

C

D

A B

C

D

G(t) G(t+1)

(b) Grafo de partida para el Algoritmo TeRePC.

Figura 4.4: Ejemplo de funcionamiento del Algoritmo TeRePC.

Page 168: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

146 Aprendizaje de Relaciones Temporales

– I(B(k),D(k+1)|C(k+1))⇒ Elim. B(k)→ D(k+1).

– I(C(k),D(k+1)|C(k+1))⇒ Elim. C(k)→ D(k+1).

– I(D(k),D(k+1)|C(k+1))⇒ Elim. D(k)→ D(k+1).

El resultado del algoritmo para n= 0 y para n= 1 lo podemos observar enla figura 4.4(c) y (d).

• n = 2.

– I(A(k),A(k+1)|D(k),B(k))⇒ Elim. A(k)→ A(k+1).

– I(A(k),C(k+1)|{D(k),A(k+1))})⇒ Elim. A(k)→C(k+1).

– I(B(k),C(k+1)|{D(k),A(k+1))})⇒ Elim. B(k)→C(k+1).

– I(C(k),C(k+1)|{D(k),A(k+1))})⇒ Elim. C(k)→C(k+1).

– I(C(k),A(k+1)|{B(k),D(k)})⇒ Elim. C(k)→ A(k+1).

El resultado del algoritmo para n= 2 lo podemos observar en la figura 4.4(e).Cuando n= 3 el algoritmo se detiene.

4.4.2 Algoritmo de aprendizaje de relaciones temporales basadoen el subconjunto Manto de Markov parcial

En este punto vamos a estudiar otro algoritmo para aprender de forma automática lasrelaciones temporales de una red de creencia dinámica, que se basa en la realizaciónde tests de independencia condicional únicos entre variables de periodos de tiempoconsecutivos.

La idea básica del algoritmo es realizar test de independencia condicional entrelos nodos deV(k) y V(k+1), estos tests se realizan en el orden ancestral de losnodos marcado por sus estructurasG(k) y G(k+1). Los tests que se realizan sonúnicos para cada pareja de nodos.

Es bien conocido en la literatura sobre redes de creencia que el conjunto Mantode Markov(MM) de un nodox es el conjunto formado por la unión de sus padres,hijos y padres de estos hijos. Ahora definiremos lo que nosotros entendemos comoel conjunto Manto de Markov restringido para un periodo de tiempok.

Definición 4.1 Dada una RCD y un nodo xi(k) ∈ V(k), definiremos el Manto deMarkov restringido al periodo de tiempo k, y lo notaremos como MMk(xi(k)), como:

MMk(xi(k)) = {πk(xi(k))∪hi jk(xi(k))∪πk(hi jk(xi(k)))

Page 169: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

4.4. Algoritmos basados en relaciones de independencia condicional 147

Este subconjunto del conjunto Manto de Markov es el correspondiente a la uniónde los padres dexi(k) restringidos a su propio intervalo de tiempo, los hijos de estamisma variable también restringidos a su propio intervalo de tiempo y los padres deéstos últimos nodos también restringido a su propio intervalo de tiempok.

En segundo lugar definiremos lo que entendemos como el conjunto Manto deMarkov del nodo i-ésimoxi(k)∈V(k), según un orden ancestral paraG(k), asociadoal nodo j-ésimox j(k+ 1), según un orden ancestral paraG(k+ 1), de una red decreencia dinámica. A este conjunto lo vamos a notar como:MM i, j .

Definición 4.2 (Manto de Markov i, j) Definido un orden ancestral para G(k) ytambién para G(k+1), entonces:

MMi, j = {MMk(xi(k))∪H i, j ∪PHi, j}

donde Hi, j = {xh(k+ 1) ∈ V(k+ 1)|(xi(k),xh(k+ 1)) ∈ Etmp(k+ 1) y xh(k+ 1) <

x j(k+1)} y PHi, j = {xp ∈ π(xh(k+1))|xh(k+1) ∈ H i, j}

En la siguiente figura 4.5, podemos ver un ejemplo de los nodos que pertenecenal subconjuntoMM i, j para un nodo.

G(k) G(k+1)

Xi(k) Xj(k+1)

Figura 4.5: Ejemplo de Manto de Markov i, j . Los nodos sombreados pertenecen

a este subconjunto

El subconjuntoH i, j son los hijos del nodoxi(k) en el periodo de tiempo siguientek+1 que sean menores en el orden al nodox j(k+1) y el subconjuntoPH i, j son lospadres en ambos periodos de tiempo de los nodos del subconjunto anterior.

Es bien conocido que en cualquier red de creencia, todo nodox de la red escondicionalmente independiente del resto de nodos de la red dado el subconjuntoManto de Markov. Si nos fijamos de nuevo en la figura 4.5, podemos notar quenosotros no hemos incluido en nuestra definición de Manto de Markov parciali, j

Page 170: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

148 Aprendizaje de Relaciones Temporales

aquellos nodos que, perteneciendo al Manto de Markov total, conocemos que enlos caminos entrexi(k) y x j(k+ 1) que incluyen estos nodos excluidos se forma almenos un nodo cabeza-cabeza; es por ello que para realizar un hipotético tests deindependencia condicional no sea necesario su inclusión.

A continuación estableceremos un resultado, que nos da una condición necesariay suficiente para poder determinar si dos nodosx(k) e y(k+1) son adyacentes o noen una red de creencia dinámica.

Proposición 4.3 Sea G un grafo dirigido acíclico que define una RCD. Para cua-lesquiera dos periodos de tiempo k y k+1 consecutivos en G, tenemos que:

∃ xi(k)→ xj(k+1)⇐⇒¬〈xi(k),xj (k+1)|MMi, j〉

donde xi(k) es el nodo i-ésimo de V(k) según un orden ancestral para G(k) y x j(k+

1) es el nodo j-ésimo de V(k+1) según un orden ancestral para G(k+1).Demostración:La condición necesaria es directa teniendo en cuenta que si los no-dos son adyacentes enG entonces ningún subconjunto es capaz de d-separarlos, enparticular, el conjuntoMM i, j tampoco.

Demostraremos, ahora la condición suficiente: Si se da¬〈xi(k),xj(k+1)|MMi, j 〉,esto quiere decir que existe al menos un camino activo entre ambos nodos dado elsubconjuntoMM i, j . Supongamos que este camino no es un arco directo entre losnodosxi(k) y x j(k+1).

Si el caminoC activo es de la forma:

xi(k)← xs(k) . . .xj(k+1)

entonces el camino queda bloqueado al pertenecer el nodoxs(k) al conjuntoMM i, j

y no ser un nodo cabeza-cabeza.Si el caminoC activo es de la forma:

xi(k)→ xs(k)→ . . .xj(k+1)

entonces el camino queda bloqueado al pertenecer el nodoxs(k) al conjuntoMM i, j

y no ser un nodo cabeza-cabeza.Si el caminoC activo es de la forma:

xi(k)→ xs(k)← xs′(k) . . .xj(k+1)

entonces el camino queda bloqueado al pertenecer tanto el nodoxs(k) como el nodoxs′(k) al conjuntoMM i, j . Además hemos de notar que el nodo siguiente en el caminoa xs(k), también pertenece aV(k).

Si el caminoC activo es de la forma:

xi(k)→ xs(k+1)→ xs′ . . .x j(k+1)

Page 171: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

4.4. Algoritmos basados en relaciones de independencia condicional 149

entonces este camino queda bloqueado sixs(k+ 1) < x j(k+ 1), porque entoncesel nodoxs(k+ 1) pertenece al conjuntoMM i, j . Ahora bien si el nodoxs(k+ 1) >

x j(k+ 1), entonces entrexs(k+ 1) y x j(k+ 1), se forma un nodo cabeza-cabeza.Suponemos el nodo cabeza-cabeza más cercano al propioxs(k+1):

xi(k)→ xs(k+1)→ xs′ . . .→ xc(k+1)← . . .← x j(k+1)

entonces al serxs(k+ 1) > x j(k+ 1), tambiénxc(k+ 1) > x j(k+ 1) y por tanto elcamino queda bloqueado porquexc(k+ 1) /∈ MMi, j , a no ser que haya algún des-cendiente dexc(k+1) incluido en este subconjunto, pero esto es imposible porqueestos descendientes también serían mayores quex j(k+1) y tampoco perteneceríanal subconjuntoMM i, j .

Si el caminoC activo es de la forma:

xi(k)→ xs(k+1)← xs′ . . .x j(k+1)

entonces puede ocurrir igual que el caso anterior que:Si xs(k+1) < x j(k+1), entonces el camino está bloqueado, porque tantoxs(k+

1) comoxs′ pertenecen al subconjuntoMM i, j .Si xs(k+ 1) > x j(k+ 1), entonces el camino está también bloqueado, porque

xs(k+1) /∈MMi, j .Entonces la única forma de activar este camino es siendo éste un arco directo

entre ambos nodosxi(k) y x j(k+1).

Una vez vista la proposición anterior y teniendo en cuenta la definición deMMi, j , entonces podemos plantear un algoritmo en donde organizaremos los testsde independencia condicional de tal manera que esté bien definido en todo momentoel subconjuntoMM i, j .

La base del algoritmo que vamos a plantear es la siguiente: Empezamos a reali-zar tests de independencia condicional dado el subconjunto anteriormente definidocomoMM i, j por nodos raíces de las estructurasG(k) y G(k+1). Hemos de teneren cuenta entonces que si empezamos por los nodos raíces el subconjuntoMM i, j

es conocido, y continuaremos realizándolos conforme progresamos en los índicessegún algún orden ancestral para dichas estructuras; si el resultado del test es ne-gativo entonces colocaremos un arco en el conjuntoE tmp(k+1) entre los nodoscomprobados y en caso contrario pasamos a la siguiente etapa del algoritmo, estoes, pasar a comprobar los nodos siguientes en el orden ancestral definido. Hemosde notar que si progresamos de esta forma en nuestro algoritmo los arcos que noconocemos en cada una de las etapas serán aquellos que parten desde nodosxh(k)mayores en el orden al nodoxi(k) comprobado, hacia cualquier nodo dek+1, pero

Page 172: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

150 Aprendizaje de Relaciones Temporales

entonces hemos de notar que los caminos quedan bloqueados por los hijos y pa-dres dexi(k) (fig. 4.5). Tampoco conocemos los posibles arcos que parten desde elpropio xi(k) hacia nodos mayores en el orden que el nodox j(k+ 1) comprobado,pero como hemos probado, estos caminos incluyen forzosamente al menos un nodocabeza-cabeza que no pertenece al conjuntoMM i, j y por consiguiente al no estarinstanciado estos caminos quedan bloqueados.

A continuación presentamos el algoritmoART (Aprendizaje de Relaciones Tem-porales). El pseudocódigo correspondiente a este algoritmo lo podemos observar enla figura 4.6.

Algoritmo ART

Ent: G(k) y G(k+1) Ordenados topológicamente empezando por los nodos raí-ces.

Sal: Etmp(k+1)

1. Etmp(k+1) = /0

2. Para j= 1 hasta n hacer

(a) Seleccionar el nodo xj(k+1) de G(k+1)

(b) Para i= 1 hasta n hacer

i. Seleccionar el nodo xi(k) de G(k)

ii. Si ¬I(xi(k),xj (k+1)|MMi, j ) entonces

iii. E tmp(k+1) = Etmp(k+1)∪{(xi(k),xj (k+1))}

Figura 4.6: Algoritmo ART

Ahora podemos pasar a observar el comportamiento del algoritmo mediante unejemplo.

Ejemplo 4.2 Suponemos que tenemos la red de creencia dinámica de la figura4.7, veamos cómo progresa el algoritmo que anteriormente hemos descrito. En unprincipio tenemos que el conjunto de relaciones temporales es el vacío y que laordenación en los nodos de V(k) y V(k+1) es la que aparece en los subíndices dela figura. (xi), i = 1, ...,5.

Como entrada al algoritmo tenemos que la ordenación de los nodos es la si-

Page 173: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

4.4. Algoritmos basados en relaciones de independencia condicional 151

G(k) G(k+1)

x x

x

x

x

x x

x

x

x

1 2 1

433 4

5

2

5

Figura 4.7: Red de creencia dinámica. Ejemplo del Algoritmo ART.

guiente:V(k) = {x1(k),x2(k),x3(k),x4(k),x5(k)}

V(k+1) = {x1(k+1),x2(k+1),x3(k+1),x4(k+1),x5(k+1)}

y que: Etmp(k+1) = /0Nos centraremos en unos cuantos casos solamente para describir el funciona-

miento del algoritmo, para el resto de casos se proseguiría de igual forma.

• Para ( j = 1, i = 1)MMi, j (x1(k)) = {x3(k),x4(k),x2(k)}.

Por tanto comprobamos si I(x1(k),x1(k+1)|{x3(k),x4(k),x2(k)}), como po-demos observar en la figura 4.7, todos los posibles caminos están bloqueadospor este subconjunto MMi, j (x1(k)).

• Para ( j = 1, i = 2)MMi, j (x2(k)) = {x4(k),x1(k)}.

En este caso tendremos que ver si I(x2(k),x1(k+1)|{x4(k),x1(k)}). Si nosfijamos de nuevo en la estructura de la figura 4.7, podemos observar que siel arco x2(k)→ x1(k+1) no existiese todos los caminos entre dichos nodosquedarían bloqueados al igual que en el caso anterior de nuevo por el con-junto MMi, j (x2(k)). Todos los caminos que parten desde x2(k) hacia nodospropios de su instante de tiempo k quedarían bloqueados por{x4(k),x1(k)},sin embargo existe un nodo más en el conjunto completo MM(x2(k)) que esx3(k+1) que no podremos incluir porque no sabemos de la existencia delarco x2(k) → x3(k+1); afortunadamente conocemos que los caminos quellegan de esta forma hacia x1(k+1) lo hacen a través de sus descendientesy por tanto formaría siempre algún nodo cabeza-cabeza no incluido en elconjunto MMi, j , como ocurre en el ejemplo.

Page 174: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

152 Aprendizaje de Relaciones Temporales

De esta forma podremos concluir que existe un arco entre x2(k) y x1(k+1).

Siguiendo de igual forma para el resto de casos, al finalizar todas las etapas delalgoritmo recuperaremos todos los arcos temporales de la red de creencia dinámicadel ejemplo.

Ahora pasaremos a demostrar el correcto funcionamiento del Algoritmo ARTmediante el siguiente teorema.

Teorema 4.1 Sea G un grafo dirigido acíclico de una RCD y sea P una distribuciónsobre V isomorfa a G, entonces partiendo de dos grafos dirigidos acíclicos querepresentan dos periodos de tiempo consecutivos G(k) y G(k+1) en una RCD elalgoritmo ART , obtiene correctamente el conjunto Etmp(k+1).Demostración:La demostración del teorema la haremos por inducción sobre el ín-dice j.Caso basej = 1:

• Caso basei = 1, j = 1: En este caso se realiza el test de independencia con-dicional:

I(x1(k),x1(k+1)|MM1,1)

MM1,1 = MMk(x1(k)) = πk(x1(k))∪Hi jk(x1(k))∪πk(Hi jk(x1(k))), este con-junto es conocido perfectamente en esta situación. Así que aplicando la pro-posición 4.3, tendremos que existe el arcox1(k) → x1(k+ 1), si y solo si¬I(x1(k),x1(k+1)|MM1,1).

• Paso de inducción:Suponemos ahora que se cumple parai = h, j = 1 y pasa-mos a demostrar que también se cumple parai = h+1, j = 1.

Se realiza el test de independencia condicional:

I(xh+1(k),x1(k+1)|MMh+1,1)

y MMh+1,1 = MMk(xh+1(k)), el cual es conocido en esta etapa de forma co-rrecta, por tanto se sigue de la proposición 4.3 que existe el arcoxh+1(k)→x1(k+1), si y solo si¬I(xh+1(k),x1(k+1)|MMh+1,1).

Paso de inducción:Suponemos que el algoritmo ART recupera de forma correctalos arcos temporales hastaj = l .

Tendremos que demostrarlo ahora paraj = l +1. Para ello de nuevo efectuare-mos otra demostración por inducción sobrei.

Page 175: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

4.4. Algoritmos basados en relaciones de independencia condicional 153

• Caso basei = 1, j = l +1: Entonces se realizará el test de independencia con-dicional:

I(x1(k),xl+1(k+1)|MM1,l+1)

como hasta los nodos menores o iguales quexl (k+ 1) se conocen todos losarcos temporales que le llegan desde cualquier nodox i(k), entonces se conocede forma correcta el conjuntoMM1,l+1 y por tanto se sigue de la proposición4.3 que existirá el arcox1(k)→ xl+1(k+ 1), si y solo si¬I(x1(k),xl+1(k+

1)|MM1,l+1).

• Paso de inducción:Entonces suponemos que se recuperan de forma correctalos arcos temporales hasta el nodoxh(k) para j = l + 1. Tendremos que de-mostrar que recupera de forma correcta el arco temporalxh+1→ xl+1. En estecaso se realiza el test de independencia condicional:

I(xh+1(k),xl+1(k+1)|MMh+1,l+1)

según la definición del conjuntoMMh+1,l+1, en la etapa considerada del al-goritmo el conjunto es conocido de forma correcta y por tanto, de nuevo,aplicando la proposición 4.3 existirá el arcoxh+1(k)→ xl+1(k+1), si y solosi¬I(xh+1(k),xl+1(k+1)|MMh+1,l+1).

4.4.3 Algoritmo de aprendizaje de relaciones temporales basadoen el conjunto mínimo d-separador

Aunque el algoritmo ART, descrito en la sección anterior, tiene un ordenO(n2),siendon el número de nodos en un instante de tiempok, los tests de independenciacondicional que se realizan pueden ser exponenciales con respecto al número devariables que intervienen en el conjunto sobre el que se condiciona. Sería lógicopensar en mejorar la eficiencia del algoritmo anterior, intentando reducir al máximoel número de variables que intervienen en los tests de independencia condicional,manteniendo el número de tests de independencia condicional que se hacía ante-riormente en el algoritmo ART. Lo que pretendemos es eliminar en cada etapa delalgoritmo aquellos nodos que sabemos seguro que no intervienen en los caminosentre los nodos que se comprueban desde el punto de vista de la d-separación.

La reducción de los nodos que intervienen en los tests de independencia condi-cional se basa en el algoritmo para la obtención del conjunto mínimo que d-separados variables. Evidentemente la estructura completa no se conoce y por tanto tendre-mos que incorporar elementos provisionales para situarnos en el caso peor posible

Page 176: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

154 Aprendizaje de Relaciones Temporales

en cada etapa del algoritmo y asegurar que los tests de independencia condicionalque se hagan son válidos para determinar la existencia o no de los arcos tempora-les comprobados en cada etapa del algoritmo. Como hemos estudiado en el puntoanterior, de los arcos que no conocemos en un paso del algoritmo ART, sólo influ-yen un subconjunto de ellos en los tests de independencia. Aprovecharemos estacircunstancia para colocarnos en la situación más desventajosa y suponer que exis-ten todos los arcos que no conocemos y que influyen en los tests de independenciacondicional que realicemos.

Recientemente se ha desarrollado un algoritmo para encontrar el conjunto míni-mo de nodos que d-separan en un dag dos nodos cualesquiera [4], éste es utilizado,por ejemplo, en el algoritmo de aprendizaje de redes de creencia BENEDICT [5, 7].Nosotros emplearemos este algoritmo para reducir el tamaño del conjuntoMM i j , sincomprometer por ello las garantías que un test basado en dicho subconjunto ofrecepara determinar si un arco temporal existe o no.

Conforme el algoritmo ART progresa podemos conocer que algunos nodos delconjuntoMM i, j no harán falta considerarlos, ya que no intervienen en ningún ca-mino que conecta los nodos que comprobamos en la iteración i-ésima, y en con-secuencia no influyen, desde el punto de vista de la d-separación, en los tests deindependencia condicional que realicemos. Esta situación la podemos ver en el si-guiente ejemplo.

Ejemplo 4.3 Consideremos la red de creencia dinámica de la figura 4.8, los arcosque aparecen punteados son los que todavía no conocemos.

A B

C

D

A B

C

D

G(k) G(k+1)

Figura 4.8: Podemos observar que desde el nodo A del periodo de tiempo k no

parte ningún arco hacia k+1.

Suponemos que estamos en la iteración en la cual se están considerando losnodos C(k) y C(k+1), el algoritmo anterior efectuaría el test de independencia

Page 177: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

4.4. Algoritmos basados en relaciones de independencia condicional 155

condicional:

I(C(k),C(k+1)|MMi, j ) = I(C(k),C(k+1)|{A(k),B(k),D(k)})

Sin embargo podemos observar en la figura 4.8 que en la iteración i-ésima co-nocemos que desde el nodo A(k) no parte ninguna flecha hacia el periodo de tiempok+1, y que por lo tanto no influye en el test de independencia condicional que rea-lizamos. Podríamos asegurar la existencia o no del arco tan solo realizando el testI(C(k),C(k+1)|{B(k),D(k)}).

Esta reducción es bastante importante ya que por un lado sabemos que los testde independencia condicional pueden ser exponenciales con respecto al número denodos que intervienen en el mismo y por otro lado desde el punto de vista prácticoes más fiable realizar tests de independencia condicional con un número menor denodos.

Estas situaciones se podrían detectar en el caso de que encontrásemos la no exis-tencia de un camino entre los nodos que comprobamos, en el caso del ejemplo ante-rior C(k) y C(k+1), a través de los nodos ancestrales de los mismos. Estos caminosse pueden detectar con el algoritmo que busca el conjunto mínimo d-separador enla etapa correspondiente. Si aplicásemos dicho algoritmo al ejemplo de la figura4.8(sin tener en cuenta los arcos desconocidos en ese instante), obtendríamos que elconjunto mínimo d-separador es o bien el nodoB(k) o bien el nodoA(k+1). De estaforma podremos asegurar que el nodoA(k) no influye en los tests de independenciacondicional que realicemos en esta etapa.

Ahora bien, si por una parte podemos ver que el nodoA(k) no tiene un caminopor los nodos ancestros del nodoC(k+1), de éste ultimo no conocemos todos loscaminos existentes porque pudiera ser que tuviese más padres desde los descendien-tes deC(k), como ocurre en el ejemplo anterior. Por tanto si hiciésemos un test deindependencia condicional con el conjunto mínimo d-separador en este instante, nopodríamos asegurar la existencia de un arco entre dichos nodos, ya que existe uncamino a través de los descendientes deC(k). Lo que si sabemos, con certeza eneste instante, es que no habrá más caminos ancestrales entreC(k) y C(k+1) queincluyan el nodoA(k), por tanto lo podremos excluir de los test de independen-cia condicional si ningún problema. Como hemos visto en la sección anterior, losúnicos caminos que no conocemos y que pueden influir, son los que parten desdelos nodos mayores (en el orden definido porG(k)) que el nodoC(k) hacia el nodoC(k+1). Por consiguiente, para asegurarnos que hacemos los tests de independen-cia condicional correctos, de forma que aseguraremos la existencia de un arco entreC(k) y C(k+1) podríamos poner estos arcos transitoriamente, en nuestro ejemplo

Page 178: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

156 Aprendizaje de Relaciones Temporales

pondríamos el arcoD(k)→ C(k+ 1). Una vez realizada esta operación bastaríahacer el cálculo del conjunto mínimo d-separador entre los nodosC(k) y C(k+1)

y realizar el test de independencia condicional correspondiente con dicho conjuntocalculado.

Una vez descrita de manera informal la idea subyacente del próximo algoritmoque vamos a estudiar, pasaremos a formalizar éste. Para ello necesitaremos lassiguientes definiciones:

Definición 4.3 Dado un orden ancestral para G(k) y G(k+ 1), definimos los con-juntos de relaciones temporales de G(k,k+1):

E+i, j(k+1) = {(xs(k),xj (k+1)) | xs(k) > xi(k)}

E−i, j(k+1) = {(xi(k),xj(k+1))}∪{(xh(k),xl (k+1)) | xl (k+1) > x j(k+1)}

El subconjuntoE+i, j(k+ 1) son todos los posibles arcos temporales que parten

desde nodos mayores axi(k) en el orden deG(k) hacia el nodox j(k+1) deG(k+1).Y el subconjuntoE−i, j(k+ 1) son todos los posibles arcos temporales que partendesde cualquier nodo deG(k) hacia nodos mayores quex j(k+ 1) en el orden enG(k+1) más el propio arco temporal entre los nodosx i(k) y x j(k+1).

Definición 4.4 Definimos el subgrafo de G(k,k+1) aumentado, Gi, j como:

Gi, j = (G(k,k+1)\E−i, j)∪E+i, j

Este grafoGi, j es el original al cual le borramos los arcos del subconjuntoE−i, j yle añadidos los arcos del subconjuntoE+

i, j .A continuación establecemos una nueva caracterización a partir de las definicio-

nes anteriores del conjuntoEtmp(k+1).

Proposición 4.4 Sea G un grafo dirigido acíclico que define una RCD, para cua-lesquiera dos periodos de tiempo k y k+1 consecutivos en G, tenemos que:

∃ xi(k)→ xj(k+1) ∈ Etmp(k+1) ⇐⇒ (4.4)

⇐⇒¬〈xi(k),xj (k+1)|Si, jd〉G(k,k+1)

(d-separación en G(k,k+1)). (4.5)

donde xi(k) es el nodo i-ésimo de V(k) según un orden ancestral para G(k), x j(k+

1) es el nodo j-ésimo de V(k+1) según un orden ancestral para G(k+1) y Si, jd

esel conjunto mínimo que d-separa xi(k) de xj(k+1) en el grafo Gi, j .Demostración:La condición necesaria es directa. Demostraremos ahora la condi-ción suficiente. Supondremos que se da¬〈xi(k),xj (k+ 1)|Si, j

d〉 y que no existe el

arcoxi(k)→ xj(k+1).

Page 179: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

4.4. Algoritmos basados en relaciones de independencia condicional 157

A B

C

D

A B

C

D

G(k) G(k+1)

Figura 4.9: Ejemplo de grafo Gi, j (para los nodos C(k) y B(k+1)) para el grafo de

la figura 4.8. Los arcos punteados corresponden al conjunto E −i, j y el

arco más claro corresponde al conjunto E+i, j .

En primer lugar demostraremos que:∀ xh(k) > xi(k) | xh ∈ Hi jk(xi(k)) ó xh(k) ∈ πk(Hi jk(xi(k))), entonces estos nodosxh(k) pertenecen siempre al conjuntoSi, j

d. Bien, en el grafoGi, j , existe un arco

directo entre los nodosxh(k) y x j(k+1), según definición del grafoGi, j . Entoncesexisten caminos entrexi(k) y x j(k+1) de la siguiente forma en el grafo aumentado:

xi(k)→ xh(k)→ xj(k+1)

entonces para poder d-separar este camino, forzosamente ha de incluirse enSi, jd

elnodoxh(k).

Y si el camino es de la forma:

xi(k)→ xh(k)← xph(k)→ xj(k+1)

entonces como hemos incluido enSi, jd

los nodosxh(k), el camino anterior no estaríabloqueado por el conjuntoSi, j

d, a no ser que incluyamos también los nodosxph(k)

en dicho conjunto. Por lo tanto, estos nodos también deben incluirse forzosamenteen el conjunto mínimo d-separador.

Si ¬〈xi(k),xj (k+ 1)|Si, jd〉, entonces existe un caminoC (no arco directo) entre

xi(k) y x j(k+1) activado por el conjuntoSi, jd

.Si el caminoC es de la forma:

xi(k)→ xh(k)→ . . .xj(k+1)

entonces, el caminoC está bloqueado porque, como hemos visto en el párrafo ante-rior, el nodoxh(k) pertenece siempre al conjuntoSi, j

d.

Page 180: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

158 Aprendizaje de Relaciones Temporales

Si el caminoC es de la forma:

xi(k)→ xh(k)← xph(k) . . .xj(k+1)

entonces, puede ocurrir dos casos:

• Caso en quexph(k) > xi(k), entonces el caminoC queda bloqueado graciasa que sabemos que el nodoxph(k) ∈ Si, j

d, según demostramos en el primer

párrafo.

• Caso en quexph(k) < xi(k), entonces el caminoC será de la siguiente forma:

xi(k)→ xh(k)← xph(k) . . .xs(k)→ xu(k+1) . . .x j(k+1)

– Caso en quexu(k+ 1) < x j(k+ 1), entonces el arcoxs(k)→ xu(k+ 1)

también existe en el grafoGi, j , de lo que se sigue que este caminoC esde la misma forma enG(k,k+ 1), por lo tantoSi, j

dd-separa en camino

en ambos grafos.

– Caso en quexu(k+ 1) > x j(k+ 1), entonces enG(k,k+ 1) se formaalgún nodo cabeza-cabeza:xi(k)→ xh(k)← xph(k) . . .xs(k)→ xu(k+

1)→ . . .→ xc(k+1)← . . .x j(k+1)

Situémonos enxc(k+1) el nodo cabeza-cabeza más cercano axu(k+1).Entonces el arcoxs(k)→ xu(k+1) no existe en el grafoGi, j , de lo quepodemos seguir quexc(k+1) no podrá pertenecer nunca al conjunto mí-nimo d-separadorSi, j

dy por consiguiente el camino quedaría bloqueado.

Tampoco ninguno de sus descendientes puede pertenecer a este conjun-to mínimo d-separador ya que sixu(k+ 1) > x j(k+ 1), entonces cual-quier descendiente suyo también lo será. Sin embargo puede ocurrir quexc(k+1) pertenezca al conjuntoSi, j

dporque haya otro caminoC′ que se

bloquee con la inclusión dexc(k+1), pero de ser así, no queda más re-medio quexc(k+1) sea ancestro dex j(k+1)2, de donde obtendríamosquexc(k+1) < x j(k+1), cosa que contradice nuestra hipótesis ya quesi observamos el caminoC xc(k+ 1) > x j(k+ 1). Por la misma razónninguno de sus hijos puede bloquear ningún otro caminoC ′.

Si el caminoC es de la forma:

xi(k)← xp(k) . . .xj(k+1)

Entonces al igual que en los casos anteriores tendríamos las siguientes posibili-dades:

2Hemos de notar que el conjunto mínimo d-separador se encuentra entre los ancestros dexj (k+1)

o los ancestros dex i(k), entonces six c(k+1) bloquea algún caminoC ′, entonces ha de ser ancestro dex j (k+1) porque dex i(k) no puede ser nunca ya que no pueden existir arcos del tipoxs(k+1)→ x u(k)enG(k,k+1) en ningún camino.

Page 181: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

4.4. Algoritmos basados en relaciones de independencia condicional 159

• Que el caminoC fuese de la forma:

xi(k)← xp(k) . . .xs(k)→ xu(k+1) . . .x j(k+1)

y quexu(k+ 1) < x j(k+ 1), siguiendo el mismo razonamiento que el casoanterior se concluye que los caminos son iguales en ambos grafos y que portanto el conjunto mínimo d-separador bloquearía el camino en ambos grafos.

• El mismo caminoC y quexu(k+1) > x j(k+1), al igual que el caso anteriorse concluye que es una situación en que se forma un nodo cabeza-cabeza quebloquea el camino al no incluirse ni él ni ninguno de sus descendientes en elconjunto mínimo d-separador.

Si el caminoC es de la forma:

xi(k)→ xu(k+1) . . .x j(k+1) u 6= j

Entonces al igual que en los casos anteriores tendríamos los siguientes casos:

• Si xu(k+1) < x j(k+1), entonces el camino es el mismo enG(k,k+1) y enGi, j y por tanto el conjuntoSi, j

dbloquea el camino.

• Si xu(k+1) > x j(k+1), entonces el arcoxi(k)→ xu(k+1) no pertenecerá algrafoGi, j . Y por tanto siguiendo el mismo razonamiento de casos anteriores,el camino quedaría bloqueado.

El pseudocódigo del algoritmo que denominaremos FART lo podemos observaren la figura 4.10

A continuación pasaremos a ver un ejemplo, en donde compararemos los testsde independencia condicional que realizan los algoritmos que hemos estudiado an-teriormente.

Ejemplo 4.4 Tenemos los instantes de tiempo k y k+1 de una red de creenciadinámica que se describe en la siguiente figura.(4.11).

Veamos para algunas etapas de los algoritmos qué tests han de realizar losalgoritmos ART y FART.

• (A(k),A(k+1)).

- ART: I(A(k),A(k+1)|{C(k),B(k)})

- FART: Conecto el resto de nodos de k: C(k), B(k), etc con A(k+1).Si, j

d= {C(k),B(k)} ⇒ I(A(k),A(k+1)|{C(k),B(k)})

Desconecto C(k), etc de A(k+1).

Page 182: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

160 Aprendizaje de Relaciones Temporales

Algoritmo FART

Ent: G(k) y G(k+1) Ordenados topológicamente a partir de los nodos raíces.

Sal: Etmp(k+1)

1. Etmp(k+1) = /0

2. Para j= 1 hasta n hacer

(a) Seleccionar el nodo xj(k+1) de G(k+1)

(b) Para i= 1 hasta n hacer

i. Seleccionar el nodo xi(k) de G(k)

ii. Calcular S= {xh(k) ∈G(k)/xh(k) > xi(k)}

iii. Conectar con un arco cada xh(k) ∈ S con xj(k+1)

iv. Calcular el conjunto Si, jd

mínimo d-separador entre xi(k) yx j(k+1)

v. Si¬I(xi(k),xj (k+1)|Si, jd

) EntoncesEtmp(k+1) = Etmp(k+1)∪{(xi(k),xj (k+1))}

vi. Desconectar cada xh(k) ∈ S de xj(k+1)

Figura 4.10: Algoritmo FART

A B

C

A B

C

D DE

F

E

F

G(k) G(k+1)

Figura 4.11: Ejemplo comparativo entre ART y FART

Page 183: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

4.4. Algoritmos basados en relaciones de independencia condicional 161

• (C(k),A(k+1)).

- ART:¬I(C(k),A(k+1)|{A(k),B(k),D(k),E(k)})

- FART: Conecto D(k),E(k),F(k) con A(k+1).Si, j

d= {D(k),E(k)} ⇒ ¬I(C(k),A(k+1)|{D(k),E(k)})

Desconecto los anteriores arcos.Etmp(k+1) = Etmp(k+1)∪{(C(k),A(k+1))}

• (C(k),B(k+1)).

- ART: I(C(k),B(k+1)|{A(k),B(k),D(k),E(k),A(k+1),F(k)})

- FART: Si, jd

= {D(k),E(k)} ⇒ I(C(k),B(k+1)|{D(k),E(k)})

Comprobaremos ahora el correcto funcionamiento del algoritmo FART. Para ellodemostraremos el siguiente teorema.

Teorema 4.2 Sea G un grafo dirigido acíclico de una RCD y sea P una distribuciónsobre V isomorfa a G, entonces partiendo de dos grafos dirigidos acíclicos querepresentan dos periodos de tiempo consecutivos G(k) y G(k+1) en una RCD elalgoritmo FART , obtiene correctamente el conjunto Etmp(k+1).Demostración:La demostración del teorema la realizaremos por inducción sobre elíndice j.Caso basej = 1: Para demostrar el caso base realizaremos inducción sobre el índicei.

• Caso basei = 1, j = 1: En este caso se realiza la comprobación:

I(x1(k),x1(k+1)|S1,1d )

sobre el grafoG1,1, entonces conocemos por la proposición 4.4 que∃ x1(k)→x1(k+1) si y solo si¬I(x1(k),x1(k+1)|S1,1

d) sobreG1,1, el cual es conocido

perfectamente en esta etapa del algoritmo FART.

• Paso de inducción: Supondremos que el algoritmo FART recupera de formacorrecta las relaciones temporales hastai = h, j = 1, entonces demostraremosque recupera de forma correcta en la etapai = h+1, j = 1.

En este etapa se realiza la comprobación:

I(xh+1(k),x1(k+1)|Sh+1,1d )

Page 184: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

162 Aprendizaje de Relaciones Temporales

sobre el grafoGh+1,1, el cual es conocido perfectamente gracias a que serecuperaron correctamente las relaciones temporales hastai = h, j = 1, en-tonces conocemos por la proposición 4.4 que∃ xh+1(k)→ x1(k+1) si y solosi¬I(xh+1(k),x1(k+1)|Sh+1,1

d) sobreGh+1,1.

Paso de inducción: Supondremos que el algoritmo FART recupera de forma exactalas relaciones temporales hastaj = l . Tendremos que demostrarlo paraj = l + 1.Para ello de nuevo realizaremos inducción sobre el índicei.

• Caso basei = 1, j = l +1: Se realiza la comprobación:

I(x1(k),xl+1(k+1)|S1,l+1d )

sobre el grafoG1,l+1, como conocemos perfectamente las relaciones tempora-les paraj < l +1, entonces el grafoG1,l+1 es conocido de forma correcta y porconsiguiente gracias a la proposición 4.4 sabemos que∃ x1(k)→ xl+1(k+1)

si y solo si¬I(x1(k),xl+1(k+1)|S1,l+1d

) sobreG1,l+1.

• Paso de inducción: Suponemos que conocemos de forma exacta las relacio-nes temporales hastai = h, j = l +1, demostraremos que se recupera de formacorrectaxh+1→ xl+1(k+1). En este caso se realiza la comprobación:

I(xh+1(k),xl+1(k+1)|Sh+1,l+1d

)

sobre el grafoGh+1,l+1, como conocemos las relaciones temporales correctashastai = h, j = l + 1, el grafoGh+1,l+1 se define correctamente y sabemosde nuevo por la proposición 4.4 que∃ xh+1(k) → xl+1(k+ 1) si y solo si¬I(xh+1(k),xl+1(k+1)|Sh+1,l+1

d) sobreGh+1,l+1.

Desde el punto de vista de la implementación del algoritmo FART, hemos dedecir que Acid [2] extiende la búsqueda del conjunto mínimo d-separador para elproblema de buscar el conjunto mínimo d-separador entre dos nodosx i y x j dado unsubconjunto fijoZ, es decir, encontrarSmínimo tal queI(x i ,x j |S∪Z). Demuestraque se siguen cumpliendo todas las propiedades que se cumplen para el conjuntomínimo d-separador sin restricciones. A nivel del algoritmo de búsqueda influyede forma beneficiosa ya que básicamente consistirá en eliminar del grafo todos losnodos deZ y a continuación realizar la búsqueda del conjuntoS. Esta extensión sepuede aplicar en el algoritmo que hemos descrito previamente, pues conocemos deun subconjuntoZ que siempre ha de pertenecer al conjunto mínimo d-separador, asaber, los nodos∀ xh(k) > xi(k) | xh ∈ Hi jk(xi(k)) ó xh(k) ∈ πk(Hi jk(xi(k))).

Page 185: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

4.4. Algoritmos basados en relaciones de independencia condicional 163

4.4.4 Modificaciones de los Algoritmos ART y FART

Siguiendo la filosofía que da lugar al algoritmo que hemos denominado FART, estoes, realizar los tests de independencia condicional con el menor número posible devariables en el conjunto de condicionamiento, podremos modificar los anterioresalgoritmos de tal forma que consideremos los conjuntosMM i, j y Si, j

dcomo una cota

máxima del número de variables que deben intervenir en los tests de independenciacondicional para asegurar la existencia o no de un arco temporal. Hemos dicho quedesde el punto de vista práctico son preferibles los tests de independencia de ordenbajo, esta filosofía inspira muchos algoritmos basados en tests de independenciacondicional, el más conocido de ellos es el algoritmo PC descrito en el capítulo 1.Lo que pretendemos es seguir esta filosofía y realizar para cada pareja de variablesxi(k) y x j(k+1) un número de tests de independencia condicional cada vez con unorden mayor empezando por el mínimo y de esta manera evitar realizar en la medidade lo posible los tests de independencia de orden elevado; en cada caso tendremoscomo cota superior los subconjuntosMM i, j y Si, j

drespectivamente.

A continuación presentaremos la variante del algoritmo ART que efectúa lo an-teriormente expuesto. A este algoritmo lo denominaremos ARTSub y podemosobservar su pseudocódigo en la figura 4.12.

La idea del algoritmo ARTSub es la siguiente: Sabemos por la proposición 4.3que para asegurar la existencia de una relación temporal tenemos que realizar untest de independencia condicional con el subconjuntoMM i, j , pero es claro que enrealidad no todos los nodos de este subconjunto serían necesarios para bloquear to-dos los caminos existentes, rara vez ocurre esto, salvo para aquellos casos en dondeefectivamente tengamos un arco temporal. Lo que hacemos es buscar un subcon-junto deMM i, j de tamaño mínimo que ya d-separe el par de nodos comprobados enuna etapa del algoritmo. De esta manera lo que intentamos es evitar en la medida delo posible realizar tests de independencia de orden elevado aún a costa de realizarmás tests de independencia condicional.

Similar proceder se puede utilizar con el algoritmo FART con el conjunto míni-mo d-separador. A continuación mostramos la variante del algoritmo FART con lafilosofía descrita (fig. 4.13).

El funcionamiento del algoritmo es el siguiente: Para cada pareja de nodosx i(k)y x j(k+1), primero se calcula el conjuntoSi, j

dmínimo d-separador en ese paso del

algoritmo, notemos que en este caso no hemos introducido ningún arco temporaladicional a la estructura; hemos de tener en cuenta que este subconjuntoSi, j

dde va-

riables será el conjunto mínimo que debe de intervenir en la d-separación de estasdos variables, ya que d-separará los caminos que en esta etapa del algoritmo cono-cemos que serán definitivos en la estructura final. Con este subconjunto calculadorealizamos un test de independencia condicional para ambas variables y si resultapositivo entonces ya no deberemos seguir realizando tests de independencia pues ya

Page 186: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

164 Aprendizaje de Relaciones Temporales

Algoritmo ARTSub

Ent: G(k) y G(k+1) Ordenados topológicamente empezando por los nodos raí-ces.

Sal: Etmp(k+1)

1. Etmp(k+1) = /0

2. Para j= 1 hasta n hacer

(a) Seleccionar el nodo xj(k+1) de G(k+1)

(b) Para i= 1 hasta n hacer

i. Seleccionar el nodo xi(k) de G(k)

ii. Tam= 0, Ok = verdadero

iii. Mientras Tam≤ ||MMi, j || y Ok hacer

A. Encontrar los subconjuntos S de tamaño Tam de MMi, j

B. Si I(xi(k),xj (k+1)|S) para algún subconjunto S entoncesOk = falso

C. tam= tam+1

iv. Si Ok = verdadero entoncesEtmp(k+1) = Etmp(k+1)∪{(xi(k),xj (k+1))}

Figura 4.12: Algoritmo ARTSub

Page 187: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

4.4. Algoritmos basados en relaciones de independencia condicional 165

Algoritmo FARTSub

Ent: G(k) y G(k+1) Ordenados topológicamente a partir de los nodos raíces.

Sal: Etmp(k+1)

1. Etmp(k+1) = /0

2. Para j= 1 hasta n hacer

(a) Seleccionar el nodo xj(k+1) de G(k+1)

(b) Para i= 1 hasta n hacer

i. Seleccionar el nodo xi(k) de G(k)

ii. Ok = verdadero

iii. Calcular Si, jd

, mínimo d-separador entre xi(k) y xj(k+1) (Con elactual grafo aprendido)

iv. Si I(xi(k),xj (k+1)|Si, jd

) entoncesOk = falso

v. Calcular S= {xh(k) ∈G(k)|xh(k) > xi(k)}

vi. Conectar con un arco cada xh(k) ∈ S con xj(k+1)

vii. Calcular el conjunto Si, jd′

mínimo d-separador entre xi(k) yx j(k+1)

viii. Tam= ||Si, jd||

ix. Mientras Tam≤ ||Si, jd

′|| y Ok hacer

A. Encontrar los subconjuntos S de tamaño Tam de Si, jd

′\Si, j

d

B. Si I(xi(k),xj(k+1)|S∪Si, jd

) para algún subconjunto S entoncesOk =falso

C. tam= tam+1

x. Si Ok = verdadero entoncesEtmp(k+1) = Etmp(k+1)∪{(xi(k),xj (k+1))}

xi. Desconectar cada xh(k) ∈ S de xj(k+1)

Figura 4.13: Algoritmo FARTSub

Page 188: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

166 Aprendizaje de Relaciones Temporales

sabríamos que no existe un arco temporal entre ambos nodos. Si el test es negati-vo entonces procederemos igual que en el algoritmo FART, esto es, conectaremoslos nodos mayores dexi(k) enV(k) con el nodox j(k+ 1) y calcularemos el sub-

conjunto de variablesSi, jd′. Posteriormente le iremos añadiendo al subconjuntoSi, j

d

subconjuntos de tamaño cada vez mayor del subconjuntoSi, jd′ y realizaremos tests

de independencia condicional para cada uno de ellos. Estos tests pueden ser po-sitivos, en cuyo caso se para el proceso o bien pueden ser negativos en cuyo casoseguiría el proceso hasta agotar todos los subconjuntos calculados y concluimos queexiste un arco temporal entre los nodos comprobados.

4.5 Refinando los resultados

Bien por la naturaleza greedy de los anteriores algoritmos basados en métricas, obien por la naturaleza intrínseca de los basados en tests de independencia condicio-nal, los cuales pueden cometer errores en la estimación de independencias a partirde datos, el caso es que todos los algoritmos pueden cometer errores en sus salidasdel proceso de aprendizaje, esto es, pueden introducir arcos temporales sin ser éstosverdaderos en el modelo original buscado o a la inversa, borrar arcos temporales queestén presentes en el modelo original. En esta sección lo que pretendemos es ofreceralgoritmos que de alguna forma revisen las salidas de los anteriores algoritmos talque los modelos resultantes sean más fieles al modelo buscado.

Al igual que venimos haciendo a lo largo de este capítulo, podemos dividir estosalgoritmos de revisión de resultados en: a) basados en métricas o b) basados en testsde independencia condicional. Para el primer caso utilizaremos la métrica BIC, porsu comportamiento en la preferencia de modelos más simples en las redes candida-tas. Para el segundo caso utilizaremos de nuevo tests de independencia condicionalbuscando en cada momento el conjunto mínimo d-separador en la red candidata.

4.5.1 Refinando mediante la métrica BIC

La idea es la siguiente: Dada una estructura de red de creencia dinámicaG comoresultado de un proceso de aprendizaje de relaciones temporales, como hemos des-crito durante este capítulo, nuestro objetivo es de nuevo maximizar la métrica BICen cada una de las familias dexi(k+1)∈V(k+1) utilizando una heurística greedy,la diferencia ahora estriba en que maximizaremos tanto introduciendo nuevos pa-dres deV(k) para cada familia como borrando padres existentes deV(k) en cadauna de las familias. Al igual que en los algoritmos anteriores empezaremos a reali-zar esta búsqueda en los nodos deG(k+ 1). Una idea parecida utilizan D. Dash yM. Druzdzel, en donde refinan la salida del aprendizaje realizado por el algoritmoPC mediante la métrica BIC [34] y una búsqueda greedy, relanzando el proceso al

Page 189: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

4.5. Refinando los resultados 167

llegar a un máximo local. Podemos ver plasmado el pseudocódigo del algoritmo derevisión basado en la métrica BIC en la figura 4.14.

Algoritmo TeReRefinaBIC

1. Para i= 1 hasta n hacer

(a) πi(xi(k+1)) = π(xi(k+1))

(b) OK = True

(c) Pold = BIC(xi(k+1),πi(xi(k+1))

(d) Mientras OK hacer

i. z(k) = argmaxx(k)/∈πi(xi(k+1))BIC(xi(k+1),πi(xi(k+1))∪{x(k)})óz(k) = argmaxx(k)∈πi (xi(k+1))BIC(xi(k+1),πi(xi(k+1))\{x(k)})

ii. Pnew= BIC(xi(k+1),πi(xi(k+1))∪{z(k)}) óPnew= BIC(xi(k+1),πi(xi(k+1))\{z(k)})

iii. Si Pnew> Pold EntoncesPold = Pnew

πi(xi(k+1))∪{z(k)} óπi(xi(k+1))\{z(k)}

iv. En caso contrario OK= f alse

Figura 4.14: Algoritmo TeReRefinaBIC

4.5.2 Refinando mediante el conjunto mínimo d-separador

En este caso, el refinamiento del resultado se va a realizar mediante tests de indepen-dencia condicional utilizando como conjunto condicionante el mínimo d-separadorentre las variables comprobadas. El procedimiento va a consistir en los siguientespasos: Dada la estructura de red de creencia dinámicaG obtenida como resultadode un proceso de aprendizaje de relaciones temporales, comprobaremos pares devariablesxi(k) y x j(k+ 1) en el orden ancestral dado porG(k) y G(k+ 1) inten-tado introducir arcos temporales que sean dependientes dado el conjunto mínimod-separador en el instante de la comprobación; seguidamente se inicia otra vez elproceso pero esta vez intentando borrar arcos temporales que sean independientesdado el conjunto mínimo d-separador en el instante de la comprobación. De esta

Page 190: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

168 Aprendizaje de Relaciones Temporales

forma nos aseguramos revisar todos los arcos existentes y no existentes en el re-sultado inicial posiblemente con otro test de independencia condicional distinto alque se realizó en el proceso de aprendizaje de relaciones temporales. O en el ca-so de que se haya realizado un aprendizaje mediante optimización de una métrica,pues nos aseguramos de que el grafo resultante es un I-map del modelo que estamosaprendiendo.

Algoritmo TeReRefinaMinDsep

1. Para j= 1 hasta n hacer

(a) Seleccionar el nodo xj(k+1) de G(k+1)

(b) Para i= 1 hasta n hacer

i. Seleccionar el nodo xi(k) de G(k)

ii. Si xi(k)→ xj(k+1) /∈ Etmp(k+1) EntoncesCalcular el conjunto Sd mínimo d-separador entre xi(k) y xj(k+1)

Si¬I(xi(k),xj (k+1)|Sd) EntoncesEtmp(k+1) = Etmp(k+1)∪{(xi(k),xj (k+1))}

1. Para j= 1 hasta n hacer

(a) Seleccionar el nodo xj(k+1) de G(k+1)

(b) Para i= 1 hasta n hacer

i. Seleccionar el nodo xi(k) de G(k)

ii. Si xi(k)→ xj(k+1) ∈ Etmp(k+1) EntoncesEtmp(k+1) = Etmp(k+1)\{(xi(k),xj (k+1))}

Calcular el conjunto Sd mínimo d-separador entre xi(k) y xj(k+1)

Si¬I(xi(k),xj (k+1)|Sd) EntoncesEtmp(k+1) = Etmp(k+1)∪{(xi(k),xj (k+1))}

Figura 4.15: Algoritmo TeReRefinaMinDsep

La idea del algoritmo, descrito en la figura 4.15, es la siguiente: Primero serecorre cada pareja de variables(xi(k),xj (k+ 1)) en donde no exista un arco tem-poral y se efectúa un test de independencia condicional con el conjunto mínimod-separador en esa etapa del algoritmo; si el test resulta negativo entonces se intro-duce un arco temporal entre las variables comprobadas. Posteriormente se realiza elproceso inverso, es decir, para cada pareja de variables(x i(k),xj (k+ 1)) en donde

Page 191: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

4.6. Aprendizaje de redes de creencia dinámicas simples 169

existe un arco temporal en el instante de su comprobación, éste se borra transitoria-mente y de nuevo se realiza un test de independencia condicional con el conjuntomínimo d-separador, si es negativo entonces se vuelve a introducir el arco temporalanteriormente borrado.

4.6 Aprendizaje de redes de creencia dinámicas sim-ples

En esta sección vamos a definir un tipo de redes de creencia dinámicas que se pre-sentan frecuentemente en las aplicaciones prácticas y que denominaremos redes decreencia dinámicas simples. La particularidad de este tipo de redes es que en suestructura solo existen relaciones temporales entre nodos de periodos de tiempoconsecutivos, esto es, no existe ningún arco que conecte nodos que pertenecen a unmismo periodo de tiempok.

Definición 4.5 (Redes de creencia simples) Sea una RCD y sea G= (V,E) el grafodirigido acíclico que define su estructura. Diremos que esta RCD es simple si y solosi:

E =n−2⋃

k=0

Etmp(k+1)

siendo n el número de periodos de tiempo definidos en la RCD.

Todos los algoritmos que venimos describiendo a lo largo de este capítulo reali-zan de una forma completa el aprendizaje de este tipo de redes de creencia dinámi-cas. El caso es que se puede plantear un algoritmo más eficiente para aprender estetipo de redes. El algoritmo que vamos a plantear se basa en la siguiente proposición.

Proposición 4.5 Sea G un grafo dirigido acíclico que define una RCD simple. Paracualesquiera dos periodos de tiempo k y k+1 consecutivos en G, tenemos que:

∃ xi(k)→ xj(k+1) ∈ Etmp(k+1) ⇐⇒ ¬〈xi(k),xj (k+1)| /0〉

∀xi(k) ∈V(k) y ∀xj(k+1) ∈V(k+1)

Demostración:La demostración de esta proposición es trivial, dado que todos loscaminosC que pueden unir dos nodosxi(k) y x j(k+ 1) incluyen forzosamente almenos un nodo cabeza-cabeza no instanciado, a no ser que realmente exista unarelación temporal entre ambos nodos.

Page 192: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

170 Aprendizaje de Relaciones Temporales

Un algoritmo que implemente esta idea es bastante directo, de hecho será igualque los algoritmos ART y FART con el cambio claro de que ahora los tests deindependencia condicional serán todos con el conjunto vacío. Hemos de notar quelos algoritmos TeRePC, ARTSub, FART y FARTSub, serían equivalentes a estetipo de algoritmo, comentado previamente, ya que TeRePC comienza realizando lostests de independencia condicional precisamente por los conjuntos vacíos, al igualque el algoritmo ARTSub. En cuanto a los algoritmos FART y FARTSub, amboscalcularían como conjunto mínimo d-separador el conjunto vacío.

4.7 Experimentación y Conclusiones

En esta sección realizaremos experimentos para los algoritmos estudiados. Paraello hemos generado redes de creencia dinámicas de forma aleatoria de la siguienteforma:

• Hemos generado redes de creencia dinámicas con 15 variables por cada inter-valo de tiempo.

• Para generar la estructura de la red, hemos tomado como parámetros el nú-mero medio de padres en el propio intervalo de tiempok para cada variable,generando éste mediante una distribución de Poisson. Hemos generado redespara valores de 0.5, 1.0 y 1.5 como media de padres en el propio intervalo detiempo. Las relaciones temporales, al igual que los padres anteriores, se hangenerado utilizando una distribución de Poisson y tomando valores 1.0, 1.5 y2.0. Lo cual hace un total de 9 redes de creencia dinámicas generadas.

• Para generar las distribuciones de probabilidad condicional para cada nodo,lo hemos realizado tomando como valor medio del número de estados paracada variable, 2 estados y generando éste también con una distribución dePoisson, con la restricción de un mínimo de 2 estados por variable. Las tablasde probabilidad se generaron utilizando una distribución uniforme elevada alcuadrado para generar probabilidades de mediana extremidad en sus valores.

• A partir de estas redes de creencia dinámicas, generamos una base de datosde casos de 10.000 observaciones, realizando este proceso mediante muestreológico probabilístico. Y para cada proceso de aprendizaje, hemos considera-do estos casos de 2000 en 2000, empezando por los 2000 primeros casos yterminando por la base de datos completa.

• Se han aprendido las relaciones temporales para estas redes a partir de losdatos generados con cada uno de los algoritmos descritos durante el capítulo,obteniéndose para cada uno de ellos la media de los resultados para cada una

Page 193: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

4.7. Experimentación y Conclusiones 171

de las bases de datos. Los estadísticos de los resultados se muestran en tablascon la siguiente distribución: En primer lugar los casos considerados de la ba-se de datos para el aprendizaje; en segundo lugar el tiempo de ejecución (T)medido en segundos; en tercer lugar la medida KL descrita en el capítulo 2 delresultado ofrecido para cada uno de los algoritmos; en cuarto lugar el númerode arcos temporales borrados (B) en comparación con la red original de parti-da; en quinto lugar el número de arcos temporales añadidos; a continuación ladistancia de Hamming (H) (diferencia estructural) como resumen de los dosresultados anteriores; en séptimo lugar se presenta el número de variables enel conjunto de condicionamiento en los tests de independencia condicional oel número medio de variables en los estadísticos evaluados, dependiendo si elalgoritmo está basado en tests o en una métrica, respectivamente; por últimopresentamos el número de tests de independencia condicional o el número deestadísticos evaluados dependiendo del tipo de algoritmo utilizado.

• Para el algoritmo TeReK2 se ha utilizado la métrica K2 en todos los experi-mentos.

Análisis de los resultados para el Algoritmo ART. Los resultados del algoritmoART se pueden observar en la tabla 4.1. También podemos observar en las tablas4.2 y 4.3 los refinamientos del resultado del algoritmo ART con los algoritmos Te-ReRefinaMinDsep y TeReRefinaBIC respectivamente.

Casos T KL B A H Condic. Tests2000 41,62 3,0878 12,22 1,44 13,67 3,22 2254000 59,70 3,2632 10,11 1,78 11,89 3,50 2256000 74,73 3,3076 9,44 2,22 11,67 3,65 2258000 92,67 3,3404 8,67 1,56 10,22 3,60 225

10000 92,43 3,3458 8,33 1,44 9,78 3,55 225

Tabla 4.1: Resultados para el Algoritmo ART con Redes Dinámicas de 15 nodos

por intervalo de tiempo

En cuanto al algoritmo ART cabe destacar en primer lugar la tendencia de éste aborrar enlaces, esto es, estima independientes parejas de variables que en realidad nolo son. En general necesita un número elevado de casos para confirmar las relacionesde dependencia entre variables. Esta tendencia se nota en que cuantos más datoscontemplamos en el aprendizaje, el número de enlaces borrados decrece. Tambiénhemos de notar que este algoritmo, en general, necesita calcular estadísticos de unorden elevado, es decir, los tests de independencia condicional que realiza son deun orden bastante alto, alrededor de 5,5 variables están involucradas en estos tests.

Page 194: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

172 Aprendizaje de Relaciones Temporales

Casos T KL B A H2000 6,95 4,0230 4,22 3,33 7,564000 11,77 4,0848 2,22 3,22 5,446000 14,80 4,0744 2,11 4,00 6,118000 17,52 4,0606 2,00 2,78 4,78

10000 21,62 4,0401 1,78 3,11 4,89

Tabla 4.2: Resultados para el Algoritmo ART + refinamiento con Mínimo d-

separador con Redes Dinámicas de 15 nodos por intervalo de tiempo

Casos T KL B A H2000 6,63 3,9564 4,56 0,00 4,564000 12,71 4,0077 3,00 0,00 3,006000 19,65 4,0758 2,00 0,00 2,008000 24,69 4,0780 1,56 0,11 1,67

10000 30,65 4,0824 1,33 0,00 1,33

Tabla 4.3: Resultados para el Algoritmo ART + refinamiento con BIC con Redes

Dinámicas de 15 nodos por intervalo de tiempo

El orden elevado de estos tests hace que se necesiten, en general, un número máselevado de casos para que dichos tests sean más fiables.

Analizando la salida del algoritmo ART con un posterior refinamiento con elalgoritmo TeReRefinaMDS, lo primero que destaca es el descenso considerable enel número de enlaces borrados y que eleva de una forma muy ligera el número dearcos añadidos. En general, esto puede deberse a la utilización de los conjuntosmínimos d-separadores los cuales harán que el número de variables involucradas enlos tests descienda considerablemente. Esto último redundará en que los tests reali-zados sean más fiables y que en algún sentido éstos se vuelvan más conservadores.Esta última consideración la pone de manifiesto el hecho de que prácticamente seañadan el mismo número de arcos para todas las bases de datos comprobadas.

En cuanto al refinamiento con la métrica BIC, podemos notar que prácticamentea partir de los 4000 primeros datos ofrece un resultado bastante parecido. El re-sultado de este refinamiento se puede considerar como una buena aproximación alas redes de creencia dinámicas reales y que por tanto el algoritmo ART es un buenpunto de inicio para una posterior búsqueda local con la métrica utilizada. En esteresultado puede influir de manera decisiva el que los arcos temporales que ofre-ce el algoritmo ART sean bastantes “sólidos” (dependientes) y que por tanto unabúsqueda local posterior se vea favorecida por este hecho.

Page 195: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

4.7. Experimentación y Conclusiones 173

Análisis de los resultados del Algoritmo ARTSub. Los resultados del algoritmoARTSub se pueden observar en la tabla 4.4. También podemos observar en las tablas4.5 y 4.6 los refinamientos del resultado del algoritmo ARTSub con los algoritmosTeReRefinaMinDsep y TeReRefinaBIC respectivamente.

Casos T KL B A H Condic. Tests2000 15,07 3,1200 12,56 0,44 13,00 1,41 697,114000 42,59 3,2982 9,89 0,44 10,33 1,66 999,116000 78,99 3,3405 9,11 0,56 9,67 1,83 1237,338000 154,46 3,3884 8,44 0,22 8,67 1,98 1648,22

10000 163,18 3,4008 8,00 0,22 8,22 2,00 1517,33

Tabla 4.4: Resultados para el Algoritmo ARTSub con Redes Dinámicas de 15 no-

dos por intervalo de tiempo

Casos T KL B A H2000 6,89 4,0230 4,22 3,33 7,564000 11,46 4,0782 2,33 3,33 5,676000 14,71 4,0940 1,89 3,89 5,788000 16,70 4,0716 1,89 2,67 4,56

10000 20,54 4,0399 1,78 2,78 4,56

Tabla 4.5: Resultados para el Algoritmo ARTSub + refinamiento con Mínimo d-

separador con Redes Dinámicas de 15 nodos por intervalo de tiempo

Casos T KL B A H2000 6,17 3,9564 4,56 0,00 4,564000 11,73 4,0077 3,00 0,00 3,006000 17,54 4,0758 2,00 0,00 2,008000 22,25 4,0780 1,56 0,11 1,67

10000 26,77 4,0824 1,33 0,00 1,33

Tabla 4.6: Resultados para el Algoritmo ARTSub + refinamiento con BIC con Redes

Dinámicas de 15 nodos por intervalo de tiempo

Lo primero que cabe destacar es que el algoritmo ARTSub mantiene la tendenciadel algoritmo ART en cuanto al número de arcos borrados, con una ligera mejora.También se mejora ligeramente el número de arcos añadidos y la métrica KL conrespecto al algoritmo ART. Este resultado puede explicarse por el hecho de que ba-jamos el orden de los tests de independencia condicional realizados por el algoritmo

Page 196: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

174 Aprendizaje de Relaciones Temporales

ARTSub y por tanto éstos serán más fiables. Sin embargo, el hecho de bajar el or-den de los tests implica un número muy elevado de tests3 lo cual ha afectado deforma significativa en la eficiencia del algoritmo y también en la eficacia, porque alrealizar más tests de independencia condicional tenemos una mayor probabilidad decometer errores en las estimaciones de independencia o dependencia entre variables.

Por otra parte, cuando se refina la salida del algoritmo ARTSub con los conjuntosmínimos d-separadores, prácticamente se mantienen los resultados con el anterioralgoritmo ART más este mismo refinamiento, aunque se mejoran los resultados,estas mejoras son muy leves. También podemos indicar, tanto en este caso comopara el caso anterior (algoritmo ART), que el proceso de revisión de los enlacestemporales es bastante eficiente, esto es, es un proceso rápido en comparación conlos algoritmos propiamente dichos ART y ARTSub.

Para el refinamiento BIC, hemos de notar que se llegan a los mismos resultadosy que prácticamente su tiempo de ejecución es similar comparado con el anteriorcaso.

Análisis de los resultados del Algoritmo FART. Los resultados del algoritmoFART se pueden observar en la tabla 4.7. También podemos observar en las tablas4.8 y 4.9 los refinamientos del resultado del algoritmo FART con los algoritmosTeReRefinaMinDsep y TeReRefinaBIC respectivamente.

Casos T KL B A H Condic. Tests2000 40,58 3,6165 7,44 3,56 11,00 2,05 2254000 44,48 3,7208 5,78 3,11 8,89 2,14 2256000 48,51 3,7340 5,00 3,44 8,44 2,12 2258000 52,62 3,7683 4,44 2,78 7,22 2,13 225

10000 60,20 3,7766 4,11 3,56 7,67 2,13 225

Tabla 4.7: Resultados para el Algoritmo FART con Redes Dinámicas de 15 nodos

por intervalo de tiempo

Los resultados que ofrece el algoritmo FART son considerablemente mejoresque los ofrecidos por los algoritmos ART y ARTSub, tanto en distancia de Hamming(H) como en la medida KL. La tendencia de este algoritmo a borrar arcos temporaleses sensiblemente menos acusada que en los anteriores algoritmos. Sin embargo, estealgoritmo tiende a añadir un número de arcos levemente mayor que en los anteriorescasos. Por otra parte, podemos notar que este algoritmo es más eficiente que losanteriores algoritmos, esto es debido a que los estadísticos que ha de calcular son deun orden sensiblemente inferior que en el caso del algoritmo ART y que mantiene elmismo número de tests realizados. Además se observa claramente que la inversión

3Hemos de tener en cuenta que, en general, el cardinal del subconjuntoMMi, j es elevado.

Page 197: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

4.7. Experimentación y Conclusiones 175

Casos T KL B A H2000 7,44 4,0354 4,00 3,11 7,114000 11,35 4,0564 2,33 3,44 5,786000 16,22 4,0470 2,22 4,00 6,228000 17,09 4,0727 1,78 2,56 4,33

10000 21,39 3,9932 2,00 3,11 5,11

Tabla 4.8: Resultados para el Algoritmo FART + refinamiento con Mínimo d-

separador con Redes Dinámicas de 15 nodos por intervalo de tiempo

Casos T KL B A H2000 6,64 3,9564 4,56 0,00 4,564000 12,25 4,0077 3,00 0,00 3,006000 18,86 4,0771 1,89 0,00 1,898000 23,23 4,0689 1,67 0,11 1,78

10000 29,75 4,0825 1,33 0,00 1,33

Tabla 4.9: Resultados para el Algoritmo FART + refinamiento con BIC con Redes

Dinámicas de 15 nodos por intervalo de tiempo

de tiempo en calcular subconjuntos mínimos d-separadores se ve compensanda enla eficiencia de los tests que realiza el algoritmo. Este descenso en el orden de lostests realizados implica una mayor fiabilidad en los mismos, esta puede ser la razónde su mayor eficacia con respecto a los anteriores casos.

Cuando aplicamos el refinamiento con el mínimo conjunto d-separador se redu-ce considerablemente el número arcos borrados y se mejora levemente el númerode arcos añadidos. También se mejora la medida KL con respecto a la salida delalgoritmo FART. Sin embargo hemos de notar que estos resultados empeoran deforma leve los ofrecidos por este refinamiento para los algoritmos ART y ARTSub.También hemos de notar que este refinamiento mantiene su eficiencia con respectoal tiempo de cómputo empleado cuando se compara por el tiempo empleado pa-ra obtener la primera salida por el algoritmo en cuestión. Por último indicar queprácticamente se mantienen los resultados ofrecidos por los anteriores algoritmospara el refinamiento BIC, observándose sólo muy ligeras diferencias para un par deresultados.

Análisis de resultados para el Algoritmo FARTSub. Estos resultados se pue-den observar en las tablas 4.10, 4.11 y 4.12 para el algoritmo FARTSub y los susrefinamientos posteriores con el mínimo d-separador y con la métrica BIC respecti-vamente.

Page 198: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

176 Aprendizaje de Relaciones Temporales

Casos T KL B A H Condic. Tests2000 12,31 3,5784 8,00 2,89 10,89 1,10 378,564000 30,92 3,6898 5,89 2,89 8,78 1,30 492,896000 46,80 3,7158 5,22 2,78 8,00 1,38 537,448000 65,91 3,7502 4,67 2,22 6,89 1,47 583,11

10000 80,87 3,7371 4,44 2,22 6,67 1,53 609,11

Tabla 4.10: Resultados para el Algoritmo FARTSub con Redes Dinámicas de 15

nodos por intervalo de tiempo

Casos T KL B A H2000 7,68 4,0394 3,89 3,00 6,894000 10,93 4,0500 2,44 3,22 5,676000 14,29 4,0244 2,56 4,22 6,788000 16,46 4,0252 2,22 2,78 5,00

10000 22,12 4,0040 1,89 2,67 4,56

Tabla 4.11: Resultados para el Algoritmo FARTSub + refinamiento con Mínimo d-

separador con Redes Dinámicas de 15 nodos por intervalo de tiempo

Casos T KL B A H2000 6,56 3,9564 4,56 0,00 4,564000 12,22 4,0077 3,00 0,00 3,006000 18,23 4,0771 1,89 0,00 1,898000 22,73 4,0780 1,56 0,11 1,67

10000 27,83 4,0825 1,33 0,00 1,33

Tabla 4.12: Resultados para el Algoritmo FARTSub + refinamiento con BIC con

Redes Dinámicas de 15 nodos por intervalo de tiempo

Page 199: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

4.7. Experimentación y Conclusiones 177

Este algoritmo prácticamente borra el mismo número de arcos que el algoritmoFART, aunque mejora el número de arcos añadidos. Sin embargo la media KL prác-ticamente se mantiene en el mismo orden para ambos algoritmos. Como podemosobservar en los resultados, el número de variables que intervienen en el conjunto decondicionamiento es menor y por tanto esto ayudará a que los tests realizados seanmás fiables. De todas formas hemos de observar también que el número de tests deindependencia condicional aumenta considerablemente con respecto al algoritmoFART lo cual redunda en que este último algoritmo sea menos eficiente.

En cuanto al refinamiento con el mínimo conjunto d-separador, podemos obser-var que los resultados son bastante parecidos al resto de casos comentados previa-mente. Lo mismo ocurre con el refinamiento con BIC.

Análisis de los resultados para el Algoritmo TeRePC. Los resultados ofrecidospor este algoritmo se pueden observar en la tabla 4.13, al igual que los refinamientosposteriores con el conjunto mínimo d-separador, tabla 4.14, y el refinamiento con lamétrica BIC, tabla 4.15.

Casos T KL B A H Condic. Tests2000 4,76 3,9087 5,44 0,89 6,33 0,49 370,674000 10,68 4,0005 3,33 1,00 4,33 0,60 430,786000 18,02 4,0117 2,67 1,00 3,67 0,67 488,788000 25,94 3,9996 2,44 0,67 3,11 0,69 529,56

10000 34,06 4,0103 2,11 0,89 3,00 0,74 557,22

Tabla 4.13: Resultados para el Algoritmo TRPC con Redes Dinámicas de 15 nodos

por intervalo de tiempo

Casos T KL B A H2000 6,97 4,0254 4,00 3,00 7,004000 10,42 4,1019 2,00 3,00 5,006000 13,68 4,1033 1,67 3,67 5,338000 15,66 4,0966 1,67 2,44 4,11

10000 19,12 4,0926 1,33 2,44 3,78

Tabla 4.14: Resultados para el Algoritmo TRPC + refinamiento con Mínimo d-

separador con Redes Dinámicas de 15 nodos por intervalo de tiempo

En primer lugar cabe destacar el buen resultado que ofrece este algoritmo, tan-to en la distancia de Hamming (H) como en medida KL. Es sin duda el algoritmobasado en tests de independencia condicional más eficaz de los que hemos estudia-do, ofreciendo en general un resultado excelente. Esta eficacia puede ser debida al

Page 200: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

178 Aprendizaje de Relaciones Temporales

Casos T KL B A H2000 5,61 3,9536 4,67 0,11 4,784000 10,19 4,0051 3,00 0,00 3,006000 14,20 4,0758 2,00 0,00 2,008000 18,36 4,0780 1,56 0,11 1,67

10000 23,36 4,0825 1,33 0,00 1,33

Tabla 4.15: Resultados para el Algoritmo TRPC + refinamiento con BIC con Redes

Dinámicas de 15 nodos por intervalo de tiempo

hecho del reducido número de variables que intervienen en el conjunto de condicio-namiento, lo cual no llevará a realizar unos tests de independencia muy fiables, estohecho lo pone de manifiesto el que a partir de 4000 datos, el algoritmo empieza aobtener buenos resultados.

También este algoritmo se destaca del resto de los estudiados por su eficiencia,es sin lugar a dudas el más rápido de todos los comprobados hasta el momento.Este hecho cabe especial mención porque si observamos el número de tests de in-dependencia condicional que realiza es del orden de los realizados por el algoritmoFARTSub, y también es mayor que los realizados por los algoritmos ART y FART.Sin embargo, el número bastante reducido de variables que intervienen en los mis-mos hace que estos sean mucho más rápidos (eficientes) de calcular.

En cuanto a su refinamiento con el conjunto mínimo d-separador, se mantiene latendencia del resto de casos, esto es, disminuye el número de arcos borrados, peroaumenta el número de arcos añadidos, en este caso de una manera más acusada. Enel refinamiento BIC se mantienen los mismos resultados. Esto nos hace concluirque todos los algoritmos vistos hasta ahora basados en tests de independencia con-dicional, proporcionan un buen punto de inicio para la posterior búsqueda local quese realiza en este refinamiento.

Análisis de los resultados para el Algoritmo TeReBenedict. Este algoritmoaunque realiza tests de independencia condicional, lo hemos encuadrado en los ba-sados en métricas. Por consiguiente, hemos reflejado en número de estadísticosevaluados, en lugar de tests de independencia condicional, y el número de variablescompletas que intervienen en dichos estadísticos. Hemos de observar que aunque serealizan tests de independencia condicional, éstos no suponen un cálculo extra, sinoque se pueden reutilizar los cálculos efectuados en la métrica correspondiente.

Los resultados de este algoritmo junto con sus refinamientos se pueden observaren las tablas 4.16, 4.17 y 4.18.

Los resultados ofrecidos por el algoritmo TeReBenedict son del mismo ordenque los ofrecidos por los algoritmos FART y FARTSub, aunque TeReBenedict es

Page 201: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

4.7. Experimentación y Conclusiones 179

Casos T KL B A H NVars EstEval2000 24,27 3,6557 8,00 3,11 11,11 2,46 262,894000 41,91 3,7199 6,11 3,00 9,11 2,49 272,226000 63,50 3,8236 4,89 2,78 7,67 2,53 280,568000 80,93 3,7908 4,78 2,56 7,33 2,57 280,78

10000 102,99 3,8106 4,33 2,44 6,78 2,59 284,11

Tabla 4.16: Resultados para el Algoritmo TRBenedict con Redes Dinámicas de 15

nodos por intervalo de tiempo

Casos T KL B A H2000 6,81 4,0232 4,11 3,22 7,334000 10,84 4,0597 2,44 3,11 5,566000 14,28 4,0683 1,89 3,44 5,338000 15,96 4,0667 1,89 2,67 4,56

10000 20,00 4,0685 1,56 2,67 4,22

Tabla 4.17: Resultados para el Algoritmo TRBenedict + refinamiento con Mínimo

d-separador con Redes Dinámicas de 15 nodos por intervalo de tiempo

Casos T KL B A H2000 6,76 3,9552 4,56 0,00 4,564000 12,28 4,0051 3,00 0,00 3,006000 20,16 4,0769 1,78 0,00 1,788000 21,91 4,0780 1,56 0,11 1,67

10000 27,19 4,0825 1,33 0,00 1,33

Tabla 4.18: Resultados para el Algoritmo TRBenedict + refinamiento con BIC con

Redes Dinámicas de 15 nodos por intervalo de tiempo

Page 202: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

180 Aprendizaje de Relaciones Temporales

ligeramente menos eficiente. En cuanto al refinamiento con el mínimo conjuntod-separador, hemos de notar que se mejoran de forma muy leve los resultados ofre-cidos por estos refinamientos para los algoritmos FART y FARTSub. Para el refina-miento BIC no se puede decir nada nuevo, pues prácticamente se copian los mismosresultados que en los casos anteriores.

Análisis de los resultados para el Algoritmo TeReK2. El resultado de la ejecu-ción de este algoritmo para las bases de datos de prueba se puede observar en latabla 4.19. Estos resultados son los mejores encontrados por todos los algoritmosque hemos estudiado a lo largo de este capítulo y se puede considerar como unos re-sultados excelentes. En cuanto a la eficiencia del método cabe notar que es un pocomenos eficiente que los algoritmos basados en tests de independencia condicional.Sin embargo, hemos de notar que cualquiera de los algoritmos basados en tests másun refinamiento BIC, que es el mejor resultado encontrado para estos casos, en al-gunos casos empeora el tiempo de ejecución, sumando ambos tiempos, o en otroses prácticamente el mismo tiempo de cómputo.

En cuanto a los refinamientos, lo que hacen es empeorar los resultados ofrecidospor este algoritmo, es por ello, que no hemos reflejado los resultados en tablas.

Casos T KL B A H NVars EstEval2000 21,37 4,2885 0,33 0,78 1,11 3,72 556,444000 39,83 4,2232 0,11 0,22 0,33 3,71 552,566000 59,02 4,2034 0,00 0,33 0,33 3,72 555,338000 78,64 4,1872 0,11 0,67 0,78 3,72 558,44

10000 97,65 4,1785 0,11 0,44 0,56 3,70 555,89

Tabla 4.19: Resultados para el Algoritmo TRK2 con Redes Dinámicas de 15 nodos

por intervalo de tiempo

Page 203: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

Capítulo 5

Aprendizaje de Redes deCreencia Dinámicas

5.1 Introducción

En este capítulo vamos a estudiar cómo podemos aprender una RCD a partir de datosde un sistema dinámico markoviano y estacionario. Una vez estudiados a lo largo deesta memoria tanto algoritmos para el aprendizaje estructural de redes de creenciaestáticas como algoritmos para el aprendizaje de las relaciones temporales de unared de creencia dinámica, conocido su modelo estático, estamos en disposición deabordar el estudio del aprendizaje de redes de creencia dinámicas a partir de losalgoritmos anteriores.

Este capítulo se estructura de la siguiente manera: la primera sección se dedica aestudiar el problema del aprendizaje de RCD cuando conocemos el primer instantede tiempo, a partir del cual se empieza a observar el sistema dinámico. En este casoplantearemos un esquema general de aprendizaje de RCD, en donde nos basamosen gran medida en los algoritmos estudiados en los capítulos anteriores, esto es, enlos algoritmos de aprendizaje de redes de creencia estáticas y en los algoritmos deaprendizaje de relaciones temporales.

En la siguiente sección nos centraremos en el estudio de la utilización del es-quema anterior de aprendizaje de RCD cuando un sistema dinámico se empieza aobservar a partir de un periodo de tiempo arbitrario, y éste no tiene por qué coincidircon el instante de tiempo inicial.

Por último estudiaremos cómo adaptar algoritmos de aprendizaje de redes decreencia estáticos al aprendizaje de redes de creencia dinámicas. Fundamentalmen-te, para realizar esta tarea, consideraremosG(k,k+1) como un modelo estático conunas ciertas restricciones.

181

Page 204: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

182 Aprendizaje de Redes de Creencia Dinámicas

5.2 Aprendizaje de RCD cuando se conoce el instantet = 0

El problema que pretendemos resolver es el siguiente: Si tenemos que modelar unsistema dinámico en donde existe un instante inicial de tiempo a partir del cualempieza el proceso evolutivo del sistema, entonces existe un periodo que podemosdistinguir como periodo de tiempo inicialk = 0, cuya característica principal esque las variables en este periodo de tiempo no son dependientes del instante ante-rior. En términos de independencias condicionales, esto último quiere decir que siI(xi(0),x j(0)|S), entoncesSes un subconjunto de variables deV(0).

Por otra parte, si queremos aprender una red de creencia dinámica que es mar-koviana y estacionaria, entonces podremos utilizar un algoritmo de aprendizaje au-tomático para redes de creencia estáticas para inducir la red de creencia para esteperiodo de tiempok = 0. A partir de esta red que hemos aprendido podremos dupli-carla para el resto de periodos de tiempo y entonces podremos utilizar un algoritmode aprendizaje automático de relaciones temporales para completar de esta manerael aprendizaje de la red de creencia dinámica.

A continuación describiremos el método general de aprendizaje de redes decreencia dinámicas de la manera descrita anteriormente, posteriormente pasaremosa estudiar los problemas que nos plantean las salidas de los algoritmos de apren-dizaje automático de redes de creencia estáticos y la aplicación posterior de estemétodo.

5.2.1 Método de aprendizaje general

A partir de las condiciones anteriores se puede estudiar un método general de apren-dizaje automático de redes de creencia dinámicas. Este método general es directo,teniendo en cuenta los algoritmos de aprendizaje de relaciones temporales estu-diados en el capítulo anterior. El método de aprendizaje general consistirá en lossiguientes pasos:

1. Utilizar un algoritmo general de aprendizaje de redes de creencia estáticasrestringido al periodo de tiempo inicial del modelok = 0.

2. Duplicar la estructura aprendida enG(0) para los periodos de tiempo poste-riores, esto es, 1, . . .n−1.

3. Utilizar un algoritmo de aprendizaje de relaciones temporales a partir de dosestructuras correspondientes a dos periodos de tiempo consecutivosk y k+1.

Si bien esta metodología descrita parece directa y razonable, hemos de consi-derar que los algoritmos de aprendizaje automático para redes de creencia estáticas

Page 205: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

5.2. Aprendizaje de RCD cuando se conoce el instante t = 0 183

no son capaces, por lo general, de recuperar de manera perfecta las estructuras sub-yacentes de los modelos que se quieren aprender. Por otra parte hemos estudiadoalgoritmos de aprendizaje de relaciones temporales que dependen fuertemente delas estructuras que definen el modelo en los intervalos de tiempok, de hecho siem-pre hemos partido de que estas estructuras eran perfectamente conocidas. Por tanto,parece lógico considerar los posibles problemas que nos plantean los diferentes al-goritmos de aprendizaje automático de redes de creencia estáticas.

Hemos demostrado en el capítulo anterior que si la estructura del grafo dirigidoacíclico que representaG(0) es correcta y si ésta es la misma para el resto de instan-tes de tiempo, si duplicamosG(0) para el resto de instantes de tiempo, entonces losalgoritmos basados en tests de independencia condicional, ART, ARTSub, FART,FARTSub y TeRePC recuperan de una manera correcta el conjuntoE tmp(k+1) derelaciones temporales de la red de creencia dinámica1.

Ahora bien, existen algoritmos que no siempre recuperan la estructura correcta,estos algoritmos pueden ofrecernos una buena aproximación deG(0), pero no siem-pre tiene que ser la correcta. Por tanto, sería lógico estudiar el efecto que sobre losalgoritmos ART, ARTSub, FART, FARTSub y TeRePC tiene la situación de que laestructura recuperada paraG(0) no fuese la correcta, sino una buena aproximacióna la estructura verdadera del grafo.

El comportamiento de los algoritmos basados en tests de independencia con-dicional estudiados en el capítulo anterior, para aquellos casos en que se parte debuenas aproximaciones, no correctas, del grafoG(0) se describe en la siguienteproposición.

Proposición 5.1 SeaG(0) una aproximación de G(0), estructura para el instantede tiempo inicial k= 0 de una red de creencia dinámica. Si duplicamos la estruc-tura G(0) para k,(k > 0) y aplicamos los algoritmos de aprendizaje de relacionestemporales basados en tests de independencia condicional para k y k+1, entoncesel conjunto de relaciones temporalesEtmp(k+1) recuperado contendrá como míni-mo las relaciones temporales Etmp(k+1) de la red de creencia dinámica, es decir,Etmp(k+1)⊇ Etmp(k+1).Demostración:Si ∃ un arcowi(k)→ wj(k+1) enEtmp(k+1), entonces no habráningún subconjunto de nodos que sea capaz de d-separar ambos nodos y por tantose haga el test de independencia condicional que se haga, los algoritmos basados endichos tests colocarán un arco entre ambos nodos al no poder d-separarlos con elsubconjunto correspondiente.

Esta proposición nos indica que estos algoritmos nos proporcionan siempre co-mo salida un I-map2 de la red de creencia dinámica correspondiente a dos intervalos

1Asumiendo que los tests de independencia no comenten errores.2Siempre y cuando el modelo recuperadoG(0) también sea un I-map.

Page 206: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

184 Aprendizaje de Redes de Creencia Dinámicas

de tiempo consecutivosk y k+1, pero muy posiblemente no minimal. Esto lógi-camente dependerá de lo buena que sea la aproximación de partida de la estructuracorrespondiente al intervalo inicial de tiempok = 0.

De todas formas, existe un problema adicional en este esquema de aprendizajede RCD y el aprendizaje del instante inicial de tiempok = 0. Si para su aprendizajeutilizamos un algoritmo, como puede ser el algoritmo PC, o en los métodos basa-dos en métricas utilizamos una de ellas con la propiedad de ser “score-equivalente”,entonces hemos de notar que, normalmente, la salida será un representante de laclase de equivalencia de todos los modelos isomorfos a esta salida. Esto en prin-cipio podría parecer irrelevante para el problema que estamos resolviendo, ya quese representa la misma factorización en todos los modelos isomorfos. Sin embargo,como en el esquema general de aprendizaje, esta misma estructura se utiliza para serduplicada para el resto de periodos de tiempo, entonces la elección del modelo pararepresentar la estructura “estática” de la RCD de entre todos los modelos isomorfos,podrá tener influencia en las distintas salidas en el conjunto de relaciones tempo-rales al ser aplicados los algoritmos para su aprendizaje estudiados en el capítuloanterior. Veamos esta cuestión con el siguiente ejemplo.

Ejemplo 5.1 Suponemos que tenemos el grafo dirigido acíclico de la figura 5.1(a)para el instante inicial de tiempo0. El algoritmo PC recuperaría el patrón de lafigura 5.1(b)

(a) Grafo dirigido aciclico G(0) (c) Patron completo para G(0)(b) Patron para G(0)

Figura 5.1: Patrón de salida de PC y una vez completadas las orientaciones en el

patrón.

Este patrón se podrá completar con cualquier orientación de los arcos sin orien-tar siempre y cuando no se formen nuevos nodos cabeza-cabeza no acoplados nitampoco ciclos dirigidos, como se puede observar en la figura 5.1(c).

Page 207: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

5.2. Aprendizaje de RCD cuando se conoce el instante t = 0 185

Veamos ahora el comportamiento que tendrán los algoritmos ART y FART eneste tipo de situaciones. El algoritmo TeRePC y los basados en los anteriores tam-bién tendrán un comportamiento bastante similar.

Ejemplo 5.2 Suponemos que tenemos la red de creencia dinámica de la figura5.2(a). Ejecutamos el algoritmo PC para recuperar el patrón de G(0), completán-dolo como aparece el la figura 5.2(b). El orden ancestral fijado para la ejecuciónposterior del algoritmo ART y FART queda como en la numeración que aparece enla figura 5.2(b). Duplicamos el patrón completo para G(1) y ejecutamos el algorit-mo ART. Como resultado queda el que aparece en la figura 5.2(c). El mismo resul-tado se hubiese producido tras la ejecución del algoritmo FART. Fundamentalmentesu comportamiento se puede resumir en que cuando equivocamos una orientaciónen los arcos, entonces se tienden a “cruzar” los padres en el periodo de tiempoanterior de ambos nodos.

(b) Patron recuperado completo

(c) Red de creencia dinamica resultante

5

3

4

2

1

(a) Red de creencia dinamica de partida

G(0) G(1) G(0)

G(0) G(1)

Figura 5.2: Salida del Algoritmo ART y FART para una red de creencia dinámica

con el patrón completo de partida mal orientado.

Page 208: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

186 Aprendizaje de Redes de Creencia Dinámicas

Los algoritmos TeRePC, ARTSub y FARTSub, al utilizar subconjuntos de pa-dres, manto de MarkovMM i, j y mínimo d-separador respectivamente, su comporta-miento también tenderá al observado en el ejemplo anterior. Sin embargo, es posibleque incluyan un número menor de arcos temporales superfluos, ya que puede queen alguno de los múltiples tests que realizan se estimen independientes los nodoscomprobados. Este comportamiento se debe, fundamentalmente, a que puede queno se instancien nodos cabeza-cabeza en los correspondientes subconjuntos com-probados y que éstos sí que pertenezcan forzosamente a los subconjuntosMM i, j omínimo d-separador por sus respectivas definiciones y estos nodos cabeza-cabezahagan que el camino correspondiente quede bloqueado.

Hemos de tener en cuenta que aunque el algoritmo TeReK2 y el TeReBenedictse basan en una búsqueda heurística, también tendrán una tendencia hacia el mismocomportamiento descrito en el ejemplo anterior.

Es claro que este tipo se situaciones se resolverían de una forma correcta sipartimos de que el conjuntoV(k) de variables posee una ordenación causal previaentre sus elementos. Hemos de notar también que en situaciones reales es muyhabitual que el conjunto de relaciones no temporales, entre variables del mismoperiodo de tiempo, sea muy escaso, incluso en ocasiones vacío, como describíamosen capítulos anteriores. Por consiguiente, será más probable que este orden entre lasvariables sea más fácil de obtener.

Otra solución pasaría por comprobar todos los modelos equivalentes paraG(k)y quedarnos con aquél que nos ofreciera un número menor de enlaces temporales.Esta solución podría ser muy ineficiente si el número de modelos equivalentes fueseelevado.

Una posible solución eficiente podría ser movernos de forma local en los mo-delos equivalentes. El método consistiría en detectar un arco inversible3; invertirlo;reaprender los arcos temporales solamente para los nodos que conectan el arco in-vertido; y si el número de relaciones temporales se reduce, entonces quedarnos conesta orientación como correcta; y si el número de relaciones temporales aumenta,entonces quedarnos con la dirección primitiva como correcta. Hemos de tener encuenta que el fijar un arco con una orientación definitiva, hará que algunos arcosmás, que en principio son inversibles, queden determinados a partir de entonces.

Nosotros conjeturamos que para los algoritmos ART y FART esta forma de pro-ceder sería correcta y por tanto ofrecería unos resultados teóricamente correctos.

3Un arco inversible es cuando el conjunto de padres de los extremos de los nodos es el mismo, salvoel nodo cola del arco. Esto es, si tenemosx i(k)→ x j (k) ∈ G(k), entonces es inversible si y solo siπk(xj (k))\{xi (k)}= πk(xi(k)) [28].

Page 209: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

5.3. Aprendizaje de RCD cuando no se conoce el instante t = 0 187

Para ello deberemos caracterizar cuándo un arco temporal es introducido de formasuperflua en el modelo resultante. Esta cuestión no es ni mucho menos trivial, y ladejamos abierta para el futuro. También conjeturamos que para los algoritmos ART-Sub, FARTSub y TeRePC, el método propuesto también sería correcto, sin embargola caracterización de los arcos temporales superfluos debe ser diferente.

Sin embargo, si utilizamos el algoritmo TeReK2 como método de búsqueda derelaciones temporales y utilizamos una función descomponible como función deajuste, entonces el algoritmo de inversión de arcos previamente descrito obtendríabuenos resultados (no podemos asegurar su correcto funcionamiento por el carácterheurístico de la búsqueda). Este hecho se fundamenta en que al ser descomponiblela función de ajuste y partiendo de que el modelo paraG(k) es un modelo isomorfoal verdadero, entonces tan solo bastaría buscar de nuevo los conjuntos de padrespara los nodos cabeza y cola del arco invertido en el esquema anterior. De todasformas es un método que habría que validar experimentalmente en trabajos futurosy así comprobar su eficacia.

5.3 Aprendizaje de RCD cuando no se conoce el ins-tante t = 0

Como pone de manifiesto Friedman y col. en su trabajo [61], puede ocurrir que losdatos de partida para la realización del aprendizaje de una RCD no sean observacio-nes que partan desde el inicio del proceso dinámico, sino que dicho proceso se hayaempezado a observar desde un instante de tiempok. En la sección anterior hemossupuesto que este instante de tiempok = 0 era conocido y nos basábamos en granmedida en este conocimiento para el desarrollo del esquema general de aprendizajede una RCD.

Si empezamos a observar una sistema dinámico a partir de un cierto instantede tiempok y utilizamos éste como si fuese realmente el instante de tiempo ini-cial, en el sentido expresado en la sección anterior, entonces muy probablementese inducirán una serie de arcos, relaciones superfluas, entre las variables del mismoperiodo de tiempo. Estas relaciones serán inducidas debido a la existencia de re-laciones no directas entre estas variables que involucran a variables del periodo detiempo anterior, esto es, existirán caminos no bloqueados que conecten este par devariables y que contengan variables del periodo de tiempo anterior no observado. Acontinuación expondremos un ejemplo de esta situación.

Ejemplo 5.3 Supongamos que tenemos la RCD descrita en la figura 5.3(a). Siaprendemos mediante el algoritmo PC la red para el instante de tiempo k, entoncessu salida será la descrita en la figura 5.3(b).

Page 210: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

188 Aprendizaje de Redes de Creencia Dinámicas

G(k)G(k) G(k+1)

(a) (b)

G(k) G(k+1)

(c)

Figura 5.3: Salida del algoritmo PC para el aprendizaje de G(k). Salida del modelo

G(k,k+1) utilizando el esquema general de aprendizaje de RCD y el

algoritmo ART o FART.

Si utilizamos para el aprendizaje de RCD el esquema descrito en la secciónanterior (podemos observar el resultado en la figura 5.3(c)), entonces habrá que teneren cuenta que probablemente estemos considerando un I-map del modeloG(k) nominimal. La solución a este problema es una cuestión abierta que ha de ser objeto deestudio en un futuro. De todas formas se podría aliviar este problema, incorporandouna poda al resultado de la ejecución del esquema de aprendizaje anterior de talforma que tengamos en cuenta estas situaciones. Otra solución es no tener en cuentaeste esquema y considerar todas las variables deV(k,k+1) para el aprendizaje. Estacuestión se aborda en la sección siguiente.

Como comentábamos en el párrafo anterior, se podría plantear un algoritmo derefinamiento del resultado, en la misma filosofía que en el capítulo anterior, una vezque hemos aprendido el modeloG(k,k+1) con el método propuesto anteriormente.Este refinamiento se podría realizar de dos formas: (1) Planteándose de nuevo todoslos enlacesxi(k+ 1)→ x j(k+ 1) mediante tests de independencia condicional, eneste caso de nuevo podríamos recurrir a realizar estos tests con el conjunto míni-mo d-separador. (2) O bien, hacer un refinamiento mediante una búsqueda localutilizando para ello una función de ajuste descomponible. Esta opción implica tam-bién la elección de los operadores de búsqueda para encontrar un nuevo conjuntode padres para cada variable. En este segundo caso no nos vamos a centrar, porquese podría utilizar la vecindad en grafos dirigidos acíclicos que describiremos en elmétodo de ascensión de colinas de la sección siguiente. En dicho caso, tan sólohemos de utilizar la salida de este esquema como punto de inicio de la búsquedaplanteada en la sección siguiente, es decir, aprenderemos el modeloG(k) medianteun algoritmo de aprendizaje de redes de creencia estáticas; duplicamos este modeloparaG(k+ 1); y aplicamos algún algoritmo de aprendizaje de relaciones tempora-

Page 211: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

5.3. Aprendizaje de RCD cuando no se conoce el instante t = 0 189

les. Una vez tengamos el modeloG(k,k+ 1) utilizamos éste como punto de iniciode la búsqueda.

Por tanto, nos centraremos en cómo realizar el refinamiento de este modelo apro-ximadoG(k,k+1) mediante tests de independencia condicional y conjuntos míni-mos d-separadores. Para llevarlo a cabo, en primer lugar nos replantearemos lasrelaciones no temporales, para posteriormente replantearse de nuevo las relacionestemporales. El algoritmo de refinamiento será bastante simple:

• Una vez tengamos el modelo completoG(k,k+ 1), ordenamos las variablesen orden topológico.

• Para cada enlace deG(k+1), xi(k+1)→ x j(k+1), ordenados por el índicei, según el orden topológico anterior: Borramos transitoriamente este enlacey también su correspondiente enG(k), xi(k)→ xj(k); calculamos el conjuntomínimo d-separadorSd; si los nodos son independientes dado este subcon-junto, continuamos con el siguiente enlace; si no lo son, entonces reponemosestos enlaces. Continuaremos hasta que hayamos revisado todos los enlaces.

• Una vez revisados todos los enlaces no temporales en el paso anterior, revi-saremos las relaciones temporalesxi(k)→ xj(k+1), también según el ordentopológico. Para este caso, también utilizamos los tests de independenciacondicional con el conjunto mínimo d-separador y con los mismos criteriosque en el caso anterior. Continuaremos hasta que hayamos revisado todos losenlaces temporales.

Hemos de notar que en realidad el orden de comprobación es arbitrario. Sinembargo, nosotros hemos elegido un orden ancestral, empezando por los nodo raí-ces, porque recordemos que el conjunto mínimo d-separador se encuentra entre losancestros de los nodos a separar. Por consiguiente, empezando por los nodos raíces,los cambios en esta estructura afectarán a los posteriores cálculos de los conjuntosd-separadores para los nodos posteriores, y probablemente con un número menorde arcos y por tanto un número menor de caminos en la comprobación.

Ejemplo 5.4 Siguiendo con el ejemplo anterior, la salida del refinamiento pro-puesto será precisamente el modelo buscado, esto es, el modelo mostrado en lafigura 5.3(a). Sin embargo, en general, este comportamiento no tendrá por quédarse siempre para todos los modelos aprendidos.

Page 212: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

190 Aprendizaje de Redes de Creencia Dinámicas

5.4 Aprendizaje de RCD basado en algoritmos parael aprendizaje de RC estáticas

En esta sección nos dedicaremos a describir cómo se realizaría el aprendizaje deRCD, tanto basado en tests de independencia condicional como basado en méto-dos locales de búsqueda dada una función de ajuste, de forma conjunta, esto es,sin hacer distinción entre las relaciones no temporales y las relaciones temporales,como hemos venido describiendo a lo largo de este capítulo. En la literatura espe-cializada en aprendizaje de redes de creencia estáticas existen una gran variedad demétodos tanto basados en relaciones de independencia como basados en métricas.Nosotros, en este capítulo, realizaremos un estudio general del comportamiento deestos algoritmos cuando han de ser aplicados al aprendizaje de RCD para modelarun sistema dinámico markoviano y estacionario. En primer lugar nos centraremosen los algoritmos basados en tests de independencia condicional y posteriormentenos centraremos en los algoritmos de búsqueda local basados en métricas.

5.4.1 Algoritmos basados en tests de independencia condicionalpara el aprendizaje de RCD

En este punto describiremos cómo se han de adaptar los métodos basados en testsde independencia condicional para poder ser aplicados al aprendizaje de RCD. Paraello recordemos la primera proposición que comentábamos en el capítulo anterior:

Proposición 5.2 Sea una RCD markoviana y estacionaria, y sean dos periodos detiempo consecutivos cualesquiera G(k,k + 1), entonces si se cumple para algúnsubconjunto S∈ V que I(x j(k),xi(k+ 1)|S), entonces podremos encontrar un sub-conjunto S′ tal que se siga cumpliendo I(x j(k),xi(k+1)|S′) y S′ ⊆V(k,k+1).

Veíamos que esta proposición era consecuencia de la propiedad de Markov quecumplía el sistema dinámico que queremos modelar. Otra consecuencia de estapropiedad es la siguiente, ampliación de la anterior proposición:

Proposición 5.3 Sea una RCD markoviana y estacionaria, y sean dos periodos detiempo consecutivos cualesquiera G(k,k + 1), entonces si se cumple para algúnsubconjunto S∈ V que I(x j(k+ 1),xi(k+ 1)|S), entonces podremos encontrar unsubconjunto S′ tal que se siga cumpliendo I(x j(k+1),xi(k+1)|S′) y S′⊆V(k,k+1).

Estas dos propiedades nos aseguran que los subconjuntos que hacen indepen-dientes dos variables cualesquiera del modelo se han de encontrar en su propio in-tervalo de tiempo y en el inmediatamente anterior. Esto quiere decir, evidentemen-te, que cualquier algoritmo basado en tests de independencia condicional se puedecentrar tan sólo en dos periodos de tiempo consecutivos para aprender el modelo

Page 213: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

5.4. Aprendizaje de RCD basado en algoritmos para el aprendizaje de RC estáticas 191

correspondiente a un determinado periodo de tiempo. Esto es, si nosotros quere-mos aprender el modelo paraG(k,k+1), tan sólo hará falta considerar las variablescorrespondientes a estos dos periodos de tiempo.

Además si el modelo es estacionario, como es nuestro caso, entonces estamosseguros de que si aprendemos el modelo enG(k,k+1), éste de replicará para todosy cada uno de los periodos de tiempo.

La consecuencia de todo lo que hemos venido comentando es que cualquier al-goritmo de aprendizaje que quiera aprender el modelo enG(k,k+1), podrá aplicarlas siguientes restricciones en su método de búsqueda: En primer lugar para en-contrar las relaciones no temporales debe tenerse en cuenta tan sólo los posiblestests entre pares de variables deV(k+ 1), y también estos tests bastaría hacerloscondicionando sobre subconjuntos pertenecientes aV(k,k+ 1). Por otra parte, siencontramos una relación de independencia/dependencia enG(k+1), ésta debe serreplicada enG(k), para cualquierk. En cuanto a las relaciones temporales hemosde decir lo mismo que en el capítulo anterior, esto es, nos basta realizar tests entreparejas de variables de periodos de tiempo consecutivos y escoger subconjuntos decondicionamiento como en el caso anterior. Otra consideración que debemos reali-zar es que si encontramos una relación de dependencia entre dos variablesx i(k) yx j(k+ 1) su orientación debe ser naturalmentexi(k)→ xj(k+ 1). A continuaciónparticularizaremos todos estos conceptos adaptando el algoritmo PC para la búsque-da del modeloG(k,k+1) de una RCD markoviana y estacionaria. Esta adaptaciónse puede observar en la figura 5.4.

Si observamos la adaptación del algoritmo PC para el aprendizaje de RCD des-crito en la figura 5.4, podremos notar que la adaptación impone las siguientes res-tricciones:

• Los pares de variables comprobados son o bien parejas de variables deV(k+

1), (xi(k+ 1),x j(k+ 1)), o bien parejas de variables entre los periodos detiempo consecutivos(xi(k),xj (k+ 1)). Fijémonos que si encontramos queuna de las parejas del primer tipo están d-separadas por algún subconjunto deV(k,k+1), entonces éstas también estarán d-separadas en cualquier periodode tiempo. El segundo tipo de parejas de variables, al igual que el algorit-mo TeRePC descrito en el capítulo anterior, sirve para buscar las relacionestemporales del modelo.

• Cómo hemos descrito en el punto anterior, si encontramos d-separadas unapareja de variables(xi(k+1),x j(k+1)), entonces también borramos el enlacecorrespondiente a las parejas deV(k), (xi(k),xj (k)).

• En los pasos para la orientación de los enlaces encontrados en los pasos an-teriores, después de encontrar los nodos cabeza-cabeza, completamos todaslas orientaciones correspondientes a los arcos temporales. Posteriormente se

Page 214: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

192 Aprendizaje de Redes de Creencia Dinámicas

Algoritmo PCRCD

1. Formar el grafo G(k,k+1) no dirigido sobre el conjunto de vértices V(k,k+1), conE = V(k,k+1)×V(k,k+1).

2. n= 0

Repetir

- Repetir

- Seleccionar un par ordenado de variables(xi(k),x j (k+1)) ó (xi(k+1),x j(k+

1)) que sean adyacentes en G(k,k + 1), tal que Adyac(G(k,k + 1),xi) \ {xj}

tiene un cardinal mayor o igual a n, y un subconjunto S de Adyac(G(k,k +

1),xi)\{xj} de cardinal n. Si xi y xj están d-separadas dado S, borrar el arcoxi −x j ; si xi ,x j ∈V(k+1) entonces también borrar el arco en G(k) de G(k,k+

1); y guardar S en SEPSET(xi ,x j ) y SEPSET(x j ,xi).

Hasta

- Todos los pares ordenados de variables adyacentes de xi y xj , tal queAdyac(G(k,k + 1),xi) \ {xj} sea de cardinalidad n han sido ya comprobadosanteriormente.

n = n+1

Hasta

- Para cada par ordenado de variables adyacentes xi y xj , Adyac(G(k,k+1),xi)\{xj}

tiene una cardinalidad menor que n.

3. Sea G′(k,k+ 1) el grafo resultado de la etapa anterior. Para cada triple de vértices(x,y,z) tal que el par(x,y) y el par (y,z) son adyacentes en G′(k,k+ 1), pero el par(x,z) no es adyacente en G′(k,k+1), orientar x−y−z como x→ y← z si y solo si yno está en SEPSET(x,z).

4. Para cada par(xi(k),x j (k+1)) orientar xi(k)→ x j (k+1).

5. Repetir

- Si xi(k+1)→ x j (k+1), xj (k+1)−xl (k+1) y xi(k+1) y xl (k+1) no son adyacentesy no hay cabeza de flecha en xj(k+1), entonces orientar xj (k+1)−xl (k+1) comox j(k+1)→ xl (k+1).

- Si hay un camino dirigido desde xi(k+1) hasta xj(k+1) y un enlace entre xi(k+1)

y xj (k+1), entonces orientar xi(k+1)→ x j(k+1).

Hasta que que ningún arco más se pueda orientar.

Figura 5.4: Algoritmo PCRCD

Page 215: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

5.4. Aprendizaje de RCD basado en algoritmos para el aprendizaje de RC estáticas 193

sigue orientando con las reglas marcadas por el algoritmo PC. En este caso,también hemos de tener en cuenta que si orientamos una pareja de variablesxi(k+ 1)→ x j(k+ 1), entonces también hemos de orientar la pareja corres-pondiente enV(k), xi(k)→ xj(k). También hemos de notar que las reglas deorientación siempre se han de aplicar exclusivamente a parejas deV(k+ 1),(xi(k+1),x j(k+1)), ya que el modelo enV(k) no tiene porqué ser completo,en el sentido de que le faltan las posibles relaciones de sus variables con elperiodo anteriorV(k−1).

5.4.2 Algoritmos locales de búsqueda para el aprendizaje de RCD

En este punto nos dedicaremos a ver cómo podemos adaptar una búsqueda local,tanto en el espacio de grafos dirigidos acíclicos como en el espacio de secuenciasde ordenación, para el aprendizaje de una RCD mediante una función o métricadescomponible.

Nuestro objetivo es realizar un algoritmo de ascensión de colinas, al igual queen el capítulo 2, para aprender un modelo de RCD. Esta búsqueda local se realizarátanto en el espacio de grafos dirigidos acíclicos como en el espacio de secuenciasde ordenación. Para poder realizar esta tarea hemos de definir la vecindad que utili-zaremos en cada caso.

Tanto en un caso como en el otro, debemos suponer que tenemos definida unafunción o métrica descomponiblef (G(k,k+ 1)), hemos de notar que entonces, aligual que describíamos en el anterior capítulo, al tener un modelo dinámico mar-koviano y estacionario, podemos maximizar cada familia(x i(k+1)∪π(xi(k+1)),centrados enV(k,k+1). De esta forma, si encontramos el mejor conjunto de padrespara un nodoxi(k+1), éstos también serán los mejores para este nodo en todos losintervalos de tiempok.

Ascensión de colinas en el espacio de grafos dirigidos acíclicos.En este casotendremos que definir la vecindad correspondiente a un determinado grafoG(k,k+

1) para recorrer el espacio de grafos dirigidos acíclicos de forma local. Evidente-mente esta vecindad será la misma que en el caso de redes de creencia estáticas, perocon las restricciones lógicas que impone el modelo de RCD que queremos aprender.Estas restricciones serán impuestas por la orientación particular que han de tenerlas relaciones temporales. Así pues, un relación temporal siempre tendrá la mis-ma orientación y sólo podremos introducir nuevas relaciones temporales o borraralguna de las que existan en el grafo actual, es decir, carece de sentido el opera-dor de inversión de un arco temporal. Con todas estas consideraciones la vecindadN (G(k,k+1)) será la unión de los siguientes subconjuntos:

NA(G(k,k+1)) = {(V(k+1),E′(k+1))|E′(k+1) = E(k+1)∪{xj (k+1)→ xi (k+1)}}

Page 216: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

194 Aprendizaje de Redes de Creencia Dinámicas

tal que,xj (k+1)→ xi(k+1) /∈ E(k+1) y (V(k+1),E′(k+1)) es un GDA.

NB(G(k,k+1)) = {(V(k+1),E′(k+1))|E′(k+1) = E(k+1)\{x j (k+1)→ xi(k+1)}}

tal que,xj (k+1)→ xi(k+1) ∈ E(k+1).

NI (G(k,k+1)) =

= {(V(k+1),E′(k+1))|E′(k+1) = (E(k+1)∪{xj (k+1)→ xi(k+1)})\{xi(k+1)→ xj (k+1)}}

tal que,xi (k+1)→ xj (k+1) ∈ E(k+1) y (V(k+1),E′(k+1)) es un GDA.

Estas tres anteriores son las definiciones para el añadido, borrado e inversión dearcos no temporales enG(k+1), hemos de notar que es el único grafo donde puededarse un ciclo dirigido, no es posible que se den ciclos dirigidos en caminos dondese incluyan arcos temporales. A continuación definiremos las operaciones para losarcos temporales:

NAT(G(k,k+1)) = {(V(k,k+1),E′(k,k+1))|Etmp′(k+1) = Etmp(k+1)∪{x j (k)→ xi(k+1)}}

tal que,xj (k)→ xi (k+1) /∈ Etmp(k+1).

NBT(G(k,k+1)) = {(V(k,k+1),E′(k,k+1))|Etmp′(k+1) = Etmp(k+1)\{xj (k)→ xi(k+1)}}

tal que,xj (k)→ xi (k+1) ∈ Etmp(k+1).

Es decir, tan sólo modificamos el conjunto de relaciones temporalesE tmp(k+

1) añadiendo una relación no existente o borrando una relación existente en estesubconjunto.

Ascensión de colinas en el espacio de órdenes.Siguiendo todo lo estudiado enel capítulo 2 para el aprendizaje de redes de creencia estáticas mediante búsque-das locales en el espacio de órdenes, podemos adaptar fácilmente esta búsquedaal aprendizaje del modeloG(k,k+ 1) de una RCD. Esta adaptación supondrá unarestricción en las secuencias de ordenación visitadas durante la búsqueda. Esta res-tricción la impone la ordenación temporal de las variables, esto es, las variablesdeV(k) serán menores, en cualquier secuencia de ordenación, que las variables deV(k+ 1). Fijémonos pues, que una secuenciaσ = σ k ·σk+1 será la composiciónde una ordenaciónσ k sobre las variables deV(k) y una ordenaciónσ k+1 para lasvariables deV(k+1).

Por otra parte, como hemos comentado más de una vez en esta memoria, altener una secuencia de ordenación, podemos optimizar de forma independiente cadafamilia de variables. En nuestro caso, esta consideración nos va a indicar que tansólo debemos encontrar padres, a partir de las anteriores variables en la secuenciaσ , para las variables deV(k+ 1), pues una vez encontrados los padres óptimospara cada variable, éstos se deben repetir para cada instante de tiempo. Esto tiene

Page 217: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

5.4. Aprendizaje de RCD basado en algoritmos para el aprendizaje de RC estáticas 195

una incidencia directa en la definición de vecindad para una búsqueda local, ya queentonces, tan sólo debemos movernos en las secuencias locales enσ k+1 de formatal como lo hacíamos en el capítulo 2. Esta definición, por consiguiente, quedaríade la siguiente forma:

σl = σ k · (x1(k+1), . . . ,xi(k+1), . . . ,x j(k+1), . . . ,xn(k+1))→

→ σl ′ = σ k · (x1(k+1), . . . ,x j(k+1), . . . ,xi(k+1), . . . ,xn(k+1))

Evidentemente la forma de evaluar cada secuencia de ordenación será la mismaque planteábamos en el capítulo 2.

Con estas definiciones de vecindad se podrán llevar a cabo, sin apenas modifica-ciones, métodos de búsqueda local tanto para el espacio de grafos dirigidos acíclicoscomo en el espacio de órdenes. Además de utilizar un método de ascensión de co-linas también se podrán utilizar otros métodos locales más sofisticados como puedeser la heurística VNS.

Page 218: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

196 Aprendizaje de Redes de Creencia Dinámicas

Page 219: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

Conclusiones y TrabajosFuturos

Los objetivos principales de esta memoria, descritos en el capítulo de introducción,eran: por un lado estudiar y desarrollar métodos de búsqueda local y distribuidospara el aprendizaje de redes de creencia y por otro estudiar y desarrollar nuevosmétodos para el aprendizaje de redes de creencia dinámicas. Estos objetivos handando lugar a los capítulos posteriores de esta memoria. De estos capítulos podemosextraer una serie de conclusiones que resumiremos en los siguientes puntos:

• En el segundo capítulo se ha realizado un estudio de métodos locales de bús-queda para el problema del aprendizaje de redes de creencia, tanto en el es-pacio de grafos dirigidos acíclicos como en el espacio de órdenes. De esteestudio podemos extraer las siguientes conclusiones:

– Hemos desarrollado un nuevo método basado en búsqueda local y múl-tiples reinicios, el algoritmo IMAPR, en donde los reinicios se realizande una manera informada; de tal forma que estamos libres de ajustarparámetros difíciles tales como el número de perturbaciones o el núme-ro de padres máximo para un determinado nodo, que en un esquemade múltiples reinicios aleatorios deberíamos de ajustar en el proceso debúsqueda. Este nuevo método se ha mostrado eficaz para escapar de losóptimos locales alcanzados durante una búsqueda local de ascensión decolinas. De todas formas hemos notado que este esquema de reiniciospuede entrar en ciclos de difícil salida, esto es, se llega durante variasiteraciones del proceso al mismo óptimo local. Esta situación puede serdebida a que el proceso de reinicio encuentre I-maps con muy buenascaracterísticas, y por tanto el proceso posterior de búsqueda local quedaatrapado en el “valle” correspondiente.

– Hemos adaptado la metaheurística VNS al problema del aprendizaje deredes de creencia en el espacio de grafos dirigidos acíclicos, desarrollan-do el algoritmo VNSST. Hemos diseñado una transformación específica

197

Page 220: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

198 Conclusiones y Trabajos Futuros

para este esquema basada en la semántica que tiene una red de creencia.De los resultados obtenidos en la experimentación realizada se puedeconcluir que este método es muy eficaz y que se mejoran de forma muysignificativa los resultados ofrecidos por un esquema de reinicios alea-torios. La transformación específica también mejora los resultados conrespecto al esquema VNS sin ella, sobre todo cuando se eligen unosparámetros para el método VNS más eficientes.

– Hemos diseñado los elementos necesarios para realizar el aprendizaje deredes de creencia en el espacio de órdenes mediante una búsqueda local,definiendo para ello el operador de vecindad necesario y varios métodosde evaluación de las secuencias vecinas. El resultado es el algoritmo de-nominado HCSN. Una vez diseñados los elementos anteriores, tambiénhemos adaptado el esquema VNS a este nuevo espacio de búsqueda,desarrollando el algoritmo VNSSN. Los resultados de los experimentosponen de manifiesto la conclusión de que el espacio de órdenes es máshomogéneo que el espacio de grafos dirigidos acíclicos, conclusión queapoya a anteriores trabajos de diferentes autores. En este espacio de bús-queda se visitan un número menor de individuos con una mayor calidaden su medida, pero a costa de peder eficiencia en la búsqueda. De todasformas, creemos que esta búsqueda es muy importante en aquellos tiposde aplicaciones donde se busquen diferentes redes de creencia, con sig-nificativa diferencia estructural, con alto valor de su medida, como porejemplo en el trabajo [60].

– Hemos diseñado un heurística eficiente para la búsqueda en el espaciode órdenes, basada en el algoritmo K2, pero sin la restricción de ne-cesitar a priori un orden entre las variables. Este método, denominadoK2SN, se puede utilizar como un punto inicial informado para búsque-das posteriores tanto en el espacio de órdenes como en el espacio degrafos dirigidos acíclicos.

– Hemos estudiado una nueva definición de vecindad en el espacio degrafos dirigidos acíclicos, muy prometedora a la luz de los resultadosprevios obtenidos en la experimentación realizada. Esta definición me-jora de manera muy significativa la vecindad clásica en grafos dirigidosacíclicos sin repercutir de manera excesiva en el esfuerzo computacionalrealizado.

• En el capítulo tercero se han desarrollado métodos distribuidos de búsquedabasados en la metaheurística VNS; también se han diseñado todos los ele-mentos necesarios para adaptar la metaheurística del Sistema de Colonias deHormigas al aprendizaje de redes de creencia estáticas. Del desarrollo detodos estos métodos se pueden extraer las siguientes conclusiones:

Page 221: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

199

– Hemos desarrollado varios esquemas de distribución para la búsquedaVNS, mostrándose efectivos en la búsqueda tanto en el espacio de gra-fos dirigidos acíclicos (algoritmo DVNSST) como en el espacio de ór-denes (algoritmo DVNSSN). Para estos esquemas distribuidos, hemosdesarrollado unas extensiones probabilísticas de algoritmos eficientesde inicialización en la búsqueda, tanto en el espacio de grafos dirigidosacíclicos (algoritmo B probabilístico) como en el espacio de órdenes(algoritmo K2SN probabilístico). Hemos de notar que estas inicializa-ciones se podrán utilizar también en otros métodos de optimización enel problema del aprendizaje de redes de creencia. También hemos denotar que las versiones distribuidas del esquema VNS desarrolladas sonindependientes del problema que se resuelve en esta memoria. Así pues,es factible utilizar este esquema para la optimización de otros problemascombinatorios. Por último, hemos de indicar que en un entorno paraleloestos esquemas serían más eficientes que sus correspondientes versionesno distribuidas.

– Para la adaptación de nuestro problema de aprendizaje para el uso delSistema de Colonias de Hormigas, hemos desarrollado todos los com-ponentes necesarios tanto para el espacio de grafos dirigidos acíclicoscomo para el espacio de órdenes. Se ha mostrado especialmente eficazeste tipo de búsqueda en el espacio de grafos dirigidos acíclicos (al-goritmo ACO-B) frente al espacio de órdenes (algoritmo ACO-K2SN).Los resultados ofrecidos por el sistema de colonias de hormigas en elespacio de grafos dirigidos acíclicos se pueden calificar de buenos encomparación al resto de métodos. Hemos notado que, si bien en el es-pacio de grafos dirigidos acíclicos las búsquedas locales posteriores noson especialmente relevantes, sí que lo son en el espacio de órdenes.

– Para acabar el capítulo hemos desarrollado un novedoso sistema híbridoentre las búsquedas distribuidas VNS y el sistema de colonias de hormi-gas (algoritmos DVNSST-ACO y DVNSSN-ACO). Este sistema se hamostrado tan eficaz como los mejores resultados en el espacio de grafosdirigidos acíclicos y más eficiente que el modelo de islas para el mismoespacio de búsqueda. También hemos de notar que este sistema de bús-queda es independiente del problema en cuestión, y por tanto se podríaaplicar a otros problemas de optimización, siempre y cuando el sistemade colonias de hormigas fuese aplicable a este otro tipo de problemas.

• En el capítulo cuarto se han desarrollado algoritmos, tanto basados en testsde independencia condicional como basados en métricas más una búsquedalocal de optimización, para el aprendizaje automático de las relaciones tem-

Page 222: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

200 Conclusiones y Trabajos Futuros

porales de una red de creencia dinámica. Las conclusiones en el desarrollodel capítulo pueden resumirse en los siguientes puntos:

– Hemos desarrollado algoritmos de aprendizaje de relaciones tempora-les para redes de creencia dinámicas basados en tests de independenciacondicional (algoritmos TeRePC, ART, FART, ARTSub, FARTSub), enprimer lugar, caracterizando de varias formas cuándo existe una relacióntemporal; posteriormente hemos mejorado la eficiencia y eficacia de es-tos algoritmos intentando reducir en el mayor número posible el ordende los tests realizados. Los resultados obtenidos a través de los experi-mentos nos confirman que cuando menor sea el orden del test realizadomás fiable y eficiente es éste. En particular, es de destacar el excelentecomportamiento ofrecido por el algoritmo TeRePC.

– Hemos adaptado algoritmos de búsqueda local para el aprendizaje de re-laciones temporales en una red de creencia dinámica. Estos algoritmos(TeReK2 y TeReBenedict) se basan en dos métricas diferentes: una mé-trica descomponible y otra métrica basada en la discrepancia entre lasrelaciones de independencia condicional expresadas en la red candidatay éstas mismas medidas en nuestra base de datos [7]. Los resultados ob-tenidos por estos algoritmos son bastante prometedores, especialmenteen el caso de TeReK2.

• En el último capítulo se estudia cómo realizar el aprendizaje automático deredes de creencia dinámicas para modelos dinámicos markovianos y estacio-narios. Este capítulo muestra dos esquemas generales de aprendizaje automá-tico de redes de creencia dinámicas:

– En primer lugar hemos planteado un esquema general de aprendizajeen el supuesto de que el instante de tiempo inicial del proceso dinámi-co es conocido. Este esquema se basa en los algoritmos estudiados enlos anteriores capítulos, utilizando un algoritmo de aprendizaje de redesde creencia estáticas y a continuación otro de aprendizaje de relacio-nes temporales. Hemos identificado los problemas que puede tener esteesquema general y planteado posibles soluciones al mismo.

– En segundo lugar hemos planteado los problemas que pueden surgir alaplicar el anterior esquema en el supuesto, más general, de que no seaconocido el instante inicial de tiempo. Planteamos una posible soluciónheurística a los problemas anteriores, basada en un refinamiento del mo-delo aprendido mediante tests de independencia condicional.

– Finalmente, estudiamos métodos generales de aprendizaje de redes decreencia dinámicas, tanto basados en tests de independencia condicional

Page 223: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

201

como basados en una función de ajuste descomponible y un métodode búsqueda local. Estos esquemas no hacen distinción explícita entrelas relaciones temporales y no temporales, como se ha realizado en elesquema anterior.

Trabajos Futuros

Considerando los resultados obtenidos, los trabajos futuros se pueden desglosar enlos siguientes puntos, ordenados por capítulos:

• Durante el desarrollo de la investigación llevada a cabo en el segundo capítulo,hemos notado que se puede seguir esta línea de investigación en los siguientesaspectos:

– En cuanto al algoritmo IMAPR, podríamos diseñar nuevos esquemas detransformación del grafo resultante pensados específicamente para redesde creencia, en el caso de que entráramos de una forma clara en un ciclo.Este esquema de transformación podría ir en la línea del diseñado para elmétodo VNS en el espacio de grafos dirigidos acíclicos, esto es, cuandonotásemos que hemos entrado en un ciclo (varias iteraciones llegan almismo óptimo local), entonces identificar un cierto número de “cliques”y romperlos de alguna forma informada o totalmente de forma aleatoria.

– Hemos de comprobar el comportamiento que pueden tener otros tiposde transformaciones, pensadas para redes de creencia, en el esquemaVNS. También hemos de adaptar otros extensiones del VNS, así comocomprobar la eficacia y eficiencia que puede tener la redefinición devecindad efectuada en la última sección del capítulo como búsquedalocal en el esquema VNS.

– En cuanto a la redefinición de vecindad llevada a cabo en la última sec-ción del capítulo segundo, hemos de realizar un mayor número de expe-rimentos para confirmar las conclusiones obtenidas. Además se deberánestudiar otras variantes de la vecindad diseñada en esta sección, comopuede ser en lugar de utilizar la unión de padres, utilizar la intersecciónde los mismos, o invertir si y sólo si el conjunto de padres de los nodosextremos del enlace a invertir son comunes, esto es, el arco es inversible[28]. Estas variantes, en principio, pensamos que mejorarán la eficienciadel método propuesto, aunque quizás pierdan algo de eficacia.

– Otra línea de trabajo puede ser el desarrollo de métodos de búsqueda enotros espacios de búsqueda, como el de clases de equivalencia de grafosdirigidos acíclicos, o el de grafos cordales.

Page 224: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

202 Conclusiones y Trabajos Futuros

• Durante el desarrollo del tercer capítulo hemos notado que se puede seguiresta línea de investigación en los siguientes aspectos:

– Proponer otros esquemas de migración y selección en el modelo de islasdel método VNS distribuido, así como la posibilidad de utilizar otrasextensiones del VNS. Implementación y desarrollo de este método enun verdadero entorno paralelo. Este último trabajo es compartible portodos los métodos desarrollados en este capítulo.

– Comprobar y desarrollar otras alternativas en el Sistema de Coloniasde Hormigas, como por ejemplo el Sistema Híbrido de Hormigas, asícomo la utilización de otros algoritmos como parte heurística del cono-cimiento específico al problema. En este sentido se prodría plantear elutilizar una ascensión de colinas utilizando la vecindad definida en laúltima sección del capítulo anterior. También deberemos realizar un es-tudio profundo del comportamiento de la matriz de feromona en el tipode problemas que estamos resolviendo para así determinar los aspectosmejorables del sistema.

– Parece una buena alternativa para nuestro problema el utilizar el sistemade refuerzo de feromona para capturar las partes más “probables” enel espacio de búsqueda. Podría ser prometedor plantear hibridar otrossistemas de optimización, como lo hemos hecho en esta memoria con elVNS.

– Otra opción interesante podría ser la utilización de diferentes tipos dehormigas dentro del mismo proceso de búsqueda.

• En relación al tema de aprendizaje de redes de creencia dinámicas, creemosque nuestra investigación puede enfocarse hacia las siguientes líneas:

– Validar tanto teórica como experimentalmente los métodos propuestospara el aprendizaje de redes de creencia dinámicas cuando el instante detiempo inicial es conocido.

– Validar de forma teórica y experimental los métodos propuestos en elmismo problema pero cuando el instante de tiempo inicial no es conoci-do.

– La metodología de aprendizaje de redes dinámicas basada en aprenderpor un lado los modelos no temporales y después las relaciones tem-porales, podría utilizarse también en el aprendizaje de redes estáticas,siempre que se pueda descomponer el conjunto de variables en dos sub-conjuntos, de tal modo que las variables de un subconjunto sean siempreanteriores a las del otro.

Page 225: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

203

– Desarrollar los métodos de búsqueda local propuestos en el aprendizajede redes de creencia dinámicas sin distinguir relaciones temporales yno temporales, así como otros métodos más sofisticados de búsquedabasados en los anteriores, como pueden ser VNS, Tabú, etc.

• Por último, al margen de la estructura seguida en esta memoria, también pro-ponemos las siguientes líneas de investigación con el objetivo de poder cons-truir una herramienta deMinería de Datosbasada en redes de creencia:

– Estudiar cómo incorporar el conocimiento explícito de un experto apor-tado a la luz de las relaciones de dependencia/independencia consegui-das durante un proceso de aprendizaje. De tal forma que el experto nosguíe en posteriores etapas del aprendizaje y así poder colaborar paraconseguir un modelo satisfactorio. Para realizar esta tarea es imprescin-dible poder ofrecerle al experto una salida tal que le ayude a tomar susdecisiones sobre las relaciones de dependencia/independencia ofrecidaspor los datos.

– Estudiar cómo poder tratar con redes híbridas, en donde tengamos tantovariables continuas como varibles discretas. En este sentido, creemosque una línea a seguir sería la de discretizar las variables continuas me-diante algún método global incluido en el propio proceso de aprendizaje.

– Incorporar todo el software desarrollado durante la realización de estamemoria en el entorno de desarrollo de sistemas expertos probabilísticosELVIRA [117].

Page 226: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

204 Conclusiones y Trabajos Futuros

Page 227: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

Bibliografía

[1] Abramson, B. y A.J.Finizza, “Using belief networks to forecast oil prices”,International Journal of Forecasting, tomo 7, págs. 299–316, 1991.

[2] Acid, S.,Métodos de Aprendizaje de Redes de Creencia. Aplicación a la cla-sificación, Tesis Doctoral, Dpto de Ciencias de la Computación e I.A. Uni-versidad de Granada, 1999.

[3] Acid, S., Campos, L., González, A., Molina, R. y de la Blanca, N. P., “CAST-LE: A tool for bayesian learning”, enProceedings of the ESPRIT 91 Confe-rence, Commission of the European Communities, págs. 363–377, 1991.

[4] Acid, S. y de Campos, L., “An algorithm for finding minimum d-separatingsets in belief networks”, enProceedings of the 12th Conference on Uncer-tainty in Artificial Intelligence, págs. 3–10, Morgan Kaufmann, San Mateo,1996.

[5] Acid, S. y de Campos, L., “Benedict: an algorithm for learning probabilis-tic belief networks”, enProceedings of the International Conference on In-formation Processing and Management of Uncertainty in Knowledge BasedSystems, IPMU’96, págs. 979–984, 1996.

[6] Acid, S. y de Campos, L., “An algorithm for learning probabilistic beliefnetworks using minimun d-separating sets”, Inf. Téc. DECSAI-00001, Dptode Ciencias de la Computación – Universidad de Granada, 2001, sometido aJournal of Artificial Intelligence Research.

[7] Acid, S. y de Campos, L., “A Hybrid methodology for learning belief nert-works: BENEDICT”, International Journal of Approximate Reasoning, to-mo 27, no 3, págs. 235–262, 2001.

[8] Acid, S., de Campos, L. y Huete, J., “The search of causal orderings: A shortcut for learning belief networks”, enEuropean Conference on Symbolic andQuantitative Approaches to Reasoning with Uncertainty (ECSQARU’2001),págs. 216–227, LNAI 2143 – Springer, 2001.

205

Page 228: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

206 Bibliografía

[9] Aliferis, C. y Cooper, G., “An evaluation of an algorithm for inductive lear-ning of Bayesian belief networks using simulated data sets.”, enProceedingsof the 10th Conference on Uncertainty in Artificial Intelligence, págs. 8–14,1994.

[10] Andersen, S., Olesen, K., Jensen, F. y Jensen, F., “Hugin: a shell for buidingbelief universes for expert systems”, enProceedings of the 11th InternationalJoint Conference on Artificial Intelligence, Detroit, 1989.

[11] Andreassen, S., Wolbye, M., Falck, B. y Andersen., S., “Munim - a causalprobabilistic network for the interpretation of electromyographic findings”,enProceedings IJCAI’87, págs. 366–372, 1987.

[12] Bacchus, F., “Using First-Order Probability Logic for the Construction ofBayesian Networks.”, enProceedings of the 9th Conference on Uncertaintyin Artificial Intelligence, págs. 219–226, 1993.

[13] Beinlich, I., Suermondt, H., Chavez, R. y Cooper, G., “The ALARM mo-nitoring system: A case study with two probabilistic inference techniquesfor belief networks”, enProceedings of the Second European Conference onArtificial Intelligence in Medicine, págs. 247–256, Springer-Verlag, 1989.

[14] Berler, A. y Shimony, S., “Bayes Nets for Sonar Sensor Fusion”, enProcee-dings of the 13th Conference on Uncertainty in Artificial Intelligence, D. Gei-ger y P. Shenoy, eds., págs. 14–21, Morgan & Kaufmann, 1997.

[15] Berzuini, C., Bellazzi, R. y Quaglini, S., “Temporal reasoning with probabili-ties”, enUncertainty in Artificial Intelligence, 6, págs. 14–21, North-Holland,1989.

[16] Berzuini, C., Bellazzi, R., Quaglini, S. y Spiegelhalter, D., “Bayesian net-works for patient monitoring”,Artificial Intelligence in Medicine, tomo 4,págs. 243–260, 1992.

[17] Binder, J., Koller, D., Russell, S. y Kanazawa, K., “Adaptive probabilisticnetworks with hidden variables”,Machine Learning, tomo 29, 1997.

[18] Bonabeau, E., Dorigo, M. y Theraulaz, G.,Swarm Intelligence: From Natu-ral to Artificial Systems, Oxford, 1999.

[19] Bouckaert, R., “Belief networks construction using the minimum descriptionlength principle”, enProceedings ECSQARU93, págs. 41–48, 1993.

[20] Bouckaert, R., “Properties of Bayesian belief networks learning algorithms”,enProceedings of the 10th Conference on Uncertainty in Artificial Intelligen-ce, págs. 102–109, 1994.

Page 229: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

Bibliografía 207

[21] Bouckaert, R. R.,Bayesian Belief Networks: From Construction to Inference,Tesis Doctoral, University of Utrecht, 1995.

[22] Boyen, X. y Koller, D., “Tractable inference for complex stochastic proces-ses”, enProceedings of the 14th Conference on Uncertainty in Artificial In-telligence, págs. 33–42, Morgan Kaurmann, San Mateo, 1998.

[23] Buntine, W., “Theory refinement on Bayesian networks”, enProceedings ofthe 7th Conference on Uncertainty in Artificial Intelligence, págs. 52–60,Morgan Kaufmann, San Mateo, 1991.

[24] Buntine, W., “Operations for learning with graphical models”,Journal ofArtificial Intelligence Research, tomo 2, págs. 159–225, 1994.

[25] Buntine, W., “A guide to the literature on learning probabilistic networksfrom data”,IEEE Transactions on Knowledge and Data Engineering, tomo 8,págs. 195–210, 1996.

[26] Cano, A., Moral, S. y Salmerón, A., “Penniless propagation in join trees”,In-ternational Journal of Intelligent Systems, tomo 15, págs. 1027–1059, 2000.

[27] Castillo, E., Gutiérrez, J. y Hadi, A.,Sistemas Expertos y Modelos de RedesProbabilísticas, Monografías de la Academia de Ingeniería, 1997.

[28] Chickering, D., “Learning equivalence classes of Bayesian networks struc-ture”, en Proceedings of the 12th Conference on Uncertainty in ArtificialIntelligence, págs. 150–157, Morgan Kaufmann, San Mateo, 1996.

[29] Chickering, D., Geiger, D. y Heckerman, D., “Learning Bayesian networksis NP-hard”, Inf. Téc. MSR-TR-94-17, Universidad de California, 1994.

[30] Chow, C. y Liu, C., “Approximating discrete probability distributions withdependence trees”,IEEE transactions on Information Theory, tomo 14,págs. 462–467, 1968.

[31] Cooper, G. y Herskovits, E., “A Bayesian method for the induction of proba-bilistic networks from data”,Machine Learning, tomo 9, no 4, págs. 309–348,1992.

[32] Dagum, P. y Galper, A., “Forecasting sleep apnea with dynamic networkmodels”, enProceedings of the 9th Conference on Uncertainty in ArtificialIntelligence, págs. 64–71, Morgan Kaurmann, San Mateo, 1993.

[33] Dagum, P., Galper, A. y Horvitz, E., “Dynamic network models for fore-casting”, enProceedings of the 8th Conference on Uncertainty in ArtificialIntelligence, págs. 41–48, Morgan Kaurmann, San Mateo, 1992.

Page 230: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

208 Bibliografía

[34] Dash, D. y Druzdel, M., “A hybrid anytime algorithm for the constructionof causal models from sparse data”, enProceedings of the 15th Conferenceon Uncertainty in Artificial Intelligence, págs. 142–149, Morgan Kaufmann,San Mateo, 1999.

[35] Dawid, A., “Conditional independence in statistical theory”,J.R. Statist. Soc.Ser., tomo B, no 41, págs. 1–31, 1979.

[36] de Campos, L., “Independency relationships and learning algorithms forsingly connected networks”,Journal of Experimental and Theoretical Ar-tificial Intelligence, tomo 10, no 4, págs. 511–549, 1998.

[37] de Campos, L. y Huete, J., “Aproximación de Redes Causales mediante Po-liárboles”, enTercer Congreso en Tecnologías y Lógica Fuzzy. Santiago deCompostela, págs. 25–33, 1993.

[38] de Campos, L. y Huete, J., “Independence concepts in upper and lower pro-babilities”, enUncertainty in Intelligence Systems, B. Bouchon-Meunier,L.Valverde y R. Yager, eds., págs. 49–59, North-Holland, Amsterdam, 1993.

[39] de Campos, L. y Huete, J., “Learning non probabilistic belief networks”, enSymbolic and Quantitative Approaches to Reasoning and Uncertainty, págs.57–64, Lecture Notes in Computer Science 747. Eds M. Clarke and R. Kruseand S. Moral, 1993.

[40] de Campos, L. y Huete, J., “Efficient algorithms for learning simple beliefnetworks”, enVI Conferencia de la Asociación Española para la InteligenciaArtificial, págs. 93–102, 1995.

[41] de Campos, L. y Huete, J., “On the use of independence relationships forlearning simplified belief networks”,International Journal of Intelligent Sys-tems, tomo 12, no 7, págs. 495–522, 1997.

[42] de Campos, L. y Huete, J., “Aproximación de una ordenación de variables enredes causales mediante algoritmos genéticos”, enInteligencia Artificial 4,págs. 30–39, 1998.

[43] de Campos, L. y Huete, J., “Approximating Causal Orderings for BayesianNetworks using Genetic Algorithms and Simulated Annealing”, en8th Inter-national Conference on Information Processing and Management of Uncer-tainty in Knowledge-based Systems (IPMU’00), págs. 333–340, 2000.

[44] de Campos, L. y Huete, J., “A new approach for learning belief networksusing independence criteria”,International Journal of Approximate Reaso-ning, tomo 24, págs. 11–37, 2000.

Page 231: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

Bibliografía 209

[45] de Campos, L., Huete, J. y Moral, S., “Probability Intervals: A tool foruncertain reasoning”,International Journal of Uncertainty, Fuzziness andKnowledge-Based Sstems, tomo 2, no 2, págs. 167–196, 1994.

[46] de Campos, L., Lamata, M. y Moral, S., “The concept of conditional fuzzymeasure”,International Journal of Intelligent Systems, tomo 5, págs. 237–246, 1990.

[47] de Campos, L. y Puerta, J., “Learning Dynamic Belief Networks using Con-ditional Independence Tests”, en8th International Conference on Informa-tion Processing and Management of Uncertainty in Knowledge-based Sys-tems (IPMU’00), págs. 325–332, 2000.

[48] de Campos, L. y Puerta, J., “Stochastic local and distributed search algorit-hms for learning belief networks”, enIII International Symposium on Adap-tive Systems (ISAS): Evolutionary Computation and Probabilistic GraphicalModel, págs. 109–115, 2001.

[49] de Campos, L. y Puerta, J., “Stochastic local search algorithms for learningbelief networks: Searching in the space of orderings”, enEuropean Conferen-ce on Symbolic and Quantitative Approaches to Reasoning with Uncertainty(ECSQARU’2001), págs. 228–239, LNAI 2143 – Springer, 2001.

[50] Dean, T. y Kanazawa, K., “A model for reasoning about persistence and cau-sation”,Computational Intelligence, tomo 5, págs. 142–150, 1989.

[51] Díez, F., “Local conditioning in Bayesian networks”,Artificial Intelligence,tomo 87, págs. 1–20, 1996.

[52] Dorigo, M. y Di Caro, G.,New Ideas in Optimization, cap. The Ant ColonyOptimization Meta-Heuristic, McGraw-Hill, 1999.

[53] Dorigo, M. y Gambardella, L., “Ant Colony System: a Cooperative LearningApproach to the Traveling Salesman Problem”,IEEE Trans. on EvolutionaryComputation, tomo 1, págs. 53–66, 1997.

[54] Dorigo, M., Maniezzo, V. y Colorni, A., “The Ant System: Optimization bya Colony of Cooperating Agents”,IEEE Trans. on Systems, Man and Cyber-netics, Part B, tomo 26, págs. 29–41, 1996.

[55] Fagin, R., “Multivalued dependencies and a new form for relational databa-ses”,ACM Transactions on Database Systems, tomo 2, págs. 262–278, 1977.

[56] Fernández, J. M.,Modelos de Recuperación de Información basados en Re-des de Creencia, Tesis Doctoral, Dpto de Ciencias de la Computación e I.A.– Universidad de Granada, 2001.

Page 232: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

210 Bibliografía

[57] Forbes, J., Hwang, T., Kanazawa, K. y Russell, S., “The BATmobile: To-wards a Bayesian automated taxi”, enIJCAI, 1995.

[58] Friedman, N., “Bayesian Network Repository”, Disponible en la direcciónhttp://www-nt.cs.berkeley.edu/home/nir/public_html/Repository/index.htm,1997.

[59] Friedman, N. y Goldszmidt, M., “Learning Bayesian network with localstructure”, enProceedings of the 12th Conference on Uncertainty in Arti-ficial Intelligence, págs. 252–262, Morgan Kaufmann, San Mateo, 1996.

[60] Friedman, N. y Koller, D., “Being Bayesian about network structure”, enProceedings of the 16th Conference on Uncertainty in Artificial Intelligence,págs. 201–210, Morgan Kaufmann, San Mateo, 2000.

[61] Friedman, N., Murphy, K. y Russell, S., “Learning the structure of dyna-mic probabilistic networks”, enProceedings of the 14th Conference on Un-certainty in Artificial Intelligence, págs. 139–147, Morgan Kaurmann, SanMateo, 1998.

[62] Friedman, N. y Russell, S., “Nonuniform Dynamic Discretization in HybridNetworks”, enProceedings of the 13th Conference on Uncertainty in Arti-ficial Intelligence, D. Geiger y P. Shenoy, eds., págs. 175–181, Morgan &Kaufmann, 1997.

[63] Gambardella, L. y Dorigo, M., “HAS-SOP: Hybrid Ant System for the se-quential ordering problem”, Inf. téc., IDSIA 11-97, Lugano - Switzerland,1997.

[64] Gámez, J.,Inferencia abductiva en redes causales, Tesis Doctoral, Depar-tamento de Ciencias de la Computación e I.A. Escuela Técnica Superior deIngeniería Informática. Universidad de Granada, 1998.

[65] Geiger, D., “An entropy-based learning algorithm of Bayesian conditionaltrees”, enProceedings of the 8th Conference on Uncertainty in Artificial In-telligence, págs. 92–97, 1992.

[66] Geiger, D. y Heckerman, D., “A characterization of the Dirichlet distributionwith application to learning Bayesian networks”, enProceedings of the 11thConference on Uncertainty in Artificial Intelligence, págs. 196–207, MorganKaufmann, San Mateo, 1995.

[67] Geiger, D., Paz, A. y Pearl, J., “Learning Causal Trees from DependenceInformation”, enEighth National Conference on Artificial Intelligence (AAAI90), págs. 770–776, 1990.

Page 233: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

Bibliografía 211

[68] Geiger, D., Paz, A. y Pearl, J., “Learning simple causal structures”,Interna-tional Journal of Intelligent Systems, tomo 8, págs. 231–247, 1993.

[69] Gámez, J. y Puerta, J., “Searching the best elimination sequence in Baye-sian networks by using ant-colony optimization”,Pattern Recognition Let-ters, 2001, (to appear).

[70] Hanks, S., Madigan, D. y Gavrin, J., “Probabilistic temporal reasoning withendogenous change”, enProceedings of the 11th Conference on Uncertaintyin Artificial Intelligence, págs. 64–71, Morgan Kaurmann, San Mateo, 1995.

[71] Hansen, P. y Mladenovic, N., “Variable Neighborhood Search: Principles andapplications”,European Journal Operation Research, tomo 130, págs. 449–149, 2001.

[72] Hart, P., Nilsson, N. y Raphael, B., “A formal basis for the Heuristic deter-mination fo mininum cost paths”,IEEE Transactions on Systems, Man, andCybernetics, tomo 4, no 2, págs. 100–107, 1968.

[73] Hart, P., Nilsson, N. y Raphael, B., “A correction to: A formal basis for theHeuristic determination fo mininum cost paths”,SIGART Newletter, tomo 37,págs. 28–29, 1972.

[74] Heckerman, D., A.Mamdani y Wellman, M., “Special issue on Real-WorldApplications of Bayesian Networks”,Communications of the ACM, tomo 38,1995.

[75] Heckerman, D., Geiger, D. y Chickering, D., “Learning Bayesian networks:The combination of knowledge and statistical data”, enProceedings of the10th Conference on Uncertainty in Artificial Intelligence, págs. 293–301,Morgan Kaufmann, San Mateo, 1994.

[76] Heckerman, D., Geiger, D. y Chickering, D., “Learning Bayesian networks:The combination of knowledge and statistical data”,Machine Learning, to-mo 20, págs. 197–243, 1995.

[77] Heckerman, D. y Horvitz, E., “Inferring Informational Goals from Free-TextQueries: A Bayesian Approach”, enProceedings of the 14th Conference onUncertainty in Artificial Intelligence, págs. 230–237, Morgan Kaufmann, SanFrancisco, CA, 1998.

[78] Henrion, M., “Propagating uncertainty by logic sampling in Bayes net-works”, enUncertainty in Artificial Intelligence, 2, J. Lemmer y L. Kanal,eds., págs. 149–164, North Holland, Amsterdam, 1988.

Page 234: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

212 Bibliografía

[79] Herskovits, E. y Cooper, G., “Kutató: An entropy-driven system for the cons-truction of probabilistic expert systems from Databases”, enProceedings ofthe 6th Conference on Uncertainty in Artificial Intelligence, M. Kaufmann,ed., págs. 54–62, San Mateo, 1990.

[80] Horvitz, E., Breese, J., Heckerman, D., Hovel, D. y Rommelse, K., “TheLumiere Project: Bayesian User Modeling for Inferring the Goals and Needsof Software Users”, enProceedings of the 14th Conference on Uncertaintyin Artificial Intelligence, págs. 256–265, Morgan Kaufmann Publishers, SanFrancisco, CA, 1998.

[81] Huete, J.,Aprendizaje de Redes de Creencia mediante la detección de Inde-pendencias: Modelos No probabilísticos, Tesis Doctoral, Departamento deCiencias de la Computación e I.A. Universidad de Granada, 1995.

[82] Hwang, K. y Xu, Z.,Scalable Parallel Computing: Technology, Architecture,Programming, Mc Graw-Hill, 1998.

[83] Jensen, A. L. y Jensen, F. V., “MIDAS – An Influence Diagram for Manage-ment of Mildew in Winter Wheat”, enProceedings of the 12th Conference onUncertainty in Artificial Intelligence, págs. 349–356, Morgan & Kaufmann,Portland, Oregon, 1996.

[84] Jensen, F., “Implementation Aspects of Various Propagation Algortithms inHugin”, Inf. Téc. R 94-2014, Institute for Electronic Systems. Department ofMathematics and Computer Science, 1994.

[85] Jensen, F.,An introduction to Bayesian Networks, UCL Press, 1996.

[86] Jensen, F., Andersen, S., Kjærulff, U. y Andreassen, S., “MUNIN. On theCase for Probabilities in Medical Expert Systems. A Practical Exercise”, enLecture Notes in Medical Informatics, 33, F. et al., ed., Springer Verlag, 1987.

[87] Jensen, F., Kærulff, U., Olesen, K. y Pedersen, J., “An expert system forcontrol of waste water treatment – a pilot project”, Inf. téc., University ofAalborg, 1989.

[88] Kærulff, U., “dHugin: A computational system for dynamic time-sliced ba-yesian networks”,International Journal of Forecasting, tomo 11, págs. 89–111, 1995.

[89] Kanazawa, K.,Reasoning about time and probability, Tesis Doctoral, Depar-tament of Computer Science at University of Brown, 1992.

Page 235: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

Bibliografía 213

[90] Kanazawa, K., Koller, D. y Russell, S., “Stochastic simulation algorithms fordynamic probabilistic networks”, enProceedings of the 11th Conference onUncertainty in Artificial Intelligence, Morgan Kaurmann, San Mateo, 1995.

[91] Kocka, T. y Castelo, R., “Improved Learning of Bayesian Networks”, enProceedings of the 17th Conference on Uncertainty in Artificial Intelligen-ce, Morgan Kaufmann, San Mateo, 2001.

[92] Kullback, S.,Information theory and statistics, Dover Publication, 1968.

[93] Kullback, S. y Leibler, R., “On information and sufficiency”,Annals of Mat-hematical Statistics, , no 22, págs. 76–86, 1951.

[94] Lam, W. y Bacchus, F., “Learning Bayesian belief networks, an approachbased on the MDL principle”,Computational Intelligence, tomo 10, no 4,págs. 269–293, 1994.

[95] Lam, W. y Segre, A., “A parallel learning algorithm for Bayesian inferencenetworks”,IEEE Transactions on Knowledge Discovery and Data Enginee-ring, 2001, in press.

[96] Larrañaga, P.,Aprendizaje estructural y descomposición de redes Bayesianasvia algoritmos genéticos, Tesis Doctoral, Dpto de Ciencias de la Computa-ción e I.A., Universidad del País Vasco, 1995.

[97] Larrañaga, P., Kuijpers, C., Murga, R. y Yurramendi, Y., “Learning Bayesiannetwork structures by searching for the best ordering with genetic algorit-hms”, IEEE Transactions on Systems, Man, and Cybernetics, tomo 26, no 4,págs. 487–493, 1996.

[98] Larrañaga, P., Poza, M., Yurramendi, Y., Murga, R. y Kuijpers, C., “Structurelearning of Bayesian networks by genetic algorithms: a performance analysisof control parameters”,IEEE Transactions on Pattern Analysis and MachineIntelligence, tomo 18, no 9, págs. 912–926, 1996.

[99] Lauritzen, S., Dawid, A., Larsen, B. y Leimer, H., “Independence propertiesof directed Markov fields”,Network, , no 20, págs. 491–505, 1990.

[100] Lauritzen, S. y Spiegelhalter, D., “Local computations with probabilitieson graphical structures and their applications to expert systems (with dis-cussion)”,The Journal of the Royal Statistical Society (Ser B), tomo 50,págs. 157–224, 1988.

[101] Laursen, P., “Problem-independent parallel simulated annealing using selec-tion and migration”, enParallel Problem Solving from Nature, tomo 3, págs.408–417, 1994.

Page 236: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

214 Bibliografía

[102] Lekuoma, A.,Modelización gráfica de sistemas dinámicos markovianos par-cialmente observados, Tesis Doctoral, Dpto de Métodos Estadísticos - Uni-versidad de Zaragoza, 1996.

[103] Lozano, J. A., Sagarna, R. y Larrañaga, P., “Parallel Estimation of BayesianNetworks Algorithms”, enIII International Symposium on Adaptive Systems(ISAS): Evolutionary Computation and Probabilistic Graphical Model, págs.137–144, 2001.

[104] Mladenovic, N. y Hansen, P., “Variable Neighborhood Search”,ComputerOperation Research, tomo 24, págs. 1097–1100, 1997.

[105] Myers, J. W., Laskey, B. y Levitt, T., “Learning Bayesian networks from in-complete data with stochastic search algorithms”, enProceedings of the 15thConference on Uncertainty in Artificial Intelligence, págs. 476–485, MorganKaufmann, San Mateo, 1999.

[106] Neapolitan, R.,Probabilistic Reasoning in Expert Systems, John Wiley andSons, New York, 1990.

[107] Nicholson, A. y Brady, M., “Sensor validation using dynamic belief net-works”, enProceedings of the 8th Conference on Uncertainty in ArtificialIntelligence, págs. 207–214, Morgan Kaurmann, San Mateo, 1992.

[108] Nilsson, N. J.,Inteligencia Artificial: Una nueva síntesis, Mc Graw-Hill,2001.

[109] Olesen, K. G., Kjærulff, U., Jensen, F., Jensen, F. V., Falck, B., Andreassen,S. y Andersen, S. K., “A MUNIN Network for the Median Nerve - A Ca-se Study in Loops”,Applied Artificial Intelligence, tomo 3, págs. 385–404,1989.

[110] Pearl, J.,Heuristic: Intelligent Search Strategies for Computer Problem Sol-ving, Addison-Wesley, 1984.

[111] Pearl, J.,Probabilistic reasoning in intelligent systems: networks of plausibleinference, Morgan Kaufmann, San Mateo, 1988.

[112] Pearl, J., Geiger, D. y Verma, T., “Conditional independence and its repre-sentation”,Kybernetika, , no 25, págs. 33–34, 1989.

[113] Pearl, J. y Paz, A.,Graphoids: A graph-based logic for reasoning about rele-vancy relations, Technical Report. CSD-850038. Cognitive Science Labora-tory. Computer Science Departament. University of California, Los Angeles,1985.

Page 237: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

Bibliografía 215

[114] Provan, G., “Model selection for diagnosis and treatment using temporal in-fluence diagrams”, enIn preliminary papers of the 4th International Works-hop on Artificial Intelligence and Statistics, págs. 469–480, 1993.

[115] Provan, G., “Tradeoffs in constructing and evaluting temporal influence dia-grams”, enProceedings of the 9th Conference on Uncertainty in ArtificialIntelligence, págs. 40–47, Morgan Kaurmann, San Mateo, 1993.

[116] Provan, G. y Clarke, J., “Dynamic networks construction and updating tech-niques for the diagnosis of acute abdominal pain”,IEEE Transactions onPattern Analysis and Machine Intelligence, tomo 15, págs. 299–307, 1993.

[117] Proyecto Elvira, “Entorno para el desarrollo de modelosgráficos probabilísticos”, Disponilble en la direccion URLhttp://leo.ugr.es/~elvira,1997.

[118] Rebane, G. y Pearl, J., “The recovery of causal poly-trees from statisticaldata.”, enConference on Uncertainty in Artificial Intelligence, págs. 222–228, 1987.

[119] R.Fung y Favero, B., “Applying Bayesian Networks to Information Retrie-val”, Communications of the ACM, tomo 38, no 3, págs. 42–57, 1995.

[120] Rissanen, J., “Modeling by shortest data description”,Automatica, , no 14,págs. 465–471, 1978.

[121] Robinson, R., “Counting unlabeled acyclic digraphs”, enLecture Notes inStatistics 622, C. Litle, ed., págs. 28–43, Springer Verlag, New York, 1977.

[122] Salmerón, A.,Precomputación en grafos de dependencias mendiante algo-ritmos aproximados, Tesis Doctoral, Dpto. de Ciencias de la Computación eInteligencia Artificial. Universidad de Granada, 1998.

[123] Sangüesa, R., Cortés, U. y Gisolfi, A., “A parallel algorithm for building pos-sibilistic causal networks”,International Journal of Approximate Reasoning,tomo 18, págs. 251–270, 1998.

[124] Singh, M. y Valtorta, M., “Construction of Bayesian network structures fromdata: A brief survey and an efficient algorithm”,International Journal ofApproximate Reasoning, tomo 12, págs. 111–131, 1995.

[125] Skaaning, C., Jensen, F., Kjærulff, U. y Madsen, A., “Acquisition and Trans-formation of Likelihoods to Conditional Probabilities for Bayesian Net-works”, AAAI Spring Symposium, Stanford, USA.

Page 238: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

216 Bibliografía

[126] Spirtes, P., Glymour, C. y Scheines, R., “An algorithm for fast recovery ofsparse causal graphs”,Social Science Computer Review, tomo 9, págs. 62–72, 1991.

[127] Spirtes, P., Glymour, C. y Scheines, R.,Causation, Prediction, and Search,Lecture Notes in Statistics 81, Springer Verlag., 1993.

[128] Spirtes, P., Richardson, T. y Meek, C., “Learning Bayesian networks withdiscrete variables from data”, enProceedings of the First Internationl Confe-rence on Knowledge Discovery and Data Mining, págs. 294–299, 1995.

[129] Srinivas, S., Russell, S. y Agogino, A., “Automated construction of sparseBayesian networks from unstructured probabilistic models and domain infor-mation”, enProceedings of the 6th Conference on Uncertainty in ArtificialIntelligence, págs. 295–308, Elsevier Science Publisher B.V. North-Holland,1990.

[130] Studený, M., “Attemps at axiomatic description of conditional independen-ce”, Kybernetika, , no 25, págs. 72–79, 1989.

[131] Suzuki, J., “A construction of Bayesian networks from databases based onthe MDL principle”, enProceedings of the 9th Conference on Uncertainty inArtificial Intelligence, págs. 266–273, 1993.

[132] Tian, J., “A branch and bound algorithm for MDL learning Bayesian net-works”, enProceedings of the 16th Conference on Uncertainty in ArtificialIntelligence, págs. 580–588, Morgan Kaufmann, San Mateo, 2000.

[133] UCI, “UCI Machine Learning Repository”, Disponible enhttp://www.ics.edu/~mlearn/MLRepository.html.

[134] Verma, T. y Pearl, J., “Causal Networks: Semantics and expressiveness”, enUncertainty in Artificial Intelligence 4, R. Shachter, T. Lewitt, L. Kanal yJ. Lemmer, eds., págs. 69–76, North-Holland, 1990.

[135] Wermuth, N. y Lauritzen, S., “Graphical and recursive models for contingen-ce tables”,Biometrika, tomo 72, págs. 537–552, 1983.

[136] Wilson, N., “Generating graphoids from generalized conditional probabi-lity”, en Proceedings of the 10th Conference on Uncertainty in Artificial In-telligence, págs. 583–590, 1994.

[137] Xiang, Y. y Chu, T., “Parallel learning of belief networks in large and difficultdomains”,Data mining and Knowledge Discovery, tomo 3, págs. 315–339,1999.

Page 239: UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA · UNIVERSIDAD DE GRANADA E.T.S. DE INGENIERÍA INFORMÁTICA Departamento de Ciencias de la Computación e Inteligencia Artificial

Bibliografía 217

[138] Zweig, G. y Russell, S., “Speech recognition with dynamic Bayesian net-works”, enAAAI, 1998.