Em um post anterior, comentei sobre a evolução de epidemias em seres humanos e sobre a noção de threshold, um valor mínimo de eficácia da doença para que ela tenha algum futuro. Hoje vamos falar de vírus de internet e sobre como sua propagação ocorre de maneira diferente, porque sites e seres humanos não são a mesma coisa. Se o post anterior já era hardcore, esse não deixa barato, em alguns sentidos é mais intrincado que o primeiro, mas sua conclusão é bonita. Coragem, respire e me acompanhe.
O sistema descrito no post anterior não é um bom modelo para a internet. Os sites possuem um fenômeno conhecido como preferential attachment, ou, como no Brasil chamamos, o rico cada vez fica mais rico e o pobre, mais pobre. Um novo usuário tende a acessar sites que são mais famosos quando entra no sistema. Claro que há diversos fatores, desde idade do site à sua capacidade de inovação, mas em um modelo simples podemos imaginar que um usuário que deseja criar uma rede social tem uma tendência maior a abrir uma conta no Facebook a uma no Uolkut (que acabo de ficar sabendo que foi desligado esse mês, paciência, segue como exemplo).
Podemos representar isso em um grafo como no post anterior. Um modelo simples de preferential attachment é conhecido como Barabási-Albert, consiste em começar com um número de pontos (digamos 2) e, a cada ponto inserido no grafo, esse ponto fará um número de conexões (digamos também 2) com os pontos já existentes. Isso representa um número de sites que possuem links entre si e um novo entrando na roda, formando links com os já existentes. Mas em um momento haverá mais pontos disponíveis que links a serem feitos pelos novos ingressantes, então um novo membro deve escolher os pontos com que quer formar links, e essa escolha se dará de forma aleatória, sendo a probabilidade de se conectar a um ponto proporcional ao número de links que o ponto já possui. Vamos supor um caso inicial de dois pontos, sem vínculos. O primeiro que entra deve fazer duas conexões, então ele escolhe os dois já existentes. O próximo a entrar terá que escolher dois dentre aqueles três: um possui duas conexões e outros dois possuem apenas uma, então a primeira conexão entra com probabilidade 1/2 no link com mais conexões e 1/4 nos outros. E a segunda será análoga, dependendo da que ele já escolheu (não pode formar duas conexões com o mesmo ponto). Represento um dos resultados possíveis desse modelo com um belo gif, tirado sem escrúpulos da Wikipédia.
Tentando repetir o raciocínio do primeiro post sobre epidemias, temos um problema na equação mestra, aquela que nos diz a evolução temporal da probabilidade. Não mais sabemos o número médio de contatos de cara ponto, não possuímos mais a relação $\langle r \rangle=2m$. Estamos vamos fazer por partes: escrevamos a equação mestra supondo que o ponto tem um número $k$ de contatos e depois eu faço uma soma ponderada disso tudo.
A chance de um ponto com que fazemos contato estar infectado depende de $\lambda$, vamos então o denotar $\Theta(\lambda)$. Nossa equação mestra, supondo um $k$ específico, nos dará a densidade de infectados supondo esse $k$ específico, ou seja, $\rho_k$. Ela será:
\[\partial_t\rho_k(t)=-\underbrace{\rho_k(t)}_{\text{cura}}+\lambda \underbrace{k(1-\rho_k(t))\Theta(\lambda)}_{\text{contato sadio-doente}}\]
Os que se interessam nos meandros das contas, escrevo a expressão de $\Theta$, que representa a chance de, estando em contato, está-lo com um infectado. Ela deixa de ser evidente, mas pode ser calculada da forma:
\[ \Theta(\lambda)=\sum_k\rho_k\overbrace{\frac{kP(k)}{\sum_ssP(s)}}^{\text{probabilidade de ter k}}\]
E depois, para achar a densidade total de infectados, basta somar de forma ponderada com $k$:
\[\rho(t)=\sum_k P(k)\rho_k(t)\]
É aqui que paro com a tortura das equações. Misturamos essas acima e chegamos a uma conclusão um pouco perturbadora sobre a densidade de persistência, aquela obtida igualando a sua derivada temporal a zero:
\[\rho\propto e^{-\frac{1}{m\lambda}}\]
Não encontramos nenhuma maneira de obter o que antes chamávamos de threshold, os vírus de internet não possuem uma eficácia mínima para funcionarem , eles se propagam e adquirem uma população constantemente infectada a qualquer taxa de infecção. Mando aqui o gráfico da densidade de persistência:
Ainda que temamos essa propagação sem threshold, podemos ficar tranquilos, o decaimento da densidade de persistência é exponencial para pequenas taxas de infecção e ela se torna rapidamente desprezível, como percebemos no gráfico. Ainda, esse modelo é capaz de explicar a propagação desenfreada de ameaças tidas como bem estúpidas, links evidentemente falsos e infecções cuja eficácia seria baixa ($\lambda$ baixo), não fosse o grande número de conexões dos infectados. Terminando esse exemplo, elogio a graça e simplicidade desse toy-model, capaz de explicar doenças, epidemias e talvez até aquele seu tio (ou tia) chato, aquele que na sua adolescência perguntava de suas namoradinhas, e agora manda tantos supostos vídeos exclusivos de celebridades nuas; todos conhecemos um desses, tendo, como teorema, que todos têm um tio chato. Se você não tem, cuidado, ele provavelmente é seu pai.