• Nenhum resultado encontrado

Cascatas como Grafo Direcionados Acíclicos

CASCATAS DE INFORMAÇÃO

4.1 Cascatas como Grafo Direcionados Acíclicos

Enquanto que os padrões de conexões em redes reais podem ser representados geralmente por grafos gerais, processos de propagação de informação em redes formam cascatas, que podem ser representadas como grafos direcionados acíclicos (DAG - directed acyclic graphs). Nessas cascatas, vértices representam agentes e arestas direcionadas representam um caminho tomado por uma informação, que pode ser uma notícia, um meme ou um vírus, por exemplo (SADIKOV

et al.,2011).

Algumas propriedades dos DAGs podem ser úteis para caracterizar cascatas de infor- mação. Consideremos o DAG da Figura 9, onde vértices são usuários do Twitter e arestas representam propagação de uma notícia. Chamamos de fontes, ou innovators todos os vértices que possuem grau de entrada 0 — isso significa que esse vértice não recebeu a notícia de nenhuma outra fonte interna à rede. Todo vértice que recebe uma informação direto da fonte é chamado de early adopter (WATTS,2002). Chamamos de folhas vértices que possuem grau

46 Capítulo 4. Cascatas de Informação A B C E F G D H I

Figura 9 – DAG representando uma cascata. Os vértices A e D são fontes. Os vértices B, C e H são early adopters, enquanto que os vértices E, F e I são folhas.

de saída 0, isto é, vértices onde a propagação da informação termina. Todos os outros vértices intermediários são parte do processo de propagação.

O alcance, A, de uma cascata é definido como o caminho mais longo entre um vértice fonte e uma folha. Podemos calcular o alcance parcial de um vértice v utilizando a seguinte recorrência

Av= argmax x∈V (v)

Ax (4.1)

V(v) representa o conjunto de vizinhos do vértice v. Para calcular A basta tomar o maior Av do grafo. O alcance é importante em cascatas de informação, pois mede o quão longe uma informação consegue chegar a partir da fonte. Se considerarmos a propriedade de pequeno mundo(MILGRAM,1967), esperamos que o valor de A seja baixo para redes sociais (A ≤ 6). Um estudo foi feito com o Facebook, em 2012, e a distância média encontrada entre usuários foi aproximadamente igual a quatro (BACKSTROM et al.,2012).

Uma cascata de informação geralmente trata de apenas um tópico. Entretanto, ela pode surgir de diferentes fontes. Definimos como índice de heterogeneidade, HC, de uma cascata como o número máximo de caminhos disjuntos (que não compartilham vértices) entre os vértices fonte e as folhas. Se considerarmos que uma informação que trafega pela rede é uma função dos vértices (ou pessoas) pelos quais ela passou, o número de caminhos disjuntos é o equivalente a medir quantas versões completamente diferentes existem de um assunto. No caso da Figura9, HC= 2, considerando os caminhos (A → B → E) e (D → H → I), por exemplo. Isso significa que, mesmo que I e E estejam falando sobre o mesmo tópico, suas versões podem ser totalmente

4.1. Cascatas como Grafo Direcionados Acíclicos 47

diferentes.

Para calcular o número de caminhos disjuntos no DAG, utilizamos o fluxo máximo e o algoritmo de Edmonds e Karp (EDMONDS; KARP, 1972). O método está descrito no Algoritmo1. Todas as capacidades das arestas são unitárias.

Algoritmo 1: Algoritmo para calcular o número de caminhos disjuntos em um DAG. Input: Cascata C em forma de de DAG

Output: HC(C)

1 g← grafo vazio 2 cria vertice (g, source) 3 cria vertice (g, sink) 4 for v∈ V (C) do 5 cria vertice (g, vin) 6 cria vertice (g, vout) 7 cria aresta (g, vin→ vout) 8 if outdegree(v) = 0 then 9 cria aresta (g, vout → sink) 10 if indegree(v) = 0 then

11 cria aresta (g, source → vin) 12 for e∈ E(C) do

13 Seja e : A → B

14 cria aresta (g, Aout → Bin) 15 return maxflow (g)

O valor máximo para HC é o mínimo entre o número de fontes e o número de folhas. Note que ignoramos os vértices isolados no processo, pois não consideramos um caminho de tamanho 0. A complexidade desse algoritmo é a complexidade do algoritmo utilizado para o cálculo do fluxo máximo, que, no caso do algoritmo de Edmonds e Karp, é de O(V E2).

Uma rede em estrela, como a da Figura10(a), com um hub central e 5 vértices periféricos terá HC = 1, pois só há uma história em potencial, enquanto que na Figura10 (b), apesar de existirem duas versões originais na história, também tem HC = 1, uma vez que a informação necessariamente passa por D.

Muitas vezes, o processo direto de difusão de informação não é inteiramente observável. Ao invés disso, conhecemos uma rede direcionada, G, onde cada aresta entre os vértices a e b indica que há uma relação de influência entre a → b, ou seja, há um caminho para a informação se propagar. Além disso, conhecemos uma série ordenada de eventos, ε, onde cada evento representa um vértice de v ∈ G e um tempo t, indicando que o vértice v participou do processo de difusão no tempo t. Algumas vezes o conjunto ε não é completo, de forma que a cascata inferida possuí informação faltante.

O processo utilizado por nós para inferir a cascata C à partir de G e ε é o seguinte. Consideramos um evento ei∈ ε. Olhamos para todos os vértices na rede original G que possuem

48 Capítulo 4. Cascatas de Informação A B C D E F (a) A B D E F H C (b) Figura 10 – Exemplos de duas redes diferentes com HC = 1.

uma aresta para o vértice virelativo ao i-ésimo evento e que já apareceram em algum evento ej com j < i. Consideramos que todos os vértices nessa condição influenciaram o vértice via fazer parte do processo, de modo que a aresta passa a existir na cascata.

Por exemplo, considere G a rede da Figura11e os eventos ε = {C,A,H,F,I,L}. Note que G pode conter ciclos. A cascata inferida pode ser vista na Figura11(b). É possível notar que existe a possibilidade do vértice H ter sido influenciado indiretamente pelo vértice A, porém essa informação não está presente em ε, de forma que é impossível afirmar com certeza.

Algumas vezes, faz sentido considerar que existe a relação A → D → H, por exemplo, mesmo que D não tenha sido observado no processo de difusão. Vamos definir como vértice intermediárioum vértice v para o qual existem outros dois vértices, a e b tais que existem as arestas a → v e v → b, e a e b foram observados em ε. Chamaremos de Pia probabilidade de um vértice intermediário fazer parte do processo de difusão. Desejamos obter a cascata C mais provável considerando essa probabilidade e a possibilidade de incluir vértices intermediários.

Vamos chamar de Pca chance da cascata C inferida sobre G estar perfeitamente correta, ou seja, todos os vértices em C realmente fizeram parte do processo de difusão. Note que os vértices já observados não fazem parte do cálculo. Podemos notar que

Pc=

v∈Vi

PiI(v ∈ C) + (1 − Pi)I(v /∈ C), (4.2) onde Vi é o conjunto de vértices intermediários de C em relação a G e I(e) = 1 se o evento e ocorre. Vamos assumir que Pié o mesmo para todos os vértices do processo de difusão. Dessa forma, a função Pc nada mais que um produtório de vários termos iguais no formato PiI(v ∈ C) + (1 − Pi)I(v /∈ C). Para maximizar Pc, devemos maximizar cada termo individualmente - ou

Documentos relacionados