Proposta de equalizador cego baseado em algoritmos genéticos
Texto
(2) Catalogação da Publicação na Fonte Universidade Federal do Rio Grande do Norte - Sistema de Bibliotecas Biblioteca Central Zila Mamede / Setor de Informação e Referência Silva, Caroline Albuquerque Dantas. Proposta de Equalizador Cego Baseado em Algoritmos Genéticos / Caroline Albuquerque Dantas Silva. - 2016. 81 f .: il. Dissertação (mestrado) - Universidade Federal do Rio Grande do Norte. Centro de Tecnologia. Programa de Pós-Graduação em Engenharia Elétrica e de Computação. Natal, RN, 2016. Orientador: Marcelo Augusto Costa fernandes 1. Algoritmos genéticos – Dissertação. 2. Equalização cega adaptativa – Dissertação. 3. Programação linear – Dissertação. 4. Programação estocástica – Dissertação. I. Fernandes, Marcelo Augusto Costa. II. Título. RN/UF/BCZM. CDU 621.39:004.8.
(3) Proposta de Equalizador Cego Baseado em Algoritmos Genéticos. Caroline Albuquerque Dantas Silva. Dissertação de Mestrado aprovada em 18 de julho de 2016 pela banca examinadora composta pelos seguintes membros:. Prof. Dr. Marcelo Augusto Costa Fernandes (orientador) . . . . . . . . DCA/UFRN. Prof. Dr. Daniel Aloise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DCA/UFRN. Prof. Dr. Luiz Felipe de Queiroz Silveira . . . . . . . . . . . . . . . . . . . . . . DCA/UFRN. Prof. Dr. Rodrigo Pereira Ramos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UNIVASF.
(4) Aos meus pais, Almira e João, pela inspiração de força e perseverança..
(5) Agradecimentos. Ao meu orientador Marcelo Fernandes, pela orientação, apoio e compreensão. Aos professores Daniel, Luiz Felipe e Rodrigo pelas valiosas sugestões e contribuições para essa dissertação. Aos meus queridos amigos e namorado, pelo amor, carinho e incentivo. Aos demais colegas de pós-graduação pelas críticas e sugestões. À minha família pelo apoio durante esta jornada. À CAPES, pelo apoio financeiro..
(6) Resumo. Esse trabalho propõe um esquema de otimização convexa, baseada em programação linear e algoritmos genéticos, para equalizadores cegos aplicados a sistemas de comunicações digitais. Ele surgiu da necessidade crescente de melhorias nos sistemas de comunicação no intuito de transportar o máximo de informação possível por um meio físico de forma confiável. O esquema proposto, ELC-GA (Equalizador Linear Cego baseado em Algoritmos Genéticos), é caracterizado por realizar a equalização adaptativa cega do canal em blocos fixos de dados, utilizando como algoritmo adaptativo um algoritmo genético, cuja função objetivo é uma função linear com restrições, globalmente convergente. Entretanto, devido às características aleatórias do sinal modelado com interferência intersimbólica e ruído aditivo branco gaussiano, a função linear utilizada passa a representar uma programação linear estocástica. Nesse sentido, o uso de algoritmos genéticos é particularmente adequado por ser capaz de buscar soluções ótimas percorrendo uma porção considerável do espaço de busca, que corresponde aos vários cenários estocásticos. O trabalho também descreve os detalhes de implementação do esquema proposto e as simulações computacionais realizadas. Na análise de desempenho, os resultados do ELCGA são comparados aos resultados de uma das mais tradicionais técnicas de equalização cega, o CMA, utilizado como referência dessa análise. Os resultados obtidos são exibidos e comentados segundo as métricas de análise adequadas. As conclusões do trabalho apontam o ELC-GA como uma alternativa promissora para equalização cega devido ao seu desempenho de equalização, que atinge a convergência global num intervalo de símbolos consideravelmente menor que a técnica usada como referência. Palavras-chave: Equalização cega adaptativa, Algoritmos Genéticos, Função convexa, Programação linear, Programação estocástica..
(7) Abstract. This paper proposes a convex optimization scheme based on linear programming and genetic algorithms for the blind equalizers applied to digital communications systems. It arose from the growing need for improvements in communication systems in order to transmit as much information as possible in a physical environment reliably. The proposed scheme, ELC-GA (Blind Linear Equalizer Linear based on Genetic Algorithms), is characterized by performing blind adaptive channel equalization in fixed units of data, using a genetic algorithm as adaptive algorithm, whose objective function is a globally convergent constrained linear function. However, due to the random characteristics of the signal modeled with intersymbol interference and additive white Gaussian noise, the used linear function now represents a stochastic linear programming. Accordingly, the use of genetic algorithms is particularly suitable for being able to get optimal solutions covering a considerable portion of the search space, which corresponds to the various stochastic scenarios. This work also describes the implementation details of the proposed scheme and the performed computational simulations. In the performance analysis, the ELC- GA results are compared to the results of one of the traditional blind equalization techniques, CMA, used as reference in this analysis. The results are shown and discussed under the appropriate metric analysis. The conclusions of the study indicate the GA - ELC as a promising alternative to blind equalization due to its equalization performance, which reaches global convergence in a considerably smaller range of symbols than the technique used as reference. Keywords: Blind equalization, Genetic Algorithms, Convex function, Linear Programming, Stochastic Programming..
(8) Sumário. Sumário. i. Lista de Figuras. iii. Lista de Tabelas. v. Lista de Símbolos. vi. Lista de Abreviaturas. vii. 1. 2. Introdução 1.1 Justificativa e motivação 1.2 Objetivos . . . . . . . . 1.3 Publicações relacionadas 1.4 Estrutura do documento .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. Algoritmos Genéticos 2.1 Representação dos indivíduos . . . . . . . . . 2.2 Inicialização . . . . . . . . . . . . . . . . . . 2.3 Avaliação . . . . . . . . . . . . . . . . . . . 2.4 Seleção . . . . . . . . . . . . . . . . . . . . 2.5 Operadores genéticos . . . . . . . . . . . . . 2.5.1 Cruzamento . . . . . . . . . . . . . . 2.5.2 Mutação . . . . . . . . . . . . . . . . 2.5.3 Elitismo . . . . . . . . . . . . . . . . 2.6 Parâmetros genéticos . . . . . . . . . . . . . 2.6.1 Tamanho da população . . . . . . . . 2.6.2 Taxa de cruzamento . . . . . . . . . 2.6.3 Taxa de mutação . . . . . . . . . . . 2.6.4 Condição de parada . . . . . . . . . . 2.7 Equalização baseada em algoritmos genéticos i. . . . .. . . . . . . . . . . . . . .. . . . .. . . . . . . . . . . . . . .. . . . .. . . . . . . . . . . . . . .. . . . .. . . . . . . . . . . . . . .. . . . .. . . . . . . . . . . . . . .. . . . .. . . . . . . . . . . . . . .. . . . .. . . . . . . . . . . . . . .. . . . .. . . . . . . . . . . . . . .. . . . .. . . . . . . . . . . . . . .. . . . .. . . . . . . . . . . . . . .. . . . .. . . . . . . . . . . . . . .. . . . .. . . . . . . . . . . . . . .. . . . .. . . . . . . . . . . . . . .. . . . .. . . . . . . . . . . . . . .. . . . .. 1 5 6 7 7. . . . . . . . . . . . . . .. 8 10 11 13 13 15 15 17 19 19 20 20 20 20 21.
(9) 3. Equalização Cega Adaptativa 3.1 Caracterização do canal de comunicação . . . . . . . . . . . . . . . . . . 3.2 Equalização adaptativa cega . . . . . . . . . . . . . . . . . . . . . . . .. 22 23 25. 4. Programação Linear Estocástica 4.1 Programação linear . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.1 Classificação das soluções . . . . . . . . . . . . . . . . . . . 4.1.2 Operações elementares . . . . . . . . . . . . . . . . . . . . . 4.1.3 Limites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.4 Hipóteses da programação linear . . . . . . . . . . . . . . . . 4.2 Programação linear estocástica . . . . . . . . . . . . . . . . . . . . . 4.2.1 Modelo de recurso . . . . . . . . . . . . . . . . . . . . . . . 4.2.2 Modelo probabilístico . . . . . . . . . . . . . . . . . . . . . 4.3 Algoritmos genéticos como solucionadores de problemas estocásticos. . . . . . . . . .. 29 30 30 31 32 32 33 34 35 36. . . . . . .. 38 38 43 43 44 46 47. . . . . .. 50 50 51 51 52 58. 5. 6. 7. Equalizador Linear Cego Baseado em GA 5.1 Equalização cega baseada em programação linear . . . . . . . . . 5.2 O esquema ELC-GA . . . . . . . . . . . . . . . . . . . . . . . . 5.2.1 Arquitetura do ELC-GA . . . . . . . . . . . . . . . . . . 5.2.2 Função objetivo . . . . . . . . . . . . . . . . . . . . . . . 5.2.3 O algoritmo genético . . . . . . . . . . . . . . . . . . . . 5.3 Algoritmo genético para resolução do problema linear estocástico Resultados 6.1 Simulações . . . . . . . . . . . . . . . . . . . . . 6.1.1 Parâmetros das estruturas dos equalizadores 6.1.2 Parâmetros do algoritmo genético . . . . . 6.2 Resultados obtidos . . . . . . . . . . . . . . . . . 6.3 Análise de convergência . . . . . . . . . . . . . . Conclusões. Referências bibliográficas. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . . .. . . . . .. . . . . . .. . . . . .. . . . . . . . . .. . . . . . .. . . . . .. 60 62.
(10) Lista de Figuras. 2.1 2.2 2.3 2.4 2.5. Fluxo Geral de um algoritmo genético. . . . . . . . . . . . . . . . . . . . Exemplos de representações de cromossomos. . . . . . . . . . . . . . . . Esquema de geração da população inicial para problemas com restrições. Seleção de indivíduos utilizando o método da roleta. . . . . . . . . . . . Seleção de indivíduos utilizando o método da amostragem estocástica uniforme. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ilustração simplificada da aplicação do operador genético de cruzamento (cruzamento de n pontos) para representação de cromossomos por cadeias binárias. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ilustração simplificada do uso do operador genético de cruzamento (cruzamento intermediário) para representação de cromossomos por vetores de valores inteiros ou reais. . . . . . . . . . . . . . . . . . . . . . . . . . Ilustração simplificada da aplicação do operador genético de mutação para representação de cromossomos por cadeias binárias. . . . . . . . . . Efeito da mutação em um cromossomo de duas dimensões, codificado com variáveis reais. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 9 11 12 14. 3.1 3.2 3.3 3.4. Ilustração do fenômeno de multi-percurso entre transmissor e receptor. Sistema de comunicação discreto em banda base com ISI e AWGN. . Estrutura de um equalizador linear de comprimento N. . . . . . . . . Estrutura de um equalizador linear adaptativo cego. . . . . . . . . . .. . . . .. 24 24 26 26. 5.1. Estrutura do algoritmo ELC-GA. . . . . . . . . . . . . . . . . . . . . . .. 43. 6.1. Curva de desempenho de BER de um sistema 4-QAM em função de Eb /N0 relativas ao canal A, ha (k) (ver equação (6.2)). . . . . . . . . . . . Curva de desempenho de BER de um sistema 16-QAM em função de Eb /N0 relativas ao canal A, ha (k) (ver equação (6.2)). . . . . . . . . . . . Curva de desempenho de BER de um sistema 64-QAM em função de Eb /N0 relativas ao canal A, ha (k) (ver equação (6.2)). . . . . . . . . . . .. 2.6. 2.7. 2.8 2.9. 6.2 6.3. iii. . . . .. 15. 16. 17 18 19. 53 53 54.
(11) 6.4. Curva de desempenho de BER de um sistema 4-QAM em função de Eb /N0 relativas ao canal B, hb (k) (ver equação (6.3)). . . . . . . . . . . . 6.5 Curva de desempenho de BER de um sistema 16-QAM em função de Eb /N0 relativas ao canal B, hb (k) (ver equação (6.3)). . . . . . . . . . . . 6.6 Curva de desempenho de BER de um sistema 64-QAM em função de Eb /N0 relativas ao canal B, hb (k) (ver equação (6.3)). . . . . . . . . . . . 6.7 Diagrama de constelação do sinal recebido para o sistema 4-QAM, usando o canal A, ha (k) (ver equação (6.2)), com Eb /N0 = 30 dB. . . . . . . . . 6.8 Diagrama de constelação do sinal recebido para o sistema 16-QAM, usando o canal A, ha (k) (ver equação (6.2)), com Eb /N0 = 30 dB. . . . . . . . . 6.9 Diagrama de constelação do sinal recebido para o sistema 4-QAM, usando o canal B, hb (k) (ver equação (6.3)), com Eb /N0 = 30 dB. . . . . . . . . 6.10 Diagrama de constelação do sinal recebido para o sistema 16-QAM, usando o canal B, hb (k) (ver equação (6.3)), com Eb /N0 = 30 dB. . . . . . . . .. 55 55 56 57 57 58 58.
(12) Lista de Tabelas. 6.1 6.2. Parâmetros utilizados nas estruturas dos equalizadores simulados. . . . . 51 Parâmetros fornecidos ao toolbox do Matlab para a implementação do GA. 52. v.
(13) Lista de Símbolos. a(k) A deq E[·] Eb h(k) ha (k) hb (k) JCMA (w(k)) JPL (w(k)) K M N N0 P r(k) u(k) w(k) x(k) a(k) γ δ(·) µ ρi τi τ1 τ2. Sequência de dados bidimensional transmitida pelo emissor Alfabeto da modulação QAM Atraso de equalização Operador média ou esperança Energia de bit do sistema Resposta ao impulso do canal Expressão do canal A Expressão do canal B Função de custo do CMA Função de custo do ELC-GA Tamanho do bloco de dados processado pelo algoritmo Tamanho do alfabeto da modulação QAM Comprimento do equalizador Densidade espectral de potência do ruído Tamanho da população de indivíduos do algoritmo genético Ruído aditivo Sinal de entrada do receptor Vetor de ganhos do equalizador Sinal de saída do canal de transmissão Sequência estimada do sinal transmitido na saída do equalizador Constante de dispersão do CMA Função Impulso Passo de adaptação do CMA Atenuação (ganho complexo) sofrida pelo canal Atraso do i-ésimo percurso Variável auxiliar introduzida na função objetivo Variável auxiliar introduzida na função objetivo. vi.
(14) Lista de Abreviaturas. AWGN BER BIBO CMA ELC-GA FIR GA HOS ISI LP QAM RP SOS SP WS. Ruído Aditivo Branco Gaussiano (Additive White Gaussian Noise) Taxa de Erro de Bit (Bit Error Rate) Entrada Limitada, Saída Limitada (Bounded-Input Bounded-Output) Algoritmo do Módulo Constante (Constant Modulus Algorithm) Algoritmo Equalizador Linear Cego baseado em Algoritmo Genético Filtro de Resposta ao Impulso Finita (Finite Impulse Response Filter) Algortimo Genético (Genetic algorithm) Estatísticas de Ordem Superior (High Order Statistics) Interferência Intersimbólica (Intersymbol Interference) Programação Linear (Linear programming) Modulação de Amplitude em Quadratura (Quadrature Amplitude Modulation) Problema de recurso (Recourse Problem) Estatísticas de Segunda Ordem (Second Order Statistics) Programação Estocática (Stochastic programming) Solução espere-e-veja (Wait-and-See). vii.
(15) Capítulo 1 Introdução. Os sistemas de comunicações digitais fazem parte de nosso cotidiano de tantas formas que a diversidade de suas aplicações pode passar desapercebida. Dispositivos inteligentes, smartphones e computadores conectados às redes de dados digitais, telefonia e televisão digitais são apenas exemplos dessas aplicações. Em todos esses sistemas, uma sequência de símbolos é gerada em um terminal de transmissão, e após passar pelo canal de comunicações, é captada no terminal de recepção. O objetivo de um sistema de comunicação é transferir dados a partir da fonte de informação para um determinado destino de maneira confiável, permitindo que a mensagem seja recebida de forma fiel à informação original. Um dos principais problemas dos sistemas de comunicações é a introdução de ruídos e distorções aos sinais pelos canais de comunicação, corrompendo a mensagem transmitida. O termo ruído é normalmente utilizado para designar sinais indesejáveis que tendem a perturbar a transmissão e o processamento de sinais em sistemas de comunicações e sobre os quais temos um controle incompleto [Haykin 2004]. As causas do ruído podem ser externas (por exemplo, ruído atmosférico, galáctico) ou internas ao sistema, que surgem a partir de flutuações espontâneas de corrente ou tensão no circuito elétrico. Dentre as distorções, a dispersão temporal causada pelas características não-ideais da resposta em frequência do canal ou a transmissão multi-percurso podem causar a Interferência Intersimbólica (ISI - Intersymbol Interference). A ISI é uma manifestação crítica de distorção, por meio da qual símbolos transmitidos antes e depois de um determinado símbolo corrompem a detecção desse símbolo. Todos os canais físicos, a uma taxa de dados alta o suficiente, tendem a apresentar ISI [Johnson et al. 1998]. Por isso, a ISI tem se tornado um fator limitante em muitos ambientes de comunicação. Desse modo, receptores otimizados devem ser projetados para tratar conjuntamente o ruído e os efeitos dispersivos do canal [Haykin 2001b]. Para remover ou minimizar a ISI, trazendo a Taxa de Erro de Bit (BER - Bit Error Rate) à valores aceitáveis, pode-se lançar mão de um equalizador digital de canal. Um.
(16) CAPÍTULO 1. INTRODUÇÃO. 2. equalizador tem por função processar o sinal recebido pelo receptor, reduzindo os efeitos do canal, a fim de obter um sinal o mais próximo possível do sinal transmitido. Como a ISI é altamente dinâmica e muda de acordo com o ambiente, o equalizador precisa contar com algoritmos adaptativos eficientes, que manipulam convenientemente os coeficientes dos equalizadores, objetivando a atenuação da ISI [Haykin 2001a, Haykin 2001b, Proakis 2000]. O cancelamento da ISI utilizando um equalizador adaptativo tem sido estudado há vários anos pela comunidade de processamento de sinais [Proakis 2000]. Os métodos convencionais de equalização de canal utilizam algoritmos adaptativos como o algoritmo LMS ( Least Mean Squares) e o algoritmo Gauss-Newton para determinar os coeficientes do equalizador que minimizam a média quadrática do erro de estimativa. O erro de estimativa corresponde à diferença entre o símbolo transmitido e o valor estimado para esse símbolo, fornecido na saída do equalizador. Para ser possível o cálculo do erro, é necessária a transmissão de um sinal de referência ao receptor. Determinados os coeficientes, considera-se que o canal já esteja suficientemente equalizado, obtendo-se dessa forma uma estimativa suficientemente precisa do símbolo transmitido. Nesse tipo de operação, o equalizador é denominado supervisionado. Vale salientar que esse sinal de transferência serve apenas para sincronia e treinamento, não carrega informação. Portanto, a necessidade de transmissão dos sinais de referência sacrifica consideravelmente a capacidade do canal. Em contraste aos métodos tradicionais de equalização, os chamados métodos de equalização cega operam sem uma sequência de treino [Proakis 2000]. Em outras palavras, equalização cega significa a recuperação das informações sobre o sinal transmitido ou canal através da análise das características da sua saída, e alguma informação sobre o sistema ou a sequência transmitida, mas não a própria sequência [Haykin (Editor) 1994]. A equalização cega é conhecida também como autodidata ou não-supervisionada. As técnicas de equalização cega podem ser amplamente classificadas com base nas Estatísticas de Ordem Superior (HOS - High-Order Statistics) ou com base nas Estatísticas de Segunda Ordem (SOS - Second Order Statistics). O Algoritmo do Módulo Constante (CMA - Constant Modulus Algorithm), introduzido por [Godard 1980], é considerado o mais simples e o mais bem-sucedido dos algoritmos de equalização cega baseados em HOS. Trata-se de um algoritmo de otimização baseado na técnica do Gradiente Descendente. A função de custo do CMA é baseada apenas na amplitude dos sinais recebidos. Entretanto, essa função de otimização não converge globalmente, apresentando pontos indesejáveis de mínimos locais que podem levar a uma redução ineficiente da ISI [Godard 1980, Benveniste e Goursat 1984]. Uma visão detalhada do CMA é apresentada.
(17) CAPÍTULO 1. INTRODUÇÃO. 3. em [Johnson et al. 1999]. Outras abordagens semelhantes que merecem destaque são as propostas por [Sato 1975], [Benveniste et al. 1980], [Godard 1980], [Benveniste e Goursat 1984] e o “Stopand-go”, proposto por [Picchi e Prati 1987]. Outras abordagens envolvem não-linearidade e despendem um enorme custo computacional. O trabalho de [Tugnait et al. 2000] apresenta um excelente tutorial sobre essas técnicas e outros métodos de equalização cega. Os métodos de equalização cega baseados em HOS dependem principalmente da otimização de funções de custo não-convexas e não-lineares. Essas funções têm uma estrutura geométrica altamente multi-modal com muitos mínimos locais. Esses métodos, em geral, são implementados usando estruturas de filtro FIR linear. Um filtro FIR linear, todavia, tem uma região de decisão convexa e, consequentemente, não é adequado para otimizar tais funções de custo [Pandey 2004]. Buscando melhorar o desempenho dos equalizadores cegos em relação aos problemas de mínimos locais, [Kennedy e Ding 1992] propôs uma técnica de equalização cega globalmente convergente baseada em uma função de custo convexa para minimizar a ISI. Seguindo as orientações a respeito da função de custo convexa introduzida em [Kennedy e Ding 1992], o trabalho apresentado em [Ding e Luo 2000] descreveu uma metodologia em Programação Linear (LP) aplicada a equalizadores cegos, como uma alternativa ao CMA. Outros trabalhos relacionados à utilização de programação linear associada a equalização cega são descritos em [Luo et al. 2002, Muhammad e Ding 2010, Jacklin et al. 2013]. No entanto, os trabalhos citados anteriormente [Kennedy e Ding 1992, Ding e Luo 2000, Luo et al. 2002] sobre equalização cega baseada em programação linear foram incompletos pela falta de qualquer análise do desempenho da técnica em canais com ISI e ruído aditivo branco gaussiano (AWGN). Em situações reais, o ruído do canal e a interferência intersimbólica agem em conjunto, afetando o comportamento de um sistema de transmissão de dados de uma maneira combinada [Haykin 2001b]. A análise de ruído em sistemas de comunicações geralmente se baseia em uma forma particular de ruído, chamada de ruído branco, cuja densidade espectral de potência (ou espectro de potência) é independente da frequência de operação. O ruído branco tem potência média infinita e, sendo assim, não é fisicamente realizável. Entretanto, contanto que a largura de banda de um processo de ruído na entrada de um sistema seja consideravelmente maior que a do próprio sistema, é possível modelar o processo de ruído como o de um ruído branco. Se o ruído branco também for gaussiano, então duas amostras quaisquer dele serão estatisticamente independentes. Em certo sentido, o ruído branco gaussiano apresenta o que há de definitivo em “aleatoriedade” [Haykin 2004]. O sinal.
(18) CAPÍTULO 1. INTRODUÇÃO. 4. transmitido, ao ser adicionado de um processo aleatório que caracteriza o ruído, passa a ser também um processo aleatório. Assim, as literaturas sobre programação linear supracitadas são válidas apenas ao assumir-se um problema determinístico, que é impraticável em muitos cenários possíveis. Nesse sentido, o trabalho de [Fernandes 2015] estende a função proposta por [Kennedy e Ding 1992] a fim de considerar também os efeitos do ruído do canal, propondo uma nova função de restrição, e aplicando-a a algoritmos de programação linear num equalizador adaptativo cego. [Fernandes 2015] provou que essa nova função de custo estendida é capaz de equalizar sinais com ISI e ruído. Entretanto, apesar dos bons resultados, algoritmos clássicos de programação linear não são indicados para cenários estocásticos. Dentre as técnicas possíveis para equalização adaptativa, várias abordagens utilizando Algoritmo Genético (GA - Genetic Algorithm) foram propostas na literatura. O trabalho de [Mohammed 2012] faz um estudo da adequação dos Algoritmos Genéticos para equalização adaptativa. Em abordagens mais práticas, o trabalho de [Surajudeen-Bakinde et al. 2011] propõe um algoritmo adaptativo baseado em GA para equalização no domínio da frequência de sistemas DS-UWB (Direct Sequence Ultra Wideband), enquanto o trabalho de [Merabti e Massicotte 2014] propõe uma abordagem baseada em GA para canais não-lineares. Para o caso particular de equalização cega adaptativa, em geral, as abordagens utilizam técnicas complementares de busca local para aumentar a capacidade de convergência do GA. O trabalho de [Gang e Yourong 2009] propõe uma abordagem simples com GA, utilizando como função-objetivo o critério de custo do CMA. Assim como em [Gang e Yourong 2009], outras abordagens utilizam como base o GA e o critério de custo do CMA. O algoritmo proposto em [Han et al. 2005] utiliza como técnica de busca local o Simulated Annealing, valendo-se de sua grande capacidade de convergência; [Zaouche et al. 2008] utiliza-se da técnica da Busca Generalizada de Padrões (GPS) para uma otimização irrestrita; e [Liu et al. 2008] propõe Algoritmo Genético Imune Otimizado (IOGA), que trata-se de algoritmo genético híbrido, utilizando como gerador de população inicial uma Rede de Imunidade Artificial, aiNet, e onde cada indivíduo é denominado anticorpo. Já o trabalho de [Lin e Yamashita 2002] propõe um Algoritmo genético híbrido que utiliza Simplex com busca local. A população inicial é gerada usando redes RBF, e a função-objetivo é dada pela função de custo de probabilidade Bayesiana. O critério de Shalvi-Weinstein [Shalvi e Weinstein 1990] é utilizada como função de custo na abordagem baseada em algoritmos genéticos apresentada por [Zhu 2015]. O trabalho de [Guo e Fan 2011] propõe um algoritmo de equalização cega baseada em algoritmos genéticos e transformada de Wavelet, e segue adicionando a essa abordagem Máquina de vetores de suporte [Guo et al. 2012] e Busca Tabu [Yecai Guo 2015]..
(19) CAPÍTULO 1. INTRODUÇÃO. 1.1. 5. Justificativa e motivação. Dentre muitos métodos de otimização hoje disponíveis o uso de algoritmos genéticos é uma opção que oferece grande flexibilidade, pois permite exploração e explotação do espaço de busca aliado ao uso de variáveis contínuas ou discretas, e oferece resultados satisfatórios na maioria dos casos [Cantú-Paz e Goldberg 2000]. Tratam-se de uma metaheurística inspirada na teoria da evolução das espécies, e usam as formas com que a natureza busca evolução como metáforas de seus parâmetros e operadores. Por combinar técnicas que tanto buscam explorar de forma representativa o espaço de busca, quanto técnicas para intensificar buscas em locais do espaço de busca mais promissores, estes algoritmos são suficientemente complexos para fornecer mecanismos poderosos e robustos de busca adaptativa. Além da sua simplicidade de implementação, a aplicação em questão pode ser convertida sem maiores questões em uma aplicação paralela, a fim de melhorar seu desempenho de tempo de processamento. Como explicado anteriormente, a questão de convergência é um problema particularmente sensível das abordagens tradicionais para equalização cega, devido a considerável tendência de convergência para ótimos locais desses métodos. Por conta desse problema, uma função de custo convexa baseada em programação linear foi proposta inicialmente por [Kennedy e Ding 1992]. Ao contrário do critério de Godard [Godard 1980], presente no Algoritmo de módulo constante e na maioria das abordagens utilizando metaheurísticas, essa função de custo não requer cálculo de erro, usando de forma mais eficiente os recursos do filtro do equalizador. Entretanto, nessa abordagem em programação linear e em várias posteriores, não foram levados em consideração os efeitos do ruído sistêmico em conjunto com a ISI. O trabalho de [Fernandes 2015] seguiu a linha proposta por [Kennedy e Ding 1992] e modificou a função de custo para considerar também os efeitos do ruído. Entretanto, o ruído é um processo de natureza aleatória, e a adição dele ao sinal faz com que o sinal resultante que será tratado pelo equalizador tenha também uma característica aleatória. Quando um ou mais dos elementos de dados de uma programação linear é representado por uma variável aleatória, isso resulta em uma programação linear estocástica[Sen e Higle 1999]. Levando em consideração que métodos tradicionais para resolução de problemas lineares, como apresentados em [Fernandes 2015], não são os mais adequados para abordagens com variáveis estocásticas, um método adequado deve ser investigado. Os algoritmos genéticos tem sido utilizados como ferramenta para soluções de problemas de natureza estocástica nos últimos anos. [Yoshitomi et al. 2000] propõe um.
(20) CAPÍTULO 1. INTRODUÇÃO. 6. algoritmo genético modificado, GAUCE (GA in uncertain environments) para resolução de problemas estocásticos, onde a função objetivo e/ou restrições são osciladas de acordo com as funções de distribuição de suas variáveis aleatórias.O trabalho de [Poojari e Varghese 2008] propõe a combinação de algoritmos genéticos com simulações para resolução de problemas estocásticos. Os algoritmos genéticos também foram utilizados em aplicações práticas com variáveis estocásticas como, por exemplo, gestão da qualidade do ar [Ma e Zhang 2002, Qin et al. 2010], planejamento de portfólio de recursos [Wang et al. 2008] e otimização de portfólios com preços de ativos incertos [Cui et al. 2015]. Neste sentido, este trabalho contribui com a proposta de um algoritmo adaptativo para equalização cega baseado em algoritmos genéticos com a função de custo convexa baseada em programação linear proposta por [Fernandes 2015]. O esquema proposto, aqui chamado ELC-GA (equalizador linear cego baseada em algoritmos genéticos), combina a robustez e simplicidade dos algoritmos genéticos, com uma função de custo globalmente convergente.. 1.2. Objetivos. Com base no exposto, este trabalho tem como objetivos:. Objetivo geral • Fornecer uma estratégia algorítmica para melhorar a qualidade da equalização fornecida por equalizadores adaptativos lineares cegos, utilizando uma abordagem baseada em algoritmos genéticos.. Objetivos específicos • Desenvolver o algoritmo ELC-GA (Equalizador Linear Cego baseado em Algoritmo Genético); • Realizar testes com o ELC-GA levando em consideração diferentes ambientes e configurações; • Comparar a qualidade das soluções fornecidas pelo ELC-GA frente à abordagem tradicional do CMA..
(21) CAPÍTULO 1. INTRODUÇÃO. 1.3. 7. Publicações relacionadas. Os resultados tratados nesse documento foram descritos resumidamente em artigos, e estes foram relacionados aos seguintes eventos que seguem: • Silva, Caroline e Marcelo Fernandes (2015), ’Proposta de Equalizador Cego Baseado em Algoritmos Genéticos’, Escola Potiguar de Computação e suas Aplicações (EPOCA 2015), 1(20):141-150. • Silva, Caroline e Marcelo Fernandes (2016), ’Linear Programming Applied to the Optimization of Blind Adaptive Antenna Arrays’, XXXIV Simpósio Brasileiro de Telecomunicações (SBrT 2016), pp. 694-698. • Silva, Caroline e Marcelo Fernandes (2016), ’Blind Adaptive Equalizer Based on Genetic Algorithms’, XIII Encontro Nacional de Inteligência Artificial e Computacional (ENIAC 2016).. 1.4. Estrutura do documento. A estrutura desta dissertação consiste em sete capítulos. Este capítulo tratou de introduzir o problema abordado no trabalho, conceitos relevantes ao mesmo e um breve resumo da literatura sobre o assunto. O Capítulo 2, dedica-se a apresentar a otimização por Algoritmos Genéticos, detalhando seu funcionamento e operadores. Já o Capítulo 3 destina-se a conceituar aspectos teóricos referentes à Equalização Cega Adaptativa. Em seguida, o Capítulo 4 dá uma visão geral sobre Programação Linear e Programação Linear Estocástica, abordando seus principais conceitos, operações e modelagens. O Capítulo 5 detalha o esquema proposto, ELC-GA, mostrando os diversos aspectos de implementação, como arquitetura utilizada, função de custo considerada e a abordagem do problema através de algoritmos genéticos. O Capítulo 6 descreve os experimentos computacionais realizados e seus resultados, detalhando os canais simulados e parâmetros utilizados. As considerações finais são feitas no Capítulo 7, bem como as perspectivas futuras deste trabalho..
(22) Capítulo 2 Algoritmos Genéticos. Os algoritmos genéticos (GA) constituem métodos de busca baseados em mecanismos de seleção e evolução natural. Introduzidos pelo trabalho de [Holland 1962] e amplamente popularizados através de trabalhos como o de [Goldberg 1989], objetivavam replicar os processos utilizados pelos sistemas auto adaptativos em um contexto computacional. Partindo do modelo de cromossomos para representar o processo evolutivo, Holland [Holland 1973, Holland 1974] utilizou uma cadeia de símbolos binários (0,1) para representar as cadeias de ácido nucléico. O objetivo desses trabalhos era fundamentar uma teoria geral de adaptação robusta, mas que, contudo, foi capaz de encontrar um caminho de grande e imediata aplicação prática na determinação de máximos e mínimos de funções matemáticas [Goldbarg e Luna 2005]. Os Algoritmos Genéticos são modelados a partir de um problema de otimização, utilizando uma população de representações abstratas (os cromossomos) de soluções candidatas (os indivíduos), e evoluindo em direção às melhores soluções. Como ilustrado pela Figura 2.1, essa evolução inicia-se a partir de uma população inicial de indivíduos gerados aleatoriamente ou através de uma heurística, e segue por várias gerações. Em cada geração (ou iteração do algoritmo), a função de aptidão é utilizada para avaliar toda a população. As aptidões são utilizadas para ponderar a seleção estocástica de vários indivíduos da população atual (pais), que serão modificados ou não através de operações indutoras de convergência (elitismo, cruzamento) e variabilidade (mutação) para formar uma nova população que, assim, torna-se a população atual da próxima iteração do algoritmo. Quando algum critério de parada é encontrado, o melhor indivíduo encontrado é retornado e o algoritmo finaliza. É usualmente aceito que a implementação de um algoritmo genético para solução de um problema de otimização deve possuir os seguintes componentes: • Uma representação genética das soluções viáveis do problema a ser tratado..
(23) CAPÍTULO 2. ALGORITMOS GENÉTICOS. 9. Figura 2.1: Fluxo Geral de um algoritmo genético. • A determinação de uma população inicial de cromossomos. • A definição de uma função de avaliação dos cromossomos. • A definição dos operadores que vão permitir a produção de novos indivíduos e seus parâmetros. • A definição de vários parâmetros como: regras de parada, tamanho da população, esquema de garantia de diversidade etc. Além dos itens supracitados, uma implementação completa de um GA envolve ainda a especificação de um número de parâmetros, tais como o número de gerações e função de escala. Os Algoritmos Genéticos se diferenciam das técnicas clássicas de otimização em vários aspectos, tais como: • Operam em um conjunto de pontos (a população), e não a partir de pontos isolados; • Operam em um espaço de soluções codificadas (cromossomos) e não diretamente no espaço de busca; • A função objetivo e os valores fitness correspondentes são suficientes para bem executar os direcionamentos das buscas no processo de otimização;.
(24) CAPÍTULO 2. ALGORITMOS GENÉTICOS. 10. • Usam transições probabilísticas em vez de regras determinísticas. Os algoritmos genéticos são métodos de busca estocástica inteligente, onde os indivíduos são representados por cromossomos e competem por recursos e probabilidade de reprodução. Os indivíduos que tiverem mais sucesso nas competições terão maior probabilidade de reprodução que aqueles de menor desempenho. Os genes dos indivíduos avaliados como bons se propagam através das gerações, originando proles cada vez mais adequadas [Goldbarg e Luna 2005]. Nas seções a seguir, serão detalhados os aspectos mais relevantes para uma aplicação de algoritmos genéticos.. 2.1. Representação dos indivíduos. A aplicação de algoritmos genéticos a um problema de otimização deve ser iniciada com a determinação de como as possíveis soluções para esse problema devem ser representadas, de modo que essa meta-heurística possa atuar adequadamente sobre o problema. Isso implica que, para cada representação distinta, deve haver operadores genéticos correspondentes. Os algoritmos genéticos atuam sobre populações de indivíduos ou cromossomos, com cada cromossomo representando uma solução viável ao problema a ser otimizado. Um cromossomo é representado computacionalmente por meio de uma estrutura de dados, normalmente vetores de valores binários, inteiros ou reais. Naturalmente, as representações cromossômicas podem ser feitas com estruturas mais complexas. Essas representações correspondem, em geral, ao conjunto de parâmetros da função objetivo cuja resposta deve ser otimizada. Assim, considerando uma solução de um problema associada a um cromossomo p, este poderá ser representado na forma de um vetor com n posições, de forma que p = (w1 , w2 , . . . , wn ) em que cada componente wi representa um gene, ou seja, um parâmetro da solução objetivo. O espaço de busca a ser considerado pelos algoritmos genéticos corresponde a todas as configurações possíveis que possam ser assumidas por um cromossomo. Logo, se o cromossomo possui n genes, então o espaço de busca será n-dimensional. O significado das cadeias de cromossomos é completamente livre, cabendo ao modelador concretizar o processo adaptativo e de seleção natural preconizado na estratégia. A representação de uma solução dentro de uma estrutura cromossômica pode não ser uma tarefa trivial. A Figura 2.2 mostra várias estruturas cromossômicas que correspondem, de cima para baixo, a uma cadeia binária, a um vetor de números reais e a um vetor de caracteres. A ca-.
(25) CAPÍTULO 2. ALGORITMOS GENÉTICOS. 11. Figura 2.2: Exemplos de representações de cromossomos. deia binária, desde sua introdução nos trabalhos de [Holland 1973, Holland 1974], ainda é a forma de representação mais comum. Entretanto, mesmo com sua simplicidade de manipulação, pode ser inadequada para uma série de problemas. Em termos de representação de indivíduos, ainda devem ser considerados os conceitos de genótipo e de fenótipo. O genótipo representa a estrutura do cromossomo codificado, enquanto que o fenótipo denota o cromossomo decodificado. No primeiro exemplo da Figura 2.2, o genótipo é dado pela cadeia binária 10011101. O fenótipo, por sua vez, dependerá do problema a ser tratado. Em um problema de otimização numérica, o genótipo citado anteriormente teria como fenótipo o valor 157; já no clássico problema da mochila, o fenótipo indicaria que o primeiro, quarto, quinto, sexto e oitavo objetos deveriam ser colocados na mochila.. 2.2. Inicialização. Um conjunto de soluções codificadas de acordo com a representação cromossômica definida corresponde a uma população de indivíduos. Os algoritmos genéticos realizam mudanças evolutivas na população a cada iteração. Desse modo, cada iteração do algoritmo genético é chamada de geração, e cada população nesse ciclo evolutivo representa o estado atual da solução do problema. O número de indivíduos que farão parte da população é um fator importante para o desempenho dos algoritmos genéticos. Quanto maior o tamanho da população, maior a parte do espaço de busca que será processada pelo algoritmo e, portanto, maior a probabilidade do ótimo global estar entre os indivíduos da população. Por outro lado, são necessários mais recursos de memória e de tempo computacional para concluir o processamento. No estágio de inicialização, deve ser gerada uma população inicial de soluções candi-.
(26) CAPÍTULO 2. ALGORITMOS GENÉTICOS. 12. datas. Normalmente, a população inicial de indivíduos é gerada aleatoriamente ou através de algum processo heurístico. A inicialização aleatória garante grande variabilidade e cobertura do espaço de busca, embora possa contribuir para uma convergência mais lenta. Já na inicialização utilizando uma heurística, a população inicial pode ser obtida obedecendo condições de contorno previamente estabelecidas, de acordo com algum conhecimento prévio do problema a ser otimizado. Quanto mais restritas essas condições, mais próximos os indivíduos estarão da solução desejada e, portanto, mais rápida será a convergência. Entretanto, se a heurística não for bem construída, a falta de variabilidade genética pode implicar na convergência para uma solução ótima local. Os algoritmos genéticos foram desenvolvidos inicialmente para problemas irrestritos. Entretanto, vários problemas são modelados com restrições. Para que a população inicial seja gerada de modo que atenda às restrições do modelo, a heurística de criação normalmente começa criando um certo número de indivíduos nas fronteiras do espaço de restrições e, em seguida, gera os indivíduos restantes na região interna do espaço de restrições, buscando abranger uniformemente essa região.. Figura 2.3: Esquema de geração da população inicial para problemas com restrições. A Figura 2.3 mostra a rotina de geração da população inicial para um problema com três restrições lineares, em que o espaço de restrições é indicado pela região colorida, e os círculos de bordas sólidas e pontilhadas indicam, respectivamente, os indivíduos criados nas fronteiras e região interna do espaço de restrição. Como o desenvolvimento dos algoritmos genéticos está fortemente ligada à herança genética, vale salientar que a qualidade da população inicial certamente influenciará o desempenho do algoritmo elaborado..
(27) CAPÍTULO 2. ALGORITMOS GENÉTICOS. 2.3. 13. Avaliação. A função de aptidão, de adaptação, ou fitness dá, para cada indivíduo, uma medida do quão bem adaptado ao ambiente ele está, ou seja, as suas chances de sobreviver e de passar sua informação genética para gerações posteriores através da reprodução. Em termos computacionais, a função de aptidão indica o quão bem uma solução candidata é capaz de resolver um problema. Dessa forma, os valores da função de aptidão são utilizados para dirigir o processo de busca. É imprescindível a definição apropriada desta medida de adaptação, para que o processo evolutivo seja capaz de fornecer uma solução que atenda aos objetivos em questão [Goldberg 1989]. Os algoritmos genéticos sempre buscam os indivíduos com melhores aptidões. Desse modo, quando se quer maximizar uma solução, pode-se utilizar a função de otimização diretamente como função objetivo. Entretanto, quando se trata de um problema de minimização, é necessário que se utilize uma transformação na função de otimização para garantir que os indivíduos com valor mínimo de otimização tenham máxima aptidão.. 2.4. Seleção. O procedimento de seleção deve, de acordo com os princípios da teoria da evolução natural de [Darwin 1859], privilegiar a escolha de indivíduos melhores avaliados, ou seja, aqueles considerados mais aptos a solucionar o problema em investigação. Segundo [Dawkins 1996], a seleção é um processo: • Dirigido: ao contrário da mutação, que muitos acreditam ocorrer de forma aleatória, a seleção opera de forma determinística (ou próxima disso). Isto é, enquanto as mutações ocorrem ao acaso, um indivíduo só consegue sobreviver em um ambiente e nele se reproduzir se e somente se for capaz, graças às suas características fenotípicas, de responder de forma adequada a todos os fenômenos de seu meio; • Cumulativo: os benefícios do processo de seleção são mantidos de uma geração para a outra. Este fator, combinado com a não aleatoriedade da seleção, garante a possibilidade de surgimento de organismos complexos como as formas de vida que hoje conhecemos. A seleção natural consiste então de um longo processo de pequenas tentativas e erros, onde os ganhos são sempre acumulados, de geração para geração. Portanto tende-se, neste processo, a proliferar a produção de soluções mais aptas e a extinguir indivíduos representando soluções menos aptas. Dada essa necessidade,.
(28) CAPÍTULO 2. ALGORITMOS GENÉTICOS. 14. observa-se a grande importância da função de adequação. As técnicas de seleção mais comuns são baseadas nos métodos da roleta, da amostragem estocástica uniforme e do torneio. A seleção por roleta é um algoritmo estocástico no qual os indivíduos são mapeados em seguimentos contíguos de uma linha, de modo que o tamanho do segmento de cada indivíduo é dado pela seguinte função de distribuição ϕ(ci (t)) =. f (ci (t)) f (ci (t)). ∑ni=1. (2.1). em que f (ci (t)) corresponde à fitness do indivíduo ci na geração t. Um número aleatório é gerado e o indivíduo cujo segmento contém o número aleatório é selecionado. O processo é repetido até que o número desejado de indivíduos seja alcançado. A Figura 2.4 mostra um conjunto de dez indivíduos devidamente escalonados em uma linha, cujas probabilidades de seleção foram determinadas através da Equação (2.1). Deseja-se selecionar 6 indivíduos e, para isso, foram realizadas seis rodadas (ou tentativas), gerando aleatoriamente os números 0, 81, 0, 32, 0, 96, 0, 01, 0.65 e 0.42. A partir dessas rodadas foram selecionados, respectivamente, os indivíduos c6 , c2 , c9 , c1 , c5 e c3 .. Figura 2.4: Seleção de indivíduos utilizando o método da roleta. A amostragem estocástica uniforme funciona de forma semelhante ao método da roleta, mapeando os indivíduos em segmentos contíguos de uma linha, cujo tamanho é determinado pela Equação (2.1). Entretanto, esse método utiliza ponteiros igualmente espaçados cuja quantidade, N p , corresponde ao número de indivíduos que se deseja selecionar. A distância entre cada ponteiro é dada por 1/N p e a posição do primeiro ponteiro é dado por um número gerado aleatoriamente, no intervalo [0, 1/N p ]. Em um exemplo semelhante ao anterior, mostrado na Figura 2.5, deseja-se selecionar seis indivíduos da população. Logo, a distância entre os ponteiros será 1/6 = 0, 167. É gerado aleatoriamente um número no intervalo [0, 0, 167] cujo valor é 0,01. Assim, são selecionados os indivíduos c1 , c2 , c3 , c4 , c6 e c8 . A amostragem estocástica uniforme garante uma seleção de indivíduos mais próxima da desejada que o método da roleta..
(29) CAPÍTULO 2. ALGORITMOS GENÉTICOS. 15. Figura 2.5: Seleção de indivíduos utilizando o método da amostragem estocástica uniforme. Na seleção por torneio, um número Ntour de indivíduos é escolhido aleatoriamente da população, com a mesma probabilidade. O indivíduo com maior aptidão dentre os escolhidos é selecionado para fazer parte da população intermediária. O processo se repete até que se tenham tantos indivíduos quanto necessário. O parâmetro desse método é o tamanho do torneio, Ntour , que pode ter valores entre 2 e o tamanho da população, n. Um torneio com Ntour = 1 equivale a uma seleção aleatória. Se o valor de Ntour é maior, indivíduos menos aptos têm menores chances de serem escolhidos. A natureza probabilística desse processo objetiva manter a diversidade da população.. 2.5. Operadores genéticos. Como qualquer algoritmo de otimização global, os algoritmos genéticos devem ser capazes de explorar novos pontos no espaço de busca, bem como realizar buscas locais em regiões promissoras. Os operadores genéticos têm por função realizar esses mecanismos de exploração do espaço de busca e intensificação de buscas locais.. 2.5.1. Cruzamento. O operador de cruzamento tem a função de combinar os cromossomos dos pais, para obter cromossomos filhos, ou offsprings, que são adicionados à população. Após a seleção dos pares, os indivíduos são submetidos ao processo de cruzamento, onde são trocados arbitrariamente parte da cadeia genética entre dois ou mais indivíduos selecionados para reprodução. O comprimento e as posições das partes da cadeia genética são determinados aleatoriamente, mas são idênticos para os indivíduos selecionados. A troca de sub-cadeias de genes ocorre de acordo com uma certa probabilidade, geralmente menor que 1. Desse modo, existe a possibilidade da troca não ocorrer e os indivíduos selecionados permanecerem idênticos na população seguinte..
(30) CAPÍTULO 2. ALGORITMOS GENÉTICOS. 16. As operações de cruzamento mais comuns são o cruzamento de n pontos, o cruzamento uniforme e o cruzamento intermediário. O cruzamento de n pontos ocorre quando são escolhidas k regiões dos cromossomos selecionados que, então, são divididos nessas regiões e tem seus alelos correspondentes trocados entre si. A Figura 2.6 mostra essa operação para n = 1. Já o cruzamento uniforme compara, bit a bit, dois indivíduos selecionados para reprodução. Caso os valores em determinado locus coincidam, ambos descendentes recebem este valor. Caso estes valores sejam diferentes, eles serão trocados com uma probabilidade fixa.. Figura 2.6: Ilustração simplificada da aplicação do operador genético de cruzamento (cruzamento de n pontos) para representação de cromossomos por cadeias binárias. A técnica do cruzamento intermediário pode ser utilizada por genes representados por valores inteiros ou reais. Nessa técnica, os filhos são gerados a partir de uma média ponderada dos pais, em que cada cromossomo pai possui um peso (ou overlap), em geral escolhido aleatoriamente, no intervalo [0, 1]. Os novos cromossomos criados são encontrados dentro de um hipercubo, chamado de espaço de valor, definido pela alocação dos pais em vértices opostos (ver Figura 2.7 (a)). Se os pesos de todos os cromossomos pais possuírem o mesmo valor, então todos os filhos encontram-se na linha que une as posições dos pais (ver Figura 2.7 (b))..
(31) CAPÍTULO 2. ALGORITMOS GENÉTICOS. (a). 17. (b). Figura 2.7: Ilustração simplificada do uso do operador genético de cruzamento (cruzamento intermediário) para representação de cromossomos por vetores de valores inteiros ou reais.. 2.5.2. Mutação. Os algoritmos genéticos podem convergir muito rapidamente para uma região específica do espaço de busca. Contudo, essa convergência pode se dar em uma região de mínimos locais ao invés de mínimos globais. Para evitar esse problema, a mutação é uma operação utilizada para explorar outras áreas do espaço de busca, mas mantendo um nível mínimo de convergência. Nesse sentido, a mutação pode ser entendida como uma operação de diversificação. Entretanto, se a mutação aplicar apenas um ruído à solução contida no cromossomo, ela age como um mecanismo de intensificação, aumentando a busca na vizinhança do cromossomo original. O operador de mutação opera sobre um único cromossomo, alterando seu material genético. No caso de uma representação binária de cromossomos, a mutação corresponde à simples troca de um bit pelo seu complemento. Para representação em ponto flutuante, a operação de mutação corresponde ao acréscimo de um valor extraído de uma distribuição aleatória aos genes escolhidos. Desse modo, destacam-se dois tipos de mutação, a saber, a mutação uniforme, onde o valor aleatório a ser acrescido ao gene provém de uma distribuição constante ao longo do processo evolutivo; e a mutação não-uniforme, onde o valor a ser acrescido provém de uma distribuição que depende do tempo decorrido ao longo.
(32) CAPÍTULO 2. ALGORITMOS GENÉTICOS. 18. do processo evolutivo [Michalewicz 1996]. Um exemplo ilustrado do funcionamento do operador mutação pode ser visto na Figura 2.8, onde o Indivíduo 1 sofre mutação no seu terceiro gene, dando origem ao Indivíduo 2.. Figura 2.8: Ilustração simplificada da aplicação do operador genético de mutação para representação de cromossomos por cadeias binárias. Mutação em cromossomos codificados com valores reais (significa) que valores criados randomicamente são adicionados às variáveis com uma prioridade baixa. Para isso, define-se um tamanho do passo de mutação e a direção da mutação de modo que cmut = c + step · scale · dir,. (2.2). em que c é o indivíduo selecionado para sofrer mutação, cmut é o indivíduo criado a partir do processo de mutação, step é o tamanho do passo gerado aleatoriamente, dir corresponde a direção da mutação dentro do espaço (hipercubo) de busca do problema e scale ∈ [0, 1] pode tanto representar o valor escalonado do gene a sofrer mutação em relação às restrições associadas a ele, na qual genes com valores nas regiões de fronteiras de restrições recebem valor 1; quanto uma medida de precisão da mutação, gerada aleatoriamente, para problemas irrestritos. A Figura 2.9 mostra a geração de novos indivíduos através da operação de mutação, em que cada filho corresponde a um diferente passo de adaptação. O tamanho do passo de mutação é geralmente difícil de escolher. O tamanho de passo ótimo depende do problema considerado e pode variar durante o processo de otimização. Quando o tamanho do passo de mutação é pequeno, os indivíduos criados ocupam um espaço próximo do seu pai, gerando uma busca local detalhada. Sabe-se que os pequenos são frequentemente bem sucedidos, especialmente quando o indivíduo a sofrer mutação já está bem adaptado. No entanto, mudanças maiores (passos de mutação grandes) geram indivíduos em regiões distantes dos seus pais, fazendo uma maior exploração do espaço de busca. Assim, quando bem sucedidas, produz bons resultados mais rapidamente. Entre esses extremos, o algoritmo de mutação deve aprender e, então, decidir de forma adaptativa qual caso levará aos melhores resultados..
(33) CAPÍTULO 2. ALGORITMOS GENÉTICOS. 19. Figura 2.9: Efeito da mutação em um cromossomo de duas dimensões, codificado com variáveis reais. Algoritmos adaptativos de mutação geralmente empregam pequenas subpopulações de indivíduos, onde cada indivíduo gera um certo número de filhos. Apenas os melhores indivíduos gerados são reinseridos na população original e todos os pais são substituídos. Caso o problema a ser otimizado possua restrições, essa avaliação final inclui também a verificação de que o indivíduo gerado obedece à todas as restrições.. 2.5.3. Elitismo. Ao se criar uma nova população por cruzamento e mutação, existe uma grande chance de que os melhores indivíduos sejam perdidos. O elitismo é um método para preservar os melhores indivíduos de uma geração para a geração seguinte, previnindo perda das melhores soluções já encontradas. Por isso, esse método pode aumentar rapidamente o desempenho do algoritmo genético. O elitismo normalmente opera substituindo os piores indivíduos da nova população pelos melhores indivíduos da população atual. Assim, o elitismo pode ser entendido como mecanismo de intensificação.. 2.6. Parâmetros genéticos. O desempenho de um Algoritmo Genético é fortemente influenciado pela definição dos parâmetros a serem utilizados, portanto é importante analisar de que maneira alguns parâmetros influenciam o comportamento dos algoritmos genéticos, para que se possa.
(34) CAPÍTULO 2. ALGORITMOS GENÉTICOS. 20. estabelecê-los conforme as necessidades do problema e dos recursos disponíveis [CantúPaz e Goldberg 2000].. 2.6.1. Tamanho da população. Um aspecto importante a ser considerado para o bom desempenho global e a eficiência dos algoritmos genéticos refere-se ao tamanho da população inicial e da população nas gerações subsequentes. Com uma população pequena, o desempenho pode cair devido a população fornecer uma pequena cobertura do espaço de busca do problema. Uma grande população geralmente fornece uma cobertura considerável do domínio do problema, além de prevenir convergências prematuras para ótimos locais. No entanto, para se trabalhar com grandes populações, são necessários maiores recursos computacionais, ou que o algoritmo trabalhe por um período de tempo muito maior. Assim, esta medida, exceto em casos muito particulares, deve ser estabelecida empiricamente e de acordo com a disponibilidade de recursos computacionais [Goldberg 1989, Holland 1974].. 2.6.2. Taxa de cruzamento. Similarmente ao que ocorre na natureza, o cruzamento é o operador genético responsável pela maior parte da criação de novos indivíduos. Quanto maior a taxa de cruzamento, mais rapidamente novas estruturas serão introduzidas na população. Porém, se essa taxa for muito alta, estruturas com boas aptidões poderão ser retiradas mais rapidamente das populações. Com um valor baixo, o algoritmo pode se tornar lento ou estagnar.. 2.6.3. Taxa de mutação. A mutação é o operador genético responsável por prevenir que a busca fique estagnada em certas regiões do espaço de busca, além de possibilitar que qualquer ponto do espaço de busca seja atingido. Entretanto, deve-se evitar uma taxa muito alta, uma vez que a busca se torna essencialmente aleatória, prejudicando a convergência para uma solução ótima. Uma taxa de mutação baixa é análoga ao que acontece na natureza, onde raramente se veem mutações ou anormalidades nos indivíduos.. 2.6.4. Condição de parada. Por tratar-se de problemas de otimização, a condição de parada ideal seria que o algoritmo finalizasse sua execução assim que o ponto ótimo fosse encontrado. O problema.
(35) CAPÍTULO 2. ALGORITMOS GENÉTICOS. 21. é que, na maioria dos casos, não se pode afirmar com certeza se um dado ponto ótimo corresponde a um ótimo global. Como consequência, ao efetuar a análise de convergência, os algoritmos genéticos levam em consideração a aptidão da população em relação ao objetivo. Isto significa que se na população existir um elemento que seja a resposta exata do problema, ainda assim o algoritmo não finalizará o processo de busca da solução. A finalização ou convergência só ocorre quando a aptidão média da população estiver suficientemente estável, ou seja, quando houver pouca variação da aptidão média da população atual em relação à anterior, indicando que a população se adaptou ao meio. Um controle final deve ser feito de maneira obrigatória, para que os algoritmos genéticos não fiquem processando indefinidamente. Este controle pode ser realizado através do critério do número máximo de gerações ou do tempo limite de processamento. Entretanto todas estas metodologias possuem falhas. A convergência por diversidade genética falha quando o algoritmo converge para um mínimo local, isto é, quando acontece convergência prematura. Já o número máximo de gerações ou limite de tempo de processamento falham quando não dão tempo suficiente ao algoritmo para investigar todo o universo de busca. Logo, esses parâmetros devem ser cuidadosamente escolhidos para que os efeitos dessas falhas sejam minimizados.. 2.7. Equalização baseada em algoritmos genéticos. Dentre as inúmeras aplicações dos algoritmos genéticos, a equalização adaptativa tem sido bastante abordada na literatura nos últimos anos, assim como detalhado no Capítulo 1. As aplicações, em geral, buscam aproveitar a combinação de exploração do espaço de busca e capacidade de convergência dos algoritmos genéticos para melhorar o desempenho de algoritmos adaptativos que utilizam funções de custo que, apesar de bem estabelecidas da literatura, apresentam baixa convergência. Apesar das melhorias de desempenho em relação às abordagens tradicionais, a falta de uma função de custo convergente faz com que o desempenho dessas abordagens não seja tão alto quanto se poderia esperar. Mesmo assim, os resultados demonstram a adequação do uso dos algoritmos genéticos como base para algoritmos de equalização adaptativos..
(36) Capítulo 3 Equalização Cega Adaptativa. Um sistema tradicional de transmissão de dados consiste de um transmissor, um canal de comunicação, e um receptor, sendo que o canal representa todas as interconexões entre o transmissor e o receptor. Em um processo ideal de comunicação, toda a informação codificada transmitida através do canal de comunicação chega inalterada ao receptor. Entretanto, em sistemas reais, o processo de transmissão de informação não ocorre de forma ideal devido às limitações físicas do sistema. Dentre essas limitações, pode-se citar a potência limitada do transmissor, a sensibilidade finita do receptor, a resposta em frequência do canal de comunicação, e o ruído inerente do sistema de comunicação. Para as duas primeiras limitações, são necessárias melhoria nos equipamentos de transmissão e recepção, dentro das viabilidades técnicas do projeto. Para as demais, é necessário o uso de equalizadores de sinal nos receptores, que são estruturas cuja finalidade é compensar interferências e alterações nos símbolos, minimizando seus efeitos na recepção. Quanto ao modo de funcionamento, os equalizadores podem ser classificados como adaptativos ou não-adaptativos. Os equalizadores não-adaptativos são dispositivos que efetuam as compensações no sinal transmitido usando configurações preestabelecidas, não sendo capazes de modificar suas condições de equalização quando necessário. Amplamente em desuso atualmente, o funcionamento desses dispositivos pressupõe canais cujas características de transmissão não apresentem muitas variações com o tempo. Por outro lado, os equalizadores adaptativos são implementados com algoritmos que periodicamente verificam as características do canal de transmissão, compensando as variações produzidas pelo canal nos símbolos emitidos pela fonte, dentro de suas capacidades e limitações. Essa compensação realizada pelos equalizadores adaptativos pode ser realizada em tempo real, ou seja, a cada novo símbolo recebido do canal, é realizada um novo cálculo dos coeficientes do equalizador, buscando o ponto ótimo de equalização; ou pode ser realizada em blocos, onde esse novo cálculo de coeficientes é realizado somente quando o conjunto de símbolos acumulados vindos do canal atingem um tamanho pre-.
Documentos relacionados
Assim é Fabulário, uma coleção de poemas que sugere como leitmotiv a recriação sensível e poética do passado, iluminando detalhes cotidianos, lembranças,
A importância de ter uma amplia gama de produtos: distintas tecnologias para uma mesma aplicação Gama de produtos Fitas e Adesivos 3M • Fitas 3M VHB ™ • Vedantes Adesivos 3M •
El huésped entra en la habitación e inserta la tarjeta en el desconectador de energía; el dispositivo ahorrador de energía envía una señal al sistema Smart para indicar que
Numa meta-análise de 17 estudos clínicos controlados, verificou-se que doentes idosos com demência tratados com antipsicóticos atípicos, incluindo Risperidona Genedec, apresentaram
Nos termos do disposto nos números 1, 3 e 4 do artigo 30.º e artigos 33.º e seguintes da Lei Geral do Trabalho em Funções Públicas (LTFP), aprovada em anexo à Lei n.º 35/2014, de
§ 2º As condições e requisitos operacionais para o funcionamento do recinto serão verificadas semestralmente pela Alfândega do Porto de Manaus, devendo o correspondente relatório
A seleção dos descritores utilizados para realizar a classificação hierárquica é baseada em algoritmos genéticos, estes algoritmos selecionam
A função de aptidão para este problema precisa ser capaz de classificar as regras como classificadores parciais, portanto a precisão da regra é mais importante do que a sua