Algoritmos Genéticos em Python
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 e mutação
- Aprenda conceitos adicionais como: função de avaliação/fitness e seleção de indivíduos
- Implemente um algoritmo genético passo a passo no Python para resolver um problema real de transporte de mercadorias
- Visualize as soluções do algoritmo genético utilizando gráficos com a biblioteca matplotlib
- Utilize o algoritmo genético integrado com uma base de dados no MySql
- Crie algoritmos genéticos utilizando a biblioteca DEAP
Requirements
- É recomendado conhecimento sobre lógica de programação, principalmente estruturas condicionais e de repetição
- Conhecimentos básicos em Python 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 quer 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 Python 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
Instructors
Olá! Meu nome é Jones Granatyr e já trabalho em torno de 10 anos com Inteligência Artificial (IA), inclusive fiz o meu mestrado e doutorado nessa área. Atualmente sou professor, pesquisador e fundador do portal IA Expert, um site com conteúdo específico sobre Inteligência Artificial. Desde que iniciei na Udemy criei vários cursos sobre diversos assuntos de IA, como por exemplo: Deep Learning, Machine Learning, Data Science, Redes Neurais Artificiais, Algoritmos Genéticos, Detecção e Reconhecimento Facial, Algoritmos de Busca, Mineração de Textos, Buscas em Textos, Mineração de Regras de Associação, Sistemas Especialistas e Sistemas de Recomendação. Os cursos são abordados em diversas linguagens de programação (Python, R e Java) e com várias ferramentas/tecnologias (tensorflow, keras, pandas, sklearn, opencv, dlib, weka, nltk, por exemplo). Meu principal objetivo é desmistificar a área de IA e ajudar profissionais de TI a entenderem como essa tecnologia pode ser utilizada na prática e que possam visualizar novas oportunidades de negócios.
Olá, meu nome é Edson Pacholok, sou formado em Ciência da Computação pela Universidade do Contestado (UnC) de Santa Catarina. Trabalho em pesquisas relacionadas à Inteligência Artificial, Aprendizagem de Máquina, Computação Evolucionária e Métodos de Auxílio à Tomada de Decisão. Sou programador a vários anos em várias linguagens de programação, especialmente em Python devido a sua praticidade e simplicidade. Meu objetivo como instrutor da Udemy é ajudar as pessoas a atingirem os seus objetivos e resolver os seus problemas utilizando a computação, contribuindo assim com o aprendizado e crescimento intelectual de cada um.
A plataforma IA Expert tem o objetivo de trazer cursos teóricos e práticos de fácil entendimento sobre sobre Inteligência Artificial e Ciência de Dados, para que profissionais de todas as áreas consigam entender e aplicar os benefícios que a IA pode trazer para seus negócios, bem como apresentar todas as oportunidades que essa área pode trazer para profissionais de tecnologia da informação. Também trazemos notícias atualizadas semanais sobre a área em nosso portal.