Trabalho Computacional I: Algoritmo de Teste de...
Transcript of Trabalho Computacional I: Algoritmo de Teste de...
![Page 1: Trabalho Computacional I: Algoritmo de Teste de Planaridadeclaudiaboeres.pbworks.com/f/apresentacao-Wilson.pdf · Trabalho Computacional I: Algoritmo de Teste de Planaridade Professora:](https://reader035.fdocumentos.tips/reader035/viewer/2022062601/5be78e0009d3f2db738c8f2c/html5/thumbnails/1.jpg)
Trabalho Computacional I:
Algoritmo de Teste de Planaridade
Professora: Maria Cláudia Boeres
Mestrando: Wilson Guasti Junior
![Page 2: Trabalho Computacional I: Algoritmo de Teste de Planaridadeclaudiaboeres.pbworks.com/f/apresentacao-Wilson.pdf · Trabalho Computacional I: Algoritmo de Teste de Planaridade Professora:](https://reader035.fdocumentos.tips/reader035/viewer/2022062601/5be78e0009d3f2db738c8f2c/html5/thumbnails/2.jpg)
Tópicos
• Descrição do problema
• Abordagem do problema
• Complexidade dos algoritmos
• Comparação dos resultados
• Conclusão
![Page 3: Trabalho Computacional I: Algoritmo de Teste de Planaridadeclaudiaboeres.pbworks.com/f/apresentacao-Wilson.pdf · Trabalho Computacional I: Algoritmo de Teste de Planaridade Professora:](https://reader035.fdocumentos.tips/reader035/viewer/2022062601/5be78e0009d3f2db738c8f2c/html5/thumbnails/3.jpg)
Descrição do Problema
• Teste de Planaridade:
• Determinar se um dado grafo pode ser desenhado no plano de tal forma que suas arestas só se intersectem nos pontos extremos
![Page 4: Trabalho Computacional I: Algoritmo de Teste de Planaridadeclaudiaboeres.pbworks.com/f/apresentacao-Wilson.pdf · Trabalho Computacional I: Algoritmo de Teste de Planaridade Professora:](https://reader035.fdocumentos.tips/reader035/viewer/2022062601/5be78e0009d3f2db738c8f2c/html5/thumbnails/4.jpg)
Abordagem do problema
• Script I
• Verificação da Planaridade de Grafos utilizando uma biblioteca exclusiva para o sistema Mathematica, a Combinatórica.
1 Script I
2
(* :Title: Verificação da Planaridade de Grafos utilizando uma biblioteca exclusiva para o
sistema Mathematica, a Combinatorica*)
3 w:=5;
4 Timing[
5 PlanarQ[RandomGraph[w,0.5]]
6 ]
![Page 5: Trabalho Computacional I: Algoritmo de Teste de Planaridadeclaudiaboeres.pbworks.com/f/apresentacao-Wilson.pdf · Trabalho Computacional I: Algoritmo de Teste de Planaridade Professora:](https://reader035.fdocumentos.tips/reader035/viewer/2022062601/5be78e0009d3f2db738c8f2c/html5/thumbnails/5.jpg)
Abordagem do problema
• Script I
1 PlanarQ[g_Graph] :=
2 Block[{simpleGraph = MakeSimple[g],
3 $RecursionLimit = Infinity},
4 SimplePlanarQ[simpleGraph]
5 ]
6
7 SimplePlanarQ[g_Graph] :=
8 Module[{components, $RecursionLimit = Infinity},
9 components = BiconnectedComponents[g];
10 Apply[ And,
11 Map[(PlanarQ[InduceSubgraph[g,#]])&, components]
12 ]
![Page 6: Trabalho Computacional I: Algoritmo de Teste de Planaridadeclaudiaboeres.pbworks.com/f/apresentacao-Wilson.pdf · Trabalho Computacional I: Algoritmo de Teste de Planaridade Professora:](https://reader035.fdocumentos.tips/reader035/viewer/2022062601/5be78e0009d3f2db738c8f2c/html5/thumbnails/6.jpg)
Abordagem do problema
• Script I
13 ] /; !(ConnectedQ[g] && BiconnectedQ[g])
14
15
BiconnectedComponents[g_Graph] := First[FindBiconnectedComponents[g]] /; UndirectedQ[g]
16 FindBiconnectedComponents[g_Graph] := { {}, {} } /; EmptyQ[g]
17
18 FindBiconnectedComponents[g_Graph] :=
19
20 Map[(SearchBiConComp[First[#]]) &, Select[cc = ConnectedComponents[g], Length[#] > 1 &]];
21 {Join[bcc, Select[cc, Length[#] == 1 &]], Drop[ap, -1]}
22
]
23
24
![Page 7: Trabalho Computacional I: Algoritmo de Teste de Planaridadeclaudiaboeres.pbworks.com/f/apresentacao-Wilson.pdf · Trabalho Computacional I: Algoritmo de Teste de Planaridade Professora:](https://reader035.fdocumentos.tips/reader035/viewer/2022062601/5be78e0009d3f2db738c8f2c/html5/thumbnails/7.jpg)
Abordagem do problema
• Script I
1 Script I(grafos densos)
2
(* :Title: Verificação da Planaridade de Grafos utilizando uma biblioteca exclusiva para o sistema Mathematica, a
Combinatorica*)
3 w:=100
4 e:= (w*(w-1))/2
5 d :=2*e/w*(w-1)
6 Timing[
7 PlanarQ[ExactRandomGraph[w,d]]
8 ]
![Page 8: Trabalho Computacional I: Algoritmo de Teste de Planaridadeclaudiaboeres.pbworks.com/f/apresentacao-Wilson.pdf · Trabalho Computacional I: Algoritmo de Teste de Planaridade Professora:](https://reader035.fdocumentos.tips/reader035/viewer/2022062601/5be78e0009d3f2db738c8f2c/html5/thumbnails/8.jpg)
Abordagem do problema
• Script I
1
Script I (Grafos Sparsos)
2
(* :Title: Verificação da Planaridade de Grafos utilizando uma biblioteca exclusiva para o sistema
Mathematica, a Combinatorica*)
3 w:=5;
4
Timing[
5
PlanarQ[RandomGraph[w,0.1]]
6
]
![Page 9: Trabalho Computacional I: Algoritmo de Teste de Planaridadeclaudiaboeres.pbworks.com/f/apresentacao-Wilson.pdf · Trabalho Computacional I: Algoritmo de Teste de Planaridade Professora:](https://reader035.fdocumentos.tips/reader035/viewer/2022062601/5be78e0009d3f2db738c8f2c/html5/thumbnails/9.jpg)
Abordagem do problema
• Script II
• Verificação da Planaridade de Grafos utizando o Teorema de Kuratowski .
![Page 10: Trabalho Computacional I: Algoritmo de Teste de Planaridadeclaudiaboeres.pbworks.com/f/apresentacao-Wilson.pdf · Trabalho Computacional I: Algoritmo de Teste de Planaridade Professora:](https://reader035.fdocumentos.tips/reader035/viewer/2022062601/5be78e0009d3f2db738c8f2c/html5/thumbnails/10.jpg)
Abordagem do problema
• Script II
• Verificação da Planaridade de Grafos utizando o Teorema de Kuratowski .
1 Script II
2
(* :Title: Verificação da Planaridade de Grafos utizando o Teorema de Kuratowski *)
3 w:=50;
4 Timing[
5 j:=CompleteGraph[5];
6 k:=CompleteGraph[3,3];
7 h:=RandomGraph[w,0.5];
8 IsomorphicQ[j,h]||IsomorphicQ[k,h]
![Page 11: Trabalho Computacional I: Algoritmo de Teste de Planaridadeclaudiaboeres.pbworks.com/f/apresentacao-Wilson.pdf · Trabalho Computacional I: Algoritmo de Teste de Planaridade Professora:](https://reader035.fdocumentos.tips/reader035/viewer/2022062601/5be78e0009d3f2db738c8f2c/html5/thumbnails/11.jpg)
Abordagem do problema
• Script II
1 Script II (grafos densos)
2
(* :Title: Verificação da Planaridade de Grafos utizando o Teorema de Kuratowski *)
3 w:=100
4 e:= (w*(w-1))/2
5 d :=2*e/w*(w-1)
6 Timing[
7 j:=CompleteGraph[5];
8 k:=CompleteGraph[3,3];
![Page 12: Trabalho Computacional I: Algoritmo de Teste de Planaridadeclaudiaboeres.pbworks.com/f/apresentacao-Wilson.pdf · Trabalho Computacional I: Algoritmo de Teste de Planaridade Professora:](https://reader035.fdocumentos.tips/reader035/viewer/2022062601/5be78e0009d3f2db738c8f2c/html5/thumbnails/12.jpg)
Abordagem do problema
• Script II
1 Script II (Grafos Sparsos)
2
(* :Title: Verificação da Planaridade de Grafos utizando o Teorema de Kuratowski *)
3 w:=50;
4 Timing[
5 j:=CompleteGraph[5];
6 k:=CompleteGraph[3,3];
7 h:=RandomGraph[w,0.1];
8 IsomorphicQ[j,h]||IsomorphicQ[k,h]
9 ]
![Page 13: Trabalho Computacional I: Algoritmo de Teste de Planaridadeclaudiaboeres.pbworks.com/f/apresentacao-Wilson.pdf · Trabalho Computacional I: Algoritmo de Teste de Planaridade Professora:](https://reader035.fdocumentos.tips/reader035/viewer/2022062601/5be78e0009d3f2db738c8f2c/html5/thumbnails/13.jpg)
Complexidade dos Algoritmos
• Examinamos estes algoritmos, eficientes, quanto `a forma como caracterizam planaridade, foi evidenciado que eles proporcionam complexidade linear aos problemas.
![Page 14: Trabalho Computacional I: Algoritmo de Teste de Planaridadeclaudiaboeres.pbworks.com/f/apresentacao-Wilson.pdf · Trabalho Computacional I: Algoritmo de Teste de Planaridade Professora:](https://reader035.fdocumentos.tips/reader035/viewer/2022062601/5be78e0009d3f2db738c8f2c/html5/thumbnails/14.jpg)
Tabela comparativa I: Grafos Esparsos
Número de vértices
Tempo em segundos
Script I (Lib Combinatóric
a)
Script II (Kuratowski)
Resultado
50
0.016
0.031
True
100
0.047
0.078
True
200 0.156
0.249
True
300 0.327
0.609
True
500 0.92
1.731
True
![Page 15: Trabalho Computacional I: Algoritmo de Teste de Planaridadeclaudiaboeres.pbworks.com/f/apresentacao-Wilson.pdf · Trabalho Computacional I: Algoritmo de Teste de Planaridade Professora:](https://reader035.fdocumentos.tips/reader035/viewer/2022062601/5be78e0009d3f2db738c8f2c/html5/thumbnails/15.jpg)
Tabela comparativa II: Grafos Esparsos
Número de vértices
Tempo em segundos
Script I (Lib Combinatóric
a)
Script II (Kuratowski)
Resultado
50
0.015
0.031
True
100
0.046
0.078
True
200 0.156
0.25
True
300 0.327
0.593 True
500 0.968
1.716
True
![Page 16: Trabalho Computacional I: Algoritmo de Teste de Planaridadeclaudiaboeres.pbworks.com/f/apresentacao-Wilson.pdf · Trabalho Computacional I: Algoritmo de Teste de Planaridade Professora:](https://reader035.fdocumentos.tips/reader035/viewer/2022062601/5be78e0009d3f2db738c8f2c/html5/thumbnails/16.jpg)
Tabela comparativa I: Grafos Densos
Número de vértices
Tempo em segundos
Script I (Lib Combinatóric
a)
Script II (Kuratowski)
Resultado
50
0.53 0.062
False
100
1.17
0.156
False
200 5.085
0.655
False
300 11.217
1.466
False
500 31.341
3.9
False
![Page 17: Trabalho Computacional I: Algoritmo de Teste de Planaridadeclaudiaboeres.pbworks.com/f/apresentacao-Wilson.pdf · Trabalho Computacional I: Algoritmo de Teste de Planaridade Professora:](https://reader035.fdocumentos.tips/reader035/viewer/2022062601/5be78e0009d3f2db738c8f2c/html5/thumbnails/17.jpg)
Tabela comparativa II: Grafos Densos
Número de vértices
Tempo em segundos
Script I (Lib Combinatóric
a)
Script II (Kuratowski)
Resultado
50
0.374
0.047
False
100
1.201
0.171
False
200 5.413
0.655
False
300 11.31
1.451
False
500 33.025
3.994
False
![Page 18: Trabalho Computacional I: Algoritmo de Teste de Planaridadeclaudiaboeres.pbworks.com/f/apresentacao-Wilson.pdf · Trabalho Computacional I: Algoritmo de Teste de Planaridade Professora:](https://reader035.fdocumentos.tips/reader035/viewer/2022062601/5be78e0009d3f2db738c8f2c/html5/thumbnails/18.jpg)
Tabela comparativa: Grafos Completos
Número de vértices
Tempo em segundos
Script I (Lib Combinatóric
a)
Script II (Kuratowski)
Resultado
50
0.187
0.047
False
100
0.749
0.156
False
200 3.042
0.499
False
300 2.637
1.139
False
500 1.872
3.229
False
![Page 19: Trabalho Computacional I: Algoritmo de Teste de Planaridadeclaudiaboeres.pbworks.com/f/apresentacao-Wilson.pdf · Trabalho Computacional I: Algoritmo de Teste de Planaridade Professora:](https://reader035.fdocumentos.tips/reader035/viewer/2022062601/5be78e0009d3f2db738c8f2c/html5/thumbnails/19.jpg)
Conclusão
• Muito embora, os algoritmos utilizados nos scripts tenham resultado semelhante em boa parte dos casos, o que faz uso do Teorema de Kuratowski manteve o crescimento de tempo menos acentuado a medida que o número de vértices aumentou.