G.O. - Grafos Online

4.021 visualizações

Publicada em

Ferramenta Online de edição e interação com Grafos

Publicada em: Educação, Tecnologia
0 comentários
3 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
4.021
No SlideShare
0
A partir de incorporações
0
Número de incorporações
39
Ações
Compartilhamentos
0
Downloads
43
Comentários
0
Gostaram
3
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

G.O. - Grafos Online

  1. 1. Eduardo Miranda Steiner Rita de Cássia Cazu Soldi G.O. - Grafos Online PyConBrasil 2008
  2. 3. Agenda <ul><li>Introdução: </li></ul><ul><ul><li>Motivação </li></ul></ul><ul><ul><li>Grafos </li></ul></ul><ul><ul><li>Teoria dos Grafos </li></ul></ul><ul><ul><li>Problema </li></ul></ul><ul><li>Ferramentas de interação com grafos </li></ul><ul><ul><li>Ferramentas existentes </li></ul></ul><ul><ul><li>Porque fazer GO </li></ul></ul>
  3. 4. Agenda <ul><li>Grafos Online </li></ul><ul><ul><li>Descrição </li></ul></ul><ul><ul><li>Funcionamento </li></ul></ul><ul><ul><li>Ferramentas utilizadas </li></ul></ul><ul><li>Python </li></ul><ul><li>Django </li></ul><ul><li>Demo </li></ul><ul><li>Dúvidas </li></ul>
  4. 6. Motivação <ul><li>Dificuldades ao cursar a cadeira de Teoria dos Grafos. </li></ul><ul><li>PET-Computação UFSC : </li></ul><ul><ul><li>Problema como oportunidade de estender conhecimento. </li></ul></ul><ul><li>A aplicação GO (Grafos Online) é o resultado do estudo sobre essas dificuldades. </li></ul>
  5. 8. Grafos <ul><ul><li>Modelos matemáticos que podem ser usados para representar situações e problemas reais. </li></ul></ul>
  6. 10. Teoria dos Grafos <ul><ul><li>Estuda propriedades dos grafos. </li></ul></ul><ul><ul><li>Propõe algoritmos que ajudam a retirar informações desses modelos. </li></ul></ul><ul><ul><li>Analisando essas informações, podemos chegar a conclusões que resolvam os problemas. </li></ul></ul>
  7. 12. As Sete Pontes de Königsberg <ul><ul><li>Problema: Os habitantes da cidade perguntavam-se se seria possível cruzar as sete pontes numa caminhada contínua sem passar duas vezes por qualquer uma delas. </li></ul></ul>
  8. 13. As Sete Pontes de Königsberg <ul><ul><li>Modelando o problema como um grafo: </li></ul></ul><ul><ul><li>Vértices = { m | m é uma ilha ou uma margem } </li></ul></ul><ul><ul><li>Arestas = { (m1,m2, p) | existe uma ponte p unindo as margens ou ilhas m1 e m2 } </li></ul></ul>
  9. 14. As Sete Pontes de Königsberg <ul><ul><li>Solução: descobrir se o grafo é um grafo Euleriano. </li></ul></ul>
  10. 16. Udraw (Graph) <ul><li>Produto da University of Bremen, Alemanha </li></ul>
  11. 17. Tulip <ul><ul><li>Escrito e mantido pela University of Bordeaux I. </li></ul></ul>
  12. 18. Ajax/Graphviz <ul><li>Página produzida por T. Ashitani </li></ul>
  13. 19. Grafos 1.8.2 <ul><li>Autor: Alejandro Rodríguez Villalobos </li></ul>
  14. 20. Por que criar outra ferramenta? <ul><ul><li>Falta de uma só ferramenta que integrasse grafos e algoritmos. </li></ul></ul><ul><ul><li>Confusão didática ao extrair as informações necessárias dos resultados apresentados. </li></ul></ul><ul><ul><li>Dificuldade em manipular os programas. </li></ul></ul>
  15. 22. Grafos Online <ul><ul><li>Capaz de criar e editar grafos. </li></ul></ul><ul><ul><li>Detalhamento das principais características do grafo. </li></ul></ul><ul><ul><li>Interagir com o seu modelo por meio dos algoritmos disponíveis. </li></ul></ul><ul><ul><li>Descrição dos algoritmos para facilitar o uso. </li></ul></ul><ul><ul><li>Tutorial de como usar a ferramenta. </li></ul></ul>
  16. 23. Para construir a ferramenta foi utilizado: <ul><ul><li>Python </li></ul></ul><ul><ul><li>Django </li></ul></ul><ul><ul><li>Graphviz </li></ul></ul><ul><ul><li>Html </li></ul></ul><ul><ul><li>CSS </li></ul></ul><ul><ul><li>JQuerry </li></ul></ul>
  17. 25. Criando e Editando
  18. 26. Aplicando Algoritmos
  19. 28. Por que Python? <ul><ul><li>Interesse em conhecer uma linguagem nova </li></ul></ul>
  20. 29. Por que Python? <ul><ul><li>Interesse em conhecer uma linguagem nova </li></ul></ul><ul><ul><li>Boa reputação </li></ul></ul>
  21. 30. Por que Python? <ul><ul><li>Interesse em conhecer uma linguagem nova </li></ul></ul><ul><ul><li>Boa reputação </li></ul></ul><ul><ul><li>Interessante </li></ul></ul>
  22. 31. Por que Python? <ul><ul><li>Interesse em conhecer uma linguagem nova </li></ul></ul><ul><ul><li>Boa reputação </li></ul></ul><ul><ul><li>Interessante </li></ul></ul><ul><ul><li>Fácil aprendizado </li></ul></ul>
  23. 33. Conclusões sobre Python <ul><ul><li>A curva de aprendizado de Python é realmente menor </li></ul></ul>
  24. 34. Conclusões sobre Python <ul><ul><li>A curva de aprendizado de Python é realmente menor </li></ul></ul><ul><ul><li>Linguagem de altíssimo nível </li></ul></ul>
  25. 35. Conclusões sobre Python <ul><ul><li>A curva de aprendizado de Python é realmente menor </li></ul></ul><ul><ul><li>Linguagem de altíssimo nível </li></ul></ul><ul><ul><li>Prático </li></ul></ul>
  26. 36. Conclusões sobre Python <ul><ul><li>A curva de aprendizado de Python é realmente menor </li></ul></ul><ul><ul><li>Linguagem de altíssimo nível </li></ul></ul><ul><ul><li>Prático </li></ul></ul><ul><ul><li>Bela sintaxe </li></ul></ul>
  27. 38. Exemplos <ul><ul><li>Parser: </li></ul></ul><ul><ul><ul><ul><li>módulo re </li></ul></ul></ul></ul>
  28. 39. Exemplos <ul><ul><li>Criação da imagem: </li></ul></ul><ul><ul><ul><li>módulo commands </li></ul></ul></ul><ul><ul><ul><li>neato – ferramenta do graphviz </li></ul></ul></ul>
  29. 40. Exemplos <ul><ul><li>Algoritmo Grafo Euleriano: </li></ul></ul><ul><ul><ul><li>módulo algoritmos </li></ul></ul></ul>
  30. 42. Por que Django? <ul><ul><li>É escrito em Python </li></ul></ul>
  31. 43. Por que Django? <ul><ul><li>É escrito em Python </li></ul></ul><ul><ul><li>Muito falado e difundido </li></ul></ul>
  32. 44. Por que Django? <ul><ul><li>É escrito em Python </li></ul></ul><ul><ul><li>Muito falado e difundido </li></ul></ul><ul><ul><li>Tem uma grande comunidade ativa no Brasil e no mundo </li></ul></ul>
  33. 45. Por que Django? <ul><ul><li>É escrito em Python </li></ul></ul><ul><ul><li>Muito falado e difundido </li></ul></ul><ul><ul><li>Tem uma grande comunidade ativa no Brasil e no mundo </li></ul></ul><ul><ul><li>Melhor custo/benefício </li></ul></ul>
  34. 47. Conclusões sobre Django <ul><ul><li>The Web framework for perfectionists with deadlines </li></ul></ul><ul><ul><li>* O framework web para perfeccionistas com prazos </li></ul></ul>
  35. 48. Conclusões sobre Django <ul><ul><li>Simples de se aprender, além de muito poderoso </li></ul></ul>
  36. 49. Conclusões sobre Django <ul><ul><li>Simples de se aprender, além de muito poderoso </li></ul></ul><ul><ul><li>Prático devido suas características </li></ul></ul>
  37. 50. Conclusões sobre Django <ul><ul><li>Simples de se aprender, além de muito poderoso </li></ul></ul><ul><ul><li>Prático devido suas características </li></ul></ul><ul><ul><li>Grande flexibilidade o que permite adaptações sem problemas </li></ul></ul>
  38. 52. Exemplos <ul><ul><li>Armazenando dados do grafo na sessão: </li></ul></ul><ul><ul><ul><ul><li>request.sessions </li></ul></ul></ul></ul>
  39. 53. Exemplos <ul><ul><li>Vértices do grafo disponíveis em select box: </li></ul></ul><ul><ul><ul><ul><li>Linguagem de templates </li></ul></ul></ul></ul><ul><ul><li> </li></ul></ul><ul><ul><li> </li></ul></ul>
  40. 59. Agradecimentos <ul><ul><li>Comunidades Python e Django Brasil </li></ul></ul><ul><ul><li>UFSC </li></ul></ul><ul><ul><li>Antônio Carlos Mariani </li></ul></ul><ul><ul><li>Luís Fernando Friedrich </li></ul></ul><ul><ul><li>Pet </li></ul></ul><ul><ul><li>Renato Besen </li></ul></ul><ul><ul><li>Marcelo C. X. Silva </li></ul></ul>
  41. 61. Contatos...

×