• Nenhum resultado encontrado

Sele¸c˜ ao de M´ etodos para Implementa¸c˜ ao

No documento Dissertação (páginas 94-100)

proposta por Knowles e Corne (KNOWLES; CORNE, 2000). Esta grade funciona como uma matriz que cobre o espa¸co de solu¸c˜oes se adaptando ao tamanho deste espa¸co. Sempre que a mem´oria externa atingir o seu limite, o espa¸co de busca coberto pelas solu¸c˜oes existentes, nesta mem´oria, ser´a dividido e cada solu¸c˜ao receber´a um conjunto de coordenadas baseadas na grade adaptativa. Ent˜ao, cada nova solu¸c˜ao n˜ao dominada ser´a aceita, apenas se a posi¸c˜ao geogr´afica no qual esta ´e mapeada, estiver menos aglomerada do que a posi¸c˜ao mais aglomerado da grade. Uma nova solu¸c˜ao n˜ao dominada que perten¸ca a um local fora das fronteiras existentes, tamb´em pode ser adicionada, com o custo de recalcular toda a grade adaptativa novamente. Em resumo, os locais menos aglomerados possuem preferˆencia para receber novas solu¸c˜oes da fronteira de Pareto, aprimorando assim a distribui¸c˜ao uniforme de solu¸c˜oes.

O c´alculo da grade adaptativa requer dois parˆametros: o tamanho esperado da fron- teira de Pareto e a quantidade de posi¸c˜oes no qual o espa¸co de solu¸c˜oes de cada objetivo ser´a dividido. O primeiro parˆametro ´e definido pelo tamanho da mem´oria externa e portanto ´e configurado pelo usu´ario. O segundo parˆametro ´e mais dif´ıcil de ser determinado, porem, tes- tes demonstraram que valores entre quinze e vinte produzem um bom resultado (KNOWLES;

CORNE, 2000). Foi tamb´em mostrado que o algoritmo n˜ao ´e muito sens´ıvel ao valor atribu´ıdo

a este parˆametro (COELLO; PULIDO, 2005). O c´alculo da localiza¸c˜ao dos indiv´ıduos ´e baseado

no valor de seus objetivos. Este c´alculo ´e de baixo custo computacional. Entretanto, quando um indiv´ıduo est´a localizado fora das fronteiras existentes, ´e preciso realocar toda a popula- ¸c˜ao. Embora esta situa¸c˜ao n˜ao ocorra com frequˆencia, ´e poss´ıvel determinar limites maiores prevendo esta situa¸c˜ao.

A grade adaptativa tamb´em ´e utilizada para determinar os indiv´ıduos que ser˜ao des- cartados quando a mem´oria externa estiver cheia. Os indiv´ıduos descartados ser˜ao aqueles localizados nas regi˜oes de maior aglomera¸c˜ao. Atrav´es deste m´etodo ´e poss´ıvel balancear a quantidade de solu¸c˜oes n˜ao dominadas, espalhando-as uniformemente ao longo da fronteira de Pareto. O funcionamento do microGA ´e descrito nos passos do Algoritmo 9.

3.3

Sele¸c˜ao de M´etodos para Implementa¸c˜ao

Para implementar a aloca¸c˜ao evolutiva de IPs e o mapeamento evolutivo de IPs, como ser´a explicado no Cap´ıtulo 4 e no Cap´ıtulo 5, respectivamente, foram escolhidos dois algoritmos gen´eticos multiobjetivos: o NSGA-II e o microGA. O NSGA-II foi escolhido devido aos bons resultados obtidos em benchmarks para POMs e por n˜ao depender da configura¸c˜ao de parˆame- tros cr´ıticos para o desempenho do algoritmo e de dif´ıcil ajuste (DEB et al., 2002). O microGA

3.3 Sele¸c˜ao de M´etodos para Implementa¸c˜ao 79

Algoritmo 9 microGA

1: MP = P

2: t = 0

3: Enquanto t < t.max Fa¸ca 4: Pt={p1t, p2t, . . . , p

n

t | pt∈ MP R ⊂ MP∨ pt∈ MP N R ⊂ MP}

5: repeat

6: Qt= Sele¸c~aoRecombina¸c~aoMuta¸c~ao(Pt)

7: {qt} = N~ao-Dominado(Qt)

8: Pt = Qt

9: until convergˆencia nominal

10: Se E n˜ao cheia Ent˜ao

11: E = E∪ {pt, qt| pt = N~ao-Dominado(Pt)∧pt 6= qt} 12: Sen˜ao 13: GradeAdaptativa(E, pt, qt) 14: Fim Se 15: MP R = MP R∪ {pt, qt} 16: Se i\ cicloDeRecoloca¸c˜ao = 0 Ent˜ao 17: Recoloca¸c~ao(E, MP R) 18: Fim Se 19: t = t + 1 20: Fim Enquanto

foi selecionado por tamb´em ter apresentado bons resultados em benchmarks para POMs (CO-

ELLO; PULIDO, 2001) e para poder comparar os resultados obtidos por ambos e o desempenho

das duas t´ecnicas empregadas nos dois algoritmos.

Para validar a implementa¸c˜ao de ambos os algoritmos, foram utilizados POMs que s˜ao considerados como benchmarks nesta ´area. Os problemas multiobjetivos utilizados foram: SCH, utilizado no estudo de Schaffer (SCHAFFER, 1985), tratando-se de uma fronteira convexa, FON, utilizado no estudo de Fonseca e Fleming (FONSECA; FLEMING, 1998), tratando-se de uma fronteira cˆoncava, KUR, utilizado no estudo e Kursawe (KURSAWE, 1991), tratando-se de uma fronteira com descontinuidades e ZDT4 utilizado no estudo de Zitzler, Deb e Thiele

(ZITZLER; DEB; THIELE, 2000), tratando-se de uma fronteira cˆoncava. A Tabela 2, apresenta

para cada problema, as fun¸c˜oes objetivo, o n´umero de vari´aveis de decis˜ao n, os limites do espa¸co de busca, o intervalo onde as solu¸c˜oes ´otimas se encontram e o tipo da fronteira de Pareto.

Os resultados obtidos com as implementa¸c˜oes do NSGA-II e do microGA, para os POMs de teste descritos na Tabela 2, est˜ao representados na Figura 34 para as fun¸c˜oes SCH e FON e na Figura 35 para as fun¸c˜oes KUR e ZDT4.

Ambos os algoritmos encontraram diversas solu¸c˜oes ´otimas, formando a fronteira de Pareto dos problemas utilizados como benchmark. O NSGA-II, comparado com o microGA,

3.3 Sele¸c˜ao de M´etodos para Implementa¸c˜ao 80

Tabela 2: POMs utilizados como benchmarks

Problema n Limites Fun¸c˜oes objetivo Intervalo ´otimo SCH 1 [–103, 103] f 1(x) = x2i x∈ [0, 2] f2(x) = (xi− 2)2 FON 3 [–4, 4] f1(x) = 1− exp(− n P i=1 (xi−√13)2) x1 = x2= x3 f2(x) = 1− exp(− n P i=1 (xi+√13)2) ∈ [−√1n,√1n] KUR 3 [–5, 5] f1(x) = n−1 P i=1− exp(−0,2√x2 i+x2i+1) 0,1 x∈ [−1, 1] f2(x) = n P i=1 (| xi |0,8 +sen(x3i)) ZDT4 10 x1 ∈[0, 1] f1(x) = x1 x1∈[0, 1] xi ∈[–5, 5] f2(x) = g(x)  1px1/g(x)  xi = 0 i∈ 2, . . . , n g(x) = 1 + 10(n − 1)+ i∈ 2, . . . , n Pn i=2[x2i − 10 cos(4πxi)] 0 1 2 3 4 0 1 2 3 4

(a) FP encontrada pelo NSGA-II para SCH

0 1 2 3 4 0 1 2 3 4 !!!!!!! !!!! !!!! !!!!!!! !!!!!!!! !!!!!!!! !!!! !!!! !!!! !! ! !!!!! !!!!!! !!!! !!!!!! !!!!! !!!!!!!!!!!!!!!!!! !!!!!! ! !!!!!!!!! !!!!! !!!!!!! ! !!!!!!!!! !!!!!!!!!!! !!!!!!!!!! !!!!!!!! ! !!!!!!!!! !!!!!!! !!!!! !!!!!!!!! !!!! !!! !!! !!!! !! !!!!! !!!!!!!!!! !!!!! !!!!!!! ! ! !! !!!!!!!!!!!! !!!!!!!!!! !!!!!!!!!!! !!!!!!!!! !!!!!!!!!!!! !!!!!!!!!! !!!! !!!! !!!!!!!!!!! !!!!!!! !!!!!!!!!!!!!! !!

(b) F P encontrada pelo microGA para SCH

0 0.25 0.50 0.75 1.00 0 0.25 0.50 0.75 1.00 """"""""""""""""" """""""""" """"""""""""" """ "" """" """""""""""""" """" "" """""""""""""""" """ """"""""""" """"""""""""""""""""" """"""""""" """""""""""" """"""" "" """""""" "" " """"""""""" """""""""""" """""""""""""""""""""""""""""" """"""""""""""""""""""""""""""""""""""""""""""""""" """"""""""""""""" """""""""""""""""""" """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" """"""""""""""""""""""""""""""""""""""""""" ""

(c) F P encontrada pelo NSGA-II para FON

0 0.25 0.50 0.75 1.00 0 0.25 0.50 0.75 1.00 ########### ########### ###### ##### ####### # ###### ##### ### ##### # #### ##### # ######### ###### #### ####### ########## # # ######## # ##################### ###### ####### ###### ######## # #### # ####### ########### ## #### ### ### ######### ######### ### ############### ################## ######## ###### ### # ###### #### ####### ######################## ########## # ########## ###### # ## ####### ##

(d) F P encontrada pelo microGA para FON

Figura 34: Resultados obtidos com o NSGA-II e microGA para os benchmarks: SCH e FON

encontrou uma diversidade maior de pontos mas ambos encontraram uma boa quantidade de solu¸c˜oes ´otimas.

3.4 Considera¸c˜oes Finais do Cap´ıtulo 81 -12.5 -9 -6 -3 0 -20 -19 -18 -17 -16 -15 -14

(a) F P encontrada pelo NSGA-II para KUR

-12.5 -9 -6 -3 0 -20 -19 -18 -17 -16 -15 -14 ! !!!!!!!!!!! !!!!!!!!!! ! !!!!!!!!!!! !!!!!!!!!!!! !!!!!!!!!!!! ! ! !!! !!!!!!!!!! !!!!!!!!!!! !!!!!!!!!!! !!!!!!!!!! !! ! !!!!!!!!!!! ! !!!!!!!!!!! !!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!! !!!!!!! !!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! !!!!!!!!!!!!! !!!!!! !!! ! !!!!!!!!!!!!!!!!!! ! ! !!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!! !!!! !!!!!!!!! !!!!!!!!!!!!!!!!!!!! ! !!! !!!!!!!!!!!!!

(b) F P encontrada pelo microGA para KUR

-1 -0.5 0.0 0.5 1.0 0 0.5 1.0 1.5 2.0 """ """"" """"" """""""""""""""""""""""""""""""""""""""""""" """""""""""""""""""""""""""""""""""""""""""""""""""""""""""" """""""""""""""""""""""" "" """""""""""""""""""""" """"""" """ """""""""""""""""" """"""" """""" " """"" """ """ """""" """"" " """"""""""""""""" """""""" """"""" "" """"" "" """"" "" """"""""""""""""" """""""""""""""""""""""" """ "" "" """" "" """" """" "" """ """" """" " """ """"" """" """"

(c) F P encontrada pelo NSGA-II para ZDT4

0 0.25 0.50 0.75 1.00 0 0.25 0.50 0.75 1.00 ################## ############## ### # # # ### ########### ######### ########### ################# ## # # ################# # ########## ######### ####### # # # ######### #################### ######## ## ################# # ### ######### ### ################ ###### # ############ # ## ################ #### ######### ## #### ######## ########## # #################### ### # ####### #

(d) F P encontrada pelo microGA para ZDT4

Figura 35: Resultados obtidos com o NSGA-II e microGA para os benchmarks: KUR e ZDT4

3.4

Considera¸c˜oes Finais do Cap´ıtulo

Algoritmos evolucion´arios s˜ao algoritmos inspirados na teoria evolucion´aria baseada na sobre- vivˆencia do mais apto e na evolu¸c˜ao ocorrida para que o indiv´ıduo se adapte ao meio. O funcionamento b´asico destes algoritmos consiste em realizar transforma¸c˜oes em indiv´ıduos, que representam solu¸c˜oes de um problema, de modo a simular um processo evolucion´ario. Este processo consiste em avalia¸c˜ao, sele¸c˜ao, recombina¸c˜ao e muta¸c˜ao das solu¸c˜oes. Uma classe especial de algoritmos evolucion´arios s˜ao os algoritmos gen´eticos. Estes algoritmos represen- tam a solu¸c˜ao de um problema atrav´es de um cromossomo e realizam opera¸c˜oes de sele¸c˜ao, recombina¸c˜ao e muta¸c˜ao. Para tratar de problemas de otimiza¸c˜ao multiobjetivos, existem os algoritmos evolucion´arios multiobjetivos e nesta classe est˜ao os algoritmos gen´eticos multiobje- tivos. Diferentes t´ecnicas de avalia¸c˜ao e sele¸c˜ao de solu¸c˜oes influenciam no desempenho destes algoritmos, que precisam avaliar m´ultiplos objetivos por indiv´ıduo. O m´etodo de sele¸c˜ao por n´ıvel de dominˆancia ´e um m´etodo que considera todos os objetivos de um indiv´ıduo e seleciona

3.4 Considera¸c˜oes Finais do Cap´ıtulo 82

os indiv´ıduos que apresentam o melhor balan¸co entre os objetivos. Os algoritmos gen´eticos multiobjetivos NSGA-II e microGA, s˜ao algoritmos com estrat´egias de busca e otimiza¸c˜ao diferentes e que apresentaram bons resultados experimentais. Estes dois algoritmos ser˜ao utili- zados para implementa¸c˜ao dos m´etodos propostos de aloca¸c˜ao evolutiva de IPs e mapeamento evolutivo de IPs em plataforma NoC, como ser´a apresentado nos cap´ıtulos seguintes.

Cap´ıtulo 4

ALOCA ¸C ˜AO EVOLUTIVA DE IPS

EM PLATAFORMA NOC

O

PROJETO de s´ıntese de uma plataforma NoC utiliza uma metodologia que divide o processo em v´arias etapas. Cada etapa ´e caracterizada por um grau de abstra¸c˜ao do hardware a ser implementado, sendo que cada uma possui um grau de abstra¸c˜ao maior do que o da etapa subsequente. Ao longo desses etapas, diferentes modelos da plataforma s˜ao elaborados. Os modelos iniciais s˜ao funcionais e n˜ao especificam detalhes de hardware enquanto os modelos finais s˜ao mais estruturais e apresentam as caracter´ısticas do hardware a ser implementado. Mais detalhes sobre essa metodologia se encontram na Se¸c˜ao 1.3 (do Cap´ıtulo 1).

Com base em modelos mais ou menos abstratos, s˜ao realizados processos de otimiza¸c˜ao com o objetivo de refinar cada vez mais as solu¸c˜oes intermedi´arias, para obter uma solu¸c˜ao final, completa e ´otima. A primeira otimiza¸c˜ao ´e realizada em termos de IPs a serem usados para implementar a aplica¸c˜ao na plataforma NoC projetada. Esta otimiza¸c˜ao ´e baseada em um modelo inicial que expressa a especifica¸c˜ao da aplica¸c˜ao. Este modelo consiste em um grafo de tarefas, onde cada uma ´e executada por um IP da NoC. Os IPs s˜ao selecionados de um ou mais reposit´orios (ou bibliotecas) de IPs prontos para serem utilizados de acordo com as necessidades do projeto.

A Se¸c˜ao 4.1 descreve o problema aloca¸c˜ao de IPs, que consiste em selecionar IPs para executar as tarefas de uma aplica¸c˜ao, definindo a no¸c˜ao de reposit´orio de IPs, grafo de tarefas para a especifica¸c˜ao de aplica¸c˜ao e grafo de caracteriza¸c˜ao de aplica¸c˜ao. Nesta se¸c˜ao, tamb´em ´e avaliada a complexidade do problema e o impacto de uma aloca¸c˜ao espec´ıfica no desempenho da implementa¸c˜ao final. A Se¸c˜ao 4.2 apresenta uma proposta de solu¸c˜ao para este problema atrav´es de m´etodos evolutivos, mostrando a codifica¸c˜ao do conte´udo do reposit´orio, do grafo de tarefas e dos indiv´ıduos, para permitir um processo evolutivo eficaz e eficiente. Em seguida, s˜ao definidas as fun¸c˜oes de avalia¸c˜ao dos objetivos de interesse para uma solu¸c˜ao evolu´ıda. A

No documento Dissertação (páginas 94-100)