A Inteligência Artificial está cada vez mais presente no nosso cotidiano. Dentre sua linha meta-heurística, os algoritmos funcionam como frameworks inteligentes para facilitar tomadas de decisões baseadas em grandes conjuntos de dados. A computação evolucionária coloca populações de indivíduos para evoluir em busca de se resolver um problema, com aplicações fascinantes na atualidade: a programação genética, determinação de melhor rota de veículos, design de circuitos, classificação de clientes, alocação de espaço físico e determinação automática de estruturas de redes neurais artificiais.
Neste livro, Eduardo Pereira apresenta os fundamentos de Algoritmos Genéticos, com aplicação de Programação Orientada a Objetos e a utilização da biblioteca Numpy, como uma extensão da linguagem Python para operar com vetores e matrizes. Você verá como aproveitar a biblioteca Matplotlib para a manipulação de gráficos 3D e geração de animações com os dados gerados. Para colocar tudo isso em prática, a segunda parte conta com uma aplicação prática onde você se debruçará sobre a solução de labirintos.
Table des matières
Parte 1: Algoritmo genético
1 Introdução
1.1 Máquina de Turing
1.2 Preparando o ambiente
1.3 Algoritmo genético: conceitos gerais
2 Produção e avaliação de indivíduos
2.1 Criando uma população
2.2 Função de avaliação
3 Seleção
3.1 Seleção via roleta
3.2 Seleção por classificação
3.3 Seleção por torneio
4 Cruzamento
4.1 Cruzamento de um ponto
4.2 Cruzamento em k-pontos
4.3 Embaralhamento
5 Mutação
5.1 Mutação flip
5.2 Mutação de dupla troca
5.3 Mutação de sequência reversa
6 Evolução
6.1 A sobrevivência do mais adaptado: integrando os operadores genéticos
6.2 Encontrando o máximo
7 A evolução através da tragédia
7.1 Operador Epidêmico
8 Disponibilização do pacote
8.1 Organização do pacote
8.2 Subindo o pacote para o Py Pi
Parte 2: Estudo de caso
9 Explorando o uso de Algoritmos Genéticos
10 Gerando labirintos
10.1 Grafos
10.2 Gerador de labirinto
11 Da imagem ao grafo
11.1 Do pixel ao vértice
12 Encontrando caminhos
12.1 Avaliação de indivíduo
12.2 Algoritmo genético
13 Conclusões
13.1 Referências bibliográficas
A propos de l’auteur
Eduardo S. Pereira é mestre e doutor em Astrofísica, pelo Instituto Nacional de Pesquisas Espaciais (INPE). Possui graduação em Física pela Universidade Federal de São João Del-Rei. Também realizou pós-doutorado em Astrofísica, pelo INPE, e em Astronomia Observacional/Computacional, pela Universidade de São Paulo (USP). Atua principalmente nos seguintes temas de pesquisa: cosmologia, ondas gravitacionais, astrofísica computacional, processamento de imagens e inteligência artificial. Atualmente, é professor do curso de Ciência da Computação da Faculdade Anhanguera, e Tutor no curso de física na Universidade Virtual de São Paulo (UNIVESP). Trabalha com Python há mais de 6 anos.