You are on page 1of 18

Faculdade De Cincias Exatas e Tecnolgicas - FACET

Engenharia Eltrica 7 Perodo A


Prof: Mikaella Pricila Alves Dias Disciplina: Inteligncia Computacional
Gustavo Soares Coutinho
Jether Guimares Fernandes
Alessandro Alcntra Reis
Robson Pereira da Silva

COMPUTAO EVOLUTIVA

Montes Claros
2017
Gustavo Soares Coutinho
Jether Guimares Fernandes
Alessandro Alcntra Reis
Robson Pereira da Silva

COMPUTAO EVOLUTIVA

Trabalho para obteno de nota na disciplina


Inteligncia Computacional, ministrada pela
Prof.Esp. Mikaella Pricila Alves Dias

Montes Claros
2017
COMPUTAO EVOLUTIVA

INTRODUO

So vrias as definies encontradas para Inteligncia Artificial (IA), basicamente


a cincia que tenta compreender a inteligncia num todo e simular sistemas com
comportamentos parecidos com a inteligncia humana. Uma de suas reas a
Computao Evolutiva que ser analisada neste captulo.
A CE uma rea de estudo que trabalha com algoritmos guiados pelos princpios da
teoria da evoluo natural de Darwin, com o objetivo de encontrar a soluo
apropriada do problema independente de sua aplicao.
Seguindo a teoria de Darwin, publicada em 1859, que diz que todos os indivduos
so diferentes e devido a essas diferenas uns so mais aptos a determinados
ambientes, por isso possuem maior chance de sobreviver e gerar descendentes, que
herdaro essas caractersticas.
Robert Charles Darwin (Figura 2) foi o cientista ingls que revolucionou a biologia
no fim do sculo XIX, com a obra The Origin of Species (Figura 1), na qual demonstrou
que os organismos tendem a produzir descendentes ligeiramente diferentes dos pais,
e que a seleo natural favorece aqueles que se adaptam melhor ao meio ambiente,
assim, determinados indivduos tm caractersticas que os tornam mais capazes para
sobreviver e reproduzir.
A teoria de Darwin pode ser resumida da seguinte forma:
1) Os filhos tendem a ser em maior nmero que os pais;
2) O nmero de indivduos de uma espcie de uma gerao para outra permanece
constante;
3) Dos itens acima, conclui-se que haver competio pela sobrevivncia;
4) Dentro de uma mesma espcie, os indivduos apresentam pequenas diferenas,
muitas delas presentes nos respectivos pais;
5) O princpio da seleo natural indica que os indivduos cujas variaes se adaptarem
melhor ao ambiente tero mais chances de sobreviver e se reproduzir.
A vantagem mais significativa da CE est na possibilidade de resolver problemas
dando-lhes a soluo mais apropriada e no necessariamente a tima, para isso so
utilizadas principalmente duas vertentes de algoritmos, como mostrado na Figura 1:
Algoritmos Evolutivos e Inteligncia dos Enxames. Os AE so baseados na evoluo por
meio da seleo natural, recombinao de material gentico (cruzamento) e mutaes,
so divididos em Algoritmos Genticos, Programao Evolutiva, Estratgias Evolutivas,
Programao Gentica. Em contrapartida tem-se a IE, que se baseia no
comportamento coletivo de algumas espcies, dentre esses algoritmos esto a
Otimizao por Colnias de Formigas, por Enxames de Partculas, dentre outros.

Figura 1 - Fluxograma da CE

ALGORITMOS GENTICOS

Os Algoritmos Genticos (AG), do ingls Genetic Algorithms, foram propostos por


John Holland e seus alunos nos anos 60, com o objetivo de estudar os fenmenos
naturais de adaptao e desenvolver modelos serem implementados para diversos
problemas de otimizao.
Baseiam-se na seleo natural, na qual os seres mais aptos se destacam e tm maior
probabilidade de sobrevivncia, esta evoluo, assim como na Biologia, se d atravs
dos operadores de Seleo, Mutao e Recombinao (tambm chamada de
crossover). So aplicados em uma grande gama de problemas, sendo utilizados
estratgias inteligentes de pesquisa. O AG tem sido mais utilizado devido sua
simplicidade e aplicaes relacionadas a otimizao e sntese de sistemas.
De acordo com Silva (2011), algoritmos genticos podem ser definidos como
procedimentos de pesquisa baseados na gentica e seleo natural das espcies. Assim
como acontece no meio ambiente, em um AG existe um grupo de solues candidatas,
conhecidas como indivduos, que competem entre si para garantir a prpria
sobrevivncia.
De acordo com OLIVEIRA, Tiago C. Algoritmo Gentico Implementado em FPGA para
Evoluo de Hardware pgina 16:
Um algoritmo gentico para um problema particular deve ter os seguintes
componentes:
Uma representao gentica para solues candidatas ou potenciais
(processo de codificao);
Uma maneira de criar uma populao inicial de solues candidatas ou
potenciais;
Uma funo de avaliao, classificando as solues em termos de sua
adaptao ao ambiente, ou seja, sua capacidade de resolver o problema;
Operadores genticos;
Valores para os diversos parmetros usados pelo algoritmo gentico
(tamanho da populao, probabilidades de aplicao dos operadores
genticos, etc.)

So muito empregados devido a:


Versatilidade, pois a sua funo genrica, podendo ser aplicados a qualquer
tipo de problema, sem a necessidade de mudar o programa principal;
Robustez, apesar de no garantirem a soluo tima, garantem uma melhor
soluo para o problema;
Simplicidade, pois so de fcil programao e compreenso;
Eficincia, pois problemas de nveis complexos podem ser solucionados].

Apesar dos AG terem muitas vantagens em relao aos algoritmos clssicos, sua
maior desvantagem est no tempo de processamento, principalmente no que diz
respeito a questo de avaliao dos indivduos. Muitos investigadores tentam
minimizar essa deficincia estudando algoritmos genticos melhorados, alterando os
operadores genticos e procurando novos mtodos de recombinao.
Como um algoritmo baseado no processo de adaptao natural, a terminologia
utilizada tambm segue a da teoria seleo natural e da gentica. Ento, um indivduo
corresponde a uma cadeia de caracteres (cromossomas), onde cada caractere (gene),
encontra-se numa dada posio (locus) e com seu valor determinado (alelo). Um
sinnimo de indivduo o gentipo e a sua estrutura decodificada o fentipo. A partir
do fentipo, o potencial de sobrevivncia pode ser obtido atravs da avaliao da
funo aptido. Nessa comparao, descreve-se o problema em forma de uma funo
matemtica, em que os indivduos mais aptos obtero valores mais altos de funo,
assim cada indivduo uma possvel soluo. Ento, num grupo de indivduos, verifica-
se a potencialidade de cada um em relao ao grupo, tentando selecionar os mais
aptos para o cruzamento. Depois de efetuado o cruzamento, cada gene de cada
indivduo estar sujeito a uma eventual mutao. Baseiam-se nos processos naturais
de seleo, cruzamento e mutao, conhecidos como operadores genticos.
Para inicializar o algoritmo, escolhe-se uma populao inicial, que normalmente
gerada de forma aleatria. Atravs da funo aptido, avalia-se toda a populao
conforme a qualidade de cada indivduo. Em seguida, atravs da seleo, escolhe-se os
indivduos dados como mais aptos anteriormente para a criao de uma nova gerao
(um novo conjunto de solues possveis). Esses indivduos selecionados sofrem as
duas operaes genticas que misturam suas caractersticas, o cruzamento e a
mutao. Com isso, esses passos so repetidos at que seja encontrada uma soluo
aceitvel ou o algoritmo no possa melhorar uma soluo j encontrada. Na Figura 2
encontra-se um fluxograma da estrutura bsica do AG.
Figura 2 - Fluxograma do AG

A seguir, est apresentado um pseudocdigo que representa um algoritmo gentico


genrico:
Inicializa a populao
Avalia indivduos na populao
Repita
Selecione indivduos para reproduo
Aplique operadores de recombinao e mutao
Avalie indivduos na populao
Selecione indivduos para sobreviver
At critrio de paragem satisfeito
Fim
A seguir apresentada mais detalhadamente a funo aptido (fitness), os
operadores genticos empregados nos AG e os parmetros genticos que so
utilizados para que ocorra a diversificao da populao, atravs de sucessivas
geraes, mantendo as caractersticas genticas da gerao anterior.
A) FUNO APTIDO (fitness): Nos AG os indivduos so avaliados de acordo com a
funo objetivo, que define o problema em estudo, fornecendo uma medida de como
os indivduos se comportam no domnio do problema. Esta funo definida pelo
utilizador para modelar o sistema, importante que seja representada precisamente,
pois atravs dela que se mede a proximidade de um indivduo soluo desejada ou
quo boa esta soluo.
A funo aptido a parte da programao que exige o maior custo computacional,
uma vez que ela avalia todos os indivduos de cada gerao, consumindo enorme
tempo neste processo. Haupt, em 1998, props alguns cuidados especiais para se
diminuir este custo computacional como, por exemplo: no avaliar mais de uma vez o
mesmo indivduo, evitar gerar cromossomas idnticos na populao inicial, verificar se
os pais so idnticos aos filhos, manter a populao com todos os cromossomas
distintos entre si e criar uma memria para os algoritmos genticos, verificando se um
determinado indivduo j no foi gerado anteriormente.

B) SELEO: O objetivo da seleo escolher os melhores indivduos de acordo com


o melhor fitness, para que originem descendentes ainda mais aptos ao problema.
Apesar disso, no so escolhidos apenas os melhores, a fim de evitar a convergncia
no mximo local (valor que parece ser o melhor, mas no efetivamente a melhor
soluo para o problema).
Por isso, utiliza-se mtodos para selecionar os indivduos. Existe diversos deles, os mais
utilizados so o Mtodo da Roleta e o Mtodo por Torneio.
Mtodo da Roleta, do ingls Roulette Wheel, foi proposto primeiramente por
Holland, a cada indivduo atribudo uma probabilidade de ser selecionado,
proporcional ao valor de aptido do indivduo com o total da aptido acumulada, assim
os indivduos com maiores aptides possuem maiores chances de serem sorteados.
Neste mtodo os indivduos j sorteados, voltam a aparecer na lista dos possveis
indivduos a serem sorteados. A roleta girada de acordo com o tamanho da
populao. Como mostra a Figura 3.
Figura 3 - Mtodo da Roleta
Mtodo de seleo proporcional aptido pode originar alguns problemas, como,
por exemplo, ocasionar o surgimento de um grande nmero de cpias de um bom
cromossoma, cuja aptido seja elevada, diminuindo, consequentemente, a
variabilidade da populao, ocasionando problemas de convergncia prematura. Este
modelo tambm fortemente dependente da escala da funo aptido, ou seja,
quando maior a escala, menor ser a diferena entre a probabilidade de escolha entre
os melhores indivduos e os piores indivduos.
Mtodo de seleo por Torneio, consiste na escolha aleatria de um nmero fixo N
de indivduos da populao atual. Dentre esses indivduos, apenas o que possui a maior
aptido copiado para a populao seguinte. Repete-se este processo at completar
a nova populao. A seleo pode ser com ou sem reposio dos indivduos j
sorteados. Sua complexidade varia proporcionalmente ao tamanho da populao, pois
independente de uma ordenao prvia dos elementos e do clculo das
probabilidades de seleo.
comum que ocorra a cpia do melhor indivduo da populao atual para a nova,
este processo chama-se elitismo, e tem como objetivo que esse indivduo difunda suas
caractersticas para os demais da populao, privilegiando a melhor soluo possvel.
Nesse indivduo selecionado pelo elitismo procura-se no aplicar os operadores
genticos de mutao e cruzamento para no adulterar a soluo representada por
aquele indivduo.
C) CRUZAMENTO: O operador de cruzamento (crossover), permite fazer a troca de
material gentico entre dois ou mais indivduos, permitindo propagar as caractersticas
dos progenitores considerados mais aptos, criando novos indivduos. A Figura 4
apresenta um exemplo do crossover com representao binria, onde o corte pode ser
feito em qualquer ponto do cromossoma.

Figura 4 Crossover

D) MUTAO: O operador de mutao permite a diversificao gentica na


populao, pois varia a informao de um indivduo sozinho por vez. Na representao
binria, troca-se o bit 0 por 1 ou 1 por 0, representando um indivduo completamente
diferente, como ilustra a Figura 5.

Figura 5 Mutao
E) PARMETROS GENTICOS: so trs os parmetros genticos que afetam
diretamente no desempenho do AG, a taxa de cruzamento (tc), taxa de mutao (tm) e
o tamanho da populao. Escolhas inadequadas desses parmetros podem aumentar
o tempo de convergncia, convergir prematuramente, estagnao da pesquisa, maior
necessidade de recursos computacionais ou no convergir para uma soluo vivel.
A taxa de cruzamento determina a probabilidade de um cruzamento ocorrer.
Quanto maior for essa taxa, mais rapidamente novas estruturas sero introduzidas na
populao. Mas se essa for muito alta, a maior parte da populao ser substituda,
podendo ocorrer perda de estruturas de alta aptido. Com um valor baixo, o algoritmo
pode tornar-se muito lento.
A taxa de mutao determina a probabilidade de uma mutao ocorrer. Uma baixa
taxa previne que uma dada soluo fique estagnada em um valor, causando uma
convergncia prematura. Com uma taxa muito alta, a pesquisa se torna essencialmente
aleatria.
O tamanho da populao determina o nmero de cromossomas na populao,
afetando o desempenho global e a eficincia dos AG. Em uma populao pequena, o
desempenho pode cair, pois a populao fornece uma pequena cobertura do espao
de pesquisa do problema. Uma grande populao geralmente fornece uma cobertura
representativa do domnio do problema, alm de prevenir convergncias prematuras
para solues locais ao invs de globais. Entretanto, para se trabalhar com grandes
populaes, so necessrios maiores recursos computacionais ou um perodo maior
de trabalho do algoritmo.
A Figura 6 mostra um resumo das caractersticas dos AG:
Figura 6 - Caractersticas do Algoritmos Genticos

PROGRAMAO GENTICA

A Programao Gentica (PG) foi estudada em 1992 por John Koza, introduzida para
solucionar problemas de aprendizado de mquina, buscando a construo automtica
de programas de computadores.
Tem uma abordagem semelhante aos Algoritmos Genticos, considerada por
muitos uma extenso destes devido semelhana das duas abordagens, a principal
diferena entre ambas que nos AG a representao das solues abstrata e
altamente estruturada, enquanto a PG apresenta como solues programas de
computador em uma linguagem de programao especfica.
PG e AGs representam um campo novo de pesquisa dentro da Cincia da
Computao. Neste campo muitos problemas continuam em aberto na tentativa de
serem encontradas novas solues e ferramentas. Apesar disso, este paradigma tem-
se mostrado bastante poderoso e muitos trabalhos exploram o uso de AGs e PG para
solucionar problemas em diferentes reas do conhecimento, desde tratamento de
dados e biologia molecular, at ao projeto de circuitos eltricos e algoritmos de
controlo.
INTELIGNCIA DOS EXAMES

O termo Inteligncia dos Enxames (IE), do ingls Swarm Intelligence, diz respeito a
algoritmos de otimizao baseados no comportamento coletivo de determinadas
espcies naturais para solucionar problemas corriqueiros, em sistemas
descentralizados e auto organizados, como apresenta a Figura 7. Alguns exemplos
dessa organizao dos grupos a Otimizao por Colnias de Formigas e por Enxame
de Partculas que engloba o comportamento dos animais, como, cardume de peixes,
manada de animais e bando de pssaros.

Figura 7- Enxame de formigas colaborando para criar uma ponte viva.

Pesquisadores tm muitas razes para achar o estudo de inteligncia de enxames


atrativo, pois oferece um caminho alternativo para o desenvolvimento de sistemas
inteligentes por possuir autonomia, emergncia e controle distribudo. De acordo com
NODA, Filipe M. Controlador Fuzzy Otimizado Com Algoritmo De Colnia De Abelhas
Artificiais pgina 38:
As propriedades principais de um sistema de inteligncia de enxame so:
Proximidade: os agentes devem ser capazes de interagir;
Qualidade: os agentes devem ser capazes de avaliar seus
comportamentos;
Diversidade: permite ao sistema reagir a situaes inesperadas;
Estabilidade: nem todas as variaes ambientais devem afetar o
comportamento de um agente;
Adaptabilidade: capacidade de adequao a variaes ambientais.
OTIMIZAO POR COLNIAS DE FORMIGAS

A Otimizao por Colnias de Formigas (ACO), do ingls Ant Colony Optimization, foi
inventada por Marco Dorigo em 1992. um algoritmo baseado no comportamento
coletivo das formigas ao sarem de suas colnias para encontrar comida atravs do
cominho mais curto, como ilustra a Figura 8. Normalmente, a formiga anda de forma
aleatria at encontrar o alimento, para ento retornarem a colnia deixando o rastro
de uma substncia qumica natural delas que permite o reconhecimento entre elas, o
feromnio. Assim, quando outras formigas encontrarem esse rastro, tendem a
percorrer por ele e no mais aleatoriamente at o alimento, retornando at a colnia
e enfatizando o rastro. Portanto, o caminho com maior concentrao de feromnio,
o melhor caminho a ser seguido.
Segundo Pay-Zaforteza (2007), a analogia do comportamento das formigas com a
otimizao se realiza do seguinte modo:
A procura de alimento equivalente explorao das solues factveis em
um problema de otimizao combinatria;
A quantidade de alimento similar ao valor da funo objetivo;
O rastro de feromnio a memria adaptativa do mtodo.

Figura 8- Comportamento das formigas


CASO DE ESTUDO
Inicialmente, foram realizados estudos para a sntese de circuitos a partir de uma
representao por mapas de fusveis. Procurando no somente a sntese, mas tambm
a otimizao de circuitos mais complexos se optou por usar portas lgicas com uma
codificao binria. Com o objetivo de melhorar o desempenho do AG, usou-se
tambm uma representao por portas lgicas com codificao por nmeros inteiros.
Na representao de portas lgicas com codificao binria tambm foi utilizada a
representao de portas lgicas na forma matricial.
Conforme a Figura 9, em (a) representado uma tabela com a codificao utilizada
e a equivalncia das portas. Na coluna 1 da tabela, mostra-se o nmero decimal
associado. Na coluna 2, os trs primeiros bits da esquerda para a direita definem a
porta, e o quarto bit determina como sero realizadas as conexes da porta (restringe-
se o modelo a portas de duas entradas). Na coluna 3 esto associados os tipos de portas
que esto sendo utilizadas. Nesta representao os estudos foram restritos a uma
matriz bidimensional e cada elemento da matriz uma porta lgica limitada a duas
entradas (NOT, AND, OR e XOR) ou fio de ligao (FIO). Em (b) representado
matricialmente o circuito, de forma que uma porta receba nas suas entradas qualquer
porta da coluna anterior. Por exemplo, se uma porta S est na posio Si, j , onde j indica
o nvel da porta (coluna) e i indica a posio na linha, ento, uma entrada proveniente
da posio Si, j1 (mesma linha e coluna anterior) e a outra entrada ou vem de Si+1, j 1
(coluna anterior e uma linha abaixo) ou de Si1, j1 (coluna anterior e uma linha acima).

Figura 9 (a) Codificao das Portas Lgicas (b) Representao matricial do circuito
Aps definida a estrutura do cromossoma, a populao inicial foi gerada
aleatoriamente, e com base na funo adaptao aplicou-se a seleo. Os trs
operadores genticos foram implementados:
SELEO: pelo mtodo do torneio, selecionando aleatoriamente trs
indivduos, e o melhor deles foi escolhido.
CRUZAMENTO: recombinao de um simples ponto em um par de indivduos,
gerando novos descendentes.
MUTAO: aplicada a do tipo indutiva. A estratgia de mutao implementada
avalia todos os genes no cromossoma com a taxa de mutao tm, mas para
reduzir o esforo computacional deste processo, calculou-se a quantidade de
genes a serem alterados pela mutao utilizando a equao 4.7, onde muta
a quantidade de genes que sero alterados na populao, variando tm entre
1% e 5%, Tc indica a quantidade de genes do cromossoma i e foi calculado de
acordo com a equao 4.8, N o nmero de indivduos da populao, ne o
nmero de entradas e ns quantidade de sadas. Aps definida a quantidade de
genes, escolheu-se de forma aleatria quais sofreriam a mutao.

Tambm foi implementado o elitismo, separando, com base no fitness, o melhor


indivduo para a gerao seguinte.
A funo de avaliao foi realizada em duas etapas. A primeira visa a obteno de
um circuito lgico correto atravs do clculo da soma de acertos da sequncia de sada
de uma tabela verdade (ou expresso booleana), de acordo com a equao 4.9, onde
a funo f(x) indica o nmero de acertos na tabela verdade (xi=0, falso; xi=1,
verdadeiro) e n o nmero de linhas da tabela verdade.
Aps obtido o circuito correto, buscou-se na segunda etapa a minimizao de portas
lgicas. Para isso trocou-se as portas lgicas por fios enquanto o desempenho
especificado pela tabela verdade do circuito no fosse alterado. Conforme a equao
4.10 que reescreve a funo adaptao, na qual aumentando o nmero de fios obtm-
se a funo w(x), que um valor inteiro equivalente quantidade de fios adicionados.

CONCLUSES
Neste trabalho foram apresentados os algoritmos baseados nos princpios da teoria
da evoluo natural das espcies de Charles Darwin, a chamada Computao Evolutiva,
observando-se a sua grande aplicabilidade em problemas de naturezas e
complexidades diferentes, tornando-a uma ferramenta de pesquisa e otimizao
promissora.
Com base no estudo efetuado, verificou-se que no necessrio ter conhecimento
especfico do circuito a ser sintetizado, sendo apenas necessria a tabela verdade de
funcionamento dos circuitos a serem implementados. No entanto, observou-se a
grande importncia do ajuste adequado dos parmetros e operadores genticos, pois
a convergncia do algoritmo depende deles.
Referncias Documentais

LINDEN, Ricardo. Algoritmos genticos: uma importante ferramenta da inteligncia


computacional. 2 ed. Rio de Janeiro: Editora BRASPORT Livros e Multimdia Ltda. 2008.

PILA, Adriano Computao Evolutiva para a construo de conhecimento com propriedades


especficas. Tese apresentada para obteno do ttulo de Doutor em Cincias de Computao
e Matemtica Computacional pela Universidade de So Paulo - USP, em Maio de 2007.

MENDES, Iba. A origem das espcies - Charles Darwin. So Paulo: Poeteiro Editor Digital.
2014.

CORREIA, Davi. Algoritmos Genticos e Elementos Finitos na Sntese de Dispositivos Fotnicos.


Dissertao apresentada para a obteno do ttulo de Mestre em Engenharia Eltrica e
Computao Faculdade de Engenharia Eltrica e de Computao da Universidade de
Campinas - UNICAMP, em Maro de 2002.

TORRES, Lcia B. Caminhos de Darwin pela Natureza Tropical Brasileira. Em:


<http://www.portaldosfarmacos.ccs.ufrj.br/atualidades_charles_darwin.html>. Acesso em:
Abril de 2015.

LOPES, Anabela Maria Azevedo Oliveira. Algoritmos Genticos: Aplicao Na Sntese De


Alguns Algoritmos De Controlo. Tese/dissertao apresentada para o ttulo de mestre em
Engenharia Electrotcnica e de Computadores na rea de Especializao de Automao e
Sistemas ao Instituto Superior de Engenharia do Porto - ISEP, em Julho 2009.

CORREIA, Marisol. Algoritmos Genticos. Em:


<http://www.dosalgarves.com/revistas/N12/5rev12.pdf>. Acesso em: Abril de 2015.

SOBRINHO, Edilton Furquim Goulart. Uma Ferramenta Alternativa para Sntese de Circuitos
Lgicos Usando a Tcnica de Circuito Evolutivo, p.12. Dissertao apresentada para obteno
do ttulo de Mestre em Engenharia Eltrica, Faculdade de Engenharia da Universidade de
Estadual de So Paulo - UNESP Campus de Ilha Solteira, em Junho de 2007.

SILVA, Michelli M. da. Otimizao de Estruturas Reticuladas Incluindo No-Linearidade


Geomtrica. Dissertao apresentada para obteno do ttulo de Mestre ao programa de
Ps-Graduao em Modelagem Computacional da Universidade Federal de Juiz de Fora, em
2011.

OLIVEIRA, Tiago C. Algoritmo Gentico Implementado em FPGA para Evoluo de Hardware.


Monografia apresentada como requisito parcial concluso do curso de Engenharia da
Computao do Centro Universitrio Positivo, Dezembro de 2007.

You might also like