Algoritmos Genéticos com Raspberry Pi – Parte 13 – A Lógica da Reprodução

Até o momento todo o desenvolvimento do Algoritmo Genético foi concentrado na criação de uma população de cromossomos e na seleção daqueles mais aptos para a resolução de um determinado problema. Após os melhores indivíduos terem sido escolhidos por meio de uma função de fitness qualquer é necessário gerar uma nova população cruzando as melhores […]

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 […]

Sistema Inteligente Para Controle de Iluminação com Algoritmo Genético.

Esta é uma demonstração de um Sistema Inteligente para o controle de iluminação que utiliza um algoritmo de Inteligência Artificial, mais especificamente um Algoritmo Genético, com o objetivo de minimizar o consumo de energia elétrica garantindo o fornecimento de uma potência mínima de iluminação por cômodo de uma construção qualquer. O algoritmo foi desenvolvido utilizando […]

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 […]