Algoritmos Genéticos (GA s)



Documentos relacionados
Complemento IV Introdução aos Algoritmos Genéticos

INF 1771 Inteligência Artificial

ALGORITMOS GENÉTICOS

Projeto e Análise de Algoritmos Projeto de Algoritmos Heurísticas e Algoritmos Aproximados

Algoritmos Genéticos

Problemas onde a busca da solução depende da avaliação de diversas combinações (ORDEM) dos elementos considerados

ALGORITMOS GENÉTICOS: UMA VISÃO EXPLANATÓRIA

Computação e Programação Aula prática nº 5. Enunciados dos problemas

Cálculo Numérico Aula 1: Computação numérica. Tipos de Erros. Aritmética de ponto flutuante

Introdução às Redes Neurais Artificiais

Evolução via Selecção Natural (Darwin) - sobrevivem os mais aptos (fittest )

Organização e Arquitetura de Computadores I

Faculdade de Engenharia Optimização. Prof. Doutor Engº Jorge Nhambiu

Inteligência Computacional Aplicada a Engenharia de Software

Escola Secundária c/3º CEB José Macedo Fragateiro. Curso Profissional de Nível Secundário. Componente Técnica. Disciplina de

Pesquisa Sequencial e Binária. Introdução à Programação SI2

Representação de Dados

1. Sistemas de numeração

Representação Binária de Números

Sistemas de Numeração

Algoritmos Genéticos em Mineração de Dados. Descoberta de Conhecimento. Descoberta do Conhecimento em Bancos de Dados

ESTRUTURAS DE DADOS II

Representação por Números Reais

MANUAL DO UTILIZADOR

Otimização de Recuperação de Informação usando Algoritmos Genéticos

Análise de Algoritmos: Melhor caso, pior caso, caso médio

- Computação Evolutiva -

Figura 1 - O computador

Faculdade de Engenharia Optimização. Prof. Doutor Engº Jorge Nhambiu

Instituto Superior Técnico. 19 de Janeiro de Parte I

Transcrição Automática de Música

O Problema do Troco Principio da Casa dos Pombos. > Princípios de Contagem e Enumeração Computacional 0/48

Análise de complexidade

Contagem. George Darmiton da Cunha Cavalcanti CIn - UFPE

Projeto e Análise de Algoritmos. Profa. Juliana Kaizer Vizzotto. Projeto e Análise de Algoritmos - Aula 1

Curso: Técnico de Informática Disciplina: Redes de Computadores. 1- Apresentação Binária

IA Colônia de Formigas. Prof. Ricardo Britto DIE-UFPI

FACULDADE CAMPO LIMPO PAULISTA MESTRADO EM CIÊNCIA DA COMPUTAÇÃO. Projeto e Análise de Algoritmos II Lista de Exercícios 2

Tabela de símbolos: tabelas de espalhamento

Sistemas de Numeração

Problema 8-Puzzle: Análise da solução usando Backtracking e Algoritmos Genéticos

Introdução à genética quantitativa usando os recursos do R

Preenchimento de Áreas e de Polígonos. Antonio L. Bajuelos Departamento de Matemática Universidade de Aveiro

2. Método de Monte Carlo

Capítulo 1. Introdução. 1.1 Sistemas numéricos

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.

Estruturas de Repetição. Programação em Java Estruturas de Repetição

Tarefa Orientada 13 Agrupamento e sumário de dados

Java. Marcio de Carvalho Victorino

As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem:

SLAG - Resolvendo o Problema do Caixeiro Viajante Utilizando Algoritmos Genéticos

Escola Secundária Infanta D. Maria Folha de cálculo Tarefa 4. Tarefa Excel Nº 4

Arquitetura de Computadores

Algoritmos de pesquisa. Tabelas de dispersão/hash

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

3 ALGORITMOS GENÉTICOS : CONCEITOS BÁSICOS E EXTENSÕES VINCULADAS AO PROBLEMA DE MINIMIZAÇÃO DE PERDAS

Pesquisa Sequencial e Binária

Sistemas de Numeração

SISTEMAS DIGITAIS CIRCUITOS COMBINATÓRIOS TÍPICOS

Module Introduction. Programação. Cap. 4 Algoritmos e Programação Estruturada

Por que o quadrado de terminados em 5 e ta o fa cil? Ex.: 15²=225, 75²=5625,...

Computação Paralela. Desenvolvimento de Aplicações Paralelas João Luís Ferreira Sobral Departamento do Informática Universidade do Minho.

ficha 3 espaços lineares

Sistemas Numéricos e a Representação Interna dos Dados no Computador

Módulo III. Folhas de Cálculo

Lista de Exercícios. Vetores

Contagem. Prof. Dr. Leandro Balby Marinho. Matemática Discreta. Fundamentos Inclusão/Exclusão Princípio da Casa dos Pombos Permutações Combinações

Introdução. A Informação e sua Representação (Parte III) Universidade Federal de Campina Grande Departamento de Sistemas e Computação

Cap.2.5: Design de Algoritmos e Programação Estruturada. Algoritmos, fluxogramas e pseudo-código

Algoritmo. Prof. Anderson Almeida Ferreira. Agradeço ao prof. Guilherme Tavares de Assis por fornecer slides que fazem parte desta apresentação

Figure 2 - Nós folhas de uma árvore binária representando caracteres ASCII

Matemática A. Teste Intermédio de Matemática A. Versão 1. Teste Intermédio. Versão 1. Duração do Teste: 90 minutos º Ano de Escolaridade

Introdução a Algoritmos Parte 04

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM. Conceitos Básicos ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM

2. OPERADORES ALGORITMOS, FLUXOGRAMAS E PROGRAMAS FUNÇÕES... 10

Algoritmos e Estrutura de Dados. Aula 13 Estrutura de Dados: Árvores de Pesquisa Binária Prof. Tiago A. E. Ferreira

Algoritmos Genéticos: Aspectos Práticos. Estéfane G. M. de Lacerda DCA/UFRN Junho/2009

Plano Curricular de Matemática 9º ano /2015-3º Ciclo

PROGRAMAÇÃO LINEAR. Resolução de problemas de programação linear usando o comando Solver, no Excel.

3 Sistemas de Numeração:

Aplicações de Escritório Electrónico

FICHA ORIENTADA Nº1. Barra de fórmulas. Área de trabalho T E C N O L O G I A S D E I N F O R M A Ç Ã O E C O M U N I C A Ç Ã O

Inteligência de Enxame: ACO

A Otimização Colônia de Formigas

Universidade Federal de Rondônia Técnicas de Desenvolvimento de Programas Lista 4

Matemática - UEL Compilada em 18 de Março de Prof. Ulysses Sodré Matemática Essencial:

Unidade: Sistemas de Reprodução Animal. Revisor Textual: Profa. Ms. Alessandra Fabiana Cavalcante

Algoritmos de Busca em Tabelas

CIÊNCIA DA COMPUTAÇÃO I Excel. Núm1, núm2,... são argumentos de 1 a 255 cuja soma ou valor total você deseja obter.

CÁLCULO DE ZEROS DE FUNÇÕES REAIS

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Prof. Dr. Abel Gomes Cap.4: Design de Algoritmos e Programação Estruturada. Algoritmos, fluxogramas e pseudo-código

CAP. I ERROS EM CÁLCULO NUMÉRICO

Sistemas de numeração

Unidade 5: Sistemas de Representação

Aritmética Binária e. Bernardo Nunes Gonçalves

Trabalho Prático n. 2

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia de Computação CECOMP

APROG - Civil. Excel. Técnicas de pesquisa de informação em tabelas. Instituto Superior de Engenharia do Porto

Representação de Dados

Transcrição:

Algoritmos Genéticos (GA s) 1

Algoritmos Genéticos (GA s) Dado um processo ou método de codificar soluções de um problema na forma de cromossomas e dada uma função de desempenho que nos dá um valor de custo de qualquer cromossoma no contexto do problema, os GA s consistem nos seguintes passos: Passo1: Inicializar a população de cromossomas Passo2: Determinar o valor de desempenho de cada cromossoma Passo3: Duplicar os cromossomas de acordo com os valores de desempenho e criar novos cromossomas por entrelaçamento com cromossomas actuais (i.e., mutação, recombinação) Passo4: Apagar os membros da população indesejáveis Passo5: Inserir novos cromossomas na população por forma a constituir uma nova população 2

3

Reprodução: reprodução é um processo na qual os indivíduos (cromossomas) são copiados de acordo com o seu valor de desempenho. Esta operação é uma versão artificial da selecção natural A função de desempenho f(i) assinala para cada indivíduo da população o seu desempenho, em que altos valores representam um bom desempenho. A função de desempenho pode ser não linear, não diferenciável, descontínua, função positiva. 4

Selecção: Roullette-wheell parent selection: 1. Somar os valores de desempenho de todos os membros da população e chamar a este resultado de desempenho total. 2. Gerar um valora aleatório n,um número aleatório entre 0 e o desempenho total. 3. Retornar o primeiro elemento da população cujo desempenho que somados com os desempenhos precedentes dos membros da população seja maior ou igual a n. P [ escolha do individuo i] = F i PopSize j= 1 F j 5

Nº String Desempenho % do total Desempenho (Cromossoma) total 1 01110 8 16 8 2 11000 15 30 23 3 00100 2 4 25 4 10010 5 10 30 5 01100 12 24 42 6 00011 8 16 50 Número aleatório 26 2 49 15 40 36 9 Escolha do cromossoma 4 1 6 2 5 5 2 6

Outras operações de selecção: Ranking: ordenação dos individuos pelo resultado do seu desempenho Ranking Geometrico Normalizado: [ escolha do individuo ] = ( 1 ) P i q q q r P = = = ( q) r 1 probabilidade de escolha do melhor elemento rank do individuo (1= o melhor) tamanho da populaçao q q = 1 1 P 7

Crossover Na natureza os filhos têm dois pais e recebem genes de ambos. Seleccionar um par cromossomas (Pais) com uma probabilidade de crossover p c Um ponto de crossover é seleccionado aleatoriamente, então as strings são cruzadas 8

Generalização para Múltiplos pontos de cruzamento 9

Mutação Reprodução e Crossover produz novas strings mas não introduz nenhuma nova informação na população. Mutação é introduzida, com uma baixa probabilidade p m, para inverter bits aleatoriamente escolhidos das strings. 10

Estes três operadores são aplicados repetidamente até que os filhos constituam por inteiro a nova população A geração seguinte é constituída por filhos de três tipos: cruzamento com mutação cruzamento sem mutação nem cruzamento nem mutação Parâmetros a especificar para os GA n =tamanho da população p c = probabilidade de cruzamento p m = probabilidade de mutação G=sobreposição de gerações (G=1 nenhuma sobreposição; 0<G<1sobreposição) 11

12

GA no planeamento de trajectórias Shibata e Fukuda, Coordinative behavior in evolutionary multi-agent system by genetic algorithm Proc. IEEE Int. Conf. Neural Networks, Vol. I, 209-214, San Francisco, 1993 Robô móvel Strings começam por 0 e terminam com o 26. 4 26 1) Processo de selecção: 1º - Seleccionar uma string que tenha um desempenho eficiente (pelo processo de selecção descrito) 1 2 3 5 2º - Nessa string escolher um número aleatoriamente. Parente 1: 0-1-2-3-6-9-11-15-16-21-24-26 3º - Escolher uma string que também tenha um desempenho eficiente: Parente 2: 0-4-8-10-15-20-23-26 13

2) Processo de crossover 1º-Se as duas strings tiverem um mesmo número em comum -> Realizar o crossover. Senão, escolher outra string (repetir o 3º passo) Filho 1: 0-1-2-3-6-9-11-15-20-23-26 Filho 2: 0-4-8-10-15-16-21-24-26 2º- Verificar números repetidos Filho 3: 0-1-2-3-6-9-11-15-10-7-11-17-22-25-26 Filho 3 : 0-1-2-3-6-9-11-17-22-25-26 3) Processo de mutação Este processo é realizado segundo uma probabilidade de mutação, que é baixa. Uma posição em cada string é seleccionada e alterada por um numero aleatório. 4) Função de desempenho F(q)=1/(d 0-4 +d 4-8 + +d 23-26 ) 14

Representação: Cada indivíduo ou cromossoma é realizado pela sequência de genes de um certo tipo de alfabeto: Um alfabeto pode consistir em: dígitos binários (0 e 1) números de virgula flutuante inteiros símbolos (isto é, A, B, C, D,...) matrizes etc Números naturais > representação mais eficiente e produz melhores resultados Representação em valores reais é mais eficiente em termos de tempo de CPU que a representação binária 15

Operações Genéricas Operações binárias Mutação binária 1 x ; se ( 0,1) ' i U < p xi = xi ; outros Simples Crossover r= nº aleatório no intervalo [1,m], segundo uma distribuição de probabilidades uniforme ; se ' xi i< r ' yi ; se i< r xi = yi = yi ; outros xi ; outros m 16

Operações sobre nº reais Sejam a i e b i os limites inferiores e superior, respectivamente, de cada variável i Escolher aleatoriamente uma variável j para mutação. Mutação uniforme ( ), ; se ' U ai bi i = j xi = xi ; outros Mutação de fronteira ai ; se i= j, r< 0.5 ' xi = bi ; se i= j, r 0.5 xi ; outros Mutação não uniforme xi + ( bi xi) f ( G) ; se r < 0.5 ' xi = xi+ ( ai + xi) f ( G) ; se r 0.5 xi ; outros = 1 ( ) r2 f G Em que : r 1,r 2 = nº aleatórios (d.d.p uniforme) no intervalo [0,1] G= a geração actual G max = o máximo nº de gerações b= parâmetro forma G G max b 17

Simples Crossover ( 1 ) ( 1 ) X = rx + ry Y = r X + ry Crossover heurístico ( ) X = X + r X Y Y = X Realiza'vel se : 0, outros ' ' 1, se xi ai, xi bi 18

Programação Genética (GP) GA ferramenta poderosa para encontrar os pontos óptimos do espaço para uma grande variedade de problemas. Problema: a solução de muitos problemas não é meramente numérica mas uma função inteira, que é composta por funções primitivas (i.e., adição, subtracção, multiplicação, exp., ln,...) e terminais (i.e., tempo, números reais,...) Programação genética (GP) fornece a via de pesquisa no espaço de todas as possíveis funções compostas por um certo número de terminais e funções primitivas, para encontrar a função que resolve o problema [Koza, 1992]. 19

Programação Genética (GP) PASSO 1 Gerar uma população inicial aleatória de programas compostos de funções primitivas e terminais do problema. PASSO 2 Realizar iterativamente os seguintes sub-passos até satisfazer o critério de paragem. A. Executar cada programa da população e assinalar o valor de desempenho. B. Criara uma nova população de programas pela aplicação das seguintes operações genéticas (i) Reprodução: copiara os programas existentes para a nova população. (ii) Crossover: Criar dois novos filhos programas da nova população pela recombinação genética, aleatoriamente escolhida de duas partes de programas existentes. A operação genética de crossover opera sobre dois pais programas e produz dois filhos programas usando partes de cada um dos pais. PASSO 3 O melhor programa da população, produzido durante a execução do GP, é designado como o resultado do GP. 20

Exemplo: Variáveis: (x, y, z) Funções primitivas: (+, *, -) Terminais: (números reais) Operação de Crossover: (+(*0.1237)(-x 0.547)) 0.123 z + x 0.547 (*(*zy)(+y(*0.725z))) z y (y + 0.725 z) (+(+y(*0.725z))(-x 0.547) e (*(*zy)(*123z)) 21