Novo PajekXXL promete mais performance

O Pajek é um software popular na análise de redes é e agora foi lançada uma versão nova, o PajekXXL promete utilizar menos memória e ser mais rápido. Um grafo esparso até 100 000 000 vértices pode ser agora analisado com 4GB de RAM. As minhas lamentações em relação ao Pajek continuam a ser que apenas é suportado em Windows e ser Closed Source, não permitindo a verificação dos algoritmos implementados.

Desenhar grafos em Python

O python facilita muito a vida para desenvolvimento rápido de grafos e redes, principalmente quando estas tem que ser construídas a partir de ficheiros externos de dados. Normalmente uma combinação de python e awk pode resolver todos os problemas numa fracção do tempo das outras linguagens.

No entanto para trabalhar e desenhar redes há dois pacotes que decidi serem importantes:

networkx

está excelente desde que se utilize a versão SVN. As versões normais para download tem 1 bug muito importante que é não ser possível exportar os grafos para um formato que se possa utilizar posteriormente. Na versão do SVN esse problema parece já estar corrigido e portanto pode-se utilizar o pacote para exportar o grafo no formato GML. Update: Nas últimas versões do networkx está tudo ok. Altamente recomendado para desenhar grafos/redes. A programação é muito pythonesca o que ajuda quem estiver embrenhado em python. Permite prototipar rapidamente ideias.

pyNetConv

O pyNetConv é basicamente um conversor de formatos de grafos. Este software pode ser integrado como módulo mas tem também uma GUI para fazer conversões entre formatos de redes. A minha utilização serve para converter o formato GML para Pajek (.net) uma vez que algum software que utilizo não conhece o GML. Não é actualizado há mais de 10 anos, pelo que pode nem sempre funcionar.

igraph para python

O igraph tornou-se nos últimos tempos a minha ferramenta de eleição para trabalhar com grafos, logo seguida de networkx. O igraph possui a vantagem de poder ser utilizado tanto em python, como R. Para além disso permite manter uma consistência de nomenclatura nas várias plataformas.

Com estes pacotes é possível utilizar python para estudar teoria dos grafos de forma simples. Todos apresentam imensos exemplos de como gerar e plotar os grafos.