• Nenhum resultado encontrado

Encontrar o caminho com maior valor de pertinˆ encia: CM-Max

PARTE II: ALGORITMOS

5.4 Caso II: o problema do caminho m´ınimo em um grafo fuzzy

5.4.5 Encontrar o caminho com maior valor de pertinˆ encia: CM-Max

Ainda para o caso de um grafo denso de grandes dimens˜oes em que o conjunto de solu¸c˜oes fuzzy pode ser de pouca utilidade, pode-se tentar obter apenas o caminho mais confi´avel, ou seja, o caminho de maior pertinˆencia ao conjunto fuzzy de solu¸c˜oes. Considerando os conceitos de grafos fuzzy, este ´e um algoritmo para encontrar o caminho mais forte entre dois n´os (Cap´ıtulo 3).

Neste sentido, o algoritmo de Bellman-Ford-Moore (Goldbarg e Luna, 2000) modificado ser´a utilizado para encontrar a solu¸c˜ao. Ao inv´es de usar o comprimento do caminho para calcular o comprimento m´ınimo, usaremos para encontrar o maior valor de pertinˆencia, µij, ou o menor

complemento da pertinˆencia: (1 − µij). Seja mk

j = [i, µsj] a etiqueta associada ao n´o j, onde i ´e o n´o predecessor e µsj´e a pertinˆencia

encontrada para o caminho entre o n´o origem s e o n´o j. k designa a itera¸c˜ao.

Passo 0: Seja um grafo G : (N, A), µij o valor de pertinˆencia do arco (i, j). Fa¸ca m0s ← [0, 1] e

m0 j ← [−, 1], j ∈ N , j 6= s. Fa¸ca k ← 1. Passo 1: Fa¸ca: • mk+1j ← min{mk j, maxi {min{mki, µij}}}, i 6= j, s, j ∈ N . • k ← k + 1. Se mk−1j ≡ mk

j, ∀j ∈ N , ent˜ao FIM. Caso contr´ario, repita o Passo 1.

Dado um n´o i, o algoritmo atualiza os valores das etiquetas referentes ao n´o predecessor que faz parte do caminho com maior grau de pertinˆencia (ou caminho mais forte) e o grau de pertinˆencia deste caminho. Quando n˜ao houver mais atualiza¸c˜oes, o procedimento ´e encerrado e o valor do caminho de maior confiabilidade de um caminho do n´o origem s at´e o n´o destino t e a todos os outros n´os, ´e devolvido ao decisor.

5.5

Exemplos num´ericos

Seja o exemplo encontrado no artigo de (Okada e Soper, 2000) em que considera-se o mapa rodovi´ario dos Estados Unidos. O problema ´e encontrar o menor caminho entre Boston e Los Angeles (mapa do exemplo no Apˆendice C). O digrafo associado G possui 70 n´os e 210 arcos. Os algoritmos foram implementados no Matlab v6.1. Os valores de pertinˆencia foram gerados de modo aleat´orio, com distribui¸c˜ao uniforme, para cada teste realizado.

Teste rotas µ¯ DVV90CM CM-Max

1 09 0,6217 0,1200 0,0300

2 05 0,5579 0,1200 0,0200

3 02 0,3578 0,0900 0,0200

4 06 0,6337 0,1200 0,0500

5 11 0,6320 0,1800 0,0300

Tabela 5.3: Testes realizados para o exemplo de Okada e Soper, 2000

Na Tabela 5.3 temos a quantidade de rotas encontrada pelo algoritmo DVV90CM, o maior valor de pertinˆencia encontrado dentre as rotas, os tempos de execu¸c˜ao (em segundos) do algoritmo exato (DVV90CM) e do algoritmo de maior pertinˆencia (CM-Max). Como apenas os valores de pertinˆencia do arco variaram nos testes da tabela 5.3, nota-se a influˆencia destes valores no n´umero de rotas encontradas entre o n´o 1 (Boston) e o n´o 70 (Los Angeles).

Os resultados das heur´ısticas, para o problema da Tabela C.2, est˜ao nas tabelas 5.4, 5.5 e 5.6 Teste µ¯ TH1 01 0,5645 0,0400 02 0,5509 0,0600 03* 0,3578 0,0400 04 0,6377 0,0700 05 0,5297 0,0800

Tabela 5.4: Heur´ıstica 1: Resolver para um valor de α = 0, 5. Teste 3: α = 0, 3

Na heur´ıstica 3, tabela 5.6, escolhe-se a melhor rela¸c˜ao (confiabilidade)×(comprimento). Para os testes 03, 04 e 05, foi escolhido o caminho com maior pertinˆencia encontrada. Para os teste 01 e 02 foram escolhidos caminhos intermedi´arios , isto ´e, estes caminhos devem ter um comprimento menor o suficiente para compensar a confiabilidade, segundo o crit´erio adotado.

Teste rotas µ¯ TH2 01 02 0,4159 0,0200 02 02 0,4663 0,0300 03 02 0,3578 0,0200 04 02 0,4701 0,0300 05 02 0,4326 0,0200

Tabela 5.5: Heur´ıstica 2: Determinar o n´umero m´aximo de parti¸c˜oes: p = 3

Teste µ¯ TH3 01 0,5888 0,1300 02 0,4663 0,1250 03 0,3578 0,0900 04 0,6337 0,1200 05 0,6320 0,1900

Tabela 5.6: Heur´ıstica 3: Solu¸c˜ao com melhor rela¸c˜ao (valor de pertinˆencia)×(comprimento do caminho)

Para observar o comportamento das heur´ısticas e dos algoritmos propostos, foram gerados dois grafos, G500 e G1000, G = (N, A), tal que (i, j) ∈ A → i < j, i, j ∈ N , custo dos arcos cij ∈ [0, 100] e valor de pertinˆencia aleat´orio µij ∈ [0, 1]. O grafo G500 possui 500 n´os e 34.032

arcos. O grafo G1000 possui 1000 n´os e 135.597 arcos. Os testes 01, 02 e 03 da tabela 5.7 s˜ao referentes ao grafo G500 e os testes 04, 05 e 06 referentes ao grafo G1000, para diferentes valores

Teste rotas µ¯ Te Tm 01 14 0,9781 43,2520 12,5980 02 09 0,9698 33,2780 18,1760 03 17 0,9720 50,2120 11,6560 04 09 0,9885 181,7720 75,3890 05 12 0,9672 174,1500 89,2790 06 14 0,9879 461,3240 93,3440

Tabela 5.7: Testes com os grafos G500 e G1000

de pertinˆencia. S˜ao dados o n´umero de rotas, o maior grau de pertinˆencia obtido e o tempo de execu¸c˜ao (em segundos) dos algoritmos DVV90CM e CM-Max.

que calcula o caminho com maior confiabilidade, CM-Max, necessita de menos da metade do tempo para encontrar a solu¸c˜ao, mas o algoritmo DVV90CM encontra todo o conjunto solu¸c˜ao. Cabe ao decisor escolher o algoritmo que melhor atende suas necessidades.

Escolhendo os testes realizados com o grafo G1000 para testar as heur´ısticas, temos as tabelas 5.8, 5.9 e 5.10:

Teste µ¯ TH1

04 0,9272 3,1840

05 0,9054 2,7040

06 0,9010 2,6940

Tabela 5.8: Heur´ıstica 1: Resolver para um valor de confiabilidade escolhido: α = 0, 9

Teste rotas µ¯ TH2

04 04 0,9272 140,6720

05 03 0,8615 115,1860

06 05 0,9010 213,4970

Tabela 5.9: Heur´ıstica 2: Determinar o n´umero m´aximo de parti¸c˜oes: p = 5

As heur´ısticas apresentadas na Tabela 5.8 e 5.9 n˜ao encontraram o caminho de maior confia- bilidade, mas obtiveram seus resultados em tempo reduzido comparado aos algoritmos propostos anteriormente. Observando a Tabela 5.8 verificamos que o tempo ´e consideravelmente inferior aos outros algoritmos testado. ´E realizado apenas um α-corte e o caminho ´e encontrado atrav´es do algoritmo de Dijkstra. Mas o resultado ´e condicionado `a escolha deste α-corte, o que pode ser dif´ıcil dependendo do problema. J´a pelos dados da heur´ıstica 2, o tempo ´e reduzido, mas o tempo computacional ´e dependente da quantidade m´axima de caminhos que se deseja obter.

Teste µ¯

04 0,9815

05 0,6161

06 0,9879

Tabela 5.10: Heur´ıstica 3: Solu¸c˜ao com melhor rela¸c˜ao (valor de pertinˆencia)×(comprimento do caminho)

Para a heur´ıstica 3, encontramos a segunda maior pertinˆencia para o teste 04, o menor valor de pertinˆencia dentre os caminhos do teste 05 e o maior valor de pertinˆencia para o teste 06, o

que nos faz observar que o caminho a ser escolhido pela heur´ıstica depende da varia¸c˜ao do custo e da rela¸c˜ao observada entre valor de pertinˆencia e comprimento do caminho.

Como cada algoritmo apresentado neste trabalho possui caracter´ısticas pr´oprias e atende a uma determinada necessidade de solu¸c˜ao, cabe ao decisor observar qual deles ´e mais apropriado para seu uso.

Cap´ıtulo 6

´

Arvore Geradora M´ınima Fuzzy

Neste cap´ıtulo, a incerteza ser´a considerada em dois casos: no primeiro caso a estrutura do grafo ´e crisp e os parˆametros s˜ao n´umeros fuzzy e no segundo caso temos que encontrar uma ´arvore geradora m´ınima em um grafo fuzzy. A resolu¸c˜ao do primeiro caso ser´a baseada na teoria de possibilidade (Zadeh, 1978), de forma a encontrar todo o conjunto solu¸c˜ao fuzzy do problema. Ser˜ao propostos um algoritmo para a solu¸c˜ao ´otima e um algoritmo gen´etico para tentar contornar a quest˜ao da complexidade do problema. Para o segundo caso, os algoritmos encontrados na literatura ser˜ao estudados e, com base nas observa¸c˜oes feitas, melhorias ser˜ao propostas.

Documentos relacionados