Escolar Documentos
Profissional Documentos
Cultura Documentos
Grupo:
Thiago Vincius Vieira Batista Jos Lauciano Ferreira de Almeida Welison Douglas dos Santos Pereira
O Problema
Dado um conjunto de N cidades, um vendedor deseja fazer o menor percurso, visitando todas as cidades uma nica vez, posteriormente regressando a origem
Grafos
Um grafo uma representao de um conjunto de objetos conectados por linhas. Em geral, grafos so representados por um par ordenado G = (V,L), onde V um conjunto de vrtices, e L um conjunto de linhas. Cada linha do grafo pode ter um valor numrico associado, chamado peso, uma direo e um sentido.
A Classe P
Uma linguagem dita polinomialmente decidvel se existe uma Mquina de Turing determinstica de uma fita que decida tal linguagem em tempo polinomial. A classe de todas as linguagens polinomialmente decidveis chamada classe P.
Exemplo: Dados vrtices r e s de um grafo, encontrar um caminho de comprimento mnimo de r a s no grafo ou constatar que no h caminho algum de r a s.
A Classe NP
NP a classe de todas as linguagens que so decidveis por uma Mquina de Turing no determinstica em tempo polinomial.
Caminho Hamiltoniano
Dado um grafo G, o caminho hamiltoniano um caminho que permite passar por todos os vrtices de G, sem repetir nenhum. O ciclo hamiltoniano um caminho hamiltoniano que tambm retorna para o vrtice inicial.
Dado um grafo G, decidir se G tem um ciclo hamiltoniano ou no. Definimos o Problema do Ciclo Hamiltoniano como HAM
Ciclos Hamiltonianos
Dado o grafo G' Dado o grafo G''
O PCV
O PCV (Problema do Caixeiro Viajante), muito semelhante a HAM, a diferena que, alm de achar um caminho que passe por todos os vrtices uma nica vez, tambm queremos fazer isso com o menor custo (distncia) possvel.
O PCV
O PCV pode ser descrito como um grafo sem direo, em que cada cidade so os vrtices, os caminhos so as linhas que conectam os grafos, e a distncia de um caminho o tamanho da linha.
10 C 15 A 14 5 8 B D 7
Regras do Problema
1. O Caixeiro sempre sai de uma cidade para outra diferente.
Soluo Invlida C
Regras do Problema
2. No podem haver sub-caminhos na soluo
Soluo Invlida C
Regras do Problema
3. Seja C = Mij uma matriz na qual i representa cidade de origem, e j representa cidade de destino, Aij representa o custo de se viajar de i para j. Se Aij = Aji, M simtrica e obedece a desigualdade triangular.
10 C 8 15 5 A 14 B D 11 A B C D A 14 15 5 B 14 8 11 C 15 8 10 D 5 11 10 -
Complexidade do PCV
O PCV pode ser resolvido de uma maneira bastante simples, porm muito custosa. Para descobrir a menor de todas as rotas R(n) para n cidades, basta testar todas as possibilidades e verificar qual delas a menor. Ou seja, o algoritmo pode ser resolvido em (n-1)! Passos. O(n) = (n!)
Prova da NP-Completude
Prova da NP-Completude
1. Mostrar que o PCV pertence a NP
Para isso devemos mostrar que a checagem de PCV pertence a P, ou seja, podemos checar PCV em tempo polinomial por uma MT determinstica. Sabendo que a melhor rota para PCV com N cidades L, e dada uma rota R. Para se checar se essa rota R a melhor, basta verificar se seu comprimento L. Essa checagem claramente pertence a P, portanto PCV pertence a NP.
Prova da NP-Completude
2. Mostrar que o PCV NP-Difcil Para isso temos que reduzir um problema conhecidamente NPCompleto a PCV em tempo polinomial, vamos reduzir ento o Ciclo Hamiltoniano ao PCV. G = (V, E) um grafo completo, ou seja, todos os vrtices tem rotas entre si. Onde V o conjunto de vrtices e E o conjunto de rotas. Queremos encontrar um caminho com custo mnimo usando o Ciclo Hamiltoniano.
Prova da NP-Completude
PCV = {<G, c, k> : G = (V, E) um grafo completo, c a funo de custo V V Z k pertence a Z, e G tem um caminho com custo k} O algortmo F: <G> -> <G, c, k> constroi G = (V, E) onde: G' um grafo completo, c(i, j) = 0 se (i, j) pertence a E 1 se (i, j) no pertence a E k = 0. O algoritmo F roda em tempo polinomial pois: constroi G' com tempo O(V) e constroi c com tempo O(V) F faz um reduo: <G> pertence ao Ciclo Hamiltoniano <=> <G, c, 0> pertence a PCV
Prova da NP-Completude
(=>) G tem um ciclo hamiltoniano h Toda rota no ciclo pertence a G Tais rotas tero custo 0 em G' Portanto G' tem um caminho com custo 0 (<=) G' tem um caminho com custo 0. Todo caminho em G' tem custo 0 ou 1 Portanto, toda rota no caminho tem custo 0 Ento toda rota no caminho deve tambm ser rota de G G tem um cilo hamiltoniano
P = NP?
Se existir uma soluo aproximada em tempo polinomial para o PCV, HAM pode ser resolvido exatamente em tempo polinomial. Como HAM NPCompleto, isso s possvel se P = NP. Note que, mesmo o PCV sendo NP-completo, apenas a existncia de uma soluo exata em tempo polinomial para o PVC implicaria em P = NP.
Algoritmo Heurstico
O termo Heurstico usado para algoritmos que encontram solues dentre vrias outras, mas no garantem que a melhor possvel.
Algoritmos Branch-and-Bound
O Algoritmo Branch-and-Bound gera rvores enumeradas a fim de limitar o problema e encontrar um encontrar o melhor subconjunto de respostas, descartando candidatos baseado nos limites inferior e superior dos valores examinados."
Exemplo
Suponha um PCV com quatro cidades e a seguinte matriz de distncias Mij, onde Xij a distncia entre a cidade i e a cidade j
1 2 3 4 1 5 4 7 2 5 3 2 3 4 3 8 4 7 2 8 -
Exemplo
Ao sair da cidade 1, a menor distncia para outra cidade quatro. Chamamos de limite inferior da distncia a soma das menores distncias de cada linha. Ele representa a distncia mnima que deve ser percorrida para passar por todos os pontos. A partir do limite inferior, criamos um ramo para cada caminho possvel, formando novos limites inferiores:
Exemplo
Examinar um desses limites pressupe que um caminho j foi percorrido. Assim, no clculo do novo limite inferior, eliminamos a linha e a coluna desse caminho, fixando o seu valor para x12 LI = 5 + 2 + 4 + 7
1 2 3 4
1 5 4 7
2 5 3 2
3 4 3 8
4 7 2 8 -
Exemplo
No fazemos um ramo para X23 pois j passamos pela cidade 3. Quando s temos dois caminhos a seguir, cada caminho representa uma soluo vivel. Calculamos ento o limite superior desse caminho. Para X21, passamos por X13, mas no passamos pela cidade 4, ento faltam os caminhos X34 e X42.
Exemplo
Caminho: 1-3-4-2-1, LS = X13 + X34 + X42 + X21 = 4 + 8 + 2 +5 = 19 Para X24, faltam os caminhos X32 e X41. Caminho: 1-3-4-2-1, LS = X13 + X32 + X24 + X41 = 4 + 3 + 2 +7 = 16
Exemplo
Encontramos um caminho com distncia total 16. Ainda existe um caminho com limite inferior 15, cuja distncia total pode ou no ser menor do que 16.
Exemplo
Continuando a partir do limite 15: Para X21, faltam os caminhos X43 e X32. Caminho: 1-4-3-2-1, LS = X14 + X43 + X32 + X21 = 7 + 8 + 3 +5 = 23 Para X23, faltam os caminhos X42 e X31. Caminho: 1-4-2-3-1, LS = X14 + X42 + X23 + X31 = 7 + 2 + 3 +4 = 16
Exemplo
Encontramos como resposta dois caminhos equivalentes de distncia total 16. Sabemos que essa distncia menor do que as distncias possveis a partir de X12 pois elas so automaticamente maiores ou iguais a 18.
Fim