Ordenação Topológica
Hudson C. Miranda
Julho de 2013

Conceitos necessários

Definição

Aplicações

O algoritmo
Conceitos Necessários
Para entender a ideia da ordenação topológica,
alguns conceitos devem ser explicados antes.
Grafo Dirigido (ou Digrafo)

Um grafo é dirigido se toda aresta do grafo tiver
uma direção definida, ou seja, suas aresta...
Grafo Dirigido (ou Digrafo)

Um grafo é dirigido se toda aresta do grafo tiver
uma direção definida, ou seja, suas aresta...
Grafo Dirigido Acíclico

Um grafo é aciclico se não existe um caminho
que saia de um vertice e chegue nele mesmo.

Em gr...
Grafo Dirigido Acíclico

Um grafo é aciclico se não existe um caminho
que saia de um vertice e chegue nele mesmo.

Em gr...
Grafo Dirigido Acíclico

Grafos Dirigidos acíclicos (conhecidos como
DAG, de Direct Acyclic Graph) são estruturas
muito i...
Grafo Dirigido Acíclico

Grafos Dirigidos acíclicos (conhecidos como
DAG, de Direct Acyclic Graph) são estruturas
muito i...

Conceitos necessários

DefiniçãoDefinição

Aplicações

O algoritmo
Ordenação Topológica - Definição
Dado um grafo G=(V, E) dirigido e acíclico, e
sabendo que existe uma ordem de precedência...
Ordenação Topológica - Definição
Com a informação anterior, é facil ver que haverá
uma sequência de vértices v1, v2, …,vn ...
Ordenação Topológica - Definição
Existem várias ordenações topológicas dado um
DAG:
Ordenação Topológica - Definição
Existem várias ordenações topológicas dado um
DAG: 
{7, 5, 3, 11, 8, 2, 9, 10} – Esquerd...

Conceitos necessários

Definição

AplicaçãoAplicação

O algoritmo
Aplicações

Organizar ordem de tarefas: Cada vértice
representa uma tarefa a ser executada e as
arestas as dependências d...
Aplicações

Organizar ordem de tarefas: Cada vértice
representa uma tarefa a ser executada e as
arestas as dependências d...

Conceitos necessários

Definição

Aplicação

O algoritmoO algoritmo
O algoritmo
Existem diversas variações do algoritmo para
encontrar uma ordenação topológica em um
DAG. O mais conhecido é ...
O algoritmo
procedimento Orden-Topo(G: Grafo)
Para Cada vértice v de G:
Marque v como não visitado
Para Cada vértice v de ...
O Algoritmo - Complexidade
Tendo em vista que o algoritmo anterior se utiliza
da busca em proundidade de um grafo, sua
com...
Obrigado!
Referências:
http://www.professeurs.polymtl.ca/michel.gagnon/Disciplinas/Bac/Grafos/Busca/busca.html#Ord
http://...
Upcoming SlideShare
Loading in …5
×

Topological Sorting (Portuguese)

444 views

Published on

A presentation of basic and simple concepts in topological sort in Brazilian Portuguese.

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
444
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
11
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Topological Sorting (Portuguese)

  1. 1. Ordenação Topológica Hudson C. Miranda Julho de 2013
  2. 2.  Conceitos necessários  Definição  Aplicações  O algoritmo
  3. 3. Conceitos Necessários Para entender a ideia da ordenação topológica, alguns conceitos devem ser explicados antes.
  4. 4. Grafo Dirigido (ou Digrafo)  Um grafo é dirigido se toda aresta do grafo tiver uma direção definida, ou seja, suas arestas não são simétricas.  Para cada aresta existirão dois vértices específicos: o de origem e o de destino.
  5. 5. Grafo Dirigido (ou Digrafo)  Um grafo é dirigido se toda aresta do grafo tiver uma direção definida, ou seja, suas arestas não são simétricas.  Para cada aresta existirão dois vértices específicos: o de origemorigem e o de destino.destino.
  6. 6. Grafo Dirigido Acíclico  Um grafo é aciclico se não existe um caminho que saia de um vertice e chegue nele mesmo.  Em grafos dirigidos, isso significa que não existe um caminho de arestas em que um dado vértice seja a origem e o destino desse caminho.
  7. 7. Grafo Dirigido Acíclico  Um grafo é aciclico se não existe um caminho que saia de um vertice e chegue nele mesmo.  Em grafos dirigidos, isso significa que não existe um caminho de arestas em que um dado vértice seja a origem e o destino desse caminho. DAG
  8. 8. Grafo Dirigido Acíclico  Grafos Dirigidos acíclicos (conhecidos como DAG, de Direct Acyclic Graph) são estruturas muito importantes em teoria dos grafos.  Muito utilizada para determinar graficamente tarefas que exigem precedência de execução(linhas de produção, disciplinas de um curso, sprints de trabalhos, etc...).  Mas, dado um DAG, como podemos determinar a ordem de precedência de todos os vértices do grafo?
  9. 9. Grafo Dirigido Acíclico  Grafos Dirigidos acíclicos (conhecidos como DAG, de Direct Acyclic Graph) são estruturas muito importantes em teoria dos grafos.  Muito utilizada para determinar graficamente tarefas que exigem precedência de execução(linhas de produção, disciplinas de um curso, sprints de trabalhos, etc...).  Mas, dado um DAG, como podemos determinar a ordem de precedência de todos os vértices do grafo? R:com a ordenação topológica.ordenação topológica.
  10. 10.  Conceitos necessários  DefiniçãoDefinição  Aplicações  O algoritmo
  11. 11. Ordenação Topológica - Definição Dado um grafo G=(V, E) dirigido e acíclico, e sabendo que existe uma ordem de precedência entre seus vértices, podemos dizer que existirá um conjunto parcialmente ordenado (V, <) tal que para qualquer v e w de V, v < w se e somente se existir um caminho de v até w. Porém, o operador “<” não significa que v seja menor que w, mas sim que v vem antes de w.
  12. 12. Ordenação Topológica - Definição Com a informação anterior, é facil ver que haverá uma sequência de vértices v1, v2, …,vn de G tal que v1<v2<...<vn. Essa sequência de vértices será uma ordenação topológicaordenação topológica de G.
  13. 13. Ordenação Topológica - Definição Existem várias ordenações topológicas dado um DAG:
  14. 14. Ordenação Topológica - Definição Existem várias ordenações topológicas dado um DAG:  {7, 5, 3, 11, 8, 2, 9, 10} – Esquerda para direita, cima para baixo.  {3, 5, 7, 8, 11, 2, 9, 10} – Vértice de menor número disponível primeiro.  {7, 5, 11, 3, 10, 8, 9, 2} – Vertíce de maior número disponível primeiro.  Entre outras...
  15. 15.  Conceitos necessários  Definição  AplicaçãoAplicação  O algoritmo
  16. 16. Aplicações  Organizar ordem de tarefas: Cada vértice representa uma tarefa a ser executada e as arestas as dependências de cada tarefa.
  17. 17. Aplicações  Organizar ordem de tarefas: Cada vértice representa uma tarefa a ser executada e as arestas as dependências de cada tarefa.  Depêndencia entre disciplinas: Os vértices representam as disciplinas e as arestas suas dependências
  18. 18.  Conceitos necessários  Definição  Aplicação  O algoritmoO algoritmo
  19. 19. O algoritmo Existem diversas variações do algoritmo para encontrar uma ordenação topológica em um DAG. O mais conhecido é uma variação do DFS (busca em profundidade) que imprime os vértices em ordem topológica invertida.
  20. 20. O algoritmo procedimento Orden-Topo(G: Grafo) Para Cada vértice v de G: Marque v como não visitado Para Cada vértice v de G: Se v não foi visitado: Busca-Prof-Orden-Topo(v) fim procedimento Busca-Prof-Orden-Topo(v: vértice) Marque v como visitado Para Cada vértice w adjacente a v: Se w não foi visitado: Busca-Prof-Orden-Topo(w) Imprimir(v) fim
  21. 21. O Algoritmo - Complexidade Tendo em vista que o algoritmo anterior se utiliza da busca em proundidade de um grafo, sua complexidade será igual a do DFS(O(n)), já que a impressão da lista de vértices é O(1)
  22. 22. Obrigado! Referências: http://www.professeurs.polymtl.ca/michel.gagnon/Disciplinas/Bac/Grafos/Busca/busca.html#Ord http://wiki.icmc.usp.br/images/9/93/Alg2_05.Grafos_ordenacaotopologica.pdf http://www.cos.ufrj.br/~marroquim/grafos/slides/aula_8.pdf https://www.cs.washington.edu/education/courses/326/03wi/lectures/RaoLect20.pdf http://www.ime.usp.br/~pf/algoritmos_para_grafos/aulas/toposorting.html http://paginas.fe.up.pt/~rossetti/rrwiki/lib/exe/fetch.php?media=teaching:1011:cal:05_1.grafos1_b.pdf http://w3.ualg.pt/~hshah/algoritmos/aula4/aula4.htm http://www.comp.ita.br/~mamc/folhetos/3.pdf http://web.sercomtel.com.br/marcusvlc/ http://www.youtube.com/watch?v=AfSk24UTFS8

×