Aplicações não convencionais de grafos
-
Upload
pichiliani -
Category
Technology
-
view
861 -
download
2
Transcript of Aplicações não convencionais de grafos
![Page 2: Aplicações não convencionais de grafos](https://reader034.fdocument.pub/reader034/viewer/2022052301/55a5cc011a28ab304e8b47e0/html5/thumbnails/2.jpg)
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
![Page 3: Aplicações não convencionais de grafos](https://reader034.fdocument.pub/reader034/viewer/2022052301/55a5cc011a28ab304e8b47e0/html5/thumbnails/3.jpg)
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
![Page 4: Aplicações não convencionais de grafos](https://reader034.fdocument.pub/reader034/viewer/2022052301/55a5cc011a28ab304e8b47e0/html5/thumbnails/4.jpg)
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
![Page 5: Aplicações não convencionais de grafos](https://reader034.fdocument.pub/reader034/viewer/2022052301/55a5cc011a28ab304e8b47e0/html5/thumbnails/5.jpg)
5
Visualizações diferentes - Sankey
Sankey com Google Charts
Fonte: http://bit.ly/1BU1qSm
DEMO: ExemploSankeyGraphs.html
Exemplo em Neo4J? http://bit.ly/1zOFssC
![Page 6: Aplicações não convencionais de grafos](https://reader034.fdocument.pub/reader034/viewer/2022052301/55a5cc011a28ab304e8b47e0/html5/thumbnails/6.jpg)
6
Visualizações diferentes – gráficos circulares
Nós na borda do círculo e arestas “cruzando” o interior com largura/cor variada
![Page 7: Aplicações não convencionais de grafos](https://reader034.fdocument.pub/reader034/viewer/2022052301/55a5cc011a28ab304e8b47e0/html5/thumbnails/7.jpg)
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”
![Page 8: Aplicações não convencionais de grafos](https://reader034.fdocument.pub/reader034/viewer/2022052301/55a5cc011a28ab304e8b47e0/html5/thumbnails/8.jpg)
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
![Page 9: Aplicações não convencionais de grafos](https://reader034.fdocument.pub/reader034/viewer/2022052301/55a5cc011a28ab304e8b47e0/html5/thumbnails/9.jpg)
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
![Page 10: Aplicações não convencionais de grafos](https://reader034.fdocument.pub/reader034/viewer/2022052301/55a5cc011a28ab304e8b47e0/html5/thumbnails/10.jpg)
10
Visualizações diferentes - Treemap
TreeMap com Google Charts
Fonte: http://bit.ly/1B6WVBD
DEMO: ExemploTreeMap.html
![Page 11: Aplicações não convencionais de grafos](https://reader034.fdocument.pub/reader034/viewer/2022052301/55a5cc011a28ab304e8b47e0/html5/thumbnails/11.jpg)
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
![Page 12: Aplicações não convencionais de grafos](https://reader034.fdocument.pub/reader034/viewer/2022052301/55a5cc011a28ab304e8b47e0/html5/thumbnails/12.jpg)
12
Case: Grafos e MOBA
Metodologia:
![Page 13: Aplicações não convencionais de grafos](https://reader034.fdocument.pub/reader034/viewer/2022052301/55a5cc011a28ab304e8b47e0/html5/thumbnails/13.jpg)
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
![Page 14: Aplicações não convencionais de grafos](https://reader034.fdocument.pub/reader034/viewer/2022052301/55a5cc011a28ab304e8b47e0/html5/thumbnails/14.jpg)
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:
![Page 15: Aplicações não convencionais de grafos](https://reader034.fdocument.pub/reader034/viewer/2022052301/55a5cc011a28ab304e8b47e0/html5/thumbnails/15.jpg)
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/
![Page 16: Aplicações não convencionais de grafos](https://reader034.fdocument.pub/reader034/viewer/2022052301/55a5cc011a28ab304e8b47e0/html5/thumbnails/16.jpg)
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