1
Aplicações não convencionais
de grafos
Ms. Mauro C. Pichiliani (mauro@pichiliani.com.br)
@pichiliani
2
Quem sou eu
• Mestre e doutorando em computação pelo ITA
• Escritor da SQL Magazine, Fórum Access, Java
Magazine, SQLSer...
3
Visualizações diferentes - Sankey
 Gráficos Sankey
 Exemplo: GPs, pilotos, equipes do campeonato de F1 de 2012.
Fonte:...
4
Visualizações diferentes - Sankey
 Exemplo: mesmas imagens enviadas a múltiplos subreddits
(reddit.com). Fonte: http://...
5
Visualizações diferentes - Sankey
 Sankey com Google Charts
 Fonte: http://bit.ly/1BU1qSm
 DEMO: ExemploSankeyGraphs....
6
Visualizações diferentes – gráficos circulares
 Nós na borda do círculo e arestas “cruzando” o
interior com largura/cor...
7
Visualizações diferentes – gráficos circulares
 Exemplo: visualização de dados de navegação de páginas com dados do Goo...
8
Visualizações diferentes – gráficos circulares
 Exemplo: visualização de diálogos de personagem em peça de teatro (dram...
9
Visualizações diferentes – Treemap
 Retângulos divididos por área e interativos (hierarquia)
 Muitos exemplos e histór...
10
Visualizações diferentes - Treemap
 TreeMap com Google Charts
 Fonte: http://bit.ly/1B6WVBD
 DEMO: ExemploTreeMap.ht...
11
Case: Grafos e MOBA
 Case: identificação de padrões de combate
vencedores em jogo tipo MOBA
 Referência: Pu Yang, Bre...
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, ...
14
Case: Grafos e MOBA
 Atributo de classificação: vitória
 Uso de árvore de decisão para geração do modelo
 Interpreta...
15
Algoritmos, algoritmos everywhere
 Muitos algoritmos para grafos com diferentes resultados!
 Cabe a você interpretar ...
16
Conclusão
 Grafos podem ser utilizados em muitos cenários
 Comece com exemplos básicos e depois fuja deles
 Procure ...
17
Perguntas?
Ms. Mauro C. Pichiliani (mauro@pichiliani.com.br)
@pichiliani
Próximos SlideShares
Carregando em…5
×

Aplicações não convencionais de grafos

1.663 visualizações

Publicada em

Esta palestra fala sobre algumas aplicações de grafos não tão comum, incluindo a visualizações diferenciadas (gráficos Sankey, esféricos e treemap), mineração de dados para descoberta de estratégias em jogos tipo MOBA e uma discussão sobre alguns algoritmos incomuns para manipulação de grafos e suas aplicações.
O foco da conversa vai ser sobre grafos que podem ser criados e manipulados no Neo4J. Já a visualização dos dados pode ser feita de diversas maneiras, incluindo a plataforma gratuita Google Charts e softwares open source para análises, tal como o Gephi ou Pajek.

Publicada em: Tecnologia
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
1.663
No SlideShare
0
A partir de incorporações
0
Número de incorporações
954
Ações
Compartilhamentos
0
Downloads
15
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Aplicações não convencionais de grafos

  1. 1. 1 Aplicações não convencionais de grafos Ms. Mauro C. Pichiliani (mauro@pichiliani.com.br) @pichiliani
  2. 2. 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. 3. 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. 4. 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. 5. 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. 6. 6 Visualizações diferentes – gráficos circulares  Nós na borda do círculo e arestas “cruzando” o interior com largura/cor variada
  7. 7. 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. 8. 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. 9. 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. 10. 10 Visualizações diferentes - Treemap  TreeMap com Google Charts  Fonte: http://bit.ly/1B6WVBD  DEMO: ExemploTreeMap.html
  11. 11. 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. 12. 12 Case: Grafos e MOBA  Metodologia:
  13. 13. 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. 14. 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. 15. 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. 16. 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
  17. 17. 17 Perguntas? Ms. Mauro C. Pichiliani (mauro@pichiliani.com.br) @pichiliani

×