Capítulo 2. Estado del arte
3.2. Análisis y adaptación de algoritmos de predicción de enlaces
3.2.1. Adaptación de Algoritmos de predicción de enlaces para redes dirigidas
Para extender los algoritmos de predicción a redes dirigidas, inicialmente se deben tener en cuenta los factores que caracterizan a éste tipo de redes. De ésta forma, se puede introducir una adaptación para grafos dirigidos que dependa de manera natural de estas características.
Un aspecto único, y tal vez el más relevante, de la red dirigida es la naturaleza asimétrica de los enlaces. Tener en cuenta esta asimetría se convierte en el punto clave debido que el modo de predecir los enlaces cambia significativamente, en primera medida, dado que los estados en los que puede hallarse un enlace en la red se vuelven más complejos. En una red no dirigida, sólo existen dos estados posibles: el enlace está presente o ausente en la red. Cuando los enlaces son asimétricos o dirigidos, hay cuatro estados factibles entre dos nodos: nodo x hacia el nodo y, y hacia x, x e y están mutuamente conectados, o la ausencia de un enlace entre x e y (Yan Yu et al., 2014).
De ésta forma, se puede deducir naturalmente que la predicción ya no buscará estimar la probabilidad de un enlace entre dos nodos x e y, sino se adaptará para estimar la probabilidad de un enlace desde nodo x hacia el nodo y, siendo esta probabilidad diferente a la de estimar un enlace desde el nodo y hacia el nodo x.
Para realizar esta adaptación, se tendrán en cuenta los conceptos de vecinos y grado de entrada y salida de un nodo, definidos para las redes asimétricas que se introdujeron en el capítulo anterior. Además se utilizará las adaptaciones realizadas por Xue Zhang et al. (2014), sobre los índices CN y PA. Estos índices resultan ser bastante representativos del conjunto de índices elegido para el desarrollo de éste trabajo, por lo que los métodos de modificación utilizados sobre ellos se extenderán para adaptar los demás índices.
3.2.1.1 Common Neighbours
Muchos de los algoritmos seleccionados en la sección 3.1 para la predicción están basados en el concepto de vecinos comunes. El índice más representativo basado en éste criterio es CN, cuya adaptación a redes dirigidas, propuesta por Xue Zhang et al. (2014) en el capítulo anterior, se tomará como punto de partida.
Entonces, inicialmente se tiene que una de las propiedades más comunes de gráficos sociales es el cierre tríadico. Este concepto consiste en que si dos nodos están conectados a través de un enlace con un tercer nodo mutuo, hay una mayor probabilidad de que los dos nodos se conecten directamente en el futuro. Es decir, cuando una red tiene un nodo A con una fuerte relación con dos nodos, B y C, existe una probabilidad, ya sea débil o fuerte, de que B y C tengan una conexión en el futuro (Figura 3.1.).
En un entorno social, un cierre tríadico sería una situación en la que dos personas con un amigo en común tienen una mayor probabilidad de encontrarse entre sí y conocerse.
Como se mencionó en el capítulo 2, este concepto puede utilizarse en redes no dirigidas, mientras que en redes dirigidas, partiendo del análisis de la geometría, puede utilizarse midiendo la estructura de avance (Figura 3.2.). La fundamentación de porqué se opta por la estructura de avance sobre los índices de co-citación,
acoplamiento bibliográfico y de retroalimentación y sus diferencias se explicó en el capítulo 2.
Por lo tanto, se obtiene el siguiente índice CN extendido a redes dirigidas:
𝑠
𝑥𝑦𝐶𝑁∗= (𝐴̂
2)
𝑥𝑦= |𝛤
𝑜𝑢𝑡(𝑥) ∩ 𝛤
𝑖𝑛(𝑦)|
3.2.1.2 Preferential Attachment
Una propiedad común de las redes, que se tiene en cuenta para realizar predicciones, es el grado del nodo. Gran parte de los algoritmos seleccionados en la sección 3.1 para la predicción también se fundamentan en la idea de que cuanto más se encuentre conectado un nodo, más probable es que se creen nuevos enlaces en torno a él, siendo PA el más representativo. Como se explicó en el capítulo anterior, en redes dirigidas, el grado del nodo se amplía para representar grados de entrada y de salida, siendo éstos diferentes entre sí en la mayoría de los casos.
Teniendo en cuenta esto, se puede inferir intuitivamente que cuanto mayor sea el grado de salida de un nodo, mayor es su capacidad de transmitir información, y es más probable se adicionen enlaces de salida del nodo. Además, por otro lado, a mayor grado de entrada de un nodo, mayor es su capacidad para recibir información, lo que deriva en una mayor la probabilidad de que en el futuro surjan enlaces de entrada al nodo.
El índice PA, entonces, puede adaptarse de la siguiente manera:
𝑠
𝑥𝑦𝑃𝐴∗= 𝑘
𝑥𝑜𝑢𝑡× 𝑘
𝑦𝑖𝑛= |𝛤
𝑜𝑢𝑡(𝑥)| × |𝛤
𝑖𝑛(𝑦)|
3.2.1.3. Salton Index
Este índice se basa en la similitud del coseno, calculando el coseno del ángulo entre las filas de la matriz de adyacencia de los nodos x e y.
Para extender el índice a redes dirigidas se debe observar la matriz de adyacencia de los nodos. Por ejemplo, para la siguiente red, en sus versiones no dirigida y dirigida (Figura 3.3.):
Se tienen las siguientes matrices de adyacencia (Figura 3.4):
Figura 3.3. (a) Red no dirigida. (b) Red Dirigida.
Figura 3.4. (a) Matriz Adyacencia Red no dirigida. (b) Matriz Adyacencia Red Dirigida.
Si se pone atención al cálculo de la similitud del coseno, se puede observar que es proporcional a los vecinos en común entre los nodos x e y, lo que en un modelo vectorial representa el producto escalar entre los vectores de la matriz de similitud, e inversamente proporcional al grado de conexión de los mismos en la red, correspondiente a la norma de los vectores de la matriz de similitud.
En las matrices de similitud se puede observar, que para las redes no dirigidas la matriz es simétrica, mientras que para las redes no dirigidas no necesariamente ocurre esto. La clave para la extensión del índice se encuentra en elegir correctamente los vectores de la matriz que corresponde utilizar para el cálculo. Entonces, debido a que el enlace que se quiere predecir es un enlace que sale desde el nodo x y va hacia el nodo y, resulta trivial tomar el vector de salida de x y de entrada
de y. (Figura 3.5)
Por lo tanto, se obtiene como resultado el siguiente índice extendido:
𝑠
𝑥𝑦𝑆𝑎𝑙𝑡𝑜𝑛∗=
𝑋𝑜𝑢𝑡 . 𝑌𝑖𝑛
||𝑋𝑜𝑢𝑡|| ||𝑌𝑖𝑛||
=
|𝛤
𝑜𝑢𝑡(𝑥) ∩ 𝛤
𝑖𝑛(𝑦)|
√𝑘
𝑜𝑢𝑡(𝑥)× 𝑘
𝑖𝑛(𝑦)3.2.1.4. Jaccard Index
Este índice representa la relación de los vecinos comunes de los nodos x e y con los nodos vecinos de x e y.
Teniendo en cuenta la estructura de avance en redes, se puede adaptar tanto los vecinos en común, del mismo modo que el índice CN, como para el conjunto total de los vecinos de x e y, teniendo en cuenta la misma estructura para seleccionar el conjunto de vecinos saliente o entrante (Figura 3.6).
Se obtiene el siguiente índice extendido:
𝑠
𝑥𝑦𝐽𝑎𝑐𝑐𝑎𝑟𝑑∗= |𝛤
𝑜𝑢𝑡(𝑥) ∩ 𝛤
𝑖𝑛(𝑦)|
|𝛤
𝑜𝑢𝑡(𝑥) ∪ 𝛤
𝑖𝑛(𝑦)|
3.2.1.5. Sørensen Index
Este índice se calcula como dos veces los vecinos comunes de los nodos x e y (cantidad de información compartida) sobre la suma de los grados de los nodos x e y (cantidad de información total). Teniendo en cuenta la estructura de avance y las características explicadas de los grados de entrada y salida de los nodos en redes dirigidas para el índice PA, se adapta para tener en cuenta la información teniendo en cuenta la dirección y el índice extendido resulta:
𝑠
𝑥𝑦𝑆ø𝑟𝑒𝑛𝑠𝑒𝑛∗= 2 |𝛤
𝑜𝑢𝑡(𝑥) ∩ 𝛤
𝑖𝑛(𝑦)|
𝑘
𝑜𝑢𝑡(𝑥)+ 𝑘
𝑖𝑛(𝑦)Figura 3.6. Conjuntos de vecinos tomados para el índice Jaccard.
3.2.1.6. Hub Promoted Index (HPI)
Este índice se define como la relación de los vecinos comunes de los nodos x e y con el mínimo de grados de los nodos x e y. Teniendo en cuenta la estructura de avance y las características explicadas de los grados de entrada y salida de los nodos en redes dirigidas, se obtiene el índice extendido:
𝑠
𝑥𝑦𝐻𝑃𝐼∗=
|𝛤
𝑜𝑢𝑡(𝑥) ∩ 𝛤
𝑖𝑛(𝑦)|
𝑚𝑖𝑛{𝑘
𝑜𝑢𝑡(𝑥), 𝑘
𝑖𝑛(𝑦)}
3.2.1.7. Hub Depressed Index (HDI)
Análogamente al índice anterior, también se considera una medida con el efecto opuesto sobre los ejes, resultando el índice extendido:
𝑠
𝑥𝑦𝐻𝑃𝐼∗=
|𝛤
𝑜𝑢𝑡(𝑥) ∩ 𝛤
𝑖𝑛(𝑦)|
𝑚𝑎𝑥{𝑘
𝑜𝑢𝑡(𝑥), 𝑘
𝑖𝑛(𝑦)}
3.2.1.8. Leicht-Holme-Newman Index (LHN1)
Este índice asigna alta similitud a los pares de nodos que tienen muchos vecinos comunes comparados no al máximo posible, sino al número esperado de tales vecinos. De forma similar a los índices anteriores, se toma el concepto de cierre triádico para adaptar los vecinos comunes entre los nodos; y se tienen en cuenta los grados de entrada y salida de los nodos para calcular el número esperado de los vecinos en común. Se define como:
𝑠
𝑥𝑦𝐿𝐻𝑁 1∗=
|𝛤
𝑜𝑢𝑡(𝑥) ∩ 𝛤
𝑖𝑛(𝑦) |
3.2.1.9. Adamic-Adar Index (AA).
Este índice asigna a los vecinos menos conectados más peso, teniendo en cuenta los propios nodos que forman parte de los vecinos en común de x e y. Inicialmente para calcular los vecinos en común de los nodos, como en los índices anteriores se utiliza el cierre triádico. Ahora bien, para seleccionar el peso de los vecinos en común, en este caso el nodo z, se tiene en cuenta la capacidad de éste nodo intermedio de propagar la información que recibe del nodo x hacia el nodo y, es decir, su grado de salida. Se opta por esta alternativa debido a que el enlace que se quiere predecir es aquel que propaga la información desde el nodo x hacia el nodo y, siendo esta situación representativa de la aptitud del nodo z de enviar información hacia el nodo y.
𝑠
𝑥𝑦𝐴𝐴∗=
∑
1
𝑙𝑜𝑔 𝑘
𝑜𝑢𝑡(𝑧)𝑧 ∃ 𝛤𝑜𝑢𝑡(𝑥) ∩ 𝛤𝑖𝑛(𝑦)
3.2.1.10. Resource Allocation Index (RA)
Este índice está motivado por la dinámica de asignación de recursos en redes complejas. Considerando un par de nodos, x e y, que no están conectados directamente. El nodo x puede enviar algún recurso a y, con sus vecinos comunes desempeñando el papel de transmisores. Si bien tienen provienen de diferentes perspectivas, este índice es similar al anterior, por lo tanto se adapta teniendo en cuenta la misma estrategia: