Post on 18-Oct-2020
Geracao de Topologias Baseada emRedes Complexas Utilizando
Algoritmos Evolutivos
Andre Siqueira Ruela
Frederico Gadelha Guimaraes, Andre Luiz Lins de AquinoUniversidade Federal de Ouro Preto
Dissertacao submetida ao
Programa de Pos-Graduacao em Ciencia da Computacao
Universidade Federal de Ouro Preto
para a obtencao do tıtulo de Mestre em Ciencia da Computacao
ii
Geracao de Topologias Baseada em Redes
Complexas Utilizando Algoritmos Evolutivos
Resumo
Redes de Sensores Sem Fio (RSSFs) sao redes ad-hoc formadas por dis-
positivos autonomos, chamados nos sensores, que trabalham de forma
cooperativa e distribuıda, com o objetivo de realizar uma tarefa de
monitoramento de algum fenomeno ou evento natural. Os dados moni-
torados pelos nos sensores sao propagados pela rede ate o sorvedouro,
considerando uma topologia de comunicacao especıfica. Apesar de sua
sofisticacao, os sensores possuem diversas adversidades, como baixa ca-
pacidade de processamento e fonte de energia limitada. Assim surge a
necessidade de propor modelos de comunicacao que reduzam o numero
de comunicacoes na rede, mantendo-a escalavel e com baixo custo de
instalacao.
Este trabalho propoe heurısticas evolutivas para a configuracao da
topologia de uma RSSF, considerando metricas de redes complexas.
O trabalho inicia com um modelo matematico para o problema de
alocacao de concentradores, desenvolvido para determinar os nos que
serao configurados como concentradores. Deste modelo com algumas
consideracoes adicionais, propoe-se uma heurıstica para encontrar uma
configuracao de rede de forma que sua estrutura de comunicacao apre-
sente um pequeno comprimento para o caminho medio mınimo e um
elevado coeficiente de agrupamento. Esta configuracao considera uma
rede heterogenea, baseada em agrupamentos, onde os lıderes dos agru-
pamentos tem dois raios de comunicacao. Foi descrito como o problema
pode ser particionado e como o calculo de aptidao pode ser dividido de
iii
tal forma que o modelo de coevolucao cooperativa seja viavel. Os re-
sultados revelam que a metodologia proposta permite a configuracao
de redes com mais de uma centena de nos, com duas caracterısticas de
redes complexas, permitindo assim a reducao do consumo de energia e
o atraso na transmissao de dados.
iv
Agradecimentos
Agradeco a todos que, direta ou indiretamente, contribuıram para o desenvolvimento
deste trabalho.
Aos meus pais Elcio e Dalva pelos exemplos de dedicacao e carinho inestimaveis, e aos
meus irmaos Halliny e Alisson, pelas licoes e aprendizados de vida. A minha famılia, por
tornarem minha vida mais bela e divertida. Aos meus orientadores, Frederico Gadelha
Guimaraes e Andre Luiz Lins de Aquino, pelo apoio e pelas instrucoes necessarias para
o desenvolvimento deste trabalho. A todos os meus amigos e professores. Agradeco
ao DECOM, ao PPGCC e a UFOP, pelas oportunidades. A FAPEMIG pela bolsa de
estudos. Por fim, a Republica Toa-Toa, a todos os habitantes da Provıncia Rebelde e
ao valioso aprendizado adquirido no tradicional sistema de Republicas de Ouro Preto.
Sumario
Lista de Tabelas vii
Lista de Figuras viii
1 Introducao 2
1.1 Motivacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2 Objetivo e Justificativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.4 Revisao Bibliografica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.5 Estrutura do Trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2 Redes Complexas e Redes de Sensores 12
2.1 Redes Complexas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.1.1 Introducao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.1.2 Redes Aleatorias . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.1.3 Redes Livres de Escala . . . . . . . . . . . . . . . . . . . . . . . . 18
2.1.4 Exemplos e Aplicacoes . . . . . . . . . . . . . . . . . . . . . . . . 20
2.2 Redes de Sensores Sem Fio . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.3 Consideracoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3 Algoritmos Evolutivos 25
3.1 Introducao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.2 Otimizacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.3 Algoritmos de Busca Local . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.3.1 Metodo da Primeira Melhora . . . . . . . . . . . . . . . . . . . . 29
3.4 Algoritmos Geneticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.4.1 Introducao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.4.2 Parametros e Composicao dos Algoritmos Geneticos . . . . . . . . 32
3.4.3 Representacao das Solucoes . . . . . . . . . . . . . . . . . . . . . 33
v
Sumario vi
3.4.4 Operadores Geneticos . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.4.5 Criterio de Parada . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.5 Algoritmos Geneticos Hıbridos . . . . . . . . . . . . . . . . . . . . . . . . 36
3.6 Coevolucao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.6.1 Introducao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.6.2 Modelo de Ilhas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.6.3 Coevolucao Competitiva . . . . . . . . . . . . . . . . . . . . . . . 42
3.6.4 Coevolucao Cooperativa . . . . . . . . . . . . . . . . . . . . . . . 45
3.7 Consideracoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4 Modelagem 49
4.1 Introducao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.2 Definicao do Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.3 Abordagem Baseada em Algoritmos Geneticos . . . . . . . . . . . . . . . 54
4.3.1 Consideracoes iniciais . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.3.2 Operadores basicos . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.4 Algoritmo Genetico Hıbrido . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.5 Divisao do Problema Para a Cooperacao . . . . . . . . . . . . . . . . . . 62
4.5.1 Avaliacao da Aptidao Interna . . . . . . . . . . . . . . . . . . . . 64
4.5.2 Operadores Basicos . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.6 Geradores de Populacao Inicial . . . . . . . . . . . . . . . . . . . . . . . 70
4.7 Consideracoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
5 Resultados da Simulacao 73
5.1 Resultados dos Geradores de Populacao . . . . . . . . . . . . . . . . . . . 73
5.2 Resultados do Algoritmo Coevolutivo . . . . . . . . . . . . . . . . . . . . 75
6 Consideracoes Finais 80
6.1 Conclusoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
6.2 Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Referencias Bibliograficas 86
Lista de Tabelas
4.1 Descricao das variaveis do algoritmo . . . . . . . . . . . . . . . . . . . . 55
4.2 Descricao dos atributos de uma instancia . . . . . . . . . . . . . . . . . . 56
5.1 Desempenho dos geradores . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.2 Comparacao do desempenho dos algoritmos. . . . . . . . . . . . . . . . . 76
5.3 Comparacao do desempenho dos algoritmos. . . . . . . . . . . . . . . . . 76
5.4 Resultados do AGH para 512 nos. . . . . . . . . . . . . . . . . . . . . . . 77
5.5 Comparacao entre as metricas de redes complexas consideradas. . . . . . 77
vii
Lista de Figuras
1.1 Modelo de uma rede de sensores sem fio . . . . . . . . . . . . . . . . . . 3
1.2 Redes de sensores sem fio no cotidiano . . . . . . . . . . . . . . . . . . . 5
2.1 Problema das pontes de Konigsberg . . . . . . . . . . . . . . . . . . . . . 13
2.2 Transicao entre uma rede regular e uma rede aleatoria . . . . . . . . . . . 14
2.3 Grafos aleatorios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.4 Funcao de distribuicao da probabilidade de Poisson . . . . . . . . . . . . 18
2.5 Comparacao das redes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.6 Modelo de hardware de um sensor sem fio. . . . . . . . . . . . . . . . . . 22
2.7 Exemplos de sensores sem fio . . . . . . . . . . . . . . . . . . . . . . . . 23
3.1 Exemplo de funcao com mınimos global e local e maximo local. . . . . . 27
3.2 Selecao pelo metodo da roleta . . . . . . . . . . . . . . . . . . . . . . . . 35
3.3 Perda de gradiente Luke (2009) . . . . . . . . . . . . . . . . . . . . . . . 44
3.4 Perda de coordenacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.1 Propagacao do fenomeno. . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.2 Exemplo de instancia com 128 nos. . . . . . . . . . . . . . . . . . . . . . 57
4.3 Solucao com 256 nos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.4 Localizacao dos concentradores. . . . . . . . . . . . . . . . . . . . . . . . 64
4.5 Cobertura da celula. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
viii
LISTA DE FIGURAS ix
4.6 Solucao do ACC com 256 nos em 9 celulas. . . . . . . . . . . . . . . . . . 66
4.7 Fluxograma do ACC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Lista de Algoritmos
3.1 Algoritmo Primeira Melhora . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.2 Algoritmo Genetico Basico . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.3 Algoritmo Memetico (AG Hıbrido) . . . . . . . . . . . . . . . . . . . . . . 38
3.4 Modelo Abstrato de Ilhas Coevolutivas . . . . . . . . . . . . . . . . . . . . 42
3.5 Modelo Abstrato de Coevolucao Competitiva Paralela . . . . . . . . . . . 43
3.6 Modelo Abstrato de Coevolucao Cooperativa Sequencial . . . . . . . . . . 46
4.1 Algoritmo Genetico Basico para a configuracao da rede complexa . . . . . 60
x
LISTA DE ALGORITMOS 1
Capıtulo 1
Introducao
Uma rede de sensores sem fio (RSSF) consiste de dispositivos distribuıdos e autonomos,
chamados nos sensores, que trabalham de forma cooperativa com o objetivo de moni-
torar condicoes fısicas e ambientais, como temperatura, som, luminosidade, vibracao,
pressao, movimento, poluentes, entre outros. Todos esses fatores fazem com que as
RSSFs possam ser utilizadas numa variedade de aplicacoes como monitoramento de am-
bientes, biotecnologia, controle e monitoramento industrial, saude publica, transporte e
controle medico Akyildiz et al. (2002), Arampatzis et al. (2005).
Os nos sensores dessas redes possuem restricoes de energia, tempo de resposta e
largura de banda, que devem ser consideradas na concepcao de algoritmos e protocolos
eficientes para as RSSFs. Por exemplo, o tempo de resposta, quando muito alto, pode
invalidar a informacao que esta sendo propagada. Com isso, um fator importante no
projeto dessas redes e a diminuicao do tempo de resposta.
Os fenomenos monitorados pelas RSSFs sao reportados, por uma comunicacao sem
fio ad-hoc Royer and Toh (1999), para um elemento externo a rede, conhecido como no
sorvedouro. Em geral, os protocolos de comunicacao atuais consideram uma topologia
em arvore para a realizacao do escoamento dos dados monitorados pelos nos sensores.
A escolha do no para o qual os dados serao enviados dependera da polıtica estabelecida
pela aplicacao. No geral e utilizada a polıtica de menor caminho Qiu et al. (2009). No
entanto, se considerarmos as aplicacoes que utilizem milhares de nos trabalhando de
forma autonoma e cooperativa Estrin et al. (2001), algumas estrategias baseadas em
arvore podem nao ser escalaveis.
Uma alternativa, proposta neste trabalho como roteamento baseado em longos ata-
lhos, consiste na utilizacao de nos sensores com um alcance de comunicacao diferenciado,
2
Introducao 3
Figura 1.1: Modelo de uma rede de sensores sem fio
de tal forma que, com a utilizacao desses nos, o caminho medio entre os demais nos sen-
sores e o sorvedouro seja reduzido Guidoni et al. (2007), Sharma and Mazumdar (2005)
podendo, assim, economizar os recursos da rede. Os nos com a capacidade de comu-
nicacao elevada sao chamados nos concentradores. Os concentradores atuam como nos
sensores com dois raios de comunicacao ativos simultaneamente. O primeiro raio de co-
municacao, consiste no mesmo raio basico com o qual todos os demais sensores operam.
O segundo, consiste em um raio de comunicacao elevado, que permite a interconexao de
pontos distantes na rede e a formacao de longos atalhos para o fluxo de dados.
Modelar a topologia de uma RSSF com caracterısticas de redes complexas, consi-
derando os diversos aspectos apresentados ate entao, trata-se de um problema de oti-
mizacao complexo. Em outras palavras, este problema nao pode ser solucionado em
tempo polinomial, uma vez que o seu tempo de execucao cresce exponencialmente em
funcao do numero de elementos considerados na rede. Sendo assim, e mais viavel que o
problema da alocacao de concentradores seja solucionado atraves de metodos heurısticos,
pois estes garantem a obtencao de uma solucao satisfatoria de forma eficiente.
Entre tais metodos heurısticos, destaca-se a Computacao Evolutiva, que toma como
base o princıpio de adaptacao da teoria Darwiniana da evolucao natural das especies
Darwin and Huxley (2003), propondo um modelo em que populacoes de estruturas com-
putacionais evoluem de forma a atingir, com o passar do tempo, uma populacao que
apresenta, em media, um rendimento melhor na solucao de um determinado problema
que as populacoes anteriores Goldberg (1989), Holland (1975).
Esta dissertacao propoe tres heurısticas evolutivas para a configuracao de uma RSSF,
tendo como base alguns princıpios de redes complexas. Foi adotado o criterio de mini-
mizacao da soma entre o custo de instalacao dos nos concentradores e o custo de pro-
Introducao 4
pagacao dos dados pela rede. As solucoes geradas devem atender as restricoes impostas
pelo modelo de rede proposto, alem de apresentar um elevado coeficiente de agrupamento
e um baixo caminho medio mınimo. Os resultados demonstraram que os algoritmos sao
capazes de encontrar boas solucoes para o problema, que atendam as especificacoes.
1.1 Motivacao
Garantir a qualidade de servico em uma RSSF e uma tarefa difıcil. E preciso que sejam
levados em conta requisitos, como a area de cobertura, a conectividade dos sensores, a
confiabilidade e o tempo de vida, sendo este ultimo diretamente relacionado com este
trabalho.
As caracterısticas exclusivas das RSSFs e principalmente as restricoes desfavoraveis
a sua aplicacao possibilitaram que esta area seja considerada uma das areas de grande
desafio na pesquisa internacional, uma vez que se trata de dispositivos de hardware com
a capacidade bastante reduzida de processamento e armazenamento de dados.
Inicialmente desenvolvidas por centros de pesquisa belica e designadas para aplicacoes
militares, as RSSFs hoje dispoem de diversos recursos, no que diz respeito a capacidade
de monitoramento, que viabilizam o seu emprego nas mais diversas areas. A tendencia
e que as RSSFs estejam operantes em todos os lugares em que haja a possibilidade de
monitoramento de algum fenomeno e a respectiva tomada de decisao, dada a informacao
observada, automatizando algum setor de atividade humana, nas mais diferentes areas.
As redes podem estar presentes em nosso cotidiano, realizando alguma tarefa de maneira
quase imperceptıvel, desde a residencia ao local de trabalho, melhorando o bem-estar
dos cidadaos.
1.2 Objetivo e Justificativa
O objetivo deste trabalho e propor uma forma de configuracao de uma RSSF, que leva
em conta caracterısticas de redes complexas, de maneira que o consumo de energia total
seja minimizado, aumentando o tempo de vida desta rede. Uma vez que a comunicacao
e a operacao que mais consome recursos de uma RSSF, e preciso reduzir o numero
de ocorrencias das transmissoes de dados durante a propagacao dos mesmos ate o no
sorvedouro. Esta nova configuracao tem como base duas caracterısticas de uma rede
Introducao 5
Figura 1.2: Redes de sensores sem fio no cotidiano
complexa, sendo estas um elevado coeficiente de agrupamento e um baixo caminho medio
mınimo. Estas caracterısticas sao verificadas devido a insercao dos concentradores, que
possuem um raio de comunicacao mais abrangente, permitindo a interconexao de regioes
distantes da rede. Estas referidas interconexoes contribuem para a reducao do numero de
saltos, realizados pela informacao em seu percurso do sensor fonte ao sorvedouro. Uma
breve comparacao entre a abordagem de redes complexas e um grafo regular comumente
adotado permite visualizar uma reducao no predito numero de saltos necessarios para
o escoamento dos dados e, consequentemente, uma contribuicao para o aumento da
qualidade de servico da rede.
Tomando como motivacao a necessidade de economizar os recursos da rede mantendo-
a escalavel, este projeto propoe tres meta-heurısticas baseadas em Algoritmos Evolutivos
para a montagem de uma estrutura de roteamento baseada em redes complexas. Este
trabalho toma como ponto de partida o trabalho de Guidoni et al. (2007) que utiliza
sistemas do tipo eixo-raio aplicados a RSSFs modeladas como redes complexas. O
mesmo apresenta um modelo matematico para a atribuicao de concentradores numa rede
de sensores de tal forma que a sua estrutura de comunicacao possua caracterısticas small
world. Na metodologia proposta, o modelo matematico apresentado em Guidoni et al.
(2007) e usado como ponto de partida para a formulacao do calculo dos valores de aptidao
dos indivıduos da populacao do algoritmo evolutivo. A forma de representacao adotada
e o calculo dos valores de aptidao incorporam diretamente algumas premissas e restricoes
do problema.
Metodos exatos nao podem solucionar o problema abordado em tempo polinomial.
Isso ocorre devido a complexidade do problema, que tem como caracterıstica um cresci-
Introducao 6
mento exponencial do tempo de execucao em funcao do numero de sensores no interior
da rede. Por esse motivo, optou-se nesse trabalho pela utilizacao de uma heurıstica
baseada em Computacao Evolutiva para a solucao do problema. Em Ruela et al. (2009),
um algoritmo genetico foi desenvolvido para este problema, mantendo as caracterısticas
de uma rede complexa, considerando um elevado numero de sensores operacionais na
rede. Porem, este algoritmo e executado fora da rede por um unico computador e seus
resultados quanto a nova topologia da rede sao enviados posteriormente para a mesma.
Um detalhe sobre este ultimo trabalho e que os resultados obtidos nao foram colocados
a prova, seja por simulacao de uma rede, seja por implantacao real da mesma. Alem
disso, para grandes instancias, o trabalho anterior nao apresentou um bom desempenho
devido ao elevado tempo de execucao.
A ideia da coevolucao cooperativa consiste em aplicar o paradigma da divisao e
conquista, dividindo um problema em subproblemas menores para a obtencao de sub-
solucoes que cooperam na producao de uma solucao global para o problema como um
todo. Em outras palavras, a estrategia proposta consiste em uma evolucao de multiplas
solucoes em subpopulacoes em paralelo, de forma cooperativa.
Tendo como ponto de partida os experimentos anteriores, a contribuicao deste tra-
balho consiste na proposicao de um Algoritmo Coevolutivo Cooperativo (ACC), que
possa ser executado de forma cooperativa, aproveitando as caracterısticas supracitadas
de uma rede ad-hoc. Dessa forma, da-se o primeiro passo para que a rede se torne auto-
organizavel, dispensando a necessidade de intervencoes externas. A principal hipotese
testada foi constatar se o ACC proposto consegue gerar, com a mesma eficacia apresen-
tada em Ruela et al. (2009), uma topologia de rede com caracterısticas complexas, para
que se torne viavel a sua implementacao em uma RSSF e a sua execucao em tempo real.
Explorando o paradigma da divisao e conquista inerente da coevolucao cooperativa, o
ACC foi ainda formulado em uma estrutura computacional adequada, que permitiu a
intercomunicacao de subpopulacoes. Dado que a coevolucao cooperativa proposta exige
um particionamento do problema global, esperou-se que os subproblemas demandassem
um menor esforco computacional e armazenamento de dados.
1.3 Metodologia
Para a realizacao deste trabalho foi preciso, inicialmente, caracterizar uma rede de sen-
sores completa, identificando os principais parametros necessarios, desde a comunicacao,
Introducao 7
passando pela infraestrutura e finalizando na aplicacao. Somente com tal caracterizacao
foi possıvel iniciar o desenvolvimento de um algoritmo executado pelos proprios sensores
de forma distribuıda. Os trabalhos de Akyildiz et al. (2002) e Tilak et al. (2002) servem
como ponto de partida para o estudo das principais caracterısticas de uma RSSF. Em
seguida, foi necessario encontrar as metricas das redes complexas a serem consideradas
neste trabalho que melhor representam as caracterısticas topologicas, a conectividade
dos nos e as relacoes de influencia entre os mesmos. Os autores Wang and Chen (2003)
e Costa et al. (2005) contribuıram muito nesta linha de pesquisa provendo uma revisao
sobre os principais modelos de redes complexas ja elaborados, seus conceitos basicos e
suas caracterısticas especıficas. Apos o estudo destes dois primeiros topicos de pesquisa,
foi possıvel realizar uma caracterizacao completa entre uma RSSF e uma rede complexa
e analisar os pontos fundamentais a serem considerados durante a fase de implementacao
da rede.
A etapa seguinte consistiu em elaborar modelos de coevolucao cooperativa que ga-
rantissem as caracterısticas de redes complexas em uma RSSF, cruzadas anteriormente.
As formas de validacao de metodos computacionais mais significantes podem ser estuda-
das a partir do trabalho de Jain (1991) que fornece modelos analıticos, de simulacao e
medicao enquanto processo de projeto, analise e avaliacao de um sistema computacional.
Por fim, somente com a implantacao de uma rede de sensores sem fio real e que se
pode constatar na pratica se a nova topologia, baseada em redes complexas, desenvolvida
por algoritmos evolutivos e executados pelos proprios sensores da rede, proporciona
a economia de recursos mencionada anteriormente e os demais resultados esperados.
Tal implantacao nao foi realizada neste trabalho devido as dificuldades na obtencao
dos recursos necessarios. Entretanto, a simulacao das redes obtidas destaca-se como o
principal trabalho futuro.
1.4 Revisao Bibliografica
As RSSFs foram originalmente elaboradas por militares para o monitoramento do campo
de batalha. Posteriormente, com a reducao dos custos e tamanho dos equipamentos,
tornou-se possıvel a aplicacao desta tecnologia em diversas areas como por exemplo, mo-
nitoramento ambiental, gerenciamento de suprimentos, automacao predial, automacao
industrial, entre outros.
Introducao 8
Na UNAMA (Universidade da Amazonia), foi realizado o projeto INFOCLIMA
Johnson and Margalho (2006), com o objetivo de se construir uma rede de sensores
sem fio para monitoramento agroclimatologico na Amazonia. Em sua fase inicial, o pro-
jeto INFOCLIMA investigou quais as consequencias que a vegetacao e o clima quente e
umido, tıpicos da floresta amazonica, trazem as comunicacoes sem fio de curta e longa
distancia, concluindo que tais condicoes afetam toda a rede, principalmente os nos mais
distantes do sorvedouro.
Em Quintao et al. (2005) foi apresentada uma nova abordagem para o problema
de cobertura em RSSFs, baseada em Algoritmos Geneticos, apresentando uma solucao
para o problema do escalonamento de nos e cobertura em redes heterogeneas que ainda
nao havia sido abordado em profundidade em estudos teoricos. Posteriormente, no tra-
balho Martins et al. (2008) foi analisado o problema de cobertura e conectividade de
uma RSSF sujeita a falhas de nos. O problema da cobertura consiste em maximizar a
area abrangida pelo alcance dos nos sensores. A abordagem escolhida e um Algoritmo
Genetico hıbrido multiobjetivo, baseado no NSGA (Non-dominated Sorting Genetic Al-
gorithm), para determinar, em paralelo, um conjunto de solucoes nao dominadas em
relacao a tais objetivos, e um algoritmo simples de tomada de decisao, empregado de
maneira a escolher a configuracao a ser adotada pela rede a cada instante. Nessa mesma
linha, em Andrade et al. (2010), foi aplicado um Algoritmo Evolutivo para o controle de
densidade, cobertura e roteamento em uma RSSF, considerando uma rede dinamica com
multiplos perıodos de tempo. O controle de densidade esta diretamente relacionado a
economia de energia da rede, pois admite que nos sensores possam ser desativados para
economizar bateria.
O trabalho de Xue et al. (2006) utiliza um algoritmo de Evolucao Diferencial discreto
com uma abordagem multiobjetivo (D-MODE, Discrete-Multiobjective Differential Evo-
lution) para o problema de roteamento em RSSFs, visando minimizar tanto o custo de
propagacao dos dados quanto o numero de saltos em um dado caminho. O custo de
propagacao dos dados esta diretamente relacionado com a energia consumida pelos sen-
sores da rede durante o seu processo de escoamento da informacao sensoriada, enquanto
o numero de hops esta relacionado com a latencia na entrega dos pacotes. Os resultados
demonstram que o D-MODE foi capaz de encontrar boas solucoes considerando sensores
com o posicionamento estatico e dinamico, alem de multiplos caminhos na rede.
Em Boonma and Suzuki (2008) foi proposto o MONSOON, um framework coevolu-
tivo e multiobjetivo que evolui polıticas de comportamentos para agentes em RSSFs.
Cada agente possui sua propria polıtica de comportamento, codificada em uma cadeia
Introducao 9
genetica que define como invocar os seus comportamentos. MONSOON permite que os
agentes evoluam as suas polıticas de comportamento por meio dos operadores geneticos
ao longo das geracoes e, simultaneamente, adaptem as polıticas de comportamento para
objetivos conflitantes em ambientes operacionais de fısica dinamica e ambientes de rede.
O MONSOON coevolui dois tipos de agentes: os agentes coletores de dados e os agen-
tes detectores de eventos. O framework considera tres objetivos, sendo eles a taxa de
sucesso, latencia e o consumo de energia. As simulacoes foram realizadas em uma vasta
gama de diferentes ambientes. O MONSOON se apresentou como uma otima ferramenta
para a adaptacao de multiplos agentes em RSSFs, considerando multiplos objetivos.
No contexto dos algoritmos propostos para a configuracao de agrupamentos em RS-
SFs, ou para a construcao de redes hierarquicas, encontram-se diversos trabalhos como o
LEACH Heinzelman et al. (2000), o PEGASIS Lindsey and Raghavendra (2002), o AS-
CENT Cerpa and Estrin (2004), o BCDCP Muruganathan et al. (2005), entre outros.
Tais algoritmos sao comumente citados em trabalhos relacionados a formacao de agru-
pamentos ou selecao de nos concentradores em RSSFs e roteamento dos dados ate um
sorvedouro. Nesse contexto, algoritmos evolutivos tem ganhado cada vez mais espaco,
apresentando bons resultados e, muitas vezes, superando os algoritmos classicos da li-
teratura. Por exemplo, em Turgut et al. (2002) um AG foi utilizado para aprimorar o
desempenho de tais algoritmos, enquanto em Jin et al. (2003) um AG foi proposto para
a configuracao de uma RSSF baseada em agrupamentos, objetivando a reducao do con-
sumo de energia da rede. Jin et al. (2003) constatou que a formacao de agrupamentos
pre-determinados foi capaz de reduzir a distancia de comunicacao em cerca de 80% em
relacao a distancia de transmissao direta.
Em Hussain et al. (2007a) foi utilizado um AG para aprimorar a performance do
protocolo HCR Hussain and Matin (2006), desenvolvido pelos proprios autores. O AG
foi implementado com o objetivo de se determinar o numero de agrupamentos, o numero
de concentradores, o numero de sensores nos agrupamentos e as tarefas de transmissao.
O algoritmo executa em algum sorvedouro que tem a habilidade de reconfigurar a RSSF
a cada iteracao, atribuindo a ela uma nova topologia de baixo consumo de energia.
O sorvedouro analisa os dados atualizados retornados pela RSSF e aplica o AG. O
AG realiza um ajuste de parametros baseado no retorno obtido pela RSSF, antes de
sua execucao, e retorna a melhor solucao encontrada para tais parametros, apos sua
execucao. Posteriormente, em Hussain et al. (2007b) foi realizada uma investigacao
rigorosa dos resultados e foi discutido o projeto e as caracterısticas de implementacao
das simulacoes. Os autores comparam os seus resultados com os principais algoritmos
Introducao 10
da literatura, ja mencionados. Os resultados demonstram que a organizacao de uma
RSSF em agrupamentos hierarquicos obtidos pelos AGs e capaz de estender o tempo de
vida da rede, por meio da economia eficiente de recursos.
Em Romoozi and Ebrahimpour-komleh (2010), foi proposto um algoritmo genetico
para o problema do posicionamento de nos concentradores em RSSFs moveis, visando
minimizar o consumo de energia da rede, tanto por meio da construcao de agrupamen-
tos eficientes, quanto por meio da localizacao dos nos concentradores em posicoes mais
estrategicas. O trabalho considera o diagrama de Voronoi de Berg et al. (2000) como
um dos fatores relevantes para a funcao de fitness. Alem disso, os autores utilizam o al-
goritmo K-medianas Kanungo et al. (2002) para a geracao dos agrupamentos e somente
apos o termino deste e que se aplica o AG para o ajuste do posicionamento dos concen-
tradores. Os resultados demonstram que a abordagem proposta tem um desempenho
melhor que algoritmos tradicionais, como o LEACH Heinzelman et al. (2000), no que se
refere a economia de recursos da rede e extensao de seu tempo de vida.
O projeto de redes eixo-raio e um problema que muito se assemelha a este trabalho,
devido as caracterısticas topologicas relacionadas a insercao de nos concentradores, que
dominam o fluxo da informacao pela rede. Entretanto, a aplicacao dos conceitos de
redes eixo-raio se estende aos mais diversos contextos de redes e nao apenas ao con-
texto de RSSFs. O problema da alocacao simples de nos concentradores, em redes
eixo-raio, consiste em selecionar o conjunto de concentradores que minimize o custo
de instalacao e o custo de transporte da rede. Em Gomes et al. (2011) foram propos-
tas tres abordagens evolutivas para o problema da alocacao simples de concentradores
em uma rede eixo-raio. A primeira consiste em um AG simples, a segunda consiste
em um AG hıbrido com busca local e a terceira utiliza um AG hıbrido com descida
em vizinhanca variavel Hansen and Mladenovic (1997). Alem disso, os algoritmos fo-
ram comparados com os atuais estados da arte da literatura Cunha and Silva (2007),
Naeem and Ombuki-Berman (2010), Topcuoglu et al. (2005). Os algoritmos propostos
realizam um processo de geracao da populacao inicial baseado no estagio construtivo
do metodo GRASP Feo and Resende (1995). Adicionalmente, os algoritmos foram de-
vidamente calibrados para se obter o melhor desempenho possıvel neste contexto. Os
resultados demonstram que as tres abordagens propostas superam os algoritmos da lite-
ratura e que, entre elas, a terceira abordagem se apresenta como a mais eficiente, sendo
capaz de encontrar o ponto otimo das instancias testadas.
Conforme mencionado, este trabalho toma, como ponto de partida os estudos de
Guidoni et al. (2007), que obteve atraves de metodos exatos, um modelo semelhante a
Introducao 11
uma rede small-world, com um elevado coeficiente de agrupamento e um baixo caminho
medio mınimo. Entretanto, devido ao alto custo computacional em tempo de execucao
dos modelos exatos utilizados, a rede se restringe a apenas 32 nos. Em Ruela et al. (2010)
foram propostos um AG basico e um AG hıbrido para a solucao deste mesmo problema.
O AG simples foi capaz de chegar a solucoes que apresentavam caracterısticas de redes
complexas, porem tais solucoes, em geral, nao possuıam boa qualidade, considerando a
funcao de aptidao dos indivıduos. Ja o AG hıbrido foi capaz de obter boas solucoes que
atendem as especificacoes do problema, porem com alto custo computacional e tempo
de execucao. Por outro lado, o ACC proposto encontrou boas solucoes com um baixo
custo computacional.
1.5 Estrutura do Trabalho
Este trabalho esta dividido em seis capıtulos, incluindo esta introducao onde e apresen-
tada uma visao geral sobre RSSFs, suas vantagens e restricoes.
No capıtulo 2 e apresentada uma revisao sobre os conceitos fundamentais de Redes
Complexas e Redes de Sensores Sem Fio, que servem como base para a compreensao do
problema proposto. O capıtulo 3 introduz os conceitos sobre Otimizacao e Computacao
Evolutiva, que levaram ao desenvolvimento dos algoritmos evolutivos, bem como a sua
utilizacao na resolucao de problemas de otimizacao combinatoria, como e o caso do pro-
blema encontrado neste trabalho. No capıtulo 4 o problema em questao e detalhado
e modelado para a sua resolucao atraves dos algoritmos desenvolvidos. No capıtulo 5
sao apresentados os resultados obtidos atraves das simulacoes computacionais. As con-
clusoes obtidas a partir dos resultados e os possıveis trabalhos futuros sao posteriormente
apresentados no capıtulo 6.
Por fim, sao listadas as Referencias Bibliograficas utilizadas neste trabalho.
Capıtulo 2
Redes Complexas e Redes de Sensores
Neste capıtulo, os conceitos basicos de Redes serao descritos, em um nıvel suficiente de
detalhamento, para uma melhor compreensao dessa dissertacao. Apesar da definicao
simples, o modelo abstrato de rede e adotado em uma vasta gama de disciplinas, e se
aplica desde o estudo de redes sociais e relacoes humanas a redes de informatica. A secao
2.1 introduz os conceitos sobre Redes Complexas, que constituem a base deste trabalho,
no que se refere a construcao de uma nova estrutura de comunicacao para uma RSSF.
A secao 2.2 descreve o contexto da aplicacao e as caracterısticas peculiares de RSSFs.
2.1 Redes Complexas
2.1.1 Introducao
Redes podem ser basicamente consideradas como um conjunto de itens conectados entre
si Newman (2003). E possıvel verificar a presenca de estruturas em rede desde nıveis
subatomicos ate as mais complexas organizacoes sociais ou materiais geradas pela hu-
manidade, como a Internet.
O estudo das redes complexas tem como ponto de partida o trabalho de Euler L.Euler
(1753), que resolveu o problema das pontes de Konigsberg, uma cidade atualmente cha-
mada de Kaliningrado, localizada na Russia e formada por duas ilhas. Naquela epoca,
havia sete pontes que faziam a ligacao entre as ilhas e discutia-se muito sobre a possibi-
lidade de tracar um percurso que passava por todas as sete pontes uma unica vez. Euler
provou em seu trabalho que era impossıvel tracar um circuito fechado que atendia as
12
Redes Complexas e Redes de Sensores 13
exigencias do problema. Na figura 2.1 tem-se: a - o mapa da cidade de Konigsberg; b -
as pontes de Konigsberg; c - o respectivo grafo.
Figura 2.1: Problema das pontes de Konigsberg
Uma caracterıstica comum a varias redes e que o estudo de seus elementos e insu-
ficiente para se compreender o comportamento da rede. Em outras palavras, existem
diversas variaveis de grande importancia que permitem explicar as formas de construcao
dos relacionamentos entre os elementos, que acabam se perdendo quando a analise e
focada apenas nos itens da rede e nao na rede como um todo. Essa caracterıstica limita
o emprego de metodos analıticos que fragmentam o objeto de estudo em questao, pois
este abrange a estrutura completa de uma rede.
Tais limitacoes deixam em aberto diversos desafios. Em Paxson and Floyd (1997)
afirma-se o quanto era difıcil e frustrante tentar compreender o funcionamento e cresci-
mento da Internet, devido a diversos fatores, como por exemplo, os diferentes protocolos
de comunicacao e, principalmente, devido as limitacoes do modelo de distribuicao de
Poisson para controlar as conexoes entre os nos.
Em Watts and Strogatz (1998a) foi dada uma grande contribuicao na area, sendo um
dos estudos mais citados posteriormente. O trabalho consistia na analise tanto de redes
regulares, em que as conexoes entre os nos eram completamente previsıveis, quanto de
redes com conexoes totalmente aleatorias, alem de diversas variacoes intermediarias na
probabilidade de conexao. O trabalho considerava duas metricas, sendo elas o caminho
medio mınimo e o coeficiente de agrupamento. O comportamento observado nessas redes
se assemelha ao fenomeno small-world bastante observado em redes sociais, entre outras
redes complexas.
Redes Complexas e Redes de Sensores 14
A figura 2.2 ilustra a transicao entre uma rede regular e uma rede small-world. Em
uma rede regular, todos os vertices possuem o mesmo grau, isto e, o mesmo numero
de arestas incidentes seguindo um padrao de conexao estavel, no qual cada vertice se
conecta aos 4 vizinhos mais proximos. Portanto, nessas redes a probabilidade de conexao
p e 0. Ja em uma rede completamente aleatoria, na qual a probabilidade de conexao p e 1,
o grau dos vertices, assim como as conexoes entre eles, nao apresentam qualquer padrao
pre-definido. Em outras palavras, quando p = 1, todas as areastas sao aleatoriamente
modificadas.
Figura 2.2: Transicao entre uma rede regular e uma rede aleatoria
O caminho medio mınimo consiste no numero medio de saltos necessarios para a
conexao de todos os pares de vertices distintos, considerando sempre o menor caminho
entre eles. Outro calculo relacionado ao menor caminho consiste na distancia geodesica
media, que calcula os pesos dij das arestas entre os pares de vertices i e j presentes no
menor caminho, em uma rede de N vertices e e dado por
δ =1
N(N − 1)
N∑
i
N∑
j 6=i
dij . (2.1)
Em muitos problemas praticos, os pesos das arestas representam a distancia euclidi-
ana entre os pontos, ou o custo relativo para percorrer de um ponto ao outro, ou ainda a
forca da conexao entre os dois pontos. Para o calculo do menor caminho entre dois pares
de vertices distintos em uma rede, existem diversos algoritmos disponıveis na literatura,
por exemplo, o algoritmo de Dijkstra Dijkstra (1959).
Redes Complexas e Redes de Sensores 15
O coeficiente de agrupamento diz respeito a tendencia que uma rede tem em formar
estruturas de vizinhanca triangulares ou conjuntos de vertices hermeticamente interco-
nectados. Tambem conhecido por “transitividade” Newman (2001), o coeficiente de
agrupamento pode ser expresso por
C =3N∆
N3
, (2.2)
onde N∆ e o numero de triangulos na rede e N3 e o numero de triplas conectadas.
Considere A como uma matriz de adjacencia na qual um elemento aij e igual a 1 se
existe uma aresta entre os vertices i e j, ou 0 caso contrario. Um triangulo consiste em
um conjunto de tres vertices contendo arestas entre cada par de vertices do conjunto
N∆ =∑
i
∑
j>i
∑
k>j
aijaikajk. (2.3)
Uma tripla conectada consiste em um conjunto de tres vertices adjacentes, onde cada
vertice pode ser alcancado a partir de outro vertice, diretamente ou indiretamente
N3 =∑
i
∑
j>i
∑
k>j
(aijaik + ajiajk + akjaki). (2.4)
Cada triangulo pode ser visto como tres diferentes triplas conectadas, o que justifica
o uso da constante 3 multiplicando o numero de triangulos, assegurando a relacao 0 ≤C ≤ 1.
Ainda e possıvel definir o coeficiente de agrupamento de um vertice i especıfico
(Watts and Strogatz 1998b)
C(i) =3N∆(i)
N3(i), (2.5)
N∆(i) =∑
j
∑
k>j
aijaikajk, (2.6)
N3(i) =∑
k>j
aijaik. (2.7)
Redes Complexas e Redes de Sensores 16
Neste caso, considera-se N∆(i) como o numero de triangulos contendo i e N3(i) como
o numero de triplas conectadas contendo i como vertice central. Esta forma de mensurar
o coeficiente de agrupamento de uma rede atribui o mesmo peso e importancia a cada
triangulo presente na rede. Entretanto, ha uma forma diferente de interpretacao do
coeficiente de agrupamento de um vertice i que o expressa como a probabilidade de que,
dado dois vertices j e k vizinhos de i, sejam tambem vizinhos entre si. Seja κi o numero
de vizinhos do vertice i, entao
N3(i) =κi(κi − 1)
2. (2.8)
Adicionalmente, interpretando N∆(i) como o numero de arestas entre os vizinhos de
i, expresso por li, pode-se re-escrever a equacao 2.2 como
C =1
N
∑
i
C(i), (2.9)
C(i) =2li
κi(κi − 1). (2.10)
Nesta abordagem, cada vertice e computado com a mesma importancia, resultando
em um valor diferente do que e expresso pela equacao 2.2. Isso ocorre devido a pos-
sibilidade de que vertices de maior grau estejam envolvidos em um numero maior de
triangulos do que vertices de menor grau.
Ja em 1999, Barabasi e Albet notaram que algumas redes apresentam o grau de
conectividade κ seguindo uma distribuicao em lei de potencia, como por exemplo, redes
criadas pelo homem, como a Internet. Deste trabalho surgiu o conceito de redes livres
de escala Barabasi and Albert (1999).
Nos anos que se seguiram, outras contribuicoes foram realizadas tendo como foco
principal o estudo das caracterısticas da Internet, considerando-a como um processo
complexo e dinamico.
Redes Complexas e Redes de Sensores 17
2.1.2 Redes Aleatorias
Entre os diferentes tipos de redes, a rede mais simples e a rede aleatoria. Proposta
inicialmente por Erdos e Renyi Erdos and Renyi (1959), uma rede aleatoria consiste em
um conjunto de N nos que se interligam seguindo uma probabilidade p de conexao.
Portanto, em uma rede aleatoria, cada possıvel conexao entre um par de nos tem
uma probabilidade p de ocorrer, sendo estas conexoes equiprovaveis. Dessa forma, para
N nos em uma rede dessa natureza, tem-se N(N − 1)/2 possıveis conexoes no espaco
amostral. Uma vez que cada aresta conecta dois nos, e possıvel definir um valor medio,
λ, como p(N − 1), que representa o numero medio de arestas em um grafo com tais
propriedades aleatorias. A partir da media λ, para grandes valores de N , e possıvel se
aproximar bem por meio de uma distribuicao de Poisson para os graus dos nos Poisson
(2005). Na figura 2.3 podemos ver algumas realizacoes de grafos aleatorios, com 100 nos,
para diferentes valores de probabilidade p Erdos and Renyi (1959, 1960).
Figura 2.3: Grafos aleatorios
A distribuicao de Poisson e uma distribuicao de probabilidade discreta que expressa
a probabilidade de um dado numero de eventos ocorrerem num determinado intervalo
de tempo ou espaco. Ela so pode ser aplicada desde que se saiba qual a taxa media,
λ, de ocorrencia destes eventos, sendo esta taxa constante durante todo o intervalo
de tempo ou espaco considerado. Alem disso, e necessario que estes eventos sejam
Redes Complexas e Redes de Sensores 18
independentes, pois o processo nao tem memoria, ou seja, o numero de eventos ocorrendo
em um segmento de tempo ou espaco e independente do numero de eventos ocorridos no
segmento anterior. A probabilidade de que existam exatamente κ ocorrencias (κ sendo
um inteiro nao negativo, κ = 0, 1, 2,...) e:
f(κ;λ) =ǫ−λλκ
κ!. (2.11)
A figura 2.4, a seguir, ilustra a funcao de distribuicao da probabilidade de Poisson
para varios valores de λ.
Figura 2.4: Funcao de distribuicao da probabilidade de Poisson
Este modelo possui algumas caracterısticas que nao se aplicam as redes complexas,
como por exemplo, o numero fixo de elementos em contraposicao com o numero crescente
encontrado em muitas redes e o grau de conectividade em concordancia com a funcao
de Poisson que nao se verifica em muitas das demais redes. Portanto, o modelo de Paul
Erdos e Alfred Renyi, apesar de ser satisfatorio na modelagem de varias redes, nao esta
de acordo com redes que apresentam o crescimento contınuo baseado na lei de potencia.
2.1.3 Redes Livres de Escala
Redes Livres de Escala (Scale-Free), ou mesmo Redes Sem Escala, atraıram muito a
atencao de pesquisadores no final do sec. XX, pois diversas redes possuem suas carac-
Redes Complexas e Redes de Sensores 19
terısticas. Elas se diferem das redes aleatorias por nao possuırem uma distribuicao
de conectividade seguindo a distribuicao de Poisson, por possuırem alguns poucos ele-
mentos com alto grau de conectividade enquanto a grande maioria possui uma baixa
conectividade. Por outro lado, a probabilidade de conexao e dada pela lei de potencia
Barabasi and Albert (2002)
P (k)∼κ−γ , (2.12)
onde κ e o numero de conexoes e o expoente γ varia aproximadamente entre 2 e 3 para
a maioria das redes reais, como a Internet, redes metabolicas no interior das celulas
humanas, redes de distribuicao de energia, entre outras.
Uma vez que uma rede livre de escala nao depende do numero N de elementos
internos, novos itens podem ser inseridos, um a um, seguindo o princıpio de que um novo
elemento se conecta preferencialmente a algum no com conexoes ja bem estabelecidadas,
com a probabilidade dada por
P (κi) =κi∑N
j=1 κj, (2.13)
onde κi e o numero de conexoes do i-esimo elemento e N e o numero total destes
elementos.
Dessa forma, os nos que possuırem um valor elevado de κ podem ser eleitos concen-
tradores da rede, ou seja, os elementos que apresentarem um maior numero de conexoes
podem ser considerados concentradores. Esse mecanismo de conexao preferencial faz
com que uma rede livre de escala seja menos homogenea, se comparada a uma rede
aleatoria, pois naquela, a maioria dos nos se conectam a um grupo pequeno de concen-
tradores, enquanto nesta, as conexoes estao mais distribuıdas. Esta caracterıstica das
redes sem escala geram um ponto fraco, pois se os concentradores forem removidos da
rede ou desativados, podem se formar aglomerados de nos isolados na rede.
Por outro lado, uma rede livre de escala apresenta-se mais estavel, se comparada
a redes regulares, quando se analisa uma falha acidental nos nos. Enquanto as redes
regulares perdem conexoes significativas e formam aglomerados isolados, as redes livre
de escala conseguem manter a conectividade de todos os pontos operacionais da rede.
A figura 2.5 apresenta uma comparacao da falha acidental de nos numa rede aleatoria
e numa rede livre de escala. Para facilidade de comparacao foram removidos os mesmos
Redes Complexas e Redes de Sensores 20
nos. Por fim, o efeito de um ataque focado nos concentradores de uma rede livre de
escala.
Figura 2.5: Comparacao das redes.
2.1.4 Exemplos e Aplicacoes
Conforme mencionado anteriormente pode-se observar a presenca de redes complexas
nos mais diversos tipos de situacoes. Em Newman (2003), alguns exemplos sao descritos
com mais detalhes. Entre eles, os principais sao:
• Redes Sociais: O relacionamento entre seres humanos, sejam eles afetivos ou
profissionais, apresentam uma correlacao com redes complexas, em especial redes
small-world, visto que o caminho medio mınimo entre dois indivıduos na rede tende
a crescer muito pouco em relacao ao numero de total indivıduos.
Redes Complexas e Redes de Sensores 21
• Redes Tecnologicas: Sao redes projetadas por seres humanos para distribuicao
de recursos ou facilidades, por exemplo, eletricidade, agua, telefone, Internet, cor-
respondencias, entre outras.
• Redes de Informacao: Exemplos de redes de informacao sao a World Wide Web,
os registros de patente, as referencias bibliograficas em artigos cientıficos, alem
de redes de preferencia, como programas de TV ou bens de consumo. Redes de
preferencia sao bastante usadas por sistemas de recomendacao. Nestes sistemas, um
produto ou servico e indicado a um determinado indivıduo, baseado no mapeamento
dos dados referentes as preferencias do mesmo, em comparacao com a preferencia
de outros.
• Redes Biologicas: Talvez seja esta a categoria em que mais se observa o estudo
das redes complexas, por ocorrerem em praticamente quase todos os seres vivos e
ecossistemas, desde sistemas de grande porte, como cadeias alimentares, a sistemas
menores, como o sistema nervoso, vascular, ou mesmo redes metabolicas, nas quais
substratos e produtos sao vertices e a presenca de uma aresta entre eles representa
a existencia de uma reacao metabolica. De forma analoga, o genoma tambem pode
ser considerado uma rede complexa.
2.2 Redes de Sensores Sem Fio
Os avancos ocorridos nos ultimos anos na area de micro processadores, micro sistemas
eletro mecanicos (MEMS - Micro Electro-Mecanical Systems) comunicacao sem fio em
geral, alem da fusao destas tecnologias integradas aos diversos tipos de sensores “inteli-
gentes”, tem estimulado o desenvolvimento de um novo tipo de rede ad-hoc conhecida
como Rede de Sensores Sem Fio (RSSF) Estrin et al. (1999). Uma RSSF e um tipo
especial de rede composta por dispositivos distribuıdos, autonomos, com capacidade de
processamento e transmissao de dados, que trabalham de forma cooperativa com o obje-
tivo de realizar uma tarefa de monitorar um fenomeno fısico ou ambiental. Os fenomenos
sao convertidos em dados por sensores conhecidos como nos fontes e reportados, por uma
comunicacao sem fio ad-hoc Royer and Toh (1999), para um elemento externo a rede,
conhecido como no sink ou sorvedouro.
Os sensores sao constituıdos de alguns componentes basicos, conforme ilustra a fi-
gura 2.6, sendo os principais: bateria, memoria, processador, sensor e transceptor. A
Redes Complexas e Redes de Sensores 22
bateria e a reserva de energia de um sensor e possui capacidade bastante limitada e
de difıcil reposicao. Eventualmente, pode ser que um sensor possua um gerador, como
uma placa de captacao de energia solar. A memoria, bem como o processador, e de
pequeno porte, apesar de serem dispositivos sofisticados, devido ao pequeno tamanho
do equipamento. Uma variedade de sensores podem ser embutidos em cada no, por
exemplo, sensor acustico, sısmico, infravermelho, camera fotografica ou filmadora, calor,
temperatura e pressao. O radio inclui os sistemas de comunicacao de um sensor, como
o transceptor.
Figura 2.6: Modelo de hardware de um sensor sem fio.
Os fenomenos monitorados podem ser, portanto, de diferentes naturezas, o que gera
uma enorme gama de possıveis aplicacoes para as RSSFs, tais como monitoramento de
ambientes, biotecnologia, controle e monitoramento industrial, saude publica, transporte
e controle medico. A figura 2.7, a seguir, apresenta alguns exemplos de sensores sem fio.
Os tres sensores do topo foram desenvolvidos pela Universidade de Berkeley Kahn et al.
(1999), denominados Macro Motes ou Cots Dust. O projeto de tais sensores objetivou
a maxima economia de energia possıvel. Abaixo seguem o WINS Marcy et al. (1999),
desenvolvido pelo Rockwell Science Center em conjunto com a Universidade da California
e o SensorWeb SensorWebs (n.d.), do California Institute of Technology.
As RSSFs sao diferentes das redes de computadores convencionais por diversas cir-
cunstancias, tais como restricoes de consumo de energia, baixa capacidade de proces-
samento e largura de banda, alta redundancia de sensores, restricoes temporais das
aplicacoes, entre outras. Devido a tais caracterısticas, e necessario o desenvolvimento
de novos modelos, abordagens, topologias e algoritmos para contornar os problemas que
emergem deste contexto. Entre as referidas restricoes, destaca-se o consumo de energia
Redes Complexas e Redes de Sensores 23
Figura 2.7: Exemplos de sensores sem fio
oriundo da operacao de comunicacao de dados, em especial o envio de pacotes, sendo
que o envio de um bit custa, em media, milhares de vezes mais que operacoes internas
ou coleta de dados.
Outros obstaculos a serem enfrentados sao a auto-organizacao e adaptacao da rede,
devido a problemas como falha na comunicacao e perda de nos sensores, de forma que a
rede mantenha a sua funcionalidade sem que seja necessaria a intervencao humana. Alem
da possibilidade de estarem sujeitos as mas condicoes do ambiente, correndo o risco de
danificacao ou destruicao, os sensores podem ficar sem bateria, ou mesmo entrar em um
estado de “dormencia” para economia de energia ou por falta de utilidade na rede. De
forma oposta, sensores adormecidos podem despertar e voltar ao estado operacional. Tal
autonomia implica em novos desafios, visto que os protocolos de comunicacao convenci-
onais, assim como algoritmos distribuıdos e de eleicao de lıderes tradicionais, devem ser
revisados e adaptados as condicoes peculiares das RSSFs.
Como apresentado anteriormente, as redes de sensores sem fio sao classificadas como
redes moveis ad-hoc, por nao possuırem uma estacao base de radio intermediaria na
comunicacao que prove uma infraestrutura para a rede. Sendo assim, as RSSFs se
caracterizam como uma rede nao estruturada, na qual a comunicacao entre os nos e
feita diretamente. No entanto, as RSSFs se distinguem das redes moveis ad-hoc quanto
ao objetivo de se realizar uma tarefa colaborativa, nao apenas se limitando a dar suporte
a comunicacao, e quanto ao numero elevado de elementos operacionais no interior da
mesma, bem como a elevada densidade da rede com um fluxo de dados unidirecional, na
grande maioria das aplicacoes.
Redes Complexas e Redes de Sensores 24
Um fator importante a se considerar para garantir a qualidade de servico de uma
RSSF e o tempo de vida da rede, que esta diretamente relacionado com a capacidade e
o consumo de energia de seus elementos. Como ja dito anteriormente, a operacao mais
custosa a um no e a transmissao de dados e, de maneira geral, considerando a rede como
um todo, a propagacao de seus dados ate o no sorvedouro esta diretamente relacionada
com o tempo de vida da rede.
Este trabalho faz uma abordagem sobre duas diferentes formas de configuracao da
rede, sendo a primeira o modelo regular adotado convencionalmente e a segunda o modelo
hierarquico, com caracterısticas de uma rede complexa, em que os sensores sao organi-
zados em agrupamentos, nos quais um sensor denominado concentrador, que dispoe de
um raio elevado de comunicacao, fica encarregado de concentrar os dados de seu grupo
antes de escoa-los ate o sorvedouro. Espera-se que a segunda proposta apresente um
menor consumo de recursos da rede, comparada a primeira, pois com a insercao dos
concentradores foi possıvel verificar uma reducao no numero de transmissoes de dados
necessarias para a propagacao dos mesmos ate o sorvedouro.
2.3 Consideracoes
Neste capıtulo, foram abordados os diversos conceitos basicos sobre Redes de Sensores
Sem Fio e Redes Complexas. O entendimento de tais fundamentos e essencial para
a compreensao da modelagem, apresentada no capıtulo 4, que trata sobre a estrutura
topologica heterogenea para o fluxo de dados em uma RSSF. Por meio destas discipli-
nas, torna-se possıvel configurar uma RSSF considerando conceitos e metricas de Redes
Complexas, por exemplo, Redes Livres de Escala.
Capıtulo 3
Algoritmos Evolutivos
3.1 Introducao
Nos ultimos anos, a natureza e os processos naturais tem se apresentado como uma
verdadeira fonte de inspiracao para muitas das atuais linhas de pesquisa sobre mode-
los computacionais inteligentes, por apresentarem incontaveis exemplos operacionais de
processos que podem ser ditos “inteligentes”, sob certo ponto de vista. Cientistas de
diversas areas, engenheiros e matematicos concordam que a natureza foi capaz de gerar
sistemas complexos de adaptacao ao meio ambiente, principalmente no que diz respeito
aos seres vivos, os quais servem como fontes para modelos computacionais. Tais modelos
sao obtidos por meio da observacao, copia, ou, pelo menos, de uma imitacao das ade-
quadas solucoes que a natureza encontrou. De maneira geral, sao aplicados na resolucao
de problemas que ainda nao se consegue resolver com satisfacao em tempo polinomial.
A Computacao Evolutiva toma como base o princıpio de adaptacao da teoria Darwini-
ana da evolucao natural das especies Darwin and Huxley (2003), propondo um modelo
em que populacoes de estruturas computacionais evoluem de forma a atingir, com o
passar do tempo, uma populacao que apresenta, em media, um rendimento melhor na
solucao de um determinado problema do que as populacoes anteriores. A Computacao
evolutiva e composta por alguns metodos e paradigmas, como a Programacao Evolutiva,
as Estrategias Evolutivas e os Algoritmos Geneticos (AGs) e suas aplicacoes especıficas,
como Sistemas Classificadores e Programacao Genetica Eiben and Smith (2008).
Entre os referidos metodos, os AGs sao os mais populares e estudados pelos pesqui-
sadores, pelo fato de ser facil de implementar e eficaz na busca no espaco de possıveis
solucoes, alem da extensa aplicabilidade nos mais diferentes problemas.
25
Algoritmos Evolutivos 26
3.2 Otimizacao
Neste item sera exibido um estudo geral, sucinto e objetivo sobre os principais metodos
empregados em otimizacao.
Otimizacao pode ser considerado como o processo de escolher, dentre as diversas
possıveis solucoes, a solucao que melhor atende aos objetivos pre-estabelecidos, de acordo
com o processo modelado. Em geral, quando se fala em otimizacao, o mais usado e a
otimizacao matematica, onde todo o projeto e descrito por intermedio de uma funcao
matematica com variaveis livres ou dependentes e um valor de custo.
O foco principal na Programacao Matematica consiste na resolucao de problemas
por meio da maximizacao ou minimizacao da funcao que represente o problema. Os
problemas de otimizacao apresentam alguns conceitos e definicoes consolidados que serao
detalhadas a seguir.
As Variaveis de Projeto sao variaveis dinamicas que se modificam durante as etapas
da otimizacao. Elas podem representar a topologia da estrutura, a configuracao ou a
forma geometrica da estrutura, por exemplo.
Funcoes de Restricao sao funcoes de igualdade ou desigualdade que fazem o detalha-
mento da regiao factıvel do projeto, delimitando o que pode ou nao pode existir. As
restricoes podem ser aplicadas diretamente sobre as variaveis ou relacionadas ao com-
portamento e condicoes do projeto. Em geral, as restricoes de desigualdade estao mais
presentes em modelos de otimizacao. Na maioria das vezes, as restricoes sao implementa-
das por meio de uma funcao de penalidade construıda com variaveis livres do problema
que somam ou subtraem algum valor da funcao objetivo, fazendo com que uma solucao
infactıvel seja penalizada.
A Regiao Factıvel, ja mencionada anteriormente, e o conjunto ou espaco de busca
de solucoes viaveis ao problema em questao. Esta regiao e delimitada pelas funcoes de
restricoes e nao apenas pelo domınio da funcao objetivo. O espaco de busca pode ser
classificado como contınuo ou discreto, finito ou infinito, ou ainda concavo ou convexo.
A Funcao Objetivo e a funcao que representa o processo em questao, o qual e de
interesse otimizar. Ela e composta por um numero de variaveis, se classificando como
unidimensional ou multidimensional, ou mesmo quanto aos numeros de maximos ou
mınimos, se classificando como unimodal ou multimodal. Considerando apenas um
Algoritmos Evolutivos 27
problema de otimizacao, podemos defini-lo da seguinte forma: dada uma funcao f :
Rn → R e um espaco de busca S ⊆ R
n
maximizar f(x)|x ∈ S (3.1)
O Ponto Otimo e o ponto no domınio de uma funcao em que a funcao atinge o
seu valor extremo. Diz-se ponto de mınimo em problemas de minimizacao e ponto de
maximo em problemas de maximizacao. O Valor Otimo e o valor que esta mesma funcao
assume em seu ponto otimo.
O par formado pelo ponto otimo e o seu respectivo valor otimo constitui o que e
chamado de Solucao Otima, a qual pode ser classificada como: Local, quando o valor
otimo e analisado apenas levando em consideracao as solucoes localizadas ou vizinhas, e
nao todo o espaco de busca; Global, quando se analisa todo o espaco de busca. A figura
3.1 ilustra uma funcao que possui mınimo global em x = −3, maximo local em x = 0 e
mınimo local x = 2.
Figura 3.1: Exemplo de funcao com mınimos global e local e maximo local.
Existe uma vasta gama de classificacoes e aplicacoes de metodos de otimizacao em
problemas existentes, porem, sem perda de generalidade, os metodos podem ser divididos
em duas areas: Otimizacao Analıtica e Otimizacao Numerica. A otimizacao analıtica se
aplica quando e possıvel solucionar um problema por meio de uma equacao contınua e
diferencial, realizando o calculo do ponto no qual a derivada da funcao objetivo e nula.
Entretanto, existem funcoes que nao sao contınuas e nem diferenciaveis e, portanto,
nao possuem solucao analıtica, restando apenas a alternativa de se empregar metodos
numericos. Devido as diferencas entre os tipos de restricoes caracterısticas peculiares
Algoritmos Evolutivos 28
referentes as funcoes objetivo, os metodos numericos se dividem em Lineares e Nao-
Lineares. Aplica-se a programacao linear quando a funcao objetivo e as restricoes sao
funcoes lineares das variaveis de projeto. Ja a programacao nao-linear e aplicada nos ca-
sos adversos, onde o Metodo Quasi-Newton e dos Gradientes Conjugados se apresentam
eficientes na resolucao de problemas unimodais, entretanto demonstram certa ineficacia
para problemas multimodais, nao diferenciaveis e em ambientes discretos.
Por outro lado, os Metodos Probabilısticos sao metodos que atendem a estas outras
necessidades com muita flexibilidade, empregando a ideia de busca probabilıstica, o que
nao quer dizer que estes sejam completamente dependentes da sorte, como e o caso dos
Metodos Aleatorios. Ja outro grupo, conhecido por Metodos Evolutivos, sao baseados
na evolucao de uma populacao na busca de um ponto otimo. Neste ultimo grupo, se
enquadram os Algoritmos Geneticos.
3.3 Algoritmos de Busca Local
Algoritmos de Busca Local sao metodos nao sistematicos capazes de encontrar muitas
vezes solucoes razoaveis em largo espaco de estados consumindo pouquıssima memoria,
uma vez que seu metodo opera usando apenas um unico estado atual. Eles tem esse
nome porque cada movimento feito considera apenas os estados vizinhos ao estado atual.
Em geral, o objetivo e encontrar o melhor estado (ou o ponto otimo) de acordo com a
Funcao Objetivo.
Para compreender o funcionamento dos Algoritmos de Busca Local e importante
conceituar a superfıcie do espaco de solucoes. A superfıcie e definida pela localizacao dos
estados no espaco e suas respectivas elevacoes, que por sua vez correspondem ao custo da
solucao ou o valor da Funcao Objetivo. Se a elevacao corresponde ao custo, o objetivo e
encontrar o vale mais baixo, ou mınimo global. Por outro lado, se a elevacao corresponde
ao valor da Funcao Objetivo, o objetivo e encontrar o pico mais alto, ou maximo global.
Note que para converter um problema de maximizacao para minimizacao, e vice-versa,
basta multiplicar o seu valor de custo (ou Funcao Objetivo) por −1. Algoritmos de
Busca Local exploram esta superfıcie na busca por algum objetivo. Diversos algoritmos
de Busca Local podem ser encontrados na literatura. A seguir, sera descrito o metodo
da Primeira Melhora, o qual foi utilizado neste trabalho.
Algoritmos Evolutivos 29
3.3.1 Metodo da Primeira Melhora
O metodo da Primeira Melhora (First Improvement Method), ilustrado pelo algoritmo
3.1, consiste em um simples laco iterativo, no qual cada repeticao busca por um vizinho
R do estado atual S e o avalia. Assim que um vizinho, avaliado dessa forma, apresentar
um melhor valor da Funcao Objetivo em relacao ao estado atual, um movimento e
aceito. O algoritmo para se nenhum dos vizinhos avaliados for melhor que o estado
atual, sendo este retornado como solucao. Dessa forma, o algoritmo iterativamente se
move na direcao da primeira melhora encontrada, parando somente em um pico (ou
um vale). Neste contexto, um vizinho R consiste em alguma outra solucao proxima na
superfıcie de S. Sendo assim, algum R pode ser obtido por meio de uma perturbacao
em S.
Algoritmo 3.1: Algoritmo Primeira Melhora
Entrada: S – Uma solucao inicial candidata1 inıcio
2 repita
3 R← Pertuba(Copia(S));4 se Func~ao Objetivo(R) > Func~ao Objetivo(S) entao
5 S ← R;
6 ate Criterio de Parada(S) ;7 retorna S;
Note que o algoritmo 3.1 nao armazena o caminho percorrido no espaco de estados,
nenhuma arvore ou qualquer outra estrutura de dados. O metodo mantem apenas o
estado atual, o qual e retornado como solucao final. Por tais razoes, tal metodo tem
sido amplamente utilizado com sucesso no refinamento de solucoes. Por outro lado, a
Primeira Melhora e considerado um metodo guloso, pois avanca para a proxima solucao
sem considerar a proxima vizinhanca e o proximo movimento a ser dado a partir do
vizinho.
O metodo da Primeira Melhora ainda possui algumas adversidades. Uma vez que
a memoria do metodo se restringe a apenas o estado atual S e o proximo vizinho R,
o metodo nao tem nenhuma garantia de que encontra um otimo global. Alem disso, o
metodo possui forte tendencia a se prender em bacias de atracao formadas por otimos
locais e nao apresenta tecnicas para evita-las. Adicionalmente, numa superfıcie plana,
o metodo tende a nao encontrar uma saıda. Em todas as adversidades, o algoritmo
atinge um ponto onde nenhuma melhora pode ser encontrada e para sua execucao. Em
Algoritmos Evolutivos 30
outras palavras, o sucesso do metodo Primeira Melhora esta diretamente ligado as ca-
racterısticas da superfıcie do espaco de solucoes. Superfıcies planas e com um elevado
numero de otimos locais, em geral, tendem a dificultar a exploracao do espaco de solucoes
por meio de metodos de Busca Local.
3.4 Algoritmos Geneticos
3.4.1 Introducao
AGs se enquadram na classe dos sistemas inspirados pela natureza, por simularem um
processo natural de evolucao, baseados na teoria da evolucao das especies proposta por
Darwin and Huxley (2003), que, atraves de metodos robustos, conferem uma grande
aplicabilidade na resolucao de problemas reais. Tem como princıpios basicos, portanto,
o conceito de selecao natural, onde os indivıduos que nao se adaptam ao meio tem
menores chances de sobrevivencia, enquanto os mais aptos tem maior probabilidade de
sobreviver; e o conceito de hereditariedade, em que as caracterısticas geneticas dos pais
sao transmitidas para os filhos, geracao apos geracao.
Na decada de 1950, muitos biologos comecaram a desenvolver simulacoes computaci-
onais de processos naturais e geneticos. Mas foi John Holland quem obteve mais exito
nas pesquisas nessa area. Em Holland (1975), apos varios anos de pesquisa, foi publicado
o que hoje e considerado a bıblia dos AGs. Goldberg, um aluno de Holland, conseguiu,
na decada de 1980, aplicar pela primeira vez um AG para a solucao de um problema
industrial Goldberg (1989).
Na natureza, os indivıduos competem por recursos escassos, como alimentos e refugio,
e lutam pela sobrevivencia. Os indivıduos que nao obtem exito nessa competicao prova-
velmente terao um numero reduzido de descendentes e, como consequencia, uma menor
probabilidade de ter seus genes propagados pelas geracoes posteriores. Alem disso, a
combinacao dos genes de dois pais pode produzir um filho com maiores capacidades de
se adaptar ao meio em que vive. A constante verificacao deste fenomeno caracteriza a
evolucao emulada nos AGs, pois os indivıduos com mais chances de se reproduzirem sao
os que possuem as melhores caracterısticas geneticas para o determinado problema.
Sendo assim, uma solucao para o problema e codificada em um “cromossomo”, cons-
tituıdo por uma cadeia de caracteres . Estes cromossomos, por sua vez, representam
Algoritmos Evolutivos 31
indivıduos que competem pela sobrevivencia. A esses indivıduos sao atribuıdos valores
de aptidao por meio de uma funcao de avaliacao, sendo que este valor sera utilizado para
comparar o indivıduo com os demais membros da populacao e do espaco de busca.
Os AGs se diferem das demais heurısticas por possuırem uma codificacao do conjunto
de parametros de entrada, por trabalharem em cima de informacoes do custo e da
economia de uma solucao, e por utilizarem regras para exploracao da vizinhanca por
meios probabilısticos e nao determinısticos, alem de se trabalhar com uma populacao e
nao apenas um unico ponto.
A seguir, estao listados alguns termos derivados da Biologia, frequentemente empre-
gados na Computacao Evolutiva, e seus respectivos significados computacionais:
• Indivıduo: Uma solucao candidata.
• Filho e Pai:Um filho e uma solucao candidata produzida pelos operadores geneticos
a partir de uma solucao pai.
• Populacao: O conjunto de solucoes candidatas.
• Aptidao: Qualidade de uma solucao.
• Avaliacao: Processo de computar a qualidade de uma solucao.
• Selecao: Coletar solucoes baseando-se em sua qualidade.
• Cruzamento: Recombinacao da cadeia genetica de solucoes pais, produzindo fi-
lhos.
• Mutacao: Perturbar a cadeia genetica de uma solucao.
• Reproducao: Producao de filhos a partir de solucoes pais, atraves dos operadores
geneticos.
• Genotipo: A estrutura de dados de um indivıduo.
• Cromossomo: Um genotipo na forma de um vetor de tamanho fixo.
• Gene: Uma posicao particular no cromossomo.
• Allelo: Uma configuracao particular de um gene.
• Fenotipo: A solucao representada por um indivıduo durante a avaliacao do fitness.
Algoritmos Evolutivos 32
• Geracao: A populacao produzida a cada ciclo. Cada ciclo e composto pela Ava-
liacao, Reproducao e Substituicao dos indivıduos.
3.4.2 Parametros e Composicao dos Algoritmos Geneticos
Vale lembrar que existem alguns parametros que interferem no funcionamento dos AGs,
bem como nos seus resultados. E possıvel verificar grandes variacoes nos resultados
relacionados a pequenos ajustes feitos nesses parametros.
Um destes parametros e o tamanho da populacao. O tamanho da populacao esta
diretamente relacionado com o numero de pontos analisados no espaco de busca, bem
como a probabilidade de cada indivıduo ser selecionado para a reproducao.
Outro parametro que esta relacionado com o numero de pontos analisados do espaco
de busca e o numero de geracoes. O numero de geracoes tambem pode ser um criterio
de parada, sendo que quando um limite superior de geracoes e atingido, o metodo para
e retorna a melhor solucao encontrada.
A taxa de cruzamento diz respeito a probabilidade de dois pais selecionados gera-
rem filhos. Quanto maior essa taxa, mais rapidamente novas caracterısticas geneticas
serao inseridas na populacao. Esse fenomeno pode ser considerado ruim, dependendo
do problema em questao, pois o numero de substituicoes maior sera e, portanto, pode
ocasionar a perda de indivıduos de alta aptidao. Por outro lado, para valores baixos
dessa taxa, a convergencia do metodo se torna lenta.
A taxa de mutacao diz respeito a probabilidade do indivıduo sofrer pertubacoes em
sua cadeia genetica. O processo de mutacao impede que o algoritmo convirja rapida-
mente para otimos locais. O operador de mutacao torna possıvel a avaliacao de cada
ponto do espaco de busca e evita que a populacao se torne uniforme e incapaz de se
desenvolver. Para valores altos da taxa de mutacao, a diversidade da populacao tende
a ser maior, porem a busca se torna muito aleatoria, dificultando a evolucao. Portanto,
essa taxa deve ser mantida em valores baixos.
Alguns AGs consideram ainda um parametro chamado Intervalo de Geracao que con-
trola a quantidade de indivıduos que serao substituıdos para a proxima geracao. Estes
AGs classificam-se como Estacionarios, nos quais podem haver uma competicao entre
pais e filhos para a sobrevivencia na proxima geracao. Por outro lado, nos AGs Geracio-
nais, apos o processo de reproducao, toda a populacao de filhos substitui integralmente
Algoritmos Evolutivos 33
a populacao de pais na proxima geracao. Existe ainda o metodo do Elitismo que copia
o melhor indivıduo encontrado na populacao de cada geracao.
Os AGs trabalham com uma populacao de indivıduos. Para isso e necessario que
esse indivıduo seja uma codificacao adequada, atraves de cromossomos, de uma possıvel
solucao para o problema em questao. Cada cromossomo representa um ponto no espaco
de busca.
Para se inicializar o algoritmo, e preciso que haja um metodo para gerar a populacao
inicial sobre a qual todo o processo se decorrera. A cada indivıduo desta populacao e
atribuıdo um valor de aptidao que esta relacionado com a funcao objetivo a ser otimizada
pelo algoritmo.
Apos toda a populacao inicial ter sido avaliada, inicia-se o processo de selecao natural.
A selecao simula uma competicao entre os indivıduos e opera de forma nao determinıstica
na escolha dos indivıduos sobreviventes, de acordo com o valor de aptidao de cada um.
Assim, os indivıduos selecionados entao se reproduzem, seguindo a taxa de cruza-
mento, gerando novos filhos a partir de uma recombinacao genetica dos pais. A essa
operacao se da o nome de crossover. Em seguida, os novos indivıduos sao submetidos
ao processo de mutacao, de acordo com a taxa de mutacao, que provoca alteracoes
imprevisıveis em seus genes, o que permite uma melhor exploracao do espaco de busca.
Por fim, os novos indivıduos substituem a geracao anterior, de acordo com o Intervalo
de Geracao, e dao inıcio a um novo ciclo. O algoritmo 3.2, a seguir, e uma abstracao de
um AG basico.
3.4.3 Representacao das Solucoes
A representacao das solucoes consiste na forma com que os parametros de entrada sao
codificados em uma cadeia genetica, sobre a qual todos os operadores evolutivos atuam.
O conjunto de genes de um indivıduo designa-se genotipo e nele devem estar armazenadas
todas as informacoes necessarias para o condicionamento do fenotipo.
Inicialmente, a representacao proposta por Holland (1975) consistia de cromossomos
formados por vetores binarios de tamanho fixo, em que cada gene no vetor representa
uma determinada caracterıstica fenotıpica. O allelo 1 representa a presenca desta carac-
terıstica e o alelo 0 representa a ausencia.
Algoritmos Evolutivos 34
Algoritmo 3.2: Algoritmo Genetico Basico
Entrada: µ – tamanho da populacao, ρm – taxa de mutacao e ρc – taxa decruzamento.
Saıda: melhor solucao encontrada.1 inıcio
2 t← 0 {contador de geracoes};3 Pt = {p(1)t , . . . , p
(µ)t } ← Inicializa(µ) ;
4 enquanto t < tmax faca
5 Ft ← Avaliac~ao(Pt);6 t∗, p∗best ← Atualiza(Pt, Ft);
7 P′
t ← Selec~ao(Pt, Ft);
8 P′′
t ← Cruzamento(P′
t , ρc);
9 P′′′
t ← Mutac~ao(P′′
t , ρm);
10 Pt+1 ← Substituic~ao(Pt, P′′′
t );11 t← t + 1 ;
12 retorna (p∗best);
Em Michalewicz (1998) foi proposto que, para problemas em que o espaco de busca
possui dimensao elevada ou contınua, o desempenho do AG com codificacao binaria e
inferior ao com codificacao em ponto flutuante. Esta afirmacao, porem, nao e ampla-
mente aceita pelos autores dos AGs. Uma outra desvantagem da codificacao binaria
encontra-se na precisao limitada, onde quanto maior a precisao do algoritmo, maior sera
sua complexidade.
Atualmente, diferentes tipos de codificacao vem sendo propostas para AGs nas mais
diversas aplicacoes.
3.4.4 Operadores Geneticos
Os operadores geneticos sao responsaveis pela modificacao da populacao no decorrer da
execucao do algoritmo, durante as sucessivas geracoes, ate que o criterio de parada seja
satisfeito. Atraves dos operadores, sao mantidas as boas caracterısticas das geracoes
anteriores sem perda de diversidade entre os indivıduos.
A selecao e a primeira etapa do ciclo evolutivo e tem como papel principal dar mais
chances de propagacao de genes aos indivıduos mais aptos, ou seja, que representem
uma solucao mais satisfatoria para a funcao objetivo. A Selecao por Roleta Goldberg
(1989), mais comumente usada, consiste numa analogia a uma roda que gira e nessa
Algoritmos Evolutivos 35
roda, cada indivıduo ocupa uma area diretamente proporcional ao seu valor de aptidao.
Essa roleta gira selecionando o indivıduo correspondente ao arco onde a roleta esta.
Este processo se repete de acordo com o numero de indivıduos que se deseja selecionar.
Outra forma de selecao bastante difundida e a Selecao por Torneio, que consiste no
sorteio aleatorio de um numero de indivıduos, sendo que destes, apenas o mais apto e
escolhido. Da mesma forma que a roleta, o torneio se repete de acordo com o numero
de indivıduos selecionados que se deseja obter. A figura 3.2, ilustra uma roleta formada
por 4 cromossomos, sendo que o cromossomo 1 possui a maior aptidao.
Figura 3.2: Selecao pelo metodo da roleta
O cruzamento e o operador responsavel pela recombinacao de caracterısticas dos
pais durante a reproducao, permitindo que as proximas geracoes herdem essas carac-
terısticas. Essa recombinacao pode ser feita por meio da permutacao dos caracteres na
cadeia genetica dos pais, utilizando um ponto de corte selecionado aleatoriamente. E
possıvel tambem se considerar varios pontos de corte e nao apenas um. Existe tambem o
crossover uniforme, que nao utiliza pontos de corte, mas uma forma de avaliar a proba-
bilidade de cada variavel ser permutada entre os pais. Demais operadores de cruzamento
podem ser encontrados em Goldberg (1989). Em geral, o operador de cruzamento con-
sidera uma taxa ρc de cruzamento entre os indivıduos selecionados para a reproducao.
No cruzamento, inicialmente sao feitos cortes aleatorios nos pais. Por exemplo, con-
sidere dois pais p1 e p2 e dois pontos de corte realizados nos cromossomos binarios dos
pais.
p1 = (000 | 010 | 100) = (p11 | p21 | p31)
p2 = (111 | 101 | 001) = (p12 | p22 | p32)↑ ↑
pontos de corte
Algoritmos Evolutivos 36
A partir dos cortes, sao gerados dois filhos, onde cada um e formado a partir da
permutacao das subcadeias da cadeia binaria dos pais.
O1 = (p11 | p22 | p31) = (000 | 101 | 100)
O2 = (p12 | p21 | p32) = (111 | 010 | 001)
Por fim, a mutacao e responsavel pela diversidade dos indivıduos e impede a con-
vergencia prematura do metodo. Consiste na alteracao arbitraria de um ou mais carac-
teres na cadeia genetica do indivıduo. Esse fenomeno ocorre a uma taxa muito baixa
para que o metodo nao seja considerado essencialmente aleatorio. Alem disso, a mutacao
torna possıvel que todas as possıveis solucoes no espaco de busca sejam avaliadas. Em
uma representacao binaria, por exemplo, uma inversao de bit a uma taxa ρm de 5% pode
ser considerado um operador de mutacao.
3.4.5 Criterio de Parada
O criterio de parada e uma condicao que precisa ser satisfeita para que a execucao do
algoritmo termine. O ideal seria que os AGs so parassem quando fosse encontrada a
melhor solucao possıvel. Entretanto, como se trata de uma metaheurıstica que trabalha
com metodos probabilısticos, nao se pode garantir que esse ponto otimo seja encontrado.
Portanto, e comum utilizar um limite de geracoes como criterio de parada, ou mesmo
o tempo de execucao. Quando o criterio de parada e atingido, o algoritmo retorna a
melhor solucao encontrada.
3.5 Algoritmos Geneticos Hıbridos
Um Algoritmo Genetico Hıbrido (AGH) consiste de uma combinacao entre um AG sim-
ples e outra(s) metaheurıstica(s) com o objetivo de aprimorar o desempenho do metodo.
Diversas maneiras de se combinar algoritmos e produzir hıbridos podem ser encontradas
na literatura. A abordagem mais comum utilizada consiste na combinacao de um AG
(Busca Populacional) com um algoritmo de Busca Local. Um bom exemplo de com-
binacao ocorre entre AGs e o metodo da Primeira Melhora. Em tal abordagem, um
indivıduo e submetido ao processo de refinamento exercido pelo metodo de Busca Local,
durante a fase de avaliacao do AG. O indivıduo resultante do refinamento substitui o
indivıduo original na populacao. O processo de refinamento pode ser aplicado a toda a
Algoritmos Evolutivos 37
populacao ou a apenas uma parcela da mesma. Quanto maior a parcela da populacao
refinada, maior o grau de exploracao do algoritmo e maior o custo computacional de-
mandado.
Costuma-se designar Algoritmos Memeticos a classe de algoritmos que combina al-
gum tipo de otimizacao global ou busca populacional com um outro tipo de algoritmo de
otimizacao local Moscato (1989). Apesar da abrangencia deste conceito, em geral este
termo e frequentemente empregado pelos autores na literatura dos AGs para se referir a
um AG combinado com Primeira Melhora. O termo Memetico tem sua origem inspirada
no conceito de memes, introduzido por Dawkins (1976). Um meme consiste em uma
entidade cultural ou uma unidade de ideia que pode ser replicada e transmitida adiante.
Essa transmissao da informacao e realizada pelos humanos, que tem a capacidade de co-
piar, aprimorar, combinar e modificar os memes. Dessa forma, Dawkins (1976) propoe
uma forte relacao de semelhanca entre a evolucao cultural das ideias e a evolucao natural
das especies. Em outras palavras, um meme de boa qualidade tende a ser transmitido
adiante pela populacao e a prevalecer com maior probabilidade nas geracoes seguintes, ao
passo que memes de baixa qualidade tendem a nao serem transmitidos, proporcionando
o seu desaparecimento.
Assim como os memes sao aprimorados pelos seus transmissores antes de serem
transmitidos adiante, um Algoritmo Memetico possui a etapa na qual os seus indivıduos
sao aprimorados ou refinados atraves da Busca Local, antes da etapa de reproducao.
Dessa forma, os memes podem ser transmitidos verticalmente a cada aprimoramento em
uma unica geracao. Uma vez que os indivıduos aprimorados pela Busca Local substituem
diretamente os respectivos indivıduos originais na populacao, alguns autores sugerem
que o termo Algoritmo Memetico seja substituıdo por Algoritmo Lamarckista ou ainda
Algoritmo de Efeito Baldwin, Luke (2009). Apesar da terminologia confusa, os AG
Hıbridos sao uma poderosa ferramenta para a solucao de problemas praticos. Entre tais
metodos, destaca-se a capacidade de encontrar solucoes de alta qualidade, dado o seu
elevado potencial de pesquisa e exploracao do espaco de solucoes. O AG Hıbrido 3.3 a
seguir consiste em um Algoritmo Memetico, hıbrido da combinacao de um AG basico
com o metodo da Primeira Melhora.
Algoritmos Evolutivos 38
Algoritmo 3.3: Algoritmo Memetico (AG Hıbrido)
Entrada: µ – tamanho da populacao, ψ – taxa de aprimoracao, ρm – taxa demutacao e ρc – taxa de cruzamento.
Saıda: melhor solucao encontrada.1 inıcio
2 t← 0 {contador de geracoes};3 Pt = {p(1)t , . . . , p
(µ)t } ← Inicializa(µ) ;
4 enquanto t < tmax faca
5 i← 0 {contador de indivıduos};6 para cada {p(i)t , . . . , p(ψ)t }, ψ ≤ µ faca
7 F(i)t ← Primeira Melhora(P
(i)t );
8 para cada {p(i)t , . . . , p(µ)t } faca9 F
(i)t ← Avaliac~ao(P
(i)t )
10 ;11 t∗, p∗best ← Atualiza(Pt, Ft);
12 P′
t ← Selec~ao(Pt, Ft);
13 P′′
t ← Cruzamento(P′
t , ρc);
14 P′′′
t ← Mutac~ao(P′′
t , ρm);
15 Pt+1 ← P′′′
t ;16 t← t + 1 ;
17 retorna (p∗best);
3.6 Coevolucao
3.6.1 Introducao
Atualmente, na Biologia, nao existe consenso sobre a definicao do termo Coevolucao
entre os autores da literatura. A pesquisa da Coevolucao deriva-se dos estudos nas
areas da teoria genetica da evolucao e da teoria ecologica da estrutura da comunidade.
Ricklefs (2010) define a Coevolucao como uma serie de respostas recıprocas entre as
populacoes. Em linhas gerais, duas ou mais especies que possuem uma relacao ecologica
proxima evoluem em conjunto, de tal forma que uma especie se adapta a evolucao da
outra, afetando, dessa forma, a evolucao desta. Na literatura, a primeira utilizacao do
termo foi feita por Ehrlich and Raven (1964) na descricao sobre influencias que plantas
e insetos herbıvoros tem sobre a evolucao um do outro.
Em um nıvel microscopico, os genes de diferentes especies encontram-se evoluindo
simultaneamente. Em um nıvel macroscopico, os tracos de tais especies variam em
Algoritmos Evolutivos 39
conjunto, ao longo do tempo. Por exemplo, um especıfico fungo pode desenvolver
um antibiotico para matar uma bacteria em particular, e, em seguida, a bacteria se
adapta para nao ser prejudicada por este antibiotico, forcando o fungo a construir um
antibiotico mais eficiente. Embora a Teoria da Coevolucao ainda seja fortemente criti-
cada Thompson (1986), os padroes de relacionamento entre diferentes especies na natu-
reza, como predacao, parasitismo, mutualismo, comensalismo, competicao, entre outros,
servem como grande inspiracao para a Computacao Evolutiva.
Algoritmos Evolutivos, em geral, demonstram que a introducao de modelos bio-
inspirados e arquiteturas coevolucionarias sao metodos efetivos para estender o uso de
algoritmos evolutivos tradicionais Rosin and Belew (1997). Tecnicas coevolutivas for-
necem um meio eficiente de se tratar problemas complexos, multidimensionais, pelo
paradigma divisao e conquista, reduzindo a dificuldade do problema atraves da sua de-
composicao em subproblemas. Segundo Khare et al. (2004), tais tecnicas podem ser
implementadas em dois nıveis basicos, dependendo dos tipos de modulos que evoluem
simultaneamente. Em um unico nıvel de coevolucao Potter and Jong (1994), cada sub-
populacao em evolucao representa um subcomponente do problema a ser resolvido. Por
outro lado, um processo de dois nıveis de coevolucao envolve otimizacao simultanea do
sistema e os modulos em subpopulacoes distintas Khare et al. (2004), Moriarty (1997).
Em geral, em coevolucao, a atribuicao do valor de aptidao de um indivıduo esta
diretamente relacionada com a presenca de outro indivıduo nas populacoes. Em outras
palavras, a classificacao de um indivıduo como superior e outro como inferior, em relacao
a um segundo indivıduo, depende da presenca ou ausencia de um terceiro indivıduo. Por
esse motivo, o fitness dos indivıduos e sensıvel ao contexto ao qual os mesmos estao
inseridos e nao depende apenas da Funcao Objetivo. Ao valor de aptidao expresso pela
Funcao Objetivo, da-se o nome de aptidao absoluta. A este novo conceito de aptidao,
da-se o nome de aptidao relativa, ou aptidao interna. A aptidao interna se baseia no
desempenho do indivıduo avaliado em um contexto de indivıduos de um mesmo processo
de otimizacao.
Nesse contexto, torna-se difıcil avaliar o desempenho do algoritmo e das subpo-
pulacoes, em funcao do numero de geracoes decorridas, baseando-se apenas pela aptidao
interna dos indivıduos. Isso ocorre pois a medida em que um indivıduo e aprimorado,
os seus concorrentes sao aprimorados da mesma maneira. Para medir o progresso do
algoritmo, deve-se levar em conta a aptidao externa, que esta diretamente relacionada
com a aptidao absoluta.
Algoritmos Evolutivos 40
Entre os diversos modelos de coevolucao presentes na literatura Bull (2008), destacam-
se os seguintes:
• Modelo de Ilhas: Duas ou mais subpopulacoes, tambem conhecidas por demes,
evoluem independentemente seus indivıduos, efetuando intervalos de comunicacao
e troca de indivıduos. Dessa forma, de acordo com a polıtica de migracao pre-
determinada, os indivıduos deixam a sua populacao atual e passam a integrar outra
populacao.
• Coevolucao Competitiva: Semelhante a uma “corrida armamentista”, neste
modelo, a atribuicao da aptidao relativa de um indivıduo esta relacionada com
quantos indivıduos nas demais subpopulacoes podem ser derrotados pelo indivıduo
em questao.
• Coevolucao Cooperativa: Nesse modelo, cada subpopulacao representa um sub-
componente do problema tratado. Cada indivıduo codifica uma solucao para o sub-
componente do problema. Os indivıduos das diferentes subpopulacoes sao agrupa-
dos para formar a solucao completa. Em geral, a aptidao dos indivıduos e atribuıda
com base no valor de aptidao da solucao completa.
3.6.2 Modelo de Ilhas
O modelo de ilhas consiste em um grupo de subpopulacoes isoladas que promovem
ocasionalmente a troca (ou migracao) de indivıduos. Essa troca ajuda o algoritmo tanto
a manter a diversidade das solucoes, quanto a explorar mais a superfıcie da aptidao.
Inicialmente, o modelo de ilhas foi proposto para tirar maior proveito dos recursos
computacionais em plataformas com multiplos processadores, onde o processo evolu-
tivo de cada subpopulacao e efetuado por um respectivo processador. Posteriormente,
notou-se a alta capacidade de geracao de solucoes nao apenas boas, mas tambem diver-
sas e robustas. O modelo de ilhas apresenta-se como uma excelente estrategia para a
paralelizacao das solucoes baseadas em algoritmos evolutivos.
A polıtica de migracao, define como e quando as subpopulacoes comunicarao en-
tre si. Algumas polıticas de migracao selecionam o(s) melhor(es) indivıduo(s) de cada
subpopulacao para a migracao, enquanto outras fazem esta selecao aleatoriamente. De-
pendendo da polıtica selecionada e dos recursos computacionais disponıveis, alguns pro-
blemas podem emergir, como a sobrecarga da rede e o atraso na comunicacao das sub-
Algoritmos Evolutivos 41
populacoes. O intervalo entre duas migracoes e chamado de intervalo de comunicacao
ou migracao. Em geral, o intervalo de comunicacao e definido em um valor relativa-
mente baixo. Por exemplo, a cada 5 geracoes, a subpopulacao A seleciona um ou mais
indivıduos para a migracao. Em seguida, os indivıduos das demais subpopulacoes que
migraram para A sao adicionados a mesma e segue-se o processo evolutivo.
Outra importante caracterıstica inerente ao modelo de ilhas e a topologia de co-
municacao. A topologia de comunicacao define quais subpopulacoes irao se comunicar
entre si. Por exemplo, uma estrategia bastante simples consiste em manter todas as
subpopulacoes interconectadas. Nessa topologia, espalhar um indivıduo para todas as
demais subpopulacoes requer apenas um unico salto em um intervalo de comunicacao.
Entretanto, devido ao excesso de comunicacao necessaria, tal estrategia e inviavel, na
maioria das aplicacoes. Outra topologia bastante comum e a grade toroidal, na qual
uma subpopulacao envia indivıduos apenas para seus vizinhos. Na grade toroidal, o
envio de um indivıduo para todas as demais subpopulacoes pode levar varios intervalos
de comunicacao. Uma outra topologia mais interessante, consiste no modelo de injecao,
no qual a migracao e unidirecional. O modelo de injecao e comumente utilizado para
auxiliar a atribuicao de fitness dos indivıduos, em diferentes etapas. Cada subpopulacao
recebe indivıduos aprimorados pelos processos evolutivos anteriores e e avaliada por uma
funcao objetivo diferente das demais.
Basicamente, a implementacao de um algoritmo coevolutivo por modelo de ilhas
possui apenas tres etapas diferentes de um AG convencional: o envio dos indivıduos
para as demais subpopulacoes, o recebimento de novos indivıduos e a fusao destes novos
indivıduos com a subpopulacao nativa.
Note que no algoritmo 3.4 foram omitidos varios parametros, entre eles o inter-
valo de comunicacao, apenas para fins de abstracao. O metodo Envia(Pt), na linha
(6), deve implementar a polıtica de migracao do modelo, selecionando em Pt os in-
divıduos apropriados para a migracao e enviando para as ilhas vizinhas. Por sua vez, o
metodo Recebe() implementa a recepcao dos indivıduos exteriores. Por fim, o metodo
Substituic~ao(Reproduc~ao(Pt), M) promove a insercao dos indivıduos imigrantes na
populacao de indivıduos descendentes de Pt.
Outra caracterıstica do modelo de ilhas consiste no seu sincronismo. Diz-se que um
modelo coevolutivo e sıncrono, quando suas subpopulacoes esperam que todas as outras
atinjam o intervalo de comunicacao para migrarem indivıduos simultaneamente, antes
de prosseguirem com o processo evolutivo. Por outro lado, em um modelo assıncrono,
Algoritmos Evolutivos 42
Algoritmo 3.4: Modelo Abstrato de Ilhas Coevolutivas
Entrada: µ – tamanho da populacao.Saıda: melhor solucao encontrada.
1 inıcio
2 t← 0 {contador de geracoes};3 Pt = {p(1)t , . . . , p
(µ)t } ← Inicializa(µ) ;
4 enquanto t < tmax faca
5 Ft ← Avaliac~ao(Pt);6 Envia(Pt) {Envia copia de indivıduos de Pt para as subpopulacoes
vizinhas};7 t∗, p∗best ← Atualiza(Pt, Ft);8 M ←Recebe() {Recebe indivıduos das subpopulacoes vizinhas};9 Pt+1 ←Substituic~ao(Reproduc~ao(Pt), M);
10 t← t + 1 ;
assim que uma subpopulacao atinge o seu intervalo de comunicacao, os indivıduos sao
trocados e da-se continuidade ao processo evolutivo. Ao tratar o sincronismo do modelo,
o desenvolvedor deve analisar previamente os recursos computacionais disponıveis, para
evitar demais complicacoes, como sobrecarga de fluxos migratorios.
3.6.3 Coevolucao Competitiva
Como o proprio nome ja diz, Coevolucao Competitiva aborda uma constante competicao
entre os indivıduos. Na coevolucao competitiva, a aptidao relativa dos indivıduos indica
o desempenho destes em uma competicao com outros indivıduos. Na maioria dos casos,
duas subpopulacoes sao utilizadas neste modelo. A primeira subpopulacao, comumente
chamada de subpopulacao primaria, consiste nos indivıduos que se pretende aprimo-
rar, enquanto a segunda populacao, chamada de subpopulacao alternativa ou auxiliar,
consiste nos casos de testes aos quais os indivıduos da subpopulacao primaria serao
submetidos. Considera-se ambas subpopulacoes como colaborativas, quando ambas con-
sistem de indivıduos em interesse e casos de teste uma da outra. Em todos os casos,
durante a atribuicao da aptidao relativa de um indivıduo, uma amostra da populacao
adversaria e selecionada e o indivıduo e testado. A aptidao consiste no numero de in-
divıduos adversarios derrotados na competicao. Os indivıduos sao selecionados com base
no valor de sua aptidao relativa. Dessa forma, tanto a subpopulacao primaria, quanto a
subpopulacao alternativa coevoluem competitivamente.
Algoritmos Evolutivos 43
Na natureza, os princıpios da coevolucao competitiva podem ser observados na
relacao predador e presa, por exemplo. Na populacao dos predadores, os indivıduos
mais aptos a caca, terao mais facilidade em obter alimentos e maior probabilidade de
sobrevivencia, ao passo que os menos aptos tendem a nao procriar, impedindo que os
seus genes sejam transmitidos para as geracoes futuras. Dessa forma, a selecao natural
tende a favorecer neste contexto, os tracos mais favoraveis a caca. Por outro lado, na
populacao das presas, os indivıduos mais aptos a fugir dos predadores, seja por agi-
lidade, velocidade ou alguma outra caracterıstica, tendem a sobreviver, passando tais
caracterısticas adiante. Neste contexto, as populacoes influenciam umas as outras no
processo seletivo. Metaforicamente, uma amostra da populacao adversaria pode ser in-
terpretada como um caso de teste para um indivıduo em questao, ou seja, a aptidao
de um predador pode ser expressa como o numero de presas abatidas, ao passo que a
aptidao de uma presa pode ser expressa como o numero de fugas bem sucedidas.
Existem diversas estrategias para implementar os princıpios da coevolucao competi-
tiva em otimizacao Luke (2009). A seguir, o algoritmo 3.5 ilustra apenas uma das formas
mais comuns de implementacao.
Algoritmo 3.5: Modelo Abstrato de Coevolucao Competitiva Paralela
Entrada: µ – tamanho da populacao.Saıda: melhor solucao encontrada.
1 inıcio
2 t← 0 {contador de geracoes};3 Pt = {p(1)t , . . . , p
(µ)t } ← Inicializa(µ) {Populacao primaria};
4 Qt = {q(1)t , . . . , q(µ)t } ← Inicializa(µ) {Populacao alternativa};
5 enquanto t < tmax faca
6 Avaliac~aoInterna(Pt , Qt);7 Avaliac~aoInterna(Qt , Pt){A atribuicao do fitness pode ser realizada
simultaneamente};8 Ft ← Avaliac~aoExterna(Pt);9 t∗, p∗best ← Atualiza(Pt, Ft);
10 Pt+1 ←Substituic~ao(Reproduc~ao(Pt), Pt);11 Qt+1 ←Substituic~ao(Reproduc~ao(Qt), Qt);12 t← t + 1 ;
O metodo Avaliac~aoInterna(Pt , Qt), linha (6), e responsavel pela execucao dos
testes de Pt no contexto de Qt para atribuicao do fitness relativo. Tal metodo exerce
grande influencia sobre o progresso do algoritmo. Apesar da abordagem superficial nesta
secao, esse metodo deve ser cuidadosamente estudado pelos desenvolvedores antes de sua
Algoritmos Evolutivos 44
implementacao. Neste algoritmo, foi ilustrada uma situacao em que somente a evolucao
da populacao Pt e interessante para a atribuicao da aptidao externa e a medicao do
progresso do algoritmo. Alem disso, o processo de avaliacao interna retratado ocorre
simultaneamente em paralelo. O paralelismo e comumente explorado em algoritmos coe-
volutivos, pois este prove uma melhor utilizacao dos recursos computacionais disponıveis
e consequentemente uma reducao do tempo de execucao. Entretanto, algoritmos sequen-
ciais ainda sao amplamente utilizados.
Em um cenario ideal, espera-se que a “corrida armamentista” promovida pela coe-
volucao competitiva resulte numa gradual evolucao de ambas populacoes. Entretanto,
esse comportamento nao e observado na grande maioria dos casos. Em geral, quando
uma populacao P atinge um desenvolvimento mais rapido que a outra populacao Q, to-
dos os indivıduos de Q sao igualmente derrotados por P . Nesse ponto, a aptidao relativa
atribuıda aos indivıduos de Q tende a ser a mesma, o que leva o algoritmo a realizar
uma busca aleatoria. O mesmo ocorre em P , pois todos vencem os indivıduos de Q
igualmente. Como consequencia desse comportamento, a aptidao externa media tende a
cair momentaneamente. Quando, nessa busca aleatoria, os indivıduos de Q encontram
tracos que os tornam capazes de confrontar os indivıduos de P , o gradiente e retomado.
Novamente, uma populacao se desenvolve mais rapidamente que a outra retornando a
situacao problematica anterior, como ilustra a figura 3.3.
Figura 3.3: Perda de gradiente Luke (2009)
Esta e uma situacao difıcil de contornar e seu efeito deve ser analisado durante o
desenvolvimento de sistemas competitivos. Uma estrategia para tentar evitar este com-
portamento consiste em pausar a evolucao de uma das populacoes ate que o equilıbrio
Algoritmos Evolutivos 45
seja reestabelecido. Outra estrategia consiste em atribuir a aptidao relativa das po-
pulacoes realizando testes com a geracao anterior da populacao adversaria.
3.6.4 Coevolucao Cooperativa
Proposta por Potter and Jong (1994), na coevolucao cooperativa o problema e dividido
em varios componentes, os quais sao representados por diferentes subpopulacoes. Cada
subpopulacao e composta por indivıduos particulares que codificam as componentes
do problema. Os indivıduos das subpopulacoes sao agrupados para produzir a solucao
completa para o problema global. Dessa forma, o objetivo da coevolucao cooperativa
e evoluir os indivıduos que melhor cooperam entre si para a solucao do problema em
questao.
A decomposicao do problema, muitas vezes e uma tarefa difıcil de se conceber, porem
tem um resultado bastante favoravel a sua aplicacao, principalmente quando se pretende
tratar um problema com elevado numero de dimensoes na superfıcie da aptidao. Alguns
problemas, demandam tanto esforco computacional, que mesmo quando submetidos a
otimizacao por metodos estocasticos e meta-heurısticas em geral, apresentam um tempo
de execucao exponencial em funcao do tamanho dos parametros de entrada. Portanto,
a decomposicao em subproblemas mais simples proporciona uma drastica reducao do
espaco de busca e a consequente reducao do esforco computacional demandado para a
sua resolucao. Por exemplo, um problema que possui espaco de busca originalmente
expressado por na possibilidades pode ser reduzido para n buscas em subespacos de
tamanho a. Os subespacos de busca podem ser explorados por diferentes subpopulacoes.
Neste contexto, a recombinacao das solucoes das subcomponentes do problema re-
sulta em uma solucao para o mesmo. Este e o paradigma da divisao e conquista que tem
sido amplamente utilizado para o tratamento de problemas complexos. Na coevolucao
cooperativa, todas as populacoes sao consideradas de interesse e a solucao final retornada
consiste na melhor colaboracao encontrada entre as mesmas.
Para a atribuicao da aptidao relativa, diferentes formas de cooperacao entre os in-
divıduos das subpopulacoes podem ser abordadas. Uma estrategia gulosa, por exemplo,
consiste em selecionar o melhor indivıduo de cada subpopulacao e agrupa-los com o
indivıduo que se pretende avaliar, para a composicao de uma solucao completa. Ou-
tra estrategia mais aleatoria, consiste em selecionar aleatoriamente um indivıduo das
demais subpopulacoes para a cooperacao. Um meio termo entre busca aleatoria e gu-
Algoritmos Evolutivos 46
losa, consiste em selecionar aleatoriamente um indivıduo entre os k melhores de cada
subpopulacao. Em coevolucao cooperativa, a aptidao externa resultante deste processo
pode ser atribuıda como aptidao interna, porem outras abordagens mantendo a distincao
entre aptidao relativa e aptidao absoluta podem ser exploradas.
O algoritmo 3.6 consiste em um modelo abstrato de coevolucao cooperativa em se-
quencial. Apesar de as versoes paralelas deste algoritmo aproveitarem melhor os recursos
computacionais em plataformas multiprocessadas, as versoes sequenciais ainda sao bas-
tante usadas. Durante o metodo Avaliac~ao(i, Pt), linha (8), todos os µ indivıduos
da subpopulacao Pi,t sao combinados com indivıduos das n − 1 demais subpopulacoes,
selecionados de acordo com a estrategia de cooperacao adotada, para a atribuicao de
sua aptidao. Note que neste algoritmo, o processo de atualizacao ocorre a cada iteracao
do metodo. Nesse caso, a comunicacao entre as subpopulacoes ocorre a cada iteracao,
porem a utilizacao de um intervalo de comunicacao e muito incentivada pela literatura.
Algoritmo 3.6: Modelo Abstrato de Coevolucao Cooperativa Sequencial
Entrada: µ – tamanho da populacao, n – numero de subpopulacoes.Saıda: o conjunto com as n melhores solucoes encontradas.
1 inıcio
2 t← 0 {Contador de geracoes};3 para i = {1, . . . , n} faca4 Pi,t = {p(1)i,t , . . . , p
(µ)i,t } ← Inicializa(µ) {Inicializa todas as n
subpopulacoes};5 enquanto t < tmax faca
6 para i = {1, . . . , n} faca7 Fi,t ← Avaliac~ao(i, Pt){Avalia Pi,t em cooperacao};8 t∗, p∗best ← Atualiza(Pt, Fi,t) {Atualiza o conjunto de n melhores
indivıduos};9 Pi,t+1 ←Substituic~ao(Reproduc~ao(Pi,t), Pi,t);
10 t← t + 1 ;
Um problema semelhante a perda de gradiente, decorrente da coevolucao competitiva,
consiste na possibilidade teorica de que o algoritmo entre em um “estado preguicoso”.
Neste estado, uma componente do problema atinge um ponto otimo que melhora muito a
aptidao da solucao completa ao ponto de que a busca pelas demais componentes assuma
um carater aleatorio. Por exemplo, suponha que um algoritmo coevolutivo cooperativo
esteja otimizando jogadores para um time de futebol e que a aptidao dos jogadores
esteja diretamente relacionada com o numero de vitorias que os jogadores obtiveram em
simulacoes de jogos. Entao, as subpopulacoes que evoluem atacantes e centro-avantes
Algoritmos Evolutivos 47
encontram jogadores tao bons quanto Pele, Zico e Maradona. Em um time formado
por tais jogadores, o resultado das simulacoes de jogos e quase sempre positivo. Dessa
forma, fica complicado para as demais subpopulacoes, que evoluem jogadores do centro
ou defesa, atribuir valores de aptidao mais condizentes com a realidade de seus jogadores,
visto que o time como um todo vence quase sempre. Uma ideia para se evitar este cenario
e atribuir valores de aptidao mais especıficos a cada subpopulacao, de acordo com suas
respectivas funcoes. Todavia, recomenda-se cuidado ao tratar problemas com diferentes
funcoes de aptidao, pois o algoritmo pode perder o seu carater cooperativo, resultando
em um comportamento inesperado.
Outra ideia para se evitar o estado preguicoso, e atribuir a aptidao considerando os
resultados medios dos testes efetuados. Esta estrategia pode levar a um outro estagio
patologico, conhecido como “generalizacao relativa”. Neste estagio, as subpopulacoes
podem convergir para conjuntos de solucoes sub-otimas, com um bom valor de aptidao
media, em um cenario onde um otimo global estreito no espaco de busca havia sido
encontrado, porem sem um efeito expressivo na media. Este comportamento acaba
proporcionando o esquecimento do conjunto de solucoes otimas Wiegand (2004). Uma
forma de contornar esta situacao, consiste em atribuir aos indivıduos a aptidao referente
a melhor combinacao ja encontrada, ao inves de simplesmente utilizar a media entre os
testes. Esta situacao pode requerer um elevado numero de testes e trocas dos conjun-
tos de indivıduos para a producao de uma boa combinacao. Em geral, apenas alguns
indivıduos em cada subpopulacao tem a capacidade de proporcionar um bom resultado
em cooperacao com os demais. Por este motivo, Panait (2006) propos a criacao de um
“arquivo” para o armazenamento dos indivıduos que melhor cooperam com os demais,
encontrando boas combinacoes em poucos testes, a partir da reutilizacao dos indivıduos
arquivados.
Um outro estado patologico teoricamente possıvel em coevolucao cooperativa consiste
na perda de coordenacao entre as subpopulacoes. As subpopulacoes tendem a selecionar
indivıduos que produzam boas solucoes e que mais se aproximam dos pontos otimos.
Porem, em alguns casos particulares, a combinacao dos melhores indivıduos das subpo-
pulacoes nao resulta em uma solucao otima. Por exemplo, suponha uma situacao em
que duas subpopulacoes A e B, conforme ilustra a figura 3.4, cooperam na resolucao de
um dado problema. O espaco de busca formado pela combinacao de A e B possui dois
otimos globais O1 e O2, distantes um do outro. A subpopulacao A encontra o indivıduo
a1 bem proximo ao otimo global O1, enquanto B encontra b2 bem proximo a O2. O
espaco de busca esta estruturado de forma que encontrar O1 so e possıvel a partir da
Algoritmos Evolutivos 48
combinacao de a1 com um suposto b1 e encontrar O2 so e possıvel combinando b2 com
um suposto a2. As subpopulacoes, por sua vez, tendem a selecionar a1 e b2 resultando
em um falso otimo global, ao passo que os indivıduos a2 e b1 tendem a nao sobreviver
em suas respectivas subpopulacoes.
Figura 3.4: Perda de coordenacao
3.7 Consideracoes
Algoritmos Evolutivos tem se mostrado uma excelente ferramenta, muito versatil e eficaz
na otimizacao de problemas nao lineares e com restricoes complexas. Este capıtulo
mostrou de forma sucinta os conceitos basicos, criterios e conclusoes sobre Algoritmos
Evolutivos. Recomenda-se a leitura dos trabalhos de Goldberg (1989), Eiben and Smith
(2008), Michalewicz (1998) para um estudo mais aprofundado no tema.
Capıtulo 4
Modelagem
Este capıtulo apresenta a modelagem proposta para uma Rede de Sensores Sem Fio,
tomando como base conceitos de Redes Complexas, utilizando Algoritmos Evolutivos
como ferramenta para a sua configuracao. O foco deste trabalho e propor uma estrutura
de roteamento escalavel para a propagacao de dados no interior da rede. Na metodologia
proposta, o modelo matematico apresentado em Guidoni et al. (2007) e usado como
ponto de partida para a formulacao do calculo dos valores de aptidao dos indivıduos da
populacao do algoritmo evolutivo. A forma de representacao adotada e o calculo dos
valores de aptidao incorporam diretamente algumas premissas e restricoes do problema.
4.1 Introducao
Os fenomenos monitorados pelas RSSFs sao reportados, por uma comunicacao sem fio
ad-hoc Royer and Toh (1999), para um elemento externo a rede, conhecido como no
sorvedouro. Uma forma de propagacao “inocente”, conhecida como inundacao e ilus-
trada na figura 4.1a, considera apenas o meio de comunicacao real, onde o fenomeno
monitorado e propagado entre todos os sensores da rede ate alcancar o no sorvedouro
Maroti (2004). Entretanto, essa estrategia demanda muita comunicacao gerando um
grande consumo de energia e um tempo de resposta muito alto.
Uma alternativa comum a propagacao “inocente”, conhecida como roteamento em
arvore e ilustrada na figura 4.1b, permite a configuracao de todos os sensores para enviar
os dados apenas para um no sensor especıfico. A escolha do no para o qual os dados serao
enviados dependera da polıtica estabelecida pela aplicacao. No geral e utilizada a polıtica
de menor caminho Qiu et al. (2009). Note que, do ponto de vista de comunicacao, os
49
Modelagem 50
Sink
Sensor
Hub
(a) Inundacao
Sink
Sensor
Hub
(b) Arvore
Sink
Sensor
Hub
(c) Rede Complexa
Figura 4.1: Propagacao do fenomeno.
enlaces entre os nos que nao propagam a informacao sobre o fenomeno ainda existem,
ou seja, todos os nos percebem o sinal que esta sendo transmitido.
No entanto, se considerarmos as aplicacoes que utilizem milhares de nos trabalhando
de forma autonoma e cooperativa Estrin et al. (2001), algumas estrategias baseadas
em arvore podem nao ser escalaveis. Uma alternativa, proposta neste trabalho como
roteamento complexo e ilustrada na figura 4.1c, consiste na utilizacao de nos sensores com
um alcance de comunicacao diferenciado, de tal forma que com a utilizacao desses nos, o
caminho medio entre os demais nos sensores e o sorvedouro seja reduzido Guidoni et al.
(2007), Sharma and Mazumdar (2005) podendo assim economizar os recursos da rede.
A modelagem da rede proposta teve como base, no inıcio do trabalho, os conceitos
de small world. Entretanto notou-se durante o desenvolvimento que haviam algumas
caracterısticas peculiares na rede proposta que a classificava como uma rede complexa
livre de escala. Redes do tipo small world surgiram com o experimento de Milgram
(1967) que introduz a nocao de “mundo pequeno” na perspectiva das relacoes humanas,
pois uma pessoa esta relacionada a todas as outras pessoas do mundo diretamente ou in-
diretamente por meio de poucos intermediarios. Em Watts (2003), Watts and Strogatz
Modelagem 51
(1998a), os autores formalizam as ideias de small world e propoem uma forma de mensu-
rar as caracterısticas de uma rede do tipo small world que permitem classifica-la como
tal. Entre as diversas caracterısticas, foi levado em consideracao neste trabalho apenas
duas, sendo elas: um elevado coeficiente de agrupamento, ou seja, uma fracao de nos
que sao vizinhos entre si, conforme expresso pela Equacao 2.9; e um caminho medio,
em numero de saltos, entre a origem e o destino, pequeno em relacao ao tamanho da
rede, expresso pela Equacao 2.1. Ambas as metricas foram descritas em um nıvel maior
de detalhamento na secao 2.1.1. Dessa forma, para modelar uma rede de sensores, e
preciso identificar o coeficiente de agrupamento elevado, que geralmente ocorre, e obter
um caminho medio pequeno entre qualquer par de nos na rede, por meio da insercao de
ligacoes entre nos distantes na rede.
4.2 Definicao do Problema
Para se obter uma redes de sensores baseada em metricas de redes complexas, devemos
ter as seguintes caracterısticas: (i) o caminho medio mınimo entre quaisquer pares de
nos deve ser pequeno; e (ii) o coeficiente de agrupamento deve ser alto. Inicialmente,
considere uma rede como sendo um grafo geometrico G = (V,E), onde V representa o
conjunto de nos sensores e E o conjunto de arestas que representam os enlaces sem fio dos
nos na rede. Nesse caso todos os nos sao homogeneos e possuem dois radios, sendo que
um radio possui o raio de comunicacao basico e o outro possui o raio de comunicacao
diferenciado. A princıpio, todos os radios com a capacidade de comunicacao elevada
estao desativados e com isso a forma de propagar a informacao sobre os fenomenos
monitorados deve seguir as estrategias de inundacao ou em arvore como ilustrado nas
figuras 4.1a e 4.1b.
No entanto, para agregar caracterısticas de uma rede complexa a G e necessario
adicionar novas ligacoes e′1, e′2, . . . e
′n, com n ≪ |E|, assim, a nova rede pode ser repre-
sentada pelo grafo Gsw = (V,E ′), onde E ′ = E ∪ {e′1, e′2, . . . e′n}. Nesse caso terıamos
alguns nos com o radio de comunicacao de longo alcance ativado, para permitir que o
caminho medio de propagacao da informacao seja reduzido. Com isso, podemos utilizar
a estrategia complexa (figura 4.1c) para propagar a informacao. Esses nos diferenciados
serao chamados de concentradores.
Logo, o problema a ser abordado nesse trabalho pode ser enunciado como segue:
Modelagem 52
Problema: Dada uma RSSF G, quais nos v ∈ V podem ser reconfigurados de tal forma
que seja possıvel obtermos Gsw, onde o consumo total de energia e minimizado?
Com o objetivo de encontrar uma abordagem adequada para o problema acima men-
cionado nos baseamos no modelo anteriormente discutido em Guidoni et al. (2007). Seja
N o conjunto de nos normais e H o conjunto de concentradores, de modo que N∪H = V
e N ∩H = ∅.
Os parametros do nosso modelo matematico sao:
• φi - e a demanda de comunicacao, ou seja, a quantidade total de dados que o no i
deve enviar para o sorvedouro;
• r - e o raio de comunicacao basico;
• dij - e a distancia entre o no i e o no j;
• cij - e o custo fixo de comunicacao por dado a partir do no i para o no j;
• aj - e o custo de instalacao do no j como concentrador. Este e inversamente
proporcional a distancia entre j e o sorvedouro, ou seja, quanto maior a distancia
de j ate o sorvedouro, menor sera o custo de instalacao.
As variaveis de decisao do nosso modelo matematico sao:
zi ∈ {0, 1} =
1 se o no i e definido como um concentrador
0 caso contrario;
e
qij ∈ {0, 1} =
1 se existe uma conexao logica entre os nos i e j
0 caso contrario;
Uma formulacao em programacao nao-linear do problema definido acima e dada por
z∗ = argmin∑
i∈V
aizi +∑
i∈H
(∑
j∈N
φjcjiqji
)+
(∑
k∈H
(cikqik + ck0)
)×∑
i∈H
(∑
j∈N
φjqji + φi
)(4.1)
Modelagem 53
A funcao objetivo (4.1) fornece o custo total estabelecido pela rede. Este custo total
inclui o custo de instalacao∑
i∈V aizi, primeiro termo em (4.1), e o custo de propagacao.
O custo de propagacao e composto por:
1. O custo de propagacao do dado a partir de todos os sensores ate os seus respectivos
concentradores, representado pelo termo∑
i∈H
(∑j∈N φjcjiqji
);
2. O custo de propagacao o dado a partir de um concentrador i ∈ H para o sorvedouro,
representado pelo termo∑
i∈H
(∑j∈N φjqji + φi
), que e multiplicado pelo custo
de enviar o dado para o sorvedouro, por meio do concentrador k ∈ H , onde k
pode ser igual a i ou pode ser um concentrador diferente, representado pelo termo(∑k∈H(cikqik + ck0)
). Note que na formulacao adotada, o ındice 0 apresentado na
variavel ck0 representa o no sorvedouro.
E importante destacar que, nesse caso, espera-se que o dado propagado por meio da
topologia em arvore passe apenas por um, quando i = k, ou dois concentradores, antes
de chegar ao no sorvedouro. Isto resulta em dois ou tres saltos, a partir de qualquer no
na rede ate o sorvedouro.
A funcao objetivo esta sujeita as seguintes restricoes
∑
j∈V
qij = 1, ∀i ∈ N (4.2)
∑
j∈H
qij ≤ 1, ∀i ∈ H (4.3)
qij ≤ zj , ∀i ∈ N, ∀j ∈ H (4.4)
dijqij ≤ 2r, ∀i ∈ N, ∀j ∈ H (4.5)
dij ≤ 4r, ∀i ∈ H, j = argminkdk0, k ∈ H (4.6)
z, q ∈ {0, 1} (4.7)
que sao detalhadas como segue: a restricao (4.2) garante que o no i ∈ N esta conectado
a apenas um unico concentrador; a restricao (4.3) garante que o dado do concentrador i e
roteado apenas por meio de um no concentrador ou diretamente para o sorvedouro; (4.4)
certifica que o dado do no i ∈ N e roteado apenas por meio de um concentrador; (4.5)
certifica que a distancia entre o no i e o concentrador j e menor ou igual a duas vezes o
tamanhos do raio de comunicacao; (4.6) assegura que dois concentradores se conectam
usando um raio de comunicacao quatro vezes maior que o raio normal; e finalmente, a
Modelagem 54
restricao (4.7) restringe os valores das variaveis inteiras zi e qij para assumir entre 0 ou
1.
Os conceitos de redes complexas estao indiretamente inseridos na formulacao deste
problema. A insercao de concentradores que possuem uma capacidade de comunicacao
diferenciada visa reduzir o caminho medio mınimo da rede. O roteamento dos dados
por meio dos concentradores proporciona um ganho em escala, facilitando o fluxo de
informacao pela rede, alem de garantir a interconexao de pontos distantes. Assim como
nos experimentos de Milgram (1967), poucos saltos sao necessarios para que todos os
pares de nos se conectem entre si.
4.3 Abordagem Baseada em Algoritmos Geneticos
No contexto de problemas de otimizacao combinatoria, muitas tecnicas metaheurısticas
emergiram nos ultimos trinta anos Blum and Roli (2003), e, dentre elas, os algoritmos
geneticos tem se mostrado ferramentas importantes na solucao desses problemas, devido
as caracterısticas de capacidade de busca global e capacidade de tratar problemas nao
lineares, nao convexos e com restricoes complexas. Apenas em carater ilustrativo, con-
siderando problemas de sequenciamento da producao, de acordo com Allahverdi et al.
(2008), a metaheurıstica mais utilizada para resolver essa classe de problemas e o Al-
goritmo Genetico Goldberg (1989), Mitchell (1998), seguido pelo metodo Busca Tabu
Glover and Laguna (1997).
Dadas essas caracterısticas, optou-se por desenvolver uma heurıstica baseada em
algoritmos geneticos para o problema de configuracao da estrutura de roteamento para a
propagacao de dados numa RSSF baseada em redes complexas. A metodologia proposta
parte do modelo matematico descrito na secao 4.2 para desenvolver uma codificacao
adequada para os indivıduos da populacao e uma formulacao apropriada para a funcao de
avaliacao de aptidao, dois ingredientes basicos na composicao de um algoritmo genetico.
A seguir detalhamos as consideracoes feitas no desenvolvimento do algoritmo.
Modelagem 55
4.3.1 Consideracoes iniciais
O modelo matematico descrito na secao 4.2 e apresentado em Guidoni et al. (2007) repre-
senta uma formulacao mais geral, que pode ser bastante simplificada se considerarmos
um no sorvedouro fixo.
Na metodologia proposta, adotamos codificacao binaria dos indivıduos do algoritmo
genetico. Cada indivıduo p(i) na populacao Pt (ver nomenclatura adicional descrita na
tabela 4.1) e representado por uma cadeia de |V | bits, em que um 0 na posicao s indica
que o no s nao esta configurado como um concentrador e um 1 na posicao s indica que
o no s esta configurado como um concentrador. Dessa forma, o indivıduo codifica quais
nos estao configurados como concentradores, e portanto representa uma estrutura de
roteamento candidata.
Tabela 4.1: Descricao das variaveis do algoritmo
Variavel Descricao
|V | Numero de nos do problema
I Instancia do problema
N Conjunto de ındices dos nos simples, nao configurados como concentradores
H Conjunto de ındices dos nos concentradores
Pt Populacao do algoritmo genetico na geracao t
CI Custo de energia total de configuracao dos nos concentradores
CP Custo de energia total de propagacao dos dados na rede ate o no sorvedouro
µ Tamanho da populacao
ρm Taxa de mutacao da populacao
ρc Taxa de cruzamento da populacao
i, j, s Variaveis de controle
Todas as instancias consideradas neste trabalho foram geradas aleatoriamente. As
redes consideradas possuem 64, 128, 256 e 512 nos, sendo que para cada tamanho da
rede foram geradas 33 instancias diferentes. A densidade da rede e mantida constante e
todos os nos tem a mesma configuracao de hardware. A area da rede e dada por ℓ× ℓ,onde ℓ e:
ℓ =
√π r2 |V |
δ, (4.8)
Modelagem 56
onde r e o alcance do radio e δ e a densidade da rede (escolhida arbitrariamente com
o valor 8.4791). O raio r, foi fixado em 50 para todas as instancias. Logo, tamanho
ℓ de lado da rede e definido em funcao do numero de nos |V | sensores em seu interior.
As coordenadas x e y, referentes a localizacao geografica de cada no sensor na rede, sao
valores inteiros gerados aleatoriamente atraves de uma funcao de distribuicao uniforme
no domınio [0, ℓ]. O no sorvedouro e uma excecao a esta regra, pois o mesmo possui
coordenadas (0, 0) em todas as instancias. Caso ocorra sobreposicao de coordenadas, o
sensor e gerado novamente.
A figura 4.2 ilustra o grafo geometrico original, correspondente a uma instancia de 128
nos. Os pontos representam os nos enquanto as arestas representam as conexoes entre
eles. Nesta imagem, e possıvel observar que no grafo geometrico, um dado sensor possui
ligacoes com todos os demais sensores abrangidos pelo seu raio de comunicacao. Apesar
da geracao aleatoria das coordenadas x e y, algumas regioes da instancia apresentada
possuem uma concentracao de sensores maior que as demais. Analogamente, nota-se que
alguns vertices possuem um grau bastante elevado, em relacao aos demais, tornando a
rede bastante irregular.
A tabela 4.2, a seguir, apresenta os demais atributos que constituem uma unica
instancia do problema.
Tabela 4.2: Descricao dos atributos de uma instancia
Atributo Descricao
V Conjunto de nos presentes na rede
r Alcance do raio, fixado em 50
ℓ Tamanho de um lado da area da rede, expresso pela Equacao 4.8
xi, yi Coordenadas geograficas do no i na rede
ai Custo de energia de configuracao do no i como concentrador
dij Distancia do no i ao no j
cij Custo de energia unitario de propagacao do no i para o no j
wi Fluxo de dados do no i – demanda de comunicacao
O custo de energia unitario de instalacao ah de um no h como concentrador e inver-
samente proporcional a distancia de h ao sorvedouro, ou seja, quanto mais distante do
sorvedouro, menor sera o custo de energia para instalar h como concentrador, pois para
Modelagem 57
Figura 4.2: Exemplo de instancia com 128 nos.
Modelagem 58
os nos proximos ao sorvedouro o consumo de energia sera maior. Dessa forma, o custo
de instalacao e definido como
ah =
(1 + 9
(1− dh0
ℓ√2
))× c, (4.9)
onde dh0 e a distancia entre o no h e o sorvedouro, ℓ e o tamanho lado da rede,
definido pela equacao 4.8 e c e uma constante de consumo energetico definida como
100J. Sendo assim, o custo de instalacao ah pode variar entre 100J, quando dh0 = ℓ√2,
e 1000J, quando dh0 = 0.
A demanda de comunicacao e definida pelo fluxo de dados que cada no possui (wi).
Como temos um unico sorvedouro localizado em (0, 0) os nos mais proximos a ele terao
um maior fluxo, pois precisarao rotear mais pacotes do que os nos que estao mais dis-
tantes. O numero de pacotes iniciais de cada nos e escolhido aleatoreamente entre 1, 2,
4, 8, e 16 pacotes, sendo que cada pacote consiste em 128KBytes.
O custo de energia unitario de propagacao e dado por cij = widij, onde wi representa
a quantidade de pacotes que i precisa rotear (demanda) e dij representa a distancia entre
i e j. Neste trabalho, foi adotado que o envio de 1 KByte consome 0.001J por metro
propagado, ou seja, cada pacote consome 0.128J por metro.
Alem disso, podemos adotar a seguinte simplificacao no calculo do custo de energia
total de propagacao dos dados na rede para uma dada configuracao codificada por um
indivıduo da populacao:
• Dado o indivıduo p(i) ∈ Pt que codifica o conjunto H ⊆ V de ındices dos nos
configurados como concentradores, tem-se o conjunto N dos nos nao configurados
como concentradores, de tal forma que N ∪H = V e N ∩H = ∅. Sendo assim, se
p(i)[s] = 0, entao o sensor s ∈ N e se p(i)[s] = 1, entao s ∈ H .
• Todo no i ∈ N envia todo o seu fluxo de dados para o concentrador h ∈ H de menor
distancia dh0, entre h e o no sorvedouro, dentro de seu raio de comunicacao. Caso
nao haja nenhum concentrador h ∈ H dentro do raio de comunicacao de i ∈ N ,
entao i envia seu fluxo de dados ao concentrador de menor custo de energia associ-
ado cih, geralmente o concentrador mais proximo, se o custo de energia unitario de
propagacao for diretamente proporcional a distancia dih.
Modelagem 59
• Dado que todo no i ∈ N envia todo o seu fluxo de dados para algum concentrador
h ∈ H , pode-se automaticamente configurar a correspondente variavel qih para 1.
Finalmente, consideram-se as seguintes restricoes:
• A distancia entre todo no i ∈ Y e o concentrador para o qual ele envia seu fluxo
deve ser menor do que duas vezes o raio de comunicacao r do no, ou seja, deve-se
ter dij < 2r, ∀i ∈ N e
j ∈ H =
argminh dh0, h ∈ H se dih < 2r,
argminh dih, h ∈ H caso contrario;
• A distancia entre dois concentradores deve ser menor do que o raio de comunicacao
do concentrador, configurado como sendo igual a 4r, ou seja, deve-se ter dik < 4r,
∀i ∈ H , onde k representa o concentrador ao qual o sorvedouro se conecta, isto
e, o concentrador pelo qual todos os demais concentradores deverao rotear os seus
dados.
Dadas essas consideracoes iniciais, temos a seguinte formulacao:
y∗ = argminCI + CP (4.10)
Sujeito a
dij < 2r, ∀i ∈ N, j ∈ H (4.11)
dij < 4r, ∀i ∈ H, j = argmink dk0, k ∈ H (4.12)
ys ∈ {0, 1}, ∀s ∈ V (4.13)
em que CI e o custo de instalacao dado por:
CI =V∑
i
aiyi (4.14)
e CP e o custo de propagacao dos dados, conforme expresso pelos segundo e terceiro
termos da Equacao 4.1.
Cada indivıduo do algoritmo genetico e avaliado considerando-se a formulacao 4.10-
4.11. Caso a configuracao representada pelo indivıduo viole alguma das restricoes, essa
Modelagem 60
violacao e penalizada e somada a CI+CP . O valor da penalizacao e calculado em funcao
distancia que excede ao raio de comunicacao, sendo que cada metro excedido adiciona
100J ao custo de energia unitario de propagacao. Esse valor final e usado como valor de
aptidao do indivıduo.
4.3.2 Operadores basicos
O algoritmo genetico implementado utiliza selecao por torneio binario para a reproducao,
cruzamento com dois pontos de corte com probabilidade ρc = 0.8, e mutacao do tipo
inversao de bit com probabilidade ρm = 0.1 Goldberg (1989), Mitchell (1998).
A estrutura geral do algoritmo genetico implementado e mostrada no algoritmo 4.1.
Algoritmo 4.1: Algoritmo Genetico Basico para a configuracao da rede complexa
Entrada: Numero de nos |V |, Instancia I, tamanho da populacao µ, taxa demutacao da populacao ρm e taxa de cruzamento ρc.
Saıda: Nos configurados como concentradores, custos de energia totais CI e CP .1 inıcio
2 t← 0 {contador de geracoes};3 Pt = {p(1), . . . , p(µ)} ← Inicializar Populac~ao(|V |) ;4 enquanto t < tmax faca
5 Ft ← Avaliar Populac~ao(Pt, I.as, I.dij, I.cij , I.ws);6 t∗, p∗best ← Armazenar Melhor(Pt, Ft);
7 P′
t ← Selec~ao por Torneio(Pt, Ft);
8 P′′
t ← Cruzamento(P′
t , ρc);
9 P′′′
t ← Mutac~ao(P′′
t , ρm);
10 Pt+1 ← Substituic~ao(Pt, P′′′
t );11 t← t + 1 ;
O algoritmo comeca com uma populacao de µ indivıduos, que codificam configuracoes
candidatas para o problema. Cada geracao t consiste na execucao iterativa dos opera-
dores geneticos que caracterizam o algoritmo. Na avaliacao da populacao, linha 5, a
formulacao 4.10-4.11 e utilizada com penalizacao de quaisquer restricoes que sejam vio-
ladas pela configuracao candidata. Na linha 7, tem-se a etapa de selecao dos indivıduos
para a reproducao, em que optou-se pela selecao estocastica por torneio binario. Nesta
forma de selecao, dois indivıduos sao selecionados aleatoriamente entre a populacao e
competem entre si de forma determinıstica, isto e, o melhor indivıduo entre os dois vence
e e selecionado para a reproducao e armazenado em P′
t . Os melhores indivıduos possuem,
Modelagem 61
portanto, maior probabilidade de serem selecionados para a reproducao. Nas linhas 8
e 9, uma nova populacao e formada a partir dos indivıduos selecionados, usando-se os
operadores de cruzamento e mutacao. Esses operadores sao constituıdos por heurısticas
especıficas e em geral com algum componente de aleatoriedade. Convem destacar que
embora os operadores geneticos apresentem algum grau de aleatoriedade, a busca rea-
lizada pelo algoritmo genetico esta longe de ser uma busca aleatoria, pois o operador
de selecao possui uma componente de determinismo que orienta o algoritmo na direcao
das melhores regioes do espaco de busca. Assim como na natureza, a selecao natural
e forca motriz na evolucao e na criacao de complexidade. Nos algoritmos geneticos o
operador de selecao e o mecanismo responsavel pelo progresso acumulativo e direcionado
do algoritmo.
Finalmente, na linha 10, um operador de substituicao forma a populacao da proxima
geracao a partir de Pt e seus descendentes P′′′
t . A substituicao pode ser vista como
um operador de sobrevivencia. No algoritmo genetico, tipicamente adota-se uma subs-
tituicao determinıstica, em que P′′′
t substitui Pt, porem outras formas de substituicao
estao disponıveis em algoritmos evolutivos.
4.4 Algoritmo Genetico Hıbrido
Conforme descrito no capıtulo 3, Algoritmos Geneticos Hıbridos (AGH) consitem na
combinacao de um AG com algum algoritmo de Busca Local. Neste trabalho, foi im-
plementado um AGH que combina o AG recem descrito na secao 4.3 com o algoritmo
de Primeira Melhora, apresentado na secao 3.3. O proposito de implementar um AGH
e potencializar a capacidade de busca do AG, atraves do refinamento dos indivıduos
que compoem a populacao a cada geracao. A combinacao destes algoritmos e capaz de
acelerar o processo de evolucao natural simulada, possibilitando que o AGH encontre
solucoes de altıssima qualidade, isto e, solucoes cujo consumo de energia, expresso por
CI + CP , e muito inferior em relacao as solucoes econtradas pelo AG basico.
Nesse contexto, o metodo da Primeira Melhora procura iterativamente por alguma
solucao na estrutura de vizinhanca de um dado indivıduo que apresente um valor de
aptidao inferior ao seu. A estrutura de vizinhanca de um dado indivıduo p(i)t e composta
por todos os indivıduos compostos por uma cadeia binaria que difere em 1 bit da cadeia
binaria de p(i)t . Sendo assim, o aprimoramento exercido pelo metodo da Primeira Me-
lhora sobre p(i)t , consiste em variar 1 bit de sua cadeia binaria, avaliar o novo vizinho
Modelagem 62
produzido e testar se este e melhor. Variar 1 bit dessa forma, significa testar se o sensor
s representado pelo bit variado, deve ser reconfigurado como concentrador, se s ∈ N ,
ou se o concentrador s deve deixar de ser um concentrador, se s ∈ H . O metodo para
quando nenhuma solucao vizinha apresenta um valor de aptidao inferior ao indivıduo
em questao. Logo, pode-se dizer que o indivıduo resultante do referido processo de
aprimoramento e localmente otimo.
O AGH implementado neste trabalho considera as mesmas instancias, equacoes,
parametros e restricoes supracitados na secao 4.3, referentes aos AGB. Entretanto, o
AGH introduz um novo parametro ψ, nomeado taxa de aprimoracao, que expressa a
porcentagem de indivıduos em Pt que sera submetida ao metodo da Primeira Melhora,
tal que 0 ≤ ψ ≤ 1. Sendo assim, para ψ = 0, nenhum indivıduo sera aprimorado, en-
quanto ψ = 1 implica a aprimoracao de todos os µ indivıduos. Os indivıduos submetidos
ao metodo da Primeira Melhora sao aprimorados durante o processo de avaliacao dos
seus respectivos valores de aptidao, indicado pela linha 5 do algoritmo 4.1.
Devido ao elevado numero de avaliacoes, decorrentes da fase de aprimoracao dos
indivıduos, o AGH demanda um elevado esforco computacional e tempo de execucao.
Note que, mesmo no melhor caso, quando o indivıduo em questao ja e localmente otimo,
o metodo da Primeira Melhora ainda realiza um numero de avaliacoes iguais ao tamanho
da estrutura de vizinhanca do indivıduo, para a certificacao de tal otimalidade. Por esta
razao, neste trabalho, a taxa de aprimoracao ψ foi fixada em 0.1, para que a execucao
dos testes nao demore muito.
4.5 Divisao do Problema Para a Cooperacao
A funcao objetivo global, ou externa, (4.1) foi explorada por um Algoritmo Genetico
Basico (AGB) e Algoritmo Genetico Hıbrido (AGH), os mesmos descritos nas secoes
4.3 e 4.4 anteriores. Observando as solucoes obtidas pelo AGH Ruela et al. (2010) para
todas as instancias do problema, podemos observar que nao ha um grande numero de
concentradores. O algoritmo mantem um equilıbrio entre o elevado custo de instalacao
dos nos como concentradores e os custos de propagacao. A figura 4.3 e um exemplo
de uma solucao retornada pelo AGH, ilustrando a camada logica avaliada pela funcao
objetivo global.
Modelagem 63
Figura 4.3: Solucao com 256 nos.
O custo de instalacao de um concentrador e relativamente caro para a rede. A selecao
de um no como um concentrador deve conduzir a uma reducao significativa no custo de
propagacao, a fim de ser vantajoso. Assim, a selecao de dois ou mais concentradores,
na mesma regiao, em geral, nao e uma boa escolha. Isso ocorre porque a diminuicao do
custo de propagacao nao cobre o aumento do custo de instalacao. Assim, a instalacao
de apenas um concentrador por regiao e, geralmente, suficiente para manter o fluxo de
informacao na rede.
Apesar da geracao aleatoria de todas as instancias do problema, e possıvel observar
alguns padroes nos resultados obtidos apos a otimizacao. Algumas regioes sao mais
propensas a ter concentradores do que outras. As figuras 4.4a e 4.4b foram criadas a
partir das posicoes dos concentradores encontrados nas melhores solucoes, retornadas
pelo AGH, em todas as instancias contendo 128 e 256 nos, respectivamente. Cada ponto
representa a existencia de um concentrador em alguma solucao de alguma instancia.
Tal observacao motivou a aplicacao do paradigma da divisao e conquista atraves de
um algoritmo coevolutivo para reduzir o problema principal em pequenos subproblemas.
Se, em geral, existem dois, um, ou nenhum concentrador por regiao nas melhores solucoes,
podemos dividir a rede em varias areas quadradas e dividir o problema principal em
subproblemas, de modo que cada subproblema consista em buscar concentradores para
Modelagem 64
(a) 128 nos (b) 256 nos
Figura 4.4: Localizacao dos concentradores.
cada area, se for necessario. Portanto, a dificuldade de resolver o problema original
e reduzida a buscar concentradores locais em cada celula. Cada celula possui uma
populacao de indivıduos que codificam uma solucao parcial para a respectiva celula,
ou seja, o concentrador naquela celula. Os indivıduos em cada celula cooperam para
produzir uma solucao completa, que e a topologia da rede inteira.
E relevante observar que o AGB nao e capaz de encontrar boas solucoes para este
problema da mesma forma que o AGH Ruela et al. (2010). No entanto, o tempo de
execucao do AGH e muito alto. Aplicando o paradigma da divisao e conquista, e o
Algoritmo Coevolutivo Cooperativo (ACC), e possıvel chegar a solucoes tao boas quanto
as solucoes retornadas pelo AGH, com menor esforco computacional.
4.5.1 Avaliacao da Aptidao Interna
Na formulacao do novo problema, a rede e dividida em uma grade homogenea de celulas,
onde cada uma possui sua propria subpopulacao de indivıduos que codificam os sensores
presentes no interior das mesmas. Tais indivıduos sao avaliados por uma funcao objetivo
local, ou interna a sua celula. Os indivıduos em cada celula utilizam esta funcao objetivo
local para calcular a seu valor de aptidao.
Modelagem 65
Figura 4.5: Cobertura da celula.
A funcao objetivo global 4.1 leva em consideracao o custo de instalacao CI de todos
os concentradores presentes na rede, assim como calcula o custo de propagacao CP dos
dados de cada no s ∈ V , presente na rede, ate o no sorvedouro. Por outro lado, a funcao
objetivo local de uma celula θi, 1 ≤ i ≤ L, considera o custo de instalacao CIi somente
dos concentradores localizados no interior de θi, ao passo que a avaliacao do custo de
propagacao CPi dos dados, analisa apenas os nos que podem ser cobertos por nos no
interior de θi.
A figura 4.5 ilustra a ideia da cobertura celular para uma determinada celula θi. O
quadrado cinza representa a area da celula. O conjunto de nos abrangidos pela celula i
e denotado por Ki e e dado por todos nos em V que estao dentro do raio de pelo menos
um no em θi. Os pontos na figura 4.5 representam os nos em Ki. Observe que o conjunto
de nos abrangidos pelo θi contem alguns nos de celulas adjacentes. Nos podemos ver
que existem sensores dentro da celula que nao estao conectados ao concentrador da
celula, enquanto ha sensores externos que estao conectados ao concentrador. Portanto,
o concentrador aceita conexoes de qualquer no naKi, incluindo nos em celulas adjacentes.
Assim, durante a avaliacao da aptidao interna, cada celula calcula apenas o fluxo dos
nos que estao conectados a um concentrador localizado em seu interior, mas todos os
nos abrangidos sao verificados.
A figura 4.6 apresenta um exemplo de solucao do ACC em uma rede de 256 nos,
dividida em 9 celulas. As linhas cinzas verticais e horizontais, no interior da rede,
delimitam a area quadrada que cada celula abrange. Neste exemplo, e possıvel notar
que a primeira celula no canto superior esquerdo nao possui um concentrador. Nesse
caso, os sensores ali presentes se conectam a um concentrador externo aquela celula.
Modelagem 66
Figura 4.6: Solucao do ACC com 256 nos em 9 celulas.
De forma analoga, e possıvel observar que nas demais celulas existem conexoes entre
concentradores e sensores de celulas diferentes.
Seja Qi o conjunto de concentradores no interior da celula θi, Ki o conjunto de nos
abrangidos pela celula θi, de modo que |Qi| ≥ 0, Qi ⊂ H , Ki ⊂ V , Qi ∩Ki = ∅.
A configuracao da rede em cada celula pode ser representada por uma sequencia de
inteiros de tamanho variavel, que representam os ındices dos nos que estao configurados
como concentrador. Cada indivıduo p(k)i,t na subpopulacao Pi,t e representado por um
vetor inteiro indicando os concentradores na celula θi na geracao t.
Podemos definir a heurıstica a seguir a fim de eliminar as variaveis de decisao qij no
modelo (4.1) ao resolver o problema com o ACC:
• Dado um indivıduo p(k)i,t ∈ Pi,t, nos obtemos um conjunto de nos em Ki e o conjunto
de concentradores em Qi: se s /∈ p(k)i,t , entao o no s esta em Ki, caso contrario o no
s esta em Qi;
• Como uma regra geral, cada no i ∈ Ki envia o seu dado para um concentrador
j ∈ Qi com a menor distancia dj0, se dij < 2r, senao i envia o seu dado para um
Modelagem 67
concentrador j de menor custo cij , que usualmente e o concentrador mais proximo.
Dessa forma, nos atribuımos automaticamente o valor 1 ao qij correspondente.
O calculo do custo de propagacao da celula θi considera apenas o custo da propagacao
de dados a partir dos nos em Ki que estao conectados a um dado concentrador em Qi e
os custos de roteamento de dados do concentrador em Qi para o sorvedouro. Logo, se
um dado sensor s ∈ Ki se conecta a um concentrador h /∈ Qi, pertencente a uma celula
vizinha de θi, o custo de propagacao dos dados de s nao serao computados pela funcao
objetivo local em θi.
Quando Qi = ∅, todos os sensores s ∈ Ki se conectam a concentradores externos
a θi. Neste caso, o custo de instalacao CIi e nulo, entretanto, o calculo do custo de
propagacao CPi considera o transporte dos dados a partir de todos os nos no interior de
θi ate o no sorvedouro, mesmo por meio de concentradores externos. Sendo assim, em
tempo de execucao, a celula θi precisa armazenar informacoes atualizadas sobre os demais
concentradores presentes na rede. Apesar de ter de recorrer a dados residindo em celulas
externas, o calculo da funcao objetivo local ainda requer menos esforco computacional
se comparado a funcao objetivo global.
Com estas simplificacoes, as variaveis qij sao implicitamente calculadas a partir da
alocacao de concentradores fornecidos por um indivıduo p(k)i,t ∈ Pi,t, simplificando assim
o calculo do custo de propagacao. O calculo do custo de instalacao e simplesmente
calculado, ao considerar zs = 1 se s esta em p(k)i,t , s ∈ Qi ou, caso contrario zs = 0. Alem
disso, as restricoes (4.2) - (4.4) pode ser negligenciadas por completo no modelo. Nos
consideramos apenas as seguintes restricoes: (i) a distancia entre um no s ∈ Ki e seu
concentrador associado deve ser menor do que 2r, em outras palavras, cada no s ∈ Ki
deve ter um concentrador dentro de seu raio de comunicacao, e (ii) a distancia de cada
concentrador para o concentrador que rotea os dados para o sorvedouro deve ser menor
do que 4r.
Quando a violacao de qualquer destas restricoes ocorre em um determinado indivıduo,
o seu valor da funcao objetivo e penalizado. Com os pressupostos discutidos nesta secao,
podemos empregar um modelo simplificado e nao-linear para o problema. Isso mostra
a flexibilidade dos algoritmos evolutivos para resolver problemas de otimizacao inteira e
nao linear.
Modelagem 68
Figura 4.7: Fluxograma do ACC
4.5.2 Operadores Basicos
A figura 4.7 ilustra o ACC proposto nesse trabalho. O primeiro passo para o ACC e
definir as celulas θi, i = 1, . . . , L, e seus conjuntos Ki de nos abrangidos, com base em
suas coordenadas e raio de comunicacao. Entao, uma populacao inicial para cada celula
e gerada utilizando o gerador de populacao inicial, descrito na proxima subsecao (4.6).
Cada celula tem sua propria subpopulacao com µ indivıduos, cada um com codificacoes
candidatas para as configuracoes da celula. A partir da populacao inicial, cada celula
define o indivıduo representante da subpopulacao. Neste trabalho, o representante foi
definido como o melhor indivıduo que cada celula usa para executar a cooperacao en-
tre as outras celulas. A combinacao de cada indivıduo e os representantes de outras
subpopulacoes gera a solucao global para o problema principal.
Cada celula se desenvolve e avalia a sua subpopulacao local de forma independente
uma da outra, considerando a funcao objetivo local, como descrito anteriormente, ate
que o intervalo de cooperacao seja alcancado. O intervalo de cooperacao γ foi definido
em 5 geracoes. A cada γ = 5 geracoes, as celulas paralisam a sua execucao para coope-
rarem entre si, gerando uma solucao global, com base em informacoes atuais sobre os
representantes de outras celulas.
Modelagem 69
Durante o intervalo de cooperacao, cada celula atualiza suas informacoes sobre os
representantes de outras celulas. A celula que contem o concentrador mais proximo ao
sorvedouro e eleito como a celula-mestre. Esta e responsavel pela avaliacao da solucao
global durante o intervalo de cooperacao, armazenando o melhor indivıduo.
A evolucao de cada subpopulacao foi implementada usando a selecao por torneio
binario para a reproducao, em que dois indivıduos sao selecionados aleatoriamente na
populacao atual e competem um contra o outro, e operadores de mutacao projetados
especificamente para o esquema de codificacao adotado. Nesta abordagem em que os
indivıduos sao codificados em vetores inteiros, nao existem operadores de cruzamento.
Embora existam diversos operadores de cruzamento para AGs de codificacao inteira na li-
teratura, acredita-se que neste contexto a aplicacao destes nao seja vantajosa. Na grande
maioria dos casos, uma celula possui apenas um (ou mesmo nenhum) concentrador, logo
um indivıduo que codifica tal celula possui apenas um unico numero inteiro (ou nenhum)
em seu genotipo, o qual representa o ındice do concentrador na rede. Dessa forma, a
recombinacao das cargas geneticas dos indivıduos pode resultar em uma constante copia
dos mesmos.
Uma alternativa a este problema, consiste na utilizacao de um operador de cruza-
mento que seleciona concentradores, para os novos indivıduos, que se localizam dentro
de uma area da rede. Tal area seria formada pela recombinacao dos pares de coordena-
das x e y dos concentradores presentes nos indivıduos em reproducao. Entretanto, se os
concentradores dos indivıduos em reproducao nao estiverem suficientemente distantes
entre si, e grande a probabilidade de que nao existam sensores dentro da area produzida.
Neste caso, nenhum novo concentrador sera selecionado e o operador sera forcado a re-
tornar uma copia dos pais, ou talvez um indivıduo vazio. Devido a tais complicacoes,
optou-se pela ausencia do cruzamento e o aumento da taxa de mutacao.
Assim sendo, as novas solucoes candidatas sao produzidas apenas por operadores de
mutacao. Existem tres operadores de mutacao com a mesma taxa de mutacao ρm = 0.1,
de forma que a taxa de mutacao total seja 0.3. A primeira mutacao acrescenta ao
acaso um novo concentrador de θi no vetor p(k)i,t . A segunda mutacao aleatoria troca
um concentrador em p(k)i,t por um novo concentrador de θi. O terceiro operador de
mutacao remove aleatoriamente um concentrador de p(k)i,t . Essas operacoes possibilitam
que um indivıduo tenha o vetor de concentradores vazio e um vetor contendo varios
concentradores.
Modelagem 70
4.6 Geradores de Populacao Inicial
Nos trabalhos anteriores Ruela et al. (2010), a populacao inicial era gerada configurando
aleatoriamente uma parcela fixa em 30% de nos sensores em V como concentradores.
Entretanto, pode-se observar que boas solucoes, em geral, possuem um numero de con-
centradores bem menor que o equivalente a 30% de |V |.
Alem disso, a partir da analise das figuras 4.4a e 4.4b, pode-se observar que existe
uma vasta regiao (areas brancas) onde o surgimento de nos concentradores nao e ob-
servado. As solucoes consideradas durante a elaboracao de tais imagens consistem nas
melhores solucoes encontradas pelo algoritmo hıbrido. Por esta razao, pode-se deduzir
empiricamente que existe uma tendencia de que o valor de aptidao de uma solucao,
que possua concentradores nas areas brancas (ou regioes perifericas), seja ruim. Logo,
torna-se interessante elaborar estrategias que auxiliem a construcao de boas solucoes,
evitando a selecao de concentradores que se localizem em tais regioes perifericas. Uma
abordagem bastante simples, consiste em considerar as coordenadas x e y de um sensor,
antes que este seja selecionado como concentrador. Porem, no modelo de rede formulado
neste trabalho, foram abstraıdas quaisquer caracterısticas referentes ao ambiente onde
a rede se localiza. Por esse motivo, conceber uma algoritmo que leve em consideracao
as coordenadas geograficas de um sensor, sem levar em consideracao o ambiente em que
o mesmo se encontra, pode resultar em diversos empecilhos do ponto de vista pratico.
Logo, tal alternativa foi descartada.
Assim sendo, foi proposto um gerador de populacao apropriado para o projeto de
RSSFs, com base no valor do coeficiente de centralidade Freeman (1977) dos nos. O
coeficiente de centralidade pode ser interpretado como uma medida da influencia que
um no tem sobre a disseminacao de informacoes pela rede. Pode ser medido como uma
fracao dos caminhos mais curtos entre pares de vertices em uma rede, que passam pelo
no em questao. Em outras palavras, a centralidade pode quantificar a importancia de
um vertice para a rede, e e definida como
Bu =V∑
i
V∑
j
σ(i, u, j)
σ(i, j), (4.15)
onde, σ(i, u, j) e o numero de caminhos mınimos entre os vertices i e j que passam pelo
vertice u, σ(i, j) e o total de caminhos mınimos entre os vertices i e j, e o somatorio se
da sobre todos os pares i, j de vertices distintos Costa et al. (2007).
Modelagem 71
Primeiro, o coeficiente de centralidade dos nos em V e medido. Em seguida, um
operador probabilıstico baseado em tais valores e aplicada para selecionar cada concen-
trador em cada celula. Este gerador de populacao e chamado de L Cells Betweenness
Centrality Based (‘L’CBCB). A probabilidade ρQide um no u ∈ θi a ser selecionado
como um concentrador e
ρQi(u) = Bu×
(Ki∑
k
Bk
)−1
(4.16)
Ou seja, quanto maior a importancia do vertice u para o conjunto coberto Ki, maior o
numero de caminhos em que u esta inserido, e maior a probabilidade ρQi(u). E impor-
tante ressaltar que o coeficiente de centralidade nao esta necessariamente relacionado
com a posicao geografica de um no, pois o mesmo se define em funcao da estrutura de
comunicacao existente. Sendo assim, uma rede hipotetica que nao possui nenhum sensor
em sua regiao central, seja por caracterısticas e imposicoes do ambiente, pode apresentar
nos com elevado coeficiente de centralidade, mesmo localizado em regioes perifericas.
Alem desse gerador, utilizamos os seguintes geradores aleatorios:
• 30 Percent Random (30PR): onde os indivıduos sao gerados com 30% dos seus nos
codificado como concentradores;
• ‘L’ Overall Random (‘L’OR): onde os indivıduos sao gerados com L nos selecionados
como concentradores em qualquer regiao da rede;
• ‘L’ Cells Random (‘L’CR): onde os indivıduos sao gerados com L nos selecionados
como concentradores, mas assegurando apenas um concentrador em cada celula.
4.7 Consideracoes
Este capıtulo apresentou a modelagem proposta para o problema da configuracao de
uma RSSF. Inicialmente, a formulacao adotada para o problema foi detalhada, tornando
explıcitas, tanto a estrutura topologica proposta neste trabalho, quanto as restricoes de
raio e comunicacao dos nos sensores. Alem disso, foram apontadas demais caracterıstica
peculiares que emergem do contexto de RSSF, que devem ser levadas em consideracao
durante o processo de otimizacao.
Modelagem 72
Em seguida, os algoritmos AGB, AGH e ACC, propostos como uma abordagem para
o problema foram descritos integralmente, assim como os seus operadores geneticos.
A estrategia utilizada para a avaliacao da aptidao interna dos indivıduos, mostrou-se
capaz de reduzir significativamente a cardinalidade do problema, o que torna possıvel a
aplicacao do paradigma da divisao e conquista, assim como a coevolucao cooperativa.
Por fim, foi apresentado um breve leque de opcoes, no que se refere as heurısticas
construtivas das solucoes candidatas presentes na populacao inicial. Algumas ideias,
como a utilizacao do coeficiente de centralidade, foram incorporadas aos algoritmos, com
o objetivo reduzir o numero de solucoes avaliadas pelos mesmos, sendo estas consideradas
empiricamente como solucoes ruins.
Capıtulo 5
Resultados da Simulacao
Neste capıtulo, serao apresentados e discutidos os resultados obtidos pelos algoritmos
ja descritos ao longo do capıtulo 4. A secao 5.1 aborda o desempenho dos diferentes
geradores de populacao inicial, discutidos ate entao, enquanto a secao 5.2 apresenta entre
os tres algoritmos, AGB, AGH e ACC.
Os algoritmos foram implementados na linguagem Java (JDK 6). Os testes sao
executados em uma maquina AMD Athlon(tm) II X3 425 Processor, com 2.0GiB de
memoria RAM e sistema operacional Ubuntu 9.10, Kernel Linux 2.6.31− 20− generic.Os resultados indicam que as aplicacoes dos novos conceitos explorados no decorrer deste
trabalho surtiram um efeito positivo sobre varios aspectos.
5.1 Resultados dos Geradores de Populacao
A tabela 5.1 compara a aptidao dos indivıduos gerados por todos os quatro geradores
de populacao. A aptidao dos indivıduos foi calculada de acordo com a Funcao Objetivo
descrita, no capıtulo anterior, pela equacao ??. Logo, a aptidao dos indivıduos expressa
o consumo total de energia pela rede, medido em joules (J). Considerou-se uma regiao
dividida em uma grade 3× 3, tal que L = 9. A tabela contem a media geral da aptidao,
a media dos melhores indivıduos e a media dos piores indivıduos, do total de 3300
avaliacoes de aptidao, de modo que 100 indivıduos foram avaliados para cada um das
33 instancias aleatorias, para cada tamanho de rede. Estes valores foram normalizados,
divididos por 104.
73
Resultados da Simulacao 74
Tabela 5.1: Desempenho dos geradores
64 nos
Pior Media Melhor
30PR 14.614 ± 1.160 12.300 ± 0.714 10.010 ± 0.594
9OR 10.757 ± 1.302 6.674 ± 0.319 5.240 ± 0.211
9CR 7.319 ± 0.420 6.238 ± 0.214 5.495 ± 0.208
9CBCb 6.684 ± 0.358 5.965 ± 0.178 5.571 ± 0.175
128 nos
Pior Media Melhor
30PR 51.283 ± 3.416 41.960 ± 2.104 30.631 ± 2.099
9OR 39.709 ± 7.391 16.534 ± 0.860 9.973 ± 0.606
9CR 14.981 ± 0.811 11.653 ± 0.521 9.216 ± 0.408
9CBCb 13.288 ± 0.811 10.134 ± 0.387 8.773 ± 0.329
256 nos
Pior Media Melhor
30PR 186.222 ± 8.489 158.731 ± 7.650 122.443 ± 9.045
9OR 146.599 ± 27.823 62.916 ± 3.639 32.697 ± 3.350
9CR 51.187 ± 3.401 36.243 ± 1.821 26.175 ± 1.614
9CBCb 46.387 ± 3.465 34.130 ± 1.784 25.715 ± 1.548
512 nos
Pior Media Melhor
30PR 608.056 ± 19.515 543.743 ± 14.588 456.402 ± 18.624
9OR 522.848 ± 78.758 263.130 ± 8.130 156.414 ± 9.317
9CR 223.156 ± 14.349 164.962 ± 5.564 121.800 ± 6.673
9CBCb 215.577 ± 11.228 160.618 ± 4.277 118.278 ± 5.884
Resultados da Simulacao 75
Escolher o numero de concentradores com base em um percentual fixo de, digamos,
30% produz os piores resultados para todos os tamanhos de rede. A estrategia 9CBCB
disponibiliza, em media, os melhores indivıduos, o que mostra a existencia de uma relacao
entre as medidas do coeficiente de centralidade dos concentradores e da qualidade das
solucoes iniciais. Para todos os tamanhos de rede, o gerador 9CR foi melhor do que
9OR considerando os valores medios e os valores dos piores indivıduos, mas novamente
o gerador 9CBCB proporciona melhores indivıduos, em media. Embora os valores de
aptidao dos indivıduos produzidos pelo 9CR sejam, para todos os tamanhos de rede, bem
proximos aos dos indivıduos produzidos pelo 9CBCB, o menor desvio padrao mostra a
robustez do gerador 9CBCB.
Em todos os casos, as diferencas entre os resultados fornecidos pelos geradores 9CR e
9CBCB se mantem proporcionais, sendo ambos muito melhores do que o gerador 30PR.
Isso indica que a divisao da regiao em 9 celulas, visando obter uma distribuicao espacial
mais homogenea dos concentradores, foi muito util para a geracao de bons indivıduos.
5.2 Resultados do Algoritmo Coevolutivo
Para esse estudo consideramos uma simulacao realizada com o algoritmo implementado
em Java. O algoritmo coevolutivo foi executado considerando uma populacao de µ = 50
indivıduos, por 500 geracoes, com a tolerancia maxima de 50 geracoes sem qualquer
melhoria na melhor solucao atual. O numero de simulacoes necessarias e dado por Jain
(1991)
#exec =(100 ξ σ
ρX
)2, (5.1)
onde #exec e o numero de execucoes necessarias, ξ e uma constante de valor 1, 96,
σ e o desvio padrao encontrado nas primeiras simulacoes, X e a media dos valores
obtidos e ρ e o percentual da media que nos queremos conseguir como desvio padrao,
que neste caso foi de 5%. Consideramos 33 execucoes com topologias aleatorias, e para
cada topologia nos executamos o algoritmo genetico 33 vezes. Devido ao elevado tempo
de execucao demandado pelo AGH, sobre instancias de 512 nos, apenas 10 execucoes
foram realizadas. Os resultados sao apresentados com intervalo de confianca simetrico
assintotico de 95%.
Resultados da Simulacao 76
Os nos iniciam a execucao com a mesma configuracao de hardware. No final os con-
centradores ativam o segundo radio, com capacidade de comunicacao de longo alcance,
com base na infra-estrutura dada como solucao. Assim, a solucao final tem uma RSSF
heterogenea. Por fim, considere G = (V,E) o grafo inicial e G∗ = (V,E∗), o grafo retor-
nado pelo algoritmo coevolutivo. A configuracao resultante, utilizado em uma rede real
sera o grafo G′ = (V,E ′), onde E ′ = E ∪ E∗. Assim, o coeficiente de agrupamento e o
caminho medio mınimo sao calculados considerando este grafo.
As tabelas 5.2 e 5.3 mostram os resultados comparando o Algoritmo Genetico Basico
(AGB), Algoritmo Genetico Hıbrido (AGH) (Ruela et al. 2010) e o algoritmo Coevolutivo
Cooperativo (ACC), considerando a variacao do numero de nos como {64, 128, 256, 512}.Os parametros avaliados sao: (i) o numero de concentradores instalado, (ii) a aptidao
das solucoes, que expressa o custo de energia da rede medido em joules (J), sendo os
valores normalizados, divididos por 104, (iii) o tempo de execucao necessario para chegar
a melhor solucao, e (iv) a convergencia em geracoes, ou seja, o numero de geracoes
decorridas ate alcancar o melhor indivıduo. Em todos os algoritmos, os tempos de
acesso ao disco rıgido, seja durante a leitura das instancias, seja durante a escrita dos
dados de saıda, nao foram considerados no tempo de execucao. Devido o elevado tempo
de execucao demandado pelo AGH, sobre instancias de 512 nos, apenas 10 execucoes
foram realizadas sobre cada instancia. Por esta razao, os resultados sao apresentados
separadamente na tabela 5.4.
Tabela 5.2: Comparacao do desempenho dos algoritmos.
N Concentradores Aptidao (× 104J)
AGB AGH ACC AGB AGH ACC
64 3.59 ± 0.29 3.32 ± 0.35 3.89 ± 0.26 3.11 ± 0.18 3.02 ± 0.19 3.21 ± 0.19
128 6.89 ± 0.22 4.50 ± 0.43 5.94 ± 0.36 8.17 ± 0.34 6.82 ± 0.35 7.57 ± 0.45
256 9.40 ± 0.28 8.84 ± 0.32 8.98 ± 0.07 26.19 ± 1.13 22.36 ± 0.83 23.76 ± 0.86
512 16.21 ± 0.19 - ± - 12.53 ± 0.37 82.83 ± 1.64 - ± - 83.65 ± 3.27
Tabela 5.3: Comparacao do desempenho dos algoritmos.
N Tempo do melhor indivıduo Convergencia (g)
AGB AGH ACC AGB AGH ACC
64 0.48s ± 0.06s 3.03s ± 0.53s 0.89s ± 0.35s 52.08 ± 6.90 26.28 ± 5.05 11.10 ± 4.43
128 0.58s ± 0.11s 17.60s ± 5.28s 3.55s ± 1.38s 20.44 ± 5.71 24.42 ± 7.25 32.76 ± 7.1
256 2.10s ± 0.72s 3m 35s ± 48.38s 7.55s ± 3.70s 0.28 ± 0.21 37.62 ± 8.78 31.72 ± 7.47
512 20.86s ± 0.65s - ± - 44.48s ± 5.21s 0.08 ± 0.07 - ± - 59.16 ± 8.40
Resultados da Simulacao 77
Tabela 5.4: Resultados do AGH para 512 nos.
N Concentradores Aptidao(× 104J) Tempo do melhor Convergencia (g)
512 12.65 ± 0.47 55.88 ± 1.76 2032.11s ± 790.63s 29.17 ± 10.95
A tabela 5.5 compara os resultados do grafo geometrico inicial G e o grafo complexo
G′ utilizando duas metricas complexa rede: (i) o coeficiente de agrupamento, e (ii) o
caminho medio mınimo. Essas metricas nao foram diretamente levadas em consideracao
durante o processo evolutivo, representando uma consequencia da otimizacao, em vez
de um objetivo explıcito da formulacao do problema.
Tabela 5.5: Comparacao entre as metricas de redes complexas consideradas.
N Coeficiente de Agrupamento Caminho Medio Mınimo
G AGB AGH ACC G AGB AGH ACC
64 0.73 0.73 0.73 0.73 1.96 1.95 1.94 1.93
128 0.69 0.69 0.69 0.69 2.67 2.64 2.65 2.57
256 0.66 0.65 0.66 0.64 3.67 3.60 3.62 3.40
512 0.63 0.66 0.63 0.50 5.09 4.93 3.96 4.65
Os resultados apresentados nas tabelas 5.2, 5.3 e 5.5 mostram que, com o algoritmo
coevolutivo, e possıvel construir uma topologia logica para a RSSF com duas carac-
terısticas especıficas de redes complexas, o elevado coeficiente de agrupamento e o baixo
caminho medio mınimo. Como podemos ver, o coeficiente de agrupamento do grafo G′
e aproximadamente o mesmo valor do grafo geometrico original G, e o comprimento do
caminho medio mınimo do grafo G′ para as redes foi reduzido, quando comparado com o
grafo geometrico original G. Baseado nesta topologia fısica, um algoritmo de roteamento
pode ser usado para construir a melhor topologia logica baseada em arvore. Conside-
rando o consumo de energia e atraso, esta nova topologia logica baseada em medidas
de redes complexas sera sempre melhor do que uma topologia logica baseada no grafo
geometrico original. Isso ocorre porque o numero de retransmissoes e consideravelmente
reduzido quando os concentradores sao utilizados.
A qualidade das solucoes retornadas pelo ACC sao tao boas quanto as solucoes retor-
nadas pelo AGH, exceto para os casos com 64 e 512 nos. Para tamanhos pequenos de
rede, como 64 nos, as solucoes retornadas pelo algoritmo hıbrido nao tem o mesmo com-
Resultados da Simulacao 78
portamento de posicionamento dos concentradores, como observado em outras instancias.
Portanto, a ideia de dividir a rede em uma grade nao foi muito util para casos de pe-
queno porte. No entanto, para as instancias de tamanho intermediario, o ACC e, em
certo sentido, melhor do que os outros algoritmos, pois pode proporcionar boas topolo-
gias fısicas de rede com um tempo de execucao factıvel do ponto de vista pratico. O
tempo de execucao decorrido para alcancar a melhor solucao do ACC e bem inferior ao
AGH, para todos os tamanhos de rede. Isso mostra que a abordagem da divisao e con-
quista foi realmente uma aplicacao vantajosa: o principal problema poderia ser reduzido
em problemas menores que sao mais faceis de resolver, fazendo a abordagem coevolutiva
cooperativa muito util para este problema.
Por outro lado, o desempenho do ACC em instancias de 512 se assemelha ao AGB,
porem com um tempo de execucao maior, tornando a sua aplicacao inviavel. Vale
lembrar que o desempenho do algoritmo coevolutivo esta diretamente relacionado com
o numero de celulas entre as quais o problema foi repartido. Em outras palavras, e
provavel que o mau desempenho do ACC, em tais casos, seja decorrente de uma di-
visao inapropriada do problema. Nestas instancias, os algoritmos encontram, em media,
um numero de concentradores maior do que o numero fixo de celulas. Logo, existem
celulas possuindo dois ou mais concentradores. Uma vez que os operadores do ACC
foram desenvolvidos visando otimizar o seu desempenho em celulas de um ou nenhum
concentrador, a demanda por mais concentradores, presente nas instancias de 512 nos,
pode ser o principal fator prejudicial ao ACC.
Por esta razao, torna-se interessante a ideia de explorar as caracterısticas favoraveis
ao ACC em funcao da variacao do numero de celulas do problema, tanto para as
instancias de 512 nos, quanto para as demais. Esta tarefa nao foi realizada ainda neste
trabalho, devido o curto prazo para a finalizacao do mesmo, porem encontra-se entre os
principais trabalhos futuros.
Adicionalmente, o desempenho ruim do AGB pode ser justificado pelo uso inade-
quado dos operadores geneticos e uma exploracao superficial da natureza do problema.
Normalmente, as topologias fornecidas pelo AGB tem um elevado numero de concentra-
dores desnecessarios, que sao caros para toda a rede. Alem disso, a codificacao binaria
dos indivıduos em |V | bits, usada no AGB, e ineficiente devido ao baixo numero de
concentradores que sao necessarios. Uma breve analise da convergencia do metodo para
as instancias de maior tamanho, permite constatar que o AGB nao e capaz de encontrar
melhores solucoes no decorrer das geracoes futuras. Sendo assim, as solucoes retorna-
Resultados da Simulacao 79
das pelo AGB sao resultados obtidos por meio do gerador 9CBCB e estao presentes na
populacao desde a primeira geracao.
Considerando os aspectos do roteamento baseado em arvore sobre a topologia fısica,
um caminho medio mınimo mais curto evita, principalmente, o atraso na entrega dos
dados. O inconveniente, neste caso, e que quando o radio extra e ativado mais ener-
gia e consumida, mas considerando o consumo global de energia, esta abordagem pode
realmente economizar energia. A rede complexa tendo um valor menor para o cami-
nho medio mınimo fornece uma topologia logica com baixo consumo de energia, porque
sera necessario um numero menor de saltos para enviar dados para o sorvedouro. Vale
lembrar que o excesso de concentradores examinados nas solucoes retornadas pelo AGB
causou uma reducao, em media, do caminho medio mınimo, pois existem mais cami-
nhos alternativos. No entanto, o alto custo de instalacao dos concentradores o torna
ineficiente.
Para as instancias com 64, 128 e 256 nos o caminho medio mınimo mais baixo e
encontrado nas solucoes do ACC. Isso ocorre porque os concentradores do ACC estao
concentrados dentro de sua grade de celulas, decorrente da geracao de indivıduos base-
ados no coeficiente de centralidade. No entanto, para as instancias com 512 nos, nas
quais tanto AGB quanto ACC nao foram capazes de encontrar solucoes de baixo valor
de aptidao, o menor caminho medio mınimo foi apresentado pelo AGH. E provavel que o
posicionamento inadequado dos concentradores retornados pelo AGB e ACC nao tenha
sido capaz de proporcionar reducoes significativas do caminho medio mınimo.
Capıtulo 6
Consideracoes Finais
6.1 Conclusoes
As redes de sensores sem fio possuem restricoes de recursos, tais como baixo poder
computacional, largura de banda reduzida e, especialmente, fonte de energia limitada.
O alto consumo de energia pode ser observado quando o fluxo de dados em cada no e
alto e quando o numero de vizinhos e grande. No ambito de economizar recursos na
instalacao e gestao da rede em questao, mantendo-a escalavel, este trabalho propos um
modelo para RSSFs baseado em agrupamentos e longos atalhos. Essas redes podem ser
modeladas levando em consideracao metricas caracterısticas de redes complexas, tais
como o elevado coeficiente de agrupamento e o baixo caminho medio mınimo entre cada
par de nos na rede.
Os conceitos fundamentais de redes complexas que inspiraram o desenvolvimento da
modelagem proposta, foram detalhados no capıtulo 2. Os primeiros conceitos de redes
complexas surgiram do estudo de redes sociais e relacoes humanas e do esforco para a
modelagem e simulacao das mesmas. Um comportamento bastante comum em redes
sociais e o fenomeno small-world. Em uma rede small-world toda a estrutura e conexa
e pontos distantes da rede sao interconectados por meio de alguns nos concentradores.
Alem disso, sao necessarios poucos saltos para que todos os pares de nos se comuniquem
entre si. Por estas razoes, uma rede small-world apresenta um baixo caminho medio
mınimo e um elevado coeficiente de agrupamento.
Os estudo de redes como a Internet, redes eletricas e redes geneticas, permitiu ob-
servar que a conectividade dos nos e baseada em uma lei de potencia. Estas redes sao
chamadas redes livres de escala, pois apresentam o crescimento contınuo baseado na lei
80
Consideracoes Finais 81
de potencia. Assim como redes small-world, redes livre de escala possuem poucos nos
com alta conectividade, enquanto a maioria dos nos possui baixa conectividade.
No modelo de RSSF proposto, cada no sensor possui dois radios de comunicacao,
sendo que o primeiro radio se mantem ativado em todos os nos, enquanto o segundo so e
ativado em algumas ocasioes. O primeiro radio efetua a comunicacao convencional entre
os nos sensores da rede. Ja o segundo radio possui um longo alcance, capaz de interconec-
tar pontos distantes da rede. Tal abordagem foi capaz de produzir uma topologia logica
na qual pode se verificar um elevado coeficiente de agrupamento e um baixo caminho
medio mınimo. Na topologia logica, os nos configurados como concentradores ativam o
seu segundo radio, enquanto os demais nos sensores se conectam a algum concentrador
vizinho. Por esse motivo, conforme as redes complexas estudadas, os nos concentradores
possuem um alto grau de conectividade, enquanto os nos sensores possuem um baixo
grau de conectividade.
Para se obter a topologia logica proposta para a RSSF, e preciso selecionar o con-
junto de nos da rede que devem ser reconfigurados como nos concentradores. Encontrar
a melhor configuracao para uma rede, que minimize o custo de instalacao da mesma e o
custo de propagacao dos dados, consiste em uma tarefa que demanda um esforco com-
putacional consideravel, alem de um elevado tempo de processamento. Por esta razao,
optou-se neste trabalho por tratar este problema por meio de computacao evolutiva. Os
conceitos basicos da computacao evolutiva, assim como os algoritmos considerados neste
trabalho, sao apresentados no capıtulo 3.
No capıtulo 4, foi apresentada toda modelagem proposta para uma RSSF, tomando
como base conceitos de redes complexas, utilizando algoritmos evolutivos como ferra-
menta para a sua configuracao. A formulacao matematica para a avaliacao das solucoes,
deixa claro quais sao as restricoes de raio aos quais os elementos da rede estao sujeitos,
bem como as estrategias de conexao entre eles. A mesma formulacao foi utilizada pelos
tres algoritmos propostos para atribuicao da aptidao dos indivıduos.
Inicialmente, utilizou-se um AG basico para a busca por uma configuracao satisfato-
riamente boa para o problema. Entretanto, o AG basico nao teve um bom desempenho,
visto que o espaco de busca do problema em questao possui um numero elevado de
dimensoes e os operadores geneticos implementados nao eram adequados ao problema.
Entao, foi implementado um AG hıbrido, que utilizou o metodo da primeira melhora para
aprimorar os indivıduos, ampliando a capacidade de busca do algoritmo. A utilizacao
do AGH permitiu obtencao de solucoes com altıssima qualidade, porem, seu tempo de
Consideracoes Finais 82
execucao foi igualmente alto, devido ao elevado numero de avaliacoes necessarias. Por
esta razao, pensou-se na paralelizacao do algoritmo e ainda na sua distribuicao, visando
a obtencao de solucoes tao boas quanto as solucoes encontradas pelo AGH, em um tempo
de execucao pequeno, como apresentado pelo AGB.
A abordagem coevolutiva cooperativa permitiu a divisao do problema geral em sub-
problemas de menor complexidade. A rede foi dividida em varias celulas, sendo que a
otimizacao de cada celula consiste em um subproblema. Dessa forma, as subpopulacoes
evoluem independentemente indivıduos que codificam as respectivas celulas da rede e co-
operam entre si para a producao de uma solucao global. A divisao do problema permitiu
a reducao de sua cardinalidade, pois cada celula da rede considerou apenas os sensores
que estao em sua cobertura. Esta abordagem permitiu que o ACC convergisse com um
bom tempo de execucao, encontrando solucoes tao boas quanto o AGH.
Ainda no capıtulo 4, alguns algoritmos para a geracao da populacao inicial foram
apresentados. A princıpio, a geracao dos primeiros indivıduos era feita configurando
uma 30% dos nos sensores da rede como concentradores. Entretanto, 30% era um valor
alto se comparado com o numero de concentradores presentes nas boas solucoes finais.
Por este motivo, novos geradores foram investigados. Alem disso, a partir da analise
das solucoes obtidas pelo AGH, foi possıvel observar que os concentradores possuem
ainda na topologia fısica, um valor medio de centralidade superior ao valor medio do
restante da rede. Adicionalmente, foi observado que as solucoes finais do AGH nao
apresentam concentradores localizados em regioes perifericas da rede, isto e, regioes
onde o coeficiente de centralidade medio e baixo. Por este motivo, um gerador que
seleciona concentradores baseado no coeficiente de centralidade foi adotado para este
problema e mostrou-se superior aos demais.
O capıtulo ?? apresentou os resultados obtidos pelos algoritmos implementados. Ini-
cialmente os geradores de populacao inicial sao comparados. Foi possıvel constatar que
uma selecao de concentradores puramente aleatoria e capaz de encontrar solucoes me-
lhores que a selecao baseada no coeficiente de centralidade, entretanto, as chances de
que uma solucao ruim seja gerada sao muito maiores e, em media, as solucoes baseadas
pela na centralidade sao melhores. O metodo 9CBCB foi escolhido como gerador de
populacao inicial padrao a partir daı e utilizado pelos tres algoritmos: AGB, AGH e
ACC.
Em seguida, o desempenho dos algoritmos foi comparado, quanto a numero de con-
centradores, aptidao media, tempo de execucao e geracoes para a convergencia. E valido
Consideracoes Finais 83
lembrar que nenhum dos metodos foi calibrado. Os tres algoritmos foram capazes de
obter topologias logicas que apresentam as metricas de redes complexas consideradas.
Isso foi evidenciado em nossos resultados que mostraram que o coeficiente de agrupa-
mento do grafo resultante e o mesmo ou ligeiramente mais elevado, e o comprimento
do caminho medio mınimo do grafo resultante, em nosso cenario especıfico, foi reduzido
quando comparados com o grafo geometrico original.
O numero de concentradores encontrados pelo AGB foi muito elevado, o que demons-
tra que o metodo nao e adequado para este problema. O AGH, por sua vez encontrou
as melhores solucoes ate entao, porem com um alto custo computacional e tempo de
execucao. Ja o ACC, obteve solucoes de alta qualidade, proximas ao AGH, com um
bom tempo de execucao, o que representa configuracoes com poucos nos instalados
como concentradores. Isso significa que, na pratica, o ACC e o algoritmo mais viavel,
comparando com os anteriores.
As topologias logicas encontradas pelos AGH e ACC podem ser utilizadas como
infraestrutura inicial da rede minimizando assim o consumo de energia e os atrasos,
elementos presentes no nosso modelo. Para redes com centenas de nos, por exemplo, a
rede com 512 nos, o ACC foi satisfatorio, obtendo-se uma topologia logica que satisfez
as caracterısticas de redes complexas.
6.2 Trabalhos Futuros
O modelo de coevolucao desenvolvido neste trabalho e um passo importante rumo a uma
aplicacao paralela, ou ate mesmo distribuıda, para o projeto de RSSFs, que representam
importantes avancos para os trabalhos futuros. A implementacao da versao paralela do
ACC encontra-se em etapa final, necessitando apenas de alguns ajustes para a sua con-
clusao. Alem disso, o desempenho do ACC esta diretamente ligado ao numero de celulas
entre as quais o problema original esta dividido. Sendo assim, torna-se interessante a
ideia de avaliar o desempenho do ACC em diferentes numeros de celulas.
Uma importante tarefa complementar, consiste na simulacao das redes obtidas pelos
algoritmos, para que seja possıvel verificar se a instalacao de nos concentradores pro-
porciona, de fato, alguma economia de recursos para rede. Em caso positivo, torna-se
interessante o desenvolvimento de um algoritmo que reconfigure a topologia de uma
RSSF em tempo de execucao.
Consideracoes Finais 84
Por fim, o estudo de metricas relacionadas a redes complexas e a aplicacao dasmesmas na configuracao de RSSF demonstrou ser uma tecnica bastante promissora.Talvez a aplicacao de operadores geneticos que considerem tais metricas, seja capaz deacelerar a convergencia dos algoritmos evolutivos ou ainda proporcionar resultados demelhor qualidade.
Consideracoes Finais 85
Referencias Bibliograficas
Akyildiz, I. F., Su, W., Sankarasubramaniam, Y. and Cayirci, E.: 2002, A survey on
sensor networks, IEEE Communications Magazine 40(8), 102–114.
Allahverdi, A., Ng, C. T., Cheng, T. C. E. and Kovalyov, M. K.: 2008, A survey
of scheduling problems with setup times or costs, European Journal of Operational
Research 187(3), 985–1032.
Andrade, I. B. D., Januario, T. O., Pappa, G. L. and Mateus, G. R.: 2010, An evoluti-
onary algorithm to the density control, coverage and routing multi-period problem in
wireless sensor networks, Proceedings of the 2010 IEEE World Conference on Compu-
tational Intelligence., Barcelona, Spain.
Arampatzis, T., Lygeros, J. and Manesis, S.: 2005, A survey of applications of wireless
sensors and wireless sensor networks, 13th IEEE Mediterranean Conference on Control
and Automation, IEEE Computer Society, Hawaii, USA, pp. 719–724.
Barabasi, A. and Albert, R.: 1999, Emergence of scaling in random networks, Science
286, 509–512.
Barabasi, A. and Albert, R.: 2002, Statistical mechanics of complex networks, Reviews
of Modern Physics 74, 47–97.
Blum, C. and Roli, A.: 2003, Metaheuristics in combinatorial optimization: overview
and conceptual comparison, ACM Computing Surveys 35(3), 268–308.
Boonma, P. and Suzuki, J.: 2008, Monsoon: A coevolutionary multiobjective adaptation
framework for dynamic wireless sensor networks, HICSS, p. 497.
Bull, L.: 2008, Coevolutionary computation: An introduction.
Cerpa, A. and Estrin, D.: 2004, Ascent: Adaptive self-con?guring sensor networks to-
pologies, IEEE Transactions on Mobile Computing (TMC) Special Issue on Mission-
Oriented Sensor Network, Vol. 3.
86
REFERENCIAS BIBLIOGRAFICAS 87
Costa, L. F., Rodrigues, F. A., Travieso, G. and Boas, P. R. V.: 2005, Characterization
of complex networks: A survey of measurements, Advances in Physics 56, 167–242.
Costa, L. F., Rodrigues, F. A., Travieso, G. and Boas, P. R. V.: 2007, Characterization of
complex networks: A survey of measurements, Advances in Physics, Vol. 56, pp. 167–
242.
Cunha, C. B. and Silva, M. R.: 2007, A genetic algorithm for the problem of configuring
a hub-and-spoke network for a ltl trucking company in brazil, European Journal of
Operational Research 179, 747–758.
Darwin, C. and Huxley, J.: 2003, The Origin Of Species: 150th Anniversary Edition,
Signet Classics.
Dawkins, R.: 1976, O Gene Egoısta, Oxford University Press.
de Berg, M., van Kreveld, M., Overmars, M. and Schwarzkopf, O.: 2000, Computational
Geometry: Algorithms and Applications, Springer Verlag.
Dijkstra, E. W.: 1959, A note on two problems in connexion with graphs, Numerische
Mathematik 1, 269–271.
Ehrlich, P. R. and Raven, P. R.: 1964, Buterflies and plants: a study in coevolution,
Evolution 18, 586–608.
Eiben, A. E. and Smith, J. E.: 2008, Introduction to Evolutionary Computing, Natural
Computing Series, Springer.
Erdos, P. and Renyi, A.: 1959, On random graphs, Publicationes Mathematicae (Debre-
cem) 6, 290–297.
Erdos, P. and Renyi, A.: 1960, On the evolution of random graphs, Publications of the
Mathematical Institute of the Hungarian Academy of Sciences 5, 17–61.
Estrin, D., Girod, L., Pottie, G. and Srivastava, M.: 2001, Instrumenting the world with
wireless sensor networks, 26th IEEE International Conference on Acoustics, Speech,
and Signal Processing, Vol. 4, IEEE Computer Society, Salt Lake City, Utah, USA,
pp. 2033–2036.
Estrin, D., Govindan, R., Heidemann, J. and Kumar, S.: 1999, Next century challen-
ges: Scalable coordination in sensor networks, Fifth Annual ACM/IEEE International
Conference on Mobile Computing and Networking, Seattle, Washington, USA, pp. 263–
REFERENCIAS BIBLIOGRAFICAS 88
270.
Feo, T. A. and Resende, M. G. C.: 1995, Greedy randomized adaptive search procedures,
Journal of Global Optimization 6, 109–133.
Freeman, L. C.: 1977, A set of measures of centrality based on betweenness, Sociometry
40, 35–41.
Glover, F. and Laguna, M.: 1997, Tabu Search, Kluwer Academic Publishers.
Goldberg, D. E.: 1989, Genetic Algorithms in Search, Optimization, and Machine Lear-
ning, Addison-Wesley Professional.
Gomes, B. N., Ramirez, J. A. and de Camargo, R. S.: 2011, Uma abordagem evo-
lucionaria para o projeto de redes eixo-raio com alocacao simples, Master’s thesis,
Programa de Pos-Graduacao em Engenharia Eletrica, Escola de Engenharia, Univer-
sidade Federal de Minas Gerais.
URL: http://www.ppgee.ufmg.br/defesas/31M.PDF
Guidoni, D. L., Aquino, A. L. L., da Silva Cabral, R., Loureiro, A. A. F. and Fernan-
des, A. O.: 2007, Sistemas do tipo eixo-raio aplicados a redes de sensores sem fio
modeladas como redes small world, Anais do XXXIX Simposio Brasileiro de Pesquisa
Operacional, SOBRAPO, Fortaleza, CE, Brasil, pp. 1–12.
Hansen, P. and Mladenovic, N.: 1997, Variable neighborhood search.
Heinzelman, W. R., Chandrakasan, A. and Balakrishnan, H.: 2000, Energy-eficient
communication protocol for wireless microsensor networks, Proceedings of the Hawaii
International Conference on System Sciences.
Holland, J.: 1975, Adaptation in Natural and Artificial System, Complex Adaptive Sys-
tems, The MIT Press.
Hussain, S. and Matin, A. W.: 2006, Base station assisted hierarchical cluster-based rou-
ting, IEEE/ACM International Conference on Wireless and Mobile communications
Networks.
Hussain, S., Matin, A. W. and Islam, O.: 2007a, Genetic algorithm for energy eficient
clusters in wireless sensor networks, Fourth International Conference on Information
Technology: New Generations.
REFERENCIAS BIBLIOGRAFICAS 89
Hussain, S., Matin, A. W. and Islam, O.: 2007b, Genetic algorithm for hierarchical
wireless sensor networks, Journal Of Networks 2(5), 87–97.
Jain, R. K.: 1991, The Art of Computer Systems Performance Analysis: Techniques for
Experimental Design, Measurement, Simulation, and Modeling, John Wiley and Sons.
Jin, S., Zhou, M. and Wu, A. S.: 2003, Sensor network optimization using a genetic
algorithm, Proceedings of the 7th World Multiconference on Systemics, Cybernetics
and Informatics.
Johnson, T. M. and Margalho, M.: 2006, Wireless sensor networks for agroclimatology
monitoring in the brazilian amazon, IEEE International Conference on Communica-
tion Technology, ICCT’06, Beijing, China.
Kahn, J. M., Katz, R. H. and Pister, K. S. J.: 1999, Mobile networking for smart dust,
ACM/IEEE International Conference on Mobile Computing and Networking .
Kanungo, T., Mount, D. M., Netanyahu, N. S., Piatko, C. D., Silverman, R. and Wu,
A. Y.: 2002, An efficient k-means clustering algorithm: Analysis and implementation,
IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 24.
Khare, V., Yao, X. and Sendhoff, B.: 2004, Credit assignment among neurons in co-
evolving populations, Congress Evolutionary Computing, pp. 1101–1108.
L.Euler: 1753, Dissertatio de principio mininiae actionis, ’una cum examine objectio-
num cl. prof. koenigii, Master’s thesis, Berlin.
Lindsey, S. and Raghavendra, C. S.: 2002, Pegasis: Power-ef?cient gathering in sensor
information systems, Proceedings of the IEEE Aerospace Conference.
Luke, S.: 2009, Essentials of Metaheuristics: A Set of Undergraduate Lecture Notes,
Department of Computer Science, George Mason University.
Marcy, H. O., Agre, J. R., Chien, C., Clare, L. P., Romanov, N. and Twarowski, A.:
1999, Wireless sensor networks for area monitoring and integrated vehicle health ma-
nagement applications, AIAA Space Technology Conference and Exposition .
Maroti, M.: 2004, Directed flood-routing framework for wireless sensor networks, 5th
ACM/IFIP/USENIX International Conference on Middleware, Vol. 78, ACM, To-
ronto, Ontario, Canada, pp. 99–114.
REFERENCIAS BIBLIOGRAFICAS 90
Martins, F. C., Nakamura, F. G. and Takahashi, R. C.: 2008, Uma analise multiobjetivo
para o problema de cobertura e conectividade em uma rede de sensores sem fio plana,
Anais do XL Simposio Brasileiro de Pesquisa Operacional, SOBRAPO, Joao Pessoa.
Michalewicz, Z.: 1998, Genetic Algorithms + Data Structures = Evolution Programs,
3rd edn, Springer.
Milgram, S.: 1967, The small world problem, Psychology Today 2, 60–67.
Mitchell, M.: 1998, An Introduction to Genetic Algorithms, Complex Adaptive Systems,
The MIT Press.
Moriarty, D. E.: 1997, Symbiotic evolution of neural networks in sequential decision
tasks, PhD thesis, University of Texas at Austin.
Moscato, P.: 1989, On evolution, search, optimization, genetic algorithms and mar-
tial arts: Towards memetic algorithms, Technical Report 158-79, Caltech Concurrent
Computation Program, California Institute of Technology.
Muruganathan, S., Ma, R. B. D. and Fapojuwo, A.: 2005, A centralized energy-ef?cient
routing protocol for wireless sensor networks, IEEE Communications Magazine 43, S8–
S13.
Naeem, M. and Ombuki-Berman, B.: 2010, An efficient genetic algorithm for the un-
capacitated single allocation hub location problem, IEEE Congress on Evolutionary
Computation.
Newman, M.: 2003, The structure and function of complex networks, SIAM Review,
Vol. 45, pp. 167–256.
Newman, M. E. J.: 2001, Scientific collaboration networks: I, Network construction and
fundamental results .
Panait, L.: 2006, The Analysis and Design of Concurrent Learning Algorithms for Coo-
perative Multiagent Systems, PhD thesis, George Mason University, Fairfax, Virginia.
Paxson, V. and Floyd, S.: 1997, Why we don’t know how to simulate the internet,
Proceedings of the 1997 Winter Simutation Conference, pp. 1037–1044.
Poisson, S. D.: 2005, Recherches sur la probabilite des judgements en matieres criminelles
et matiere civile, Elibron Classics, Adamant Media Corporation.
REFERENCIAS BIBLIOGRAFICAS 91
Potter, M. A. and Jong, K. A. D.: 1994, A cooperative coevolutionary approach to func-
tion optimization, III Conference of Parallel Problem Solving from Nature, pp. 249–
257.
Qiu, W., Skafidas, E. and Hao, P.: 2009, Enhanced tree routing for wireless sensor
networks, Ad Hoc Networks 7(3), 638–650.
Quintao, F. P., Nakamura, F. G. and Mateus, G. R.: 2005, Algoritmo evolutivo para
o problema dinamico de cobertura aplicado ao gerenciamento de redes de sensores
sem fio, Anais do XXXVII Simposio Brasileiro de Pesquisa Operacional, SOBRAPO,
Gramado.
Ricklefs, R. E.: 2010, A Economia da Natureza, 6th edn, Guanabara Koogan.
Romoozi, M. and Ebrahimpour-komleh, H.: 2010, A positioning method in wireless
sensor networks using genetic algorithms, International Journal of Digital Content
Technology and its Applications 4, 174–179.
Rosin, C. D. and Belew, R. K.: 1997, New methods for competitive coevolution, 5, 1–29.
Royer, E. M. and Toh, C.-K.: 1999, A review of current routing protocols for ad-hoc
mobile wireless networks, IEEE Personal Communications 6(2), 46–55. disponıvel em
http://ieeexplore.ieee.org/iel4/98/16455/00760423.pdf.
Ruela, A. S., Cabral, R. S., Aquino, A. L. L. and Guimaraes, F. G.: 2010, Memetic and
evolutionary design of wireless sensor networks based on complex network characte-
ristics, International Journal of Natural Computing Research 1(2), 33–53.
Ruela, A. S., Guimaraes, F. G., Aquino, A. L. L. and Cabral, R. S.: 2009, Evolutionary
design of wireless sensor networks based on complex networks, Fifth International
Conference on Intelligent Sensors, Sensor Networks and Information Processing, Mel-
bourne, Australia.
SensorWebs: n.d. disponıvel em http://sensorwebs.jpl.nasa.gov/.
Sharma, G. and Mazumdar, R.: 2005, Hybrid sensor networks: A small world, 6th
ACM International Symposium on Mobile Ad Hoc Networking and Computing, ACM,
Urbana-Champaign, Illinois, USA, pp. 366–377.
Thompson, J. N.: 1986, Patterns in coevolution and systematic, Coevolution and Syste-
matics pp. 119–143.
REFERENCIAS BIBLIOGRAFICAS 92
Tilak, S., Abu-Ghazaleh, N. B. and Heinzelman, W.: 2002, A taxonomy of wireless micro-
sensor network models, ACM SIGMOBILE Mobile Computing and Communications
Review, ACM New York, NY, USA, pp. 28–36.
Topcuoglu, H., Corut, F., Ermis, M. and Yilmaz, G.: 2005, Solving the uncapacitated
hub location problem using genetic algorithms, Computers and Operations Research
32, 967–984.
Turgut, D., Das, S. K., Elmasri, R. and Turgut, B.: 2002, Optimizing clustering algo-
rithm in mobile ad hoc networks using genetic algorithmic approach, Proceedings of
the Global Telecommunications Conference.
Wang, X. F. and Chen, G.: 2003, Complex networks: small-world, scale-free and beyond,
3, 6–20.
Watts, D. J.: 2003, Small Worlds: The Dynamics of Networks Between Order and
Randomness, Princeton University Press.
Watts, D. J. and Strogatz, S. H.: 1998a, Collective dynamics of ’small-world’ networks.,
Nature 393(6684), 440–442.
Watts, D. J. and Strogatz, S. H.: 1998b, Collective dynamics of small-world networks,
Nature, Vol. 393(6684), pp. 440–442.
Wiegand, R. P.: 2004, An Analysis of Cooperative Coevolutionary Algorithms, PhD
thesis, George Mason University, Fairfax, Virginia.
Xue, F., Sanderson, A. and Graves, R.: 2006, Multi-objective routing in wireless sen-
sor networks with a differential evolution algorithm, Proceedings of the 2006 IEEE
International Conference on Networking, Sensing and Control, 2006., ICCT’06, Ft.
Lauderdale, FL, pp. 880–885.