Otimização com Algoritmos Genéticos no MATLAB Prof. Rafael Saraiva Campos CEFET-RJ
Conteúdo do Mini-Curso PARTE 1 Teoria PARTE 2 Prática
Conteúdo do Mini-Curso PARTE 1 Teoria 1.1. Conceitos Básicos de Inteligência Artificial (AI) 1.2. Otimização com Algoritmos Genéticos (GA) 1.3. Implementação de GA no MATLAB utilizando a GAOT (Genetic Algorithm Optimization Toolbox)
Conteúdo do Mini-Curso 2.1. Otimização da RAN em telefonia móvel celular PARTE 2 Prática 2.2. Localização de terminais móveis em redes de telefonia móvel celular
1.1) Conceitos Básicos de AI Técnicas de AI Redes Neurais Artificiais Sistemas Especialistas Lógica Fuzzy Algoritmos Genéticos Aprendizado de Máquina
1.1) Conceitos Básicos de AI Inteligência e Aprendizado Inteligência Aprendizado Experiência Memória Generalização
1.1) Conceitos Básicos de AI Aprendizado de Máquina Tipos Aprendizado Supervisionado Máquinas Redes Neurais Artificiais (RNA), Árvores de Decisão Aprendizado Não- Supervisionado Camadas de Kohonen, Mapas Auto-Organizáveis Aprendizado Evolucionário Algoritmos Genéticos, Computação Evolutiva
1.1) Conceitos Básicos de AI Aprendizado Supervisionado Representação Esquemática do Aprendizado de Máquina Supervisionado Representação Esquemática de uma RNA do tipo Backpropagation
1.1) Conceitos Básicos de AI Aprendizado Não-Supervisionado Camada de Kohonen Clusterização (sem alvos pré-definidos) Mapa Auto-Organizável (SOM)
1.1) Conceitos Básicos de AI Aprendizado Evolucionário Baseado na seleção natural e evolução das espécies (Teoria da Evolução Charles Darwin, 1859) Indivíduos (População) Meio-Ambiente Seleção Natural Reprodução, Mutação
1.1) Conceitos Básicos de AI Aplicações de AI Classificação com Back. ANNs
1.1) Conceitos Básicos de AI Aplicações de AI Clusterização com Camada de Kohonen / SOM
1.1) Conceitos Básicos de AI Aplicações de AI Otimização com GA
1.2) Otimização com GA Visão Geral Função Objetivo Maximização Minimização Busca Paralela Adaptativa Inspirada na Seleção Natural Algoritmos Genéticos Busca Probabilística Inspirada na Recombinação Genética
1.2) Otimização com GA Visão Geral População Inicial Avaliação Seleção Reprodução NÃO Critério de Parada SIM Gera nova população FIM
1.2) Otimização com GA Componentes Básicos Primeira Geração Selecionando para Reprod. (criando o mating pool ou parent pop.) Aplicando Operadores Genéticos (criando a offspring) Indivíduo f( x) Função de Avaliação Crossover População Algoritmos de Seleção Mutação Produzindo uma Nova Geração Critérios de Parada Elitismo Torneio e outras técnicas
1.2) Otimização com GA Primeira Geração: Indivíduos Indivíduo Solução Candidata Cromossomo = representação do indivíduo (encoding) Fenótipo x Genótipo Exemplo (inspirado na aplicação prática 2.1) Localização BTS (28 bits) 011011010110000 11100001000000 0000000000 0100000 0110000 001111000 01010000110100 X(m)=7000 14 bits Y(m)=144000 14 bits Cromossomo (74 bits) Azm( )=0 9 bits Setor 1 (23 bits) H(m)=32 7 bits EIRP(dBm)=48 7 bits Azm( )=120 9 bits Setor 2 (23 bits) H(m)=40 7 bits EIRP(dBm)=52 7 bits
1.2) Otimização com GA Primeira Geração: População Explorando o espaço de soluções Conj. de Soluções Possíveis # n de soluções possíveis i Conj. de Ind. da i-ésima geração População da i-ésima geração N n máx. de gerações N i=1 P i n de soluções candidatas avaliadas Tipicamente, i=1 N P i #A População Inicial Importância da inicialização da população inicial na convergência do algoritmo genético (aplicação prática 2.2)
1.2) Otimização com GA Selecionando para Reprodução: Função de Avaliação Específica do problema (ambiente) Avalia a aptidão de cada indivíduo Indivíduos mais aptos têm maior probabilidade de reproduzir Indivíduo Função de Avaliação Aptidão Algoritmo de Seleção
1.2) Otimização com GA Selecionando para Reprodução: Algoritmos de Seleção Torneio (Tournament Selection) k indivíduos selecionados aleatoriamente k alto aumenta a pressão seletiva O mais apto tem vai para o mating pool Torneios de duplas prosseguem até completar o mating pool Roleta (Roulette Wheel Selection; Proportional Fairness) Probabilidade de ser selecionado proporcional à aptidão relativa p i = f N i i=1 f i A cada girada da roleta um indivíduo é selecionado Girar a roleta até preencher o mating pool Linear (Linear Ranking) Indivíduos listados em ordem crescente de aptidão Probabilidade de ser selecionado é linearmente relacionada com a posição no ranking Custo computacional adicional para realizar a ordenação
1.2) Otimização com GA Selecionando para Reprodução: Algoritmos de Seleção Roulette Selection
1.2) Otimização com GA Operadores Genéticos: Crossover Crossover de Ponto Único (Single Point Crossover) ou Crossover Simples (Simple Crossover) Fonte: http://www.codeproject.com/articles/707505/genetic-algorithms-demystified
1.2) Otimização com GA Operadores Genéticos: Crossover Crossover de Ponto Múltiplos (Multi Point Crossover) Fonte: http://www.xatlantis.ch/education/genetic_algorithm.html#multipoint_crossover
1.2) Otimização com GA Operadores Genéticos: Mutação Cromossomos com Representação Binária Cromossomos com Representação Inteira Fonte: http://www.oocities.org/igoryepes/visualizar2.htm Fonte: http://www.algoritmosgeneticos.com.br/figuras.html
1.2) Otimização com GA Produzindo uma Nova Geração Substituição completa da população N/2 indivíduos selecionados geram N descendentes Substituição completa da população com elitismo Idem anterior + clonagem do melhor indivíduo na geração seguinte Substituição parcial da população Indivíduos do mating pool concorrem num torneio Os N melhores são selecionados para a geração seguinte Substituição parcial da população sem duplicatas Idem anterior+ verificação/eliminação de duplicatas Detecção de duplicatas resulta em overhead computacional
1.2) Otimização com GA Critérios de Parada Número máximo de gerações (g max ) Hard limit Aptidão do melhor indivíduo (f max ) Difícil definir Estado estacionário (, ) Aptidão do melhor indivíduo não aumenta mais que ao longo de gerações consecutivas Solução retornada pelo GA Melhor indivíduo da última geração
1.3) GAOT Genetic Algorithm Optimization Toolbox Atenção: incluir o diretório gaot no path do MATLAB antes de executar os exemplos.
1.3) GAOT Genetic Algorithm Optimization Toolbox Exemplo didático de aplicação: Encontrar o ponto máximo da função z x, y = sin x sin(y) xy para (x, y) (0,10) (0,10)
1.3) GAOT Genetic Algorithm Optimization Toolbox Termination Functions maxgenoptterm.m optmaxgenterm.m opt2maxgenterm.m
Fim da Parte 1
Parte 2 - Prática 2.1. Otimização da RAN em telefonia móvel celular 2.2. Localização de terminais móveis em redes de telefonia móvel celular
2.1) Otimização da RAN em telefonia móvel celular Otimização Multi-Objetivo (MOO) Maximizar Capacidade (Erl) Maximizar Cobertura (km 2 ) Maximizar Precisão de Localização de Chamadas de Emergência (E911/CID)
2.1) Otimização da RAN em telefonia móvel celular Estrutura Básica de uma Rede Celular
2.1) Otimização da RAN em telefonia móvel celular Evolução dos Padrões Telefonia Móvel Celular
2.1) Otimização da RAN em telefonia móvel celular Cobertura de uma Célula
2.1) Otimização da RAN em telefonia móvel celular Cobertura de uma Célula
2.1) Otimização da RAN em telefonia móvel celular Área de Melhor Servidor
17,6 km 17,6 km 2.1) Otimização da RAN em telefonia móvel celular Área de Teste 17,6 km Área suburbana (Santa Cruz); 17 setores (células); 310 km 2 17,6 km Mapa de Tráfego (Erl/km 2 ) em escala logarítmica
2.1) Otimização da RAN em telefonia móvel celular Parâmetros da Simulação Objetivos 1. Maximizar precisão E911/CID (equivalente max. cob.) 2. Maximizar precisão E911/CID considerando tráfego Alterações na RAN Acréscimo de 1 BTS com 2 Setores com P t = 43 dbm Modelo de antena: 7131.16.33.00 A-800-40-18i-0-D
2.1) Otimização da RAN em telefonia móvel celular Parâmetros da Simulação Cross-over Parâmetro Valor 'simplexover' Taxa de Cross-over 70 % Mutação 'binarymutation' Taxa de Mutação 1 % Algoritmo de Seleção Parada 'roulette' 'opt2maxgenterm' Parâmetros de parada [MaxGen 1e-5 10] Número máximo de gerações 50 Tamanho da população 10 indivíduos
2.1) Otimização da RAN em telefonia móvel celular Funções de Avaliação 1 f i = 10 5 N y=1 M x=1 E x, y E mapa de erro de localização CID (m) T mapa de tráfego (Erl/km 2 ) M = N = 88 pixels (R = 200 m) 2 f i = N y=1 M x=1 10 5 E x, y T x, y N y=1 M x=1 T x, y
2.1) Otimização da RAN em telefonia móvel celular Resultados das Simulações Função de Avaliação 1
2.1) Otimização da RAN em telefonia móvel celular Resultados das Simulações Função de Avaliação 1
2.1) Otimização da RAN em telefonia móvel celular Resultados das Simulações Função de Avaliação 2
2.1) Otimização da RAN em telefonia móvel celular Resultados das Simulações Função de Avaliação 2
2.1) Otimização da RAN em telefonia móvel celular Resultados das Simulações Função de Avaliação 2
2.2) Localização de terminais móveis em redes de telefonia móvel celular