SlideShare une entreprise Scribd logo
1  sur  53
Télécharger pour lire hors ligne
14/06/14 
Inteligência Artificial 
Algoritmos Genéticos
Introdução 
● Na sub-área da inteligência 
computacional, diversos algoritmos 
possuem inspiração na natureza 
● Entre eles temos os Algoritmos 
Genéticos, que são inspirados no 
processo de seleção natural 
identificado por Darwin 
14/06/14
Introdução 
● A ideia é “evoluir” soluções para 
problemas de otimização imitando o 
que ocorre na natureza 
● Pode ser visto como um 
melhoramento sobre o Simulated 
Annealing, onde teremos várias 
soluções candidatas em vez de 
apenas uma 
14/06/14
Aplicações 
● Otimização de funções 
● Alocação de espaço e tempo 
● Roteamento 
● Controle robótico 
● Treinamento de redes neurais 
● Problemas de otimização combinatória em geral 
● Qualquer problema onde Simulated Annealing e Hill Climbing 
são aplicáveis 
● Qualquer problema que não saibamos resolver de outra forma, 
mas que saibamos como avaliar a qualidade de uma solução 
candidata 
14/06/14
Seleção Natural 
● Primeiramente, vamos relembrar como se 
dá o processo de seleção natural 
propriamente dito 
● Cada ambiente possui seus desafios, obstáculos, 
predadores, presas, alimento, clima, etc... 
● Indivíduos não aptos ao ambiente em que se 
encontram morrem e, em média, deixam menos 
descendentes 
● Indivíduos aptos ao ambiente vivem mais e, em 
média, deixam mais descendentes 
14/06/14
Seleção Natural 
● A reprodução dos indivíduos pode ser sexuada ou assexuada 
● No caso da reprodução assexuada, os descendentes herdam 
características tanto do pai quanto da mãe 
● Isto permite que boas “soluções” sejam mescladas e “testadas” no ambiente 
● Em ambos os casos, os descendentes sofrem pequenas mutações 
(por falhas naturais no processo de replicação de DNA) 
● Humanos possuem, em média, 60 mutações! 
● Isto permite que novas características sejam introduzidas na população 
● O que, por sua vez, pode criar novas maneiras de resolver antigos problemas em 
determinados ambientes 
● A maioria das mutações é inofensiva, seguidas pelas prejudiciais 
● Mas se apenas 1 indivíduo em 1 bilhão for “premiado” com uma boa mutação, isso basta 
para que ele comece a superar os outros e propagar seus genes, tornando-se algo 
comum ao longo de muitas gerações 
14/06/14
Seleção Natural 
● Este processo se repete ao longo de 
muitas gerações e pode ser 
observado em espécies com tempo 
de vida mais curto 
● Na medida em que as gerações 
avançam, surgem indivíduos cada vez 
mais aptos aos seus ambientes 
14/06/14
Algoritmos Genéticos 
● Agora imagine que um ambiente é 
um problema 
● Um indivíduo é uma solução 
● E os genes são os valores da 
solução 
14/06/14
Algoritmos Genéticos 
● Com isto, podemos aplicar o processo 
de seleção natural a problemas 
quaisquer e obter soluções cada vez 
melhores ao longo do tempo! 
14/06/14
Algoritmos Genéticos 
● Para resolver problemas utilizando Algoritmos 
Genéticos, precisamos dos seguintes 
componentes: 
● Representação: como transformar uma solução em uma 
sequência de genes (um cromossomo)? 
● Crossover (Cruzamento): como podemos mesclar 2 soluções? 
● Mutação: como podemos causar pequenas variações 
aleatórias em nossas soluções? 
● Fitness: como calcular a aptidão de um indivíduo? Ou em 
outras palavras, o custo/erro/utilidade de uma solução? 
● Seleção: como faremos a seleção dos mais aptos? 
14/06/14
Representação 
● Algoritmos Genéticos são versáteis em 
termos de representação, bastando que 
as operações de crossover e mutação 
sejam adequadamente escolhidas 
● Mas uma representação muito popular é 
a de vetores 
● Mais especificamente, podemos usar 
vetores de bits 
14/06/14
Representação - Exemplo 
● Problema da mochila: um ladrão invade uma casa com 
sua sacola e precisa roubar os objetos que somem o 
maior valor possível, desde que caibam na sacola 
● Vamos supor os seguintes objetos: 
1.Notebook ($3000, tamanho 4) 
2.Tablet ($1500, tamanho 3) 
3.Celular ($1000, tamanho 2) 
4.Colar ($700, tamanho 2) 
5.Anel ($400, tamanho 1) 
● E supunha que a sacola tem capacidade 5 
14/06/14
Representação - Exemplo 
● Podemos representar uma solução 
como uma sequência de bits que diz 
se o ladrão deve ou não levar um 
objeto 
01010 = Tablet + Colar 
00111 = Celular + Colar + Anel 
14/06/14
Representação - Exemplo 
● Um outro problema é o do caixeiro viajante: 
encontre o caminho mais curto que passe 
por todas as cidades (nós em um grafo) e 
retorne ao início sem repetir cidades 
● A representação binária já não é tão 
adequada, sendo melhor usar uma 
representação de permutação 
CBADE (cidade C, depois B, A, D, E e retorna para C) 
DABEC 
14/06/14
Representação - Exemplo 
● Já para um problema contínuo, como achar 
o máximo de uma equação, necessitamos 
de uma representação contínua 
● 2x - 3y + 5z - 4w + 2xy – 3xz + 1 
● Quais os valores de x,y,z e w que 
maximizam a função? 
0.1 1.7 9.1 -3 (o valor de cada variável) 
-1 0.2 5.2 1.4 
14/06/14
Representação 
● Portanto, não existe uma forma única 
de representar um problema para 
aplicar um algoritmo genético 
● Cada problema tem uma 
representação mais adequada! 
14/06/14
Fitness 
● Agora que já definimos como as 
soluções para o nosso problema serão 
representadas, precisamos definir 
como elas serão avaliadas 
14/06/14
Fitness 
● No caso do problema da mochila, 
queremos o maior valor possível sem 
ultrapassar o limite da mochila 
● Podemos representar a “aptidão” de 
uma solução como a soma dos valores 
dos objetos e com uma penalidade 
para soluções que passam do limite 
de volume 
14/06/14
Fitness 
01010 =Tablet + Colar 
1500 + 700 = 2200 
Tamanho 3 + 2 = 5, ok 
00111 = Celular + Colar + Anel 
1000 + 700 + 400 = 2100 
Tamanho 2 + 2 + 1 = 5, ok 
10101 = Notebook + Celular + Anel 
3000 + 1000 + 400 = 4400 
Tamanho 4 + 2 + 1 = 7, estourou, penalidade de 10000 
Fitness final = -5600 
14/06/14
Fitness 
● No caso do caixeiro viajante, bastaria 
somar o custo de cada trecho do 
caminho na solução 
● No caso da maximização de função, 
poderíamos simplesmente computar 
o resultado da função com os valores 
da solução 
14/06/14
Seleção 
● Agora que já medimos a qualidade de cada 
solução, podemos proceder para a seleção 
● Um método simples seria selecionar as N 
(a definir) melhores soluções 
● Mas isto tem a desvantagem de tornar o 
algoritmo mais propenso a cair em 
máximos locais 
● Uma solução mais usada é a da roleta 
14/06/14
Seleção 
● Com a roleta, cada solução tem uma 
probabilidade de ser selecionada 
proporcionalmente ao seu fitness 
● Com isso, mesmo as piores soluções 
podem se reproduzir, apesar de mais 
raro 
14/06/14
Seleção - Exemplo 
● No problema da mochila, usamos o exemplo com as 3 soluções com 
os seguintes fitness: 2200, 2100, -5600 
● Primeiro devemos subtrair o menor valor (-5600) de todos os 
valores para eliminar os negativos 
● 2200 - (-5600) = 7800 
2100 - (-5600) = 7700 
-5600 – (5600) = 0 
● Agora calculamos o fitness total: 
7800 + 7700 + 0 = 15500 
● E as proporções: 
7800 / 15500 = 0,503225806 
7700 / 15500 = 0,496774194 
0 / 15500 = 0 
● Estas são as probabilidades de selecionar cara solução! 
14/06/14
Mutação 
● Na mutação, devemos alterar algum 
elemento do cromossomo 
aleatoriamente, com uma 
probabilidade pequena (a definir) 
14/06/14
Mutação 
14/06/14
Mutação - Exemplo 
01010 → 01011 (tablet + colar → 
tablet + colar + anel) 
BCADE → CBADE 
0.1 8 3.4 2.1 → 0.1 8.1 3.4 2.1 
● As mutações ajudam a evitar 
máximos locais e a encontrar 
soluções inéditas 
14/06/14
Crossover 
● No crossover, mesclaremos pares de 
soluções que foram selecionadas 
previamente 
● Parte da premissa de que se as 2 são 
boas, suas combinações 
provavelmente também serão 
14/06/14
Crossover 
14/06/14
Crossover 
● O tipo de crossover na animação anterior é o 
crossover por ponto único 
● Ele consiste em escolher um ponto aleatoriamente 
nos cromossomos e trocar o conteúdo dos vetores a 
partir daquele ponto 
● Também existe o crossover com 2 pontos, onde o 
vetor é dividido em 3 partes que são trocadas entre 
os 2 indivíduos 
● E há também o crossover uniforme, onde cada 
elemento pode ser puxado de um pai diferente 
14/06/14
Crossover - Exemplo 
01010 = tablet + colar 
00111 = celular + colar + anel 
Filhos: 
01011 = tablet + colar + anel 
00110 = celular + colar 
● Note que nenhuma solução envolve o Notebook e portanto seria impossível 
que ele aparecesse na população apenas com crossover 
● Por isso que é necessário aplicar mutações depois dos cruzamentos! 
● Após aplicar mutações, estas 2 soluções seguirão para a próxima geração 
(próxima iteração do algoritmo) 
● Uma variação disto, chamada de seleção elitista, poderia manter as boas 
soluções da geração atual para a próxima geração também 
● Evita que percamos as melhores soluções até o momento 
14/06/14
Algoritmos Genéticos 
14/06/14
Algoritmos Genéticos – Exemplo Completo 
● Vamos tentar resolver o problema da 
mochila por completo, considerando a 
seguinte população inicial gerada 
aleatoriamente: 
01000 
10000 
00100 
00110 
01100 
14/06/14
Algoritmos Genéticos – Exemplo Completo 
● Primeiro passo: avaliação 
01000 → 1500 (tamanho 3) 
10000 → 3000 (tamanho 4) 
00100 → 1000 (tamanho 2) 
00110 → 1700 (tamanho 4) 
01100 → 2500 (tamanho 5) 
14/06/14
Algoritmos Genéticos – Exemplo Completo 
● Segundo passo: seleção 
Soma dos fitness = 9700 
01000 → 1500 / 9700 = 0,154639175 
10000 → 3000 / 9700 = 0,309278351 
00100 → 1000 / 9700 = 0,103092784 
00110 → 1700 / 9700 = 0,175257732 
01100 → 2500 / 9700 = 0,257731959 
● 2 indivíduos foram selecionados aleatoriamente de acordo com as 
probabilidades 
● Usaremos elitismo: os 2 pais serão mantidos na próxima geraãço 
juntamente com seus 2 filhos 
14/06/14
Algoritmos Genéticos – Exemplo Completo 
● Terceiro passo: cruzamento 
10000 
01100 
● Este ponto de crossover foi escolhido 
aleatoriamente 
Filhos: 
10100 
01000 
14/06/14
Algoritmos Genéticos – Exemplo Completo 
● Quarto passo: mutação 
10100 → 10100 (não mudou nada) 
01000 → 01001 (mudou o último bit) 
14/06/14
Algoritmos Genéticos – Exemplo Completo 
● Repetindo: avaliação da nova 
população 
10000 → 3000 (tamanho 4) 
01100 → 2500 (tamanho 5) 
10100 → 4000 (tamanho 6) → -6000 
01000 → 1500 (tamanho 3) 
14/06/14
Algoritmos Genéticos – Exemplo Completo 
● Repetindo: seleção 
● Soma dos fitness: 25000 (somando 6000 em cada um 
para eliminar o negativo) 
10000 → 9000 / 25000 = 0,36 
01100 → 8500 / 25000 = 0,34 
10100 → 0 / 25000 = 0 
01000 → 7500 / 25000 = 0,3 
● 2 pais selecionados aleatoriamente de acordo com as 
probabilidades 
14/06/14
Algoritmos Genéticos – Exemplo Completo 
● Repetindo: cruzamento 
● Ponto de crossover escolhido aleatoriamente 
10000 
01000 
● Filhos: 
10000 
01000 
● Sim, são iguais! Sem problema. 
14/06/14
Algoritmos Genéticos – Exemplo Completo 
● Repetindo: mutação 
10000 → 10001 
01000 → 01010 
14/06/14
Algoritmos Genéticos – Exemplo Completo 
● Repetindo: avaliação da nova 
população 
10000 → 3000 (tamanho 4) 
01000 → 1500 (tamanho 3) 
10001 → 3700 (tamanho 5) 
01010 → 2200 (tamanho 5) 
14/06/14
Algoritmos Genéticos – Exemplo Completo 
● Repetindo: seleção 
● Soma dos fitness: 10400 
10000 → 3000 / 10400 = 0,2884615 
01000 → 1500 / 10400 = 0,1442307 
10001 → 3700 / 10400 = 0,3557692 
01010 → 2200 / 10400 = 0,2115384 
● 2 indivíduos selecionados aleatoriamente de 
acordo com as probabilidades 
14/06/14
Algoritmos Genéticos – Exemplo Completo 
● Repetindo: cruzamento 
● Ponto de crossover escolhido aleatoriamente 
10000 
10001 
● Filhos: 
10001 
10000 
● Iguais aos pais, sem problema. 
14/06/14
Algoritmos Genéticos – Exemplo Completo 
● Repetindo: mutação 
10011 
10010 
14/06/14
Algoritmos Genéticos – Exemplo Completo 
● Repetindo: avaliação da nova geração 
10001 → 3400 (tamanho 5) 
10000 → 3000 (tamanho 4) 
10011 → 4100 (tamanho 7) → -5900 
10010 → 3700 (tamanho 6) → -6300 
14/06/14
Algoritmos Genéticos – Exemplo Completo 
● Melhor fitness (3400) não mudou em 
relação à geração anterior, podemos 
parar (é apenas um critério de parada 
possível entre vários) 
● Melhor solução: 
10001 → Notebook + Anel 
14/06/14
Programação Genética 
● Também é possível evoluir programas 
completos com algoritmos genéticos, 
é a chamada Programação Genética 
● Uma forma comum de representar um 
programa é através de árvores 
sintáticas 
14/06/14
Programação Genética 
14/06/14
Algoritmos Genéticos Interativos 
● Uma variação dos algoritmos genéticos permite que 
humanos selecionem as suas soluções preferidas em uma 
população, dispensando o cálculo do fitness 
● Pode ser usado em tarefas mais subjetivas, como geração 
automática de arte (visual, musical, literária, etc...) 
● A vantagem é que, implicitamente, acabamos usando 
funções de fitness muito mais complexas 
● A desvantagem é que não podemos rodar o algoritmo por 
várias gerações automaticamente, visto que um humano 
deve analisar cada solução e fazer a seleção 
manualmente, tornando o processo muito mais lento 
14/06/14
Algoritmos Genéticos Interativos 
14/06/14
Algoritmos Genéticos Interativos 
14/06/14
Algoritmos Genéticos Interativos 
14/06/14
Algoritmos Genéticos Interativos 
14/06/14

Contenu connexe

Tendances

국내인디게임개발자의현실
국내인디게임개발자의현실국내인디게임개발자의현실
국내인디게임개발자의현실Mingu Heo
 
Aula 2 - Introdução à programação de computadores - parte1
Aula 2 - Introdução à programação de computadores - parte1Aula 2 - Introdução à programação de computadores - parte1
Aula 2 - Introdução à programação de computadores - parte1Pacc UAB
 
캔디크러시사가 레벨디자인 분석
캔디크러시사가 레벨디자인 분석캔디크러시사가 레벨디자인 분석
캔디크러시사가 레벨디자인 분석Hyungyu Kang
 
NDC2013 - 심리학으로 다시 보는 게임 디자인
NDC2013 - 심리학으로 다시 보는 게임 디자인NDC2013 - 심리학으로 다시 보는 게임 디자인
NDC2013 - 심리학으로 다시 보는 게임 디자인Jubok Kim
 
Ap i unidade 3 - levantamento de requisitos
Ap i   unidade 3 - levantamento de requisitosAp i   unidade 3 - levantamento de requisitos
Ap i unidade 3 - levantamento de requisitosGlauber Aquino
 
NDC2019 - 게임플레이 프로그래머의 역할
NDC2019 - 게임플레이 프로그래머의 역할NDC2019 - 게임플레이 프로그래머의 역할
NDC2019 - 게임플레이 프로그래머의 역할Hoyoung Choi
 
게임기획자 직무 소개
게임기획자 직무 소개게임기획자 직무 소개
게임기획자 직무 소개Sunnyrider
 
Jogo da velha em Inteligência Artificial usando processing
Jogo da velha em Inteligência Artificial usando processingJogo da velha em Inteligência Artificial usando processing
Jogo da velha em Inteligência Artificial usando processingNunes Fernando
 
Cálculos de balanceamento pao
Cálculos de balanceamento paoCálculos de balanceamento pao
Cálculos de balanceamento paoJose Boulos
 
Interação Humano Computador Capítulo 8 - Antecipação
Interação Humano Computador Capítulo 8 - AntecipaçãoInteração Humano Computador Capítulo 8 - Antecipação
Interação Humano Computador Capítulo 8 - AntecipaçãoWellington Oliveira
 
최은영, 아티스트가 기획을 - 하이브리드의 길 Ver.1, NDC 2012
최은영, 아티스트가 기획을 - 하이브리드의 길 Ver.1, NDC 2012최은영, 아티스트가 기획을 - 하이브리드의 길 Ver.1, NDC 2012
최은영, 아티스트가 기획을 - 하이브리드의 길 Ver.1, NDC 2012devCAT Studio, NEXON
 
Part3. 아이디어를 게임기획으로 발전시키기
Part3. 아이디어를 게임기획으로 발전시키기Part3. 아이디어를 게임기획으로 발전시키기
Part3. 아이디어를 게임기획으로 발전시키기태성 이
 
[NDC 16] 당신은 사랑 받기 위해 태어난 사람: 3년차 게임 디자이너의 자존감 찾기
[NDC 16] 당신은 사랑 받기 위해 태어난 사람: 3년차 게임 디자이너의 자존감 찾기 [NDC 16] 당신은 사랑 받기 위해 태어난 사람: 3년차 게임 디자이너의 자존감 찾기
[NDC 16] 당신은 사랑 받기 위해 태어난 사람: 3년차 게임 디자이너의 자존감 찾기 Jungsoo Lee
 
게임에서 흔히 쓰이는 최적화 전략 by 엄윤섭 @ 지스타 컨퍼런스 2013
게임에서 흔히 쓰이는 최적화 전략 by 엄윤섭 @ 지스타 컨퍼런스 2013게임에서 흔히 쓰이는 최적화 전략 by 엄윤섭 @ 지스타 컨퍼런스 2013
게임에서 흔히 쓰이는 최적화 전략 by 엄윤섭 @ 지스타 컨퍼런스 2013영욱 오
 

Tendances (20)

1 Misturas e Soluções
1 Misturas e Soluções1 Misturas e Soluções
1 Misturas e Soluções
 
국내인디게임개발자의현실
국내인디게임개발자의현실국내인디게임개발자의현실
국내인디게임개발자의현실
 
Aula 2 - Introdução à programação de computadores - parte1
Aula 2 - Introdução à programação de computadores - parte1Aula 2 - Introdução à programação de computadores - parte1
Aula 2 - Introdução à programação de computadores - parte1
 
캔디크러시사가 레벨디자인 분석
캔디크러시사가 레벨디자인 분석캔디크러시사가 레벨디자인 분석
캔디크러시사가 레벨디자인 분석
 
NDC2013 - 심리학으로 다시 보는 게임 디자인
NDC2013 - 심리학으로 다시 보는 게임 디자인NDC2013 - 심리학으로 다시 보는 게임 디자인
NDC2013 - 심리학으로 다시 보는 게임 디자인
 
Running
RunningRunning
Running
 
Algoritmos - capítulo 1
Algoritmos - capítulo 1Algoritmos - capítulo 1
Algoritmos - capítulo 1
 
Ap i unidade 3 - levantamento de requisitos
Ap i   unidade 3 - levantamento de requisitosAp i   unidade 3 - levantamento de requisitos
Ap i unidade 3 - levantamento de requisitos
 
NDC2019 - 게임플레이 프로그래머의 역할
NDC2019 - 게임플레이 프로그래머의 역할NDC2019 - 게임플레이 프로그래머의 역할
NDC2019 - 게임플레이 프로그래머의 역할
 
게임기획자 직무 소개
게임기획자 직무 소개게임기획자 직무 소개
게임기획자 직무 소개
 
게임 디렉팅 튜토리얼
게임 디렉팅 튜토리얼게임 디렉팅 튜토리얼
게임 디렉팅 튜토리얼
 
Jogo da velha em Inteligência Artificial usando processing
Jogo da velha em Inteligência Artificial usando processingJogo da velha em Inteligência Artificial usando processing
Jogo da velha em Inteligência Artificial usando processing
 
Cálculos de balanceamento pao
Cálculos de balanceamento paoCálculos de balanceamento pao
Cálculos de balanceamento pao
 
Interação Humano Computador Capítulo 8 - Antecipação
Interação Humano Computador Capítulo 8 - AntecipaçãoInteração Humano Computador Capítulo 8 - Antecipação
Interação Humano Computador Capítulo 8 - Antecipação
 
Gaming Testing
Gaming TestingGaming Testing
Gaming Testing
 
Games Design Document
Games Design DocumentGames Design Document
Games Design Document
 
최은영, 아티스트가 기획을 - 하이브리드의 길 Ver.1, NDC 2012
최은영, 아티스트가 기획을 - 하이브리드의 길 Ver.1, NDC 2012최은영, 아티스트가 기획을 - 하이브리드의 길 Ver.1, NDC 2012
최은영, 아티스트가 기획을 - 하이브리드의 길 Ver.1, NDC 2012
 
Part3. 아이디어를 게임기획으로 발전시키기
Part3. 아이디어를 게임기획으로 발전시키기Part3. 아이디어를 게임기획으로 발전시키기
Part3. 아이디어를 게임기획으로 발전시키기
 
[NDC 16] 당신은 사랑 받기 위해 태어난 사람: 3년차 게임 디자이너의 자존감 찾기
[NDC 16] 당신은 사랑 받기 위해 태어난 사람: 3년차 게임 디자이너의 자존감 찾기 [NDC 16] 당신은 사랑 받기 위해 태어난 사람: 3년차 게임 디자이너의 자존감 찾기
[NDC 16] 당신은 사랑 받기 위해 태어난 사람: 3년차 게임 디자이너의 자존감 찾기
 
게임에서 흔히 쓰이는 최적화 전략 by 엄윤섭 @ 지스타 컨퍼런스 2013
게임에서 흔히 쓰이는 최적화 전략 by 엄윤섭 @ 지스타 컨퍼런스 2013게임에서 흔히 쓰이는 최적화 전략 by 엄윤섭 @ 지스타 컨퍼런스 2013
게임에서 흔히 쓰이는 최적화 전략 by 엄윤섭 @ 지스타 컨퍼런스 2013
 

En vedette

Algoritmos Genéticos na Prática
Algoritmos Genéticos na PráticaAlgoritmos Genéticos na Prática
Algoritmos Genéticos na PráticaNorton Guimarães
 
Inteligencia Artificial - Linguistica
Inteligencia Artificial - LinguisticaInteligencia Artificial - Linguistica
Inteligencia Artificial - LinguisticaToni Esteves
 
Técnicas de Inteligência Artificial em Jogos Eletrônicos
Técnicas de Inteligência Artificial em Jogos EletrônicosTécnicas de Inteligência Artificial em Jogos Eletrônicos
Técnicas de Inteligência Artificial em Jogos EletrônicosRoger Ritter
 
Resolviendo problemas con algoritmos geneticos
Resolviendo problemas con algoritmos geneticosResolviendo problemas con algoritmos geneticos
Resolviendo problemas con algoritmos geneticosMauro Parra-Miranda
 
Agentes Inteligentes - IA
Agentes Inteligentes - IAAgentes Inteligentes - IA
Agentes Inteligentes - IAThiago Marinho
 
Algoritmo genetico
Algoritmo geneticoAlgoritmo genetico
Algoritmo geneticoMarco Gámez
 
Inteligência Artificial - Aula5 - PageRank
Inteligência Artificial - Aula5  - PageRankInteligência Artificial - Aula5  - PageRank
Inteligência Artificial - Aula5 - PageRankRafael Pinto
 
Medidas de Avaliação de Classificação em Mineração de Texto
Medidas de Avaliação de Classificação em Mineração de TextoMedidas de Avaliação de Classificação em Mineração de Texto
Medidas de Avaliação de Classificação em Mineração de TextoGustavo Carvalho
 
Algoritmo genetico
Algoritmo geneticoAlgoritmo genetico
Algoritmo geneticoJonathanUBA
 
Sistemas operacionais 3
Sistemas operacionais 3Sistemas operacionais 3
Sistemas operacionais 3Nauber Gois
 
Sistemas operacionais 4
Sistemas operacionais 4Sistemas operacionais 4
Sistemas operacionais 4Nauber Gois
 
Inteligencia artificial 1
Inteligencia artificial 1Inteligencia artificial 1
Inteligencia artificial 1Nauber Gois
 
Sistemas operacionais1
Sistemas operacionais1Sistemas operacionais1
Sistemas operacionais1Nauber Gois
 
Inteligencia artificial 4
Inteligencia artificial 4Inteligencia artificial 4
Inteligencia artificial 4Nauber Gois
 
Inteligencia artificial 2
Inteligencia artificial 2Inteligencia artificial 2
Inteligencia artificial 2Nauber Gois
 
Inteligencia artificial 3
Inteligencia artificial 3Inteligencia artificial 3
Inteligencia artificial 3Nauber Gois
 
Inteligencia artificial 8
Inteligencia artificial 8Inteligencia artificial 8
Inteligencia artificial 8Nauber Gois
 
Sistemas infgerencial 1
Sistemas infgerencial 1Sistemas infgerencial 1
Sistemas infgerencial 1Nauber Gois
 

En vedette (20)

Algoritmos Genéticos na Prática
Algoritmos Genéticos na PráticaAlgoritmos Genéticos na Prática
Algoritmos Genéticos na Prática
 
Inteligencia Artificial - Linguistica
Inteligencia Artificial - LinguisticaInteligencia Artificial - Linguistica
Inteligencia Artificial - Linguistica
 
Técnicas de Inteligência Artificial em Jogos Eletrônicos
Técnicas de Inteligência Artificial em Jogos EletrônicosTécnicas de Inteligência Artificial em Jogos Eletrônicos
Técnicas de Inteligência Artificial em Jogos Eletrônicos
 
Resolviendo problemas con algoritmos geneticos
Resolviendo problemas con algoritmos geneticosResolviendo problemas con algoritmos geneticos
Resolviendo problemas con algoritmos geneticos
 
Agentes Inteligentes - IA
Agentes Inteligentes - IAAgentes Inteligentes - IA
Agentes Inteligentes - IA
 
Algoritmo genetico
Algoritmo geneticoAlgoritmo genetico
Algoritmo genetico
 
Inteligência Artificial - Aula5 - PageRank
Inteligência Artificial - Aula5  - PageRankInteligência Artificial - Aula5  - PageRank
Inteligência Artificial - Aula5 - PageRank
 
Medidas de Avaliação de Classificação em Mineração de Texto
Medidas de Avaliação de Classificação em Mineração de TextoMedidas de Avaliação de Classificação em Mineração de Texto
Medidas de Avaliação de Classificação em Mineração de Texto
 
Tutorial jgap
Tutorial jgapTutorial jgap
Tutorial jgap
 
Algoritmo genetico
Algoritmo geneticoAlgoritmo genetico
Algoritmo genetico
 
Sistemas operacionais 3
Sistemas operacionais 3Sistemas operacionais 3
Sistemas operacionais 3
 
Sistemas operacionais 4
Sistemas operacionais 4Sistemas operacionais 4
Sistemas operacionais 4
 
Inteligencia artificial 1
Inteligencia artificial 1Inteligencia artificial 1
Inteligencia artificial 1
 
Sistemas operacionais1
Sistemas operacionais1Sistemas operacionais1
Sistemas operacionais1
 
Inteligencia artificial 4
Inteligencia artificial 4Inteligencia artificial 4
Inteligencia artificial 4
 
Inteligencia artificial 2
Inteligencia artificial 2Inteligencia artificial 2
Inteligencia artificial 2
 
Inteligencia artificial 3
Inteligencia artificial 3Inteligencia artificial 3
Inteligencia artificial 3
 
Data science
Data scienceData science
Data science
 
Inteligencia artificial 8
Inteligencia artificial 8Inteligencia artificial 8
Inteligencia artificial 8
 
Sistemas infgerencial 1
Sistemas infgerencial 1Sistemas infgerencial 1
Sistemas infgerencial 1
 

Similaire à Algoritmos Genéticos: introdução à inteligência artificial inspirada na natureza

Algoritmos Genéticos Aplicados ao Problema da Mochila Multidimensional
Algoritmos Genéticos Aplicados ao Problema da Mochila MultidimensionalAlgoritmos Genéticos Aplicados ao Problema da Mochila Multidimensional
Algoritmos Genéticos Aplicados ao Problema da Mochila MultidimensionalBianca Dantas
 
PROBLEMA DA MOCHILA VALIOSA COM VALOR MINIMO DE UTILIDADE
PROBLEMA DA MOCHILA VALIOSA COM VALOR MINIMO DE UTILIDADEPROBLEMA DA MOCHILA VALIOSA COM VALOR MINIMO DE UTILIDADE
PROBLEMA DA MOCHILA VALIOSA COM VALOR MINIMO DE UTILIDADEJoao Gonçalves
 
IA Problemas & Heuristicas
IA Problemas & HeuristicasIA Problemas & Heuristicas
IA Problemas & Heuristicasrafael.joi
 
Aula 02 - Agentes e problemas de busca
Aula 02 - Agentes e problemas de buscaAula 02 - Agentes e problemas de busca
Aula 02 - Agentes e problemas de buscaLeinylson Fontinele
 
2º Pró Formação escola leitura e escrita matemática
2º Pró Formação escola leitura e escrita matemática2º Pró Formação escola leitura e escrita matemática
2º Pró Formação escola leitura e escrita matemáticaweleslima
 
Aprendizagem Automática
Aprendizagem AutomáticaAprendizagem Automática
Aprendizagem Automáticabutest
 
Análise assintótica
Análise assintóticaAnálise assintótica
Análise assintóticaPablo Silva
 
Análise da complexidade de algoritmos
Análise da complexidade de algoritmosAnálise da complexidade de algoritmos
Análise da complexidade de algoritmosPablo Silva
 
Implementação modulo3
Implementação modulo3Implementação modulo3
Implementação modulo3inechidias
 
Raciocinio logico - Princípios da Contagem
Raciocinio logico - Princípios da ContagemRaciocinio logico - Princípios da Contagem
Raciocinio logico - Princípios da ContagemJeferson S. J.
 
Formulas para numeros primos 1ed - eric campos bastos guedes
Formulas para numeros primos 1ed - eric campos bastos guedesFormulas para numeros primos 1ed - eric campos bastos guedes
Formulas para numeros primos 1ed - eric campos bastos guedesericbaymarketconectrio
 
Como usar algoritmos e fluxogramas
Como usar algoritmos e fluxogramasComo usar algoritmos e fluxogramas
Como usar algoritmos e fluxogramasKleber Jacinto
 

Similaire à Algoritmos Genéticos: introdução à inteligência artificial inspirada na natureza (20)

Algoritmos Genéticos Aplicados ao Problema da Mochila Multidimensional
Algoritmos Genéticos Aplicados ao Problema da Mochila MultidimensionalAlgoritmos Genéticos Aplicados ao Problema da Mochila Multidimensional
Algoritmos Genéticos Aplicados ao Problema da Mochila Multidimensional
 
PROBLEMA DA MOCHILA VALIOSA COM VALOR MINIMO DE UTILIDADE
PROBLEMA DA MOCHILA VALIOSA COM VALOR MINIMO DE UTILIDADEPROBLEMA DA MOCHILA VALIOSA COM VALOR MINIMO DE UTILIDADE
PROBLEMA DA MOCHILA VALIOSA COM VALOR MINIMO DE UTILIDADE
 
IA Problemas & Heuristicas
IA Problemas & HeuristicasIA Problemas & Heuristicas
IA Problemas & Heuristicas
 
Análise+c..
Análise+c..Análise+c..
Análise+c..
 
Aula 02 - Agentes e problemas de busca
Aula 02 - Agentes e problemas de buscaAula 02 - Agentes e problemas de busca
Aula 02 - Agentes e problemas de busca
 
Algoritmos Genéticos com Arduino
Algoritmos Genéticos com ArduinoAlgoritmos Genéticos com Arduino
Algoritmos Genéticos com Arduino
 
CIP News 4
CIP News 4CIP News 4
CIP News 4
 
Regra de tres
Regra de tresRegra de tres
Regra de tres
 
Introducao a otimizacao
Introducao a otimizacaoIntroducao a otimizacao
Introducao a otimizacao
 
Algoritmos Genéticos
Algoritmos GenéticosAlgoritmos Genéticos
Algoritmos Genéticos
 
2º Pró Formação escola leitura e escrita matemática
2º Pró Formação escola leitura e escrita matemática2º Pró Formação escola leitura e escrita matemática
2º Pró Formação escola leitura e escrita matemática
 
Atps pesquisa operacional
Atps pesquisa operacionalAtps pesquisa operacional
Atps pesquisa operacional
 
Aprendizagem Automática
Aprendizagem AutomáticaAprendizagem Automática
Aprendizagem Automática
 
Análise assintótica
Análise assintóticaAnálise assintótica
Análise assintótica
 
Análise da complexidade de algoritmos
Análise da complexidade de algoritmosAnálise da complexidade de algoritmos
Análise da complexidade de algoritmos
 
Implementação modulo3
Implementação modulo3Implementação modulo3
Implementação modulo3
 
Raciocinio logico - Princípios da Contagem
Raciocinio logico - Princípios da ContagemRaciocinio logico - Princípios da Contagem
Raciocinio logico - Princípios da Contagem
 
Formulas para numeros primos 1ed - eric campos bastos guedes
Formulas para numeros primos 1ed - eric campos bastos guedesFormulas para numeros primos 1ed - eric campos bastos guedes
Formulas para numeros primos 1ed - eric campos bastos guedes
 
Como usar algoritmos e fluxogramas
Como usar algoritmos e fluxogramasComo usar algoritmos e fluxogramas
Como usar algoritmos e fluxogramas
 
algoritmo construção
algoritmo construçãoalgoritmo construção
algoritmo construção
 

Plus de Rafael Pinto

Inteligência Artificial - Aula2 - Busca em Grafos
Inteligência Artificial - Aula2 - Busca em GrafosInteligência Artificial - Aula2 - Busca em Grafos
Inteligência Artificial - Aula2 - Busca em GrafosRafael Pinto
 
Inteligência Artificial - Aula1 intro
Inteligência Artificial - Aula1 introInteligência Artificial - Aula1 intro
Inteligência Artificial - Aula1 introRafael Pinto
 
Slow Feature Analysis
Slow Feature AnalysisSlow Feature Analysis
Slow Feature AnalysisRafael Pinto
 
Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)
Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)
Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)Rafael Pinto
 
Neuroevolução com o algoritmo NEAT e suas Extensões
Neuroevolução com o algoritmo NEAT e suas ExtensõesNeuroevolução com o algoritmo NEAT e suas Extensões
Neuroevolução com o algoritmo NEAT e suas ExtensõesRafael Pinto
 
Um Reconhecedor de Padrões Espaço-Temporais Inspirado no Neocórtex
Um Reconhecedor de Padrões Espaço-Temporais Inspirado no NeocórtexUm Reconhecedor de Padrões Espaço-Temporais Inspirado no Neocórtex
Um Reconhecedor de Padrões Espaço-Temporais Inspirado no NeocórtexRafael Pinto
 

Plus de Rafael Pinto (9)

Deep Learning
Deep LearningDeep Learning
Deep Learning
 
Inteligência Artificial - Aula2 - Busca em Grafos
Inteligência Artificial - Aula2 - Busca em GrafosInteligência Artificial - Aula2 - Busca em Grafos
Inteligência Artificial - Aula2 - Busca em Grafos
 
Inteligência Artificial - Aula1 intro
Inteligência Artificial - Aula1 introInteligência Artificial - Aula1 intro
Inteligência Artificial - Aula1 intro
 
Slow Feature Analysis
Slow Feature AnalysisSlow Feature Analysis
Slow Feature Analysis
 
Ratslam
RatslamRatslam
Ratslam
 
Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)
Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)
Online Incremental One-Shot Learning of Temporal Sequences (Portuguese)
 
Neuroevolução com o algoritmo NEAT e suas Extensões
Neuroevolução com o algoritmo NEAT e suas ExtensõesNeuroevolução com o algoritmo NEAT e suas Extensões
Neuroevolução com o algoritmo NEAT e suas Extensões
 
LoopSOM
LoopSOMLoopSOM
LoopSOM
 
Um Reconhecedor de Padrões Espaço-Temporais Inspirado no Neocórtex
Um Reconhecedor de Padrões Espaço-Temporais Inspirado no NeocórtexUm Reconhecedor de Padrões Espaço-Temporais Inspirado no Neocórtex
Um Reconhecedor de Padrões Espaço-Temporais Inspirado no Neocórtex
 

Dernier

O Modelo Atômico de Dalton - Carlos Vinicius
O Modelo Atômico de Dalton - Carlos ViniciusO Modelo Atômico de Dalton - Carlos Vinicius
O Modelo Atômico de Dalton - Carlos ViniciusVini Master
 
Revisão ENEM ensino médio 2024 para o terceiro ano
Revisão ENEM ensino médio 2024 para o terceiro anoRevisão ENEM ensino médio 2024 para o terceiro ano
Revisão ENEM ensino médio 2024 para o terceiro anoAlessandraRaiolDasNe
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...Universidade Federal de Sergipe - UFS
 
Aula 1 Psico Social ensino superior xxxx
Aula 1 Psico Social ensino superior xxxxAula 1 Psico Social ensino superior xxxx
Aula 1 Psico Social ensino superior xxxxAnglica330270
 
Slide As células: unidade da vida, e organelas celulares.pdf
Slide As células: unidade da vida, e organelas celulares.pdfSlide As células: unidade da vida, e organelas celulares.pdf
Slide As células: unidade da vida, e organelas celulares.pdfeupedrodecostas
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...Universidade Federal de Sergipe - UFS
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...Universidade Federal de Sergipe - UFS
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...Universidade Federal de Sergipe - UFS
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...Universidade Federal de Sergipe - UFS
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...Universidade Federal de Sergipe - UFS
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...Universidade Federal de Sergipe - UFS
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...Universidade Federal de Sergipe - UFS
 
Geologia Marinha - Variação do Nível do Mar
Geologia Marinha - Variação do Nível do MarGeologia Marinha - Variação do Nível do Mar
Geologia Marinha - Variação do Nível do MarGabbyCarvalhoAlves
 
Teorias da Evolução e slides sobre darwnismo e evoulao
Teorias da Evolução e slides sobre darwnismo e evoulaoTeorias da Evolução e slides sobre darwnismo e evoulao
Teorias da Evolução e slides sobre darwnismo e evoulaoEduardoBarreto262551
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...Universidade Federal de Sergipe - UFS
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...Universidade Federal de Sergipe - UFS
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...Universidade Federal de Sergipe - UFS
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...Universidade Federal de Sergipe - UFS
 

Dernier (18)

O Modelo Atômico de Dalton - Carlos Vinicius
O Modelo Atômico de Dalton - Carlos ViniciusO Modelo Atômico de Dalton - Carlos Vinicius
O Modelo Atômico de Dalton - Carlos Vinicius
 
Revisão ENEM ensino médio 2024 para o terceiro ano
Revisão ENEM ensino médio 2024 para o terceiro anoRevisão ENEM ensino médio 2024 para o terceiro ano
Revisão ENEM ensino médio 2024 para o terceiro ano
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
 
Aula 1 Psico Social ensino superior xxxx
Aula 1 Psico Social ensino superior xxxxAula 1 Psico Social ensino superior xxxx
Aula 1 Psico Social ensino superior xxxx
 
Slide As células: unidade da vida, e organelas celulares.pdf
Slide As células: unidade da vida, e organelas celulares.pdfSlide As células: unidade da vida, e organelas celulares.pdf
Slide As células: unidade da vida, e organelas celulares.pdf
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...
 
Geologia Marinha - Variação do Nível do Mar
Geologia Marinha - Variação do Nível do MarGeologia Marinha - Variação do Nível do Mar
Geologia Marinha - Variação do Nível do Mar
 
Teorias da Evolução e slides sobre darwnismo e evoulao
Teorias da Evolução e slides sobre darwnismo e evoulaoTeorias da Evolução e slides sobre darwnismo e evoulao
Teorias da Evolução e slides sobre darwnismo e evoulao
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
 

Algoritmos Genéticos: introdução à inteligência artificial inspirada na natureza

  • 1. 14/06/14 Inteligência Artificial Algoritmos Genéticos
  • 2. Introdução ● Na sub-área da inteligência computacional, diversos algoritmos possuem inspiração na natureza ● Entre eles temos os Algoritmos Genéticos, que são inspirados no processo de seleção natural identificado por Darwin 14/06/14
  • 3. Introdução ● A ideia é “evoluir” soluções para problemas de otimização imitando o que ocorre na natureza ● Pode ser visto como um melhoramento sobre o Simulated Annealing, onde teremos várias soluções candidatas em vez de apenas uma 14/06/14
  • 4. Aplicações ● Otimização de funções ● Alocação de espaço e tempo ● Roteamento ● Controle robótico ● Treinamento de redes neurais ● Problemas de otimização combinatória em geral ● Qualquer problema onde Simulated Annealing e Hill Climbing são aplicáveis ● Qualquer problema que não saibamos resolver de outra forma, mas que saibamos como avaliar a qualidade de uma solução candidata 14/06/14
  • 5. Seleção Natural ● Primeiramente, vamos relembrar como se dá o processo de seleção natural propriamente dito ● Cada ambiente possui seus desafios, obstáculos, predadores, presas, alimento, clima, etc... ● Indivíduos não aptos ao ambiente em que se encontram morrem e, em média, deixam menos descendentes ● Indivíduos aptos ao ambiente vivem mais e, em média, deixam mais descendentes 14/06/14
  • 6. Seleção Natural ● A reprodução dos indivíduos pode ser sexuada ou assexuada ● No caso da reprodução assexuada, os descendentes herdam características tanto do pai quanto da mãe ● Isto permite que boas “soluções” sejam mescladas e “testadas” no ambiente ● Em ambos os casos, os descendentes sofrem pequenas mutações (por falhas naturais no processo de replicação de DNA) ● Humanos possuem, em média, 60 mutações! ● Isto permite que novas características sejam introduzidas na população ● O que, por sua vez, pode criar novas maneiras de resolver antigos problemas em determinados ambientes ● A maioria das mutações é inofensiva, seguidas pelas prejudiciais ● Mas se apenas 1 indivíduo em 1 bilhão for “premiado” com uma boa mutação, isso basta para que ele comece a superar os outros e propagar seus genes, tornando-se algo comum ao longo de muitas gerações 14/06/14
  • 7. Seleção Natural ● Este processo se repete ao longo de muitas gerações e pode ser observado em espécies com tempo de vida mais curto ● Na medida em que as gerações avançam, surgem indivíduos cada vez mais aptos aos seus ambientes 14/06/14
  • 8. Algoritmos Genéticos ● Agora imagine que um ambiente é um problema ● Um indivíduo é uma solução ● E os genes são os valores da solução 14/06/14
  • 9. Algoritmos Genéticos ● Com isto, podemos aplicar o processo de seleção natural a problemas quaisquer e obter soluções cada vez melhores ao longo do tempo! 14/06/14
  • 10. Algoritmos Genéticos ● Para resolver problemas utilizando Algoritmos Genéticos, precisamos dos seguintes componentes: ● Representação: como transformar uma solução em uma sequência de genes (um cromossomo)? ● Crossover (Cruzamento): como podemos mesclar 2 soluções? ● Mutação: como podemos causar pequenas variações aleatórias em nossas soluções? ● Fitness: como calcular a aptidão de um indivíduo? Ou em outras palavras, o custo/erro/utilidade de uma solução? ● Seleção: como faremos a seleção dos mais aptos? 14/06/14
  • 11. Representação ● Algoritmos Genéticos são versáteis em termos de representação, bastando que as operações de crossover e mutação sejam adequadamente escolhidas ● Mas uma representação muito popular é a de vetores ● Mais especificamente, podemos usar vetores de bits 14/06/14
  • 12. Representação - Exemplo ● Problema da mochila: um ladrão invade uma casa com sua sacola e precisa roubar os objetos que somem o maior valor possível, desde que caibam na sacola ● Vamos supor os seguintes objetos: 1.Notebook ($3000, tamanho 4) 2.Tablet ($1500, tamanho 3) 3.Celular ($1000, tamanho 2) 4.Colar ($700, tamanho 2) 5.Anel ($400, tamanho 1) ● E supunha que a sacola tem capacidade 5 14/06/14
  • 13. Representação - Exemplo ● Podemos representar uma solução como uma sequência de bits que diz se o ladrão deve ou não levar um objeto 01010 = Tablet + Colar 00111 = Celular + Colar + Anel 14/06/14
  • 14. Representação - Exemplo ● Um outro problema é o do caixeiro viajante: encontre o caminho mais curto que passe por todas as cidades (nós em um grafo) e retorne ao início sem repetir cidades ● A representação binária já não é tão adequada, sendo melhor usar uma representação de permutação CBADE (cidade C, depois B, A, D, E e retorna para C) DABEC 14/06/14
  • 15. Representação - Exemplo ● Já para um problema contínuo, como achar o máximo de uma equação, necessitamos de uma representação contínua ● 2x - 3y + 5z - 4w + 2xy – 3xz + 1 ● Quais os valores de x,y,z e w que maximizam a função? 0.1 1.7 9.1 -3 (o valor de cada variável) -1 0.2 5.2 1.4 14/06/14
  • 16. Representação ● Portanto, não existe uma forma única de representar um problema para aplicar um algoritmo genético ● Cada problema tem uma representação mais adequada! 14/06/14
  • 17. Fitness ● Agora que já definimos como as soluções para o nosso problema serão representadas, precisamos definir como elas serão avaliadas 14/06/14
  • 18. Fitness ● No caso do problema da mochila, queremos o maior valor possível sem ultrapassar o limite da mochila ● Podemos representar a “aptidão” de uma solução como a soma dos valores dos objetos e com uma penalidade para soluções que passam do limite de volume 14/06/14
  • 19. Fitness 01010 =Tablet + Colar 1500 + 700 = 2200 Tamanho 3 + 2 = 5, ok 00111 = Celular + Colar + Anel 1000 + 700 + 400 = 2100 Tamanho 2 + 2 + 1 = 5, ok 10101 = Notebook + Celular + Anel 3000 + 1000 + 400 = 4400 Tamanho 4 + 2 + 1 = 7, estourou, penalidade de 10000 Fitness final = -5600 14/06/14
  • 20. Fitness ● No caso do caixeiro viajante, bastaria somar o custo de cada trecho do caminho na solução ● No caso da maximização de função, poderíamos simplesmente computar o resultado da função com os valores da solução 14/06/14
  • 21. Seleção ● Agora que já medimos a qualidade de cada solução, podemos proceder para a seleção ● Um método simples seria selecionar as N (a definir) melhores soluções ● Mas isto tem a desvantagem de tornar o algoritmo mais propenso a cair em máximos locais ● Uma solução mais usada é a da roleta 14/06/14
  • 22. Seleção ● Com a roleta, cada solução tem uma probabilidade de ser selecionada proporcionalmente ao seu fitness ● Com isso, mesmo as piores soluções podem se reproduzir, apesar de mais raro 14/06/14
  • 23. Seleção - Exemplo ● No problema da mochila, usamos o exemplo com as 3 soluções com os seguintes fitness: 2200, 2100, -5600 ● Primeiro devemos subtrair o menor valor (-5600) de todos os valores para eliminar os negativos ● 2200 - (-5600) = 7800 2100 - (-5600) = 7700 -5600 – (5600) = 0 ● Agora calculamos o fitness total: 7800 + 7700 + 0 = 15500 ● E as proporções: 7800 / 15500 = 0,503225806 7700 / 15500 = 0,496774194 0 / 15500 = 0 ● Estas são as probabilidades de selecionar cara solução! 14/06/14
  • 24. Mutação ● Na mutação, devemos alterar algum elemento do cromossomo aleatoriamente, com uma probabilidade pequena (a definir) 14/06/14
  • 26. Mutação - Exemplo 01010 → 01011 (tablet + colar → tablet + colar + anel) BCADE → CBADE 0.1 8 3.4 2.1 → 0.1 8.1 3.4 2.1 ● As mutações ajudam a evitar máximos locais e a encontrar soluções inéditas 14/06/14
  • 27. Crossover ● No crossover, mesclaremos pares de soluções que foram selecionadas previamente ● Parte da premissa de que se as 2 são boas, suas combinações provavelmente também serão 14/06/14
  • 29. Crossover ● O tipo de crossover na animação anterior é o crossover por ponto único ● Ele consiste em escolher um ponto aleatoriamente nos cromossomos e trocar o conteúdo dos vetores a partir daquele ponto ● Também existe o crossover com 2 pontos, onde o vetor é dividido em 3 partes que são trocadas entre os 2 indivíduos ● E há também o crossover uniforme, onde cada elemento pode ser puxado de um pai diferente 14/06/14
  • 30. Crossover - Exemplo 01010 = tablet + colar 00111 = celular + colar + anel Filhos: 01011 = tablet + colar + anel 00110 = celular + colar ● Note que nenhuma solução envolve o Notebook e portanto seria impossível que ele aparecesse na população apenas com crossover ● Por isso que é necessário aplicar mutações depois dos cruzamentos! ● Após aplicar mutações, estas 2 soluções seguirão para a próxima geração (próxima iteração do algoritmo) ● Uma variação disto, chamada de seleção elitista, poderia manter as boas soluções da geração atual para a próxima geração também ● Evita que percamos as melhores soluções até o momento 14/06/14
  • 32. Algoritmos Genéticos – Exemplo Completo ● Vamos tentar resolver o problema da mochila por completo, considerando a seguinte população inicial gerada aleatoriamente: 01000 10000 00100 00110 01100 14/06/14
  • 33. Algoritmos Genéticos – Exemplo Completo ● Primeiro passo: avaliação 01000 → 1500 (tamanho 3) 10000 → 3000 (tamanho 4) 00100 → 1000 (tamanho 2) 00110 → 1700 (tamanho 4) 01100 → 2500 (tamanho 5) 14/06/14
  • 34. Algoritmos Genéticos – Exemplo Completo ● Segundo passo: seleção Soma dos fitness = 9700 01000 → 1500 / 9700 = 0,154639175 10000 → 3000 / 9700 = 0,309278351 00100 → 1000 / 9700 = 0,103092784 00110 → 1700 / 9700 = 0,175257732 01100 → 2500 / 9700 = 0,257731959 ● 2 indivíduos foram selecionados aleatoriamente de acordo com as probabilidades ● Usaremos elitismo: os 2 pais serão mantidos na próxima geraãço juntamente com seus 2 filhos 14/06/14
  • 35. Algoritmos Genéticos – Exemplo Completo ● Terceiro passo: cruzamento 10000 01100 ● Este ponto de crossover foi escolhido aleatoriamente Filhos: 10100 01000 14/06/14
  • 36. Algoritmos Genéticos – Exemplo Completo ● Quarto passo: mutação 10100 → 10100 (não mudou nada) 01000 → 01001 (mudou o último bit) 14/06/14
  • 37. Algoritmos Genéticos – Exemplo Completo ● Repetindo: avaliação da nova população 10000 → 3000 (tamanho 4) 01100 → 2500 (tamanho 5) 10100 → 4000 (tamanho 6) → -6000 01000 → 1500 (tamanho 3) 14/06/14
  • 38. Algoritmos Genéticos – Exemplo Completo ● Repetindo: seleção ● Soma dos fitness: 25000 (somando 6000 em cada um para eliminar o negativo) 10000 → 9000 / 25000 = 0,36 01100 → 8500 / 25000 = 0,34 10100 → 0 / 25000 = 0 01000 → 7500 / 25000 = 0,3 ● 2 pais selecionados aleatoriamente de acordo com as probabilidades 14/06/14
  • 39. Algoritmos Genéticos – Exemplo Completo ● Repetindo: cruzamento ● Ponto de crossover escolhido aleatoriamente 10000 01000 ● Filhos: 10000 01000 ● Sim, são iguais! Sem problema. 14/06/14
  • 40. Algoritmos Genéticos – Exemplo Completo ● Repetindo: mutação 10000 → 10001 01000 → 01010 14/06/14
  • 41. Algoritmos Genéticos – Exemplo Completo ● Repetindo: avaliação da nova população 10000 → 3000 (tamanho 4) 01000 → 1500 (tamanho 3) 10001 → 3700 (tamanho 5) 01010 → 2200 (tamanho 5) 14/06/14
  • 42. Algoritmos Genéticos – Exemplo Completo ● Repetindo: seleção ● Soma dos fitness: 10400 10000 → 3000 / 10400 = 0,2884615 01000 → 1500 / 10400 = 0,1442307 10001 → 3700 / 10400 = 0,3557692 01010 → 2200 / 10400 = 0,2115384 ● 2 indivíduos selecionados aleatoriamente de acordo com as probabilidades 14/06/14
  • 43. Algoritmos Genéticos – Exemplo Completo ● Repetindo: cruzamento ● Ponto de crossover escolhido aleatoriamente 10000 10001 ● Filhos: 10001 10000 ● Iguais aos pais, sem problema. 14/06/14
  • 44. Algoritmos Genéticos – Exemplo Completo ● Repetindo: mutação 10011 10010 14/06/14
  • 45. Algoritmos Genéticos – Exemplo Completo ● Repetindo: avaliação da nova geração 10001 → 3400 (tamanho 5) 10000 → 3000 (tamanho 4) 10011 → 4100 (tamanho 7) → -5900 10010 → 3700 (tamanho 6) → -6300 14/06/14
  • 46. Algoritmos Genéticos – Exemplo Completo ● Melhor fitness (3400) não mudou em relação à geração anterior, podemos parar (é apenas um critério de parada possível entre vários) ● Melhor solução: 10001 → Notebook + Anel 14/06/14
  • 47. Programação Genética ● Também é possível evoluir programas completos com algoritmos genéticos, é a chamada Programação Genética ● Uma forma comum de representar um programa é através de árvores sintáticas 14/06/14
  • 49. Algoritmos Genéticos Interativos ● Uma variação dos algoritmos genéticos permite que humanos selecionem as suas soluções preferidas em uma população, dispensando o cálculo do fitness ● Pode ser usado em tarefas mais subjetivas, como geração automática de arte (visual, musical, literária, etc...) ● A vantagem é que, implicitamente, acabamos usando funções de fitness muito mais complexas ● A desvantagem é que não podemos rodar o algoritmo por várias gerações automaticamente, visto que um humano deve analisar cada solução e fazer a seleção manualmente, tornando o processo muito mais lento 14/06/14