Estratégias Evolutivas Projeto de Filtros Passa Faixa

Documentos relacionados
INSTITUTO DE PÓS GRADUAÇÃO ICPG GESTÃO DA TECNOLOGIA DA INFORMAÇÃO

Estratégias Evolutivas EEs. Prof. Juan Moisés Mauricio Villanueva

Otimização. Unidade 6: Algoritmo Genético. Jaime Arturo Ramírez. 7. Teoria do processo evolutivo num GA. 8. Aspectos avançados

4 Implementação Computacional

INTRODUÇÃO À INTELIGÊNCIA COMPUTACIONAL. Aula 06 Prof. Vitor Hugo Ferreira

Técnicas de Inteligência Artificial

Técnicas de Inteligência Artificial

Max Pereira. Inteligência Artificial

Exemplo de Aplicação de Algoritmos Genéticos. Prof. Juan Moisés Mauricio Villanueva cear.ufpb.br/juan

3 Algoritmos Genéticos

APLICAÇÃO DE ALGORITMOS BIO-INSPIRADOS EM CONTROLE ÓTIMO

Introdução aos Algoritmos Genéticos

Algoritmos Genéticos. Texto base: Stuart Russel e Peter Norving - Inteligência Artificial

Computação Evolutiva Eduardo do Valle Simões Renato Tinós ICMC - USP

Codificação das variáveis: binária Iniciação da população: aleatória Avaliação: função aptidão Operadores. Critério de parada: número de gerações

Computação Evolutiva. Computação Evolutiva. Principais Tópicos. Evolução natural. Introdução. Evolução natural

Pós-Graduação em Engenharia de Automação Industrial SISTEMAS INTELIGENTES PARA AUTOMAÇÃO

Aprendizado Evolutivo: Introdução aos Algoritmos Genéticos

Algoritmo Genético. Inteligência Artificial. Professor: Rosalvo Ferreira de Oliveira Neto

3. Resolução de problemas por meio de busca

Otimização com Algoritmos Genéticos no MATLAB. Prof. Rafael Saraiva Campos CEFET-RJ

Algoritmos Genéticos

1. Computação Evolutiva

Algoritmos Genéticos. Princípio de Seleção Natural. Sub-áreas da Computação Evolutiva. Idéias básicas da CE. Computação Evolutiva

Algoritmos Genéticos

3 Métodos de Otimização

Algoritmos Genéticos. Estéfane G. M. de Lacerda DCA/UFRN Outubro/2008

Inteligência Artificial

Inteligência Artificial. Algoritmos Genéticos. Aula I Introdução

Algoritmos Genéticos. Indivíduos em uma população competem por recursos e parceiros. Os indivíduos mais bem sucedidos em cada competição vão produzir

Algoritmos Genéticos

Algoritmos Genéticos. Pontos fracos dos métodos tradicionais. Características de alguns problemas. Tamanho do espaço de busca- Ex. caixeiro viajante:

Figura 3.1: Fluxograma do algoritmo da Programação Genética.

Metahuerísticas: Algoritmos Genéticos. Sistemas de Informação/Ciências da Computação UNISUL Aran Bey Tcholakian Morales, Dr. Eng.

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ ALGORITMOS GENÉTICOS. Metaheurísticas de Buscas

7 Seleção de Atributos

3 Algoritmos Genéticos

6 Aplicação do Modelo de Geração de Cenários

GAs são indicados em problemas complexos de otimização- onde se busca uma solução melhor:

Inteligência Artificial

Computação Evolutiva. Prof. Eduardo R. Hruschka (Slides baseados nos originais do Prof. André C. P. L. F. de Carvalho)

GAs são indicados em problemas complexos de otimização- onde se busca uma solução melhor:

COMPOSIÇÃO DE UMA CARTEIRA DE AÇÕES COM RISCO MÍNIMO E RETORNO ESPECIFICADO: UM ESTUDO UTILIZANDO ALGORITMO GENÉTICO E A FUNÇÃO SOLVER

Métodos de Busca. Inteligência Artificial. Algoritmos Genéticos. Algoritmos Evolucionários. Prof. Ms. Luiz Alberto Contato:

3 Otimização Evolucionária de Problemas com Restrição

Tópicos Especiais em Informática Fatec Indaiatuba

SOLUÇÕES HEURÍSTICAS PARA O JOGO DE DAMAS

IF-705 Automação Inteligente Algoritmos Evolucionários

5 Modelo Kernel PCA Genético para Ajuste de Histórico

Algoritmos Evolutivos Canônicos

4 Métodos Existentes. 4.1 Algoritmo Genético

Inteligência Artificial

Problema de Satisfação de Restrições

Problema de Satisfação de Restrições. Problema de Satisfação de Restrições. Grafo de restrições. Exemplo: 4 Rainhas como um PSR

Aplicação de algoritmos genéticos. Problema da Mochila (knapsack problem)

Otimização com Algoritmos Evolutivos

Introdução ao Algoritmo Genético

Um Estudo Empírico de Hiper-Heurísticas

INF 1771 Inteligência Artificial

INF 1771 Inteligência Artificial

4 Modelos Propostos para Otimização de Planejamentos com Restrições de Precedência 4.1 Representação com Algoritmos Genéticos

Computação Evolutiva. Prof. Eduardo R. Hruschka (Slides baseados nos originais do Prof. André C. P. L. F. de Carvalho)

11/1/2012. Agenda. Classe de problemas de interesse. Busca Local. Busca Local. Exemplo de Espaço de Estados

ESTUDO DOS PARAMETROS DE UM ALGORITMO GENÉTICO PARA POSTERIOR USO NA SOLUÇÃO DE PROBLEMAS DO TIPO JOB-SHOP

4 Sistema de Identificação de Parâmetros em Dados Sísmicos por Algoritmos Genéticos

Algoritmos Genéticos 1

CTC-17 Inteligência Artificial Busca Competitiva e Busca Iterativa. Prof. Paulo André Castro

4 Fundamentos Teóricos

3 Otimização Aplicada a Reconstituição de Acidentes

Breve Avaliação de Parâmetros básicos de Algoritmos Genéticos

Marina Andretta. 10 de outubro de Baseado no livro Introduction to Linear Optimization, de D. Bertsimas e J. N. Tsitsiklis.

4 Metáforas de Optimização

MÉTODOS NEWTON E QUASE-NEWTON PARA OTIMIZAÇÃO IRRESTRITA

Implementação dos Algoritmos e Resultados

Métodos de pesquisa e Optimização

3. ALGORITMOS GENÉTICOS

METAHEURÍSTICAS: 1 SIMULATED ANNEALING (S.A) 1.1 INTRODUÇÃO

Extracção de Conhecimento

5 Estudo de Caso e Resultados

Metaheurísticas de Otimização Bio-Inspiradas

Algoritmos Evolutivos para Otimização

Prof. Marco Aurélio C. Pacheco. 1. Problema 2. Representação 3. Decodificação 4. Avaliação 5. Operadores 6. Técnicas 7. Parâmetros

Computação Evolutiva Parte 2

Computação Evolutiva. Aula 4 Usando AEs Prof. Tiago A. E. Ferreira

Universidade Federal do Paraná UFPR Curso de Ciência da Computação CI801 Tópicos em Inteligência Artificial. Algoritmo Memético

ALGORITMOS GENÉTICOS. Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR

Algoritmos Genéticos como Metaheurísticas de Busca Conteúdos da Seção Introdução Implementação Codificação Avaliação Operadores

Créditos. Introdução a Sistemas Inteligentes. Agenda Introdução Breve Histórico. Introdução. Introdução aos Algoritmos Evolutivos

Linguagem de Programação

Buscas Informadas ou Heurísticas - Parte II

Introdução a Algoritmos Genéticos

OTIMIZAÇÃO FUNÇÕES UTILIZANDO ALGORITMOS GENÉTICOS NO APLICATIVO MS EXCEL RESUMO INTRODUÇÃO

UMA INTRODUÇÃO AOS ALGORITMOS GENETICOS

Inteligência Artificial

Endereçamento Aberto

ALGORITMO GENÉTICO COMO REPRESENTAÇÃO DAS MUTAÇÕES NA BIOLOGIA

Implementação De Um Algoritmo Genético Codificado Para A Solução do Problema do Caixeiro Viajante

1. Computação Evolutiva

Introdução ao Fortran 90-5

Transcrição:

Estratégias Evolutivas Projeto de Filtros Passa Faixa 1. Introdução: A utilização de estratégias evolutivas é uma técnica de solução de sistemas baseada no princípio da evolução hereditária, tais sistemas contém uma população de possíveis soluções, essa população é submetida a um processo de seleção através de uma função de adequação (fitness) onde cada indivíduo é testado, e em que os melhores indivíduos passam por um processo de cruzamento e uma possível mutação. 2. Procedimento: O algoritmo evolutivo é um processo probabilístico que contém um população de indivíduos, possíveis soluções para o sistema, à cada época essa população é submetida à uma seleção por uma função de fitness, através dessa pode-se escolher os indivíduos mais adequados, esses passam por um processo de cruzamento e mutação, os novos indivíduos são incluídos na população competindo com os indivíduos da geração anterior no próximo ciclo seletivo. O sistema escolhido para se desenvolver o algoritmo foi o FILTRO PASSA FAIXAS ATIVO, como se ilustra na Figura 1. Figura 1: Filtro passa faixa ativo. Pode-se observar, então que cada indivíduo solução do sistema deve conter seguinte estrutura: [Ra Rb Rf Ri Ca Cb], esse capaz de definir por completo os componentes do filtro.

Dessa forma, gerou-se no MATLAB um código capaz de desempenhar tal, função. A população inicial foi gerada aleatoriamente para os componentes citados anteriormente. Cada elemento do filtro tem restrições de forma que o sistema não encontre soluções utilizando componentes impraticáveis. Considerando-se uma população inicial de tamanho L, é definida uma matriz P 0 que contêm as L possíveis soluções iniciais (População Inicial): P 0 R R R C C R R R C C... R R R C C a1 b1 f 1 a1 b1 a2 b2 f 2 a2 b2 al bl fl al bl ( L5) Na Tabela 1, contêm o código em MATLAB para a geração aleatória da população inicial, considerando-se as restrições dos componentes passivos do filtro passa-faixa. Tabela 1. Geração da População Inicial %Caracteristicas do filtro passa faixa fc1 = 100; %Frequência de corte inferior fc2 = 10000; %Frequência de corte superior bk = 2; %Ganho do estágio de saída bq = sqrt(fc1*fc2)/(fc2-fc1); % Fator de Qualidade L=100; % Tamanho da população epocas=1000; % Número de gerações (critério de parada) mutprob=0.008; % Probabilidade de mutação crossprob=0.65; % Probabilidade de cruzamento %Restrições dos componentes Rmin = 10; Rmax = 10e3; Cmin = 10e-9; Cmax = 500e-6; psense = 0.01; %margem de precisão das frequências de corte %[Ra Rb Rf Ri Ca Cb] P = [(Rmin+(Rmax-Rmin).*rand(L,4)) (Cmin+(Cmax-Cmin).*rand(L,2))];

Estando ciente da configuração do filtro, pode-se definir as funções seletoras, regidas pelos parâmetros de projeto, esses são: frequência de corte inferior, frequência de corte superior, e ganho. Dessa forma, os indivíduos passam pelo processo de fitness definido por: fitness f f f f wc1 wc2 Q k 4 Em que: f wc1 é o erro da frequência de corte inferior entre o indivíduo e o valor teórico f wc2 é o erro da frequência de corte superior entre o indivíduo e o valor teórico f Q é o erro do fator de qualidade entre o indivíduo e o valor teórico f k é o erro do ganho entre o indivíduo e o valor teórico Na Tabela 2, contem o código da avaliação de cada indivíduo da população P. Tabela 2. Função de Avaliação (fitness) Wc1 = (Ra.*Ca).^(-1); Wc2 = (Rb.*Cb).^(-1); Q = sqrt(wc1.*wc2)./(wc2-wc1); K = Rf./Ri; fwc1 = (Wc1-2*pi*fc1).^2; fwc2 = (Wc2-2*pi*fc2).^2; fq = (Q-bQ).^2; fk = (K-bK).^2; fit = (fwc1 + fwc2 + fq + fk)/4; %Frequência de corte inferior do indivíduo %Frequência de corte superior do indivíduo %Fator de qualidade do indivíduo %Ganho do indivíduo %Erro da freq de corte inferior do indivíduo %Erro da freq de corte superior do indivíduo %Erro do fator de qualidade do indivíduo %Erro do ganho do indivíduo %Valor de aptidão do indivíduo Calculam-se as frequências de corte superior e inferior de cada indivíduo da população (Wc1 e Wc2), seu fator de qualidade (Q) e o ganho do estágio de saída (K). Esses valores são comparados com os valores desejados como requisitos de projeto (f c1, f c2, b Q, b K ), através do cálculo do erro quadrático, esses erros são somados definindo um valor de adequação fit para o indivíduo. Então depois da avaliação de fitness da primeira geração entra-se no processo cíclico o qual é apresentado na Tabela 3.

Tabela 3. Laço de evolução for i=1:epocas end %Ordena o vetor fit de maneira crescente [c,d]=sort(fit'); %Seleção [S,fitS]=selec(P,fit); %Cruzamento [C]=cruzamento(S,fitS,crossProb); %Mutação [M]=mutacao(C,mutProb,Rmin,Rmax,Cmin,Cmax); %Avaliação - Elitismo [fitm] = fitness(m, fc1, fc2, bq, bk); %melhor indivíduo e substituição [a,b]=sort(fitm'); P(d(L-4:L),:)=M(b(1:5),:); fit(d(l-4:l)) = fitm(b(1:5)); R = P(b(1),:); Prodigio(i) = fit(b(1)); O procedimento será repetido por um valor limite de épocas selecionado anteriormente, à cada época verifica-se através da função sort os elementos mais aptos, escolhe-se então através da função selec os elementos que passarão pelo processo de reprodução e mutação. O método de seleção implementado é o método da roleta, neste método, cada indivíduo da população é representado na roleta proporcionalmente ao seu índice de aptidão. Assim, aos indivíduos com alta aptidão é dada uma porção maior da roleta, enquanto aos de aptidão mais baixa é dada uma porção relativamente menor da roleta. Finalmente, a roleta é girada um determinado número de vezes, dependendo do tamanho da população, e são escolhidos, como indivíduos que participarão da próxima geração, aqueles sorteados na roleta, como ilustrado na Figura 2.

Figura 2: Roleta de aptidão. Os indivíduos selecionados passam, então por um processo de cruzamento, onde, de acordo com a probabilidade de cruzamento escolhida. Na Tabela 4 ilustra-se o código do operador de cruzamento. A variável alfa é um valor aleatório que cruza um elemento do vetor de indivíduos aptos com outro elemento do mesmo vetor, de índice definido pelo vetor de cruzamento cruze. Esse cruzamento é feito por uma soma ponderada pelo índice aleatório alfa e posicionada no vetor de elementos cruzados C. Tabela 4. Operador de Cruzamento alfa = rand; C(2*i-1,:)= alfa*s(cruze(2*i-1),:)+(1-alfa)*s(cruze(2*i),:); C(2*i,:) = alfa*s(cruze(2*i),:) +(1-alfa)*S(cruze(2*i-1),:); Em seguida essa população é submetida a um processo de mutação, ditada pela probabilidade de mutação selecionada anteriormente e restrições de componentes. Na Tabela 5 contem o código para a realização do operador de mutação. if j<=4 %Resistores M(i,j)=C(i,j)+1000*randn; if M(i,j)<Rmin & M(i,j)>Rmax M(i,j)=C(i,j); end elseif j>4 %Capacitores M(i,j)=C(i,j)+1e-6*randn; if M(i,j)<Cmin & M(i,j)>Cmax M(i,j)=C(i,j); end end Tabela 5. Operador de Mutação

De acordo com a probabilidade de mutação, se o elemento for selecionado, o código mostrado anteriormente irá somar ao elemento um dado número aleatório, o resultado passa então por uma verificação, onde o elemento gerado deve se enquadrar nos limites definidos para os componentes. Em seguida a matriz criada pelo cruzamento e mutação será avaliada utilizando a função de fitness e os cinco melhores elementos são incluídos na população anterior realizando-se assim a substituição dos melhores indivíduos. Na Tabela 6, é mostrado o processo de substituição, também conhecido como operador de elitismo. %Avaliação - Elitismo [fitm] = fitness(m, fc1, fc2, bq, bk); %melhor indivíduo [a,b]=sort(fitm'); P(d(L-4:L),:)=M(b(1:5),:); fit(d(l-4:l)) = fitm(b(1:5)); Tabela 6. Operador de Elitismo Assim, o processo se reinicia, até a finalização das épocas, escolhendo-se por fim o melhor indivíduo, esse será verificado e caso não tenha atendido as requisitos de projeto ocorrerá mais um processo evolutivo.

3. Resultados do Algoritmo Evolutivo A partir do processo de evolução, o indivíduo com melhor fitness representa a melhor solução do processo de otimização. Neste caso para a frequência de corte inferior (fc1), para a frequência de corte superior (fc2), fator de qualidade (Q) e ganho de saída (k), foi obtido o indivíduo solução contido na Tabela 7. Tabela 7. Valores do melhor indivíduo. [Ra Rb Rf Ri] = 1.0e+03 *[ 0.0108 0.0232 9.7144 4.8572] [Ca Cb] = 1.0e-03 *[0.1475 0.0007] fc1 = 99.9998 fc2 = 9.9992e+03 Q = 0.1010 k= 2.0000 Na Figura 3 ilustra-se o diagrama de bode do filtro passa-faixa com os valores encontrados pelo algoritmo evolutivo. Figura 3: Diagrama de Bode do filtro passa-faixa.

Na Figura 4 ilustra-se o comportamento do fitness do melhor indivíduo para cada iteração do algoritmo evolutivo. Observa-se o processo de minimização do fitness (otimização direcionada). Figura 4: Evolução do fitness do melhor indivíduo.