Você está na página 1de 19

Inteligncia Artificial para Jogos

Prof. MSc. Joo Ricardo Bittencourt

Algoritmos Genticos

Update: 20 Nov. 2011 joaorb@unisinos.br

Agradeo ao Prof. Osrio e ao Gustavo Pessin

Tome a plula vermelha

GT-JEDI Jogos Digitais Inteligncia Artificial para Jogos UNISINOS

Conceitos bsicos

Tcnica de busca e otimizao. Metfora da teoria da Evoluo das Espcies (Charles Darwin). Desenvolvido por John Holland (1975) e popularizado por David Goldberg (1989). Implementao computacional baseada nos princpios naturais da gentica e da evoluo

UNISINOS - Joo Ricardo Bittencourt

Conceitos bsicos

Teoria da Evoluo

1859 - Charles Darwin publica o livro A Origem das Espcies


As espcies evoluem pelo principio da seleo natural e sobrevivncia do mais apto. Quanto melhor um indivduo se adaptar ao seu meio ambiente, maior ser sua chance de sobreviver e gerar descendentes

Gregor Mendel, em 1865, apresenta experimentos do cruzamento gentico de ervilhas. Teoria da evoluo => conceituao integrada da seleo natural com a gentica.
UNISINOS - Joo Ricardo Bittencourt

Conceitos bsicos

Otimizao Buscar a melhor soluo para um determinado problema As tcnicas de otimizao apresentam: Espao de busca onde esto as possveis solues de um problema Funo objetivo (fitness) avaliar a soluo encontrada Em termos matemticos Achar uma soluo que corresponda ao ponto mximo ou mnimo de uma funo
UNISINOS - Joo Ricardo Bittencourt

Caractersticas

Algoritmos estocastcos Lida com uma coleo de solues Fceis de serem implementados computacionalmente Necessita de uma funo de avaliao (fitness) Fcil de integrar com outras tcnicas de IA Funcionam com parmetros contnuos ou discretos

UNISINOS - Joo Ricardo Bittencourt

Terminologia

Indivduo

Membro da populao. descrito por um cromossomo Codifica um nico parmetro do problema Os valores que um gene pode assumir Coleo de genes Estrutura de dados que codifica o problema Informao contida nem um cromossomo
UNISINOS - Joo Ricardo Bittencourt

Gene

Alelos

Cromossomo

Gentipo

Dificuldades

As principais dificuldades para aplicar AG Como representar os parmetros que definem o problema? Quem a populao inicial? Como definir a funo objetivo (fitness)?

UNISINOS - Joo Ricardo Bittencourt

Algoritmo

Algoritmo gentico tpico

UNISINOS - Joo Ricardo Bittencourt

Funcionamento

AG manipula uma populao de indivduos. Indivduos so possveis solues do problema. Os indivduos so combinados (crossover) uns com os outros, produzindo filhos que podem sofrer ou no mutao. As populaes evoluem atravs de sucessivas geraes at encontrar a soluo tima.

UNISINOS - Joo Ricardo Bittencourt

Funcionamento

Indivduo (Cromossomo) Estrutura de dados que representa uma possvel soluo para o problema. Os parmetros do problema de otimizao so representados por cadeias de valores. Vetores de reais: (2.345, 4.3454, 5.1, 3.4) Cadeias de bits: (111011011) Vetores de inteiros: (1,4,2,5,2,8) Aptido de um indivduo Resultado do fitness
UNISINOS - Joo Ricardo Bittencourt

Funcionamento

Seleo Seleciona um par de indivduos para reproduo Critrio de seleo funo fitness Imitao da seleo natural.
Os melhores indivduos (maior aptido) so selecionados para gerar filhos atravs de crossover e mutao.

Dirige o AG para as melhores regies do espao de busca. Tipo mais comum de seleo: Seleo proporcional a aptido

UNISINOS - Joo Ricardo Bittencourt

Funcionamento

Reproduo Conjunto de operaes (crossover, mutao,...) aplicada a um par na gerao de um novo indivduo. Crossover e Mutao Combinam pais selecionados para produo de filhos. Principais mecanismos de busca do AG. Permite explorar reas desconhecidas do espao de busca.
UNISINOS - Joo Ricardo Bittencourt

Funcionamento

Crossover Troca de material gentico entre os pais

Se o crossover aplicado os pais trocam suas caudas gerando dois filhos, caso contrrio os dois filhos sero cpias exatas dos pais.
O crossover aplicado com uma dada probabilidade denominada taxa de crossover (60% a 90%)
UNISINOS - Joo Ricardo Bittencourt

Funcionamento

Crossover Troca de material gentico entre os pais

Crossover 2 pontos Crossover 4 pontos

UNISINOS - Joo Ricardo Bittencourt

Funcionamento

Mutao Pequenas mudanas aleatrias na seqncia de bits Mutao inverte os valores dos bits A mutao aplicada com dada probabilidade, denominada taxa de mutao (~1%), em cada um dos bits do cromossomo.

A taxa de mutao no deve ser nem alta nem baixa, mas o suficiente para assegurar a diversidade de cromossomos na populao. UNISINOS - Joo Ricardo Bittencourt

Funcionamento

Elitismo Problema: o melhor cromossomo poder ser perdido de uma gerao para outra Soluo: manter na prxima gerao o melhor indivduo da gerao atual Esta estratgia chamada de elitismo

UNISINOS - Joo Ricardo Bittencourt

Funcionamento

Funo de avaliao (fitness) Funo usada para avaliar o membro de uma gerao Estas funes podem ser extremamente complexas. Efetuar toda uma simulao para obter a avaliao. Usar duas funes objetivos: Uma simplificada no inicio da busca Uma mais refinada quando encontra-se uma soluo
UNISINOS - Joo Ricardo Bittencourt

Funcionamento

Critrio de Parada Nmero de geraes Encontrou a soluo (quando esta conhecida) Convergncia nas ltimas k geraes no houve melhora na aptido: Mdia Mxima

UNISINOS - Joo Ricardo Bittencourt

Referncias

Goldberg, D. E. Genetic Algorithms in Search, Optimization and Machine Learning. Addison-Wesley, 1989. Tom M. Mitchell. Machine Learning. McGraw-Hill, 1997. Eberhart, R; Simpson, P; Dobbins, R. Computational Intelligence PC Tools. Academic Press,1996.

UNISINOS - Joo Ricardo Bittencourt