Algoritmos Genéticos em Java
4.6 (127 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
1,012 students enrolled

Algoritmos Genéticos em Java

Construa passo a passo um algoritmo de Inteligência Artificial aplicado no cenário de transporte de produtos!
4.6 (127 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
1,012 students enrolled
Last updated 1/2020
Portuguese
Portuguese [Auto-generated]
Current price: $13.99 Original price: $19.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 5 hours on-demand video
  • 2 articles
  • 5 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Aprenda na teoria e na prática os principais conceitos sobre os algoritmos genéticos, tais como: indivíduo, população, crossover/reprodução, mutação, função de avaliação/fitness e seleção de indivíduos
  • Implemente um algoritmo genético passo a passo em Java para resolver um problema real de transporte de mercadorias
  • Visualize as soluções do algoritmo genético utilizando gráficos
  • Utilize o algoritmo genético integrado com uma base de dados no MySql
Course content
Expand all 32 lectures 05:11:36
+ Algoritmos genéticos passo a passo
26 lectures 04:34:15
Instalação do Java e Netbeans
03:14
Classe produtos
10:05
Classe indivíduo I
13:45
Classe indivíduo II
14:52
Função de avaliação
13:49
Crossover/reprodução - teoria
06:58
Crossover/reprodução - implementação
15:56
Mutação
07:28
Inicialização da população
12:02
Avaliação da população
08:03
Melhor indivíduo
07:53
Soma das avaliações
04:32
Seleção dos indivíduos - teoria
07:28
Seleção dos indivíduos - implementação
13:30
Construção de nova geração
15:32
Algoritmo genético completo I
04:43
Algoritmo genético completo II
18:36
Algoritmo genético completo III
08:04
Gráfico das soluções
13:46
Instalação do MySql
03:03
Criação da tabela de produtos no MySql
06:00
Algoritmo genético com banco de dados
10:45
Biblioteca JGAP I
15:03
Biblioteca JGAP II
11:25
Biblioteca JGAP III
17:01
Biblioteca JGAP IV
10:42
+ Considerações finais
2 lectures 02:41
Considerações finais
02:38
Código fonte completo
00:03
Requirements
  • É recomendado conhecimento sobre lógica de programação, principalmente estruturas condicionais e de repetição
  • Conhecimentos básicos em Java são desejáveis, embora seja possível acompanhar o curso sem saber essa linguagem com profundidade
  • Noções sobre orientação a objetos são necessárias, principalmente conceitos como classe, objeto, atributo e método
  • Não são necessários conhecimentos prévios sobre Inteligência Artificial
  • Não são necessários conhecimentos prévios sobre banco de dados
Description

Os algoritmos genéticos são uma importante área da Inteligência Artificial que são responsáveis pela resolução de problemas complexos, tendo como base encontrar soluções para problemas de otimização e busca. Existem várias aplicações práticas deste tipo de algoritmo, as quais podem ser aplicadas na resolução de problemas em cenários comerciais do dia a dia. Um exemplo clássico é a resolução do problema de choque de horários de professores em uma escola, no qual existem diversas combinações de horários e aulas e o objetivo é construir a grade de horário dinamicamente de acordo com a quantidade de aulas e a disponibilidade de cada professor. Outros exemplos são: empresas de telecomunicações podem projetar novas redes óticas, transportadoras podem planejar melhor a rota de entrega de mercadorias, investidores podem  escolher os melhores investimentos; dentre várias outras.

Baseado nisso, neste curso você vai aprender na teoria e principalmente na prática como desenvolver do zero um algoritmo genético aplicado em um cenário real de uma transportadora. Neste contexto, nós seremos consultores de uma empresa de transporte que possui vários produtos a serem transportados, porém, a empresa possui somente um caminhão disponível e com espaço limitado de armazenamento. Nosso objetivo será desenvolver um algoritmo que consiga gerar a melhor combinação dos produtos que devem ser transportados, levando em consideração o fato de que a transportadora que ganhar o máximo de dinheiro possível com o frete e ocupando o espaço disponível no caminhão.

Esse tipo de algoritmo é baseado em encontrar soluções cada vez melhores a partir da evolução das gerações anteriores, sendo fundamentado nos processos naturais de evolução. E para chegar em nosso objetivo, você vai aprender os principais conceitos sobre essa técnica de inteligência artificial, tais como: população, indivíduo, crossover/reprodução e mutação. Ao final do curso, você terá um algoritmo genético completo que conseguirá resolver o problema da transportadora, o qual pode ser aplicado para outros cenários comerciais. Utilizaremos a linguagem Java para a programação das funções e desenvolveremos tudo passo a passo e com muitos detalhes, para que você tenha uma visão bem clara e didática de como esses algoritmos conseguem resolver problemas reais do cotidiano. Além disso, teremos um bônus no qual você vai aprender como criar uma tabela de produtos no MySql e aplicar nosso algoritmo utilizando os dados de uma base de dados, o que pode facilitar a adaptação do código para utilização em ambientes comerciais. Por fim, este material pode ser considerado de nível iniciante para quem está entrando tanto na área de Inteligência Artificial quanto na área de algoritmos genéticos. Porém, caso você seja de nível mais avançado, este curso poderá servir como uma ótima fonte de consulta e revisão dos conceitos.

Preparado(a) para dar um importante passo na sua carreira? Aguardamos você no curso! :)

Who this course is for:
  • Pessoas interessadas em Inteligência Artificial
  • Pessoas interessadas em resolver problemas reais utilizando algoritmos genéticos