Visualizador de rede de amizades no Facebook – Relatório 1

Alguns de vocês sabem que há um tempo eu desenvolvi um visualizador de rede de amizades utilizando os dados dos perfis do Facebook. Tive a ideia e construí: basta olhar toda a lista de amigos de um perfil e conectar aqueles que são amigos entre si, isto é, obter os amigos em comum do usuário e permitir a visualização gráfica — utilizei a primeira versão do sigma.js, uma biblioteca para o Javascript. No início foi uma página feia, mas bem funcional. Depois resolvi dar uma repaginada e divulgar o gerador nas redes sociais.

Ao todo foram geradas 792 redes e ainda preciso fazer a estatística de todos os dados. Havia feito uma análise com dados de cerca de 160 pessoas e foi possível obter uma rede completa (juntando tais redes em uma só) com quase 90 mil vértices e pouco mais de 2 milhões de conexões (ou 4 milhões, se contar as duas direções). Como exemplo, a imagem abaixo é o resultado da união de redes de 7 perfis diferentes.

Rede gerada por dados de 7 usuários diferentes do Facebook.

Visualização gráfica da rede gerada por dados de 7 usuários diferentes. O programa Gephi foi utilizado para isso.

Este projeto poderá ser bem útil para a análise de, por exemplo, modelos epidêmicos em redes complexas reais, tendo agora um banco de dados próprio. Aliás, copio aqui uma breve explicação do que é uma Rede Complexa, que pode ser encontrada na página do visualizador: http://fb.wesleycota.com/

Uma rede de amizades no Facebook é um tipo de Rede Complexa. Numa rede, temos os elementos (aqui representados por círculos) e as arestas (aqui representadas por linhas conectando dois elementos). Nessa rede, cada elemento é um perfil do Facebook e cada aresta corresponde a uma amizade entre tais perfis.

Assim, cada círculo é um de seus amigos (você também está representado!) e as linhas apresentam uma relação de amizade entre seus amigos. Dependendo da forma com a qual você se relaciona, podem ser vistos grupos distintos de amigos — do seu trabalho, da universidade, da academia, entre outros.

Uma Rede Complexa é simplesmente uma forma de representar relações entre elementos. Podemos construir redes de aeroportos, de pessoas, de estradas, de cadeia alimentar, de computadores (como a internet) e de muitas outras coisas! A imagem superior desta página, por exemplo, é uma rede de eletricidade dos Estados Unidos, com cada elemento representando um gerador, um transformador ou uma sub-estação.

http://fb.wesleycota.com/

Enfim. O Facebook simplesmente resolveu não permitir mais a coleta da lista de amigos completa de qualquer usuário por meio de aplicativos, obrigando todos eles a utilizaram as novas versões da plataforma de desenvolvimento — é o que permite ao aplicativo comunicar com os servidores do Facebook e obter os dados. Somente os aplicativos com a versão antiga da plataforma poderiam obter a lista de amigos completa. Porém, havia um prazo: 30 de abril de 2015. Esse dia chegou e pronto: já não é mais possível coletar os dados completamente.

Continue lendo

Publicado em Física, Projetos | Com a tag , , , , | Deixar um comentário

Fibonacci, Parte 2: A Proporção Áurea

Na primeira parte da série falei sobre a Sequência de Fibonacci e o problema da população de coelhos. Agora falarei sobre a Proporção Áurea, que está diretamente relacionada aos números descritos anteriormente.

A Proporção Áurea

Como observado por Johannes Kepler (mais um do legislativo), a divisão entre um elemento da sequência de Fibonacci e seu antecessor tende a se aproximar da Proporção Áurea (\varphi). Assim como 8 está para 5, 13 está para 8, 21 está para 13 e F(n+1) está para F(n). Por exemplo: utilizando o 42° elemento, a divisão seria: \frac{F(41)}{F(40)}. Porém, a Proporção Áurea pode ser calculada algebricamente, como explicarei abaixo.

Como é calculada?

Algebricamente, calculamos a Proporção Áurea tomando como base duas medidas: a e b. Utilizando dois segmentos de retas, podemos obter a seguinte imagem:

a+b está para a assim como a está para b

Continue lendo

Publicado em Ciência, Matemática | Com a tag , , , , , | 2 comentários

Fibonacci, Parte 1: A sequência de Fibonacci e os coelhos

Eis que estava vendo alguns vídeos da categoria de Ciência da Computação no Khan Academy e alguns vídeos eram sobre os números de Fibonacci. Então, estou aqui para falar sobre Matemática e Programação, mais especificamente sobre os Números de Fibonacci. Ia postar o artigo em apenas uma parte, mas como me empolguei, dividirei em três duas partes:

O número de Fibonacci e a população de coelhos

Não, eu não vou passar o número do telefone de Fibonacci. Até porque seu nome mesmo era Leonardo Pisano no Bigollo e viveu entre os anos 1170 e 1250 — tempo que não havia números de telefone. É também conhecido (ou não) como Leonardo de Pisa, Leonardo Pisano, Leonardo Bonacci, Leonardo Fibonacci, ou simplesmente, Fibonacci. A sequência de números foi apresentada em sua obra “Liber Abaci“, de 1202, na qual ele apresentava os chamados modus Indorum (método dos indianos), hoje conhecidos como Algarismos Arábicos. Tais números já eram conhecidos pela matemática indiana lá pelo século VI, mas foi Fibonacci o responsável por apresentá-los ao Ocidente.

O problema utilizado por Fibonacci em Liber Abaci foi sobre o crescimento idealizado de uma população de coelhos. Para isso, era necessário que: um casal de coelhos fosse colocado num campo; cada casal amadurecesse sexualmente (e se reproduzisse) apenas após o segundo mês de vida; não houvesse problemas genéticos ou algo que impossibilitasse a fertilidade de cada casal; e que os casais nunca morressem, dando luz a um novo casal a cada mês, a partir do segundo mês de vida. O problema era: quantos pares (casais) de coelhos haveria ao final de um ano? A solução apresentada era a seguinte: Continue lendo

Publicado em Ciência, Matemática | Com a tag , , , , , | 2 comentários