Inteligência Artificial: Algoritmos Genéticos

Introdução à AGs: Maximização de Função 2D

Ratings: 4.62 / 5.00




Description

Um Algoritmo Genético (AG) é uma técnica de busca utilizada na ciência da computação para achar soluções aproximadas em problemas de otimização e busca. Algoritmos genéticos diferem dos algoritmos tradicionais de otimização em basicamente quatro aspectos:

  • Baseiam-se em uma codificação do conjunto das soluções possíveis, e não nos parâmetros da otimização em si;
  • Os resultados são apresentados como uma população de soluções e não como uma solução única;
  • Não necessitam de nenhum conhecimento derivado do problema, apenas de uma forma de avaliação do resultado;
  • Usam transições probabilísticas e não regras determinísticas.
função AlgoritmoGenético(população, função-objetivo) saídas: indivíduo
  entradas: população→ uma lista de indivíduos
            função-objetivo→ uma função que recebe um indivíduo e retorna um número real.
  repetir
     lista de pais := seleção(população, função-objetivo)
     população := reprodução(lista de pais)
  enquanto nenhuma condição de parada for atingida
  retorna o melhor indivíduo da população de acordo com a função-objetivo

Este é um curso para quem deseja começar a desenvolver algoritmos para Inteligência Artificial.

Neste curso você aprenderá a teoria básica sobre Algoritmos Genéticos, vamos percorrer todo o caminho no que tange o AG, começando com a teoria da evolução de Darwin e terminando com o desenvolvimento de um Algoritmo Genético para maximizar uma função matemática.

Estrutura Curricular:

  1. Teoria do Algoritmo Genético
    1. Inteligência Computacional
    2. Um pouco de Biologia
    3. Conceitos Básicos de AG
    4. Aprofundando em Algoritmos Genéticos
      1. Arquitetura do AG
      2. Representação Cromossômica
      3. Representação Populacional
      4. Função de Avaliação
      5. Média da População
      6. Operadores Genéticos
      7. Seleção dos Pais
      8. Operador Crossover
      9. Operador Mutação
  2. Desenvolvimento de um Algoritmo Genético
    1. Introdução a Maximização de Funções
    2. Arquitetura do Projeto
    3. Preparando o Visual Studio C#
    4. Programando a Classe CONSTANTS
    5. Programando a Classe INDIVIDUO
    6. Programando a Classe POPULACAO
    7. Programando a Classe ALGORITMOSGENETICOS
    8. Programando a Interface Gráfica
    9. Apresentação da Execução do Algoritmo Genético

What You Will Learn!

  • Desenvolver um Algoritmo Genético para encontrar soluções dentre muitas possíveis com a Computação Evolutiva
  • Projetar e Desenvolver AGs para determinado problema em que os seres humanos não são capazes

Who Should Attend!

  • Estudantes iniciantes em Inteligência Artificial
  • Pessoas que procuram aprimorar processos por meio de Computação Evolutiva