Aplicações não convencionais de grafos
-
Upload
pichiliani -
Category
Technology
-
view
861 -
download
2
Transcript of Aplicações não convencionais de grafos
2
Quem sou eu
• Mestre e doutorando em computação pelo ITA
• Escritor da SQL Magazine, Fórum Access, Java
Magazine, SQLServerCentral.com e outras
• Colaborador do iMasters há 13 anos
• Autor do livro “Conversando sobre banco de dados”
• Co-produtor do podcast DatabaseCast
• Consultor independente e autor de cursos on-line
3
Visualizações diferentes - Sankey
Gráficos Sankey Exemplo: GPs, pilotos, equipes do campeonato de F1 de 2012.
Fonte: http://bit.ly/1vBulbv
Mostra associação de vitórias e pontos.
Feito em Phyton + d3 + R
4
Visualizações diferentes - Sankey
Exemplo: mesmas imagens enviadas a múltiplos subreddits (reddit.com). Fonte: http://bit.ly/1zOyV17
Mostra fluxo de imagens. Feito em Phyton + d3 + R
5
Visualizações diferentes - Sankey
Sankey com Google Charts
Fonte: http://bit.ly/1BU1qSm
DEMO: ExemploSankeyGraphs.html
Exemplo em Neo4J? http://bit.ly/1zOFssC
6
Visualizações diferentes – gráficos circulares
Nós na borda do círculo e arestas “cruzando” o interior com largura/cor variada
7
Visualizações diferentes – gráficos circulares
Exemplo: visualização de dados de navegação de páginas com dados do Google Analytics
Tecnologia: Google Java Data API (Google Analytics) + Neo4J (Cypher) + Circos
Fonte: http://bit.ly/1BKUg1j e https://github.com/datablend/neo4j-google-analytics
I3 (azul) são referências externas e
representam maior parte do tráfego
Mesmo gráfico, com círculo externo
mais “limpo”
8
Visualizações diferentes – gráficos circulares
Exemplo: visualização de diálogos de personagem em peça de teatro (dramatic network graph). Projeto de disciplina da faculdade de Nebraska-Omaha
Tecnologia: Excel + Cytoscape (http://www.cytoscape.org/)
Fonte: http://bit.ly/1A0mSPi
Analise de diálogos para ver quem fala mais com quem
9
Visualizações diferentes – Treemap
Retângulos divididos por área e interativos (hierarquia)
Muitos exemplos e história: http://www.cs.umd.edu/hcil/treemap-history/
Medalhas na olimpíada 2002
Área por país e tipo de medalha
Tecnologia: R +
Fonte: http://bit.ly/1BL1IcC
Métricas do Código fonte do Neo4J
Área por LOC
Tecnologia: JArchitect
Fonte:http://www.jarchitect.com/Doc_
Treemap
10
Visualizações diferentes - Treemap
TreeMap com Google Charts
Fonte: http://bit.ly/1B6WVBD
DEMO: ExemploTreeMap.html
11
Case: Grafos e MOBA
Case: identificação de padrões de combate vencedores em jogo tipo MOBA
Referência: Pu Yang, Brent Harrison, and David L. Roberts. Identifying Patterns in Combat
that are Predictive of Success in MOBA Games. In Proceedings of the Foundations of Digital Games 2014 Conference (FDG 14). 2014.
Dowload [PDF] http://www.fdg2014.org/papers/fdg2014_paper_36.pdf
12
Case: Grafos e MOBA
Metodologia:
13
Case: Grafos e MOBA
Nós são jogadores. Nome do nó indica time (T1 e T2) e papel (Carry, Ganker, Initiator, Disabler, Tank). Nó adicional: morte
Aresta direcionada indica interação (causou dano ou curou)
Partidas separadas em intervalos de 9 minutos (4 fases)
Feature selection a partir de métricas de cada grafo. Exemplos:
Centralidade Eigenvector do T2 Disabler na fase de enhancing
Out-degree do Carry do T2 na fase de develpoing
14
Case: Grafos e MOBA
Atributo de classificação: vitória
Uso de árvore de decisão para geração do modelo
Interpretação de regras para padrões e táticas de combate para cada papel. Apresentação de regras como grafos:
15
Algoritmos, algoritmos everywhere
Muitos algoritmos para grafos com diferentes resultados!
Cabe a você interpretar o significado. Alguns:
Connected components, Clique, topological sorting, minimum, spanning tree, shortest path, transitive closure and reduction, matching, Eurelian Cycle, edge and vertex conectivity, network flow, beautification…
Algoritmos com figuras:
http://bit.ly/1BaFLC6 e http://bit.ly/1wXYo8h
Onde encontro os algoritmos?
Livros, muitos livros
Dicionário de algoritmos: http://xlinux.nist.gov/dads//
Engines de busca de algoritmos:
http://code.openhub.net/
https://searchcode.com/
http://www.codase.com/
https://code.google.com/p/chromium/codesearch
http://www.krugle.org/
16
Conclusão
Grafos podem ser utilizados em muitos cenários
Comece com exemplos básicos e depois fuja deles
Procure outras formas de visualização além de linhas e bolinhas
Muitas oportunidades em diferentes áreas, principalmente analytics
Big data é a bola da vez. Aproveite!
Saiba fazer a ponte entre um algoritmo, seu resultado e o domínio do problema
Aprofunde-se nos detalhes técnicos somente depois de saber o problema, resultados esperados e análise