Algoritmos Genéticos com Raspberry Pi – Parte 14 – Codificação da Reprodução

Após ter compreendido a lógica do algoritmo responsável pela etapa de reprodução é possível iniciar a codificação do mesmo. Será adicionado ao código do algoritmo genético um método chamado “reproducao”, além de serem adicionadas duas novas propriedades à classe GARV chamadas “taxaCrossover” e “corteSimetrico”. Essas duas propriedades serão inicializadas por meio do construtor da classe […]

Algoritmos Genéticos com Raspberry Pi – Parte 12 – Implementando o Elitismo

No final do artigo anterior desta série foi mencionada a necessidade da implementação de um mecanismo que permitisse que os melhores indivíduos da população atual pudessem “sobreviver” para que os mesmos continuassem presentes na nova população gerada. Isso é necessário pelo fato da geração na nova população ser baseada em métodos probabilísticos, de modo que […]

Algoritmos Genéticos com Raspberry Pi – Parte 11 – O Código do Sorteio

Agora que compreendemos a lógica de funcionamento do processo de sorteio dos cromossomos, partiremos para a sua codificação. Para guiar nossos passos, vamos recordar o que precisaremos fazer: Ordenar em ordem crescente a população de cromossomos de acordo com a nota de avaliação de cada um. Determinar a nota relativa de cada cromossomo da população. […]

Algoritmos Genéticos com Raspberry Pi – Parte 10 – Lógica do Sorteio

Continuando com o desenvolvimento de nosso Algoritmo Genético, depois que a avaliação de cada Cromossomo da população é realizada, o resultado será uma lista contendo todos os indivíduos com suas respectivas notas. Nosso próximo passo será a implementação de um mecanismo de sorteio que seja capaz de gerar uma nova população que privilegie a escolha […]

Algoritmos Genéticos com Raspberry Pi – Parte 9 – A Função de Fitness

Chegou o momento de codificarmos uma função de Fitness para nosso Algoritmo Genético que resolverá o problema de encontrar o valor da variável “x” que satisfaça a equação Xˆ3 = 15 proposto no artigo anterior desta série. Como já foi dito, partirei do princípio de que você possui conhecimentos básicos de Programação Orientada a Objetos, […]

Algoritmos Genéticos com Raspberry Pi – Parte 8 – De Binário para Inteiro.

No artigo passado, começamos a entender como funciona o bloco responsável pela Seleção dos Mais Aptos do fluxograma do Algoritmo Genético. Avançamos bastante ao compreendermos por que é preciso postergar a codificação da função de Fitness para permitirmos que a classe que estamos criando possa ser reutilizada na resolução de diversos problemas diferentes. A partir […]

Algoritmos Genéticos com Raspberry Pi – Parte 7 – Avaliando Aptidão

Seguindo o nosso fluxograma, após a criação da População Inicial do Algoritmo Genético precisaremos desenvolver o método responsável pela Seleção dos Mais Aptos, ou seja, o código que será capaz de avaliar quais Cromossomos da população terão mais chances de serem escolhidos para se reproduzirem gerando herdeiros potencialmente melhores que seus genitores. A principal ideia […]

Algoritmos Genéticos com Raspberry Pi – Parte 6 – Gerando População

Se você observar o fluxograma apresentado na Parte 2 desta série notará que o primeiro bloco funcional do nosso Algoritmo Genético foi chamado de “População Inicial”, ou seja, é um bloco responsável pela geração de uma população inicial de Cromossomos. Compreender a necessidade e a importância deste bloco é algo bastante intuitivo, afinal de contas, […]

Algoritmos Genéticos com Raspberry Pi – Parte 5 – Criando Cromossomos

Já sabemos criar Genes a partir de números inteiros e nosso trabalho rumo à criação de Cromossomos para nosso Algoritmo Genético se tornou um pouco mais simples. Porém, antes de mergulharmos na codificação precisaremos entender como criaremos os Cromossomos de forma um pouco mais conceitual. Nosso objetivo é sermos capazes de armazenar um conjunto de […]

Algoritmos Genéticos com Raspberry Pi – Parte 4 – Criando Genes

Agora que já sabemos o que é um Cromossomo dentro do contexto dos Algoritmos Genéticos, chegou o momento de iniciarmos a codificação. Nosso ponto de partida será a criação de uma rotina em Python que seja capaz de receber um número inteiro e converte-lo para uma cadeia binária de acordo com as regras descritas no […]

error: Conteúdo Protegido!