Você está na página 1de 44

Algoritmo Genético e aplicações

Grupo:
Denner
Hebert Viana
Hyghor Cortes
Joao Victor Bernabe
João Vitor Trabach
Thiago Barroso
Algoritmos genéticos
Há bastante tempo, a natureza têm servido de
inspiração ao homem para a criação de máquinas,
métodos e técnicas que melhorem sua vida
cotidiana. Alguns exemplos típicos desta teoria
estão presentes em invenções como: aviões
baseados nas características dos pássaros e
submarinos com sistemas de imersão semelhante
aos dos peixes.
Recentemente novas técnicas têm sido inspiradas
na natureza ou na biologia, como as "Redes
Neuronais", que se baseiam no funcionamento do
cérebro humano para prover aos computadores
uma chamada "Inteligência Artificial".
Algoritmos genéticos
 Dentro deste contexto, surgia em meados do século
XIX um dos mais importantes princípios no campo da
evolução da vida, a teoria da Seleção Natural de
Darwin [Darwin, 1859], que defendia a idéia de que,
na natureza, os seres vivos com melhores
características, ou seja, os mais adaptados, tendem a
sobreviver frente aos demais.
 Baseadas nestes princípios, foram formuladas técnicas
de busca, chamadas de Algoritmos Genéticos (AG),
para utilização em processos de otimização e
resolução de problemas. Estas novas técnicas têm uma
vasta aplicabilidade em problemas de Inteligência
Artificial, como aprendizagem de máquina,
modelagem de usuários e acesso à informação.
Algoritmos genéticos
Um algoritmo genético é estruturado de
forma que as informações referentes a um
determinado sistema possam ser codificadas
de maneira análoga aos cromossomos
biológicos. Desta forma o algoritmo proposto
assimila-se muito ao processo evolutivo
natural.
O algoritmo genético básico envolve seis
passos: codificação das variáveis, criação da
população inicial, avaliação da resposta,
cruzamento, mutação e seleção dos mais
aptos.
Algoritmos genéticos
Algoritmo Básico
Algoritmos genéticos
Na prática, nós podemos implementar facilmente
um algoritmo genético com o simples uso de
strings de bits ou caracteres para representar os
cromossomos e, com simples operações de
manipulação de bits podemos implementar
cruzamento, mutação e outros operadores
genéticos.


Algoritmos genéticos
Operadores Genéticos
Seleção
 A idéia principal do operador de seleção em um algoritmo genético é
oferecer aos melhores indivíduos da população corrente, preferência para o
processo de reprodução, permitindo que estes indivíduos passem as suas
características às próximas gerações. Isto funciona como na natureza, onde
os indivíduos altamente adaptados ao seu ambiente possuem naturalmente
mais oportunidades para reproduzir do que aqueles indivíduos considerados
mais fracos.

Cruzamento
 Cruzamento é a troca de segmentos entre "casais" de cromossomos
selecionados, com a finalidade de originar novos indivíduos que poderão
ser incluídos na próxima geração. A idéia central do cruzamento é a
propagação das características dos indivíduos mais aptos da população. O
operador cruzamento é utilizado após o de seleção. As formas mais comuns
de reprodução em algoritmos genéticos são de um ponto de cruzamento, de
dois pontos de cruzamento e cruzamento uniforme.
Algoritmos genéticos
Operadores Genéticos
Algoritmos genéticos
Operadores Genéticos
Algoritmos genéticos
Operadores Genéticos
Mutação
A mutação é vista como o operador responsável
pela introdução e manutenção da diversidade
genética na população. Ela trabalha alterando
arbitrariamente, logo após o cruzamento, um ou
mais componentes de uma estrutura escolhida
entre a descendência, fornecendo dessa forma
meios para a introdução de novos elementos na
população.


Algoritmos genéticos
Parametros Genéticos
É importante analisar de que maneira alguns
parâmetros influenciam o comportamento
dos algoritmos genéticos para que se possa
estabelecê-los conforme as necessidades do
problema e dos recursos disponíveis. Os
utilizados mais frequentemente são:
Tamanho da População
Taxa de Cruzamento
Tipo de Cruzamento
 Taxa de Mutação
Estudo de Caso: Projeto de
Transformadores
Introdução
◦ Este estudo detalha cada elemento do
projeto levando em consideração a
conformidade com suas propriedades físicas,
com a disponibilidade comercial e com as
técnicas construtivas disponíveis que visam
atender aos requisitos legais (legislação e
normas técnicas) e aos especificados pelos
clientes (aplicação).
Projeto do transformador
monofásico
O transformador monofásico participa de um mercado
competitivo de produção em larga escala, embora o
apelo por inovações tecnológicas seja pequeno. Apesar
de utilizar um modelo clássico para dimensionamento,
não existem, para este problema, referências a
ferramentas de otimização que envolvam a viabilidade
física e econômica simultaneamente.
Projeto do transformador
monofásico
Funcionamento:

Um enrolamento de um condutor
formado por n1 espiras induz, quando
submetido a uma tensão elétrica alternada
V1, um campo de origem eletromagnético.
Se este mesmo campo é compartilhado
por um segundo enrolamento formado
por n2 espiras, é induzido neste último
uma tensão V2.
Projeto do transformador
monofásico
Esta relação é formalizada pela equação geral das
máquinas elétricas (Kosow, 1997), onde:

- n1,2 é o número de espiras do enrolamento;


- V1,2 é a tensão eficaz aplicada na espira em Volts;
- Sm é seção magnética, ou área da seção do enrolamento
realmente percorrida pelo fluxo magnético, em cm2;
- β é a densidade de fluxo na seção magnética em Gauss;
- Sm. β é o fluxo magnético em Maxwell;
- f é a frequência da tensão em corrente alternada em
Hertz.
Vantagens do AG como método de
otimização
 trabalham tanto com variáveis contínuas como discretas ou
uma combinação delas;
 realizam busca simultânea em várias regiões do espaço de
busca;
 utilizam informações de custos ou recompensas e não suas
derivadas;
 não exigem por parte do usuário um conhecimento
matemático aprofundado;
 podem trabalhar com um grande número de variáveis;
 adaptam-se bem ao processamento paralelo;
 trabalham com variáveis codificadas;
 fornecem uma lista de boas soluções (mínimos ou
máximos locais);
 trabalham com dados gerados experimentalmente e são
tolerantes a ruídos e dados incompletos;
Implementação do algoritmo
Implementação do algoritmo
Onde:
 possibilidade de execução (Posex);
 temperatura do núcleo (classe de isolação);
 potência do transformador (Pot);
 rendimento ( %).
 O custo é simplificado ao material destinado à construção do núcleo (ferro-silício) e aos
enrolamentos do primário e secundário (cobre). Desta forma:

$trafo = Pfe.$fe + Pcu.$cu


Onde:
 $trafo é o custo transformador a ser otimizado, em valor monetário ($);
 Pfe é o peso total do núcleo do transformador em Kg;
 $fe é o custo do ferro-silício ($/Kg), dependendo se tipo do ferro (GO ou GNO);
 Pcu é o peso total do enrolamento primário e secundário;
 $cu é o custo do cobre ($/Kg) dependente da classe de temperatura.
Resultados obtidos
Para sintonia dos parâmetros do Algoritmo Genético e
comparação de resultados das técnicas experimentadas, é
definido um conjunto de especificações (dados de
entrada) de
transformadores comumente empregados. Estas
especificações são listadas abaixo:
Comparação do AG com o método
convencional
Conclusão
Os resultados obtidos pelo AG, com custos
sensivelmente menores que os gerados pelo método
convencional, indicam, em todas as avaliações, um
valor da dimensão B superior a A.
Esta relação buscou minimizar o volume do núcleo,
conseqüentemente diminui seu peso e seu custo. Como
a procura do valor mínimo de custo se faz de forma
global, o mecanismo de busca encontrou a situação
de equilíbrio que favorece a relação de A e B ótimas
para cada caso.
Estudo de Caso: AMALTHAEA
Aumento da rede mundial de computadores
= Aumento da quantidade de informação
disponível on-line
Fontes heterogêneas e não estruturada
Agentes devem capturar os interesses e
hábitos dos usuários, usando técnicas de
aprendizagem de máquina, adaptando-se aos
novos interesses bem como explorar novos
domínios que podem ser de interesse do
usuário.
Estudo de Caso: AMALTHAEA
O que é: ambiente multiagente para
filtragem personalizada, recuperação e
monitoramento de fontes de informação,
voltado para a rede mundial de
computadores, a Internet.
Objetivo: ajudar os usuários a encontrar
informações relevantes dentre a
diversidade de informações disponíveis na
grande rede.
Estudo de Caso: AMALTHAEA
3 dominios paralelos:
◦ World Wide Web (WWW) e descoberta de
dados. Agentes múltiplos utilizam
mecanismos de buscas, executando uma
“meta-busca'” para descobrir informação de
interesse do usuário. Sistema analisa
documentos recuperados e usa técnica baseada
no modelo do espaço vetorial para selecionar
aqueles mais próximos das preferências do
usuário.
Estudo de Caso: AMALTHAEA
3 dominios paralelos:
◦ Fluxo contínuo de informação e filtragem de
informação. Agentes analisam documentos e
selecionam somente os mais apropriados. O
AMALTHAEA filtra os documentos que
chegam continuamente, como, por exemplo,
as notícias de uma determinada agência.
Estudo de Caso: AMALTHAEA
3 dominios paralelos:
Monitoramento de mudanças freqüentes em
fontes de informações. Às vezes o usuário quer
monitorar certas URLs que são atualizadas com
certa freqüência. Por exemplo, saber, dentro da
Fórmula 1, resultados das corridas que são
atualizados a cada dois domingos, ou localizar
novos artigos em um diário on-line, ou novos CDs
de um artista. Tais URLs são monitoradas em
intervalos regulares para mudanças. Se tais
mudanças ocorrerem é necessário que o usuário
seja notificado.
Estudo de Caso: AMALTHAEA
Implementação
 Baseada na criação de um ecossistema artificial de
agentes evolutivos que cooperam e competem em
um ambiente de recursos limitados.
 Agentes IF (Information Filtering) - personalização
do sistema e por manter o perfil do usuário
 Agentes ID (Information Discovery) - manuseio
das fontes de informação, localizando e buscando a
informação atual que o usuário está interessado
 Quando treinados, os agentes ID tornam-se
melhores, sendo capazes de especificar quais sites
de busca são os mais apropriados para
determinado assunto.
Estudo de Caso: AMALTHAEA
Implementação
A evolução é feita através da busca constante pela melhor
solução possível existente.
 As soluções devem se adaptar a novas situações rapidamente
(por exemplo um novo interesse de usuário).
 Ao mesmo tempo, o sistema continua explorando o espaço de
busca para encontrar novas soluções, usando operadores
genéticos como mutação e cruzamento para atualizar e
especializar a população de agentes.
 Considerar cada agente IF como filtro muito especializado
que só é aplicado em um setor estreito do domínio. Ao
mudar interesses do usuario, os filtros associados aos antigos
interesses são destruídos e outros novos são criados,
apontando para os novos interesses através de evolução e
seleção natural.
Estudo de Caso: AMALTHAEA
Implementação
Avaliação do desempenho baseada num
ecossistema (modelo economico)
Agentes úteis ganham créditos positivos
Agentes de baixa performance ganham
créditos negativos.
Agentes com melhores avaliações tendem
ficar no sistema enquanto os piores serão
destruídos (Seleção Natural).
Estudo de Caso: AMALTHAEA
Arquitetura
Cada usuário possui seus próprios agentes
IF e ID e gera um ecossistema fechado
Estudo de Caso: AMALTHAEA
Representação Interna
Representação de vetor ponderado
O texto do HTML processado é
decomposto em palavras-chaves, que são
ponderadas e utilizadas para compor o
vetor de palavras-chaves.
Agente IF faz analise similaridade e
seleçao de documentos
Analisador gramatical remove as tags,
identifica o título do documento e os links
contidos na página HTML
Estudo de Caso: AMALTHAEA
Representação Interna
 Exemplo:
 Texto Original: Agents are running objects with an
attitude.
 Palavras como “the”, “it”, “he”, “will”, comuns na
língua inglesa, são removidas do texto. Após remoção
sentença torna-se:
Agents running objects attitude.
 Palavras restantes são derivadas, seus sufixos são
removidos, deixando somente as raízes da palavra.
Agent run object attitud
 Forma-se matriz com palavras-chaves e frequencias e
da-se peso de acordo com a localização da mesma
(titulo, URL, corpo do documento, etc.)
Estudo de Caso: AMALTHAEA
Codificação e Operadores
 Evolução dos agentes é controlada por dois elementos: a
aptidão individual e a aptidão global do sistema.
 Somente alguns elementos (os mais aptos) da população
inteira têm permissão de se proliferar. Qualificação de um
agente é baseada somente em sua aptidão
 O número dos agentes aos que será dada permissão de
produzir descendentes está linearmente relacionado ao
número de agentes que serão excluídos devido à baixa
performance (baixa aptidão).
 Se a aptidão global está diminuindo então a taxa de
cruzamento é aumentada em busca de uma adaptação mais
rápida aos interesses de novos usuários. Se a aptidão global
está aumentando, a taxa de cruzamento é mantida em um
patamar baixo para permitir que o sistema lentamente explore
o espaço de busca de melhores soluções
Estudo de Caso: AMALTHAEA
Codificação e Operadores
Novos agentes são criados através de cópia
(ou clonagem), cruzamento ou mutação.
O operador de cópia toma os melhores
agentes e cria mais agentes como eles.
Através do operador cruzamento, dois
agentes, os pais, retornam dois novos
agentes, os filhos, que herdam uma parte do
vetor de palavras-chaves dos pais. Este
operador aleatoriamente seleciona dois
pontos no vetor de palavra-chave e troca
todos campos dos dois pais entre esses
pontos, criando dois novos agentes.
Estudo de Caso: AMALTHAEA
Codificação e Operadores
Estudo de Caso: AMALTHAEA
Codificação e Operadores
A mutação é outro operador que pode ser usado tanto sozinho
quanto dentro dos operadores de cruzamento e cópia. O
operador de mutação toma o genótipo de um agente como
argumento e cria um novo agente que é uma versão
modificada aleatoriamente de seu pai. Os pesos das palavras-
chaves são modificados aleatoriamente enquanto a nova
palavra-chave “mutada” é aleatoriamente selecionada de um
agente que pertence a outro cluster ou a uma recuperação
recente.


Conclusão
 Devido às suas características de robustez, flexibilidade e relativa
facilidade de implementação, os Algoritmos Genéticos irão ganhar
uma maior atenção com o decorrer do tempo, principalmente, pela
rápida evolução dos computadores que tornarão as aplicações da
técnica cada vez mais viáveis e engenhosas.
 Embora este trabalho tenha dado atenção a aplicação dos
algoritmos genéticos no acesso a informação personalizada,
inúmeras outras aplicações da técnica são possíveis e já foram
empregadas, onde podemos citar como exemplo na construção
automática de programas para a realização de tarefas específicas e
na criação de imagens, texturas, músicas e estruturas complexas.
 A realização deste trabalho permitiu traçar o panorama existente em
relação a quantidade de informação com que lidamos diariamente e
a dificuldade que encontramos para nos atualizar diante da
constante evolução. A criação de ferramentas para ajudar no
tratamento e recuperação de informações, assim como técnicas que
possam modelar interesses dos usuários de forma proativa tem se
tornado objeto de pesquisa
Algoritmo Genético para
Construção de Ensemble
de Redes Neurais

Aplicação: Língua Eletrônica


Língua Eletrônica

 Acredita-se ser mais sensivel que a língua humana, possuem


sensores nanometricos capazes de detectar com precisão e
rapidez, através de algoritmos inteligentes, padrões do paladar
em concentrações tão baixas que humanos não detectariam.
Aprendizado de Máquina (AM)
 Área da IA que busca o desenvolvimento de
algoritmo capaz de adquirir conhecimento de
forma automática.

 Consiste na busca de um conjuto de dados


singulares que estabelece uma verdade geral.
Redes Neurais Artificiais (RNA)
 Em redes neurais, as medidas dos
sensores são as entradas da rede, ou
seja, o número de sensores define a
dimensão do padrão de entrada da rede.

A língua eletrônica é constituída por


uma matriz de sensores usados para
classificar padrões como tipo de vinho,
tipo de café e outros. A natureza de
medida pode ser, por exemplo, a classe
do café A e a classe do café B.
Algoritmo Genético (AG)

X1 X2
Variáveis de Projeto
Cromossomo ( 1, 1, 1, 0, 1, 0, 0, 1, 0, ...)
X1
X2
.
Genes Codificação .
.

 Procuram reproduzir no computador o processo de selecção


natural das espécies e utilizam a terminologia da Genética
Aplicação da IA
A identificação de atributos
relevantes(FSS – Feature Subset
Selection);

 Combinação dos classificadores


(ensemble). A busca pela melhor
combinação de ensembles (Ensemble
Feature Selection);

 Emprego de um algoritmo genético para


juntar os processos de EFS e de FSS,
originando novo algoritmo (GEFS –
Genetic Ensemble Feature Selection).
Conclusão
 Os resultados comprovam a eficácia do uso do
algoritmo genético para construção de ensembles de
RNAs no dominio da LE.
 As comparações entre o treinamento simples de MLPs e
o mesmo algoritmo visando o melhor individuo atesta a
sua superioridade.
 Obteve-se uma acurácia de 90% obtida para apenas um
sensor e um subconjunto de frequencias. Isso revela a
possibilidade de uma construção mais simples da LE
com quantidade de sensores e frequencias reduzidas.

Você também pode gostar