Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Identificación de Nodos Influyentes mediante Colonia de Hormigas Autor: Elvis Suarez Beltran Director: Ariel Monteserin Facultad de Ciencias Exactas - UNICEN Tesis de Grado Ingeniería de Sistemas Tandil, Mayo 2022 Dedicatoria A mis amigos, a mi mamá, mi papá y mi hermana, por bancarme incondicionalmente en cada proceso de la carrera, en cada momento compartido a lo largo del trayecto que me permitió llegar hasta hoy.. Agradecimientos Para Ariel Monteserin, que me tuvo paciencia en todo el proceso y me guió hasta el final, y a cada persona que dedicó un poco de su tiempo a explicar conceptos que desconocía. Agradezco a la universidad de UNICEN, por la posibilidad de tener semejante carrera y las posibilidades que brinda para que podamos ser parte de esta. Resumen La elección de los usuarios influyentes es un factor clave para garantizar el éxito y conseguir los objetivos empresariales, dentro de la planificación de la estrategia comercial. Es necesario saber identificar aquellos influencers que por sus valores, estilo, se asemeja al negocio que se quiere que representen. En la actualidad, los influencers implican la traslación, la nueva versión de los líderes de opinión aplicado al medio online, aprovechando el enorme potencial demostrado por las redes sociales. Los influencers son personas que poseen cierta credibilidad sobre un tema concreto y que su presencia e influencia en las redes sociales hacen que se conviertan en un prescriptor idóneo. Nos encontramos ante el marketing de influencia, en el que se fusionan las redes sociales como espacios publicitarios con el recurso a los usuarios, como los líderes de opinión o los personajes famosos como prescriptores e influencers, a los que las marcas dirigen sus esfuerzos comunicativos. La idea detrás del marketing viral es que, al dirigirnos a un conjunto de usuarios influyentes de la red, podemos activar una reacción en cadena de la influencia impulsada por el boca a boca, de tal manera que con un costo de marketing muy pequeño podemos alcanzar una porción muy grande de la red mediante la selección de usuarios claves. Goyal en [2] desarrolla un nuevo modelo denominado Credit Distribution, construido sobre trazas de propagación reales que nos permite predecir directamente la dispersión de influencia de un conjuntos de nodos, sin necesidad de aprender probabilidades de borde o realizar simulaciones de Montecarlo. Proponen un enfoque diferente, tomando una perspectiva “u-céntrica” asignando “créditos” a los posibles influenciadores de un nodo u siempre que u realiza una acción. Mostraron también que la maximización de la influencia bajo este modelo es NP-Hard, y que, la función de propagación de la influencia es monótona y submodular. En consecuencia la implementación del algoritmo Greedy proporciona una aproximación de (1-1/e) a la solución óptima, aunque por sí mismo no garantiza eficiencia. Para permitir una mejora adicional en la calidad de las soluciones, la investigación en este campo en las últimas décadas ha centrado su atención en el diseño de técnicas de propósito general para guiar la construcción de soluciones o la búsqueda local en las distintas heurísticas. Estas técnicas se llaman comúnmente metaheurísticas y consisten en conceptos generales empleados para definir métodos heurísticos. Las metaheurísticas son métodos que emplean heurísticas para producir soluciones de mejor calidad. Estas están inspiradas en diversos campos como la genética, la biología, la física, etc. La metaheurística basada en colonia de hormigas (ACO) se desarrolló a partir de observar como ciertas especies de hormigas con capacidades visuales muy limitadas logran alcanzar su alimento realizando muy buenos recorridos. La idea general del algoritmo se basa en abstraer ese comportamiento y representarlo artificialmente. Por un lado, el sendero de las hormigas con un grafo, y por otro lado, las hormigas son agentes computacionales independientes unos de otros que construyen soluciones tomando decisiones en cada intersección. Cada hormiga representa una solución completa del problema. Índice general Introducción.………………………………………………………………………………………... 9 Motivación………………...………………...………………...………………...………………….10 Objetivos………………...………………...………………...………………...…………………... 11 Marco Teórico………………...………………...………………...………………...…………….. 12 Redes sociales………………...………………...………………...………………...…………… 12 Influence Maximization and propagation………………...………………...………………... 13 Campo aleatorio de Markov………………...………………...………………...……………… 14 The Independent Cascade y Linear Threshold………………...………………...…………. 18 Credit Distribution………………...………………...………………...………………...………. 21 Ant Colony………………...………………...………………...………………...………………... 25 Proceso………………...………………...………………...………………...………………... 25 Metaheurística de Optimización Basada en Colonias de Hormigas……………………... 26 Sistema de Hormigas………………...………………...………………...…………………… 29 Sistema de Colonia de Hormigas………………...………………...………………...……... 31 Sistema de Hormigas Max-Min………………...………………...………………………….. 32 Sistema de Hormigas con Ordenación………………...………………...…………………. 33 Herramientas similares………………...………………...………………...…………………… 35 Klout………………...………………...………………...………………...……………………. 35 Kred………………...………………...………………...………………...……………………. 36 Twitanalyzer………………...………………...………………...………………...…………… 37 Propuesta………………...………………...………………...………………...…………………. 38 Implementación………………...………………...………………...………………...………….. 42 Arquitectura………………...………………...………………...………………...……………… 42 Python………………...………………...………………...………………...…………………. 42 Bibliotecas utilizadas………………...………………...………………...…………………… 42 Herramientas………………...………………...………………...………………...…………. 44 Diseño………………...………………...………………...………………...…………………. 45 Base de datos………………...………………...………………...………………...………… 47 Estrategias utilizadas………………...………………...………………...…………………… 48 Evaluación Experimental………………...………………...………………...…………………. 49 Objetivo………………...………………...………………...…………………………………... 49 Datos………………...………………...………………...………………...…………………… 49 Procedimientos………………...………………...………………...…………………………. 50 Resultados………………...………………...………………...………………………………. 51 Heurística 1………………...………………...………………...…………………………. 52 Heurística 2………………...………………...………………...…………………………. 53 Heurística 3………………...………………...………………...…………………………. 54 Heurística 4………………...………………...………………...…………………………. 55 Heurística 5………………...………………...………………...…………………………. 57 Heurística 6………………...………………...………………...…………………………. 58 Heurística 7………………...………………...………………...………………………….. 59 Análisis de resultados………………...………………...………………...………………….. 60 Comparación de seed sets entre ACO y Greedy………………...………………………… 63 Grafo de 200 nodos………………...………………...………………...…………………….. 67 Cantidad de hormigas………………...………………...………………...…………………... 69 Conclusiones………………...………………...………………...………………...……………... 70 Resumen………………...………………...………………...………………...…………………... 70 Ventajas………………...………………...………………...………………...……………………. 70 Limitaciones………………...………………...………………...………………...………………. 71 Trabajos futuros………………...………………...………………...……………………………. 71 Experimentación con varios dataset………………...………………...…………………….. 71 Implementación del proyecto en otro lenguaje………………...…………………………… 72 Nodos sin recorrer………………...………………...………………...………………………. 72 Profundizar en las alternativas dentro de ACO………………...…………………………... 72 Índice de figuras 2.1 Demostración de rastros de feromonas en una bifurcación ……………………. 26 2.2 Algoritmo ACO ………………………………………………………………………. 28 4.1 Diagrama de clases del proyecto ………………………………………………….. 46 5.1 Resultados de cada heurística destacando el mejor resultado para cada grafo en un seed set de 10 nodos …………………………………………………………….. 61 5.2 Resultados de cada heurística destacando el mejor resultado para cada grafo en un seed set de 30 nodos …………………………………………………………….. 62 5.3 Resultados de cada heurística destacando el mejor resultado para cada grafo en un seed set de 50 nodos…………………………………………………………….. 63 Índice de tablas 5.1 Ejemplo de los datos que se encuentran en Ratings.timed.cs…………………….. 49 5.2 Ejemplo de los datos que se encuentran en el archivo links.csv ………………….. 50 5.3 Resultados de la heurística 1 para un seed set de 10 nodos ……………………… 52 5.4 Resultados de la heurística 1 para un seed set de 30 nodos ……………………… 52 5.5: Resultados de la heurística 1 para un seed set de 50 nodos ……………………... 52 5.6 Resultados de la heurística 2 para un seed set de 10 nodos ……………………… 53 5.7 Resultados de la heurística 2 para un seed set de 30 nodos ……………………… 53 5.8 Resultados de la heurística 2 para un seed set de 50 nodos ……………………… 54 5.9 Resultados de la heurística 3 para un seed set de 10 nodos ……………………… 54 5.10 Resultados de la heurística 3 para un seed set de 30 nodos …………………….. 55 5.11: Resultados de la heurística 3 para un seed set de 50 nodos ……………………. 55 5.12 Resultados de la heurística 4 para un seed set de 10 nodos …………………….. 55 5.13 Resultados de la heurística 4 para un seed set de 30 nodos …………………….. 56 5.14 Resultados de la heurística 4 para un seed set de 50 nodos …………………….. 56 5.15 Resultados de la heurística 5 para un seed set de 10 nodos …………………….. 57 5.16 Resultados de la heurística 5 para un seed set de 30 nodos …………………….. 57 5.17 Resultados de la heurística 5 para un seed set de 50 nodos …………………….. 57 5.18 Resultados de la heurística 6 para un seed set de 10 nodos …………………….. 58 5.19 Resultados de la heurística 6 para un seed set de 30 nodos …………………….. 58 5.20 Resultados de la heurística 6 para un seed set de 50 nodos …………………….. 58 5.21 Resultados de la heurística 7 para un seed set de 10 nodos …………………….. 59 5.22 Resultados de la heurística 7 para un seed set de 30 nodos …………………….. 59 5.23 Resultados de la heurística 7 para un seed set de 50 nodos …………………….. 60 5.24 Comparativa de Seed set entre Greedy y Ant Colony en un seed set de 10 nodos en un grafo de 30 usuarios …………………………………………………………. 64 5.25 Comparativa de Seed set entre Greedy y Ant Colony en un seed set de 30 65 nodos en un grafo de 50 usuarios …………………………………………………………. 5.26 Comparativa de Seed set entre Greedy y Ant Colony en un seed set de 50 nodos en un grafo de 200 usuarios ……………………………………………………….. 66 Capítulo I En el presente capítulo se hará una presentación formal del proyecto final, una introducción, nuestra motivación y los objetivos que nos planteamos. Introducción El consumidor se encuentra expuesto en su actividad diaria a multitud de mensajes publicitarios a través de diversos canales y plataformas. Entre todos esos canales la opinión de un amigo, conocido, familiar, colega, ocupa un puesto primordial a la hora de tomar decisiones en la elección de compra. Una referencia positiva hacia un producto o un servicio por parte de una persona aparentemente desinteresada puede suponer esa motivación última que a un potencial cliente le falta para tomar la decisión de llevar a cabo una compra. Si a eso le añadimos el alcance online que puede llegar a tener la recomendación de una persona de gran influencia en este medio, nos encontramos ante un recurso con un éxito prácticamente asegurado. En la actualidad, los influencers implican la traslación, la nueva versión de líderes de opinión aplicado al medio online, aprovechando el enorme potencial demostrado por las redes sociales. La elección de los influencers, es un factor clave para garantizar el éxito y conseguir los objetivos empresariales, dentro de la planificación de la estrategia comercial, al mismo tiempo, los usuarios valoran cada vez en mayor medida las opiniones de los influencers por lo que aquellos perfiles con grandes comunidades ganan poder de persuasión. La maximización de la influencia es el problema de encontrar un conjunto de usuarios en una red social, de modo que al apuntar a este conjunto, uno maximiza la dispersión esperada de influencia en la red. Kempe en [11] formalizó esto como el problema de maximización de la influencia, de la siguiente forma: ● “encontrar k nodos ‘semilla’ en la red, para un número k dado, de modo que al activarlos podamos maximizar la propagación de influencia esperada”. Motivación Con el éxito de las redes sociales en línea y los microblogs como Facebook, Flickr y Twitter, el fenómeno de la influencia ejercida por los usuarios de dichas plataformas sobre otros usuarios, y cómo se propaga en la red, ha atraído el interés de los informáticos, tecnólogos en información y especialistas en marketing. Uno de los principales problemas en esta área, es la identificación de usuarios influyentes, apuntando a quienes pueden lograr ciertos resultados de marketing deseables. Aquí, la orientación podría significar dar muestras gratuitas (o con precios reducidos) de un producto y el resultado deseado puede ser conseguir que la mayor cantidad posible de clientes compren el producto [1]. La idea detrás del marketing viral es que, al dirigirnos a los usuarios más influyentes de la red, podemos activar una reacción en cadena de la influencia impulsada por el boca a boca, de tal manera que con un costo de marketing muy pequeño podemos alcanzar una porción muy grande de la red. La selección de estos usuarios claves en un grafo, es una tarea de aprendizaje interesante que ha recibido mucha atención en los últimos años. Para determinar cuáles son los usuarios más influyentes de una red es necesario analizar la propagación de la influencia en las redes sociales, para esto, es importante definir qué es considerado influencia en las redes sociales. La respuesta básica es que cuando los usuarios ven a sus contactos de la red realizar una acción, ellos deciden llevarla a cabo también. Si observamos que un usuario v realiza una acción a en un tiempo t, y un usuario u (que tiene una relación con v) realiza la misma acción en un plazo corto de tiempo, entonces podemos pensar que la acción a se propagó de v a u. En caso de observar que esto sucede frecuentemente para diferentes acciones, entonces podemos concluir que el usuario v está ejerciendo influencia sobre el usuario u. Los primeros en considerar la propagación de influencia y el problema de identificación de usuarios influyentes por una perspectiva de minería de datos, fueron Domingos y Richardson [10]. Kempe [11], por otro lado, centró su trabajo en dos modelos de propagación denominados, Threshold Model (LT) e Independent Cascade Model (IC). Bajo estos modelos de propagación, IC y LT, el problema se vuelve NP-Hard. Sin embargo, Kempe, demostró que la función es monótona y submodular. Gracias a estas dos propiedades, el problema de maximización de influencia puede aproximarse con un factor de con el algoritmo Greedy. Sin embargo, en ambos casos, dicho algoritmo no(1 − 1/𝑒) garantiza eficiencia en sí mismo, ya que requiere determinar las ganancias marginales de un nodo candidato respecto al actual conjunto de semillas, y lo realiza con costosas simulaciones de Montecarlo [1] [2]. En estos modelos descritos, se asignan probabilidades a los enlaces entre los nodos siguiendo distintos criterios (como por ejemplo igual valor a los enlaces entre los nodos). Sin embargo, nosotros vamos hacer énfasis en un modelo que permite aprender a partir de propagaciones anteriores que fueron registradas. El modelo Credit Distribution, aprovecha directamente los rastros de propagación disponibles para aprender cómo fluye la influencia en la red y lo utiliza para estimar la propagación de influencia esperada. Sin embargo, se demostró en [2] que la maximización de la influencia bajo este modelo es NP-hard. Debido a estas desventajas presentes, y resaltando que Borodin en [3] señaló que para ciertos modelos de difusión, particularmente aquellos que investigan la influencia competitiva en las redes sociales, pueden no ser monótonos o submodulares, por lo tanto, el algoritmo Greedy no puede usarse. Se propone entonces, complementar CD con Ant Colony Optimization (ACO). ACO inicialmente propuesto por Dorigo [9], es un metaheurístico desarrollado para componer soluciones aproximadas. ACO está inspirado en las observaciones del comportamiento colectivo dealimentación en colonias de hormigas reales y representa problemas como grafos, con soluciones construidas dentro de un proceso iterativo estocástico al agregar componentes de solución a soluciones parciales. Objetivos Planteado el contexto anteriormente mencionado, se propone el desafío de proveer una herramienta que permita identificar un conjunto de usuarios dentro de una red social, para el cual maximice la influencia sobre toda dicha red a través de distintas heurísticas buscando minimizar dicho costo computacional para lograr obtener mejores resultados. Se buscará comprobar si la combinación de un modelo, Credit Distribution [2] y un algoritmo, Ant Colony Optimization, ya expuestos en el tema, permiten lograr solucionar el problema propuesto. Como objetivo secundario se buscará mejorar los resultados que podrían obtenerse utilizando el modelo CD con el algoritmo Greedy. El modelo Credit Distribution, como se dijo anteriormente, aprovecha directamente los rastros de propagación disponibles para aprender cómo fluye la influencia en la red y lo utiliza para estimar la propagación de influencia esperada, es decir, permite aprender las probabilidades a partir de propagaciones anteriores que fueron registradas. Por otro lado, la inspiración para ACO es el comportamiento de búsqueda de hormigas reales [6]. Al buscar comida, las hormigas inicialmente exploran el área que rodea su nido de manera aleatoria. Tan pronto como una hormiga encuentra una fuente de alimento, evalúa la cantidad y la calidad del alimento y lo lleva de vuelta al nido. Durante el viaje de regreso, la hormiga deposita un rastro químico de feromonas en el suelo. La cantidad de feromona depositada depende de la cantidad y calidad de los alimentos, y esto guiará a otras hormigas a la fuente de alimentos. La comunicación indirecta entre las hormigas a través de senderos de feromonas les permite encontrar los caminos más cortos entre su nido y las fuentes de alimentos. Diferentes estudios han demostrado que la comunicación de las hormigas a través de caminos con feromonas les permite encontrar las rutas más cortas entre su nido y las fuentes de alimentos [9]. Esta característica es ampliamente utilizada para la solución de problemas de optimización que necesitan mejorar sustancialmente los tiempos de cómputo para la solución de una aplicación específica [7]. Para nuestro caso, las hormigas artificiales, recorren el grafo buscando los mejores caminos, estas van a ser quienes nos guíen y generen distintas soluciones al problema, ya que, como se mencionó anteriormente, cada hormiga genera una solución propia y distinta, pero tal como sucede en estos seres vivos, dichas hormigas van dejando feromonas, un valor numérico, que sirven de guía para las demás hormigas a la hora de tomar la decisión en una bifurcación, una medida de la deseabilidad al momento de elegir dicho camino. Capítulo II Marco Teórico En este capítulo se mostrará un conjunto de enfoques teóricos propuestos, investigaciones y conceptos importantes, significativos para entender el dominio de la herramienta y comprender su alcance. Redes sociales Ya no existe la sociedad sin internet. No realizar búsquedas en Google o no mantener contacto con tus amigos y familiares durante tu día es prácticamente impensado. El dominio de internet y su influencia en nuestras vidas es gigante, principalmente con el marketing digital y la transformación digital tan presentes. Actualmente más de 3.800 millones de personas en todo el mundo están conectadas al mundo virtual, de los cuales existen aproximadamente 3 mil millones de usuarios activos en las redes sociales. Y este número tiende a crecer cada vez más, con la dinámica de mejoras constantes de estas plataformas y el surgimiento de nuevas. Las redes sociales son plataformas digitales formadas por comunidades de individuos con intereses, actividades o relaciones en común (como amistad, parentesco, trabajo, etc). Las redes sociales permiten el contacto entre personas y funcionan como un medio para comunicarse e intercambiar información. Los individuos no necesariamente se tienen que conocer antes de entrar en contacto a través de una red social, sino que pueden hacerlo a través de ella, y ese es uno de los mayores beneficios de las comunidades virtuales. Las redes sociales [29], se pueden clasificar en dos tipos: ● Redes sociales horizontales o genéricas: Son aquellas redes sociales que no poseen una temática determinada, sino que apuntan a todo tipo de usuarios. Estas redes funcionan como medios de comunicación, información o entretenimiento. Son muy numerosas y populares, por ejemplo: Facebook o Twitter. ● Redes sociales verticales: Son aquellas redes sociales que relacionan personas con intereses específicos en común, como música, hobbies, deportes. Por ejemplo: Flickr, red social cuya temática es la fotografía. Flixster, cuya red social permitía encontrar personas con los mismos gustos sobre películas. Dentro de estas redes se encuentran las redes verticales profesionales, como LinkedIn, que involucra individuos que comparten el ámbito laboral o que buscan ampliar sus fronteras laborales. La década del noventa se caracterizó por la aparición de la web, las redes sociales no tardaron en llegar teniendo su origen en la segunda mitad de los noventa. Classmates [30] es considerada la primera red social. Fue creada en 1995 por el estadounidense Randy Conrads. Buscaba conectar de manera virtual a ex compañeros de colegio y universidad. Como el proyecto fue exitoso, comenzaron a aparecer nuevas redes cuyo fin era reunir amigos y conocidos. En 1997 se creó SixDegrees, una red que permitía contactar a otros miembros de la red, crear un perfil, armar listas de amigos, etc. SixDegrees se basó en la teoría de “seis grados de separación”, que afirma que todas las personas se encuentran a seis personas de distancia de cualquier otra persona del planeta. Esta red social estuvo activa hasta 2001. En 2003 surgió Friendster, una red que permitía contactar a otros miembros y compartir contenido online con ellos (fotos, videos, links). Estuvo activa con gran presencia de usuarios hasta 2015. En 2003 también se creó LinkedIn, red social laboral para buscar, recomendar u ofrecer un trabajo. Como respuesta ante la popularidad de Friendster surgió, en 2003, MySpace. Creada por una agencia de marketing; esta red se dedicaba especialmente a la música y a la tecnología. Para 2009, MySpace era la red social con mayor tráfico de usuarios. Más tarde MySpace perdió la pulseada con la llegada y el auge de Facebook, que surgió en 2004 y tuvo gran popularidad debido a su plataforma, al creciente desarrollo de Internet y a la aparición de dispositivos móviles con conexión a la red. De hecho, en la primera década del siglo XXI, surgieron algunas de las redes sociales con mayor cantidad de usuarios. Flixster [20] es un sitio de cine que permitía a los usuarios compartir listado de películas, aprender sobre el cine y conocer a otras personas con gustos similares en las películas. El sitio permite a los usuarios ver trailers de películas, así como aprender acerca de las películas nuevas y próximos estrenos en taquilla. El sitio fue fundado por Joe Greenstein y Chari Saran en el 2007. Luego Flixster fue adquirida por Warner Bros el 4 de mayo de 2011. Flixster desarrolló aplicaciones para varios sitios de redes sociales. Estas aplicaciones tenían muchas de las mismas características que el sitio principal de Flixster, tales como valoraciones, comentarios, creados por los usuarios. Además, cada aplicación y cada sitio de redes sociales o aplicaciones móviles eran totalmente gratuitas, permitiendo a más usuarios descargar dicha aplicación. Uno de los últimos sucesos en las redes sociales es Tik-Tok, una plataforma de origen chino que permite crear y compartir vídeos. En 2018 se fusionó con Musical.ly y es una de las redes con el mayor flujo de usuarios jóvenes, disponible en 39 idiomas. Influence Maximization and propagation La idea detrás del marketingviral es que, al dirigirnos a los usuarios más influyentes de la red, podemos activar una reacción en cadena de tal manera que con un costo de marketing muy pequeño podamos alcanzar una porción muy grande de la red. Uno de los principales problemas en esta área, es la identificación de los usuarios influyentes. La elección de estos, es un factor clave para garantizar el éxito y conseguir los objetivos empresariales, dentro de la planificación de la estrategia comercial. Para determinar cuáles son los usuarios más influyentes de una red, es necesario analizar la propagación de la influencia en las redes sociales; Para esto, en primer lugar es necesario definir qué es considerado influencia. La influencia es la acción de influir, es decir, de ejercer predominio o fuerza moral o condicionar el comportamiento ajeno. Pero, en las redes sociales, ¿cuál es el concepto de influencia? La respuesta básica es que cuando los usuarios ven a sus contactos de la red realizar una acción, ellos deciden llevarla a cabo también. Si observamos que un usuario v realiza una acción a en un tiempo t, y un usuario u (que tiene una relación con v) realiza la misma acción en un plazo corto de tiempo, entonces podemos pensar que la acción a se propagó de v a u. En caso de observar que esto sucede frecuentemente para diferentes acciones, entonces podemos concluir que el usuario v está ejerciendo influencia sobre el usuario u. Para trasladar este contexto, supongamos que tenemos una red social, que es un grafo, donde los nodos son usuarios, y los links son las relaciones entre estos usuarios. Supongamos a su vez, que tenemos una estimación de la influencia recíproca entre estos usuarios, y que deseamos insertar un producto en la red. El problema de la maximización de la influencia es encontrar un conjunto inicial de usuarios donde su influencia alcance al mayor número posible de usuarios en la red. Kempe [11] formalizó esto como el problema de maximización de influencia: “encontrar k nodos ‘semilla’ en la red, para un número k dado, de modo que al activarlos podamos maximizar la propagación de influencia esperada” El modelo de propagación determina cómo se difunde o propaga la influencia a través de la red. Kempe [11] centró su trabajo en dos modelos de propagación denominados, Independent Cascade Model (IC) y Threshold Model (LT). En ambos modelos, en un tiempo dado, cada nodo está activo o inactivo, y la tendencia de cada nodo a activarse aumenta de forma monotónica a medida que sus vecinos se vuelven activos. Un nodo activo nunca vuelve a estar inactivo. El tiempo se desarrolla de manera determinista en pasos discretos y a medida que pasa el tiempo, más y más vecinos de un nodo inactivo se vuelven activos, lo que eventualmente hace que se vuelva activo, y su decisión puede a su vez desencadenar decisiones adicionales por parte de los nodos a los que está conectado. Bajo estos modelos de propagación, IC y LT, el problema se vuelve NP-Hard. Sin embargo, Kempe, demostró que la función es monótona y submodular. Gracias a estas dos propiedades, el problema de maximización de influencia puede aproximarse con un factor de (1 − 1/e) con el algoritmo Greedy. Campo aleatorio de Markov Domingos y Richardson en [10], modelaron el problema de propagación de influencia e identificación de usuarios influyentes mediante campos aleatorios de Markov y proporcionaron heurísticas para elegir a los usuarios a los que apuntar [1] [2] . Adoptaron el contexto de la propagación de influencia al modelar solo el estado final de la red en convergencia como un gran conjunto global de variables aleatorias interdependientes. Un campo aleatorio de Markov es un conjunto de variables aleatorias que tienen una propiedad de Markov descrito por un grafo no dirigido. En otras palabras, un campo aleatorio se dice que es un campo aleatorio Markov, si satisface las propiedades de Markov. Es un modelo de grafo no dirigido que representa la distribución conjunta sobre un conjunto de variables aleatorias, donde los vértices son variables y los bordes representan dependencias entre variables. Consideraron un conjunto de n clientes potenciales y tomando como una variable𝑋𝑖 lógica que toma el valor 1 si el cliente compra el producto que se comercializa, y 0 en caso𝑖 contrario. Se considera que los vecinos de son los clientes que influyen directamente.𝑋𝑖 Además, es la variable que represente la acción de marketing que se toma para el𝑀𝑖 cliente . Entonces, para todo ,𝑖, (𝑀 = {𝑀 1 ,..., 𝑀 𝑛 }) 𝑋 𝑖 ∉ 𝑋𝑘 𝑃(𝑋𝑖 |𝑋 𝑘, 𝑌, 𝑀) = 𝐶(𝑁 𝐼 𝑈) ∑ 𝑃(𝑋 𝑖 , 𝑁 𝑖 𝑢, |𝑋𝑘, 𝑌, 𝑀) = 𝐶(𝑁 𝐼 𝑈) ∑ 𝑃(𝑋 𝑖 |𝑁 𝑖 𝑢, 𝑋𝑘, 𝑌, 𝑀)𝑃(𝑁 𝑖 𝑢|𝑋𝑘, 𝑌, 𝑀) = 𝐶(𝑁 𝐼 𝑈) ∑ 𝑃(𝑋 𝑖 |𝑁 𝑖 , 𝑌, 𝑀)𝑃(𝑁 𝑖 𝑢|𝑋𝑘, 𝑌, 𝑀) Ecuación 2.1 Donde es el conjunto de todas las configuraciones posibles de los vecinos𝐶(𝑁 𝑖 𝑢) desconocidos de . Aproximando por su estimación de entropía máxima𝑋 𝑖 𝑃(𝑁 𝑖 𝑢|𝑋𝑘, 𝑌, 𝑀) dados los marginales para todo .𝑃(𝑋 𝑗 |𝑋𝑘, 𝑌, 𝑀) 𝑋 𝑗 ∈ 𝑁 𝑖 𝑢 Provocando: 𝑃(𝑋 𝑖 |𝑋𝑘, 𝑌, 𝑀) = 𝐶(𝑁 𝐼 𝑈) ∑ 𝑃(𝑋 𝑖 |𝑁 𝑖 , 𝑌, 𝑀) 𝑋𝑗∈𝑁 𝑖 𝑢 ∏ 𝑃(𝑋 𝑗 |𝑋𝑘, 𝑌, 𝑀) Ecuación 2.2 El conjunto de variables con probabilidad conjunta condicionada por , y𝑋𝑢 𝑋𝑘 𝑌 𝑀 descritas por la ecuación anterior, es una instancia de un campo aleatorio de Markov. Debido a que expresa las probabilidades en función de sí mismas, se puede𝑃(𝑋 𝑖 |𝑋𝑘, 𝑌, 𝑀) aplicar de forma iterativa para encontrarlas, comenzando por una asignación inicial adecuada. Este procedimiento se conoce como etiquetado de relajación y se garantiza que converge a valores localmente consistentes siempre que la asignación inicial esté lo suficientemente cerca de ellos. Una opción natural para la inicialización es usar las probabilidades sin red .𝑃(𝑋 𝑖 |𝑌, 𝑀) Observe que el número de términos en la ecuación 2.2 es exponencial en el número de vecinos desconocidos de . Si este número es pequeño, esto no debería ser un𝑋𝑖 problema; de lo contrario, se necesita una solución aproximada. Un método estándar para este propósito es el muestreo de Gibbs. Se propone una alternativa basada en un algoritmo eficiente de k-ruta más corta en Chakrabarti. Dado y debe ser independiente de las acciones de marketing para los demás𝑁 𝑖 𝑌, 𝑋 𝑖 clientes. Suponiendo un modelo de Bayes para en función de , y :𝑋 𝑖 𝑁 𝑖 𝑌 1 , ..., 𝑌 𝑛 𝑀 𝑖 𝑃(𝑋 𝑖 |𝑁 𝑖 , 𝑌, 𝑀) = 𝑃(𝑋 𝑖 |𝑁 𝑖 , 𝑌, 𝑀 𝑖 ) = 𝑃(𝑋 𝑖 ) 𝑃(𝑁 𝑖 , 𝑌, 𝑀 𝑖 |𝑋 𝑖 ) / 𝑃(𝑁 𝑖 , 𝑌, 𝑀) = [𝑃(𝑋 𝑖 ) 𝑃(𝑁 𝑖 |𝑋 𝑖 )𝑃(𝑀 𝑖 |𝑋 𝑖 ) / 𝑃(𝑁 𝑖 , 𝑌, 𝑀)] 𝑘=1 𝑚 ∏ 𝑃(𝑌 𝑘 |𝑋 𝑖 ) = [𝑃(𝑋 𝑖 |𝑁 𝑖 ) 𝑃(𝑀 𝑖 |𝑋 𝑖 ) / 𝑃(𝑌, 𝑀 𝑖 |𝑁 𝑖 )] 𝑘=1 𝑚 ∏ 𝑃(𝑌 𝑘 |𝑋 𝑖 ) Ecuación 2.3 Donde: 𝑃(𝑌, 𝑀 𝑖 |𝑁 𝑖 ) = 𝑃(𝑌, 𝑀 𝑖 |𝑋 𝑖 = 1)𝑃(𝑋 𝑖 = 1|𝑁 𝑖 ) + 𝑃(𝑌, 𝑀 𝑖 |𝑋 𝑖 = 0)𝑃(𝑋 𝑖 = 0|𝑁 𝑖 ) Ecuación 2.4 Las correspondientes probabilidades sin red son: 𝑃(𝑋 𝑖 |𝑌, 𝑀) = 𝑃(𝑋 𝑖 )𝑃(𝑀 𝑖 |𝑋 𝑖 ) 𝑘=1 𝑚 ∏ 𝑃(𝑌 𝑘 |𝑋 𝑖 )/𝑃(𝑌, 𝑀 𝑖 ) Ecuación 2.5 Por simplicidad, suponga que M es un vector booleano (es decir, solo se está considerando un tipo de acción de marketing, como ofrecer al cliente un descuento determinado). Supongamos que c es el costo de comercialización para un cliente (se supone constante), es el ingreso por vender el producto al cliente si no se realiza ninguna𝑟 0 acción de comercialización, y es el ingreso si se realiza la comercialización, serán𝑟 1 𝑟 0 𝑦 𝑟 1 igual a menos que la acción de marketing ofrezca un descuento. Sea el resultado de establecer a 1 y dejar el resto de sin cambios y𝑓 𝑖 1(𝑀) 𝑀 𝑖 𝑀 similar a . El aumento esperado de las ganancias de marketing para el cliente𝑓 𝑖 0(𝑀) 𝑖 ignorando su efecto sobre otros clientes, es: 𝐸𝐿𝑃 𝑖 (𝑋𝑘, 𝑌, 𝑀) = 𝑟 1 𝑃(𝑋 𝑖 = 1|𝑋𝑘, 𝑌, 𝑓 𝑖 1(𝑀)) − 𝑟 0 𝑃(𝑋 𝑖 = 1|𝑋𝑘, 𝑌, 𝑓 𝑖 0(𝑀)) − 𝑐 Ecuación 2.6 Donde es el vector nulo (todosceros). El aumento global en las ganancias que𝑀 0 resulta de una elección particular M de clientes para comercializar es entonces: 𝐸𝐿𝑃 𝑖 (𝑋𝑘, 𝑌, 𝑀) = 𝑖=1 𝑛 ∑ 𝑟 1 𝑃(𝑋 𝑖 = 1|𝑋𝑘, 𝑌, 𝑀) − 𝑟 0 𝑖=1 𝑛 ∑ 𝑃(𝑋 𝑖 = 1|𝑋𝑘, 𝑌, 𝑀 0 ) − |𝑀|𝑐 Ecuación 2.7 Donde: ● si𝑟 𝑖 = 𝑟 1 𝑀 𝑖 = 1 ● si𝑟 𝑖 = 𝑟 0 𝑀 𝑖 = 0 ● es el número de 1 en|𝑀| 𝑀 El objetivo es encontrar la asignación de valores a M que maximice ELP. En general, encontrar la M óptima requiere probar todas las combinaciones posibles de asignaciones a sus componentes. Como esto es imposible, proponen utilizar uno de los siguientes métodos aproximados: ● Single pass ● Greedy search ● Hill-climbing search Cada método es computacionalmente más costoso que el anterior, pero potencialmente conduce a una mejor solución para M (es decir, produce un ELP más alto). Supongamos ahora que podemos aumentar la probabilidad de compra de un cliente al aumentar la cantidad gastada en marketing para ella, y que podemos estimar cuánto se necesita gastar para producir un aumento dado en la probabilidad de compra. El costo óptimo de adquisición del cliente para el cliente es entonces el valor de que maximiza su𝑖 𝐶 𝑖 valor total con reemplazado por en la𝐸𝐿𝑃(𝑋𝑘, 𝑌, 𝑓 𝑖 1(𝑀)) − 𝐸𝐿𝑃(𝑋𝑘, 𝑌, 𝑓 𝑖 0(𝑀)) |𝑀|𝑐 𝑖=1 𝑛 ∑ 𝐶 𝑖 ecuación 2.7. The Independent Cascade y Linear Threshold Los primeros en considerar la propagación de la influencia y el problema de la obtención de usuarios influyentes en una red, fueron Domingos y Richardson [10] [17]. Ellos modelaron el problema mediante campos aleatorios de Markov y proporcionaron heurísticas para elegir a los usuarios a los que apuntar. Kempe, por otro lado, en [11] hizo foco en dos modelos de propagación, “The Independent Cascade” (IC) y “Linear Threshold” (LT). En ambos modelos un nodo está activo o inactivo, en un tiempo dado. El tiempo se desarrolla en pasos discretos. La tendencia de un nodo a activarse aumenta a medida que sus vecinos se activan, y un nodo activo, nunca vuelve a estar inactivo. Bajo los modelos de propagación, IC y LT, se demostró que el problema es NP-Hard. Sin embargo, Kempe mostró que la función ) es monótona y submodular. Una funciónσ 𝑚 (𝑆 de un conjunto de reales, es monótona si donde . Una función es𝑓 𝑓(𝑠) ≤ 𝑓(𝑡) 𝑆 ⊆ 𝑇 submodular si siempre que La𝑓(𝑆 + 𝑤) − 𝑓(𝑆) ≥ 𝑓(𝑇 + 𝑤) − 𝑓(𝑇) 𝑆 ⊆ 𝑇. submodularidad dice intuitivamente que la probabilidad de un nodo activo, de activar algún nodo inactivo no aumenta si más nodos ya han intentado activarlo. Esto también se llama "la ley de rendimientos decrecientes". Para cualquier función submodular monótona con𝑓 , el problema de encontrar un conjunto S de tamaño k tal que sea máximo,𝑓 (ϕ) = 0 𝑓(𝑆) puede aproximarse a un factor de (1−1 / e) por un algoritmo Greedy, un resultado que se traslada directamente a el problema de maximización de influencia. En el modelo IC, cuando un nodo se activa por primera vez, digamos en el tiempo𝑣 , se considera contagioso. Tiene una posibilidad de influir en cada vecino inactivo con𝑡 𝑢 probabilidad , independientemente de la historia hasta el momento. Si la tentativa tiene𝑝 𝑣,𝑢 éxito, se activa en el tiempo . La probabilidad puede considerarse como la fuerza𝑢 𝑡 + 1 𝑝 𝑣,𝑢 de la influencia de sobre𝑣 𝑢. En el modelo LT, por otro lado, cada nodo está influenciado por cada vecino de𝑢 𝑣 acuerdo con un peso de modo que la suma de los pesos entrantes a no es mayor que𝑝 𝑣,𝑢 𝑢 1. Cada nodo elige un umbral uniformemente al azar entre [0 , 1]. En cualquier marca𝑢 θ 𝑢 de tiempo , si el peso total de los vecinos activos de un nodo inactivo es al menos ,𝑡 𝑢 θ 𝑢 entonces se activa en la marca de tiempo𝑢 𝑡 + 1. Para fundamentar esto, Kempe en [11] considera un punto en el proceso del algoritmo cuando el nodo se activa e intenta activar a su vecino , teniendo éxito con un𝑣 𝑤 probabilidad . Podemos ver el resultado de este evento aleatorio como determinado al𝑝 𝑣,𝑤 lanzar una moneda de sesgo . Desde el punto de vista del proceso, claramente no𝑝 𝑣,𝑤 importa si la moneda fue lanzada en el momento en que se activó, o si fue lanzada al𝑣 comienzo de todo el proceso y solo se está revelando ahora. Continuando con ese razonamiento, supone que, para cada par de vecinos en el grafo, se lanza una(𝑣, 𝑤) moneda de sesgo al comienzo del proceso (independientemente de las monedas para𝑝 𝑣,𝑤 todos los demás pares de vecinos), y el resultado se almacena para que luego pueda verificarse en caso de que se active mientras todavía está inactivo.𝑣 𝑤 Con todas las monedas lanzadas por adelantado, el proceso se puede ver de la siguiente manera. Las aristas en para los cuales el lanzamiento de la moneda indica que𝐺 una activación será exitosa se declaran vivos; Las aristas restantes se declaran bloqueadas. Si arreglamos los resultados de los lanzamientos de monedas y luego activamos inicialmente un conjunto , queda claro cómo determinar el conjunto completo de nodos𝐴 activos al final del proceso en cascada: Teniendo en cuenta que, “un nodo termina activo si y sólo si, hay un camino desde algún nodo en a que𝑥 𝐴 𝑥 consiste completamente en bordes vivos. (Llamaremos a este camino un camino de borde vivo)” Aclaración 2.1 Si se considera el espacio de probabilidades en el que cada punto muestral especifica un posible conjunto de resultados, para todos los lanzamientos de moneda en los bordes. Sea X un punto muestral en este espacio, y se define como el número total deσ 𝑥 (𝐴) nodos activados por el proceso cuando es el conjunto objetivo inicialmente y X es el𝐴 conjunto de resultados de todos los lanzamientos de monedas en los bordes. Como se fijó una opción para que es de hecho una cantidad determinista y existe una forma𝑋, σ 𝑥 (𝐴) natural de expresar su valor, como sigue. Sea el conjunto de todos los nodos a los𝑅(𝑣, 𝑋) que se puede llegar desde v, en una ruta que consta completamente de bordes vivos. Según la aclaración 2.1, es el número de nodos que se pueden alcanzar en las rutasσ 𝑥 (𝐴) de borde vivo desde cualquier nodo en , por lo que es igual a la cardinalidad de la unión𝐴 .𝑈 𝑣∈𝐴 𝑅(𝑣, 𝑋) Para probar que IC es submodular, en [11] se afirma que para cada resultado fijo ,𝑋 la función es submodular. Para ver esto, propone que y sean dos conjuntos deσ 𝑥 (·) 𝑆 𝑇 nodos tales que , y considera la cantidad . Este es el número de𝑆 ⊆ 𝑇 σ 𝑥 (𝑆 ∪ {𝑣}) − σ 𝑥 (𝑆) elementos en que aún no están en la unión ; es al menos tan grande𝑅(𝑣, 𝑋) 𝑈 𝑢∈𝑆 𝑅(𝑢, 𝑋) como el número de elementos en que no están en la unión (más grande)𝑅(𝑣, 𝑋) 𝑈 𝑢∈𝑆 𝑅(𝑢, 𝑋) . Se deduce que σX (S ∪ {v}) - σX (S) ≥ σX (T ∪ {v}) - σX (T), que es la desigualdad definitoria para la submodularidad. En el análisis para el modelo de LT, cada nodo tiene un peso de influencia𝑣 𝑏 𝑣,𝑤 ≥ 0 de cada uno de sus vecinos , sujeto a la restricción de que . (Podemos extender𝑤 𝑤 ∑ 𝑏 𝑣,𝑤 ≤ 1 esta notación escribiendo cuando no es un vecino de ).𝑏 𝑣,𝑤 = 0 𝑤 𝑣 Supongamos que selecciona al menos una de sus aristas al azar, seleccionando la𝑣 arista con probabilidad y no seleccionando la arista con probabilidad . El𝑤 𝑏 𝑣,𝑤 1 − 𝑤 ∑ 𝑏 𝑣,𝑤 borde seleccionado se declara como "en vivo", y todos los demás bordes se declaran como "bloqueados". Se necesita demostrar que la accesibilidad bajo la elección aleatoria de bordes vivos y bloqueados define un proceso equivalente al del Modelo LT. Para obtener una intuición sobre esta equivalencia, es útil analizar primero el caso especial en el que el grafo subyacente es dirigido y acíclico. En este caso, podemos arreglar un orden topológico de𝐺 los nodos (para que todos los bordes pasen de nodos anteriores a nodos𝑣 1 , 𝑣 2 ,..., 𝑣 𝑛 posteriores en el orden) y desarrolle la distribución de conjuntos activos siguiendo ese orden. Para cada nodo , supongamos que ya hemos determinado la distribución en𝑣 𝑖 subconjuntosactivos de sus vecinos. Luego, bajo el proceso de LT, la probabilidad de que 𝑣 𝑖 se active, dado que un subconjunto de sus vecinos está activo, es . Esta es𝑆 𝑖 𝑤∈𝑆 𝑖 ∑ 𝑏 𝑣 𝑖 ,𝑤 precisamente la probabilidad de que el borde entrante en vivo seleccionado por se𝑣 𝑖 encuentre en , por lo que inductivamente vemos que los dos procesos definen la misma𝑆 𝑖 distribución sobre conjuntos activos. Para probar la aclaración, considere un grafo que no sea acíclico. Se vuelve más𝐺 complicado mostrar la equivalencia, porque no hay un orden natural de los nodos sobre los cuales realizar la inducción. En cambio, discutimos por inducción sobre las iteraciones del proceso de LT. Definimos como el conjunto de nodos activos al final de la iteración , para𝐴 𝑡 𝑡 (teniendo en cuenta que es el conjunto inicialmente dirigido). Si el nodo no𝑡 = 0, 1, 2,... 𝐴 0 𝑣 se ha activado al final de la iteración , entonces la probabilidad de que se active en la𝑡 iteración es igual a la posibilidad de que los pesos de influencia en lo empujen𝑡 + 1 𝐴 𝑡 /𝐴 𝑡−1 por encima de su umbral, dado que su el umbral no fue excedido ya; esta probabilidad es ( 𝑢∈𝐴 𝑡 \𝐴 𝑡−1 ∑ 𝑏 𝑣,𝑤 )/(1 − 𝑢∈𝐴 𝑡−1 ∑ 𝑏 𝑣,𝑤 ) Ecuación 2.21 Por otro lado, podemos ejecutar el proceso de borde vivo revelando las identidades de los bordes vivos gradualmente de la siguiente manera. Comenzamos con el conjunto objetivo . Para cada nodo con al menos un borde del conjunto , determinamos si el𝐴 𝑣 𝐴 borde activo de proviene de . Si es así, entonces es accesible; pero si no, mantenemos𝑣 𝐴 𝑣 desconocido el origen del borde vivo de , sujeto a la condición de que provenga del𝑣 exterior . Después de haber expuesto un nuevo conjunto de nodos accesibles en la𝐴 primera etapa, procedemos a identificar otros nodos accesibles mediante realizando el𝐴 1 ' mismo proceso en las aristas de , y de esta manera produce conjuntos Si no se𝐴 1 ' 𝐴 2 ' , 𝐴 3 ' ,... ha determinado que el nodo es alcanzable al final de la etapa , entonces la probabilidad𝑣 𝑡 de que se determine que se puede alcanzar en la etapa es igual a la probabilidad de𝑡 + 1 que su borde vivo provenga de , dado que su ventaja en vivo no proviene de ninguno𝐴 𝑡 \𝐴 𝑡−1 de los conjuntos anteriores. Pero esta es la fórmula: ( 𝑢∈𝐴 𝑡 \𝐴 𝑡−1 ∑ 𝑏 𝑣,𝑤 )/(1 − 𝑢∈𝐴 𝑡−1 ∑ 𝑏 𝑣,𝑤 ) Ecuación 2.22 que es igual que en el proceso de LT del párrafo anterior. Por lo tanto, por inducción sobre estas etapas, vemos que el proceso de borde vivo produce la misma distribución sobre conjuntos activos que el proceso umbral lineal. Credit Distribution Goyal en [2] adopta una perspectiva diferente sobre la definición del alcance esperado, al tratar el problema de maximización de la influencia. Teniendo en cuenta que los modelos IC y LT discutidos anteriormente son de naturaleza probabilística. En el modelo IC, los lanzamientos de monedas deciden si un nodo activo logrará activar sus pares. En el modelo LT, es el umbral de nodo elegido uniformemente al azar, junto con los pesos de influencia de los vecinos activos, lo que decide si un nodo se vuelve activo. Bajo ambos modelos, podemos pensar en una traza de propagación el resultado de un conjunto de elecciones probabilísticas. Dado un modelo de propagación y un grafo dirigido y ponderado , donde 𝐺 = (𝑉, 𝐸, 𝑝) denota el conjunto de todos los mundos posibles. Independientemente del modelo𝐺 𝑚 elegido, la extensión esperada se puede escribir como:σ 𝑚 (𝑆) σ 𝑚 (𝑆) = 𝑥∈𝐺 ∑ 𝑃𝑟[𝑋] · σ 𝑚 𝑥 (𝑆) Ecuación 2.23 donde es el número de nodos alcanzables desde en el posible mundo . El númeroσ 𝑚 𝑥 (𝑆) 𝑆 𝑋 de mundos posibles es claramente exponencial, por lo tanto, el enfoque estándar (simulaciones Montecarlo) es muestrear un mundo posible X ∈ G, calcular y repetirσ 𝑚 𝑥 (𝑆) hasta que el número de mundos muestreados sean lo suficientemente grandes. Mientras que el enfoque estándar muestra mundos posibles desde la perspectiva de la ecuación 2.23, Goyal en [2] observa que las trazas de propagaciones reales son similares a los mundos posibles, excepto que son "mundos reales disponibles", es decir, estima directamente utilizando las trazas de propagación disponibles en el𝑃𝑟[𝑝𝑎𝑡ℎ(𝑆, 𝑢) = 1] registro de propagación. Para estimar utilizando trazas de propagación disponibles, es𝑃𝑟[𝑝𝑎𝑡ℎ(𝑆, 𝑢) = 1] natural interpretar tal cantidad como la fracción de las acciones iniciadas por que se𝑆 propagaron a , dado que es el conjunto de semillas. Más precisamente, podríamos𝑢 𝑆 estimar esta probabilidad como: |{𝑎 ∈ 𝐴|𝑖𝑛𝑖𝑡𝑖𝑎𝑡𝑒(𝑎, 𝑆)&∃𝑡: (𝑢, 𝑎, 𝑡) ∈ 𝐿}| / |{𝑎 ∈ 𝐴|𝑖𝑛𝑖𝑡𝑖𝑎𝑡𝑒(𝑎, 𝑆)}| Ecuación 2.24 donde denota el registro de propagación y es verdadero si es precisamente𝐿 𝑖𝑛𝑖𝑡𝑖𝑎𝑡𝑒(𝑎, 𝑆) 𝑆 el conjunto de iniciadores de acción . Desafortunadamente, este enfoque sufre un𝑎 problema de escasez que es intrínseco al problema de maximización de influencia. Considere, por ejemplo, un nodo que es un usuario muy influyente para la mitad de𝑥 la red, y otro nodo que es un usuario muy influyente para la otra mitad de la red. Es𝑦 probable que su unión sea un conjunto de semillas muy bueno, pero no podemos{𝑥, 𝑦} estimar su propagación utilizando la fracción de las acciones que contienen , porque es{𝑥, 𝑦} posible que no tengamos propagación en los datos con como el conjunto de semillas{𝑥, 𝑦} real. Resumiendo, si necesitamos estimar para cualquier conjunto y𝑃𝑟[𝑝𝑎𝑡ℎ(𝑆, 𝑢) = 1] 𝑆 nodo , necesitaremos una enorme cantidad de trazas de propagación correspondientes a𝑢 varias combinaciones, donde cada traza tiene como su conjunto iniciador precisamente el conjunto de nodos requerido . Es claramente poco práctico encontrar un registro de acción𝑆 del mundo real donde esto se pueda realizar (a menos que alguien establezca un experimento a gran escala basado en humanos, donde se inicien muchas propagaciones con los conjuntos de semillas deseados). Para superar este obstáculo, los autores sugieren una perspectiva "u-centrica" para la estimación de : escanean el registro de propagación y cada vez que𝑃𝑟[𝑝𝑎𝑡ℎ(𝑆, 𝑢) = 1] 𝑢 realiza una acción se distribuyen "créditos" a los posibles influenciadores del nodo ,𝑢 retrocediendo la red de propagación. Este modelo se denomina Credit Distribution. Tenemos un grafo donde , con nodos correspondientes a los usuarios y𝐺 = (𝑉, 𝐸) 𝑉 bordes dirigidos (no ponderados) correspondientes a los lazos sociales entre los usuarios,𝐸 y un registro de acciones, es decir, una relación donde una tupla𝐿(𝑈𝑠𝑒𝑟, 𝐴𝑐𝑡𝑖𝑜𝑛, 𝑇𝑖𝑚𝑒) indica que un usuario realizó la acción en el tiempo . Contiene una tupla(𝑢, 𝑎, 𝑡) ∈ 𝐿 𝑢 𝑎 𝑡 para cada acción realizada por cada usuario del sistema. Además se asume que la proyección de en la primera columna está contenida en el conjunto de nodos del grafo𝐿 𝑉 𝐺 . denota el universo de acciones, es decir, la proyección de en la segunda columna.𝐴 𝐿 Además, suponemos que un usuario realiza una acción como máximo una vez, y definimos la función para devolver el tiempo cuando el usuario realizó la acción (el valor𝑡(𝑢, 𝑎) 𝑢 𝑎 no está definido si nunca se realizó , y es falso siempre que𝑡(𝑢, 𝑎) 𝑎 𝑡(𝑢, 𝑎) < 𝑡(𝑣, 𝑎) cualquier no esté definido).𝑡(𝑢, 𝑎), 𝑡(𝑣, 𝑎) Decimos que se propaga del nodo a si y sólo si, están socialmente vinculados,𝑎 𝑢 𝑣 y realiza una acción antes que (también decimos que influye sobre por ). Esto𝑢 𝑎 𝑣 𝑢 𝑣 𝑎 define un grafo de propagación de cómo un grafo dirigido con𝑎 𝐺(𝑎) = (𝑉(𝑎), 𝐸(𝑎)) y . Tenga en cuenta𝑉(𝑎) = {𝑣 ∈ 𝑉|∃ι : (𝑣, 𝑎, 𝑡) ∈ 𝐿} 𝐸(𝑎) = {(𝑢, 𝑣) ∈ 𝐸 | 𝑡(𝑢, 𝑎) < 𝑡(𝑣, 𝑎)} que el grafo de propagación de una acción es la representación gráfica de la traza de𝑎 propagación de , y siempre es un DAG: está dirigido, cada nodo puede tener cero o más𝑎 padres, y los ciclos son imposibles debido a la restricción de tiempo . El registro de acciones es, por lo tanto, un conjunto de estos DAG querepresentan trazas de propagación a𝐿 través del grafo. Denotamos el conjunto de potenciales𝑁 𝑖𝑛 (𝑢, 𝑎) = {𝑣|(𝑣, 𝑢) ∈ 𝐸(𝑎)} influyentes de para la acción y ser el grado de para la acción .𝑢 𝑎 𝑑 𝑖𝑛 (𝑢, 𝑎) = |𝑁 𝑖𝑛 (𝑢, 𝑎)| 𝑢 𝑎 Finalmente, llamamos a un usuario un iniciador de la acción si y ,𝑢 𝑎 𝑢 ∈ 𝑉(𝑎) 𝑑 𝑖𝑛 (𝑢, 𝑎) = 0 es decir, realizó la acción pero ninguno de sus vecinos la realizó antes que .𝑢 𝑎 𝑢 Cuando un usuario realiza una acción , deseamos otorgar crédito de influencia𝑢 𝑎 directa, denotado por , para todo , es decir, todos los vecinos de queγ 𝑣,𝑢 (𝑎) 𝑣 ∈ 𝑁 𝑖𝑛 (𝑢, 𝑎) 𝑢 realizaron la misma acción antes de . Restringimos la suma de los créditos directos𝑎 𝑢 otorgados por un usuario a sus vecinos para que no sea mayor que 1. Podemos tener varias formas de asignar crédito directo: para facilitar la explicación, asumimos por el momento dar créditos iguales a cada vecino de , es decir, para todo𝑣 𝑢 γ 𝑣,𝑢 (𝑎) = 1/𝑑 𝑖𝑛 (𝑢, 𝑎) . Más adelante se comentará un método más sofisticado para asignar crédito𝑣 ∈ 𝑁 𝑖𝑛 (𝑢, 𝑎) directo. Intuitivamente, también queremos distribuir el crédito de influencia de forma transitiva hacia atrás en el grafo de propagación , de modo que no solo otorgue𝐺(𝑎) 𝑢 crédito a los usuarios , sino que a su vez transfieran el crédito a sus𝑣 ∈ 𝑁 𝑖𝑛 (𝑢, 𝑎) predecesores en y así sucesivamente. Esto sugiere la siguiente definición de crédito𝐺(𝑎) total otorgado a un usuario por influir en en la acción , correspondiente a múltiples𝑣 𝑢 𝑎 rutas de propagación: Γ 𝑣,𝑢 (𝑎) = 𝑤∈𝑁 𝑖𝑛 (𝑢,𝑎) ∑ Γ 𝑣,𝑤 (𝑎) · γ 𝑤,𝑢 (𝑎) Ecuación 2.25 donde la base de la recursión es . A veces, cuando la acción es clara desde elΓ 𝑣,𝑣 (𝑎) = 1 contexto, podemos omitir y simplemente escribir y . De ahora en más, como ejemplo,γ 𝑣,𝑢 Γ 𝑣,𝑢 consideramos el grafo de la figura 1 como el grafo de propagación con los bordes𝐺(𝑎) etiquetados con crédito directo . Por ejemplo:γ 𝑣,𝑢 (𝑎) = 1/𝑑 𝑖𝑛 (𝑢, 𝑎) Γ 𝑣,𝑢 = Γ 𝑣,𝑣 · γ 𝑣,𝑢 + Γ 𝑣,𝑡 · γ 𝑡,𝑢 + Γ 𝑣,𝑤 · γ 𝑤,𝑢 + Γ 𝑣,𝑧 · γ 𝑧,𝑢 = 1 · 0. 25 + 0. 5 · 0. 25 + 1 · 0. 25 + 0. 5 · 0. 25 = 0. 75 Ecuación 2.26 Luego definimos el crédito total otorgado a un conjunto de nodos por influir𝑆 ⊆ 𝑉(𝑎) al usuario en la acción de la siguiente manera:𝑢 𝑎 Si 𝑣 ∈ 𝑆: Γ 𝑆,𝑢 = 𝑤∈𝑁 𝑖𝑛 (𝑢,𝑎) ∑ Γ 𝑠,𝑤 (𝑎) · γ 𝑤,𝑢 (𝑎) ⎰ ⎱ ⎱ ⎰ Ecuación 2.27 Sino: 1 Considere nuevamente el grafo de propagación en la Figura 1. Sea𝐺(𝑎) 𝑆 = {𝑣, 𝑧} Entonces, es la fracción de flujo que llega a que fluye desde o :Γ 𝑆,𝑢 𝑢 𝑣 𝑧 Γ 𝑆,𝑢 = Γ 𝑆,𝑤 · γ 𝑤,𝑢 + Γ 𝑆,𝑣 · γ 𝑣,𝑢 + Γ 𝑆,𝑡 · γ 𝑡,𝑢 + Γ 𝑆,𝑧 · γ 𝑧,𝑢 = 1 · 0. 25 + 1 · 0. 25 + 0. 5 · 0. 25 + 1 · 0. 25 = 0. 875 Ecuación 2.28 La siguiente pregunta es cómo agregar el crédito de influencia sobre todo el registro de acciones . Considere dos nodos y : el crédito de influencia total otorgado a por𝐿 𝑣 𝑢 𝑣 𝑢 para todas las acciones en , se obtiene simplemente tomando el crédito total sobre todas𝐴 las acciones y normalizando por el número de acciones realizadas por (denotado ). Esto𝑢 𝐴 𝑢 se justifica por el hecho de que los créditos son asignados por hacia atrás a sus posibles𝑢 influenciadores. Entonces definimos: 𝐾 𝑣,𝑢 = 1/𝐴 𝑢 𝑎∈𝐴 ∑ Γ 𝑣,𝑢 (𝑎) Ecuación 2.29 Intuitivamente, denota el crédito promedio otorgado a por influir en , sobre todas𝑣 𝑢 las acciones que realiza. Del mismo modo, para el caso de un conjunto de nodos ,𝑢 𝑆 ⊆ 𝑉 podemos definir el crédito de influencia total para todas las acciones en como:𝐴 𝐾 𝑆,𝑢 = 1/𝐴 𝑢 𝑎∈𝐴 ∑ Γ 𝑆,𝑢 (𝑎) Ecuación 2.30 Luego se analizó definir el crédito directo dado por un nodo a un vecinoγ 𝑣,𝑢 (𝑎) 𝑢 𝑣 para la acción . Se observó que la influencia decae con el tiempo de manera exponencial y𝑎 que algunos usuarios son más influyentes que otros. Motivado por estas ideas, propusieron la asignación de crédito directo como: γ 𝑣,𝑢 (𝑎) = (𝑖𝑛𝑓𝑙𝑢(𝑢)/𝑁 𝑖𝑛 (𝑢, 𝑎)) · 𝑒𝑥𝑝(− [(𝑡(𝑢, 𝑎) − 𝑡(𝑣, 𝑎))/𝑡 𝑣,𝑢 ]) Ecuación 2.31 Aquí es el tiempo promedio necesario para que las acciones se propaguen del𝑡 𝑣,𝑢 usuario al usuario . El término exponencial en la ecuación logra el efecto deseado que𝑣 𝑢 influye en las desintegraciones con el tiempo. Además, denota la capacidad de𝑖𝑛𝑓𝑙𝑢(𝑢) influencia del usuario, es decir, qué tan propenso es al usuario a influir en el contexto𝑢 social. Precisamente, se define como la fracción de acciones que realiza bajo la𝑖𝑛𝑓𝑙𝑢(𝑢) 𝑢 influencia de al menos uno de sus vecinos, digamos ; es decir, realiza la acción, digamos𝑣 𝑢 , Normalizado por para garantizar que la suma de los𝑎 𝑡(𝑢, 𝑎) − 𝑡(𝑣, 𝑎) ≤ τ 𝑣,𝑢 ; 𝑁 𝑖𝑛 (𝑢, 𝑎) créditos directos asignados a los vecinos de debido a la acción sea como máximo uno.𝑢 𝑎 Hay que tener en cuenta que tanto y se aprende de .𝑖𝑛𝑓𝑙𝑢(𝑢) 𝑡 .𝑢 𝐿 Ant Colony Las hormigas son unos insectos hipersociales que suelen vivir en comunidades organizadas bajo tierra, en túmulos a nivel del suelo o en árboles, la mayoría de las especies están completamente ciegas. Pero pueden encontrar comida (en un grupo) con la ayuda de un tipo especial de químico denominado “Feromona”. Ésta desempeña un papel importante en la toma de decisiones cuando las hormigas mueven la comida al nido, la hormiga realiza un comportamiento de búsqueda en el que las hormigas (siempre en una cola) depositan feromonas en un camino durante la búsqueda de alimentos y forman un rastro. Si no se encuentra ningún rastro de feromona, las hormigas se mueven de manera básicamente aleatoria, pero cuando existe feromona depositada, tienen mayor tendencia a seguir el rastro. La elección entre distintos caminos toma lugar cuando varios caminos se cruzan. Entonces, las hormigas eligen el camino a seguir con una decisión probabilística sesgada por la cantidad de feromona, cuanto más fuerte es el rastro de feromona, mayor es la probabilidad de elegirlo. Puesto que las hormigas depositan feromona en el camino que siguen, este comportamiento lleva a un proceso de auto-refuerzo que concluye con la formación de rastros señalados por una concentración de feromona elevada. Este comportamiento permite además a las hormigas encontrar los caminos más cortos entre su hormiguero y la fuente del alimento [26]. Proceso Inicialmente no existe ningún rastro de feromona en el camino y, cuando una hormiga llega a una intersección y debe elegir entre dos caminos, elige de manera aleatoria uno de los caminos. Según transcurre el tiempo y mientras que las hormigas están recorriendo los caminos, estos van recibiendo una cantidad superior de feromona. Esto ocurre gracias a que al ser los caminos más cortos, las hormigas que los siguen consiguen encontrar la comida más rápidamente, por lo que comienzan su viaje de retorno antes. Entonces, en el camino más corto habrá un rastro de feromona ligeramente superior y, por lo tanto, las decisiones de las siguientes hormigas estarán dirigidas en mayor medida a dicho camino. Además, este camino recibirá una proporción mayor de feromona por las hormigas que vuelven por él que por las que vuelven por el camino más largo. Este proceso finaliza haciendo que la probabilidad de que una hormiga escoja el camino más corto aumente progresivamente y que al final el recorrido de la colonia converja al más corto de todos los caminos posibles. Figura 2.1: Demostración de rastros de feromonas en una bifurcación. Esta convergencia se complementa con la acción del entorno natural que provoca que la feromona se evapore transcurrido un cierto tiempo. Así, los caminos menos prometedores pierden progresivamente feromonas porque son visitados cada vez por menos hormigas. Sin embargo, algunos estudios biológicos han demostrado que los rastros de feromona son muy persistentes, la feromona puede permanecer desde unas pocas horas hasta varios meses dependiendo de variosaspectos distintos, como la especie de las hormigas, el tipo de suelo, etc [27]. Esto último provoca una menor influencia del efecto de la evaporación en el proceso de búsqueda del camino más corto [7]. Metaheurística de Optimización Basada en Colonias de Hormigas Los algoritmos de Optimización basada en colonia de hormigas (ACO por sus siglas en inglés), se inspiran directamente en el comportamiento de las colonias de hormigas naturales. Los algoritmos de ACO, son por esencia, algoritmos constructivos, estos algoritmos se basan en ir generando paso a paso una solución completa a un problema eligiendo elementos de una lista de candidatos, análogamente, cada hormiga construye una solución parcial al problema recorriendo el grafo. Cada arista del grafo, que representa un posible movimiento de la hormiga, posee información de dos tipos: 1. Información heurística, que mide la preferencia heurística de moverse desde el nodo hasta el nodo , o sea, de recorrer la arista .𝑟 𝑠 𝑎 𝑟𝑠 2. Información de los rastros de feromona artificiales, que mide la “deseabilidad aprendida” del movimiento de a . Imita a la feromona real que depositan las𝑟 𝑠 hormigas naturales. El modo de operación básico de un algoritmo de ACO es como sigue: las m hormigas (artificiales) de la colonia se mueven, concurrentemente y de manera asíncrona, a través de los estados adyacentes del grafo. Este movimiento se realiza siguiendo una regla de transición que está basada en la información local, es decir, los nodos. Esta información incluye la información heurística y memorística (rastros de feromona) para guiar la búsqueda. Al moverse por el grafo, las hormigas construyen incrementalmente soluciones. Opcionalmente, las hormigas pueden depositar feromona cada vez que crucen por una arista mientras construyen la solución (actualización en línea paso a paso de los rastros de feromona). Una vez que cada hormiga ha generado una solución se evalúa ésta y puede depositar una cantidad de feromona que es función de la calidad de su solución. Esta información guiará la búsqueda de las otras hormigas de la colonia en el futuro. Además, el modo de operación genérico de un algoritmo de ACO incluye dos procedimientos adicionales, la evaporación de los rastros de feromona y las acciones del demonio. La evaporación de feromona la lleva a cabo el entorno y se usa como un mecanismo que evita el estancamiento en la búsqueda y permite que las hormigas busquen y exploren nuevas regiones del espacio. Las acciones del demonio son acciones opcionales para implementar tareas desde una perspectiva global que no pueden llevar a cabo las hormigas por la perspectiva local que ofrecen. Ejemplos son observar la calidad de todas las soluciones generadas y depositar una nueva cantidad de feromona adicional sólo en las transiciones/componentes asociadas a algunas soluciones, o aplicar un procedimiento de búsqueda local a las soluciones generadas por las hormigas antes de actualizar los rastros de feromona. En ambos casos, el demonio reemplaza la actualización en línea a posteriori de feromona y el proceso pasa a llamarse actualización fuera de línea de rastros de feromona. Figura 2.2: algoritmo ACO. El primer paso incluye la inicialización de los valores de los parámetros que se tienen en consideración en el algoritmo. Entre otros, se deben fijar el rastro inicial de feromona asociado a cada transición, , que es un valor positivo pequeño, normalmente el𝑡 0 mismo para todas las componentes/conexiones, el número de hormigas en la colonia, , y𝑚 los pesos que definen la proporción en la que afectarán la información heurística y memorística en la regla de transición probabilística. Varios componentes son o bien opcionales, como las acciones del demonio, o bien dependientes estrictamente del algoritmo de ACO específico, por ejemplo cuándo y cómo se deposita la feromona. Generalmente, la actualización en línea paso a paso de los rastros de feromona y la actualización en línea a posteriori de los rastros de feromona son mutuamente excluyentes y no suelen estar presentes a la vez ni faltar ambas al mismo tiempo (si las dos faltan, el demonio suele actualizar los rastros de feromona). Por otro lado, hay que remarcar que el procedimiento actualiza_memoria_hormiga() se encarga de especificar el estado inicial desde el que la hormiga comienza su camino y, además almacenar la componente correspondiente en la memoria de la hormiga L. La decisión sobre cuál será dicho nodo depende del algoritmo específico (puede ser una elección aleatoria o una fija para toda la colonia, o una elección aleatoria o fija para cada hormiga, etc.). Por último, los procedimientos calcular_probabilidades_de_transición() y aplicar_política_decisión() tienen en consideración el estado actual de la hormiga, los valores actuales de la feromona visibles en dicho nodo y las restricciones del problema W para establecer el proceso de transición probabilístico hacia otros estados válidos. En cualquier caso, la metaheurística ACO no es lo suficientemente general como para cubrir la familia completa de algoritmos de hormigas, que pueden definirse como métodos aproximados para solucionar problemas combinatorios basados en características del comportamiento genérico de las hormigas naturales. En la literatura se han propuesto diversos algoritmos que siguen la metaheurística ACO. Entre los algoritmos de ACO disponibles para problemas de optimización combinatoria NP-hard, se encuentran el Sistema de Hormigas (SH o Ant System (AS)), el Sistema de Colonia de Hormigas (SCH o Ant Colony System (ACS)), el Sistema de Hormigas Max-Min (SHMM, Max-Min Ant System), el SH con ordenación (Rank-Based Ant System) y el Sistema de la Mejor-Peor Hormiga (SMPH o Best-Worst Ant System). En lo que sigue, presentaremos una pequeña descripción de algunos de estos algoritmos. Sistema de Hormigas El SH [33], fue el primer algoritmo de ACO. Inicialmente se presentaron tres variantes: ● SH-densidad ● SH-cantidad ● SH-ciclo En los dos primeros la hormiga depositaban feromonas mientras que construían soluciones con la diferencia que la cantidad de feromona depositada en el SH-densidad es constante, mientras que en el SH-cantidad depende directamente de la deseabilidad heurística de la transición . Por último, en SH-ciclo, la inserción de feromona se lleva a𝑛 𝑟𝑠 cabo una vez que la solución está completa. Las soluciones en el SH se construyen de la siguiente manera. En cada paso de construcción, una hormiga escoge ir al siguiente nodo con una probabilidad:𝑘 Si 𝑠 ∈ 𝑁 𝑘 (𝑟) 𝑃 𝑟𝑠 𝑘 = τ 𝑟𝑠 ⎡ ⎢ ⎣ ⎤ ⎥ ⎦ α. η 𝑟𝑠[ ] β 𝑢∈𝑁 𝑟 𝑘 ∑ τ 𝑟𝑠 ⎡ ⎢ ⎣ ⎤ ⎥ ⎦ α. η 𝑟𝑠[ ] β ⎧ ⎪ ⎨⎪ ⎩ ⎫ ⎪ ⎬⎪ ⎭ En otro caso 0 Ecuación 2.8 Donde es el vecindario alcanzable por la hormiga cuando se encuentra en el𝑁 𝑘 (𝑟) 𝑘 nodo y son dos parámetros que ponderan la importancia relativa de los rastros𝑟 α, β ∈ 𝑅 de feromona y la información heurística. Cada hormiga almacena la secuencia que ha𝑘 seguido hasta el momento y su memoria , tal como se explicó antes, se utiliza para𝐿 𝑘 determinar en cada paso de construcción.𝑁 𝑘 (𝑟) Volviendo a los parámetros y , su función es la que sigue: si , aquellosα β α = 0 nodos con una preferencia heurística mejor tienen una mayor probabilidad de ser escogidos, haciendo el algoritmo muy similar a un algoritmo voraz probabilístico clásico. Sin embargo, si , solo se tienen en cuenta los rastros de feromonas para guiar el procesoβ = 0 constructivo, lo que puede causar un rápido estancamiento, esto es, una situación en la que los rastros de feromona asociados a una solución son ligeramente superiores que el resto, provocando por tanto que las hormigas siempre construyan las mismas soluciones, normalmente óptimos locales. Por lo tanto hay que ser preciso establecer una adecuada proporción entre la información heurística y la información de los rastros de feromonas. Como se mencionó, la disposición de feromona se realiza una vez que todas las hormigas han acabado de construirsus soluciones. Primero, los rastros de feromona asociados a cada arco se evaporan reduciendo su valor en un factor constante: τ 𝑟𝑠 ← (1 − ρ) · τ 𝑟𝑠 Ecuación 2.9 Donde es la tasa de evaporación. El siguiente paso de cada hormiga esρ ∈ (0, 1] recorrer de nuevo el camino ha seguido y deposita una cantidad de feromona en cada∆τ 𝑟𝑠 𝑘 arista por la que ha viajado: τ 𝑟𝑠 ← τ 𝑟𝑠 + ∆τ 𝑟𝑠 𝑘 , ∨ 𝑎 𝑟𝑠 ∈ 𝑆 𝑘 Ecuación 2.10 Donde , es decir, la cantidad de feromona que se deposita depende∆τ 𝑟𝑠 𝑘 = 𝑓(𝐶(𝑆 𝑘 )) de la cantidad de la solución construida para la hormiga .𝐶(𝑆 𝑘 ) 𝑆 𝑘 𝑘 Sistema de Colonia de Hormigas El SCH es uno de los primeros sucesores del SH, el cual introduce tres modificaciones importantes con respecto a dicho algoritmo de ACO: 1. El SCH usa una regla de transición distinta, denominada regla proporcional pseudo-aleatoria. Sea una hormiga situada en el nodo un parámetro y un𝑘 𝑟, 𝑞 0 ∈ [0, 1] 𝑞 valor aleatorio en [0,1], el siguiente nodo se elige aleatoriamente mediante la siguiente𝑠 distribución de probabilidad: Si, 𝑞 ≤ 𝑞 0 : 𝑃 𝑟𝑠 𝑘 = 1, 𝑠𝑖 𝑠 = 𝑎𝑟𝑔 𝑚𝑎𝑥 𝑢∈𝑁 𝑘 (𝑟) {τ 𝑟𝑢 · η 𝑟𝑢 β } ; 0 𝑒𝑛 𝑜𝑡𝑟𝑜 𝑐𝑎𝑠𝑜 ⎰ ⎱ ⎱ ⎰ Ecuación 1.11 Si, 𝑞 > 𝑞 0 : 𝑃 𝑟𝑠 𝑘 = τ 𝑟𝑠 ⎡ ⎢ ⎣ ⎤ ⎥ ⎦ α. η 𝑟𝑠[ ] β 𝑢∈𝑁 𝑟 𝑘 ∑ τ 𝑟𝑠 ⎡ ⎢ ⎣ ⎤ ⎥ ⎦ α. η 𝑟𝑠[ ] β ; 0 𝑒𝑛 𝑜𝑡𝑟𝑜 𝑐𝑎𝑠𝑜 ⎧ ⎪ ⎨⎪ ⎩ ⎫ ⎪ ⎬⎪ ⎭ Ecuación 2.12 Como se observa, la regla tiene una doble intención: cuando explota el𝑞 ≤ 𝑞 0 conocimiento disponible, eligiendo la mejor opción con respecto a la información heurística y los rastros de feromona. Sin embargo, si se aplica una exploración controlada, tal𝑞 > 𝑞 0 como se hacía en el SH. En resumen, la regla establece un compromiso entre la exploración de nuevas conexiones y la explotación de la información disponible en ese momento. 2. Sólo el demonio (y no las hormigas individualmente) actualiza la feromona, es decir, se realiza una actualización de feromona fuera de línea de los rastros. Para llevarla a cabo, el SCH sólo considera una hormiga concreta, la que generó la mejor solución global. La actualización de la feromona se hace evaporando primero los rastros de feromona en todas las conexiones utilizadas por la mejor hormiga global (es importante recalcar que, en el SCH, la evaporación de feromona sólo se aplica a las conexiones de la solución, que es también la usada para depositar feromona) tal como sigue: τ 𝑟𝑠 ← (1 − ρ) · τ 𝑟𝑠 , ∀α 𝑟𝑠 ∈ 𝑆 𝑚𝑒𝑗𝑜𝑟−𝑔𝑙𝑜𝑏𝑎𝑙 Ecuación 2.13 Luego, el demonio deposita feromonas usando la regla: τ 𝑟𝑠 ← τ 𝑟𝑠 + ρ · 𝑓(𝐶(𝑆 𝑚𝑒𝑗𝑜𝑟−𝑔𝑙𝑜𝑏𝑎𝑙 )) , ∀α 𝑟𝑠 ∈ 𝑆 𝑚𝑒𝑗𝑜𝑟−𝑔𝑙𝑜𝑏𝑎𝑙 Ecuación 2.14 Opcionalmente, el demonio puede aplicar un algoritmo de búsqueda local para mejorar las soluciones de las hormigas antes de actualizar los rastros de feromona. 3. Las hormigas aplican una actualización en línea paso a paso de los rastros de feromona que favorece la generación de soluciones distintas a las ya encontradas. Cada vez que una hormiga viaja por una arista , aplica la regla:𝑎 𝑟𝑠 τ 𝑟𝑠 ← (1 − φ) · τ 𝑟𝑠 + φ · τ 0 Ecuación 2.15 donde es un segundo parámetro de decremento de feromona. Como puedeφ ∈ (0, 1] verse, la regla de actualización en línea paso a paso incluye tanto la evaporación de feromona como la deposición de la misma. Ya que la cantidad de feromona depositada es muy pequeña (de hecho, es el valor del rastro de feromona inicial y se escogiese de talι 0 manera que, en la práctica, se corresponda con el límite menor de rastro de feromona, esto es, con la elección de las reglas de actualización de feromona del SCH ningún rastro de feromona puede caer por debajo de ), la aplicación de esta regla hace que los rastros deι 0 feromona entre las conexiones recorridas por las hormigas disminuyan. Así, esto lleva a una técnica de exploración adicional del SCH ya que las conexiones atravesadas por un gran número de hormigas son cada vez menos atractivas para el resto de hormigas que las recorren en la iteración actual, lo que ayuda claramente a que no todas las hormigas sigan el mismo camino. Este es el algoritmo a utilizar en nuestro desarrollo para complementar con el modelo Credit Distribution, que fué explicado anteriormente. Sistema de Hormigas Max-Min El SHMM [34] es una de las extensiones del SH que mejor rendimiento muestran. Extiende el SH en los siguientes aspectos: 1. Se aplica una actualización de los rastros de feromona fuera de línea, de manera similar a como se hace en el SCH. Después de que todas las hormigas hayan construido su solución cada rastro de feromona sufre una evaporación: τ 𝑟𝑠 = (1 − ρ) · τ 𝑟𝑠 Ecuación 2.16 y a continuación la feromona se deposita siguiendo la siguiente fórmula: τ 𝑟𝑠 = τ 𝑟𝑠 + 𝑓(𝐶(𝑆 𝑚𝑒𝑗𝑜𝑟 )), ∀ 𝑎 𝑟𝑠 ∈ ∀ 𝑆 𝑚𝑒𝑗𝑜𝑟 Ecuación 2.17 La mejor hormiga a la que se le permite añadir feromona puede ser, la que tiene la mejor solución de la iteración o la mejor solución global. Los resultados experimentales demuestran que el mejor rendimiento se obtiene incrementando gradualmente la frecuencia de escoger la mejor global para la actualización de feromona. 2. Los valores posibles para los rastros de feromona están limitados al rango .[𝑡 𝑚𝑖𝑛 , 𝑡 𝑚𝑎𝑥 ] Por lo tanto, la probabilidad de un estancamiento del algoritmo disminuye al darle a cada conexión existente una probabilidad, aunque bastante pequeña, de ser escogida. En la práctica, existen heurísticas para fijar los valores de y . Se puede ver que, a causa𝑡 𝑚𝑖𝑛 𝑡 𝑚𝑎𝑥 de la evaporación de la feromona, el nivel máximo de feromona en los rastros está limitado a donde es la solución óptima. Basándonos en este resultado, la𝑡 𝑚𝑎𝑥 * = 1/(ρ · 𝐶(𝑆*)) 𝑆* mejor solución global puede usarse para estimar sustituyendo por en la𝑡 𝑚𝑎𝑥 𝑆* 𝑆 𝑚𝑒𝑗𝑜𝑟−𝑔𝑙𝑜𝑏𝑎𝑙 ecuación de . Para , normalmente sólo es necesario escoger su valor de tal manera𝑡 𝑚𝑎𝑥 * 𝑡 𝑚𝑖𝑛 que sea un factor constante menor que .𝑡 𝑚𝑎𝑥 3. En vez de inicializar los rastros de feromona a una cantidad pequeña, el SHMM los inicializa a una estimación del máximo permitido para un rastro (la estimación puede obtenerse generando una solución S´ con una heurística voraz y reemplazando dicha solución en la ecuación de ). Esto lleva un componente adicional de diversificación en𝑆' 𝑡 𝑚𝑎𝑥 * el algoritmo, ya que al comienzo las diferencias relativas entre los rastros de feromona no serán muy acusadas, lo que no ocurre cuando los rastros de feromona se inicializan a un valor muy pequeño. Sistema de Hormigas con Ordenación El Sistema de Hormigas con Ordenación es otra extensión del SH [35] incorpora la idea de ordenar las hormigas para realizar la actualización de feromona, que el demonio realiza, de nuevo, fuera de línea, tal como se muestra a continuación: 1. Las m hormigas se ordenan de mejor a peor según la calidad de sus soluciones: , siendo la mejor solución construida en la iteración actual.(𝑆 1 ' ,..., 𝑆 𝑚 ' ) 𝑆 1 ' 2. El demonio deposita feromona en las conexiones por las que han pasado las σ − 1 mejores hormigas (hormigas elitistas). La cantidad de feromona depositada depende directamente del orden de la hormiga y de la calidad de su solución. 3. Las conexiones por las que ha pasado la mejor hormiga global reciben una cantidad adicional de feromona que depende únicamente de la calidad de dicha solución. Esta deposición de feromona se considera la más importante, de hecho, recibe un peso de .σ Esta metodología de operación tiene efecto al utilizar la siguiente regla de actualización de feromona, la cual se aplica a cada arista una vez que todos los rastros de feromona han sido evaporados: τ 𝑟𝑠 ← τ 𝑟𝑠 + σ · ∆τ 𝑟𝑠 𝑚𝑔 + ∆τ 𝑟𝑠 𝑜𝑟𝑑𝑒𝑛 Ecuación 2.18 donde, Si 𝑎 𝑟𝑠 ∈ 𝑆 𝑚𝑒𝑗𝑜𝑟−𝑔𝑙𝑜𝑏𝑎𝑙 ∆τ 𝑟𝑠 𝑚𝑔 = 𝑓(𝐶(𝑆 𝑚𝑒𝑗𝑜𝑟−𝑔𝑙𝑜𝑏𝑎𝑙 )) En otro caso 0 Ecuación 2.19 Si 𝑎 𝑟𝑠 ∈ 𝑆 µ ' ∆τ 𝑟𝑠 𝑜𝑟𝑑𝑒𝑛 = µ=1 σ−1 ∑ (σ − µ) ·𝑓(𝐶(𝑆 µ ' )) Ecuación 2.20 En otro caso 0 Herramientas similares En este capítulo se mostrarán varias herramientas relacionadas con nuestro enfoque propuesto, similitudes, diferencias y un breve análisis. Klout Klout [22] era una de las herramientas más populares, que medía la influencia social de una persona a través de las redes sociales. Esta influencia se veía reflejada en un puntaje, basado en diversos factores medidos por esta aplicación. Para conocer este puntaje, el sitio web de Klout permitía crear un perfil para cada uno de sus usuarios. En este perfil era posible ver este puntaje y conocer cómo evolucionaba día a día. Además era posible ver otro tipo de estadísticas, muchas de las cuales son útiles para quienes usan las redes sociales con fines comerciales o comunicacionales. Entre las principales y más populares redes sociales donde se desenvolvía Klout eran Twitter, Facebook, Google+, LinkedIn, Instagram, YouTube, Tumblr, Last.fm, Flickr, Blogger y Wordpress. Klout analizaba a diario más de 400 ítems de diferentes redes sociales para actualizar la puntuación de cada cuenta. La mayoría de estas señales sociales son la proporción de reacciones que genera la persona en comparación con la cantidad de contenido que comparte. Hay en tres apartados fundamentales: Alcance: Número de personas a las que llega el usuario con su contenido u opinión. Aquí se incluyen a los seguidores, amigos, gente que comparte grupos, amigos de los amigos. Amplificación: Mide el grado en el que los contenidos son compartidos por otros usuarios. Publicar muchas veces y obtener cero respuestas no es ser influyente, pero publicar una vez y conseguir mil respuestas o compartidos si puntúa mucho en Klout. Red: Klout analiza también el tipo de personas que siguen al usuario y su influencia en las redes. Tener o interactuar con seguidores influyentes es un signo positivo. Klout era una herramienta excelente y de gran ayuda para determinar qué tan influyente es una persona en las redes sociales, de hecho en EEUU llegó a ser un parámetro a la hora de obtener un empleo. Pero un detalle no menor, es que Klout medía las interacciones de distintos usuarios sobre nuestras acciones en las redes, pero lo que no medía es la propagación de ese accionar nuestro y de la influencia que provocaba en las redes. Esto último puede deberse no solo al algoritmo proporcionado en sí, si no al comportamiento de las redes y su comportamiento. Klout, dejó de existir en 2018 y fue una característica faltante para ser no sólo la más popular sino la más completa. Kred Similar a Klout, en el sentido en que genera un puntaje, Kred [23] presume de una total transparencia en la forma en que se otorgan puntos y es el único servicio de medición de influencia que publica abiertamente su algoritmo. Kred proporciona dos mediciones: ● Influence (Influencia): la habilidad de inspirar acciones de otros, es decir, mide el hecho de que alguien reaccione a tus posts y se basa en una escala de 1 a 1000. En Twitter mide la frecuencia en la que eres retuiteado, la frecuencia en la que te contestan y te mencionan y que recibes nuevos seguidores, mientras que en Facebook obtienes puntos cuando tus contactos interactúan con tus posts en tu muro o con tus posts en los muros de otros (a condición de que también tengan registrado su Facebook en Kred). En el caso de Facebook las interacciones que cuentan son los posts, las menciones, los likes, las veces que alguien comparte tu contenido y las invitaciones a eventos. ● Outreach (Alcance): la tendencia que tienes a compartir lo que recibes de otros, esta medida puede crecer pero nunca baja. ¿La razón? Ellos creen que la capacidad de tu generosidad es infinita y así esperan que siempre siga creciendo. En junio de 2012 el mayor nivel alcanzado fue de 12. Midiendo Twitter, obtienes 10 puntos cada vez que haces acciones para otros, como responderles, mencionarlos o retuitear su contenido, mientras que el hecho de empezar a seguir a alguien cuenta como un punto. En Facebook, las acciones por las que Kred otorga puntos son menciones a la persona, comentar un post y hacer likes a posts o comentarios. Además del Kred Global, que es el puntaje total, podremos obtener puntajes relativos en función de las comunidades en las que Kred considera que somos influyentes. Por ejemplo, podemos tener un Kred Global alto pero en determinado grupo de interés el Kred no puede ser el mismo, dependiendo de la autoridad en el tema que tengamos. Otras formas de ganar puntos es cuando otros usuarios te los otorgan directamente (+Kred), porque consideran que eres una referencia en determinado tema. Si das un +Kred, el usuario recibe 70 puntos y tú 30 como forma de agradecimiento a tu acción. Se puede observar como Kred es el claro sucesor de Klout, mejora sobre todo en su visión sobre la propagación de la influencia al considerar quienes son los que responden un tweet, lo comparten o quien te citan si son o no amigos por ejemplo. Pero una desventaja es lo dicho en el párrafo anterior. Se pueden donar puntos de influencia, además de que se suman puntos si interactúas en la red, algo que podría hacer un influencer pero no necesariamente significa que eres uno de ellos. Así mismo el parámetro de medición del alcance, no es 100% significativo para determinar la influencia, aún así, son puntajes que se suman. Twitanalyzer Twitalyzer [24] es otra herramienta para conocer la influencia ejercida sobre Twitter. Nos proporciona un número entre 0 y 100, para medir la influencia general que tenemos a lo largo de los últimos 30 días. Además nos ofrece los resultados de las puntuaciones de Klout y Peenrindex [25], con lo que podemos comparar los resultados de las 3 herramientas. Esta influencia se puede medir por diferentes indicadores: número de followers y followings, número de RTs, número de clics en los tweets con enlace, etc. Independientemente de estos indicadores podemos sacar en un solo número toda la influencia de un usuario haciéndonos una idea general. Otras métricas que proporciona Twitalyzer son: Engagement: Proporciona una medida de la relación entre las personas referenciadas por el usuario y el número de personas que le han referenciado a él. Velocity: Es una indicación de la frecuencia relativa con la que el usuario publica actualizaciones en Twitter. Influence: Indica la probabilidad de que se retuitee o se referencie algo escrito por el usuario. Signal: Ratio de tweets que contienen enlaces (http://), menciones, hashtag o algún indicio de que el tweet hace referencia a un tweet previo de otro usuario. Impact : Finalmente el impacto, en el que se tienen en cuenta una combinación de los siguientes factores: ● Número de seguidores de un usuario. ● Número de referencias únicas y menciones del usuario en Twitter. ● Frecuencia con la que el usuario es retuiteado de manera única. ● Frecuencia con la que el usuario hace retweets a otras personas de manera única. ● Frecuencia relativa con la que el usuario publica actualizaciones. Al igual que las anteriores herramientas mencionadas, esta sobresale al hacer una comparativa con otras herramientas, salvando este detalle mencionado las herramientas son similares entre sí, implementan métricas similares. Una métrica interesante es “engagement”, la cual hace referencia al seguimiento entre las personas en sí, no es lo mismo alguien que interactúe con vos siendo un “amigo” a un desconocido. Algunas con mejoras sobre otras pero todas recaen en una aparente influencia, como por ejemplo el mero hecho de seguir mucha gente, o de realizar muchas acciones no necesariamente recae en ser un influencer. Nosotros nos centraremos en las acciones y cómo estas influyen y se propagan a través del tiempo y de los usuarios dentro de una misma red social. Capítulo III Propuesta Con la popularidad de las redes sociales, como Twitter, Facebook, Instagram, incluso YouTube, surgen los conocidos influencers. Pero, ¿Quiénes son? ¿Qué determina quienes son influencers? Según Endor en su artículo
Compartir