Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

Resolvendo Problemas com Algoritmos Genéticos

Collapse
X
 
  • Filter
  • Tempo
  • Show
Clear All
new posts

  • Font Size
    #1

    Dica Resolvendo Problemas com Algoritmos Genéticos

    Resolvendo Problemas com Algoritmos Genéticos

    Algoritmos genéticos são úteis para resolver problemas com soluções representável como cordas (daí o nome de algoritmo genético - modelo de programação é baseada em DNA). Em termos de valor prático, algoritmos genéticos são úteis para resolver problemas em que as soluções são difíceis de encontrar, seguindo um algoritmo específico projetado para resolver o problema (usando algoritmos genéticos no lugar de algoritmos pré-concebidos, tais como algoritmo Djikstra para caminho de encontrar apenas wouldn ' t faz sentido). Ele funciona como uma espécie de abordagem sistematizada força bruta. Problemas de algoritmos genéticos são valiosas para a solução de problemas incluem programação, problemas de satisfação de restrição, e outros problemas que exigem pesquisa um grande número de possibilidades. Algoritmos genéticos podem ser aplicadas para o dobramento de proteínas ou mesmo ajuste de desempenho do kernel Linux .

    Um exemplo mais simples apenas para obter o ponto de vista é encontrar um número de cinco dígitos que funciona como a melhor solução para uma expressão, por exemplo, se você quiser encontrar o número que faz com que a expressão x ^ 2 +2 x-11 igual a 0, você poderia, naturalmente, força bruta usada para resolver a equação, mas um algoritmo genético também pode ser usado, e se você tem uma expressão muito complexa, pode ser de grande valor para usar um algoritmo genético, especialmente quando se considera o tempo economizado mais de força bruta. Em certo sentido, todos os problemas resumem-se algoritmo genético para resolver expressões complexas ou conjuntos de expressões, como todos os problemas são representáveis ​​em que a moda.

    Algoritmos genéticos trabalho a partir da mesma base que a teoria da evolução. Um algoritmo genético tem várias componentes: um conjunto de soluções, um método de avaliação da eficácia de cada solução, uma função de criação que combina as melhores soluções em novas soluções, e uma função de mutação. O conjunto de soluções não competem por recursos, mas sim, cada solução é testada por uma função de avaliação (chamado de "fitness" função), que então lhe dá um ranking com base na sua eficácia em resolver o problema em comparação com as outras soluções.

    As cordas melhor solução são os que são classificados mais alto (que são mais "fit"); a função de reprodução leva duas das soluções de melhor desempenho e combina-los juntos em uma nova solução. A função de criação deve repetir o processo de seleção aleatória de duas soluções e reproduzi-los; as funções com melhor desempenho deve ser dada a chance maior porcentagem de ser selecionado.

    A função de reprodução geralmente funciona tomando fatias de cada solução e juntando-as em um novo. Soluções muitas vezes são representados como strings, de modo geral, uma função de reprodução terá fragmentos de comprimentos aleatórios de cada corda e concatená-las para formar uma nova seqüência. Cada fragmento deve ser colocado no local na nova seqüência que corresponde à sua localização na cadeia de idade. Por exemplo, se um fragmento de string é a partir de posições 5-8 na primeira corda sendo criados, ele deve ser colocado em posições de 5 a 8 na solução nova criança.

    Após as cordas foram criados, eo conjunto de possíveis soluções tem sido recarregados, é importante ter a função de mutação. A função de mutação é importante porque introduz um elemento de aleatoriedade que permite a variação nos conjuntos de solução, que de outra forma seria estagnar e não têm vantagem sobre uma solução artesanal. Mutações podem diminuir a força de algumas soluções, mas em geral vai aumentar o valor global do conjunto de soluções;, incluindo uma taxa de mutação muito pequena, você introduz novas características que nunca poderia ter existido outra dentro da piscina. Isso permite que você explore um grupo maior de possibilidades e evitar a estagnação. Na verdade, muitas outras técnicas AI abandonar a idéia de soluções de criação e de trabalho, simplesmente fazendo pequenas "mutações" ou muda para uma possível solução para um problema.

    Algoritmos genéticos pode fazer coisas incríveis e resolver problemas muito complexos. No entanto, esta técnica vai exigir ter forma de avaliar as soluções possíveis - este é um dos problemas mais difíceis com algoritmos genéticos. O segundo desafio é encontrar uma boa maneira de representar soluções para o problema como strings. Uma vez que estes são classificados, um algoritmo genético pode ser uma boa abordagem para o problema.

    Resolvi postar isso porque a um tempinho atrás eu estava com uns probleminhas com AG.

    Espero que tenham gostado.


    WCG147
    sigpic

  • Font Size
    #2
    Putz, post super hiper imenso mais pelo que minha paciência deixou ler, tá bem explicado!
    Centro de Treinamento Leões de Judá - Helenilson Team - Equipe Gracie Barra - Filiado a Federação Alagoana de Jiu-Jitsu Tradicional/Brasileiro .

    Os Fracos Não Tentam, Os Covardes Desistem, Os Fortes Conquistam.


    Mais vale a lágrima de um DERROTA, do que a DECEPÇÃO de não ter competido

    Comment


    • Font Size
      #3
      Realmente é grande! ahuahuahau
      sigpic



      Comment


      • Font Size
        #4
        Gostei,entendi melhor agora do que quando me disse isso no msn,de fato é muito útil,em programas de .....;
        Mas é meio complicadinho isso ai.
        Valeu.

        Comment


        • Font Size
          #5
          Bagui kabuloso... entendi 50% disso tudo ou menos hsuahsua...

          Comment

          X
          Working...
          X