Buscar

TG

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

UNIVERSIDADE FEDERAL DE ALAGOAS - UFAL
CAMPUS ARAPIRACA
GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO
Maria Izabel Nunes de França
Matrícula: 20111693
Considere os Algoritmos de Prim, Kruskal e Christofides
● Descreva:
● Funcionamento
● Algoritmo de Prim: O algoritmo de Prim faz a construção da AGM de forma
incremental, escolhe um vértice arbitrário e, a cada repetição, seleciona a aresta
de menor peso que conecta um vértice da AGM a um vértice que ainda não foi
conectado. Esse processo se repete até que todos os vértices estejam conectados
à Árvore Geradora Mínima.
● Algoritmo de Kruskal: O algoritmo de Kruskal possui uma abordagem gulosa,
e funciona ordenando todas as arestas do grafo por peso crescente e adicionando
as mesmas à Árvore Geradora Mínima, desde que elas não criem um ciclo. Esse
passo deve ser repetido até que todas as arestas sejam conectadas.
● Algoritmo de Christofides: O algoritmo de Christofides utiliza o algoritmo de
Prim ou de Kruskal para gerar a AGM do grafo completo, e logo após ele realiza
a duplicação de algumas arestas que formam um ciclo com as arestas de menor
peso que não estão na AGM. Feito esse passo, ele encontrará o menor caminho
hamiltoniano no grafo que resulta após a duplicação das arestas.
● Limitações
● Algoritmo de Prim: O algoritmo de Prim não funcionam com grafos que
possuem arestas com pesos negativos, e também é muito lento para grafos que
possuem muitos vértices, já que a busca pelos vértices de menor peso pode
demorar muito, dessa forma se tornando ineficaz para essa situação.
● Algoritmo de Kruskal: O algoritmo de Kruskal pode ser ineficaz para grafos
com muitos arcos, pois a a verificação para checar se as arestas criam ciclos
pode ser muito demorada.
● Algoritmo de Christofides: O algoritmo de Christofides não garante encontrar
a AGM exata, porém apresenta uma solução aproximada com custo no máximo
50% maior que a AGM ideal. O algoritmo de Christofides pode ser ineficiente
para grafos com muitos vértices, pois encontrar o menor caminho de Hamilton é
um problema NP-difícil.
● Aplicações
● Algoritmo de Prim: O algoritmo de Prim tem as seguintes aplicações: redes de
comunicação, planejamento de rotas, problemas de menor custo em grafos
conexos.
● Algoritmo de Kruskal: O algoritmo de Kruskal tem as seguintes aplicações:
redes de transporte e problemas de otimização em grafos densos.
● Algoritmo de Christofides: O algoritmo de Cristofides tem as seguintes
aplicações: Planejamento de viagens e problemas que exigem soluções com
exatidão.
● Diferença de abordagem entre eles
Os algoritmos de Prim e Kruskal abordam a busca por árvores geradoras
mínimas de forma distinta. O algoritmo de Prim começa com um vértice inicial
e, de maneira gulosa, expande a árvore selecionando arestas de menor peso que
conectam o conjunto atual de vértices aos vértices fora dele. Essa abordagem
garante a construção de uma árvore mínima conectada. Por outro lado, Kruskal
seleciona as arestas de menor peso, evitando a formação de ciclos e garantindo
que a árvore permaneça acíclica. Essa abordagem baseada em conjuntos
disjuntos permite a construção eficiente da árvore geradora mínima,
independentemente do vértice inicial escolhido.

Outros materiais