Atualmente, estou lendo e assistindo sobre algoritmo genético e acho muito interessante (não tive a chance de estudá-lo enquanto estava na universidade).
Entendo que as mutações se baseiam na probabilidade (a aleatoriedade é a raiz da evolução), mas não entendo por que a sobrevivência é.
Pelo que eu entendo, um indivíduo ter uma aptidão como por um outro indivíduo tendo uma aptidão temos , então tem uma probabilidade melhor do que para sobreviver para a próxima geração.F ( i ) J F ( j ) F ( i ) > F ( j ) I J
Probabilidade implica que pode sobreviver e pode não (com "má sorte"). Eu não entendo por que isso é bom? Se teria sempre sobreviver a seleção, o que iria dar errado no algoritmo? Meu palpite é que o algoritmo seria semelhante a um algoritmo ganancioso, mas não tenho certeza.I I
Respostas:
A idéia principal é que, ao permitir que indivíduos abaixo do ideal sobrevivam, é possível alternar de um "pico" no cenário evolutivo para outro através de uma sequência de pequenas mutações incrementais. Por outro lado, se você apenas pode subir, é necessária uma mutação gigantesca e altamente improvável para mudar de pico.
Aqui está um diagrama mostrando a diferença:
Na prática, essa propriedade de globalização é o principal ponto de venda dos algoritmos evolutivos - se você deseja apenas encontrar um máximo local, existem técnicas especializadas mais eficientes. (por exemplo, L-BFGS com gradiente de diferença finita e pesquisa de linha)
No mundo real da evolução biológica, permitir que indivíduos abaixo do ideal sobrevivam cria robustez quando a paisagem evolutiva muda. Se todos estiverem concentrados em um pico, se esse pico se tornar um vale, toda a população morre (por exemplo, os dinossauros eram as espécies mais aptas até que houve um ataque de asteróide e a paisagem evolucionária mudou). Por outro lado, se houver alguma diversidade na população, quando a paisagem mudar, alguns sobreviverão.
fonte
A resposta de Nick Alger é muito boa, mas vou torná-la um pouco mais matemática com um método de exemplo, o método Metropolis-Hastings.
Em outras palavras, se é mais adequado, sempre o aceitamos, mas se é menos adequado, o aceitamos com probabilidade ; caso contrário, tentamos novamente até aceitarmos um mutação.j F ( j )j j F(j)F(i)
Agora gostaríamos de explorar , a probabilidade real de fazer a transição de para .i jP(i,j) i j
Claramente é:
Vamos supor que . Então = 1, e assim:F(j)≥F(i) min(1,F(j)F(i))
Executando o argumento para trás e também examinando o caso trivial em que , você pode ver isso para todos os e :i=j i j
Isso é notável por alguns motivos.
A probabilidade de transição é independente de . É claro que pode demorar um pouco para acabarmos com o atrator, e pode demorar um pouco para aceitar uma mutação. Uma vez que fazemos, a probabilidade de transição é totalmente dependente , e não sobre .Q F Q
Somando tudo o que dou:i
Claramente deve somar se você somar todo (ou seja, as probabilidades de transição de um estado devem somar ), para obter:P(j,i) 1 i 1
Ou seja, é a função de densidade de probabilidade (não normalizada) para a qual os estados o método escolhe. Você não só garante a exploração de toda a paisagem, mas também o faz na proporção de quão "adequado" é cada estado.F
Obviamente, este é apenas um exemplo dentre muitos; como observei abaixo, é um método muito fácil de explicar. Você normalmente usa um GA não para explorar um pdf, mas para encontrar um extremo, e pode relaxar algumas das condições nesse caso e ainda garantir eventual convergência com alta probabilidade.
fonte
A vantagem de usar um GA é que você pode explorar espaços de pesquisa mais amplos seguindo caminhos que vêm de candidatos potencialmente piores. Deveria haver candidatos piores, a fim de explorar essas diferentes áreas da pesquisa, não muitas, mas definitivamente algumas. Se você começar a tirar o melhor de todas as vezes que remover esse aspecto de exploração do algoritmo, ele se tornará mais um alpinista. Além disso, apenas selecionar os melhores constantemente pode levar a uma convergência prematura.
fonte
Na verdade, os algoritmos de seleção adotam as duas abordagens. Uma delas é o que você sugeriu e a outra é que indivíduos com maior aptidão física são selecionados e aqueles com menor condição física não são.
A abordagem escolhida para a seleção também é adaptada ao problema que você está tentando modelar. Em um experimento na escola, estávamos tentando evoluir os jogadores de cartas, fazendo-os jogar uns contra os outros (por exemplo , seleção de torneio ). Nesse cenário, poderíamos muito bem sempre favorecer sobre (do seu exemplo), porque o aspecto 'sorte' já está no próprio jogo. Mesmo que para quaisquer dois e , em qualquer rodada, puramente pela maneira como as mãos eram distribuídas e como os outros jogavam, poderia ter vencido a rodada e, portanto, poderíamos terminar comI J F(i)>F(j) I J J F(j)>F(i) . Lembre-se de que uma população geralmente é grande o suficiente para perder pessoas boas e, no geral, isso não importa tanto.
Como as AGs são modeladas em torno da evolução do mundo real, quando as distribuições probabilísticas são usadas, elas são modeladas principalmente em torno de como as comunidades reais evoluem nas quais, às vezes, indivíduos com menor condicionamento físico podem sobreviver, enquanto indivíduos com maior condicionamento físico não conseguem (uma analogia grosseira: acidentes de carro, naturais). desastres etc. :-)).
fonte
é muito simples, de um ponto de vista: às vezes as soluções "filho" de melhor condicionamento físico podem nascer de soluções "parentais" de menor condicionamento, por meio de crossover ou mutação (que na verdade é grande parte da teoria dos algoritmos genéticos). portanto, em geral, se deseja buscar / levar soluções de alta aptidão, mas muita ênfase em manter / criar apenas soluções de alta aptidão pode levar a ficar preso nos mínimos locais e não procurar a grande "paisagem evolutiva". na verdade, pode-se fazer o "ponto de corte mais adequado" para a sobrevivência, tão rigoroso ou relaxado quanto se deseja, e experimentar como isso afeta a qualidade da solução final. estratégias de corte muito rigorosas ou muito frouxas levarão a soluções finais inferiores. é claro que tudo isso tem alguma relação com a verdadeira evolução biológica. aí é mais "
fonte