Algoritmos Genéticos - População

A população é um subconjunto de soluções na geração atual. Também pode ser definido como um conjunto de cromossomos. Há várias coisas a serem mantidas em mente ao lidar com a população GA -

  • A diversidade da população deve ser mantida, caso contrário, pode levar a uma convergência prematura.

  • O tamanho da população não deve ser mantido muito grande, pois pode causar uma desaceleração do GA, enquanto uma população menor pode não ser suficiente para um bom acasalamento. Portanto, o tamanho ideal da população precisa ser decidido por tentativa e erro.

A população é geralmente definida como uma matriz bidimensional de - size population, size x, chromosome size.

Inicialização de População

Existem dois métodos principais para inicializar uma população em um GA. Eles são -

  • Random Initialization - Preencher a população inicial com soluções completamente aleatórias.

  • Heuristic initialization - Preencher a população inicial usando uma heurística conhecida para o problema.

Observou-se que toda a população não deve ser inicializada por heurística, pois isso pode resultar na população com soluções semelhantes e muito pouca diversidade. Foi experimentalmente observado que as soluções aleatórias são as que levam a população à otimização. Portanto, com a inicialização heurística, nós apenas semeamos a população com algumas boas soluções, preenchendo o resto com soluções aleatórias ao invés de preencher toda a população com soluções baseadas em heurísticas.

Também foi observado que a inicialização heurística, em alguns casos, afeta apenas o fitness inicial da população, mas, no final, é a diversidade de soluções que leva à otimização.

Modelos de População

Existem dois modelos de população amplamente em uso -

Curso estável

No estado estacionário GA, geramos uma ou duas nascentes em cada iteração e elas substituem um ou dois indivíduos da população. Um estado estacionário GA também é conhecido comoIncremental GA.

Geracional

Em um modelo geracional, geramos 'n' descendentes, onde n é o tamanho da população, e toda a população é substituída por uma nova no final da iteração.