1 / 54

TEORIA DE GRAFOS

TEORIA DE GRAFOS. &. aplicações financeiras. CONCEITOS BÁSICOS:. Grafo. C. Grafo orientado. B. D. A. CONCEITOS BÁSICOS:. Grafo não orientado ou digrafo. Subgrafo. Vértices adjacentes. A. Arestas adjacentes. Laço. H. H. Pseudografo. B. D. Grau de um vértice.

thora
Download Presentation

TEORIA DE GRAFOS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. TEORIA DE GRAFOS & aplicações financeiras

  2. CONCEITOS BÁSICOS: Grafo C Grafo orientado B D A

  3. CONCEITOS BÁSICOS: Grafo não orientado ou digrafo Subgrafo Vértices adjacentes A Arestas adjacentes Laço H H Pseudografo B D Grau de um vértice Ponto isolado Arestas múltiplas Multigrafo E C Grafo conexo Grafo desconexo Componente Ponte G F

  4. CONCEITOS BÁSICOS: A Caminho B D E C G F

  5. CONCEITOS BÁSICOS: A Circuito B D C E G F

  6. LEONHARD EULER (1707-1783)

  7. CONCEITOS BÁSICOS: A Caminho de Euler B D C E G F

  8. CONCEITOS BÁSICOS: A Circuitode Euler D C B

  9. AS PONTES DE KÖNIGSBERG

  10. SERÁ POSSIVÉL PERCORRER TODAS AS PONTES PASSANDO UMA ÚNICA VEZ POR CADA UMA DELAS? EULER PROVOU QUE NÃO

  11. Se um grafo possuir vértices de grau impar não possui nenhum circuito de Euler 1º TEOREMA DE EULER Se um grafo for conexo e todos os seus vértices forem de grau par então possui pelo menos um circuito de Euler

  12. Se um grafo possuir mais de dois vértices de grau impar então não possui nenhum caminho de Euler 2º TEOREMA DE EULER Se um grafo for conexo e possuir apenas dois vértices de grau impar então possui pelo menos um caminho de Euler.Qualquer que seja esse caminho ele terá de começar num desses vértices e terminar no outro

  13. 3º TEOREMA DE EULER A soma dos graus de todos os vértices de 1 grafo é igual ao dobro do seu número de arestas O número de vértices de grau impar tem de ser par

  14. ALGORITMO Conjunto de regras mecânicas que, quando utilizadas correctamente, levam à resposta de um determinado problema

  15. ALGORITMO DE FLEURY Ver se o grafo é conexo e se todos os seus vértices são de grau par 1 2 Começar num vértice qualquer Percorrer uma aresta se : 3 Esta não for uma ponte para a parte não atravessada do grafo Não existir outra hipótese

  16. ALGORITMO DE FLEURY Assinalar as arestas consoante a ordem com que forem percorridas 4 Quando não for possivel continuar, parar, o percurso esta terminado. 5

  17. E D F P H O C I G N K L J M A B

  18. 5 E E D D 6 F F 25 7 24 P H 19 P 18 H 4 3 8 2 O 11 O 12 C C I G I 23 G 15 16 K N K N 17 26 1 L 14 13 L J 20 J M M 22 9 10 21 A A B B

  19. EULERIZAÇÃO DE GRAFOS

  20. Como encontrar o percursomais económico?? 6 vérticesde grau ímpar A B C D E F G H I J K L Não tem nem caminho nem circuito de Euler

  21. VÉRTICES DE GRAU Eulerização de grafos A B C D E F G H I J K L PAR Como vamos fazer? ÍMPAR

  22. A B C D 7 arestas duplicadas E F G H 5 arestasduplicadas I J K L

  23. A B C D TODOS OS VÉRTICES TÊM GRAU PAR E F G H I J K L TEM UM CIRCUITO DE EULER

  24. APLICANDO O ALGORITMO DE FLEURY, ENCONTRAMOS UM DOS MUITOS CIRCUITOS DE EULER SOBREPONDO O CIRCUITO AO GRAFO ORIGINAL A B C D A B C D E F H E F H G G L L I J I J K K

  25. Caminho cicuito Semi-eulerização de grafos E A B C D H L K J I E F B C G F J K G H A B C D E F G H I J K L

  26. CIRCUITO MAIS ECONÓMICO CAMINHO MAIS ECONÓMICO • 1º-transformar os vértices de grau ímpar em vértices • de grau par excepto 2 SEMI-EULERIZAR O GRAFO EULERIZAR O GRAFO • 2º- Descobrir um circuito de euler no grafo eulerizado caminho • 3º- sobrepor a este circuito o grafo original caminho

  27. Exemplo:Recolha do lixo de um bairro

  28. Exemplo:Recolha do lixo de um bairro O carro do lixo terá de repetir Algumas ruas já limpas Quantas? 9

  29. Circuito (caminho ) de Hamilton Percorre todos os Vértices de um grafo Sem repetir nenhum

  30. G A B circuito de Euler Não tem Tem Não tem Tem Tem circuito de Hamilton E C D F

  31. Como sabemos se um grafo tem ou nãoum circuito (caminho) de Hamilton?

  32. Por exemplo: Grafo com pontes Grafo completo bipartido n*n Tem circuitos Hamiltonianos Não tem nenhum circuito hamiltoniano etc

  33. Grafos completos A F B Grau de cada vértice: n-1 E Nº total de arestas: C D Reportório completo de Circuitos Hamiltonianos (n-1)! Circuitos hamiltonianos

  34. Fixando um vértice como referência,encontramos Todos os circuitos de Hamilton existentes no grafo A B D C

  35. Traveling Salesman Problems

  36. Em que consiste este tipo de problemas? São essencialmente, problemas da vida real em que se pretende encontrar um percurso de menor valor

  37. Exemplo1:“O problema das 5 cidades” A 185€ 133€ B 152€ 200€ E 120€ 150€ 119€ 121€ 199€ C D 174€ Qual será a sequência menos expendiosa para o Sr.Francisco?

  38. Exemplo 2: “Exploração do nosso sistema solar" Mimas Io 4.7 0.6 5.2 5.7 5.1 8.2 0.8 3.6 Titan 5.6 8.1 5.9 3.1 Callisto 1.1 1.5 3.2 Terra Ganymede Qual será o percurso mais curto?

  39. Método1: • Fazer uma lista de todos os circuitos possíveis; • Calcular o custo total de cada circuito; • Escolher o circuito com menor custo.

  40. Circuito Custo total Imagem Hamiltoniano em espelho 1 A,B,C,D,E,A 185+121+174+199+133= 812 A,E,D,C,B,A 2 A,B,C,E,D,A 185+121+120+199+152= 777 A,D,E,C,B,A 3 A,B,D,C,E,A 185+150+174+120+133= 762 A,E,C,D,B,A 4 A,B,D,E,C,A 185+150+199+120+119= 773 A,C,E,D,B,A 5 A,B,E,C,D,A 185+200+120+174+152= 831 A,D,C,E,B.A 6 A,B,D,E,C,A 185+200+199+174+119= 877 A,C,E,D,B,A 7 A,C,B,D,E,A 119+121+151+199+133= 722 A,E,D,B,C,A 8 A,C,B,E,D,A 119+121+200+199+152= 791 A,D,E,B,C,A 9 A,C,E,B,D,A 119+174+150+200+133= 776 A,D,B,E,C,A 10 A,C,E,B,D,A 119+120+200+150+152= 741 A,D,B,E,C,A 11 A,D,B,C,E,A 152+150+121+120+133= 676 A,E,C,B,D,A 12 A,D,C,B,E,A 152+174+121+200+133= 780 A,E,B,C.D.A Tabela1:

  41. Circuito Hamiltoniano obtido: A 185€ 133€ B 152€ 200€ E 120€ 150€ 119€ 121€ 199€ C D 174€ Circuito de menor custo :A, D, B, C, E, A Custo total:152€+150€+121€+120€+133€ = 676€

  42. Método 2: • Começar em A; • Partir para a cidade cujo custo é menor; • Repetir o processo até retornar a A.

  43. Circuito Hamiltoniano Obtido : A 185€ 133€ B 152€ 200€ E 120€ 150€ 119€ 121€ 199€ C D 174€ Circuito :A, C, E, D, B, A Custo total do circuito :119€+120€+199€+150€+185€=773€

  44. O sr.Francisco expande o seu negócio. • Usando o método 2 levará apenas alguns minutos a construir o circuito; Mas: • Para usar o método 1 teremos de verificar : 9! = 362880 circuitos.

  45. Como resolver esta situação? • É-nos cedido um super computador capaz de construir: 10 bilões de circuitos por segundo 3.0 x 10^17 circuitos por ano

  46. Número Número de Tempo de vértices circuitos Hamiltonianos de pesquisa 16 1,307,674,368,000 2 minutos 17 2.1*1013 35 “ 18 3.6*1014 10 horas 19 6.4*1015 7 1/2 dias 20 1.2*1017 140 dias 21 2.4*1018 7 1/2 anos 22 5.1*1019 160 anos 23 1.1*1021 3500 anos 24 2.6*1022 82.000 anos 25 6.2*1023 2,000,000 anos Tabela 2: O número de circuitos Hamiltonianos cresce desproporcionadamente à medida que acrescentamos um vértice.

  47. Algoritmo ineficiente:O seu uso na prática é limitado, uma vez que só pode ser usado quando o número de vértices é pequeno. Exemplo: Método 1 – Algoritmo “ Força bruta”. • Algoritmo eficiente:O número de passos necessários cresce em proporção ao tamanho do problema. Exemplo: Método 2 – Algoritmo “Vizinho mais próximo”.

  48. Algoritmos Aproximados

  49. Em que consiste um algoritmo aproximado? • Usaremos o termo “algoritmoaproximado”para descrever qualquer algoritmo que produza soluções que estão, na maior parte das vezes, razoavelmente perto da solução perfeita.

  50. Algoritmo3: O “vizinho mais próximo” repetido • Partir de um determinado vértice e aplicar o algoritmo “vizinho mais próximo”; • Calcular o custo total obtido; • Repetir o processo para os vértices restantes; • Escolher o circuito de menor custo; • Rescreever , se necessário, esse circuito começando no vértice de referência.

More Related