S3M4N4 D4 M4T3MÁT1C4  2010
Algoritmos Geneticos Douglas Peixoto de Carvalho Acadêmico
SUMÁRIO O que é Algoritmo Genético ? Introdução  Noções de Otimização O Algoritmo Genético com Parâmetros Contínuos  Aspectos Práticos Aplicações  111010101001011000001001011000000
A L G O R I T M O  G E N E T I C O ( AG ) é uma  técnica  de procura utilizada na  ciência da computação  para achar  soluções   aproximadas em problemas de  otimização  e  busca , fundamentado principalmente pelo americano John Henry Holland.  Algoritmos genéticos são uma  classe  particular de algoritmos evolutivos que usam técnicas inspiradas pela  biologia   evolutiva  como  hereditariedade ,  mutação ,  seleção natural e recombinação  (ou  crossing over ).
História da Teoria da Evolução
Teoria da Evolução 1859 - Charles Darwin publica o livro “A Origem das Espécies”: Charles Darwin “ As espécies evoluem pelo principio da seleção natural e sobrevivência do mais apto”.
Existe uma diversidade de seres devido aos contingentes da natureza (comida, clima, ...) e é pela lei da  Seleção Natural  que os seres mais adaptados ao seus ambientes sobrevivem Os caracteres adquiridos são herdados pelas gerações seguintes  O pai da genética apresenta experimentos do cruzamento genético de ervilhas.  Formalizou a “herança de características”, com a teoria do DNA (ervilhas)  A Teoria da Evolução começou a partir da conceituação integrada da seleção natural com a Genética. Gregor Mendel Charles Darwin 1859: Charles Darwin 1865: Gregor Mendel
1901: Hugo De Vries Só a seleção natural não é responsável pela produção de novas (mais adaptadas) espécies. Tem de haver uma mudança genética! Formalizou o processo de geração de diversidade:  Teoria da Mutação Teoria da Mutação na prática ?
Computação Evolutiva Toda tarefa de busca e otimização geralmente é composta por três componentes básicos: A codificação do Problema em questão (parte mais difícil do processo) O Espaço de Busca Função de Avaliação
Os Algoritmos Genéticos diferem dos métodos tradicionais de busca e otimização, principalmente em quatro aspectos: Trabalham com uma codificação do conjunto de parâmetros e não com os próprios parâmetros; Trabalham com uma população e não com um único ponto; Utilizam informações de custo ou recompensa e não derivadas ou outro conhecimento auxiliar Utilizam regras de transição probabilísticas e não determinísticas As Principais Características :
1.  Inicializar a população de cromossomos (soluções).  2.  Avaliar cada cromossomo da população. Se o critério de fim foi alcançado, deve-se terminar. Caso contrário 3.  Criar novos cromossomos a partir da população atual, aplicar mutação e recombinação, substituindo os ascendentes pelos descendentes.  4.  Se o critério de fim foi alcançado, deve-se terminar. Caso contrário, retorna-se ao passo 1.  O algoritmo genético básico é o seguinte:
Operadores Genéticos -  Operador de mutação  é necessário para a introdução e manutenção da diversidade genética da população, alterando arbitrariamente um ou mais componentes de uma estrutura escolhida, meios para introdução de novos elementos na população.  -  Operador de cruzamento  é responsável pela recombinação de características dos pais durante a reprodução, permitindo que as próximas gerações herdem essas características. as mais utilizadas são: um-ponto:  um ponto de cruzamento  é escolhido e a partir deste ponto as informações genéticas dos pais serão trocadas. multi-pontos:  é uma generalização desta  idéia de troca de material genético através  de pontos, onde muitos pontos de  cruzamento podem ser utilizados.
Tamanho da População . O tamanho da população afeta o desempenho global e a eficiência dos AGs. Com uma população pequena o desempenho pode cair, pois deste modo a população fornece uma pequena cobertura do espaço de busca do problema. Uma grande população geralmente fornece uma cobertura representativa do domínio do problema, além de prevenir convergências prematuras para soluções locais ao invés de globais.  Taxa de Cruzamento . Quanto maior for esta taxa, mais rapidamente novas estruturas serão introduzidas na população. Mas se esta for muito alta, estruturas com boas aptidões poderão ser retiradas mais rápida um valor alto, a maior parte da população será substituída, mas com valores muito altos pode ocorrer perda de estruturas de alta aptidão.  Taxa de Mutação . Uma baixa taxa de mutação previne que uma dada posição fique estagnada em um valor, além de possibilitar que se chegue em qualquer ponto do espaço de busca. Com uma taxa muito alta a busca se torna essencialmente aleatória. Intervalo de Geração . Controla a porcentagem da população que será substituída durante a próxima geração. Com um valor alto, a maior parte da população será substituída, mas com valores muito altos pode ocorrer perda de estruturas de alta aptidão. Com um valor baixo, o algoritmo pode tornar-se muito lento.  Parâmetros Genéticos
Através dos Algoritmos Genéticos, implementado no aplicativo MS Excel, é possível encontrar a altura máxima que um projétil alcança em um lançamento oblíquo conhecendo apenas sua  velocidade inicial na direção de  (altura)  ou ângulo e  O problema pode ser colocado da seguinte forma: um projétil é arremessado a partir do solo  com velocidade inicial  de  . Considerando a aceleração da gravidade  , qual a altura máxima atingida pelo projétil?  é a altura máxima a ser determinada , é sua velocidade inicial  ( );  é o instante a ser determinado para que a função alcance o seu máximo e  representa a força gravitacional em  . Exemplo: Cálculo da altura máxima atingida por um projétil usando algoritmos genéticos implementado no aplicativo MS Excel
 
 
Legenda: T 0 : tempo inicial; Y 0 : altura inicial; T f : tempo final; Y f : altura final Assim, na vigésima oitava iteração os indivíduos convergiram para uma altura máxima de 3,7734m . Além de se obter a solução para o problema, nos permite a visualização de como a função se comportaria em outros pontos.
Uso dos Algoritmos Genéticos Seguem-se alguns exemplos de sistemas adaptativos:  Controle de Sistemas Dinâmicos; Minimização e Otimização de Funções;  Encontrar Novas Topologias Conexionistas: Engenharia de Sistemas Neurais Artificiais, Modelagem de Estruturas Neurais Biológicas;  Simulação de Modelos Biológicos;  Evolução Interativa de Imagens;  Composição Musical.

Algoritmos Genéticos

  • 1.
  • 2.
    Algoritmos Geneticos DouglasPeixoto de Carvalho Acadêmico
  • 3.
    SUMÁRIO O queé Algoritmo Genético ? Introdução Noções de Otimização O Algoritmo Genético com Parâmetros Contínuos Aspectos Práticos Aplicações 111010101001011000001001011000000
  • 4.
    A L GO R I T M O G E N E T I C O ( AG ) é uma técnica de procura utilizada na ciência da computação para achar soluções aproximadas em problemas de otimização e busca , fundamentado principalmente pelo americano John Henry Holland. Algoritmos genéticos são uma classe particular de algoritmos evolutivos que usam técnicas inspiradas pela biologia evolutiva como hereditariedade , mutação , seleção natural e recombinação (ou crossing over ).
  • 5.
    História da Teoriada Evolução
  • 6.
    Teoria da Evolução1859 - Charles Darwin publica o livro “A Origem das Espécies”: Charles Darwin “ As espécies evoluem pelo principio da seleção natural e sobrevivência do mais apto”.
  • 7.
    Existe uma diversidadede seres devido aos contingentes da natureza (comida, clima, ...) e é pela lei da Seleção Natural que os seres mais adaptados ao seus ambientes sobrevivem Os caracteres adquiridos são herdados pelas gerações seguintes O pai da genética apresenta experimentos do cruzamento genético de ervilhas. Formalizou a “herança de características”, com a teoria do DNA (ervilhas) A Teoria da Evolução começou a partir da conceituação integrada da seleção natural com a Genética. Gregor Mendel Charles Darwin 1859: Charles Darwin 1865: Gregor Mendel
  • 8.
    1901: Hugo DeVries Só a seleção natural não é responsável pela produção de novas (mais adaptadas) espécies. Tem de haver uma mudança genética! Formalizou o processo de geração de diversidade: Teoria da Mutação Teoria da Mutação na prática ?
  • 9.
    Computação Evolutiva Todatarefa de busca e otimização geralmente é composta por três componentes básicos: A codificação do Problema em questão (parte mais difícil do processo) O Espaço de Busca Função de Avaliação
  • 10.
    Os Algoritmos Genéticosdiferem dos métodos tradicionais de busca e otimização, principalmente em quatro aspectos: Trabalham com uma codificação do conjunto de parâmetros e não com os próprios parâmetros; Trabalham com uma população e não com um único ponto; Utilizam informações de custo ou recompensa e não derivadas ou outro conhecimento auxiliar Utilizam regras de transição probabilísticas e não determinísticas As Principais Características :
  • 11.
    1. Inicializara população de cromossomos (soluções). 2. Avaliar cada cromossomo da população. Se o critério de fim foi alcançado, deve-se terminar. Caso contrário 3. Criar novos cromossomos a partir da população atual, aplicar mutação e recombinação, substituindo os ascendentes pelos descendentes. 4. Se o critério de fim foi alcançado, deve-se terminar. Caso contrário, retorna-se ao passo 1. O algoritmo genético básico é o seguinte:
  • 12.
    Operadores Genéticos - Operador de mutação é necessário para a introdução e manutenção da diversidade genética da população, alterando arbitrariamente um ou mais componentes de uma estrutura escolhida, meios para introdução de novos elementos na população. - Operador de cruzamento é responsável pela recombinação de características dos pais durante a reprodução, permitindo que as próximas gerações herdem essas características. as mais utilizadas são: um-ponto: um ponto de cruzamento é escolhido e a partir deste ponto as informações genéticas dos pais serão trocadas. multi-pontos: é uma generalização desta idéia de troca de material genético através de pontos, onde muitos pontos de cruzamento podem ser utilizados.
  • 13.
    Tamanho da População. O tamanho da população afeta o desempenho global e a eficiência dos AGs. Com uma população pequena o desempenho pode cair, pois deste modo a população fornece uma pequena cobertura do espaço de busca do problema. Uma grande população geralmente fornece uma cobertura representativa do domínio do problema, além de prevenir convergências prematuras para soluções locais ao invés de globais. Taxa de Cruzamento . Quanto maior for esta taxa, mais rapidamente novas estruturas serão introduzidas na população. Mas se esta for muito alta, estruturas com boas aptidões poderão ser retiradas mais rápida um valor alto, a maior parte da população será substituída, mas com valores muito altos pode ocorrer perda de estruturas de alta aptidão. Taxa de Mutação . Uma baixa taxa de mutação previne que uma dada posição fique estagnada em um valor, além de possibilitar que se chegue em qualquer ponto do espaço de busca. Com uma taxa muito alta a busca se torna essencialmente aleatória. Intervalo de Geração . Controla a porcentagem da população que será substituída durante a próxima geração. Com um valor alto, a maior parte da população será substituída, mas com valores muito altos pode ocorrer perda de estruturas de alta aptidão. Com um valor baixo, o algoritmo pode tornar-se muito lento. Parâmetros Genéticos
  • 14.
    Através dos AlgoritmosGenéticos, implementado no aplicativo MS Excel, é possível encontrar a altura máxima que um projétil alcança em um lançamento oblíquo conhecendo apenas sua velocidade inicial na direção de (altura) ou ângulo e O problema pode ser colocado da seguinte forma: um projétil é arremessado a partir do solo com velocidade inicial de . Considerando a aceleração da gravidade , qual a altura máxima atingida pelo projétil? é a altura máxima a ser determinada , é sua velocidade inicial ( ); é o instante a ser determinado para que a função alcance o seu máximo e representa a força gravitacional em . Exemplo: Cálculo da altura máxima atingida por um projétil usando algoritmos genéticos implementado no aplicativo MS Excel
  • 15.
  • 16.
  • 17.
    Legenda: T 0: tempo inicial; Y 0 : altura inicial; T f : tempo final; Y f : altura final Assim, na vigésima oitava iteração os indivíduos convergiram para uma altura máxima de 3,7734m . Além de se obter a solução para o problema, nos permite a visualização de como a função se comportaria em outros pontos.
  • 18.
    Uso dos AlgoritmosGenéticos Seguem-se alguns exemplos de sistemas adaptativos: Controle de Sistemas Dinâmicos; Minimização e Otimização de Funções; Encontrar Novas Topologias Conexionistas: Engenharia de Sistemas Neurais Artificiais, Modelagem de Estruturas Neurais Biológicas; Simulação de Modelos Biológicos; Evolução Interativa de Imagens; Composição Musical.