• No se han encontrado resultados

3.3 Emparejamiento inexacto

3.3.4 Distancia de edici´ on

La distancia de edici´on es una de las medidas para determinar la “similitud” entre dos grafos. Existen otras distancias basadas en el m´aximo com´un subgrafo [BS98], en la combinaci´on del m´aximo com´un subgrafo y el m´ınimo com´un supergrafo [FV01] o en la uni´on de grafos [WSKR01] entre otras muchas. La distancia de edici´on es con mucho la m´as utilizada y ser´a por ello por lo que se la dedicar´a este apartado.

La distancia de edici´on se inspira en los m´etodos usados para la comparaci´on de cadenas de s´ımbolos, un estudio sobre esta tem´atica puede ser encontrado en [Nav01]. La distancia de edici´on se adapta sin restricciones a cualquier grafo (dirigido o no) con etiquetas62 tanto en los nodos como en los arcos, pero tambi´en puede ser aplicado a grafos sin etiquetas. Una ventaja respecto a otros m´etodos es que no es necesario que los grafos tengan el mismo grado a efectos de calcular esta distancia. Como es de esperar la distancia de edici´on es exponencial en el caso peor, a´un as´ı, es ampliamente utilizada en problemas pr´acticos dando lugar a diversos algoritmos que la computan; sin embargo, su uso pr´actico est´a limitado a grafo con pocos nodos.63

62Por etiquetas se ha de entender s´ımbolos de un alfabeto, pero tambien pueden ser valores enteros o valores reales

(v´ease [DES09]). Con esta aclaraci´on resulta que los grafos ponderados quedar´ıan incluidos en los grafos etiquetados.

3.3. Emparejamiento inexacto

En esencia la distancia de edici´on consiste en transformar un grafo en otro mediante la inserci´on, sustituci´on y eliminaci´on64 de aristas o nodos. A cada operaci´on de edici´on se le asocia un coste,65 por lo tanto la distancia de edici´on entre dos grafos ser´ıa el coste m´ınimo de la suma de la secuencia de operaciones de edici´on que convierten un grafo en otro. Es evidente, que la clave del problema se traslada a la selecci´on de dichos costes para cada operaci´on de edici´on y a la estrateg´ıa de minimizaci´on del coste total, es decir, a la selecci´on de la secuencia de operaciones de edici´on que minimiza el coste total. La idea de la distancia de edici´on nace con los trabajos de Sanfeliu y Fu [SF83] y de Bunke y Allermann [BA83]. En [SF83] se eval´uan la asociaci´on de cada nodo de un grafo con todos los nodos del otro grafo y se c´alcula una funci´on de coste, despu´es se realiza una asignaci´on considerando los que han dado el m´ınimo coste; una vez obtenido el emparejamiento se eliminan del grafo, que no es de referencia, todos los nodos y ramas que no hayan sido asignados y se insertan aquellos nodos y ramas que faltaban; todo lo anterior permite obtener la m´ınima distancia de edici´on entre dos grafos. Messmer y Bunke, [MB95, MB98], extienden la distancia de edici´on al problema del m´aximo com´un subgrafo. En los trabajos relativamente recientes de [GXTL10] y [SRSS12] pueden ser encontrados sendos estudios sobre la distancia de edici´on, el segundo de ellos m´as centrado en la tem´atica de las funciones de coste. Es muy recomendable la lectura del cap´ıtulo sexto del libro [DES09] cuyo t´ıtulo es “Graph Edit Distance–Optimal and Suboptimal Algorithms with Applications” [BR09]. Seg´un [GXTL10] cuando los grafos no tienen etiquetas (s´olo tienen informaci´on estructural) es habitual convertirlos en cadenas y la distancia de edici´on se convierte en la comparaci´on entre cadenas. Debido a ello y en lo que sigue, se supondr´a que los grafos tienen alg´un tipo de informaci´on en los v´ertices y/o arcos.

Sean g1 y g2 dos grafos cualesquiera no necesariamente del mismo grado. Sea e1, e2, . . . , ek una

secuencia dekoperaciones de edici´on que tramsforman el grafog1 eng2, con estas condiciones a la

secuencia anterior se la denomina camino de edici´on. El conjunto de todos los caminos de edici´on se denotrar´a porY(g1, g2). Todos los textos hacen la misma definici´on de distancia de edici´on pero

la presentada en [BR09] es extra´ordinariamente breve en la forma si es comparada con los otros textos, esta definici´on es

Definici´on 3.1. La distancia de edici´on entre el grafog1 y el grafo g2 viene dada por

d(g1, g2) = m´ın (e1,...,ek)∈Y(g1,g2) k X i=1 c(ei) (3.8)

en donde c(ei) denota el coste de la operaci´on de edici´on ci.

Como ya se ha dicho la clave del problema est´a en encontrar la secuencia y los costes que minimi- zan la expresi´on (3.8). Si se pretende un emparejamiento inexacto pero ´optimo necesariamente se necesitar´a trabajar con un ´arbol de b´usqueda (espacio de soluciones) en donde se van construyendo los caminos de edici´on y contabilizando los costes parciales lo que permitir´a realizar podas. Es bastante habitual utilizar el algoritmo A∗ junto a alg´un tipo de heur´ıstica [HNR68]. En todo caso los requerimientos de tiempo y espacio pueden llegar a ser insostenibles incluso para grafos con pocos nodos.

Los requerimientos de tiempo y espacio se relajan si el enfoque es el de un emparejamiento inexac- to sub´optimo. Con este enfoque existen varias estrategias para minimizar la expresi´on (3.8). En general, hay que aclarar que la detecci´on autom´atica de la funci´on de coste m´ınima no es ausunto del todo cerrado [GXTL10]. B´asicamente existe cuatro familias de algoritmos para el c´alculo de la funci´on de coste que por brevedad son listados a continuaci´on de forma sucinta.

1. Algoritmos basados en entrenamiento automatico. Estos son los conocidos por algoritmos basados en SOM (“Self-OrganizingMap”) que no son m´as que redes neuronales. Un trabajo que utiliza esta t´ecnica es el aportado por [SK99].

64Pueden ser definidas m´as operaciones de edici´on que las enunciadas como pueden ser, por ejemplo, el mezclado

y la divisi´on presentadas en [AFB03]. En lo que sigue no ser´an tenidas en cuenta.

2. Algoritmos probabil´ısticos. Esta t´ecnica se ha utilizado en la comparaci´on entre cadenas de s´ımbolos [RY98]. De forma similar se aplica en distancia de edici´on entre grafos para la obtenci´on de la funci´on de coste. Los detalles pueden ser encontrados en [NB04], aqu´ı s´olo se destacar´a que es necesario seleccionar un conjunto de grafos para el entrenamiento, que el m´etodo es iterativo y que se han de seleccionar unas condiciones iniciales.

3. Algoritmos basados en kernels. En [NB06a] introduce una novedosa funci´on de kernel para el c´alculo de la funci´on de coste. En [NB05] se usa la t´ecnica de los kernels junto a la t´ecnica de las M´aquinas de Vectores Soporte66 para el c´alculo de la funci´on de coste.

4. Algoritmos basados en programaci´on lineal binaria. Esta t´ecnica [JH06] s´olo se puede aplicar en grafos con atributos exclusivamente en los nodos.