Grafos Ponderados

Um grafo é ponderado quando suas arestas possuem um peso. O que significa isso? Bom… Vamos supor que eu queira ir de um lugar pra outro, mas o mais importante pra mim não seja a distância entre eles mas o pedágio que vou ter que pagar para pegar cada aresta (estrada). Nesse caso, o peso de cada aresta seria o custo que eu tenho pra passar pela estrada. O problema então seria calcular o caminho onde eu pago menos (o caminho que tem a menor soma de preços) e não o menor caminho no grafo “não-ponderado” (onde consideramos aresta=1 e nada=0).

Grafo Ponderado

Neste grafo, por exemplo, o menor caminho de 1 a 3 não é a aresta 1-3, mas sim a aresta 1-2 e depois a aresta 2-3.

Para representar um grafo ponderado usando a matriz de adjacência, onde antes marcávamos “1″, marcamos o peso que temos de ir de um vértice para o outro e onde marcávamos “0″ marcamos [tex]\infty{}[/tex] (infinito)*.

  1 2 3 4
1 [tex]\infty{}[/tex] 10 40 [tex]\infty{}[/tex]
2 10 [tex]\infty{}[/tex] 20 50
3 40 20 [tex]\infty{}[/tex] 20
4 [tex]\infty{}[/tex] 50 20 [tex]\infty{}[/tex]

* Na verdade, só fazemos isso porque neste caso iríamos querer o menor caminho e o 0 poderia atrapalhar, porque poderíamos ter um caminho sem pedágio, por exemplo, mas isso sempre depende do caso.

Usando listas de adjacência, podemos representar as ligações de cada vértice com dois vetores (um para dizer a qual ele se liga e outro o peso desta ligação) ou com um vetor de structs como:

struct edge {
int destino, peso;
};

8 thoughts on “Grafos Ponderados

  1. Pingback: Tiago Madeira » Grafos Ponderados

  2. Muito bom o artigo, simples e direto. É isso ae Tiago, parabéns por todos esse tópicos!!! Continue assim.

    PS: A parte mais interessante, a dos algoritmos e buscas em grafos está demorando muito para sair. Vc tem alguma previsão?

  3. Boa noite, gostaria de saber se você tem alguma implementação de menor caminho para me passar ??? Qualquer coisa entra em contato pelo meu e-mail. To começando a ver grafos para maratona e queria uma ajuda sua para resolver o G do aquecimento do IME do dia 14/06 (ontem) Obrigado.

  4. Pingback: Algoritmos » Grafos Ponderados « actante

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>