Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Algoritmos Geneticos, Notas de estudo de Algoritmos

Apresentação Power Point

Tipologia: Notas de estudo

Antes de 2010

Compartilhado em 27/12/2010

ana-karolinne-anastacio-3
ana-karolinne-anastacio-3 🇧🇷

8 documentos

1 / 32

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
1
Algoritmos Genéticos
Seminário de MAC5758
Introdução ao Escalonamento e Aplicações
Cleber Miranda Barboza
http://www.linux.ime.usp.br/~cleberc
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20

Pré-visualização parcial do texto

Baixe Algoritmos Geneticos e outras Notas de estudo em PDF para Algoritmos, somente na Docsity!

Algoritmos Genéticos

Seminário de MAC

Introdução ao Escalonamento e Aplicações

Cleber Miranda Barboza [email protected] http://www.linux.ime.usp.br/~cleberc

Introdução

 Um Algoritmo Genético (AG) , conceitualmente, segue passos inspirados no processo biológico de evolução natural segundo a teoria de Darwin  Algoritmos Genéticos seguem a idéia de SOBREVIVÊNCIA DO MAIS FORTE (melhores soluções a cada geração)

Background (Cont.)

Reprodução  Durante o processo de reprodução ocorre-se a recombinação (ou crossover –cruzamento-). Genes dos pais se combinam para formar novos cromossomos.  Os descendentes criados podem sofrer mutações , ou seja, os elementos do DNA podem ser trocados  A adaptação de um organismo pode ser medida pelo sucesso do mesmo em sua vida

Idéia básica

 Começar com um conjunto de soluções (representado por cromossomos ) chamado população  Soluções de uma população são escolhidas e usadas para formar uma nova população (reprodução)  Espera-se que a nova população seja “melhor” que a anterior

Questões importantes

 Como criar cromossomos e qual tipo de codificação usar?  Como escolher os pais para a realização do crossover?  A geração de uma população a partir de duas soluções pode causar a perda da melhor solução. O que fazer?

Esboço do algoritmo

 (^) [Início] Geração aleatória de uma população de n cromossomos  [Adaptação] Verificar a função objetiva f(x) de cada cromossomo x  (^) [População] Cria-se uma nova população pela repetição a seguir:

1. [Seleção] Selecione um par de cromossomos da população de acordo com a adaptação de cada um (os mais bem adaptados tem maior chance de serem escolhidos) 2. [Crossover] Produza dois descendentes (filhos) realizando crossover com os cromossomos dos pais. O ponto para a realização do crossover deve ser aleatório. 3. [Mutação] Com uma certa probabilidade, o descendente sofre mutação em cada locus (posição no cromossomo). 4. [Aceitação] Coloque os descendentes em uma nova população, juntamente com a melhor solução da geração velha

Codificação

 Como realizar a codificação de cromossomos?  É a primeira pergunta que deve ser feita ao resolver um problema com AG  A codificação dependerá fortemente do problema

Codificação binária

 É a mais comum devido a sua simplicidade  Cada cromossomo é uma string de bits – 0 ou 1  Crom: A = 1 0 1 1 0 0 1 0 1 1  Crom: B = 1 1 1 1 1 1 0 0 0 0  Exemplo de uso: problema da mochila  Codificação: Cada bit diz se um elemento está ou não na mochila

Codificação por valor

Usado em problemas onde valores mais

complicados são necessários

Cada cromossomo é uma seqüência de

valores

 Crom A: 1.2324 5.3243 0.4556 2.3293 2.  Crom B: ABDJEIFJDHDIERJFDLDFLFEGT  Crom C: (back), (back), (right), (forward), (left)

Codificação por valor (Cont.)

 Exemplo de uso: dada uma estrutura, encontrar pesos para uma rede neural  Codificação: Valores reais num cromossomo representam pesos em uma rede neural

Mutação

 O objetivo da mutação é evitar que as soluções na população fiquem apenas num mínimo local  Filho1 antes : 110 1111000011110  Filho2 antes : 110110 0100110110  Filho1 depois : 110 0111000011110  Filho2 depois : 110110 1100110110

Problema da grade horária

 Escalonar salas, professores e classes em um número fixo de períodos de tal maneira que nenhum professor, classe ou sala sejam usados mais de uma vez num mesmo período  Suposições para resolver o problema  Uma classe consiste de um certo número de estudantes  As classes são disjuntas, ou seja, não há estudantes em comum

Problema da grade horária

(Cont.)

Problema da grade horária

(Cont.)

 Para medir a qualidade da grade horária (função objetiva - custo), calcular o número de colisões em qualquer grade.  A grade aceitável tem custo 0  O custo de cada período pode ser dado pela soma dos três componentes: custo da classe, custo do professor e custo da sala