Outubro 2009
FUGA – Modelação Inteligente de Circuitos e Sistemas
Integrados Analógicos com Recurso a Sistemas Difusos
Pedro Miguel Martins de Sousa
Dissertação para obtenção do Grau de Mestre em
Engenharia Electrotécnica e de Computadores
Júri
Presidente: Prof. Marcelino Bicho dos Santos
Orientador: Prof. Nuno Cavaco Gomes Horta
Vogal: Prof. João Paulo Carvalho
i
Abstract
The microelectronics market trends present an ever-increasing level of
complexity with special emphasis on the production of complex mixed-signal
systems-on-chip. Strict economic and design pressures have driven the development
of new methods for automating the analog design process. However, and despite
some significant research efforts, the essential act of design is still performed by the
trial and error interaction between the designer and the simulator.
In this thesis, the state-of-the-art techniques for analog circuit design are analyzed
allowing the draw of fundamental requirements to a new design automation
methodology. The proposed approach focuses on the development of a new strategy
based on a Fuzzy Genetic Analog Circuit Optimization, in order to increase efficiency
on the analog circuit and system design cycle. It combines Evolution Computation
techniques with Fuzzy Logic Models, in order to be able to deal with multi-objective
problems and to speed up the design cycle.
The work reported on this thesis addresses the development of an efficient
optimization tool FUGA. The resulting synthesis optimization kernel, simulation
capabilities, architecture and the behavior, such as the proposed Models, are
presented. The improvement in design productivity and performance is demonstrated
for a set of well known several circuits and analog designs.
Keywords
Computer Aided Design
Optimization
Fuzzy Model
Genetic Algorithms
Analog Circuits
Design of Experiments
ii
iii
Resumo
A evolução no mercado da micro-electrónica apresenta um nível crescente de
complexidade, especialmente, na produção de sistemas integrados mistos,
“systems-on-chip”. As exigentes pressões económicas e de projecto têm
impulsionado o desenvolvimento de novos métodos para automatizar o projecto
analógico. Apesar de alguns esforços significativos de investigação, o projecto na
presente área é, predominantemente, realizado de forma tradicional, coexistindo
ainda uma forte interacção entre projectista e simulador.
Nesta tese é realizado um estudo do estado-da-arte às técnicas de projecto de
circuitos analógicos que permite especificar os requisitos fundamentais de uma nova
metodologia de automação de projecto. A abordagem proposta centra-se na criação
de uma nova estratégia baseada na Lógica Difusa embebida numa ferramenta de
Optimização, ou seja, no Algoritmo Genético. Esta abordagem permite aumentar a
eficiência do dimensionamento de circuitos e sistemas analógicos, tornando-se
competente em lidar com problemas de optimização com múltiplos objectivos,
acelerando, desta forma, o ciclo de dimensionamento.
O trabalho desenvolvido resultou numa ferramenta de optimização, FUGA. A
validação e o desempenho da ferramenta criada e dos Modelos provenientes da
mesma, são demonstrados e discutidos neste trabalho com base num conjunto de
vários circuitos e sistemas analógicos bem conhecidos.
Palavras-chave
Projecto Assistido por Computador
Optimização
Modelo Difuso
Algoritmos Genéticos
Circuitos Analógicos
Planeamento das Experiências
iv
v
Agradecimentos
Agradeço em primeiro lugar ao meu orientador, Professor Nuno Cavaco Gomes
Horta, por ter aceite orientar-me neste trabalho, pela disponibilidade,
acompanhamento permanente, simpatia, amizade, confiança depositada em mim e
pelo constante estímulo à prossecução do trabalho ao longo destes anos de
desenvolvimento da tese.
Quero agradecer a todos os colaboradores e colegas de trabalho do Grupo de
Sistemas e Circuitos Integrados (GSCI), do Instituto de Telecomunicações, pela
amizade, apoio e bom ambiente de trabalho, mas em especial: António Bañón, Carla
Duarte, António Gorgulho, Manuel Barros, Artur Silva e Sushant.
Agradeço também a todos os meus colegas e amigos, pelo fiel apoio,
companheirismo e todo o convívio prestado, em especial: Joel Vieira, Pedro Martins,
Guilherme Pereira, Telmo Gama, Rita Vieira e Françoise Madureira.
À minha família, meus prezados pais e irmão, por serem a base fundamental de
apoio e continuidade deste trabalho.
À Filipa, minha namorada e companheira presente nesta grande aventura.
vi
vii
ÍNDICE
1 - INTRODUÇÃO ............................................................................................................................................ - 1 -
1.1 MOTIVAÇÃO .............................................................................................................................................. - 1 -
1.2 OBJECTIVOS PROPOSTOS ....................................................................................................................... - 4 -
1.3 ARTIGOS RELACIONADOS ........................................................................................................................ - 4 -
1.4 ESTRUTURA DA TESE .............................................................................................................................. - 5 -
2 - ESTADO-DA-ARTE ................................................................................................................................... - 7 -
2.1 VISÃO GERAL DAS TÉCNICAS DE DIMENSIONAMENTO ............................................................................ - 7 -
2.1.1 Métodos Clássicos de Dimensionamento ................................................................................. - 8 -
2.1.2 Métodos Baseados em Conhecimento ...................................................................................... - 8 -
2.1.3 Métodos Estocásticos de Optimização ...................................................................................... - 9 -
2.2 MÉTODOS DE MODELAÇÃO PARA CIRCUITOS ANALÓGICOS ................................................................. - 10 -
2.2.1 Análise Simbólica ........................................................................................................................ - 10 -
2.2.2 Programação Geométrica e Optimização Convexa .............................................................. - 11 -
2.2.3 Modelos Posinomiais ................................................................................................................. - 11 -
2.2.4 Sistemas Inteligente ................................................................................................................... - 12 -
2.2.4.1 Algoritmos Genéticos ......................................................................................................... - 13 -
2.2.4.2 Redes Neuronais ................................................................................................................ - 14 -
2.2.4.3 Lógica Difusa embebida em Algoritmos Genéticos ....................................................... - 14 -
2.2.5 Análise Comparativa .................................................................................................................. - 15 -
2.3 MOTIVAÇÃO PARA A MODELAÇÃO COM A LÓGICA DIFUSA.................................................................... - 20 -
2.4 CONCLUSÃO ........................................................................................................................................... - 21 -
3 - INTEGRAÇÃO DO MODELO DIFUSO EMBEBIDO NUM KERNEL DE OPTIMIZAÇÃO ........... - 23 -
3.1 ESTRUTURA DO KERNEL DE OPTIMIZAÇÃO ........................................................................................... - 23 -
3.1.1 Concepção Geral ........................................................................................................................ - 23 -
3.1.2 Estrutura do kernel de optimização com base no Algoritmo Genético ............................... - 24 -
3.1.2.1 Parâmetros de Controlo e Constituição da População ................................................. - 24 -
3.1.3 Estrutura do kernel de Optimização FUGA ............................................................................. - 27 -
3.2 DESCRIÇÃO DETALHADA DO OPTIMIZADOR FUGA ............................................................................... - 27 -
3.2.1 Descrição Geral da Lógica Difusa ............................................................................................ - 27 -
3.2.2 Descrição do Modelo Difuso Proposto .................................................................................... - 30 -
3.2.2.1 Análise do circuito para o caso de estudo ...................................................................... - 33 -
3.2.2.2 Construção e execução do Modelo Difuso ..................................................................... - 34 -
3.2.2.3 Análise do desempenho AG vs FUGA ............................................................................ - 38 -
3.2.3 Análise do Modelo Difuso .......................................................................................................... - 42 -
3.2.3.1 Escalabilidade e Variantes do Modelo Proposto ................................................................ - 42 -
3.2.3.2 Análise dos Modelos ............................................................................................................... - 43 -
3.3 CONCLUSÕES ........................................................................................................................................ - 44 -
4 - EXTRACÇÃO AUTOMÁTICA DAS REGRAS DIFUSAS .................................................................. - 45 -
4.1 ALTERNATIVAS À GERAÇÃO DO MODELO .............................................................................................. - 45 -
4.2 DESCRIÇÃO GERAL DOS MODELOS CRIADOS ...................................................................................... - 45 -
4.3 EXTRACÇÃO DAS REGRAS DIFUSAS COM BASE NO PARETO-OPTIMO ................................................. - 46 -
4.3.1 Estrutura do Kernel do modelo Pareto-Optimo ...................................................................... - 48 -
4.3.2 Funcionamento do Modelo Pareto-Optimo para o caso de estudo ..................................... - 48 -
4.3.2.1 Passo 1 - Especificações................................................................................................... - 48 -
4.3.2.2 Passo 2 – Obtenção dos Paretos-Optimo ...................................................................... - 49 -
4.3.2.3 Passo 3 – Avaliação dos Paretos-Optimo ...................................................................... - 50 -
viii
4.3.2.4 Passo 4 - Construção das Regras Difusas ..................................................................... - 54 -
4.3.3 Simplificação do Modelo Pareto-Optimo ................................................................................. - 56 -
4.3.3.1 Correcção da construção das Regras Difusas para contribuições mistas ................. - 57 -
4.3.3.2 Limitação do tamanho da construção das Regras Difusas pelo Pareto-Optimo....... - 60 -
4.3.4 Expansão do modelo Pareto-Optimo para Rn ........................................................................ - 62 -
4.4 EXTRACÇÃO DAS REGRAS DIFUSAS COM BASE NO DOE ..................................................................... - 62 -
4.4.1 Estrutura do kernel do Modelo DOE ........................................................................................ - 64 -
4.4.2 Funcionamento do modelo para o caso de estudo ................................................................ - 64 -
4.4.2.1 Passo 1 – Especificações do Modelo .............................................................................. - 64 -
4.4.2.2 Passo 2 – Construção da Matriz DOE ............................................................................. - 65 -
4.4.2.3 Passo 3 – Avaliação das Contribuições .......................................................................... - 66 -
4.4.2.4 Passo 4 – Construção das Regras Difusas .................................................................... - 67 -
4.4.2.5 Variantes do Modelo DOE ................................................................................................. - 67 -
4.4.3 Construção de um Modelo Pseudo-DOE ................................................................................ - 74 -
4.4.4 Simplificação do Modelo DOE e Pseudo-DOE ...................................................................... - 74 -
4.4.4.1 Correcção da construção das Regras Difusas para contribuições mistas ................. - 75 -
4.4.4.2 Limitação do tamanho da construção das Regras Difusas pelos Modelos ............... - 75 -
4.5 MÉTODO PARA REDUÇÃO E SIMPLIFICAÇÃO DAS REGRAS DIFUSAS ................................................... - 76 -
4.6 AVALIAÇÃO E COMPARAÇÃO DOS MODELOS ........................................................................................ - 77 -
4.7 CONCLUSÃO ........................................................................................................................................... - 78 -
5 - RESULTADOS ......................................................................................................................................... - 79 -
5.1 MODELAÇÃO DE CIRCUITOS ANALÓGICOS ............................................................................................ - 79 -
5.2 APLICAÇÃO DOS RESULTADOS DOS MODELOS AO OPTIMIZAÇÃO FUGA ............................................ - 82 -
5.2.1 Melhoramento dos Modelos ...................................................................................................... - 84 -
5.2.2 Testando o Optimizador FUGA ................................................................................................ - 86 -
5.3 MODELAÇÃO E OPTIMIZAÇÃO COM BASE NO SIMULADOR ELÉCTRICO ................................................. - 87 -
5.4 CONCLUSÃO ........................................................................................................................................... - 91 -
6 - CONCLUSÕES E TRABALHO FUTURO ............................................................................................ - 93 -
6.1 CONCLUSÕES ........................................................................................................................................ - 93 -
6.2 TRABALHO FUTURO ............................................................................................................................... - 94 -
REFERÊNCIAS .............................................................................................................................................. - 95 -
ANEXO A – MANUAL DE UTILIZAÇÃO DO MODELO DOE ................................................................ - 99 -
A.1 INTRODUÇÃO ......................................................................................................................................... - 99 -
A.2 PARÂMETROS DE CONTROLO ............................................................................................................... - 99 -
A.3 CONTEÚDO DE FICHEIRO DENTRO DA PASTA DO MODEL_DOE ...................................................... - 101 -
A.4 EXECUÇÃO DA FERRAMENTA DOE ..................................................................................................... - 102 -
A.5 EXEMPLO DE EXECUÇÃO COM RECURSO À SIMULAÇÃO ELÉCTRICA ................................................... - 102 -
A.6 EXEMPLO DE EXECUÇÃO COM RECURSO À(S) EQUAÇÃO(ÕES) ELÉCTRICA(S) ................................... - 104 -
ANEXO B – MANUAL DE UTILIZAÇÃO DO OPTIMIZADOR FUGA ................................................. - 107 -
B.1 INTRODUÇÃO ....................................................................................................................................... - 107 -
B.2 VISÃO GERAL DA ARQUITECTURA DO OPTIMIZADOR FUGA .............................................................. - 107 -
B.3 CONTEÚDO DE FICHEIRO DENTRO DAS PASTAS DO OPTIMIZADOR .................................................... - 107 -
B.4 PARÂMETROS DE CONTROLO ............................................................................................................. - 109 -
B.5 COMANDOS DE EXECUÇÃO PARA O OPTIMIZADOR ............................................................................. - 110 -
B.6 EXEMPLOS DE EXECUÇÃO COM O OPTIMIZADOR ................................................................................ - 111 -
ix
Lista de Tabelas
Tabela 2.1 – Visão geral às ferramentas usadas na modelação de circuitos analógicos [61]. ........ - 18 - Tabela 3.1 – Exemplos práticos de função de membro. ................................................................... - 29 - Tabela 3.2 – Representação de algumas normas-T e normas-S mais utilizadas. ........................... - 29 - Tabela 3.3 – Exemplificação de tipos de desfuzificações. ................................................................ - 30 - Tabela 3.4 – Definição dos níveis de subconjuntos para as variáveis de entrada. .......................... - 34 - Tabela 3.5 – Definição dos níveis de subconjuntos para as variáveis de saída............................... - 34 - Tabela 3.6 – Regras Difusas para o Ganho. ..................................................................................... - 35 - Tabela 3.7 – Regras Difusas para a Frequência. ............................................................................. - 35 - Tabela 3.8 – Exemplo de aplicação para um dado cromossoma em estudo. .................................. - 35 - Tabela 3.9 – Activação da respectiva função de membro para cada gene do cromossoma. .......... - 36 - Tabela 3.10 – Aplicação da inferência MAX-MIN ao conjunto de regras activadas do Ganho. ....... - 36 - Tabela 3.11 – Aplicação da inferência MAX-MIN ao conjunto de regras activadas da Frequência. - 36 - Tabela 3.12 – Resultado final da aplicação da inferência MAX-MIN para cada variável de saída. . - 37 - Tabela 3.13 – Resultados finais da aplicação do algoritmo AG clássico e FUGA, para o exemplo 1. ........................................................................................................................................................... - 40 - Tabela 3.14 – Resultado final do melhor indivíduo encontrado em todos os runs efectuados, para o exemplo 1. ......................................................................................................................................... - 40 - Tabela 3.15 – Resultados finais da aplicação do algoritmo AG clássico e FUGA, para o exemplo 2. ........................................................................................................................................................... - 41 - Tabela 3.16 – Resultado final do melhor indivíduo encontrado em todos os runs efectuados, para o exemplo 2. ......................................................................................................................................... - 42 - Tabela 3.17 – Vantagens e Desvantagens entre o Optimizador FUGA e o AG Clássico. ............... - 43 - Tabela 4.1 – Definição da constituição geral do AG aplicado........................................................... - 48 - Tabela 4.2 – Definição da declaração dos novos domínios para cada experiência. ........................ - 49 - Tabela 4.3 – Apresentação de resultados obtidos para cada experiência efectuada. ..................... - 51 - Tabela 4.4 – Quadro de conclusões provenientes da avaliação dos resultados. ............................. - 51 - Tabela 4.5 – Apresentação dos resultados práticos conclusivos das contribuições. ....................... - 53 - Tabela 4.6 – Conclusão final das contribuições para cada variável de entrada. .............................. - 54 - Tabela 4.7 – Conclusão de todo o estudo efectuado até ao momento. ........................................... - 54 - Tabela 4.8 – Avaliação para a construção das Regras Difusas com contribuições uniformes. ....... - 55 - Tabela 4.9 – Processo de cálculo e a respectiva atribuição das RD para a Frequência. ................ - 55 - Tabela 4.10 – Processo de cálculo e a respectiva atribuição das RD para o Ganho. ...................... - 56 - Tabela 4.11 – Apresentação correcta das influências e contribuições das variáveis de entrada. ... - 58 - Tabela 4.12 – Apresentação incorrecta das influências e contribuições das variáveis de entrada.. - 58 - Tabela 4.13 – Exemplo de uma construção de um conjunto de Regras Difusas desequilibradas. .. - 59 - Tabela 4.14 – Apresentação dos cálculos das distâncias das curvaturas para ambas as saídas. .. - 62 - Tabela 4.15 – Glossário para alguns termos usados no DOE. ......................................................... - 63 - Tabela 4.16 – Efeito principal das contribuições das variáveis de entrada para o Ganho. .............. - 66 - Tabela 4.17 – Efeito principal das contribuições das variáveis de entrada para a Frequência. ....... - 66 - Tabela 4.18 – Resultado final da avaliação do Modelo para o exemplo tipo proposto. ................... - 67 - Tabela 4.19 – Resultados dos efeitos principais na presença de variáveis não elementares. ........ - 68 - Tabela 4.20 – Resultados obtidos da simulação feita com B = 3 e p = 0. ........................................ - 71 - Tabela 4.21 – Resultados finais dos efeitos principais para o Ganho, com B = 3 e p = 0. .............. - 71 - Tabela 4.22 – Resultados finais dos efeitos principais para a Frequência, com com B = 3 e p = 0. - 72 - Tabela 4.23 – Apresentação dos efeitos principais para o Ganho, com B > 2 e com variáveis não elementares. ...................................................................................................................................... - 73 - Tabela 4.24 – Apresentação dos efeitos principais para a Frequência, com B > 2 e variáveis não elementares. ...................................................................................................................................... - 73 - Tabela 4.25 – Construção da Matriz com base no modelo auxiliar proposto. .................................. - 74 - Tabela 4.26 – Apresentação das Vantagens e Desvantagens das técnicas propostas. .................. - 77 -
x
Tabela 5.1 – Definição geral do conjunto de exemplos propostos. .................................................. - 79 - Tabela 5.2 – Definição dos parâmetros default para o Modelo Pareto-Optimo. ............................... - 80 - Tabela 5.3 – Definição dos parâmetros default para o Modelo DOE e Pseudo-DOE. ..................... - 80 - Tabela 5.4 – Resultados finais referentes às modelações dos exemplos propostos. ...................... - 81 - Tabela 5.5 – Parâmetros de Configuração por default do Optimizador FUGA. ................................ - 82 - Tabela 5.6 – Resultados devolvidos do Optimizador FUGA. ............................................................ - 82 - Tabela 5.7 – Resultados referentes ao Optimizador FUGA para o Filtro Sallen-Keys de 3 saídas. - 84 - Tabela 5.8 – Manipulação dos Parâmetros do Modelo Pseudo-DOE e respectivos resultados de Optimização. ...................................................................................................................................... - 84 - Tabela 5.9 – Manipulação dos Parâmetros do Modelo DOE e respectivos resultados de Optimização. .......................................................................................................................................................... - 85 - Tabela 5.10 – Comparação do número total de Regras Difusas. ..................................................... - 86 - Tabela 5.11 – Resultados do Optimizador FUGA com 5 níveis de subconjuntos. ........................... - 87 - Tabela 5.12 – Resultados do Optimizador FUGA com processo de Simplificação das RD. ............ - 87 - Tabela 5.13 – Resultados do Optimizador FUGA com processo de Simplificação das RD. ............ - 88 - Tabela 5.14 – Resultados da Modelação com base no Modelo DOE. ............................................. - 88 - Tabela 5.15 – Resultados da Modelação com base no Modelo Pseudo-DOE. ................................ - 88 - Tabela 5.16 – Parâmetros de Configuração do Optimizador a usar na Simulação Eléctrica. .......... - 89 - Tabela A.1 – Conjunto de parâmetros de controlo para o exemplo 1 e respectiva matriz DOE resultante. ........................................................................................................................................ - 103 - Tabela A.2 – Parâmetros de Controlo usados para o Modelo Pseudo-DOE com base no exemplo proposto. .......................................................................................................................................... - 105 - Tabela B.1 – Possíveis combinações de Parâmetros de Controlo a usar no Modelo Difuso. ........ - 110 -
xi
Lista de Figuras Figura 1.1 – Comparação da evolução tecnológica do mundo computacional. ................................. - 1 - Figura 1.2 – Realidade entre o dimensionamento digital e analógico [1]. .......................................... - 2 - Figura 1.3 – Fluxo de evolução da etapa de dimensionamento num esquema tradicional analógico [1]. ............................................................................................................................................................. - 3 - Figura 2.1 – Esquematização geral às técnicas baseadas no conhecimento [1]. .............................. - 9 - Figura 2.2 – Arquitectura dos métodos de Optimização [1]. ............................................................... - 9 - Figura 2.3 – Classificação Genérica da Computação Evolutiva. ...................................................... - 12 - Figura 2.4 – Conjunto de modelos usados para dimensionamentos analógicos [61]. ..................... - 16 - Figura 2.5 – Exemplo de um Ampop CMOS de 2º andar com análise de contribuições [75]........... - 19 - Figura 3.1 – Arquitectura geral do Modelo Proposto. ....................................................................... - 23 - Figura 3.2 – Representação gráfica do AG e seus operadores [1]. .................................................. - 24 - Figura 3.3 – Constituição dos Operadores de Mutação e de Reprodução. ...................................... - 25 - Figura 3.4 – Constituição interna da população e seus respectivos cromossomas. ........................ - 26 - Figura 3.5 – Representação do Optimizador FUGA. ........................................................................ - 27 - Figura 3.6 – Definição dos passos a implementar para o funcionamento do modelo FUGA. .......... - 28 - Figura 3.7 – Comparação entre crisp value e fuzzy value. ............................................................... - 28 - Figura 3.8 – Representação da constituição do bloco mutação do modelo FUGA. ......................... - 31 - Figura 3.9 – Avaliação e constituição do passo cinco do modelo difuso apresentado. .................... - 31 - Figura 3.10 – Conclusão do funcionamento do passo cinco do modelo difuso. ............................... - 32 - Figura 3.11 – Representação da constituição interna do bloco adicional de ajuda à LD. ................ - 32 - Figura 3.12 – Esquemas de funcionamento do circuito usado para o caso de estudo. ................... - 33 - Figura 3.13 – Aplicação da função de membro triangular com 3 níveis de subconjuntos. ............... - 34 - Figura 3.14 – Representação gráfica da desfuzificação resultante dos genes em questão. ........... - 37 - Figura 3.15 – Exemplo da atribuição do operador Mutação para cada gene do cromossoma. ....... - 38 - Figura 3.16 – Desempenho estatístico das soluções encontradas em cada run efectuado do exemplo 1. ........................................................................................................................................................ - 39 - Figura 3.17 – Desempenho estatístico das soluções encontradas em cada run efectuado do exemplo 2. ........................................................................................................................................................ - 41 - Figura 4.1 – Arquitectura geral da solução. ...................................................................................... - 46 - Figura 4.2 – Exemplificação de um conjunto de pontos no limite máximo do Pareto-Optimo. ......... - 47 - Figura 4.3 – Definição interna da constituição do Modelo PO proposto. .......................................... - 48 - Figura 4.4 – Pareto-Optimo obtido com base no exemplo caso de estudo. ..................................... - 49 - Figura 4.5 – Traçado dos limites mínimos e máximos para o Pareto-Optimo pré-definido. ............. - 50 - Figura 4.6 – Processo de evolução para calcular as conclusões finais dos pesos das influências. - 52 - Figura 4.7 – Arquitectura geral de um filtro Passa-Baixo activo de segunda ordem. ....................... - 57 - Figura 4.8 – Processo evolutivo de correcção para conjuntos de RD desequilibradas. ................... - 59 - Figura 4.9 – Paretos-Optimo resultantes da aplicação de um ampop com ganho finito. ................. - 61 - Figura 4.10 – Constituição e fluxo de evolução para o Modelo DOE proposto. ............................... - 64 - Figura 4.11 – Resultados das simulações efectuadas e a respectiva projecção em R3. ................. - 65 - Figura 4.12 – Representação alternativa dos efeitos principais resultantes da análise do modelo. - 66 - Figura 4.13 – Resultados efectuados e a projecção em R3 com variáveis não elementares. .......... - 68 - Figura 4.14 – Representação dos efeitos principais com variáveis não elementares. ..................... - 70 - Figura 4.15 – Projecção em R3, para um valor de B > 2. .................................................................. - 71 - Figura 4.16 – Representação dos efeitos principais para B > 2. ...................................................... - 72 - Figura 4.17 – Resultados das simulações e a projecção em R3 com B > 2. .................................... - 72 - Figura 4.18 – Representação dos efeitos principais para B > 2 e com variáveis não elementares. - 73 - Figura 4.19 – Método de referência para simplificação das RD [83]. ............................................... - 76 - Figura 4.20 – Simplificação das RD pelo modelo proposto. ............................................................. - 77 - Figura 5.1 – Conclusão Geral dos indicadores de desempenho para o optimizador FUGA. ........... - 83 - Figura 5.2 – Configurações para o optimizador FUGA. .................................................................... - 86 -
xii
Figura 5.2 – Resultados com Simulação Eléctrica da Evolução da Função de Custo do melhor cromossoma. ..................................................................................................................................... - 89 - Figura 5.3 – Evolução dos Genes, das variáveis que influenciam o GanhoDC, para o melhor cromossoma. ..................................................................................................................................... - 90 - Figura A.1 – Conjunto de parâmetros de controlo para o Modelo DOE ........................................... - 99 - Figure A.2 – Todos os ficheiros necessários para processar as simulações do Modelo DOE. ..... - 101 - Figura A.3 – Esquemático do filtro activo Passa-Baixo. ................................................................. - 102 - Figura A.4 – Configuração do ficheiro Zsaida.txt para o exemplo do filtro activo Passa-Baixo. .... - 103 - Figura A.5 – Resultados de Simulação após a execução do Modelo. ............................................ - 103 - Figura A.6 – Ficheiro Zsaida.txt com informação adicional das contribuições das variáveis e as respectivas RD. ............................................................................................................................... - 104 - Figura A.7 – Configuração da equação eléctrica para o exemplo do Filtro active Passa-Baixo. ... - 104 - Figura A.8 – Resultado devolvido pelo Modelo após a sua execução com recurso às equações eléctricas.......................................................................................................................................... - 105 - Figura B.1 – Arquitectura e interacções do Kernel de Optimização Proposto. ............................... - 107 - Figura B.2 – Todos os ficheiros contidos na pasta MODEL_FUZZY. ............................................. - 108 - Figura B.3 – Todos os ficheiros contidos na pasta FUGA. ............................................................. - 108 - Figura B.4 – Conjunto de Parâmetros de Controlo a usar no Modelo Difuso. ................................ - 109 - Figura B.5 – Configuração dos ficheiros necessários para a execução do exemplo do Filtro activo Passa-Baixo. ................................................................................................................................... - 111 - Figura B.6 – Visualização do Menu Inicial ao ser executado o Optimizador. ................................. - 111 - Figura B.7 – Processo para a Reconstrução das Regras Difusas com outro número de subconjunto. ......................................................................................................................................................... - 112 - Figura B.8 – Execução do Modelo Pareto-Optimo para o exemplo do Filtro activo Passa-Baixo. . - 112 - Figura B.9 – Execução do Optimizador FUGA para o exemplo do Filtro e os respectivos parâmetros de entrada e de saída. ..................................................................................................................... - 113 -
xiii
Lista de Abreviaturas
AG – Algoritmo Genético
AGS – Algoritmo Genético Standard
CAD – Computer-Aided-Design
CE – Computação Evolutiva
CI – Circuitos Integrados
DA – Dimensionamento Automático
DOE – Design of Experiments
FUGA – Fuzzy Genetic Algorithm
GSCI – Grupo de Sistemas e Circuitos Integrados
IT – Instituto de Telecomunicações
I&D – Investigação e Desenvolvimento
LD – Lógica Difusa
LVQ – Learning Vector Quantization
PO – Pareto-Optimo
RD – Regras Difusas
RN – Redes Neuronais
RNA – Redes Neuronais Artificiais
SA – Simulated Annealing
SAM – Sinais Analógicos ou Mistos
SoC – Systems-on-Chip
xiv
- 1 -
Capítulo 1
INTRODUÇÃO
Este capítulo introdutório visa mostrar as dificuldades presentes na área da automação de
projecto de circuitos analógicos, focando-se, de modo geral, na motivação para a realização deste
trabalho de investigação no domínio da área citada. Primeiro, será realizada uma análise geral
introdutória às metodologias de automação recentes, com o intuito de reforçar a ideia descrita,
anteriormente. De seguida, serão definidos os objectivos do trabalho, enumerando as contribuições
realizadas ao nível da Modelação e Optimização de Circuitos e Sistemas Integrados Analógicos. Por
fim, será apresentada a estrutura da tese de forma concisa.
1.1 Motivação
O mercado da microelectrónica tem mostrado avanços significativos na área dos circuitos
analógicos, especialmente, na produção de sinais-mistos em systems-on-chip (SoC) tais como,
dispositivos de telecomunicações, comunicações via wireless, entre outros produtos de consumo
electrónico.
A famosa “Lei de Moore”, de 1965, visa que em cada dois anos a capacidade de processamento
dos computadores dobraria, enquanto que os custos permaneceriam constantes. A figura 1.1 ilustra a
evolução proveniente da era da microelectrónica aos tempos actuais.
Figura 1.1 – Comparação da evolução tecnológica do mundo computacional.
Capítulo 1 - Introdução
- 2 -
Contudo, à medida que são criados novos dispositivos tecnológicos, mais funcionalidades são
integradas nos mesmos, aumentando assim, a complexidade do projecto dos Circuitos Integrados
(CI). Um dos sinais observáveis que causa as falhas no funcionamento dos chips é referido pelo
aumento de fugas de correntes parasitas. Actualmente, enquanto se regista um aumento exponencial
para os domínios das novas nano-tecnologias, as equipas de projectos de I&D têm algumas
dificuldades para acompanhar essa evolução, obtendo assim, um nível de produção menor. O
desenvolvimento de novas ferramentas Computer-Aided-Design (CAD) e de novas metodologias de
projecto são essenciais para provocar o aumento da produtividade dos projectos, reduzindo a falha
existente entre o projecto e a produção. Portanto, o desenvolvimento de projectos de sinal-misto SoC
pode ser bastante desafiador, desde que os processos de projecto e de verificação, por ambas as
partes digitais e analógicas, sejam suportados pela ferramenta de geração automática em diversos
níveis de maturidade. Perante o projecto de um circuito [1], onde as duas componentes estão
presentes, analógica e digital, existe, claramente, uma componente que é, maioritariamente, dona de
todo o circuito, ocupando cerca de 80% do mesmo. Essa componente é a digital, restando apenas
20% do circuito para a componente analógica. Apesar disto, é na secção analógica que se encontra
todo o engarrafamento e os maiores esforços provenientes pela parte da equipa de projecto e onde
se encontram maiores tempos de recurso. Em geral, o dimensionamento da componente digital já se
encontra estabilizado com metodologias sintetizadas e ferramentas automáticas bem estabelecidas e
definidas. A figura 1.2, [1], tem como objectivo geral demonstrar a principal diferença entre o
dimensionamento da componente digital e da componente analógica.
Ao contrário do circuito digital, o dimensionamento de sinal-misto/analógico é regido por muitas
estratégias diferentes. Apesar de existir uma larga gama de ferramentas ou metodologias para este
tipo de dimensionamento, essas ferramentas ainda estão longe de satisfazer, eficientemente, a
complexidade exigida pela componente analógica Por exemplo, o desempenho de um amplificador
operacional ao nível de ruído degenera com pequenas dimensões tecnológicas, atendendo que o
ganho DC é melhorado para sinais pequenos. Por isso, a evolução de novas capacidades e
funcionalidades, oferecidas por tecnologias recentes, torna-se mais difícil.
Figura 1.2 – Realidade entre o dimensionamento digital e analógico [1].
Capítulo 1 - Introdução
- 3 -
A evolução típica para um dimensionamento de CI de Sinais Analógicos ou Mistos (SAM),
consiste numa série de níveis hierárquicos a percorrer, desde a etapa de sistema até à etapa de
geração de layout e respectivas verificações. Os passos entre os níveis hierárquicos são: selecção da
topologia, dimensionamento do circuito, verificação e validação do projecto e a etapa da geração de
layout.
A fim de alcançar o aumento da complexidade presente no dimensionamento dos CI de SAM, a
definição do fluxo hierárquico do projecto é fundamental. Observando os avanços alcançados durante
as últimas décadas ao nível das ferramentas de Dimensionamento Automático (DA), conclui-se que
não existe um suporte completo para o dimensionamento CI de SAM, a não ser que o trabalho se
concentre apenas numa parte específica do fluxo hierárquico do projecto apresentado ou que exista
uma intervenção de um projectista experiente nesta matéria. Portanto, com o aumento da
complexidade num SoC, a solução parece óbvia, ou seja, a concepção de ferramentas de automação
devem incorporar uma concepção hierárquica com recurso a decomposição a fim de, aplicar a
estratégia conhecida, dividir-para-conquistar, já aplicada pela maioria dos projectistas analógicos para
uma abordagem de dimensionamento manual.
O dimensionamento de circuitos analógicos será a etapa para a qual o trabalho proposto nesta
dissertação será estudado e desenvolvido. Para se conseguir extrair um bom desempenho do fluxo
hierárquico no projecto analógico todos os passos são importantes, mas a etapa de dimensionamento
é, sem dúvida, a etapa que mais recursos necessita. Para diminuir esta diferença de carga de
recurso, a etapa de dimensionamento deverá possuir um modelo capaz de modelar, da forma mais
eficiente e simples, o problema proposto, para que o processo de optimização seja o mais eficiente
possível. A figura 1.3 apresenta o fluxo típico de evolução para a etapa de dimensionamento de um
circuito analógico.
Figura 1.3 – Fluxo de evolução da etapa de dimensionamento num esquema tradicional analógico [1].
Desta forma, as tendências nesta área estão em progresso através da concepção de
metodologias automáticas compostas por três aspectos: melhorar a flexibilidade, permitindo ao
projectista ter uma maior interacção durante o processo de sintetização, provando uma abordagem
mais geral de lidar com múltiplas arquitecturas ou tipos de circuitos; modularidade, permitindo usar
diferentes ferramentas e técnicas para endereçar diferentes etapas de dimensionamento, tais como
selecção da topologia, tamanho do circuito e layout e, finalmente, a hierarquia, permitindo estratégias
de dimensionamento e implementação de sistemas complexos, envolvendo vários níveis de
abstracção.
Capítulo 1 - Introdução
- 4 -
1.2 Objectivos Propostos
A presente tese pretende demonstrar a necessidade de implementar modelos simples capazes
de modelar o conhecimento de um projectista, de modo a tornar mais eficiente o processo de
optimização com recurso a técnicas de computação evolutiva. Será realçado o funcionamento e a
implementação da Lógica Difusa (LD), aplicados e embebidos no Algoritmo Genético (AG) Clássico.
Sendo necessário um conjunto de Regras Difusas (RD) para o funcionamento da LD, será, também,
mostrado como é possível a extracção automática dessas RD. Os objectivos propostos pretendidos
são detalhados de seguida:
• Criar um Modelo Difuso genérico e integrar com o operador Mutação do Algoritmo Genético,
melhorando a eficiência do mesmo, durante a optimização pretendida. Fazer comparações
entre o AG clássico e o novo AG proposto e verificar os ganhos provenientes
• Criar um modelo, simples que seja capaz de extrair as Regras Difusas, de forma
automatizada, isto é, sem ser preciso nenhum conhecimento humano para a extracção
destas, para serem aplicadas no Modelo Difuso, durante a optimização.
• Avaliar a robustez dos modelos criados, sejam eles o Modelo Difuso, ou o modelo para a
extracção das Regras Difusas, e monitorizar o comportamento dos mesmos para circuitos
complexos, exigindo um número elevado de variáveis de entrada e de saída.
• Após o funcionamento correcto dos modelos propostos, validar os mesmos recorrendo a uma
grande variação de exemplos, com complexidades diferentes, com base num simulador
eléctrico.
1.3 Artigos Relacionados
Durante o desenvolvimento desta tese, houve a aceitação de 3 artigos em conferências. Estes
artigos incluem a contribuição desta tese, no âmbito do domínio da Automação de Projecto no Grupo
de Circuitos e Sistemas Integrados (GCSI) do Instituto de Telecomunicações (IT) ao nível da
Modulação e Optimização do dimensionamento de circuitos analógicos. Os artigos citados foram
aceites e publicados nas seguintes conferências:
• SM2ACD – “Enhancing a GA Optimization Kernel based on Fuzzy Design Rules”, [2]:
Abstract - This paper describes the use of fuzzy design rules to improve the performance of an
analog circuit optimization kernel based on an evolutionary computation approach. The proposed
optimization approach is demonstrated using a MATLAB implementation and a selection of well
known circuit/system topologies.
• GECCO – “FUGA: A Fuzzy-Genetic Analog Circuit Optimization”, [3]:
Capítulo 1 - Introdução
- 5 -
Abstract - This paper describes an innovative analog circuit design optimization kernel. The new
approach generates fuzzy models for qualitative reasoning based on a DOE approach. The
models are then used within a standard genetic algorithm implementation enhancing the search
by incorporating design knowledge represented by the fuzzy models. The achieved performance
is discussed for a set of well known analog circuit structures.
• European Conf. on Circuit Theory and Design - "Enhancing Analog IC Design Optimization
Kernels with Simple Fuzzy Models", [4]:
Abstract - This paper addresses the analog integrated circuit design automation by proposing an
innovative circuit-level optimization kernel. The proposed approach, first, models analog design
knowledge using soft computing techniques, than, enhances a stochastic optimization kernel by
embedding the design knowledge model. The proposed approach uses common IC design
environments and is validated for well known design examples.
1.4 Estrutura da Tese
Com este capítulo, obteve-se um panorama geral da motivação deste trabalho que levou a
desenvolver e trabalhar todos os objectivos propostos, citados anteriormente.
No próximo capítulo, capítulo 2, apresenta-se o estado-da-arte dentro da área da automação do
projecto de CI Analógicos. Pretende-se analisar e comparar métodos e ferramentas usadas até ao
presente dia, focando as várias estratégias usadas e os seus potenciais relevantes, tanto ao nível da
optimização, como da modelação.
De seguida, no capítulo 3, é apresentada a estrutura e o funcionamento da ferramenta de
optimização proposta pelo Algoritmo Genético, com recurso à Lógica Difusa, criando, desta forma, um
Modelo Difuso embebido no AG. O funcionamento da integração da ferramenta de optimização com o
Modelo Difuso é validado e demonstrado com base em exemplos simples e de fácil compreensão,
nomeados como exemplos de caso de estudo. Por fim, serão apresentadas as vantagens e
desvantagens da utilização do Modelo Difuso criado.
No capítulo 4, são apresentados modelos complementares ao capítulo anterior, cujo objectivo é
extrair de forma automática as Regras Difusas a usar no Modelo Difuso. É ilustrado o funcionamento
dos modelos, em detalhe, com base nos mesmos casos de estudo, citado anteriormente. Apresenta-
se, também, um método para a redução do número total das Regras Difusas. Por fim, apresentam-se
as vantagens e desvantagens entre os modelos criados.
No capítulo 5, são discutidos vários resultados obtidos perante um conjunto de exemplos bem
conhecidos ao nível de circuitos analógicos. Esses exemplos têm o objectivo de reforçar a presença
da utilização do Modelo Difuso durante a optimização e, também, de demonstrar a capacidade de
adaptação que os Modelos de modelação e extracção das RD, assim como o Modelo Difuso, são
capazes de efectuar para se acomodarem aos exemplos propostos. Por último, o Modelo é validado
através de um exemplo simples com recurso à simulação eléctrica.
Por fim, no capítulo 6, serão apresentadas as conclusões finais, face aos objectivos propostos, e
será apresentado um conjunto de tópicos para o trabalho futuro.
Capítulo 1 - Introdução
- 6 -
- 7 -
Capítulo 2
ESTADO-DA-ARTE
Neste capítulo é apresentado o estado-da-arte, baseado nas técnicas e modelos mais recentes,
para Modelação e Optimização do projecto automático de circuitos analógicos. Será efectuada uma
análise geral às técnicas para a automação do dimensionamento analógico, entrando, de seguida,
numa descrição global aos vários tipos de modelos existentes. De seguida, é realizada uma
comparação entre os modelos apresentados, classificando-os através de uma série de
funcionalidades. Por fim, será analisada a utilização de modelos qualitativos, nesta área,
apresentando desta forma a motivação que levou o autor a usar modelos qualitativos para a
realização deste trabalho.
2.1 Visão Geral das Técnicas de Dimensionamento
A chave para garantir a exactidão do dimensionamento analógico é o uso de ferramentas de
simulação [5]. Essas ferramentas são já usadas há mais de duas décadas para todo o fabrico de
projecto de CI, proporcionando um processo rápido e eficaz para a verificação e validação do projecto
em si, sem necessitar da fabricação do dispositivo. A ferramenta mais usada, nos tempos correntes,
em circuitos analógicos, é um simulador de circuitos que calcula, numericamente, a resposta do
mesmo para uma entrada no domínio do tempo ou da frequência. A razão para a qual a simulação
desempenha um papel fundamental, rege-se pelo facto de ser possível uma verificação detalhada do
projecto ou modelo concluído (antes do layout [6], bem como após a extracção do layout) e verificar o
correcto funcionamento do mesmo. Os circuitos integrados analógicos são, tipicamente, afectados
por muitos efeitos que podem degradar, severamente, o desempenho do circuito, após o seu fabrico,
se esses efeitos não forem, devidamente, contabilizados durante o processo de planeamento.
A necessidade de se ter níveis mais elevados de abstracção para descrever e simular circuitos
analógicos tem vindo a aumentar. Existem três razões fundamentais para esta necessidade. A
primeira razão consiste no facto de, numa metodologia de dimensionamento, as normas de níveis
inferiores serem ainda desconhecidas, existindo a necessidade de criar modelos de alto nível com a
descrição do comportamento de estruturas dos circuitos internos. Em segundo lugar, a verificação
dos sistemas integrados de sinais mistos, requer uma descrição de níveis mais elevados para as
secções analógicas, uma vez que esses sistemas integrados são pesados e complexos,
computacionalmente, para se permitir uma simulação completa de todo o projecto de sinais mistos.
Por fim, em terceiro, quando se utilizam macro células IP em um SoC, a componente virtual tem que
ser acompanhada por um modelo executável que modele, eficientemente, o comportamento da
componente virtual em cada estrutura interna usada.
Assim sendo, irão ser apresentadas três grandes classes de métodos existentes, no que toca a
dimensionamento de circuitos integrados analógicos.
Capítulo 2 – Estado-da-Arte
- 8 -
2.1.1 Métodos Clássicos de Dimensionamento
Os métodos clássicos de dimensionamento de circuitos integrados analógicos CAD, utilizam
ferramentas tais como, programação sequencial quadrática e método múltiplo de Lagrange. Estes
métodos podem ser estudados, mais detalhadamente, numa compilação feita em [7]. Outra
abordagem baseada em métodos clássicos de optimização, como por exemplo minimax formulation,
é descrita em [8], [9] e [10], OAC [11], OPASYN [12], CADICS [13], WATOPT [14], STAIC [15], IDAC
[16], OASYS [17] e KANSYS [18].
A principal vantagem existente na utilização destes métodos é a variedade de problemas que
conseguem aguentar, ou seja, a única condição precisa são as variáveis de medidas de
desempenho, uma ou mais derivadas, que podem ser computadas. Por outro lado, a desvantagem
existente neste método é o facto de só serem capazes de encontrar um mínimo local e não o mínimo
global pretendido. Quer isto dizer que, caso alguma das variáveis dimensionadas sofra uma pequena
variação, poderá tornar este modelo de bom para mau.
Outra vantagem que estes métodos contêm é a sua rapidez de execução. Mas, caso se pretenda
encontrar o mínimo global do dimensionamento, o que poderá ser concebido é partir de vários valores
de dimensionamento e obter o mínimo de cada um, escolhendo à posteriori qual o melhor mínimo
encontrado, explorando assim outros espaços de domínios. É óbvio que a solução do mínimo global
não é mesmo assim garantida. Contudo, a vantagem descrita, anteriormente, a rapidez, deixa de
fazer efeito pelo facto do custo computacional ser multiplicado pelo número de diferentes
inicializações. Além de mais, ao utilizarem-se várias inicializações requerer-se-á a intervenção
humana para indicar qual será o dimensionamento inicial mais adequado, tornando assim o modelo
menos automatizado.
2.1.2 Métodos Baseados em Conhecimento
Métodos baseados em conhecimentos tradicionais, assim como sistemas inteligentes, têm vindo
a ser mais solicitados para o uso da modelação de circuitos analógicos. Estes métodos podem ser
conjugados com diferentes ferramentas já conhecidas, é o caso dos Algoritmos Genéticos com
Sistemas Inteligentes como SEAS [19], DARWIN [20] e [21], sistemas com base em Lógica Difusa
FASY [22] e [23], FPAD [24] e sistemas heurísticos tais como os que já foram apresentados em 2.1.1.
A figura 2.1 ilustra um esquema geral à abordagem de métodos baseados em conhecimento.
Sheu et al., em [25], propôs um sistema baseado no conhecimento de modo a que o simulador
de circuito devolvesse uma evolução quantitativa do desempenho do circuito, enquanto que outro
sistema inteligente ia estabelecendo informações de como melhorar esse mesmo desempenho. Mais
recentemente, Kuo et al., em [26], apresenta um dimensionamento baseado em iterações de design-
sizing, cuja técnica de interpolação multi-variável é usada para melhorar o dimensionamento.
A vantagem existente na utilização destes métodos resume-se ao facto de possuírem poucas
limitações, especificações e medidas de desempenho, nos problemas considerados e na obtenção do
objectivo. Ou seja, apresentam-se como métodos cujas limitações são menores que nos métodos
clássicos de optimização, visto que deixa de ser necessário o cálculo das derivadas computacionais.
Sendo o procedimento para alguns casos, muito iterativo e o custo proveniente da repetição da
Capítulo 2 – Estado-da-Arte
- 9 -
simulação do circuito pode ser bastante significativo. Contudo, caso contenha um dimensionamento
rico em conhecimento poder-se-á chegar a resultados precisos.
A desvantagem proveniente na utilização destes métodos é o facto de encontrarem um mínimo
local, não garantindo que encontrem o mínimo global pretendido. O projecto final do circuito ou do
sistema depende do projecto dimensionado, inicialmente, e dos parâmetros do algoritmo,
apresentando assim, outra nota negativa. Contudo, o vasto espaço de pesquisa e os graus de
liberdade que possuem envolvem um maior recurso nas simulações do circuito, tornando por vezes o
tempo de execução bastante elevado.
Figura 2.1 – Esquematização geral às técnicas baseadas no conhecimento [1].
2.1.3 Métodos Estocásticos de Optimização
Os Métodos estocásticos de Optimização Global apresentam uma arquitectura tal como está
ilustrada na figura 2.2. Desta forma, garantem a convergência para o mínimo global óptimo
dimensionado para o projecto de circuitos analógicos. Os métodos mais conhecidos, nesta área, são:
Branch and Bound [27] e Simulated Annealing [28] e [29].
Figura 2.2 – Arquitectura dos métodos de Optimização [1].
Capítulo 2 – Estado-da-Arte
- 10 -
O método Branch and Bound determina, exactamente, o projecto global óptimo. Em cada
iteração é sempre mantido o projecto sub-optimizado possível e também um desempenho de baixo
limite a realizar. Isto torna o algoritmo capaz de concluir tarefas não heurísticas, isto é, total confiança
de que o projecto óptimo foi encontrado sem ser dada nenhuma tolerância. A desvantagem desde
método é o custo computacional ser extremamente pesado, com o aumento exponencial do tamanho
do problema. Até mesmo um problema com 10 variáveis, se torna num grande desafio a sua
implementação.
Quanto ao método Simulated Annealing (SA), este é capaz de contornar certas armadilhas que
possam existir nos projectos. O método é capaz de encontrar a solução óptima computacionalmente,
mas não devolve garantias na sua implementação. Além disso, não é avaliado o baixo limite do
tempo real de execução, portanto a conclusão do projecto é algo heurístico. Tal como os métodos
clássicos e baseados no conhecimento, o método SA permite uma variedade de medidas de
desempenho e de objectivos. De facto, SA é, extremamente, eficaz para problemas que envolvam
variáveis contínuas e discretas, tais como topologias de amplificadores e problemas de
dimensionamento. Várias ferramentas têm recorrido à utilização do SA, tais como ASTR/OBLX [30],
OPTIMAN [31], FRIDGE [32], SAMM [33] e [34]. A vantagem deste método é o facto de ser capaz de
se aplicar a variáveis discretas, o que provoca o aumento das hipóteses de encontrar o ponto óptimo
global do projecto. A principal desvantagem é o custo computacional do método, é muito lento a
executar problemas e não garante (na prática) uma solução óptima global.
2.2 Métodos de Modelação para Circuitos Analógicos
Este ponto, tem como objectivo mostrar várias metodologias usadas para a criação de modelos,
de forma automatizada, aplicadas no domínio dos circuitos analógicos. Além de explorar as
potencialidades da modelação, visa também mostrar as suas características quando aplicadas ao
nível da optimização.
Salienta-se o facto de, nesta matéria ser muito frequente a utilização de um conjunto de
amostras experimentais para se proceder à construção dos vários modelos que irão ser
apresentados. Esse conjunto de amostras ou dados é, normalmente, digerido e estruturado através
do Design of Experiments (DOE). Esta Metodologia tem como objectivo explorar o domínio resultante
das variáveis de entrada, colocando as entradas em lugares, estrategicamente, distribuídos no seu
espaço [35] e [36].
2.2.1 Análise Simbólica
O dimensionamento analógico é um processo muito complexo e requer um intensivo e
profundo conhecimento sobre o mesmo, dependendo, fortemente, da compreensão do circuito e de
certos dimensionamentos heurísticos. Técnicas de Análise Simbólica de circuitos têm sido
desenvolvidas na esperança de ajudar o projectista a ganhar uma melhor percepção do
comportamento do circuito em estudo [37]. Um Simulator Simbólico é uma ferramenta de computação
que toma como variável de entrada uma Netlist (tipo SPICE) e retorna, como saída (simplificada),
expressões analíticas para as funções de saída pretendidas em termos de representação simbólica.
Capítulo 2 – Estado-da-Arte
- 11 -
Essas expressões desempenham as mesmas funções que um tradicional projectista conseguiria
extrair por si mesmo (até mesmo a parte da simplificação). A diferença entre eles, é que a análise
actual já é toda feita por computador, logo torna-se muito mais rápida e, por isso, pode-se avançar
para circuitos com uma complexidade mais avançada. A ferramenta SYMBA [38] consegue, a
extracção de uma expressão analítica (simplificada), para o Ganho diferencial de pequenos sinais de
forma eficiente. Contudo, por vezes a manipulação das expressões e o erro proveniente da
simplificação da mesma são dois pontos a melhorar neste tipo de modelação.
2.2.2 Programação Geométrica e Optimização Convexa
No domínio da Programação e Optimização Convexa as propriedades teóricas descritas nos
problemas de optimização convexa têm sido avaliadas por muitos anos, sendo as vantagens na
prática deste tipo de técnicas estudadas e avaliadas apenas, agora. Estes métodos são capazes de
resolver variados problemas com cerca de milhares de variáveis e outros tantos constrangimentos, de
forma eficiente. Exemplificando, para um conjunto de 10 variáveis e 100 constrangimentos, a
optimização pode ser resolvida em cerca de 1 segundo. A eficiência de optimização destes modelos é
a principal vantagem que contêm, pelo facto de possuírem objectivos e funções de constrangimentos
convexas. Esta aplicação pode ser estudada em [39].
Entre as vantagens a ter em conta consideram-se as seguintes: o método garante que a solução
global seja sempre encontrada, independentemente do ponto inicial (que não tem que ser
necessariamente um ponto viável); caso o método não produza uma solução viável dá-nos a
conhecer que o problema não é possível; o critério de paragem é não heurístico, ou seja, em cada
iteração é dado um limite baixo no desempenho obtido.
Uma das desvantagens prende-se com o facto do tipo de problemas, especificações de
desempenho e objectivos assegurados serem muito mais restritos do que alguns dos métodos
descritos. Este é o preço a pagar pelas vantagens da extrema eficiência e soluções globais. Verifica-
se também que as equações que caracterizam todo o desempenho do circuito terão de ser obtidas.
Muitas vezes, o progresso da computação automática continua a ser muito limitada não sendo, às
vezes, possível obter as equações desejadas, necessitando de obtê-las, manualmente, o que se
torna bastante difícil e de tempo de custo elevado.
Uma boa referência e um tutorial nesta matéria poderá ser encontrado em [40] e [41],
respectivamente.
2.2.3 Modelos Posinomiais
A Programação Geométrica é considerada uma ferramenta muito boa no que toca a optimização,
quando usa expressões com um andamento convexo para a obtenção da solução. Sendo estas
expressões convexa a Programação Geométrica atinge o mínimo local muito eficientemente. Mas, é
na Modelação que encontramos o problema mais relevante. A Modelação desta ferramenta requer
muito uma manipulação inicial das expressões que descrevem o funcionamento do circuito.
Uma outra forma de definir e obter este tipo de modelos, garantindo que as funções serão
sempre convexas, é o facto de trabalharmos só com expressões posinomiais. Uma função posinomial
é uma particularização de uma função polinomial. Um posinómio é caracterizado pelo facto de todos
Capítulo 2 – Estado-da-Arte
- 12 -
os coeficientes, do polinómio, serem positivos. As técnicas de regressão para modelos posinomiais
podem ser classificadas em duas famílias: Método de Ajuste Indirecto e Método de Ajuste Directo.
Deams et al, em [42], desenvolveram métodos de geração automática de expressões posinomiais,
baseando-se em dados numéricos simulados em SPICE.
O Método de Ajuste Indirecto consiste em fazer, a partir dos dados experimentais, uma
regressão de um modelo polinomial. Após a obtenção do conjunto de expressões é feita uma
conversão de expressões polinomiais para expressões posinomiais. A vantagem desde método é a
simplicidade como são obtidas as expressões polinomiais e a conversão para expressões
posinomiais através de somas e adições de parâmetros do projecto. A desvantagem existente neste
modelo torna-se mais relevante. Ao ser feita uma regressão polinomial já se está a cometer um erro
por essa aproximação, que acabará por ser maior ao serem convertidas as expressões para
posinomiais, provocando uma diminuição do desempenho do modelo, que por vezes deixa de ser
uma boa aproximação ao modelo pretendido.
O Método alternativo ao descrito, anteriormente, é o Método de Ajuste Directo, ou seja, é feita
logo uma regressão com base em expressões posinomiais, onde é imposto um constrangimento para
minimizar o algoritmo. As vantagens de usar o método directo são, um erro de regressão menor,
muitos dos coeficientes que classificam o posinómio acabam por ser zero (consequentemente,
obtém-se expressões mais reduzidas), o custo computacional acaba por ser menor. No caso de ser
um modelo com modelo de estimação padrão, então a regressão torna-se mais rigorosa levando
assim, a resultados mais satisfatórios. A desvantagem principal está em torno da conversão dos
coeficientes negativos para coeficientes positivos. Essa conversão, a maior parte das vezes, piora o
modelo, ou nem sempre se conseguem converter todos os coeficientes tendo, posteriormente, que
arranjar outras aproximações para a conversão.
2.2.4 Sistemas Inteligente
Cada vez mais, se torna corrente a utilização de Sistemas Inteligentes na Computação Evolutiva,
com o objectivo de adicionar algum conhecimento auxiliar de ajuda para a obtenção dos resultados
pretendidos. Com o evoluir dos computadores, cada vez mais a criação de modelos e a aplicação
para a optimização de circuitos analógicos, se torna mais acessível e mais apelativa[43]. A figura 2.3
apresenta uma classificação genérica de Sistemas Inteligentes mais utilizados pela Computação
Inteligente, nesta área.
Figura 2.3 – Classificação Genérica da Computação Evolutiva.
Capítulo 2 – Estado-da-Arte
- 13 -
A Lógica Difusa e as Redes Neuronais são ferramentas que começaram a tornar-se bastante
úteis na área de sistemas electrónicos [44] nos últimos anos. Contudo, existem situações onde a
aplicação de uma ferramenta é mais vantajosa que outra, para a criação de modelos. A diferença
mais importante e o que caracteriza mais cada uma destas duas ferramentas é o facto de, a Lógica
Difusa ser uma ferramenta cujos modelos matemáticos contêm certas estruturas em que o
conhecimento humano está presente na criação das RD IF-THEN, enquanto que nas Redes
Neuronais os modelos consistem em relacionar as variáveis de entrada com as variáveis de saída
com base na experiência dos conjuntos de dados. Ou seja, as RN são mais independentes do
conhecimento humano do que a LD. Por outro lado, as regras IF-THEN são mais simples de se
avaliar e de manipular.
2.2.4.1 Algoritmos Genéticos
Os Algoritmos Genéticos são uma família proveniente da evolução de modelos computacionais.
Estes algoritmos proporcionam uma solução para um problema específico de uma estrutura de
dados, designado por cromossoma, e aplicam operadores naturais que recombinam essas estruturas
a fim de preservar e melhorar informações críticas. Estes cromossomas representam indivíduos que
são levados ao longo de várias gerações, evoluindo de acordo com os princípios de selecção natural
e sobrevivência dos mais aptos. Emulando estes processos, os Algoritmos Genéticos são capazes de
“evoluir” soluções de problemas do mundo real, seja ao nível da optimização, seja ao nível da
modelação.
As principais diferenças que o criador do AG, John Holland (1975), introduziu neste método e
que diferem dos métodos tradicionais de procura foram: a introdução de uma população e não de um
único ponto; utilizar informações de custo e não a derivada de expressões; utilizar regras de transição
probabilísticas e não determinísticas.
As vantagens existentes na utilização dos AG podem-se resumir a: são simples de serem
implementados, isto é, não é necessário conhecimento matemático aprofundado do problema;
utilizam informação de custo e benefício; trabalham com toda a população e não com um único ponto,
o que permite realizar pesquisas simultâneas em vários espaços; descontinuidades ou
complexidades existentes na representação gráfica do problema não apresentam influência
significativa; a presença de mínimos locais não reduz a eficiência do algoritmo; o desempenho do
algoritmo tem apresentado bons resultados em problemas de optimização de grande escala; na
optimização multiobjectiva, fornecem uma lista de parâmetros óptimos e não uma única solução;
facilmente se aliam a outras heurísticas; utilizam regras de transição probabilísticas e não
determinísticas.
Contudo, estes algoritmos também apresentam as suas fragilidades, no que toca a: dificuldade
em se encontrar o valor óptimo exacto; é necessário efectuar muitas avaliações de valores de Custo
(fitness); existem muitas possibilidades de configurações dos genes.
Desta forma, quando se pretende trabalhar com problemas de optimização no mundo da
automação dos circuitos analógicos [45] e [46], os AG são, sem dúvida, um candidato,
Capítulo 2 – Estado-da-Arte
- 14 -
frequentemente, utilizado [47]. É usual que se façam adaptações e modificações na estrutura e/ou
nos operadores dos AG, a fim de melhorar o seu desempenho e embeber para o tipo de utilização.
2.2.4.2 Redes Neuronais
As Redes Neurais Artificiais (RNA), de um modo geral, consistem num método de solucionar
problemas de inteligência artificial, construindo um sistema que simule o cérebro humano, inclusive o
seu comportamento, ou seja, aprendendo, errando e fazendo descobertas. São mais que isso, são
técnicas computacionais que apresentam um modelo inspirado na estrutura neural de organismos
inteligentes e que adquirem conhecimento através da experiência.
As Redes Neuronais (RN) são, tipicamente, adaptadas por um conjunto discreto de dados,
chamado conjunto de treino. Isto representa a funcionalidade do sistema de base que está a ser
modelado. Embora não seja necessário conhecer a estrutura interna de um sistema a fim de modelá-
lo, é necessário ter exemplos que correspondam ao comportamento entre as entradas e saídas.
Depois de se usar o conjunto de dados de treino, um segundo conjunto de dados discretos, não
podendo ser os mesmos, é usado para a validação do modelo neural criado do sistema.
Esta técnica é considerada um modelo tipo caixa preta, isto é, o utilizador não tem conhecimento
interno do modelo criado, apenas tem conhecimento da validação do modelo. Quanto mais conjuntos
de treino usar, mais exacto se torna o modelo. Deste modo, as RN, geralmente, não podem oferecer
qualquer visão qualitativa sobre o comportamento de um sistema. No entanto, elas podem ser,
facilmente, utilizadas para a criação de modelos de sistemas hiper-dimensionais e não-lineares, tal
como os circuitos analógicos [48].
Wolfe em [49], utiliza as RN para modelar os parâmetros de desempenho em amplificadores
operacionais, onde prova ser um método eficaz e rápido para a estimativa desses parâmetros. As RN
conseguem capturar o comportamento não-linear e não exigem nenhum conhecimento ou equações
que descrevam a estrutura interna do amplificador. Um dos inconvenientes, significativos, para o
método apresentado pelo autor é o grande número de dados necessários para mapear com uma
precisão considerada, o comportamento de um circuito. Muitos desses pontos são necessários para
captar picos e vales dos componentes e para conseguir-se uma boa modelação nas zonas não-
lineares.
2.2.4.3 Lógica Difusa embebida em Algoritmos Genéticos
Como já foi referido, anteriormente, a dificuldade do dimensionamento analógico surge a partir
das dependências complexas existentes entre os parâmetros e as especificações do circuito.
Portanto, a simulação do dimensionamento analógico tem-se baseado, essencialmente, sobre a
experiência e o conhecimento do projectista sobre o mesmo. É neste tipo de problema de inteligência
computacional que técnicas como a Lógica Difusa têm encontrado na sua aplicação. Sendo a LD uma
forma natural de expressar o conhecimento humano, torna-se uma ferramenta de auxílio para um
forte conjunto de áreas da engenharia [44].
Torralba em [50], apresentava uma colecção de ferramentas bastante útil, sendo a primeira
delas, a ferramenta FASY [23], usada com Lógica Difusa para a selecção das topologias e para o
Capítulo 2 – Estado-da-Arte
- 15 -
dimensionamento. A segunda, representa-se como uma ferramenta de modelação-desempenho,
obtendo uma descrição qualitativa do comportamento do circuito e por uma ferramenta de verificação
(teste) - usando a Lógica Difusa para detectar e classificar falhas resultantes para circuitos
analógicos. As Regras Difusas usadas para a selecção da topologia podiam ser definidas pelo próprio
projectista ou, automaticamente, pela experiência proveniente de dimensionamentos anteriores.
Por vezes a aplicação da Lógica Difusa é aplicada, conjuntamente, com outros tipos de
algoritmos já mencionados, aqui. O AG é, sem dúvida, uma ferramenta exemplar para uma
implementação híbrida com Lógica difusa, tal como é mostrada em [51] e [52]. A LD é, perfeitamente,
adaptada para qualquer tipo de problema e para qualquer tipo de ferramenta que se queira usar.
Contudo, o inconveniente desta ferramenta é que necessita de conhecimento prévio para a
construção das Regras Difusas [53]-[58]. E é neste ponto, que a eficiência no modelo se torna
bastante importante, caso se esteja a trabalhar para uma obtenção automática das mesmas.
Shi el al., em [59], codificou o número das RD, tipos de características de funções de membros e
outros parâmetros, dentro dos cromossomas e desenvolveu um algoritmo evolutivo para construir um
Sistema Difuso compacto através de simulações efectuadas. No início do processo, a aplicação do
método LVQ (Learning Vector Quantization), tem como objectivo a construção do Sistema Difuso,
tendo 3 funções de membro associados a cada característica. Em seguida, a função de membro (seja
ela triangular, gaussiana ou outro tipo) é definida com base nas RD, onde o número total das Regras
Difusas é construído a partir de um AG, cujo Sistema Difuso inteligente é adaptado através da
aprendizagem dos parâmetros. A desvantagem deste método é o facto da extracção das Regras
Difusas ser independente da função de membro, onde não existem garantias que o Sistema Difuso
tenha um bom desempenho, especialmente, para sistemas complexos com um largo número de
variáveis de entrada.
Roubos el al. em [60] propõe um modelo difuso com uma redução na complexidade da
interacção das RD. Após a extracção total das Regras Difusas, a simplificação das mesmas e a
optimização do Algoritmo Genético são executados simultaneamente. Deste modo permite que
Modelo possa ir eliminando conjunto de RD que estejam em conflito e em constrangimento para o
processo de Optimização.
2.2.5 Análise Comparativa
De seguida, irá ser apresentado um estudo comparativo a um conjunto de modelos, baseado em
vários tipos de abordagens, a fim de explorar a eficiência das técnicas de modelação ao nível de
circuitos analógicos existentes. Esse estudo foi efectuado por McConaghy e Gielen em [61], e
afirmam existir uma maior eficiência dentro do ciclo de execuções do simulador para optimizadores de
circuitos analógicos, se forem usados modelos que relacionem os parâmetros das variáveis
pretendidas, a fim de criar um maior desempenho do optimizador usado. Os autores afirmam também
que a escolha do tipo de modelação provoca diferentes impactos no desempenho do optimizador.
Para se observar os diferentes impactos que certos modelos produzem, fizeram um estudo
comparativo aos seguintes modelos: polinomial, posinomial, genetic programming, feedforward neural
Capítulo 2 – Estado-da-Arte
- 16 -
networks, boosted feedforward neural networks, multivariate adaptive regression splines, support
vector machines, e kriging.
Verifica-se que um bom modelo é aquele que consegue reduzir ao máximo o número necessário
de simulações requerida pelo simulador durante o processo de optimização. Os factores que
estiveram em jogo durante este estudo e que, de algum modo, são de extrema importância quando
se pretende avaliar um modelo quantitativo, foram: habilidade de predição, tempo/escalabilidade de
construção e o tempo de execução do modelo.
Das várias maneiras existentes para melhorar a eficiência de optimização, os autores referidos
anteriormente basearam-se na seguinte estrutura, para a construção de todos os modelos citados:
• Usar o DOE para a obtenção de um conjunto de dados à volta de um ponto de referência,
simulando cada dado e calculando os valores de desempenho;
• Criar os modelos com base nos valores de DOE obtidos;
• Escolher um novo ponto de referência pela evolução feita de cada modelo, e criar novos
conjuntos de dados com o DOE e repetir o processo.
As várias ferramentas apresentadas podem ser divididas nos vários grupos de modelação usados
na década presente, tal como apresentado na figura 2.4.
Figura 2.4 – Conjunto de modelos usados para dimensionamentos analógicos [61].
Para os modelos considerados na figura apresentada, teve-se em consideração:
A regressão polinomial é baseada num polinómio de segundo grau onde todos os termos do
polinómio são contabilizados.
A técnica baseada nos posinómios é realizada através de [42] e [62], considerando-os como
candidatos principais num processo de optimização, pelo facto dos posinómios resultarem num
problema de optimização convexa, que pode ser resolvido de forma eficiente. Ao contrário dos
polinómios, estes seguem uma abordagem mais construtiva para a construção do modelo.
Capítulo 2 – Estado-da-Arte
- 17 -
O modelo CAFFEINE [63] é construído com base de referência na Genetic Programming (GP),
mas modificado. Este modelo consegue obter erros de testes menores, quando comparado com
o modelo posinomial, mesmo se for usado o mesmo conjunto de dados experimentais.
Feedforward neural networks (FFNNs) [64] tem sido usado em diversos problemas, incluindo os
de dimensionamento de circuito analógico [65]-[67]. Mas, para este caso foi usado um algoritmo
de referência, OLMAM [68]. O número de nós omitidos, NumHid, foi escolhido da seguinte forma;
Inicialmente, NumHid = 1, onde o tempo de treino para os NumRestarts faz aumentar o número
de NumHid. Este processo de treino pára quando o alvo nmse é atingido.
Boosting [69] cria um conjunto de modelos, onde cada um baseia a sua evolução na importância
de uma versão de tratamento dos dados. Esse nível de importância é gerado nos erros iterativos
calculados nas evoluções passadas. O resultado final consiste numa média com base nos
resultados de saída de todos os modelos individuais usados. Os valores para NumHid foram
determinados pela mesma ideologia apresentada pelo modelo anterior (FFNNs).
Multivariate Adaptive Regression Splines (MARS), em [70], pode ser visto como um conjunto de
pedaços de polinómios, e são construídos da seguinte forma: na etapa de construção, as
variáveis de entrada são adicionadas iterativamente, baseadas numa sub-região proveniente do
domínio espacial das mesmas; de seguida MARS é escalado para uma dimensão mais restrita
com um elevado número de entradas, mas, localmente, exacto.
Support Vector Machines (SVMs) [71] e [72], transforma as entradas numa região mais restrita,
para altas dimensões e processa regressões lineares sobre essa nova região. Foi usada uma
variante de aprendizagem rápida, LS-SVM [73], com os seguintes parâmetros: funções radiais,
os parâmetros do modelo σ2 e γ são configurados, automaticamente; as selecções das novas
regiões são calculadas, automaticamente. Pode-se afirmar que o problema da utilização de
núcleos radiais é devido à forma como as entradas são tratadas de modo linear, onde por vezes
se exagera no agrupamento de variáveis com influência reduzida.
Kriging é baseado na estatística geográfica e tem mostrado ser eficaz na optimização [74]. Neste
modelo, a predição é o valor mais próximo das correcções das amostragens pela correlação dos
erros calculados. Um inconveniente destes modelos é o tempo de configuração do modelo, que
para um conjunto elevado de variáveis de entrada, por vezes não é muito fiável o escalamento.
O comportamento deste modelo como o SVMs é, extremamente, dependente na escolha da
função de distanciamento ao longo dos pontos de entrada.
De seguida, apresenta-se uma tabela comparativa dos modelos descritos, anteriormente.
Capítulo 2 – Estado-da-Arte
- 18 -
Tabela 2.1 – Visão geral às ferramentas usadas na modelação de circuitos analógicos [61].
Recurso
Modelos Dat
a P
ub
licad
a
Heu
ríst
ica
Máq
uin
a d
e im
ple
men
taçã
o
Lin
gu
agem
Co
mp
lexi
dad
e d
e ci
rcu
ito
Tip
o d
e S
imu
lad
or
Tem
po
de
Co
nfi
gu
raçã
o
do
Mo
del
o
Car
acte
ríst
icas
d
e C
on
fig
ura
ção
Tem
po
de
exec
uçã
o
Lin
has
có
dig
o
Am
ost
rag
em
com
DO
E
Res
ult
ado
Err
o
de
Pre
diç
ão (
%)
Van
tag
ens
ou
p
rop
ried
ades
p
arti
cula
res
Polinomial [61]
Polinomial
3,0 GHz
Pentium IV Matlab
High-Speed
CMOS
OTA, 13
entradas e 6
saídas
SPICE
1-4 minutos
Menor que
10 minutos
25
dx = 0,01
Total de 243
amostras de
pontos
82,6
Verificado com base em 3 modelos:
constante, linear e polinómio de 2ª
ordem.
Posinomial [62]
2002 Posinomial 1-4 minutos 25 61,7
Candidato de referência para a
optimização, tornando o problema de
forma mais eficiente quando se trata de
optimização convexa.
CAFFEINE [63]
2005 Posinomial 12 horas
Funções básicas 15;
Dimensão da
População de 200;
500 Gerações;
Profundidade da
árvore 8.
2 000 22,7
A Obtenção das expressões posinomiais,
com erro de regressão reduzido, torna
este método mais apelativo. Contudo, o
tempo de configuração do modelo é,
extremamente, elevado.
FFNNs [64]
2002 Redes
Neuronais 3,7 min.
NumRestarts = 10;
MaxEpochs = 5000 5 000 41,7
Interface com ambiente CAD Berkeley.
Incluindo também simulação de Layout.
Boosted FFNN [69]
2002 Redes
Neuronais 7 minutos NumModels = 20 43,2
Cada modelo é baseado numa versão
ponderada dos dados. Essa versão tem,
também, conhecimento das versões
anteriores dos dados.
MARS [70] 1991 Polinomial 5 minutos 500 29,4
Formado por pedaços de polinómios,
onde as variáveis de entrada são
adicionadas iterativamente, provocando,
por vezes, dimensões maiores que o
número de entradas.
LS-SVM [71] 2002
Support
Vector
Machine
5 minutos Tudo Automático. 45,9
Transformam as entradas num espaço de
dimensões mais elevadas e aplicam
regressões lineares ao espaço definido.
Kriging [74] 1998 GeoStatistics 5 minutos
Θmin=0,0;
Θmáx=10,0; pmin=0.0; pmáx=1,99
200 34,6
Sendo um modelo geoestatístico, o
comportamento deste, está fortemente
dependente na escolha da “função de
distância” entre os pontos de entrada.
Apresenta várias dificuldades para um
número de entradas elevado.
Capítulo 2 – Estado-da-Arte
- 19 -
Salienta-se o facto de, para um bom modelo, o tempo de configuração não deverá exigir um
valor mais elevado do que o próprio tempo de execução do modelo e do processo de optimização.
Contudo, certos modelos quantitativos, tais como os apresentados requerem uma execução
constante e exaustiva de tratamento de dados, seja antes do ciclo de optimização, bem como durante
esse ciclo. Modelos com baixos erros de predição podem reduzir o número de iterações do algoritmo
durante a optimização, mas, por vezes, o tempo de aquisição desses erros de predição reduzidos
poderá ser maior do que a construção do próprio modelo.
Toumazou e Barry, em [75], preocupam-se com ideias e métodos que têm sido desenvolvidas no
intuito de fornecer uma visão criativa e de ajuda no processo de concepção e dimensionamento de
circuitos analógicos. A abordagem dos autores é criar um modelo capaz de simular a experiência
qualitativa, intuitiva e abstracta que o projectista consegue obter durante o dimensionamento do
circuito. Isto pode ser contraditório aos modelos matemáticos (qualitativos) existentes, ao se
pretender um conhecimento exacto sobre o mesmo. Embora essa técnica de modelação com
abordagens mais qualitativas já esteja bem estudada, a concepção do processo de modelização
torna-se sempre bastante útil para resolver a lacuna existente entre o circuito apresentado e a visão
de um projectista experiente em dimensionamento de circuitos analógicos. Os autores apresentam
uma formalização de algumas técnicas utilizadas pelos projectistas para ajudar a lidar com a
manipulação de relações complexas em circuitos analógicos. O trabalho apresentado pelos autores
extrai as relações que as variáveis de entrada produzem nas saídas recorrendo a variações em cada
uma delas e registando o resultado produzido, de forma automática, com base na ferramenta ISAID.
Por fim, refinam esse conhecimento extraído no domínio da Lógica Difusa, para a construção das
ditas RD. A figura 2.5 demonstra um exemplo resultante da abordagem da técnica apresentada pelos
autores, onde verifica-se a conclusão simplista resultante do tipo de contribuição que as variáveis de
entradas estão a produzir nas respectivas saídas.
(a) If X is increased then Y will decrease (b) Y can be increased by decreasing X (c) …
Figura 2.5 – Exemplo de um Ampop CMOS de 2º andar com análise de contribuições [75].
Capítulo 2 – Estado-da-Arte
- 20 -
2.3 Motivação para a Modelação com a Lógica Difusa
Como se verificou nos pontos anteriores, é de extrema importância conseguir obter um processo
de optimização o mais eficiente possível e capaz de fazer o mínimo recurso do simulador eléctrico.
Foram citados vários métodos possíveis e já bastante dominantes nesta matéria para esse mesmo
processo de optimização. Contudo, optou-se por recorrer ao Algoritmo Genético para a
implementação de um novo optimizador híbrido, a fim de cumprir com as especificações impostas. Já
por si, ou seja, trabalhando com factores de aleatoriedade durante as etapas evolutivas do AG, este
algoritmo é um optimizador bastante robusto e consegue cumprir com as expectativas impostas.
Contudo, esse factor de aleatoriedade durante os processos de evolução poderá ser melhorado e
manipulado a fim de aumentar a eficiência deste algoritmo.
A Lógica Difusa mostrou e tem mostrado ao longo destas décadas um forte domínio no controlo
de sistemas, seja em qualquer área de engenharia [44]. Unindo as vantagens de uma parte e as
desvantagens da outra, optou-se por criar um sistema de controlo eficiente para o processo de
mutação do AG. Note-se que, é na mutação dos cromossomas que a eficiência deste algoritmo
poderá ser mais apelativa. Sendo a finalidade da mutação um processo de exploração do espaço de
pesquisa com o intuito do algoritmo não estagnar para um mínimo local e dar continuidade à pesquisa
para o resultado pretendido, aumentando deste modo a diversidade da população, muitos dos
cromossomas que são mutados acabam por ser desprezados ou eliminados. Aliás, raras serão as
vezes que numa mutação se consigam obter cromossomas com funções de custo aliciantes, devido à
atribuição aleatória e sem fundamentos dos novos valores para os genes mutados. Mas, sem dúvida,
que este processo se torna importantíssimo para a não estacionaridade do algoritmo.
Assim sendo, pensou-se em construir um optimizador Algoritmo Genético com recurso à Lógica
Difusa (FUGA) com o intuito da mutação poder ser controlada e consolidada através do controlo que
a Lógica Difusa oferece. Mantendo todos os restantes operadores, perfeitamente, aleatórios espera-
se que este novo algoritmo seja muito mais eficiente que o algoritmo standard, colocando os novos
cromossomas mutados mais perto da solução pretendida, retornando um valor para os seus genes
perfeitamente estudado e fundamentado.
Mas, como se sabe, a Lógica Difusa requer de algum conhecimento prévio, para ser possível a
construção das Regras Difusas. Sendo possível estas regras serem extraídas manualmente, quando
se trata de circuitos/sistemas de uma ordem de complexidade altíssima, deixa de fazer sentido usar o
conhecimento humano para a extracção das mesmas. Por isso, o desafio que se pretende é a criação
de um modelo que seja capaz de extrair as Regras Difusas de forma automatizada, eficiente e tão
próxima da realidade. Estes serão os factores de exigência para este modelo. Este modelo será
responsável por essa extracção e salienta-se que uma má extracção das RD pode resultar de um
mau funcionamento do Algoritmo Genético com recurso à Lógica Difusa. A qualidade da extracção
das regras está directamente ligada com a eficiência dos resultados finais do algoritmo optimizador
apresentado. Assim sendo, serão apresentados vários modelos candidatos para a extracção das
Regras Difusas, com o intuito de indicar qual o que melhor se adapta.
Capítulo 2 – Estado-da-Arte
- 21 -
2.4 Conclusão
Neste capítulo foi apresentada uma visão geral às técnicas usadas para o dimensionamento de
circuitos analógicos. Foram abordados vários métodos usados para a Modelação e Optimização de
circuitos, apresentando ferramentas usadas com base nesses métodos e as vantagens e
desvantagens provenientes dos mesmos. Pode-se afirmar que, no domínio dos circuitos analógicos, a
importância da escolha de um modelo para a aplicação de um certo tipo de problema pode ter
impactos significativos para a sua adaptação e funcionamento. Com base nessa teoria, foi
apresentado uma análise comparativa a um conjunto de modelos quantitativos, com a finalidade de
mostrar e reforçar o impacto que o tempo elevado de configuração e de execução deste tipo de
modelos provocam, quando se pretende obter resultados reduzidos para o erro de predição. Através
deste estudo, fez-se uma introdução à abordagem de modelos qualitativos, onde deixa de ser
importante a criação de um modelo exacto, para se conseguir reduzir o número de simulações
durante a optimização. Por fim, apresentou-se a motivação que levou o autor desta tese a escolher a
Lógica Difusa para criação de um Kernel de Optimização com recurso aos Algoritmos Genéticos, para
o domínio dos circuitos analógicos.
Capítulo 2 – Estado-da-Arte
- 22 -
- 23 -
Capítulo 3
INTEGRAÇÃO DO MODELO DIFUSO EMBEBIDO
NUM KERNEL DE OPTIMIZAÇÃO
Este capítulo tem como objectivo fazer a apresentação, assim como ilustrar a constituição, da
estrutura do Algoritmo Genético (AG) usado ao nível da optimização, com recurso ao Modelo Difuso
proposto. Inicialmente, é apresentado o Kernel geral do Optimizador proposto. É efectuada, também,
uma breve introdução aos Algoritmos Genéticos, com o intuito de ilustrar a configuração base do
Optimizador. Será descrito a interacção do Modelo Difuso com o AG e quais serão as alterações
importantes a proceder na estrutura do algoritmo. De seguida, serão apresentados os resultados para
um caso de estudo seleccionado como exemplo, onde se poderá fazer uma análise geral do
desempenho estatístico deste Optimizador, bem como a escalabilidade e variantes que possam surgir
no mesmo. Por fim, serão discutidas as vantagens de desvantagens deste Optimizador.
3.1 Estrutura do Kernel de Optimização
3.1.1 Concepção Geral
A arquitectura da solução será abordada numa concepção geral, que visa demonstrar os blocos
que constituem o Modelo de Optimização proposto. A figura 3.1 ilustra a arquitectura numa
perspectiva macroscópica. Os blocos referentes ao AG Clássico e ao AG Modificado são os blocos
principais do processo e execução da optimização. Esta optimização depende sempre das
especificações do circuito/sistema a cumprir, devolvendo sempre toda a informação quer a nível de
desempenho, quer a nível dos parâmetros pretendidos para a optimização. A arquitectura está
preparada que efectuar e suportar a evolução da função de custo por manipulação de equações
algébricas (eléctricas) do Modelo e, também, via simulação eléctrica, por auxílio de uma ferramenta
auxiliar, ver Anexo B.
Figura 3.1 – Arquitectura geral do Modelo Proposto.
Evolução da Funçãode Custo
Equação
Simulação
Descrição do circuito/sistema
Especificações
Circuito Optimizado
Outros Dados Eléctrica
AG Clássico
AG Modificado
Capítulo 3 – Integração do Modelo Difuso Embebido num Kernel de Optimização
- 24 -
3.1.2 Estrutura do kernel de optimização com base no Algoritmo Genético
O Algoritmo Genético, pertencente ao domínio da Computação Evolutiva (CE), é um algoritmo
capaz de resolver qualquer problema, com êxito, que envolva a optimização e a procura. Esta
vantagem é de certo modo, devido à utilização dos seus operadores naturais. Mesmo na situação de
ausência completa do conhecimento sobre o circuito/sistema em estudo, o AG consegue satisfazer os
requisitos propostos. Contudo, se for adicionado algum conhecimento do circuito/sistema, durante a
optimização do Algoritmo, é de esperar um aumento significativo do seu desempenho. A diferença
entre alguns dos algoritmos tradicionais de procura, reside no facto deste trabalhar, não só com uma
solução, mas sim um conjunto de soluções possíveis (uma população). Assim sendo, o algoritmo irá,
iterativamente, progredindo a sua população, através de transformações probabilísticas, para a
melhor aproximação da solução imposta. Os operadores naturais utilizados pelo AG são: a
reprodução, a mutação, a avaliação e a selecção. A figura 3.2 ilustra um típico ciclo de iteração do
Algoritmo Evolutivo mencionado.
Figura 3.2 – Representação gráfica do AG e seus operadores [1].
O princípio fundamental nestes tipos de Algoritmos Evolutivos reside na existência de uma
população, sendo esta constituída por um dado número de cromossomas. Estes cromossomas irão
sofrer alterações através dos operadores naturais em cada ciclo de vida (geração). Portanto, um
indivíduo é composto por uma estrutura, definida por um cromossoma, custo de evolução, e outros
possíveis atributos. Consequentemente, um cromossoma é encapsulado por uma sequência de
genes que representam a chave da solução do problema. Conclui-se que, o cromossoma é a
interface entre o problema e a optimização ou a procura. O custo de um indivíduo retrata a qualidade
e a proximidade a que o cromossoma se encontra da solução.
3.1.2.1 Parâmetros de Controlo e Constituição da População
A definição base do AG não inclui nenhum critério de escolha quanto às suas variáveis de
controlo. As variáveis de controlo definidas para um AG standard são: tamanho da população, factor
1
2
33
7
64
6
8
4
85
06
9
76 6
88
69
Selecção Avaliação
Mutação Reprodução
Cálculo do custoPopulação
Ciclo
P
Inicialização e Avaliação
5
Capítulo 3 – Integração do Modelo Difuso Embebido num Kernel de Optimização
- 25 -
de reprodução e factor de mutação. Neste trabalho desenvolvido, o algoritmo estabelece uma
população fixa durante o ciclo de gerações, ou seja uma população estática durante todo o processo
de optimização.
A inicialização da população é um dos parâmetros que poderá ajudar a mesma a convergir mais
rapidamente, para a solução proposta. Aplicando ferramentas próprias desta matéria, irá, com
certeza, ajudar a população a concentrar os indivíduos numa zona do espaço mais específica ou
abranger e explorar o espaço total de pesquisa, consoante o objectivo proposto. Caso a escolha seja
a concentração dos indivíduos numa zona do espaço específica, então essa escolha requer um
conhecimento quantitativo prévio sobre o problema em estudo Contudo, não sendo do âmbito deste
trabalho estudar as várias técnicas de inicialização, optou-se pela inicialização padrão, a Inicialização
Aleatória.
A mutação é um operador importante na cadeia de ciclo de geração, como já foi referido
anteriormente. A relação que existe entre o número de genes sujeitos a mutação depende do número
de cromossomas existentes na população e durante um ciclo de gerações é dado em (3.1), onde n
representa a dimensão total da população, y é o número máximo de genes que cada cromossoma
contém e utiliza-se apenas 5% desse total. Esta percentagem é um valor típico [1], usado para este
tipo de operador, variando entre 3 a 5%. O número de genes é, por fim, arredondado ao inteiro mais
próximo por excesso.
( )yntingenesn ××= %5º (3.1)
A cada gene está associado um domínio de valores possíveis. Esse domínio permite estabelecer
e garantir que são respeitadas as especificações desejadas. Portanto, seja o domínio um intervalo de
valores reais, positivos ou negativos, o operador mutação terá que devolver um valor, também ele
real, aleatório que não viole esse domínio. A figura 3.3-(a) mostra como é efectuada a mutação de um
gene perante o algoritmo clássico proposto. No cálculo do novo valor do gene 3, a função rand( ),
devolve um número aleatório flutuante entre [0, 1], de modo a obter sempre um novo valor aleatório
para o gene em questão, respeitando o limite do domínio respectivo. Não existindo qualquer critério
para atribuir ao novo valor do gene, a mutação faz com que, por vezes, perante intervalos de
domínios, razoavelmente, grandes, a mutação tenha tendência a piorar o valor do custo de um
indivíduo, do que a melhorá-lo.
(a) - Constituição do Operador Mutação (b) – Constituição do Operador Reprodução
Figura 3.3 – Constituição dos Operadores de Mutação e de Reprodução.
Capítulo 3 – Integração do Modelo Difuso Embebido num Kernel de Optimização
- 26 -
A reprodução é considerada um dos operadores mais importantes durante o ciclo de gerações,
devido ao facto deste ser o operador que faz com que a população convirja, iterativamente. Fazendo
a recombinação dos genes entre os melhores cromossomas, estão-se a criar novos cromossomas
mais aptos a sobreviver no próximo ciclo de gerações. A reprodução implementada no Algoritmo
Genético segue a notação da utilização de um único apontador. A escolha desse apontador, para
onde se dará a troca dos genes é, uma vez mais, gerado, aleatoriamente. A figura 3.3-(b) demonstra
a reprodução implementada neste algoritmo.
A selecção é o operador que escolhe os indivíduos para se efectuarem as reproduções e as
mutações. Alguns trabalhos desenvolvidos nesta área defendem que, os indivíduos devem ser
seleccionados consoante a sua classificação dada pela função de custo. Contudo, no algoritmo
apresentado, optou-se, uma vez mais pela solução mais genérica. A selecção é feita de modo
aleatório, sem qualquer critério. Em (3.2) encontra-se a equação da qual é feita a selecção, tanto para
a mutação como para a reprodução. A função rand( ), devolve um número flutuante entre [0, 1].
( )
×−+=
×−+=
×=
→
→
)()1(1
)(11)(
randnindivíduoselecção
randgenesdetotalgeneselecção
tngenesdetotal
genesentradaderiáveisvadeNúmerot
PopulaçãodaDimensãon
(3.2)
Na situação normal (padrão), dentro de uma população de dimensão n, o algoritmo irá
seleccionar, dois a dois, dos n/2 melhores indivíduos. Dessa selecção é efectuada a reprodução do
par escolhido, originando o aparecimento de dois novos indivíduos. O processo é repetitivo até que
sejam preenchidos os restantes n/2 lugares que emergiram da eliminação dos piores indivíduos da
população. A figura 3.4 ilustra como é constituído e realizado o mapeamento da população para o
Algoritmo Genético.
Figura 3.4 – Constituição interna da população e seus respectivos cromossomas.
Por fim, o operador avaliação, ou a função de custo, tem o objectivo de classificar os indivíduos
consoante a sua proximidade ou afastamento da solução geral pretendida. Sendo sempre chamado
após a conclusão de um ciclo de gerações, este operador vai ordenar a população pela ordem
pretendida. Para tal, a expressão auxiliar para o cálculo da função de custo de cada individuo é
apresentada em (3.3). A saída experimental é calculada ou simulada consoante os valores atribuídos
pelos genes do cromossoma (i) a ser analisado. Os valores teóricos das saídas são as soluções
pretendidas.
Capítulo 3 – Integração do Modelo Difuso Embebido num Kernel de Optimização
- 27 -
∑=
−=
n
i teóricoi
teóricoii
Saída
SaídaSaídaCusto
1 _
_exp_ || (3.3)
3.1.3 Estrutura do kernel de Optimização FUGA
Como foi referido, anteriormente, a mutação é um operador responsável para a exploração do
domínio do problema, explorando a diversidade da população. Isto quer dizer, que a mutação não
tem um peso determinante para a convergência da população. Não deixando de parte a importância
deste operador, a ele poderá ser adicionada uma ferramenta auxiliar tal como a Lógica Difusa, cujo
objectivo é controlar e indicar um melhor caminho a dar à mutação. Desta forma, a mutação passará
a ser um operador capaz de ajudar a convergir a população, rapidamente, para o objectivo
pretendido, mantendo na mesma a função inicial descrita deste operador. A adaptação da Lógica
Difusa no Algoritmo Genético requererá certas modificações na constituição base do AG descrito,
anteriormente. Uma delas, será a alteração completa do funcionamento do bloco mutação, como
seria de esperar. A outra alteração será a adição de um novo bloco no fim de cada ciclo de gerações.
Este bloco adicional representa uma ajuda auxiliar ao Modelo Difuso inserido no bloco mutação. Na
figura 3.5 apresenta-se a estrutura do Algoritmo Genético modificado.
Figura 3.5 – Representação do Optimizador FUGA.
3.2 Descrição detalhada do Optimizador FUGA
3.2.1 Descrição Geral da Lógica Difusa
A Lógica Difusa (LD) é uma extensão da lógica booleana que admite valores lógicos
intermediários entre o FALSO (0) e o VERDADEIRO (1); por exemplo o valor médio TALVEZ (0,5).
Isto significa que um valor lógico difuso é um valor qualquer no intervalo de valores entre 0 e 1. Este
tipo de lógica engloba de certa forma conceitos estatísticos principalmente na área de Inferência. As
implementações da lógica difusa permitem que estados indeterminados possam ser tratados por
dispositivos de controle.Desse modo, é possível avaliar conceitos não-quantificáveis, tal como a
avaliação da Temperatura (Quente, Morno, Frio, etc...).
Capítulo 3 – Integração do Modelo Difuso Embebido num Kernel de Optimização
- 28 -
Esta Lógica oferece um conjunto de vantagem, onde uma delas torna-se muito útil: ser capaz de
trabalhar com entradas lógicas lineares e não lineares. Assim, dentro dos sistemas onde as relações
entre as variáveis de entrada e de saída são pouco precisas ou muito complexas, a Lógica Difusa
será capaz de traduzir todo o comportamento existente dentro de uma caixa preta, num conjunto
simples de regras, designadas por Regras Difusas. Outra enorme vantagem, reside na forma como as
variáveis de entrada e de saída interagem entre si através de regras linguísticas e matemáticas, tais
como a relação “IF-THEN”, englobando assim todas as combinações possíveis para os conjuntos
desejáveis das variáveis de entrada.
O Modelo Difuso proposto tem como objectivo, de forma geral, transformar todos os genes de
um certo cromossoma em análise, num valor percentual, por cada variável de saída correspondente.
Inicialmente, os valores dos genes estão sob a forma clássica de notação numérica (crisp value) e
terão que ser convertidos para o mundo da lógica difusa (fuzzy value) para dar início ao processo
simples de implementação da Lógica Difusa. Deste modo, o envolvimento de um Modelo Difuso,
requer algumas considerações a definir, ou seja, terá que cumprir uma sequência de passos de modo
a tornar plausível a implementação do modelo. Esses passos são apresentados na figura 3.6.
Figura 3.6 – Definição dos passos a implementar para o funcionamento do modelo FUGA.
No passo 1, o domínio de cada variável de entrada terá que ser definido, inicialmente, na
utilização do modelo, assim como o número de subconjuntos a utilizar. Considerando um exemplo
típico, para uma melhor compreensão, pode-se imaginar a classificação da temperatura. Afirmar que
abaixo de 15ºC é considerada uma temperatura fria e que acima desta é considerada uma
temperatura quente é pouco preciso. Com a LD, passará a haver uma proposição p (a Temperatura)
e associada a esta proposição surgirá um valor µ(p), indicando o grau de veracidade (função de
membro) dessa proposição. Deste modo, permite-se classificar a temperatura de modo mais
aceitável, figura 3.7.
(a) - Consideração de CrispValue. (b) - Consideração de FuzzyValue.
Figura 3.7 – Comparação entre crisp value e fuzzy value.
Chama-se a atenção que, na figura 3.7-(b), a função de membro considerada é a trapezoidal. Na
tabela 3.1 encontram-se algumas das funções de membro mais utilizadas, onde podem ser
classificadas pela respectiva equação. No Modelo proposto, o utilizador poderá escolher entre a
utilização da função de membro Triangular ou Gaussiana, assim como a utilização de 3 ou 5 níveis de
subconjuntos.
Passo 1. Definir domínios e intervalos, para as variáveis de entrada.
Passo 2. Para cada uma das variáveis, definir a função de membro a utilizar, assim como os respectivos subconjuntos.
Passo 3. Definir os conjuntos de Regras Difusas a usar para cada variável de saída.
Passo 4. Execução da parte numérica por aplicação da inferência.
Passo 5. Aplicação do algoritmo desfuzificação aos conjuntos difusos resultantes.
Capítulo 3 – Integração do Modelo Difuso Embebido num Kernel de Optimização
- 29 -
Tabela 3.1 – Exemplos práticos de função de membro.
Função de Membro
Triangular
≤≤−
−
≤≤−
−
=
..,0
,
,
)( 32
23
3
21
12
1
cc
axaaa
xa
axaaa
ax
xTµ
Trapezoidal
≤≤−
−
≤≤
≤≤−
−
=
..,0
,
,1
,
)(
43
34
4
32
21
12
1
cc
axaaa
xa
axa
axaaa
ax
xAµ
Gaussiana (ou Sino)
( )
2
),(
21
2 2
2
aaCentro
ex
Centrox
G
+=
=
−−
δδµ
No passo 3, é feita a utilização das Regras Difusas. Estas regras são definidas de modo a
expressar o comportamento/relação com que as variáveis de entrada contribuem para as saídas. Se
as regras não traduzirem o comportamento desejado, o modelo poderá não comportar-se como
previsto. Estas Regras Difusas são, normalmente, retiradas com base no conhecimento humano. No
Capítulo 4, irão ser apresentados Modelos capazes de obter as Regras Difusas, automaticamente,
sem precisar de nenhuma informação adicional do circuito/sistema.
A execução da inferência, referida no passo 4, tem a finalidade de utilizar a implicação resultante
das Regras Difusas. No exemplo apresentado na figura 3.7, caso existam dois valores de
temperaturas a corresponderem ao valor lógico de Morno, ter-se-á que decidir qual dos dois valores
prevalecerá. Na tabela 3.2 apresentam-se algumas das normas possíveis para a aplicação da
inferência. No Modelo Difuso proposto, as inferências disponíveis para a aplicação são: Máximo-
Mínimo (Máx-Mín) e Máximo-Produto (Máx-Prod).
Tabela 3.2 – Representação de algumas normas-T e normas-S mais utilizadas.
Norma-T - T(µA(x), µB(y)) Norma-S - S(µA(x), µB(y))
1) Mínimo MIN(µA(x), µB(y))
2) Produto Algébrico µA(x).µB(y)
3) Produto Drástico MIN(µA(x),µB(y)) SE MAX(µA(x),µB(y))=1 , 0 caso contrário.
4) AND - Lukasiewiez MAX(0, µA(x) + µB(y) -1)
5) Produto Einstein µA(x).µB(y)/(2–(µA(x)+µB(y)- µA(x).µB(y)))
1) Máximo MAX(µA(x), µB(y))
2) Soma Algébrica µA(x)+µB(y)
3) Soma Drástica MAX(µA(x),µB(y)) SE MIN(µA(x),µB(y))=1 , 0 caso contrário.
4) OR - Lukasiewiez MAX(1, µA(x) + µB(y))
5) Soma Einstein (µA(x) + µB(y)) / ( 1 + µA(x)µB(y))
Capítulo 3 – Integração do Modelo Difuso Embebido num Kernel de Optimização
- 30 -
Por último, no passo 5, a desfuzificação irá transformar os valores lógicos difusos, extraídos das
RD, novamente em valores numéricos (valores percentuais). Neste passo, pretende-se classificar em
que regiões do domínio da respectiva variável de saída se encontram os valores das variáveis de
entrada. Por exemplo, caso esse valor percentual seja baixo, conclui-se que as variáveis de entrada
estão a produzir uma saída de valor baixo e vice-versa. Na tabela 3.3, são ilustradas algumas das
ferramentas usadas para o cálculo da desfuzificação. Neste último passo, o modelo está definido para
calcular sempre a desfuzificação com base na desfuzificação centro-de-massa.
Tabela 3.3 – Exemplificação de tipos de desfuzificações.
Tipos de Desfuzificações
Método-do-máximo
A saída é Desfuzificada tomando o maior valor da função de membro para todo o Z, isto é:
)()(, 0 zz ccZ µµ ≥∀
Centro-de-massa
∑
∑
=
==
n
j
jc
n
j
jjc
z
zz
z
1
1
0
)(
).(
µ
µ
Média-ponderada
∑
∑
=
==
n
j
jc
m
j
jjc
z
zz
z
1
__
1
____
0
)(
).(
µ
µ
Média-dos-Máximos
20
baz
+=
3.2.2 Descrição do Modelo Difuso Proposto
Após uma definição geral do funcionamento do Modelo Difuso, com uma breve descrição dos
passos a implementar neste Modelo, já se pode definir a constituição dos dois blocos referentes ao
modelo FUGA, citados anteriormente.
Para tal, observa-se a figura 3.8 a fim de ilustrar a constituição do bloco da mutação. Como se
observa na figura, os passos da descrição do Modelo Difuso proposto, não correspondem,
exactamente, aos passos descritos, anteriormente, na Lógica Difusa. A definição do domínio de cada
variável terá que ser definida no início do Optimizador e não apenas durante a mutação, ou seja, no
bloco referente à inicialização do AG. Isto acontece, porque outros operadores, tal como a
inicialização da população, terão que atribuir os valores dos genes de cada indivíduo, correctamente.
Em contrapartida, é adicionado um novo passo no final do bloco da mutação. Neste último passo, terá
que se desenvolver um critério de avaliação para o valor percentual que a desfuzificação retorna,
para que se possa indicar uma melhor orientação do novo valor a atribuir ao gene em questão.
Capítulo 3 – Integração do Modelo Difuso Embebido num Kernel de Optimização
- 31 -
Figura 3.8 – Representação da constituição do bloco mutação do modelo FUGA.
Chama-se a atenção que, as RD descritas no Passo 2 desde modelo, não são definidas neste
passo. Este passo, irá simplesmente, activar quais as regras necessárias para a implementação do
resto do processo. A definição e construção das Regras Difusas serão discutidas no próximo capítulo,
tal como já foi referido.
De seguida, apresenta-se, como é implementada a avaliação do valor da desfuzificação descrita
no passo 5. Para tal, observe a figura 3.9, onde se pretende estudar a mutação para um gene
genérico nomeado por gene 3, perante a desfuzificação de três variáveis de saída genéricas.
Salienta-se também que, o exemplo está aplicado para três níveis de subconjuntos.
Figura 3.9 – Avaliação e constituição do passo cinco do modelo difuso apresentado.
Capítulo 3 – Integração do Modelo Difuso Embebido num Kernel de Optimização
- 32 -
Agora, só falta definir o que acontecerá com cada um dos valores atribuídos à variável
Conclusão descrita na figura 3.9. A figura 3.10 ilustra como se conclui este processo. Note-se que,
seja qual for a conclusão a tomar, deverá sempre respeitar o respectivo domínio definido pelo gene
em questão. Na figura 3.10 existem duas conclusões consoante o tipo de contribuição para que a
variável de entrada contribui, contribuição positiva ou negativa. Este tipo de contribuição será
explicado, detalhadamente, no próximo capítulo. Note-se que, caso a Conclusão seja 1, poderá
traduzir-se em duas situações, ou o cromossoma já se encontra perto da solução e pretende-se fazer
uma mutação em torno desse gene ou então existe conflito entre as diferentes regras resultantes em
cada variável de saída. Deste modo, o Modelo faz uma mutação aleatória de 20% do valor que o
gene tiver. Este valor de 20% pode ser, também, definido pelo utilizador, se assim o desejar.
Figura 3.10 – Conclusão do funcionamento do passo cinco do modelo difuso.
Ao observar com atenção a figura 3.9, verifica-se que existem duas variáveis que ainda não
foram definidas: difuso_min e difuso_max. Estas variáveis auxiliares são definidas e actualizadas, em
cada ciclo de gerações, dentro do bloco adicional referido no Optimizador FUGA, tal como referido na
figura 3.5. Estas duas variáveis têm como objectivo fazer com que a mutação encaminhe todos os
genes de todos os indivíduos para a solução pretendida. Sabendo que, o primeiro indivíduo de cada
ciclo de gerações, apresenta os melhores valores de cada gene, então no fim de cada ciclo são
executados todos os passos do Modelo Difuso a fim de saber qual a desfuzificação que o melhor
individuo apresenta, para todas as variáveis de saída. Em seguida, é atribuído um intervalo em torno
dessas desfuzificações resultantes, definindo assim, estas variáveis em causa. Com isto, a figura
3.11 apresenta a constituição do bloco adicional citado.
Figura 3.11 – Representação da constituição interna do bloco adicional de ajuda à LD.
Capítulo 3 – Integração do Modelo Difuso Embebido num Kernel de Optimização
- 33 -
Concluindo, as variáveis em questão, difuso_mín e difuso_máx, são pequenas variações
resultantes da desfuzificação de cada variável de saída, provenientes do melhor cromossoma de
cada ciclo de gerações. O Modelo está predefinido para que essa variação seja de 3%, mas poderá
ser qualquer valor que o utilizador pretenda. Relembre-se que quanto maior for esse intervalo, mais
serão as mutações aleatórias de 20% do gene em questão, quando for efectuada uma mutação.
3.2.2.1 Análise do circuito para o caso de estudo
Até agora, o modelo fora descrito em termos gerais e abstracto, por isso, irá ser realizado um
exemplo do seu funcionamento para um caso de estudo simples e de fácil compreensão.
Considera-se, portanto, um exemplo de um filtro activo Passa-Baixo ideal de primeira ordem,
com ganho interno do ampop infinito, com as respectivas expressões que caracterizam as saídas, o
Ganho do circuito (3.4) e a Frequência de Corte (3.5), em função das variáveis de entrada. O
esquema do circuito pode ser observado na figura 3.12-(a), assim como, a respectiva função de
transferência do mesmo, em função da Frequência Angular na figura 3.12-(b).
(a) Filtro activo Passa-Baixo de primeira ordem. (b) Diagrama de bode tipico de um filtro Passa-Baixo.
Figura 3.12 – Esquemas de funcionamento do circuito usado para o caso de estudo. Fazendo uma análise ao circuito, facilmente, conseguimos retirar as expressões
correspondentes para as duas variáveis referidas:
1
2
0R
RA = (3.4)
CRF
×××=
2
02
1
π (3.5)
Como se pode observar, as duas variáveis de saída, estão a ser influenciadas por apenas duas
variáveis de entrada, no total de três. Salienta-se desde já, que foi feita uma pequena simplificação,
foi considerado, para efeitos mais práticos, o módulo do Ganho do circuito. Assim sendo, irão ser
definidas, em (3.6), os domínios de cada variável de entrada.
(3.6)
A partir das expressões algébricas do sistema e o domínio definido para cada variável de
entrada, pode-se passar à execução e explicação detalhada do funcionamento do modelo difuso
proposto.
R1 (Ω) = [800, 1200]
R2 (Ω) = [80 000, 120 000]
C (F) = [0,59 x 10-12
, 2,59 x 10-12
]
Capítulo 3 – Integração do Modelo Difuso Embebido num Kernel de Optimização
- 34 -
3.2.2.2 Construção e execução do Modelo Difuso
O passo inicial será definir a função de membro a utilizar para cada variável de entrada.
Contudo, irá ser escolhida como exemplo de aplicação, a função de membro mais simples de
exemplificar, a triangular, escolhendo, também como simplificação, três níveis de subconjuntos, os
quais estão definidos na tabela 3.4.
Tabela 3.4 – Definição dos níveis de subconjuntos para as variáveis de entrada.
Subconjuntos \ Entradas R1 [Ω] R2 [Ω] C [F]
Baixo [800; 1000] [80 000; 100 000] [0,59x10-12; 1,59x10-12]
Moderado [800; 1200] [80 000; 120 000] [0,59x10-12; 2,59x10-12]
Alto [1000; 1200] [100 000; 120 000] [1,59x10-12; 2,59x10-12]
Com a aplicação e definição dos níveis de subconjuntos considerados, a figura 3.13 ilustra a
atribuição da função de membro Triangular aplicada ao domínio de cada variável de entrada.
(a) - Variável R1 (b) - Variável R2 (c) - Variável C Figura 3.13 – Aplicação da função de membro triangular com 3 níveis de subconjuntos.
No que se refere a variáveis de saída, o comportamento é diferente. Desconhecendo os
domínios das mesmas, sabe-se apenas que a desfuzificação resultante será um valor entre 0 e
100%, do total dos seus domínios. Portanto, a consideração mais conveniente que se poderá efectuar
será dividir esses domínios difusos das duas variáveis de saídas, mantendo o mesmo número de
subconjuntos, tal como definido na tabela 3.5. O nome de cada subconjuntos neste caso, para as
variáveis de saída, foi alterado, simplesmente para não criar confusão.
Tabela 3.5 – Definição dos níveis de subconjuntos para as variáveis de saída.
Subconjuntos \ Saídas A0 [%] F0 [%]
Mínimo [0; 50] [0; 50]
Médio [0; 100] [0; 100]
Máximo [50; 100] [50; 100]
O próximo passo a efectuar, será a definição das Regras Difusas. Neste passo, as regras já
deverão estar previamente definidas e prontas a usar. Para uma melhor compreensão,
exclusivamente neste caso, será usado o conhecimento humano para a extracção das mesmas.
Capítulo 3 – Integração do Modelo Difuso Embebido num Kernel de Optimização
- 35 -
Avaliando primeiro a equação de saída proveniente do Ganho do circuito (3.4), verifica-se que
existem somente, duas variáveis de entrada a influenciá-la. Se se usarem três níveis de
subconjuntos, isto quer dizer que, teremos ao todo um conjunto de nove regras difusas (=32). O
mesmo se verifica para a Frequência de Corte do filtro, ou seja, existem na mesma duas variáveis de
entrada a influenciar a saída, para o mesmo nível de subconjunto.
O próximo procedimento a efectuar será a compreensão quanto ao nível de contribuição que
estas variáveis de entrada apresentam perante a respectiva saída. Observando, atentamente, as
equações citadas, verifica-se que para o ganho, a variável R2 tem uma contribuição positiva, uma vez
que se encontra no numerador de uma fracção, enquanto que a variável R1 terá uma contribuição
negativa, pelo facto de se encontrar no denominador de uma fracção. Assim sendo, à medida que se
vai percorrendo o domínio de forma crescente da variável R2, irá provocar, como seria de esperar, um
aumento na variável de saída, acontecendo o contrário para a variável R1. Em caso de igualdade, isto
é, sempre que as duas variáveis de entrada se encontrem no mesmo nível de subconjunto, a variável
de saída encontra-se com um nível difuso de Médio.
Em relação à Frequência, verifica-se que, ambas as variáveis de entrada se encontram no
denominador de uma fracção, o que provoca uma contribuição negativa nas duas variáveis de
entrada. Neste caso, sempre que as variáveis de entrada se encontram com valores baixos, faz com
que a variável de saída seja máxima. O mesmo raciocínio é valido para as restantes situações.
Nas tabelas 3.6 e 3.7, encontram-se as definições de todas as RD para o Ganho e para a
Frequência, respectivamente, com base no raciocínio efectuado.
Tabela 3.6 – Regras Difusas para o Ganho. Tabela 3.7 – Regras Difusas para a Frequência.
R2 R1 A0
Regra 1: IF Baixo AND Baixo THEN Méd Regra 2: IF Baixo AND Mod THEN Min Regra 3: IF Baixo AND Alto THEN Min
Regra 4: IF Mod AND Baixo THEN Máx Regra 5: IF Mod AND Mod THEN Méd Regra 6: IF Mod AND Alto THEN Min
Regra 7: IF Alto AND Low THEN Máx Regra 8: IF Alto AND Mod THEN Máx Regra 9: IF Alto AND Alto THEN Méd
C R2 F0
Regra 1: IF Baixo AND Baixo THEN Máx Regra 2: IF Baixo AND Mod THEN Máx Regra 3: IF Baixo AND Alto THEN Méd
Regra 4: IF Mod AND Baixo THEN Máx Regra 5: IF Mod AND Mod THEN Méd Regra 6: IF Mod AND Alto THEN Min
Regra 7: IF Alto AND Baixo THEN Méd Regra 8: IF Alto AND Mod THEN Min Regra 9: IF Alto AND Alto THEN Min
Como exemplo de aplicação, ao nível do circuito do caso de estudo, propõe-se que num dado
instante se queira analisar a mutação de um indivíduo cujos genes apresentam-se na tabela 3.8.
Tabela 3.8 – Exemplo de aplicação para um dado cromossoma em estudo.
Cromossoma
Gene 1 (R1) Gene 2 (R2) Gene 3 (C)
850 105 000 1,30x10-12
Capítulo 3 – Integração do Modelo Difuso Embebido num Kernel de Optimização
- 36 -
Comparando cada gene com os subconjuntos definidos na tabela 3.4 e avaliando quais os
subconjuntos a que cada gene pertence, verifica-se que, para a variável R1 representa um valor Baixo
e, também, um valor Moderado. Para a variável R2, este tanto poderá ser Moderado, como Alto. Por
fim, para a variável C, neste exemplo, toma valores do subconjunto Baixo e Moderado. Contudo,
ainda falta calcular o valor difuso resultante da aplicação da função de membro triangular. Para tal,
aplica-se e equação descrita na tabela 3.1 para a Função de Membro Triangular e chega-se aos
seguintes resultados apresentados na tabela 3.9.
Tabela 3.9 – Activação da respectiva função de membro para cada gene do cromossoma.
R1 Subconjunto: Baixo Função de Membro: µBaixo(R1) = 0,75 Subconjunto: Moderado Função de Membro: µModerado(R1) = 0,25
R2 Subconjunto: Moderado Função de Membro: µModerado(R2) = 0,75 Subconjunto: Alto Função de Membro: µAlto(R2) = 0,25
C Subconjunto: Baixo Função de Membro: µBaixo(C) = 0,29 Subconjunto: Moderado Função de Membro: µModerado(C) = 0,71
Como se verifica, a cada variável de entrada estão sempre associados dois subconjuntos.
Portanto, fazendo a combinação dos subconjuntos para os conjuntos de variáveis de entrada que
estão a influenciar as respectivas saídas, conclui-se que das nove regras difusas existentes, somente
quatro delas é que serão activadas. Nas tabelas 3.10 e 3.11, apresentam-se o conjunto de regras
activadas resultantes da combinação de cada variável de entrada, assim como a função de membro
associada a cada subconjunto. A aplicação da inferência, para este exemplo, será a Máx-Mín.
Tabela 3.10 – Aplicação da inferência MAX-MIN ao conjunto de regras activadas do Ganho.
R2 R1 A0
Regra 4: IF µModerado(R2)=0,75 AND µBaixo(R1)=0,75 THEN Máx-Mín (µ(R2,R1))=0,75
Regra 5: IF µModerado(R2)=0,75 AND µModerado(R1)=0,25 THEN Méd-Mín(µ(R2,R1))=0,25 Regra 7: IF µAlto(R2)=0,25 AND µBaixo(R1)=0,75 THEN Máx-Mín(µ(R2,R1))=0,25 Regra 8: IF µAlto(R2)=0,25 AND µModerado(R1)=0,25 THEN Máx-Mín(µ(R2,R1))=0,25
Tabela 3.11 – Aplicação da inferência MAX-MIN ao conjunto de regras activadas da Frequência.
C R2 F0
Regra 2: IF µBaixo(C)=0,29 AND µModerado(R2)=0,75 THEN Máx-Mín(µ(R2,R1))=0,29
Regra 3: IF µBaixo(C)=0,29 AND µAlto(R2)=0,25 THEN Méd-Mín(µ(R2,R1))=0,25 Regra 5: IF µModerado(C)=0,71 AND µModerado(R2)=0,75 THEN Méd-Mín(µ(R2,R1))=0,71 Regra 6: IF µModerado(C)=0,71 AND µAlto(R2)=0,25 THEN Min-Mín(µ(R2,R1))=0,25
Concluindo a questão da aplicação da inferência, o passo para a defuzificação receberá por
parte do Modelo os seguintes resultados que se podem observar na tabela 3.12.
MÍN
MÍN
MÁ
X
MÁ
X
Capítulo 3 – Integração do Modelo Difuso Embebido num Kernel de Optimização
- 37 -
Tabela 3.12 – Resultado final da aplicação da inferência MAX-MIN para cada variável de saída.
When A0 Max Then Máx-Mín (µ(R2, R1))=0.75 When A0 Med Then Máx-Mín (µ(R2, R1))=0.25
When A0 Min Then Máx-Mín (µ(R2, R1)) =0
When F0 Max Then Máx-Mín (µ(C, R2)) =0.29
When F0 Med Then Máx-Mín (µ(C, R2)) =0.71
When F0 Min Then Máx-Mín (µ(C, R2)) =0.25
Note-se que, no passo da desfuzificação o Modelo mantém a mesma função de membro, a
Triangular. Contudo, poder-se-ia utilizar outro tipo de função de membro para a desfuzificação,
porque trata-se de uma aplicação independente da fuzificação. Após os cálculos necessários da
função de membro para a construção das desfuzificações, chega-se aos seguintes resultados que
estão ilustrados na figura 3.14.
(a) Resultado da desfuzificação para o Ganho. (b) Resultado da desfuzificação para a Frequência.
Figura 3.14 – Representação gráfica da desfuzificação resultante dos genes em questão.
Como já fora citado, anteriormente, o cálculo que é aplicado no Modelo Difuso na parte da
desfuzificação é o centro-de-massa. Portanto, neste caso, o resultado da desfuzificação para o
Ganho é de 64,7635% e para a Frequência é de 50,9420%.
Por fim, só resta executar o último passo, ou seja, a avaliação e a indicação do caminho a tomar
para a mutação dos novos valores dos genes. Contudo, resta saber quais seriam os valores das
variáveis difuso_min e difuso_max, para dar continuidade a este Modelo. Não sendo possível obter
essa informação, arbitra-se que o melhor indivíduo existente nesta população continha uma
desfuzificação de 50% para ambas as variáveis de saída. Pode-se concluir que as variáveis
difuso_min e difuso_max teriam o valor de 47% e 53%, respectivamente.
A figura 3.15 indica qual seria a conclusão que o modelo tomaria, caso se pretendesse efectuar
uma mutação para cada um dos genes do cromossoma em estudo.
Capítulo 3 – Integração do Modelo Difuso Embebido num Kernel de Optimização
- 38 -
Figura 3.15 – Exemplo da atribuição do operador Mutação para cada gene do cromossoma.
3.2.2.3 Análise do desempenho AG vs FUGA
Após a definição das expressões do circuito exemplificado, das variáveis de entrada e saída e ao
ser demonstrado o funcionamento interno do Modelo Difuso do Optimizador FUGA, a próxima etapa a
implementar é executar o Optimizador e observar as diferenças existentes entre os algoritmos
apresentados, de modo a obter umas dadas especificações pretendidas.
Será feita a comparação entre o AG clássico e o AG com Lógica Difusa (FUGA),
nomeadamente, a quantificação do número de gerações encontradas numa quantidade definida de
runs.
Como o circuito apresenta somente duas variáveis de saída, então a função de custo utilizada
para ambos os algoritmos é dada por (3.7). A função de custo é, portanto, a soma das diferenças
entre o valor experimental, isto é, o valor das variáveis de saída calculadas pelas expressões (3.4) e
(3.5), através dos genes do indivíduo que se pretende analisar, e o seu valor teórico. Este valor
teórico é o valor pretendido na especificação que irá ser definido, brevemente.
th
th
th
th
F
FF
A
AACusto
_0
_0exp_0
_0
_0exp_0 |||| −+
−= (3.7)
Note-se que, ao serem definidas as especificações, ter-se-á que definir um intervalo de restrição.
Isto deve-se ao facto de, ser impossível obter um indivíduo com, exactamente, os valores pretendidos
para as variáveis de saída. Portanto, será considerado um intervalo de restrição. Quanto menor for
esse intervalo, mais rigorosos e exactos estamos a ser e, por conseguinte, os algoritmos precisarão
de mais tempo e recursos para atingir o objectivo.
Capítulo 3 – Integração do Modelo Difuso Embebido num Kernel de Optimização
- 39 -
Para os dois exemplos que serão efectuados de seguida, irão ser produzidos 100 runs. Cada run
só termina quando, o algoritmo encontrar a solução pretendida, memorizando, portanto, quantas
gerações foram necessárias para tal, ou então, termina se se chegar a um limite máximo de gerações
impostas pelo utilizador e ainda não tiverem cumprido as especificações.
Exemplo 1
Como primeiro exemplo, pretende-se obter um filtro com um Ganho (linear) de 120 e uma
Frequência de Corte de 1,10 MHz. Em (3.8) está especificado o intervalo de restrição para cada
variável de saída.
66
_0
6
_0
1011,11010,11009,1
5,1201205,119
×<×=<×
<=<
th
th
F
A (3.8)
Os resultados obtidos pelo Optimizador para o AG clássico e para o FUGA estão representados
na figura 3.16.
Figura 3.16 – Desempenho estatístico das soluções encontradas em cada run efectuado do exemplo 1.
A tabela 3.13 apresenta os resultados práticos da optimização efectuada tanto para o AG
clássico como para o FUGA, cuja legenda é a seguinte: o número de runs já foi dito que será sempre
100, o número de gerações é a máxima geração limite imposta pelo utilizador, caso o algoritmo atinja
esse limite sem encontrar a solução. O melhor indivíduo é aquele que apresenta o menor custo,
baseado na equação da função de custo de (3.7). O pior indivíduo é aquele que apresenta o pior
custo, mas que mesmo assim conseguiu atingir os objectivos propostos, a média das gerações é
calculada tal como descrita em (3.9) e o desvio padrão das gerações encontradas é calculado através
da equação (3.10). A taxa de sucesso relaciona o número de indivíduos que conseguiram encontrar a
solução imposta em menos gerações que o limite máximo de gerações consideradas. O Recurso das
funções de saída é o número de vezes que necessitou-se de calculadar o valor para as variáveis de
saída através das equações descritas em (3.3) e (3.4). Por fim, o CPU Time é o recurso
computacional dispensado na obtenção dos dados.
Capítulo 3 – Integração do Modelo Difuso Embebido num Kernel de Optimização
- 40 -
Tabela 3.13 – Resultados finais da aplicação do algoritmo AG clássico e FUGA, para o exemplo 1.
AG Clássico FUGA
Nº Runs 100 100
Nº Máximo de gerações 100 100
Custo do melhor indivíduo 6,699E-04 6,682E-04
Custo do pior indivíduo 1,310E-02 1,262E-02
Número médio de gerações 45,490 14,680
Desvio padrão das gerações 32,788 6,811
Taxa de sucesso [%] 91 100
Recurso das funções de saída (todos os runs) 254 625 81 239
CPU Time [seg] 0,614 0,556
N
xxxx
Nx N
N
i
i
+++== ∑
=
...1 21
1
_
(3.9)
∑=
−=
N
i
i xxN 1
2_1
σ (3.10)
A tabela 3.14 apresenta os resultados dos valores das variáveis de entrada e de saída e o
respectivo custo para o melhor indivíduo encontrado em todos os 100 runs que satisfizeram os
requisitos propostos.
Tabela 3.14 – Resultado final do melhor indivíduo encontrado em todos os runs efectuados, para o exemplo 1.
O Melhor Indivíduo AG Clássico FUGA
R1 [Ω] 800,5 801,8 R2 [Ω] 96016,1 96200,0 C [F] 1,51E-12 1,50E-12 Custo 6,699E-04 6,820E-04 Ganho (Linear) 119,942 119,984 Frequência [Hz] 1,100E+06 1,099E+06
Podemos concluir que, para este caso simples a taxa de sucesso apresentado pelo AG clássico
é bastante satisfatória, mas pode-se verificar que a média das Gerações encontradas entre o AG
Clássico e o FUGA é notável. Quer isto dizer que, temos mais probabilidade de encontrar a solução
pretendida mais rapidamente, no FUGA do que no AG Clássico. Isto é importante pelo facto de, não
só encontrar a solução mais rapidamente, mas também porque assim reduzimos bastante o Recurso
do número de vezes que é preciso recorrer às expressões de saída do filtro. Note-se que, no total,
este número foi reduzido em cerca de 1/3. Caso estes resultados tivessem sido efectuados com base
em simulação eléctrica, o AG Clássico ter-se-ia tornado bastante mais pesado e o melhor
cromossoma, proveniente das duas optimizações, não teria resultados a nível de custo muito
diferente. É de notar que, o tempo de execução entre as duas ferramentas é, praticamente, igual. Isto
verifica-se porque, ao ser efectuada a Lógica Difusa na mutação do AG, torna a optimização um
pouco mais pesada, devido ao facto de requerer mais avaliações às RD. Mas no geral, como o
Modelo FUGA consegue encontrar as especificações pretendidas em menos gerações, esse tempo
acaba por se compensar.
Capítulo 3 – Integração do Modelo Difuso Embebido num Kernel de Optimização
- 41 -
Exemplo 2
Mantendo as mesmas características e todos os dados usados no exemplo anterior, pretende-se
obter os mesmos parâmetros do filtro, mas neste caso, com um intervalo de restrição mais rigoroso
para cada variável de saída, tal como está definido em (3.11).
66
_0
6
_0
10101,11010,110099,1
1,1201209,119
×<×=<×
<=<
th
th
F
A (3.11)
Assim sendo, os resultados obtidos do Optimizador com o AG clássico e com o FUGA estão
representados na figura 3.17.
Figura 3.17 – Desempenho estatístico das soluções encontradas em cada run efectuado do exemplo 2.
A tabela 3.15 apresenta os resultados práticos resultantes da optimização efectuada para o AG
clássico e para o FUGA.
Tabela 3.15 – Resultados finais da aplicação do algoritmo AG clássico e FUGA, para o exemplo 2.
AG Clássico FUGA
Nº Runs 100 100
Nº Máximo de gerações 300 200
Custo do melhor indivíduo 1,360E-04 6,354E-05
Custo do pior indivíduo 1,591E-03 1,475E-03
Número médio de gerações 242,660 69,970
Desvio padrão das gerações 85,775 41,184
Taxa de sucesso [%] 48 98
Recurso das funções de saída (todos os runs) 1 296 970 378 568
CPU Time [seg] 2,892 2,594
Na tabela 3.16, apresentam-se os resultados dos parâmetros das variáveis de entrada e de
saída e os respectivos custos para o melhor indivíduo encontrado em todos os runs para ambos os
Algoritmos.
Capítulo 3 – Integração do Modelo Difuso Embebido num Kernel de Optimização
- 42 -
Tabela 3.16 – Resultado final do melhor indivíduo encontrado em todos os runs efectuados, para o exemplo 2.
O Melhor Indivíduo AG Clássico FUGA
R1 [Ω] 858,2 922,8 R2 [Ω] 102977,0 110729,0 C [F] 1,41E-12 1,31E-12 Custo 1,360E-04 6,354E-05 Ganho (Linear) 119,989 119, 996 Frequência [Hz] 1,100E+06 1,100E+06
Neste exemplo, onde o intervalo de restrição é bem mais significativo, verificamos que o AG
clássico mal consegue satisfazer os resultados pretendidos, onde certamente, só acabaria por
encontrar muitas das soluções após outras tantas gerações. Se se observar o número de vezes que o
AG clássico recorre às expressões do circuito, verificamos que é bastante mais elevado. Caso o limite
de gerações tivesse sido aumentado, acabar-se-ia por não obter resultados mais satisfatórios e em
contrapartida o número de vezes que se recorria às expressões acabaria por se triplicar, o que seria
dispensável. Quanto ao Modelo proposto, o cenário é outro. Diminui-se o limite máximo de gerações
para 200 e verifica-se que apenas 2 runs dos 100 efectuados não encontraram as soluções
pretendidas pelas especificações impostas, antes das 200 gerações. Verifica-se que a média de
gerações para este caso é bastante menor que no caso do AG clássico e que neste caso, também, o
número de vezes que se recorre às expressões das variáveis de saída continua a ser cerca de 1/3
menor. Verifica-se também, que o custo do melhor cromossoma já começa a fazer alguma diferença
entre os dois resultados apresentados. Os tempos computacionais das duas ferramentas são,
praticamente, iguais pelas mesmas razões descritas já no exemplo 1.
3.2.3 Análise do Modelo Difuso
De seguida, será feita uma breve análise ao Modelo proposto em relação à expansão para n
variáveis de entrada e de saída e quais serão os seus cuidados a ter em conta. Por fim, será feita
uma comparação, em modo geral, entre os dois processos de optimização apresentados,
nomeadamente, às suas vantagens e desvantagens.
3.2.3.1 Escalabilidade e Variantes do Modelo Proposto
A robustez que se faz sentir nos dois Algoritmos, quando a escalabilidade do problema
aumenta, pode alterar o desempenho e o comportamento dos mesmos. Contudo, o Modelo Difuso
torna-se sempre mais eficaz que o AG clássico, seja qual for o número de variáveis de entrada e de
saída que se apresente. Porém, o custo computacional, mais propriamente o CPU Time, começa a
fazer-se sentir à medida que o número de variáveis vai aumentando. Isto deve-se ao facto do número
de Regras Difusas que serão precisas para descrever todo o circuito/sistema, aumentar
exponencialmente. Contudo, para circuitos/sistemas cujo grau de complexidade se torna elevado, o
recurso à extracção automática das Regras Difusas torna-se um bem essencial. Assim sendo, essa
extracção poderá conter erros e falhas, provocando a construção de regras erradas e a um mau
processo do Optimizador FUGA.
Capítulo 3 – Integração do Modelo Difuso Embebido num Kernel de Optimização
- 43 -
Salienta-se que, caso se esteja presente perante um número elevado de variáveis de entrada e
de saída, então o custo computacional do FUGA será, claramente, superior ao AG clássico. Mas,
como se verificou, nos dois exemplos anteriores, o número de utilização e recurso às expressões que
caracterizem as variáveis de saída é muito inferior no FUGA, quando comparado com o AG Clássico.
Sendo um dos objectivos, a implementação e execução deste Modelo num simulador eléctrico, então,
neste caso, o Optimizador FUGA ganha uma larga vantagem. Isto deve-se ao facto de, durante a
simulação eléctrica o tempo e o recurso que o simulador requer para efectuar as experiências são
extremamente superiores ao tempo de execução interno do próprio algoritmo, acabando por ser
desprezado. Contudo, mais exemplos, demonstrações e comentários serão apresentados no capítulo
de resultados.
3.2.3.2 Análise dos Modelos
Irá ser apresentado de seguida, na tabela 3.17, um conjunto de vantagens e desvantagens para
os dois tipos de Optimização apresentados neste capítulo.
Tabela 3.17 – Vantagens e Desvantagens entre o Optimizador FUGA e o AG Clássico.
Optimizador Vantagens Desvantagens
AG clássico
- Não requer nenhum conhecimento acerca do circuito/sistema
- Difícil de encontrar a solução quando as especificações são mais rigorosas
- Fácil de implementar, tornando os tempos de execução do próprio algoritmo mais reduzidos
- Para exemplos onde as variáveis contêm gamas de domínios maiores as mutações pioram quase sempre o custo dos indivíduos
- Expansão para n variáveis de entrada e de saída de forma natural
- Por vezes, necessita-se de melhorar os operadores do algoritmo para produzir os desempenhos desejados
- Manipulação e alteração dos operadores com facilidade
FUGA
- O circuito/sistema deixa de ser uma caixa preta, e passa-se a ter conhecimento da relação entrada/saída
- Os tempos de execução do algoritmo poderão ser elevados para circuitos/sistemas mais complexos
- Adapta-se bem para circuito/sistemas complexos
- A manipulação e alteração do modelo requerem conhecimento aprofundado do mesmo
- Atinge o objectivo esperado, mesmo com a expansão para n variáveis de entrada e de saída
- As Regras Difusas contêm um peso adicional sobre o tempo de execução e o funcionamento do mesmo
- Converge sempre para o objectivo proposto mais rapidamente
Capítulo 3 – Integração do Modelo Difuso Embebido num Kernel de Optimização
- 44 -
3.3 Conclusões
No presente capítulo foi introduzido um kernel para o Algoritmo Genético, onde o operador de
mutação faz recurso à Lógica Difusa, FUGA. Foram explicados todos os operadores que o
constituem, assim como o funcionamento detalhado. De seguida, foi apresentado o desempenho
tanto o AG clássico assim como para o FUGA, para dois exemplos ao nível de circuitos analógicos.
Foram observadas, registadas e comentadas as principais diferenças de cada um, assim como os
pontos fracos e fortes que cada algoritmo apresenta. Por fim, ilustrou-se um resumo de um conjunto
de vantagens e desvantagens mais relevantes no funcionamento de cada optimização citado ao
longo desde capítulo. No Anexo B, encontra-se um manual de ajuda ao utilizador a explicar como se
configura e como se trabalha com o Optimizador FUGA apresentado neste capítulo.
Verifica-se portanto que, a utilização de uma ferramenta de controlo, como a Lógica Difusa, é,
sem dúvida, uma ferramenta essencial para a ajuda da mutação de um indivíduo, provocando uma
melhoria do desempenho geral do algoritmo, bem como reduzir o número de vezes de acesso às
expressões que caracterizam os circuitos ou sistemas. Este factor referido faz com que a optimização
seja mais rentabilizada caso se esteja a trabalhar com um simulador eléctrico. Contudo, requer uma
construção prévia das Regras Difusas. Por este motivo, para se evitar a extracção das RD através do
esforço do conhecimento humano, este Modelo proposto necessitará de alguma ferramenta adicional
para que faça esse trabalho. O próximo capítulo irá apresentar uma abordagem de extrair as Regras
Difusas, automaticamente, de qualquer circuito/sistema, sem necessitar de qualquer conhecimento
adicional sobre o mesmo.
- 45 -
Capítulo 4
EXTRACÇÃO AUTOMÁTICA DAS REGRAS
DIFUSAS
Este capítulo tem como objectivo, abordar técnicas para a geração automática das Regras
Difusas, a usar no Modelo Difuso, apresentado no capítulo anterior. Ilustra, também, uma descrição
detalhada dos Modelos criados com base nas técnicas estudadas para se efectuar essa extracção,
através do exemplo de caso de estudo. Por fim, serão apresentadas as vantagens e desvantagens
provenientes de cada Modelo estudado.
4.1 Alternativas à Geração do Modelo
A construção das Regras Difusas é um processo que terá de ser tratado com a devida atenção,
pelo facto de ser através delas que todo o funcionamento do Modelo Difuso, descrito no capítulo
anterior, se baseia. Apesar de as RD poderem ser extraídas através do conhecimento humano, por
vezes, esse conhecimento é limitado, isto é, perante a presença de circuitos analógicos de ordem
elevada, a manipulação e a extracção das expressões analíticas que traduzem o funcionamento dos
mesmos tornam-se impossíveis. Portanto, a forma como foram extraídas as Regras Difusas,
mencionada no capítulo anterior fica sem efeito.
A extracção automática das RD tem sido, recentemente, alvo de trabalho de desenvolvimento.
Dada a importância, referida nesta matéria, as ferramentas dominantes para a geração automática
das mesmas, tem sido o Algoritmo Genético [76]-[78] e as Redes Neuronais Difusas [79]-[80]. Embora
a extracção das Regras Difusas, proveniente destas ferramentas, tenha resultados satisfatórios, por
outro lado, a manipulação e a compreensão das mesmas, após essa extracção, tornam-se difíceis, ou
seja, a alteração da constituição das Regras torna-se árdua porque, por vezes, essa extracção é
organizada e composta por um conjunto de valores quantitativos e a manipulação desses valores é
impensável, podendo-se alterar toda a informação do sistema, pelo facto de não ser possível saber
como lidar com resultados de RD quantitativos.
Será apresentado de seguida, a constituição dos Modelos usados neste trabalho, assim como o
funcionamento dos mesmos com base em exemplos práticos e simples de compreensão.
4.2 Descrição Geral dos Modelos Criados
O Pareto-Optimo (PO) é uma das técnicas usadas neste trabalho, para a implementação da
extracção automática das Regras Difusas. Sendo uma ferramenta muito útil para aplicação
multiobjectiva, torna-se, assim, adequada para avaliar várias variáveis de entrada e de saída.
Capítulo 4 – Extracção Automática das Regras Difusas
- 46 -
O Design of Experiments (DOE) é uma metodologia muito adequada para este tipo de avaliação,
onde, facilmente, se consegue percorrer e explorar todo o espaço de pesquisa do sistema. Permite,
também, variar e encontrar o número óptimo de amostras para explorar esse espaço de pesquisa.
Quanto à implementação dos Modelos, estes só variam no processo interno de avaliação e de
execução, enquanto que as definições e atribuições gerais das variáveis de entrada e de saída são
comuns. Para tal, o utilizador terá que começar por descrever quais as variáveis de entrada e de
saída, perante o circuito/sistema em causa, que deverão ser submetidas para avaliação, assim como
a definição do domínio das variáveis de entrada. Por fim, os modelos retornam um ficheiro de saída
onde contêm toda a informação usada durante o processo da extracção automática das Regras
Difusas e retornam também, em ficheiros separados, o conjunto de Regras Difusas para cada
variável de saída. A figura 4.1 ilustra a construção macroscópica dos modelos citados.
Figura 4.1 – Arquitectura geral da solução.
4.3 Extracção das Regras Difusas com base no Pareto-Optimo
Por definição geral, pode-se dizer que, o Pareto-Optimo [81] é definido como sendo um conjunto
de pontos, numa dada região, onde o seu domínio não é abrangido por nenhum outro ponto dessa
mesma região. Assim, será possível interpretar os limites máximos e/ou mínimos de um dado circuito
ou sistema. Esses limites do circuito em questão relacionam, portanto, as variáveis pretendidas.
A obtenção do Pareto-Optimo efectuado neste primeiro modelo requer a utilização de um
Algoritmo Evolutivo. O algoritmo escolhido para a obtenção de um conjunto de pontos que
transcrevam a curva característica do Pareto-Optimo, foi o Algoritmo Genético. Com o trabalho e
estudo que foi realizado para a implementação do Optimizador FUGA, descrito no Capítulo 3,
reduziria assim, trabalho e pesquisas para a sua implementação. Portanto, bastou-se fazer uma
adaptação do AG Clássico, descrito no capítulo anterior, para o novo modelo proposto. Os
operadores de inicialização da população, ordenação da população, reprodução e mutação foram
mantidos, da mesma forma como implementados e descritos no Capítulo 3. Os únicos operadores
que sofreram alterações e uma nova implementação foram, a função de custo e o critério de
paragem. Deste modo, a função de custo é calculada da forma como está descrita em (4.1).
∑=
=n
i
iterioresinpontosCusto1
_ (4.1)
Entende-se por pontos interiores todos aqueles que se encontram abaixo da linha limite máxima
do PO ou acima da linha limite mínima do PO. Cada ponto que está a ser referido corresponde, como
Evolução da Função de Custo
Equação
Simulação
Descrição do circuito/sistema
Definição e classificação das variáveis
Descrições e atribuições globais usadas no circuito num ficheiro de saída
Escrita das Regras Difusas, para cada variável de saída, no respectivo ficheiro
Eléctrica
Pareto-Optimo
DOE
Extracção Automática das Regras Difusas
Capítulo 4 – Extracção Automática das Regras Difusas
- 47 -
seria de esperar, a um dado indivíduo. Esse indivíduo contém, em cada gene, o valor das variáveis
de entrada. Após a análise dos genes, esses valores são convertidos, para os respectivos valores
das variáveis de saída. São esses valores de saída que serão avaliados e contabilizados para a
função de custo. Considerando a partir de agora o limite máximo do PO, então um exemplo ilustrativo
referente à área de restrição dominada por dois pontos A e B, poderá ser observada na figura 4.2.
Figura 4.2 – Exemplificação de um conjunto de pontos no limite máximo do Pareto-Optimo.
Verifica-se portanto que, para o ponto A a função de custo irá encontrar cinco pontos (indivíduos)
dominantes e dentro do domínio de restrição pertencente ao ponto A (Custo = 5). Por outro lado, para
o ponto B, a função de custo não encontrará nenhum ponto dominante dentro do domínio de restrição
do indivíduo B (Custo = 0). Quer isto dizer que, o ponto B, além de ser sempre ele próprio um ponto
dominante, encontra-se mais favorável e mais próximo para se aproximar da curvatura do Pareto.
Salienta-se o facto de, caso existam pontos sobrepostos então cada ponto será um ponto dominante
sendo, portanto, contabilizado pela função de custo.
Seguidamente, irá ser explicada a constituição do operador critério de paragem deste modelo.
Como já é sabido, este operador tem o objectivo de verificar se os indivíduos cumprem a(s)
especificação(ões) pretendidas. Contudo, neste caso não se pretende saber se já existe um indivíduo
que se encontre sobre a linha máxima do PO. O que se pretende é encontrar um conjunto de
indivíduos que possam definir a curvatura do Pareto. Porém, não se sabe à partida onde se situa a
curvatura do PO, pelo facto de não haver nem controlo, nem qualquer informação acerca das
variáveis de saída. O que se faz neste caso, é garantir um número elevado de gerações de modo a
ter a certeza que exista um número significativo de indivíduos sobre a curva de PO ou uma curvatura
sub-optima. Para tal, a condição de critério de paragem para o Algoritmo Genético é definida da
forma como descrita em (4.2), cujas duas condições têm que se verificar, simultaneamente.
×≥
×+≥
PopulaçãoPontosdemínimon
saídanentradasnGeraçõesdemínimon
βº
)ºº(150º (4.2)
Ter-se-á em conta um número mínimo de gerações, de modo a garantir que os indivíduos se
encontrem ou próximos ou no limite máximo da curva do Pareto. No entanto, pretende-se obter um
PO bem definido e para que isso aconteça é preciso garantir um número mínimo de pontos sobre a
curvatura. Essa quantidade de pontos está directamente relacionada com o tamanho da população.
Capítulo 4 – Extracção Automática das Regras Difusas
- 48 -
Variando a variável β estaremos a mexer nesse número de pontos. Caso, ao fim de um determinado
número limite de Gerações, ambas as condições não tiverem sido satisfeitas, a experiência é dada
como erro e inicia-se, novamente, a experiência com uma nova população.
Em suma, resta definir como são atribuídos e avaliados os outros operadores do Algoritmo
Genético. Na tabela 4.1 encontram-se os dados utilizados para o funcionamento do Modelo.
Tabela 4.1 – Definição da constituição geral do AG aplicado.
Características
População inicial para o Pareto-Optimo pré-definido 36 População inicial para os restantes Paretos-Optimo 26 Células totais Nº variáveis de entrada X População inicial Mutação 5% das células totais Reprodução Escolha dos n/2 melhores indivíduos Selecção Aleatória Limite máximo de Geração 1000 β – Número de pontos sobre a linha do Pareto Definido pelo modelo por 0,75 (Alterável)
4.3.1 Estrutura do Kernel do modelo Pareto-Optimo
A constituição deste modelo depende de três passos fundamentais: a criação do PO, a avaliação
do mesmo e por fim a construção das RD. Para um conjunto de RD equilibradas, estes três blocos
têm que funcionar, correctamente. Uma má obtenção de um PO, poderá causar uma avaliação
inadequada e, por fim, originar um conjunto de RD desequilibradas e incorrectas. O modelo também
dispõe de um bloco auxiliar que ajuda a corrigir possíveis erros provenientes da avaliação do Pareto-
Optimo. Portanto, para que se concretize um conjunto de Regras que traduzem o sistema pretendido,
então a orientação e disposição dos Paretos-Optimo terão que ser bem definidas.
De seguida, apresenta-se na figura 4.3, uma perspectiva a nível microscópico do modelo
proposto para a extracção das RD com base no Pareto-Optimo. Para uma melhor percepção do
funcionamento deste modelo, demonstra-se o seu funcionamento aplicando um exemplo prático.
Figura 4.3 – Definição interna da constituição do Modelo PO proposto.
4.3.2 Funcionamento do Modelo Pareto-Optimo para o caso de estudo
4.3.2.1 Passo 1 - Especificações
Como exemplo de implementação para o caso de estudo, considera-se o mesmo circuito
apresentado e usado como caso de estudo no capítulo anterior. Recorde-se que, para o filtro activo
Passa-Baixo de primeira ordem, as equações para as duas variáveis de saída, Ganho do circuito e
Capítulo 4 – Extracção Automática das Regras Difusas
- 49 -
Frequência e os domínios para as variáveis de entrada, foram apresentados em (3.4), (3.5) e (3.6),
respectivamente. A escolha dos domínios para a implementação do PO poderá ser o que se
pretender, desde que abranja o domínio que se usará na optimização do Optimizador FUGA. Isto
porque, no final da execução do modelo e quando forem registados os dados nos ficheiros de saída,
esses domínios poderão ser alterados, conforme for necessário para a implementação do
optimizador. Note-se que, os domínios referenciado em (3.6), passam a dominar-se pré-definidos.
Com base nesses domínios, pode-se visualizar a sua respectiva curvatura do PO na figura 4.4.
Figura 4.4 – Pareto-Optimo obtido com base no exemplo caso de estudo.
Observando a figura 4.4, sendo esta uma curva correspondente ao limite máximo definido pelo
PO, verifica-se que todas as especificações para as variáveis de saída, colocadas para a
Optimização, deverão encontrar-se abaixo do traçado da curva. Caso as especificações pretendentes
se situarem acima desta curva do PO, então deverá se proceder à modificação domínio pré-definido.
4.3.2.2 Passo 2 – Obtenção dos Paretos-Optimo
Uma vez traçada a curvatura do Pareto para o domínio pré-definido, deverá de se proceder à
construção de vários PO de modo a ser possível a avaliação das variáveis de entrada. Deste modo,
serão efectuados aumentos e diminuições do respectivo domínio de cada entrada (3.6) e será
executado o algoritmo para a obtenção das restantes curvaturas. Assim sendo, e sabendo que para
este caso de estudo existem três variáveis de entrada, então terão que se encontrar e produzir mais
seis curvas de PO. O Modelo define os novos domínios para os restantes PO, consoante os valores
médios do domínio pré-definido. Efectua também, pela mesma ordem que as variáveis de entrada
são definidas. Na tabela 4.2 encontram-se as alterações de cada variável de entrada para a obtenção
dos seus PO.
Tabela 4.2 – Definição da declaração dos novos domínios para cada experiência.
Experiência Variável de Entrada Característica Novo Domínio 1 R1 Incremento [1000; 1400] 2 R1 Decremento [600; 1000] 3 R2 Incremento [100e03; 140e03] 4 R2 Decremento [60e03; 100e03] 5 C Incremento [1,6e-12; 3,6e-12] 6 C Decremento [0,4e-13; 1,6e-12]
Capítulo 4 – Extracção Automática das Regras Difusas
- 50 -
Para cada uma das seis experiências, o Algoritmo Genético obedece às experiências
apresentadas na tabela 4.2. Todas essas experiências estão representadas na figura 4.5. O traçado
do Pareto-Optimo para o domínio pré-definido está representado com um traçado mais a cheio e com
losangos, enquanto que os restantes seis PO estão representados com cores diferentes e por cruzes.
O Algoritmo Genético é responsável apenas por efectuar as curvaturas do PO para cada
variação do domínio das variáveis de entrada. Também é responsável por corrigir erros que ocorram,
nomeadamente, repetir os Paretos-Optimo que não cumpram os critérios de paragens definidos em
(4.2) e, também, pela eliminação de pontos fora da curvatura desejada. Sempre que é efectuado um
PO com sucesso, são guardados esses pontos numa matriz de estrutura. De seguida, após estarem
completas todas as experiências, a matriz é enviada para o passo seguinte, a avaliação dos PO.
4.3.2.3 Passo 3 – Avaliação dos Paretos-Optimo
Ao serem avaliadas as sete experiências isoladamente, facilmente, verificamos quais as
contribuições que uma dada variável produz nas saídas. Para proceder a essa avaliação, terão que
ser traçados os respectivos limites mínimos e máximos que o Pareto-Optimo pré-definido (de
referência) impõe, para cada variável de saída. Na figura 4.5, ilustra-se um traçado de cor preta e a
cheio desses limites para ambas as saída.
Figura 4.5 – Traçado dos limites mínimos e máximos para o Pareto-Optimo pré-definido.
O processo de avaliação do Pareto-Optimo é efectuado em duas etapas. A primeira é o cálculo
sobre quais as variáveis de entrada que influenciam as respectivas variáveis de saída. A segunda,
trata-se de saber que tipo de contribuições que cada variável de entrada provoca em cada saída.
Na primeira etapa, avaliando a figura 4.5, verifica-se que ao variar o domínio da variável R1, tanto
no incremento como no decremento do domínio, os pontos a traçados (mais de 50%) encontram-se
fora dos limites traçados para o Ganho, logo, conclui-se que a variável R1 influencia o Ganho. O
mesmo já não se verifica para a Frequência, em que mais de metade dos pontos permanecem dentro
dos limites formados pelo PO pré-definido, onde se conclui que a variação desta variável afecta
somente o Ganho. Quanto à variável R2 verifica-se que mais de metade dos seus pontos estão fora
dos limites formados tanto para o Ganho, como para a Frequência. Portanto, esta variável influencia
ambas as saídas. Fazendo a mesma análise para a capacidade C, verifica-se que a sua variação do
Capítulo 4 – Extracção Automática das Regras Difusas
- 51 -
domínio não influencia o Ganho, mas sim a Frequência. Contudo, o critério que o algoritmo
estabelece para saber se uma dada variável de entrada influencia a saída, não se baseia em definir
uma percentagem limite. O que o algoritmo efectua primeiro é o cálculo dos números de pontos que
cada variável de entrada contém dentro dos limites traçados. Por fim, esse número é dividido pelo
total de número de pontos que essa curva do PO contém. Este processo é feito para cada variação
do domínio, da respectiva variável de entrada para cada saída. No fim deste, é calculada a média
total proveniente desses quocientes. Como, neste caso, temos duas variáveis de saída, então
teremos duas médias. Na tabela 4.3, encontram-se os cálculos efectuados pelo Modelo do processo
descrito.
Tabela 4.3 – Apresentação de resultados obtidos para cada experiência efectuada.
1 Identificação do Pareto
2 Número
de Pontos
3 Limites Mínimos 4 Limites Máximos 5 Número de
Pontos dentro dos Limites
Pré-definido 32 Ganho_min = 100,8 Ganho_máx = 145,9
- Freq_min = 2,306x106 Freq_máx = 3,339x106
1) Incremento R1 22 - - Ganho = 11 Freq = 19
2) Decremento R1 17 - - Ganho = 4 Freq = 12
3) Incremento R2 20 - - Ganho = 11 Freq = 11
4) Decremento R2 21 - - Ganho = 6 Freq = 7
5) Incremento C 19 - - Ganho = 14
Freq = 3
6) Decremento C 18 - - Ganho = 16
Freq = 0
Como se observa, o PO pré-definido, contém um conjunto maior de pontos, mesmo para garantir
uma boa curvatura, visto ser a partir deste que toda a avaliação é feita. Os pontos limites mínimos e
máximos retirados do mesmo, não são o primeiro ponto e o último, mas sim o segundo e penúltimo
ponto. Isto deve-se ao facto de, por vezes, existirem pontos iniciais e/ou finais que se situam bastante
fora do prolongamento da curvatura, mas que satisfazem a função de custo. A tabela 4.4, demonstra
os resultados obtidos, com base nos valores apresentados nas colunas da tabela 4.3.
Tabela 4.4 – Quadro de conclusões provenientes da avaliação dos resultados.
1 Identificação do Pareto
6 Razão entre Colunas 5 e 2
7 Média da Coluna 6 para as duas saídas
8 Conclusão comparando as
colunas 6 e 7
1) Incremento R1 Ganho = 0,500
533.06
197,3________
==Ganho
0,500<0,533, então influencia Frequência = 0,864 0,864>0,435, então não influencia
2) Decremento R1 Ganho = 0,235 0,235<0,533, então influencia
Frequência = 0,706 0,706>0,435, então não influencia
3) Incremento R2 Ganho = 0,550 0,550>0,533, então não influencia
Frequência = 0,550
435.06
611,2______
==Freq
0,550>0,435, então não influencia
4) Decremento R2 Ganho = 0,286 0,286<0,533, então influencia
Frequência = 0,333 0,333<0,435, então influencia
5) Incremento C Ganho = 0,737 0,737>0,533, então não influencia
Frequência = 0,158 0,158<0,435, então influencia
6) Decremento C Ganho = 0,889 0,889>0,533, então não influencia
Frequência = 0,000 0,000<0,435, então influencia
Capítulo 4 – Extracção Automática das Regras Difusas
- 52 -
Analisando, cuidadosamente, a tabela 4.4, verifica-se que, por um lado a coluna 6 é composta
pela divisão directa entre a coluna 5 (Número de Pontos dentro dos Limites) e a coluna 2 (Número de
Pontos), da tabela 4.3. Por outro lado, na coluna 7 (Média da coluna 6 para as duas variáveis de
saída em análise), o Ganho e a Frequência baseiam-se na simples média aritmética da respectiva
soma da coluna 6 pelo número de experiências adicionais efectuadas. Por fim, a conclusão definida
na última coluna, coluna 8, é um pouco subjectiva. Acontece que, por vezes a influência ou não
influência de uma variável de entrada, perante a saída em causa, não pode ser levada literalmente
como está exposta. Isto é, para a variação do domínio da variável R1, a conclusão que se pode
extrair, tanto para o incremento como o decremento da mesma variável é correcta, ou seja, as duas
experiências são concordantes. O mesmo acontece com a variável C, a conclusão das duas
experiências, incremente e decremento, são concordantes. Mas, por outro lado, quando se vai avaliar
a variável R2, verifica-se que nas duas experiências, incremento e decremento, a conclusão é
contraditória. Num dos casos, a variável R2 não influencia nenhuma das variáveis de saída, no outro
está a influenciar ambas. Para evitar este tipo de situações, muitas alterações podiam ser feitas, tais
como, a manipulação da média calculada na coluna 7, da tabela 4.4, a escolha dos limites máximos e
mínimos das colunas 3 e 4, da tabela 4.3, o número inicial de indivíduos da população, o critério de
paragem, entre outros. Contudo, mantiveram-se todos esses factores, cuja alteração foi, somente, na
parte da conclusão.
Na conclusão, é inicializado um vector, no inicio da execução do modelo, para cada variável de
saída, que indica que todas as variáveis de entrada não influenciam nenhuma das saídas. Á medida
que se vai analisando cada conclusão retirada da coluna 8, procedem-se às alterações das
influências. Para evitar mudanças cíclicas (andar sempre a mudar de conclusão), só é possível
efectuar uma e apenas uma alteração no vector por cada variável de entrada. É por este motivo que
são sempre feitas duas experiências para cada variável de entrada, um incremento e um decremento
do domínio, ou seja, para reforçar a conclusão. Deste modo, caso uma das experiências não seja
conclusiva, de certo que a outra será. A figura 4.6 descreve este raciocínio.
Figura 4.6 – Processo de evolução para calcular as conclusões finais dos pesos das influências.
Capítulo 4 – Extracção Automática das Regras Difusas
- 53 -
Deste modo verifica-se que, sempre que se detecta que uma variável influencia a saída,
permanece até ao final com essa conclusão, porque já efectuou uma mudança de conclusão. Por
outro lado, caso uma variável de entrada não chegue a influenciar a saída, após serem avaliadas as
duas experiências, então permanecerá com a conclusão inicial, a não influência.
Por fim, através do processo de avaliação descrito pela figura 4.6, fica-se a saber que as
variáveis que influenciam o Ganho são duas, sendo elas: R1 e R2. Por outro lado, as variáveis que
influenciam a Frequência, também são duas, sendo elas: R2 e C. Deste modo, só resta saber de que
modo é que cada variável de entrada influencia a sua respectiva variável de saída. Para efectuar tal
estudo, foi implementado, no modelo, o seguinte raciocínio: são escolhidos os pontos limites máximos
e mínimos, tal como foram seleccionados na coluna 3 e 4 da tabela 4.3 do PO pré-definido, para as
restantes curvas de PO. Após se efectuarem os registos desses pontos, serão comparados caso a
caso com os limites do PO pré-definido. Caso ambos os pontos máximos e mínimos do Pareto em
análise, forem maiores que os pontos limites do PO pré-definido, e se tivermos na presença de um
aumento do domínio, conclui-se que essa variável tem uma contribuição positiva. A variável terá uma
contribuição negativa, caso se encontre perante o decremento do domínio da variável e ambos os
pontos limites do PO em questão forem superiores aos do PO pré-definido. O raciocínio é o mesmo,
mas com conclusões opostas, quando os limites do PO em análise forem menores que os limites do
Pareto pré-definido. Encontram-se na tabela 4.5, as conclusões resultantes para o exemplo proposto.
Tabela 4.5 – Apresentação dos resultados práticos conclusivos das contribuições.
Identificação do Pareto Limites Mínimos Limites Máximos Conclusão das Contribuições
Pré-definido Ganho_min = 100,8 Ganho_máx = 145,9
- Frequência _min = 2,306x106 Frequência _máx = 3,339x106
1) Incremento R1
Ganho_min = 86,01 Ganho_máx = 116,6 i) Pontos Limites são menores ii) O domínio é incrementado Logo: Contribuição Negativa
Frequência _min = 2,258x106 Frequência _máx = 3,062x106 i) Pontos Limites são menores ii) O domínio é incrementado Logo: Contribuição Negativa
2) Decremento R1
Ganho_min = 135,7 Ganho_máx = 191,6 i) Pontos Limites são maiores ii) O domínio é decrementado Logo: Contribuição Negativa
Frequência _min = 2,234x106 Frequência _máx = 3,155x106 i) Pontos Limites são menores ii) O domínio é decrementado Logo: Contribuição Positiva
3) Incremento R2
Ganho_min = 128,8 Ganho_máx = 164,7 i) Pontos Limites são maiores ii) O domínio é incrementado Logo: Contribuição Positiva
Frequência _min = 2,038x106 Frequência _máx = 2,607x106 i) Pontos Limites são menores ii) O domínio é incrementado Logo: Contribuição Negativa
4) Decremento R2
Ganho_min = 80,48 Ganho_máx = 116,5 i) Pontos Limites são menores ii) O domínio é decrementado Logo: Contribuição Positiva
Frequência _min = 2,846x106 Frequência _máx = 4,123x106 i) Pontos Limites são maiores ii) O domínio é decrementado Logo: Contribuição Negativa
5) Incremento C
Ganho_min = 104,6 Ganho_máx = 132,1 Nada a declarar
Frequência _min = 0,940x106 Frequência _máx = 1,187x106 i) Pontos Limites são menores ii) O domínio é incrementado Logo: Contribuição Negativa
6) Decremento C
Ganho_min = 104,3 Ganho_máx = 144,7 Nada a declarar
Frequência _min = 3,292x106 Frequência _máx = 4,575x106 i) Pontos Limites são maiores ii) O domínio é decrementado Logo: Contribuição Negativa
Capítulo 4 – Extracção Automática das Regras Difusas
- 54 -
Observando e analisando, na tabela 4.5, os pontos limites mínimos e máximos de cada
experiência chegou-se às conclusões descritas na última coluna. Para estes casos, procede-se da
mesma forma que se procedeu na figura 4.6. Isto é, de modo a evitar conclusões cíclicas e
contraditórias que possam surgir, todas as contribuições serão inicializadas com uma contribuição
negativa e o valor só é alterado uma e apenas uma vez, por cada variável de entrada. Sempre que a
conclusão seja nada a declarar, então não se procede a nenhuma alteração, mantendo-a. Portanto,
basta apenas que numa das experiências, incremento ou decremento, haja uma contribuição positiva,
para que a essa variável seja atribuída a contribuição positiva. Assim, a variável assumirá sempre
uma contribuição negativa até que seja concluído o contrário. Na tabela 4.6 encontra-se o resumo
final proveniente da conclusão das contribuições apresentadas na última coluna da tabela 4.5.
Tabela 4.6 – Conclusão final das contribuições para cada variável de entrada.
R1 R2 C Ganho Contribuição Negativa Contribuição Positiva Contribuição Negativa
Frequência Contribuição Positiva Contribuição Negativa Contribuição Negativa
Note-se que, anteriormente, já foi calculada e estão registadas quais as variáveis de entrada que
influenciam as respectivas saídas. Portanto, sempre que uma dada variável de entrada não
influenciar a saída em questão, despreza-se assim o tipo de contribuição da mesma. Neste momento,
já se contêm toda a informação necessária para a construção das RD, assim como o funcionamento
global do circuito em análise. Na tabela 4.7, resume-se toda a informação efectuada até agora.
Tabela 4.7 – Conclusão de todo o estudo efectuado até ao momento.
R1 R2 C
Ganho Influencia Influencia Não Influencia
Contribuição Negativa Contribuição Positiva Contribuição desprezável
Frequência Não Influencia Influencia Influencia
Contribuição desprezável Contribuição Negativa Contribuição Negativa
4.3.2.4 Passo 4 - Construção das Regras Difusas
Para proceder à fase final deste modelo, a construção das Regras Difusas, a primeira etapa será
contabilizar o número de variáveis de entrada que influenciam cada saída, separadamente. Como foi
concluído, da análise anterior, tanto para o Ganho como para a Frequência o número de variáveis de
entrada a influenciar são duas. Isto quer dizer que, para ambas as saídas ter-se-á, no total, 9 RD
(usando 3 níveis de subconjuntos, então 32 = 9). Contudo, a construção das RD depende de uma
breve análise quanto às contribuições que cada variável de entrada transporta. Deste modo, é
contabilizado o número de variáveis de entrada que têm uma contribuição positiva e aquelas que têm
uma contribuição negativa. Assim, verifica-se que para o Ganho, ambas as variáveis de entrada
contêm contribuições opostas. Nestes casos, chamar-se-ão variáveis com contribuições mistas.
Para o caso da Frequência, verifica-se que ambas as saída contêm contribuições negativas. Nestes
casos, chamar-se-ão de contribuições uniformes.
Para todos os casos, cujas contribuições sejam uniformes, ou seja, todas as entradas tem
contribuições positivas ou todas as variáveis tem contribuições negativas, como é o caso da
Capítulo 4 – Extracção Automática das Regras Difusas
- 55 -
Frequência, ter-se-á que calcular e definir um intervalo X de modo a poder atribuir-se o resultado final
de cada Regra Difusa. Esse intervalo está ilustrado na tabela 4.8.
Tabela 4.8 – Avaliação para a construção das Regras Difusas com contribuições uniformes.
Contribuição negativa: Contribuição positiva:
∑ ⇒< MáxXõescontribuiç ∑ ⇒< MínXõescontribuiç
∑ ⇒= MédXõescontribuiç ∑ ⇒= MédXõescontribuiç
∑ ⇒> MínXõescontribuiç ∑ ⇒< MáxXõescontribuiç
Só resta saber qual o valor de X que está a ser referido na tabela 4.8. Esta variável irá proceder
à atribuição correcta do resultado das Regras Difusas, cujo cálculo está directamente relacionado
com o número de variáveis de entrada e o número de subconjuntos utilizado, que neste caso será de
3 subconjuntos. A equação do cálculo da referida variável X está descrita em (4.3).
entradaderiáveisvadenossubconjuntentradaderiáveisvadenX ºº −×= (4.3)
Para uma maior percepção da construção das Regras Difusas considera-se que os seguintes
níveis de subconjuntos são definidos tal como descrito em (4.4).
AltoModeradoBaixo ⇒⇒⇒ 321 (4.4)
Já, contendo tudo necessário para a construção do conjunto de Regras Difusas para a
Frequência, visto ser esta a variável de saída que contém uma contribuição uniforme, então o
raciocínio e o resultado final do mesmo, encontram-se indicados na tabela 4.9.
Tabela 4.9 – Processo de cálculo e a respectiva atribuição das RD para a Frequência.
Contribuição Negativa:
nº variáveis = 2 ; subconjuntos =3 X = 2*3 – 2 = 4
C R2 Resultado Baixo = 1 + Baixo = 1 2 < 4 => Máx Baixo = 1 + Mod = 2 3 < 4 => Máx Baixo = 1 + Alto = 3 4 = 4 => Méd Mod = 2 + Baixo = 1 3 < 4 => Máx Mod = 2 + Mod = 2 4 = 4 => Méd Mod = 2 + Alto = 3 5 > 4 => Mín Alto = 3 + Baixo = 1 4 = 4 => Méd Alto = 3 + Mod = 2 5 > 4 => Mín Alto = 3 + Alto = 3 6 > 4 => Mín
Por fim, para o caso de haver uma contribuição mista, o raciocínio é mais acessível. Atribuindo
na mesma a definição descrita em (4.4), então atribui-se a todas as variáveis de entrada que
contribuírem positivamente, um valor positivo, da definição citada. Para as variáveis de entrada que
Capítulo 4 – Extracção Automática das Regras Difusas
- 56 -
contribuírem negativamente, então atribui-se um valor negativo da definição descrita em (4.4). No fim
de cada Regra, é efectuada a soma total de todas as contribuições e a conclusão final é a que está
definida em (4.5).
⇒>−
⇒=−
⇒<−
∑
∑
∑
=
=
=
Máxnegativascontpositivascontcaso
Médnegativascontpositivascontcaso
Mínnegativascontpositivascontcaso
n
i
ii
n
i
ii
n
i
ii
0)__(:3
0)__(:2
0)__(:1
1
1
1
(4.5)
Assim sendo, facilmente se consegue obter qualquer conjunto de Regras de uma contribuição
mista. Para o caso da variável de saída do Ganho, o conjunto de Regras Difusas e o respectivo
raciocínio estão apresentados na tabela 4.10.
Tabela 4.10 – Processo de cálculo e a respectiva atribuição das RD para o Ganho.
Contribuição Mista:
nº variáveis = 2 ; subconjuntos =3 R2
(Cont. Positiva)
R1 (Cont. Negativa)
Resultado
Baixo = 1 + Baixo = - 1 0 = 0 => Méd Baixo = 1 + Mod = - 2 - 1 < 0 => Mín Baixo = 1 + Alto = - 3 - 2 < 0 => Mín Mod = 2 + Baixo = - 1 1 > 0 => Máx Mod = 2 + Mod = - 2 0 = 0 => Méd Mod = 2 + Alto = - 3 - 1 < 0 => Mín Alto = 3 + Baixo = - 1 2 > 0 => Máx Alto = 3 + Mod = - 2 1 > 0 => Máx Alto = 3 + Alto = - 3 0 = 0 => Méd
Note-se que, a contribuição mista só é válida para números de variáveis de entrada superiores
ou iguais a dois. Caso seja apenas uma variável de entrada a contribuir uma dada variável de saída,
logo essa entrada terá que ter uma contribuição positiva ou negativa e nunca as duas,
simultaneamente. Nesse caso, o procedimento é efectuado como o processo citado para
contribuições do tipo uniformes.
4.3.3 Simplificação do Modelo Pareto-Optimo
Com o aumento, não só da complexidade, mas também do número de variáveis de entrada
presente num circuito/sistema analógico, para os casos das contribuições mistas resultantes que
possam surgir, certos cuidados e atenções deverão ter-se em conta. Esta atenção só acontece, para
os casos de contribuições mistas, porque por vezes encontra-se numa situação em que o número de
variáveis que contribuem, por exemplo, positivamente, é, claramente, superior ao número de
Capítulo 4 – Extracção Automática das Regras Difusas
- 57 -
variáveis que estão a contribuir negativamente, ou vice-versa. Assim sendo, as RD serão
influenciadas de forma incorrecta, visto que, o peso tenderá para um dos lados das contribuições.
De seguida é apresentado, um processo implementado em que o modelo recorrerá quando
casos como os descritos, anteriormente, acontecem. Depois, será apresentada uma ferramenta extra
que o modelo disponibiliza para a construção das Regras Difusas, de forma a simplificá-las em
questões de dimensão.
4.3.3.1 Correcção da construção das Regras Difusas para contribuições mistas
Propõe-se como segundo exemplo de estudo, dois filtros activos Passa-Baixo de primeira ordem,
em cascata, usados nos exemplos casos-de-estudo anteriores, formando assim um filtro activo de
segunda ordem. Na figura 4.7 apresenta-se, esquematicamente, o circuito a usar neste ponto. Neste
exemplo, a função de transferência de segunda ordem resultante do circuito proposto está descrita
em (4.6). Mantendo o mesmo número de variáveis de saídas, Ganho e Frequência, as equações que
descrevem o seu funcionamento são dadas por (4.7) e (4.8), respectivamente.
Figura 4.7 – Arquitectura geral de um filtro Passa-Baixo activo de segunda ordem.
21422412
2
2131
111
1
)(
CCRRCRCRss
CCRRsT
+
++
= (4.6)
31
42
RR
RRGanho = (4.7)
2142
1
2
1
CCRRFrequência
π= (4.8)
Verifica-se que, nem sempre as conclusões da análise com base no Modelo PO são perfeitas,
podendo cometer erros. Isto, deve-se ao facto do Pareto-Optimo não ser um modelo exacto e estar
sujeito a factores incontroláveis, como a posição de um maior número de pontos num dos extremos
da curvatura e a localização desses pontos, fazendo com que a escolha dos pontos limites máximos
e mínimos sejam diferentes. Isto verifica-se pelo facto do modelo precisar de um algoritmo evolutivo
para traçar o PO. Deste modo, ter-se-ão que criar medidas que possam eliminar ou contornar esses
erros. Para tal efeito, encontra-se na tabela 4.11, a avaliação correcta, proveniente do modelo usado
para a Geração Automática das Regras Difusas, do circuito exposto.
Capítulo 4 – Extracção Automática das Regras Difusas
- 58 -
Tabela 4.11 – Apresentação correcta das influências e contribuições das variáveis de entrada.
Ganho Frequência
R1 Influencia Não Influencia
Contribuição Negativa Contribuição desprezável
R2 Influencia Influencia
Contribuição Positiva Contribuição Negativa
R3 Influencia Não Influencia
Contribuição Negativa Contribuição desprezável
R4 Influencia Influencia
Contribuição Positiva Contribuição Negativa
C1 Não Influencia Influencia
Contribuição desprezável Contribuição Negativa
C2 Não Influencia Influencia
Contribuição desprezável Contribuição Negativa
Como se pode observar, para o Ganho tem-se uma contribuição mista. Esta contribuição é
aceite, porque o número de contribuições positivas é equivalente ao número de contribuições
negativas. Para este caso, teremos um conjunto de Regras Difusas bem definido e equilibrado.
No caso da Frequência, tem-se uma contribuição uniforme negativa. Nestes casos, como já foi
citado anteriormente, não existe qualquer problema, porque quando todas as variáveis contribuem
com o mesmo tipo de contribuição o conjunto de Regras Difusas será sempre bem definido.
Contudo, quando a avaliação do PO e restantes curvaturas induzem a erros, estes podem
provocar resultados como os descritos na tabela 4.12, tal como foi registado numa dada simulação.
Tabela 4.12 – Apresentação incorrecta das influências e contribuições das variáveis de entrada.
Ganho Frequência
R1 Influencia Não Influencia
Contribuição Negativa Contribuição desprezável
R2 Não Influencia Influencia
Contribuição desprezável Contribuição Positiva
R3 Influencia Não Influencia
Contribuição Negativa Contribuição desprezável
R4 Influencia Influencia
Contribuição Positiva Contribuição Negativa
C1 Não Influencia Influencia
Contribuição desprezável Contribuição Negativa
C2 Não Influencia Influencia
Contribuição desprezável Contribuição Negativa
As alterações que induziram esta má avaliação do PO foram: para o Ganho, a variável de
entrada R2 deixou de influenciar a saída e para a Frequência, a variável R4 deixou de ter uma
contribuição positiva para passar a contribuir negativamente. Mas, verifica-se que para o Ganho, o
conjunto de influências continua correcto, apesar de estar a ser omitida uma delas. Por outro lado, a
Frequência continha um conjunto de contribuições uniformes, que passaram a contribuição mista.
É na Frequência que se concentra a atenção maior. Isto porque, passou a haver três variáveis
de entrada com contribuições negativas e somente uma delas entra com contribuição positiva. Nestes
Capítulo 4 – Extracção Automática das Regras Difusas
- 59 -
casos, a influência de três variáveis de entrada com contribuição negativa vai fazer com que os
resultados das Regras Difusas tendam para um dos extremos. Neste caso, para o nível de
subconjunto Mínimo. Com base nos níveis de subconjuntos proposto em (4.4), a construção das
Regras Difusas com contribuição mista, caso da Frequência, estão descritas na tabela 4.13.
Tabela 4.13 – Exemplo de uma construção de um conjunto de Regras Difusas desequilibradas.
Contribuição Mista - nº variáveis = 4 ; subconjuntos =3
C2
(Cont. Negativa)
C1
(Cont. Negativa)
R2
(Cont. Negativa)
R1
(Cont. Positiva) Resultado
… + … + … + … … - Baixo = - 1 + - Baixo = - 1 + - Baixo = - 1 + Baixo = 1 - 2 < 0 => Mín
- Baixo = - 1 + - Baixo = - 1 + - Baixo = - 1 + Mod = 2 - 1 < 0 => Mín
- Baixo = - 1 + - Baixo = - 1 + - Baixo = - 1 + Alto = 3 0 = 0 => Méd - Baixo = - 1 + - Baixo = - 1 + - Mod = - 2 + Baixo = 1 - 3 < 0 => Mín
- Baixo = - 1 + - Baixo = - 1 + - Mod = - 2 + Mod = 2 - 2 < 0 => Mín
… + … + … + … …
O que se pretende demonstrar com a tabela 4.13 é que, com esta distribuição de contribuições
pelas várias variáveis de entrada, somente uma das Regras, num total de 81 Regras Difusas (= 34),
resulta num valor lógico Médio. Todas as restantes resultam em Mínimo, porque são dominadas
pelas contribuições negativas. Isto, de certo modo irá influenciar o andamento do Modelo Difuso e,
por consequente, nas várias decisões da melhor atribuição do novo valor do gene durante a mutação.
Para evitar situações como estas, o modelo activa a correcção sempre que, perante uma contribuição
mista, o número de um do tipo de contribuição for menor que o número da contribuição oposta. O
modelo vai eliminando, posteriormente, todas as variáveis de entrada que se encontram em menor
número de contribuição, permanecendo somente as restantes. A figura 4.8 ilustra o processo de
correcção aplicado ao exemplo proposto.
Figura 4.8 – Processo evolutivo de correcção para conjuntos de RD desequilibradas.
Capítulo 4 – Extracção Automática das Regras Difusas
- 60 -
Observa-se que, após a correcção das contribuições, para o Ganho não houve nenhuma
alteração pelo facto do número de contribuições positivas ser maior que metade do número de
contribuições negativas. Quanto à Frequência, verifica-se que a variável R2 que contribuía
positivamente, deixou de influenciar esta saída, tornando assim a Frequência numa saída com
contribuição uniforme negativa. O facto de se estarem a eliminar conclusões de contribuições que por
vezes estão correctas faz com que o Optimizador FUGA aplique o seu funcionamento de mutação de
genes a menos variáveis de entrada. As restantes passarão a ter uma mutação, perfeitamente,
aleatória. Sabe-se que, quanto mais variáveis de entrada estiverem agregadas ao Modelo Difuso
mais rápido se torna o desempenho do Optimizador. Contudo, é preferível trabalhar-se com um
conjunto de RD equilibradas do que ter controlo de todas as variáveis de entrada, estando elas
desequilibradas. Com isto, irá de certo modo reduzir o desempenho do Modelo.
Note-se que, por vezes, este procedimento pode eliminar variáveis de entrada que estavam a
contribuir correctamente e manter outras variáveis que possam estar a ter contribuições opostas à
que apresentam na realidade. É um risco que tem que se correr, porque a utilização do Modelo
Difuso não impõe um conjunto de Regras Difusas exactas para o seu funcionamento, mas requer sim,
um conjunto de Regra equilibrado pelas suas contribuições das variáveis de entrada, para um melhor
desempenho da mutação.
4.3.3.2 Limitação do tamanho da construção das Regras Difusas pelo Pareto-Optimo
Existe, no entanto, outro factor que por vezes deve ser tido em conta, isto é, o número total de
RD. Até agora só foram utilizados três níveis de subconjuntos e no exemplo do filtro Passa-Baixo de
segunda ordem verificou-se um conjunto de 81 Regras Difusas perante a influência de quatro
variáveis de entrada. De certo modo, para exemplos mais complexos e de uma ordem elevada de
número de variáveis de entrada, o total de RD começa a crescer, exponencialmente. Portanto, limitar
o número de RD para as variáveis de saída pretendentes é o que se deverá ter em conta.
Esta questão de limitar o número de Regras é o utilizador que indica no início do processo da
Geração das Regras, um número máximo, limitando assim o número de Regras para todas as
variáveis de saída. Caso não pretenda limitar esse número, deverá colocar essa variável a zero.
Estando essa variável a zero o modelo construirá as Regras Difusas sem nenhum limite imposto.
O processo de simplificação tem como base, o aproveitamento das curvas geradas pelo PO.
Basicamente, o que se verifica é que quanto mais afastado se encontra a curva de um dado PO em
relação ao PO pré-definido, então maior é o peso dessa variável de entrada perante a saída em
análise. Como são criadas sempre duas curvas de PO, experiência de incrementar o domínio e
decrementá-lo, então o peso resultante será a soma da média aritmética das duas distâncias. O
problema que se coloca é como será feito esse cálculo se os números de pontos que caracterizam
cada PO não são iguais? A forma mais correcta que se encontrou para tal implementação foi,
começar a comparar o primeiro ponto do PO com o primeiro ponto do PO pré-definido, isto é, efectuar
o quadrado da diferença de ambos, e ir prosseguindo da mesma maneira até se esgotarem os pontos
num dos PO. Como o PO pré-definido tem uma População inicial maior, supostamente não será esse
a esgotar os pontos, mas sim os Paretos de cada experiência. De seguida, essa soma de pontos é
Capítulo 4 – Extracção Automática das Regras Difusas
- 61 -
dividida pelo número total de pontos do PO que contém o menor número de pontos. Em (4.9)
encontra-se a expressão utilizada para este cálculo.
( )
( ) ( )
2
º;
;;
1
2
1
2
1
decremento
n
i
ii
incremento
n
i
ii
m
j
j
ii
pontostotal
yx
pontostotal
yx
totalDistância
saídasnmpontosdenúmeromenorocontémqueParetopontostotal
definidopréParetopontosyParetopontosxpontostotaln
−
+
−
=
==
−===
∑∑
∑
==
=
(4.9)
Como exemplo demonstrativo, irá ser exemplificado, uma vez mais, com base no exemplo
tradicional caso de estudo, no filtro Passa-Baixo activo de primeira ordem. Mas agora, com uma
particularidade, irá ser contabilizado o ganho interno do ampop. Teoricamente, este ganho tinha sido
desprezado e não tinha entrado até agora para as contas. Com base na introdução desta nova
variável de entrada (ganho interno do ampop = Aint), chegou-se ao seguinte conjunto de Paretos-
Optimo que a figura 4.9 ilustra.
Figura 4.9 – Paretos-Optimo resultantes da aplicação de um ampop com ganho finito.
Deste modo, pode-se observar que as curvaturas referentes ao incremento e decremento do
ganho interno do ampop encontram-se bastante próximas do Pareto pré-definido, o que já por si,
podem ser desprezáveis. Contudo, na tabela 4.14 encontram-se os resultados práticos do modelo
referentes ao cálculo das distâncias totais descritas em (4.9). Como se verifica pela tabela 4.14, para
ambas as experiências, o ganho interno do ampop tem uma distância, praticamente, mínima para
ambas as variáveis de saída. Deste modo, o modelo desprezá-la-ia, de certeza, caso influenciasse
alguma das saídas e caso o utilizador tivesse limitado o número de influências por cada saída.
Chama-se a atenção que, deste modo é possível salientar que todas aquelas variáveis de entrada
que não influenciam uma dada saída, como foi verificado na secção anterior, contêm valores abaixo
da média nas distâncias finais das saídas. Isto é, verificou-se que a variável R1 só influenciava
apenas o Ganho, portanto, verifica-se que no Ganho a distância final de R1 contém um valor acima da
média, mas quanto à Frequência contém um valor abaixo da média, como seria de esperar. O
contrário, também acontece para a variável C.
Capítulo 4 – Extracção Automática das Regras Difusas
- 62 -
Tabela 4.14 – Apresentação dos cálculos das distâncias das curvaturas para ambas as saídas.
Experiências Distância Ganho
Distância Frequência
Distância Final para o Ganho
Distância Final para a Frequência
Incremento R1 4,5969 2,1053e+010
6,663902 2,934801e+010 Decremento R1 8,7309 3,7643e+010
Incremento R2 2,7878 2,2846e+011 6,666563 7,674235e+011
Decremento R2 10,5454 1,3064e+012
Incremento C 0,4347 2,7247e+011
0,278990 1,002585e+012 Decremento C 0,1233 1,7327e+012
Incremento Aint 0,3626 4,4080e+010
0,263079 2,897181e+010 Decremento Aint 0.1636 1,3864e+010
Média 3,4681335 4,5708208e+011
4.3.4 Expansão do modelo Pareto-Optimo para Rn
Sendo o PO um modelo multiobjectivo, consegue expandir-se para Rn. Até agora, só foram
ilustrados Paretos em R2, porque só se estavam a considerar duas variáveis de saída. Essa
expansão e a obtenção de um PO para dimensões mais elevadas podem ser obtidas e sem esforço
adicional, sendo uma vantagem para esta ferramenta. No entanto, verifica-se que à medida que se
aumenta na dimensão do espaço, a avaliação começa a perder qualidade. Acontece que, quando
uma população contém um conjunto de indivíduos que fazem parte da constituição da curvatura do
PO, no fim de cada experiência, esses indivíduos encontram-se todos desordenados. É preciso fazer
uma ordenação posterior à população para se conseguir prosseguir à avaliação das influências e
contribuições de cada variável de entrada. Por isso, à medida que se aumenta o número de saídas,
torna-se difícil garantir uma ordenação, cuja eliminação de certos indivíduos, para conseguir
transcrever um PO razoável, pode aumentar, significativamente.
Portanto, aconselha-se que, para circuitos/sistemas com mais de quatro ou cinco variáveis de
saída, se proceda à execução de mais de uma vez do modelo proposto, para um conjunto de
variáveis de saída, ou seja, executar para as primeiras três variáveis de saída, depois executar,
novamente, para outras três ou quatro variáveis de saída e assim, sucessivamente.
4.4 Extracção das Regras Difusas com base no DOE
O Planeamento de Experiência [82] (em inglês Design of Experiments, DOE) é uma técnica
utilizada para se projectar experiências, ou seja, para definir quais os dados, em que quantidade e em
que condições devem ser coleccionados durante uma determinada experiência, procurando,
basicamente, satisfazer dois grandes objectivos: a maior precisão estatística possível na resposta e
o menor custo. O menor custo para o nosso caso entende-se como o tempo de execução. Deste
modo o DOE é considerado, em [36], como sendo uma técnica muito poderosa para entender e
compreender um dado processo, estudando o impacto do potencial das variáveis ou dos factores que
Capítulo 4 – Extracção Automática das Regras Difusas
- 63 -
afectam o processo, proporcionando assim, uma visão espontânea de melhoria da qualidade das
possibilidades. Além destas particularidades, o DOE conta com a vantagem de conseguir trabalhar
com uma redução do número de amostra para se efectuar uma simulação. Ao contrário do modelo
apresentado anteriormente, pelo PO, este não necessitará de nenhum algoritmo interno, tal como
Computação Evolutiva como era usado, para proceder à simulação e avaliação das variáveis.
Estando a trabalhar com sistemas cujas variáveis presentes têm um comportamento
relativamente linear, ao serem mantidas com um determinado valor todas as restantes variáveis de
entrada e procedendo à alteração de apenas uma delas, consegue-se saber que tipo de contribuição
é que essa variável de entrada estará a produzir nas respectivas saídas. É este o conceito base de
funcionamento do DOE, e que será aplicado neste novo modelo.
Montgomery em [82], propõe as seguintes etapas para o desenvolvimento típico do DOE:
• Caracterização do problema;
• Escolha dos factores e níveis de influência;
• Selecção das variáveis de resposta;
• Determinação de um modelo de planeamento da experiência;
• Condução da experiência;
• Análise dos dados;
• Conclusões e recomendações.
Estas etapas contêm palavras-chave cuja tradução ou glossário é imprescindível. Por isso, na
tabela 4.15, encontra-se uma correspondência a uma linguagem mais corrente nesta matéria.
Tabela 4.15 – Glossário para alguns termos usados no DOE.
Factores ou Tratamentos São as variáveis de controlo ou de entrada.
Níveis Correspondem aos intervalos de valores das variáveis de controlo.
Variável de resposta Parâmetro de saída, resultante de uma variação nas variáveis de entrada.
Aleatoriedade
É a prática de realizar a escolha das execuções (ou pontos experimentais) por meio de um processo aleatório (tal como dados ou sorteio). Esta prática simples em muitos casos garante as condições de identidade e independência dos dados colectados e evita erros sistemáticos.
Blocos São agrupamentos de dados para eliminar fontes de variabilidade que não são de interesse do “espectador”.
Contudo, não existe apenas uma forma de tratar o planeamento dos dados. Neste modelo
iremos apenas trabalhar e fazer a sua evolução através de Projecções Factoriais (vectores
ortogonais). O tipo de planeamento pode ser qualquer tipo e o próprio utilizador poderá construir o
seu próprio planeamento. De seguida apresenta-se um conjunto de planeamentos mais usados neste
tipo de tratamento de dados:
• Tratamento em pares;
• Tratamento em blocos;
• Cubo Latino;
• Cubo Greco-Latino;
• Cubo Hiper-Greco-Latino;
• Projecção Factorial.
Capítulo 4 – Extracção Automática das Regras Difusas
- 64 -
4.4.1 Estrutura do kernel do Modelo DOE
A constituição deste Modelo consiste em três passos fundamentais para o seu funcionamento: a
criação da matriz DOE, a avaliação dessa mesma matriz para as variáveis de saída e a construção
das Regras Difusas. Ao contrário do modelo aplicado com base no PO, este modelo obterá sempre o
mesmo resultado final para um dado circuito/sistema, caso sejam efectuadas várias simulações com
as mesmas especificações, salvo se forem alterados os parâmetros de controlo do funcionamento do
Modelo. Pode-se mesmo dizer, que se trata de um Modelo exacto, isto é, independente do número de
simulações efectuadas, o resultado será sempre o mesmo. Isto acontece, porque com os mesmos
parâmetros de controlo, o modelo irá criar sempre os mesmos dados de entrada.
De seguida, apresenta-se na figura 4.10, uma perspectiva microscópica deste modelo proposto,
onde será demonstrado o seu funcionamento passo a passo, para o caso de estudo já conhecido do
Filtro activo Passa-Baixo.
Figura 4.10 – Constituição e fluxo de evolução para o Modelo DOE proposto.
4.4.2 Funcionamento do modelo para o caso de estudo
4.4.2.1 Passo 1 – Especificações do Modelo
Considerando o caso de estudo, que tem sido usado ao longo deste trabalho, do filtro activo
Passa-Baixo de primeira ordem, relembra-se as equações para as duas variáveis de saída, Ganho e
Frequência, já foram descritas em (3.4) e (3.5), respectivamente. Em relação aos domínios de
entrada, estes em vez de se usarem os que já foram definidos em (3.6), usar-se-ão os domínio
definidos em (4.10). A única diferença neste novo domínio é apenas na capacidade C, por questões
práticas de arredondamentos. Uma vez mais, menciona-se que a escolha destes domínios poderá ser
qualquer um que o utilizador queira usar, podendo à posteriori alterar esse mesmo intervalo (criando
um subespaço do domínio presente), para as simulações de optimização, desde que se garante que
o circuito continue a respeitar o domínio para o qual foram as RD.
R1 (Ω) = [800, 1200]
R2 (Ω) = [80 000, 120 000] (4.10) C (F) = [0.6 x 10
-12, 1.0 x 10
-12]
Recorda-se uma vez mais que, estamos sob a presença de 3 variáveis de entrada e 2 variáveis
de saída. Assim sendo, já contemos toda a informação necessária para dar início à execução do
Capítulo 4 – Extracção Automática das Regras Difusas
- 65 -
modelo, nomeadamente, à construção da matriz DOE com base na Projecção Factorial. Para tal,
necessita-se completar e definir os 2 parâmetros da equação (4.11), o parâmetro de controlo B e p.
selementarenãoriáveisvadenp
selementareriáveisvadenpn
entradaderiavéisvann
BmatrizdabaseB
º
º
º
)1(
→
→−
→
>→
)( pnB
− (4.11)
Para a construção deste modelo, terá que se garantir que o número de variáveis elementares
seja sempre superior ao número de variáveis não elementares, ou seja, n – p > p.
Para o caso mais simples da Projecção Factorial consideram-se apenas dois factores de
tratamento e nenhuma variável não elementar, isto é, dois níveis de factores, nível “Máximo” e
“Mínimo”, aos quais os parâmetros correspondem: B=2 e p=0, representando-se por 2n Projecção
Factorial. Tomando o parâmetro B como base da matriz e tendo o valor de 2, significa que na matriz
entrará em consideração, apenas, os valores mínimos e máximos do domínio das variáveis de
entrada definidos em (4.10). Ao considerar o parâmetro p a zero, significa que todas as variáveis de
entrada da matriz DOE serão construídas de forma independente, estamos, portanto, perante um Full
Factorial Design. Uma fácil representação para as variáveis de entrada, quando B é 2, encontra-se
descrita em (4.12), onde se atribui a cada variável o valor lógico 0 e 1 para os limites mínimos e
máximos, respectivamente, dos domínios de entrada definidos.
×⇒
×⇒→
×⇒
×⇒→
⇒
⇒→
−
−
12
12
3
3
21100.11
106.00
101201
10800
12001
8000CRR (4.12)
4.4.2.2 Passo 2 – Construção da Matriz DOE
Na figura 4.11- (a), encontra-se a construção da matriz DOE, bem como os respectivos valores
para as variáveis de saída. Como se pode observar, 23-0 resulta em 8 simulações. Na figura 4.11- (b),
encontra-se uma projecção gráfica sobre o hipercubo DOE, apenas para uma melhor representação
do espaço de pesquisa considerada.
Simulações R1 R2 C Ganho [dB]
Frequência [MHz]
1 0 0 0 40,00 3,316
2 0 0 1 40,00 1,989
3 0 1 0 43,52 2,210
4 0 1 1 43,52 1,326
5 1 0 0 36,48 3,316
6 1 0 1 36,48 1,989
7 1 1 0 40,00 2,210
8 1 1 1 40,00 1,326
(a) – Matriz DOE resultante e respectivas saídas (b) – Projecção Factorial Total (23) no hipercubo (para o Ganho)
Figura 4.11 – Resultados das simulações efectuadas e a respectiva projecção em R3.
Capítulo 4 – Extracção Automática das Regras Difusas
- 66 -
4.4.2.3 Passo 3 – Avaliação das Contribuições
Depois de se obter a matriz DOE e os respectivos valores de saída para cada simulação das
variáveis de entrada, estas são submetidas para o processo do cálculo do efeito principal (main
effect) das variáveis de controlo, para cada variável de saída. O cálculo do efeito principal, para cada
variável de saída, é determinado pela expressão descrita em (4.13).
Efeito Principal da Saída (i) = ∑(Efeito da Variável de Controlo (i) no nível Máximo) – (4.13)
∑(Efeito da Variável de Controlo (i) no nível Mínimo) O efeito de cada Variável de Controlo no nível Máximo corresponde à soma dos valores de saída
quando a variável de entrada tomou o valor máximo (valor lógico 1). Caso se pretenda a Variável de
Controlo ao nível Mínimo, este corresponde à soma dos valores de saída quando a variável toma o
valor mínimo (valor lógico 0). O efeito das variáveis de controlo para o Ganho e para a Frequência
encontra-se calculado, detalhadamente, nas tabelas 4.16 e 4.17, respectivamente.
Tabela 4.16 – Efeito principal das contribuições das variáveis de entrada para o Ganho. Entrada Efeito principal (em dB) Total [dB]
R1 (36,48 + 36,48 + 40,00 + 40,00) – (40,00 + 40,00 + 43,52 + 43,52) -14,08
R2 (43,52 + 43,52 + 40,00 + 40,00) – (40,00 + 40,00 + 36,48 + 36,48) 14,08
C (40,00 + 43,52 + 36,48 + 40,00) – (40,00 + 43,52 + 36,48 + 40,00) 0
Tabela 4.17 – Efeito principal das contribuições das variáveis de entrada para a Frequência.
Entrada Efeito principal (em MHz) Total [MHz] R1 (3,316 + 1,989 + 2,210 + 1,326) – (3,316 + 1,989 + 2,210 + 1,326) 0
R2 (2,210 + 1,326 + 2,210 + 1,326) – (3,316 + 1,989 + 3,316 + 1,989) -3,538
C (1,989 + 1,326 + 1,989 + 1,326) – (3,316 + 2,210 + 3,316 + 2,210) -4,422
Fazendo uma primeira análise aos resultados finais do efeito de cada variável de entrada,
verifica-se que para aquelas variáveis cujo resultado é zero, conclui-se que terão uma contribuição
nula. Para as variáveis cujo resultado do efeito principal seja positivo ou negativo, terão contribuições
positivas ou negativas, respectivamente. Só com esta análise, já se contém informação suficiente
para dar continuidade e prosseguir para o último passo do funcionamento do modelo, a construção
das RD. Contudo, é possível representar estes resultados, graficamente, caso lhes sejam associados
a um declive de uma recta. Estas adaptações estão representados na figura 4.12, para o Ganho e
para a Frequência, onde se conclui que as variáveis com declives negativos contêm uma contribuição
negativa, as variáveis com declives positivos contêm uma contribuição positiva. Por fim, as variáveis
com declives nulos não influenciam a dita saída, como seria de esperar.
(a) – Ganho (b) – Frequência
Figura 4.12 – Representação alternativa dos efeitos principais resultantes da análise do modelo.
Capítulo 4 – Extracção Automática das Regras Difusas
- 67 -
O passo seguinte é analisar cada um dos declives, ou mais propriamente o resultado final do
efeito de cada variável, onde o modelo conclui o que seria de esperar, quanto ao nível de
contribuições para cada variável de entrada. Na tabela 4.18, encontra-se o resultado final devolvido
pelo modelo, sendo este concordante com o resultado devolvido pelo Modelo PO.
Tabela 4.18 – Resultado final da avaliação do Modelo para o exemplo tipo proposto.
R1 R2 C
Ganho Influencia Influencia Não Influencia
Contribuição Negativa Contribuição Positiva Contribuição desprezável
Frequência Não Influencia Influencia Influencia
Contribuição desprezável Contribuição Negativa Contribuição Negativa
4.4.2.4 Passo 4 – Construção das Regras Difusas
Contendo já toda a informação necessária para a construção das Regras Difusas, estas são
construídas pelo mesmo processo que foi explicado na secção 4.3.2.4, do presente capítulo. Isto
porque, o bloco responsável pela construção das RD é válido para os dois Modelos propostos.
4.4.2.5 Variantes do Modelo DOE
Verifica-se no entanto que, não serão necessárias todas as simulações realizadas,
anteriormente, para se obter resultado apresentado. Para circuitos/sistemas mais complexos, onde o
valor de n (variáveis de entrada) toma valores bastante elevados, o número de simulações
necessárias pode atingir proporções gigantescas. E, caso seja aumentado o valor da base B, maior
será esse número de simulações. O que se faz nesses casos é aumentar o valor do parâmetro de
controlo p (variáveis não elementares), de modo a obter o melhor valor possível entre o número de
entradas e o número de simulações. Deste modo, e a fim de respeitar a condição citada, n-p>p, um
valor aceitável, e único para este caso de estudo, será de p igual a 1. Passamos a deixar de trabalhar
na Projecção Factorial Total, para trabalhar na Projecção Factorial Fraccional.
Relembra-se que, com a alteração do parâmetro de controlo p de 0 para 1, passa-se a ter as
seguintes definições:
elementarnãoriávelvap
selementareriáveisva
simulações
1
2)13(
422 2)13(
=
=−
==−
(4.14)
Como se observa, para a construção da matriz DOE, duas das variáveis de entrada serão as
variáveis elementares, isto é, estas irão gerar as quatro simulações. A outra variável de entrada, a
não elementar, será construída com base nas combinações das restantes duas variáveis
elementares. Para tal efeito, ter-se-á que introduzir uma nova função, a função módulo-x. A função
modB(X), tem como finalidade ajudar a construir a matriz DOE, recebendo, como parâmetro de
entrada as variáveis elementares e retornando o valor a colocar na respectiva variável não
elementares. O valor de B desta função corresponde ao valor da base da matriz DOE, ou seja, será 2
neste caso. O valor de X é a soma aritmética dos valores lógicos presentes nas variáveis elementares
desejadas para essa combinação, numa dada simulação. A função modB(X) tem como objectivo
Capítulo 4 – Extracção Automática das Regras Difusas
- 68 -
encontrar o maior número Y possível, que esteja entre 0 e X, e que seja divisível por B. O parâmetro
B é a base que se pretende trabalhar e X será a combinação pretendida. Por fim, efectua-se a
diferença entre esse número encontrado Y e o valor X, em valor absoluto.
Escolhendo, como exemplo, para variáveis elementares as duas resistências e para a variável
não elementar a capacidade, então a matriz DOE, assim como os resultados das variáveis de saída e
a respectiva Projecção no hipercubo, estão apresentadas na figura 4.13.
Simul. R1 R2 C=mod2(R1+R2) Ganho
[dB] Frequência
[MHz]
1 0 0 0 40,00 3,316
2 0 1 1 40,00 1,326
3 1 0 1 43,52 1,989
4 1 1 0 43,52 2,210
(a) – Matriz DOE resultante e respectivas saídas (b) – Projecção Factorial Fraccional (23-1)
no hiper cubo (para o Ganho) Figura 4.13 – Resultados efectuados e a projecção em R3 com variáveis não elementares.
De seguida, apresenta-se o processo de execução da função módulo-x para as 4 simulações
efectuadas:
• mod2(0) => sendo a contagem a partir de 0, logo o maior ou igual número existente é o
próprio 0 => Y=0, portanto: mod2(0)= X-Y=0-0=0.
• mod2(1) => Para este caso, temos duas opções: 0 ou 1. Começando sempre pelo maior dos
dois, o número 1 não é divisível por 2, porque não dá um número inteiro, logo o maior ou
igual número existente, entre o valor 0 e 1, é o 0 => Y=0, portanto: mod2(1)= X-Y=1-0=1.
• mod2(2) => Para este caso, tem-se 3 opções: 2, 1 ou 0. Começando pelo maior número, o
número 2 é divisível por 2, resultando num número inteiro, logo o maior ou igual número
existente, entre 0 e 2, é o próprio 2 => Y=2, portanto: mod2(2)= X-Y=2-2=0.
Após a construção da matriz DOE, já se torna possível calcular os efeitos principais (main
effects) das variáveis de entrada. É isso que está apresentado na tabela 4.19.
Tabela 4.19 – Resultados dos efeitos principais na presença de variáveis não elementares.
(a) – Efeito principal das variáveis para o Ganho (b) – Efeito principal das variáveis para a Frequência
Ent. Efeito principal (em dB) Total [dB]
R1 (36,48 + 40,00) – (40,00 + 43,52) -7,04
R2 (43,52 + 40,00) – (40,00 + 36,48) 7,04
C (43,52 + 36,48) – (40,00 + 40,00) 0
Ent. Efeito principal (em MHz) Total
[MHz] R1 (1,989 + 2,210) – (3,316 + 1,326) -0,443 R2 (1,326 + 2,210) – (3,316 + 1,989) -1,769
C (1,326 + 1,989) – (3,316 + 2,210) -2,211
Observa-se que, a conclusão a que se chega, para o caso do Ganho, ao analisar a tabela 4.19-
(a), é concordante com os resultados dos efeitos principais (main effect) resultantes com a Projecção
Factorial Total. Só que, como estamos a trabalhar com um valor de p diferente de zero, o número de
Capítulo 4 – Extracção Automática das Regras Difusas
- 69 -
tratamentos de dados é menor, o que perfaz que o número de termos das parcelas para os cálculos
dos variáveis de controlo no nível máximo e mínimo seja também menor, resultando, portanto, de
declives menos acentuados. Portanto, quanto menos simulações se obtêm, menos acentuados irão
ser os efeitos das variáveis de entrada. Mas, o processo de análise mantém-se e as conclusões idem.
Repare-se que, na tabela 4.19-(b), além do mesmo factor do declive menos acentuado se
verificar, regista-se que a variável R1 deixa de conter um efeito (declive) nulo, para a Frequência.
Apesar de este declive ser diferente de zero, o seu valor em módulo, é muito pequeno face aos
restantes declives, podendo ser desprezado. Assim sendo, para estes casos, quando se está a
trabalhar com Projecção Factorial Fraccional o critério de avaliação deixa de ser o mesmo que a
Projecção Factorial Total, passando a requerer uma análise, isoladamente, ao valor de cada declive.
Em suma, verifica-se que os resultados obtidos através da simulação completa (full factorial) são
coincidentes com os resultados obtidos com aplicação do valor p diferente de zero do DOE (fractional
factorial). No entanto, salienta-se que, ao ser aplicado o DOE, com p diferente de zero, o sistema
deixa de ser equilibrado. Entende-se por sistema equilibrado, um sistema em que sempre que uma
das variáveis de entrada não tem qualquer influência numa determinada saída, a soma das
simulações ao nível máximo (quando esta toma valor máximo do seu domínio) é, exactamente, igual
à soma das simulações ao nível mínimo (quando esta toma valor mínimo do seu domínio), obtendo-
se, portanto, um declive da recta nula. O que traduz que essa variável de entrada não influencia a
respectiva saída. Para este caso apresentado, tornando-se num sistema desequilibrado, resulta que
para a Frequência, encontra-se uma variável com um declive bastante reduzido, mas diferente de
zero. Este fenómeno verifica-se e visualiza-se nos gráficos apresentados na figura 4.14. Ao observar-
se os gráficos referidos, é bem visível a presença de um sistema desequilibrado. Isto deve-se ao
facto de, das 8 simulações presentes no sistema, anterior, equilibrado da projecção factorial total,
serem seleccionadas apenas 4 dessas simulações para fazerem parte da projecção factorial
fraccional. Logo, a soma das contribuições (positivas e negativas) para todas as variáveis de saída
podem ou não anular-se (caso a variável não influencie a respectiva saída). No entanto, esse declive
em comparação com os outros é muito inferior, ou quase mesmo desprezável. Por isso, ter-se-á que
introduzir um factor correctivo na aplicação e avaliação do DOE. Esse factor será designado por
factor de correcção, e é calculado, automaticamente, da seguinte forma:
∑=
×==
saidas
j
p
jõesContribuiçTotal
jõesContribuiçMédiajcorrecçãodefactorcf
1
~
)(
2)()(..
(4.15)
Assim sendo, uma variável de entrada influenciará uma determinada saída desde que:
→×−<
→×>
NegativaãoContribuiçcfDECMAXdeclive
PositivaãoContribuiçcfDECMAXdecliveCaso
ientrada
ientrada
..)(
.. (4.16)
, onde DECMAX corresponde ao declive máximo em valor absoluto, registado por todas as variáveis
de entrada perante a variável de saída em questão. Desta forma, é garantida a coerência da
aplicação do DOE com os resultados através da Projecção Factorial Total.
Capítulo 4 – Extracção Automática das Regras Difusas
- 70 -
De seguida apresenta-se, na figura 4.14, as visualizações dos declives das entradas para ambas
as saídas assim como o factor de correcção resultante.
(a) – Ganho (b) – Frequência Figura 4.14 – Representação dos efeitos principais com variáveis não elementares.
Com a introdução do factor de correcção, existirá um género de um cone, que se designou por
limite. Assim, todos os declives que se encontrem dentro do cone deixam de ter qualquer tipo de
contribuição para a respectiva variável de saída, eliminando por completo o efeito que se faz sentir
em projecções factoriais fraccionais, nomeadamente esses declives parasitas.
Supondo que, neste momento, se pretende aumentar o número de tratamento de dados, ou seja,
o valor do parâmetro B, da matriz de DOE, descrito na equação (4.11), estudando os efeitos
causados e a importância que tem este parâmetro. Tal como foi citado, o aumento desta variável faz
explodir o número de amostras que o DOE irá precisar. Na situação anterior, o DOE precisava
apenas de 8 (23) simulações para percorrer todo o espaço de pesquisa, para as três variáveis de
entrada e continuar o seu processo. Utilizando uma base B de 3, precisar-se-á de 27 (=33)
simulações. Como se verifica, não é pelo número de simulações que faz sentido aumentar a base,
mesmo que depois se aumente a variável p para reduzir o expoente da equação acaba sempre por
não compensar.
De seguida apresenta-se o resultado do modelo, caso se estivesse a trabalhar com base B=3, de
uma forma mais sintetizada, de modo a ser possível visualizar-se os declives das contribuições das
variáveis. Como referido, anteriormente, neste caso teremos 27 simulações para efectuar, sendo
parte destas apresentadas na tabela 4.20, para todas as contribuições possíveis das variáveis de
entrada (variáveis elementares). A figura 4.15 mostra a localização geográfica traçada no hipercubo.
Note-se que, para este caso, estando a trabalhar com uma base de três, então dever-se-á que definir
os novos intervalos de domínios de níveis para as variáveis de entrada. Esses níveis podem ser
definidos como sendo os limites máximos e mínimos e o respectivo ponto médio, tal como está
descrito em (4.17).
×⇒×⇒
×⇒
→
×⇒×⇒
×⇒
→
⇒
⇒
⇒
→−
−
−
12
12
12
3
3
3
21
100.12
108.01
106.00
101202
101001
10800
12002
10001
8000
CRR (4.17)
Capítulo 4 – Extracção Automática das Regras Difusas
- 71 -
Tabela 4.20 – Resultados obtidos da simulação feita com B = 3 e p = 0.
Sim. R1 R2 C Ganho
[dB]
Frequência
[MHz]
1 0 0 0 40,000 3,316E+06
2 0 0 1 40,000 2,487E+06
3 0 0 2 40,000 1,989E+06
4 0 1 0 41,938 2,653E+06
5 0 1 1 41,938 1,989E+06
6 0 1 2 41,938 1,592E+06
7 0 2 0 43,522 2,210E+06
8 0 2 1 43,522 1,658E+06
9 0 2 2 43,522 1,326E+06
…
Sim. R1 R2 C Ganho
[dB]
Frequência
[MHz]
19 2 0 0 36,478 3,316E+06
20 2 0 1 36,478 2,487E+06
21 2 0 2 36,478 1,989E+06
22 2 1 0 38,416 2,653E+06
23 2 1 1 38,416 1,989E+06
24 2 1 2 38,416 1,592E+06
25 2 2 0 40,000 2,210E+06
26 2 2 1 40,000 1,658E+06
27 2 2 2 40,000 1,326E+06
Figura 4.15 – Projecção em R3, para um valor de B > 2.
Após a análise dos resultados das variáveis de saída, calculam-se os efeitos principais (main
effects), da mesma forma como foram calculados, anteriormente. Na tabela 4.21, encontram-se os
resultados referentes ao Ganho, onde em (a) temos os efeitos principais entre o nível médio e o nível
mínimo e em (b) entre o nível máximo e o nível médio.
Tabela 4.21 – Resultados finais dos efeitos principais para o Ganho, com B = 3 e p = 0. (a) – Efeito entre o nível médio e mínimo (b) – Efeito entre o nível máximo e médio
Ent. Efeito principal (em dB) Total [dB] R1 (358,936) – (376,380) -17,44
R2 (361,064) – (343,620) 17,44
C (360,000) – (360,000) 0
Ent. Efeito principal (em dB) Total [dB] R1 (344,684) – (358,936) -14,253
R2 (375,316) – (361,064) 14,253
C (360,000) – (360,000) 0
Foi feito, da mesma forma, para a Frequência e obtiveram-se os seguintes resultados
apresentados na tabela 4.22.
Capítulo 4 – Extracção Automática das Regras Difusas
- 72 -
Tabela 4.22 – Resultados finais dos efeitos principais para a Frequência, com com B = 3 e p = 0. (a) – Efeito entre o nível médio e mínimo (b) – Efeito entre o nível máximo e médio
Ent. Efeito principal (em MHz) Total
[MHz] R1 (19,22) – (19,22) 0
R2 (18,70) – (23,38) -4,675
C (18,40) – (24,54) -6,134
Ent. Efeito principal (em MHz) Total
[MHz] R1 (19,22) – (19,22) 0
R2 (15,58) – (18,70) -3,117
C (14,72) – (18,40) -3,680
Como se verifica, aumentando o número de tratamento de dados, o resultado final das
contribuições é o mesmo que se concluiu, anteriormente, como seria de esperar. Salienta-se que, os
valores finais dos efeitos principais entre os diferentes limites poderão não ser os mesmos, como se
verifica. Por fim, apresentam-se, na figura 4.16, esses valores dos efeitos como declives, para uma
melhor visualização do comportamento e da evolução deste processo.
(a) – Ganho (b) – Frequência
Figura 4.16 – Representação dos efeitos principais para B > 2.
Procedendo da mesma forma como foi feito, anteriormente, aumenta-se o valor do parâmetro p a
fim de reduzir o número total de tratamento de dados. Sendo p = 1, ter-se-ão apenas 9 simulações
(33-1) para este caso, tal como mostra a figura 4.17. Considerou-se na mesma a Capacidade como a
variável não elementar.
Sim. R1 R2 C=mod3(R1+R2) Ganho
[dB]
Frequência
[MHz]
1 0 0 mod3(0) => 0 40,000 3,316E+06
2 0 1 mod3(1) => 1 41,938 1,989E+06
3 0 2 mod3(2) => 2 43,522 1,326E+06
4 1 0 mod3(1) => 1 38,062 2,487E+06
5 1 1 mod3(2) => 2 40,000 1,592E+06
6 1 2 mod3(3) => 0 41,584 2,210E+06
7 2 0 mod3(2) => 2 36,478 1,989E+06
8 2 1 mod3(3) => 0 38,416 1,658E+06
9 2 2 mod3(4) => 1 40,000 1,658E+06
(a) – Matriz DOE resultante e respectivas saídas (b) – Projecção Factorial Fraccional (23-1) no hiper
cubo (para o Ganho) Figura 4.17 – Resultados das simulações e a projecção em R3 com B > 2.
A fim de se perceber uma vez mais o funcionamento da função modulo-x, mod3(R1+R2), para
este caso, é apresentada de seguida a evolução detalhada do resultado desta função:
Capítulo 4 – Extracção Automática das Regras Difusas
- 73 -
• mod3(0) => Sendo a contagem a partir de 0, logo o maior ou igual número existente é o
próprio 0 => Y=0. Portanto: mod3(0)= X-Y=0-0=0.
• mod3(1) => O número 1 não é divisível por 3, porque não resulta num número inteiro, logo o
maior ou igual valor, entre 0 e 1, é o próprio 0 => Y=0. Portanto: mod3(1)= X-Y=1-0=1.
• mod3(2) => O número 2 continua a não ser divisível por 3, logo o maior ou igual número
existente, entre 0 e 2, continua a ser o 0 => Y=0. Portanto: mod3(2)= X-Y=2-0=2.
• mod3(3) => O número 3 é divisível por 3, resultando num número inteiro, logo o maior ou
igual número existente, entre 0 e 3, é o próprio 3 => Y=3. Portanto: mod3(3)= X-Y=3-3=0.
• mod3(4) => Por fim, o número 4 não é divisível por 3, logo o maior ou igual numero existente,
entre 0 e 4, continua a ser o próprio 3 => Y=3. Portanto: mod3(4)= X-Y=4-3=1.
De seguida apresentam-se na tabela 4.23, os efeitos principais provocados pelas contribuições
de cada variável de entrada, para os diferentes tipos de níveis, referentes ao Ganho do circuito.
Tabela 4.23 – Apresentação dos efeitos principais para o Ganho, com B > 2 e com variáveis não elementares.
(a) – Efeito entre o nível médio e mínimo (b) – Efeito entre o nível máximo e médio
Ent. Efeito principal (em dB) Total [dB] R1 (119,645) – (125,460) -5,815
R2 (120,355) – (114,540) 5,815
C (120,000) – (120,000) 0
Ent. Efeito principal (em dB) Total [dB] R1 (114,895) – (119,645) -4,751
R2 (125,105) – (120,355) 4,751
C (120,000) – (120,000) 0
Foi realizado, da mesma forma, para a Frequência e obtiveram-se os seguintes resultados
apresentados na tabela 4.24. Como se observa, os resultados confirmam as influências correctas
para cada uma das variáveis de entrada, tendo em consideração a aplicação do factor de correcção.
Tabela 4.24 – Apresentação dos efeitos principais para a Frequência, com B > 2 e variáveis não elementares.
(a) – Efeito entre o nível médio e mínimo (b) – Efeito entre o nível máximo e médio
Ent. Efeito principal (em MHz) Total
[MHz] R1 (6,289) – (6,631) -0,3426
R2 (6,234) – (7,792) -1,558
C (6,134) – (8,179) -2,045
Ent. Efeito principal (em MHz) Total
[MHz] R1 (6,300) – (6,289) 0,01105
R2 (5,195) – (6,234) -1,039
C (4,907) – (6,134) -1,227
A figura presente em 4.18, reforça os resultados das contribuições resultantes, onde se observa
a evolução dos declives para os diversos níveis estabelecidos.
(a) – Ganho (b) – Frequência
Figura 4.18 – Representação dos efeitos principais para B > 2 e com variáveis não elementares.
Capítulo 4 – Extracção Automática das Regras Difusas
- 74 -
Pelos resultados apresentados, quando o valor da base B toma um valor superior a 2, o número
de simulações pode aumentar, substancialmente, com a variação deste valor. O que se fica a ganhar
com o aumento deste valor é o facto de obtermos uma avaliação mais aproximada do nosso circuito
quanto ao nível do andamento das contribuições ao longo do domínio das entradas. Portanto, quanto
maior for o B, teremos mais níveis de avaliação entre os extremos (mínimos e máximos) dos
intervalos das variáveis. É obvio que para sistema lineares, analisar apenas os extremos (B=2), o
modelo retornará a mesma conclusão se se fizer com mais níveis de avaliação (B>2). Este aumento
passará a ser importante, se se pretender trabalhar com sistemas não lineares, onde as variáveis
de entrada poderão ter contribuições positivas, negativas ou nulas, em zonas diferentes do respectivo
intervalo de domínio. Este factor poderá transcrever-se em circuitos analógicos que contenham
transístores, onde os mesmos poderão estar a operar em diferentes regiões de funcionamento.
4.4.3 Construção de um Modelo Pseudo-DOE
Além dos parâmetros de controlo que o Modelo DOE disponibiliza, existe uma outra vertente
para o qual se poderá construir um outro modelo. Esta versão deixa de ser baseada no Modelo DOE,
para passar a ser uma construção bastante mais simplificada e própria. Nesses casos, a variação das
variáveis de entrada e a observação do resultado provocado é o suficiente para se conhecer o
sistema, qualitativamente. É com base nesta simplicidade que este novo Modelo se baseia.
Considerando o caso de estudo do filtro activo, a construção da matriz poderá ser feita,
automaticamente, da seguinte forma tal como exemplificada na tabela 4.25, se foram considerados
apenas 2 níveis dos domínios, tal como apresentado em (4.12). Na experiencia 1, todas as variáveis
são colocadas ao seu nível lógico mínimo. Nas seguintes experiências, e uma a uma, cada variável é
alterada para o seu nível lógico seguinte, que neste caso é o nível máximo. Após a obtenção das
variáveis de saída, se for efectuada a diferença entre as restantes experiências com a experiência
inicial, tal como exemplificado na última coluna da tabela 4.25, consegue-se o essencial para a
construção das RD. Assim, com esta opção, consegue-se o mínimo óptimo de experiência necessária
para a extracção automática das RD. Contudo, verifica-se que este método só é válido e só faz
sentido para sistema e circuitos inteiramente lineares em todo o intervalo de domínio. O resultado
final é concordante com o modelo anterior, por observação dos declives, ou seja, as variáveis de
entrada contêm o mesmo tipo de contribuição que as contribuições apresentadas no Modelo DOE.
Tabela 4.25 – Construção da Matriz com base no modelo auxiliar proposto.
Experiência R1 [Ω] R2 [Ω] C [pF] Ganho [dB] Frequência [MHz]
Cálculo das Contribuições
1 800 8,00E+04 0,60 40,00 3,32 Para o Ganho Para a Frequência
[x106]
2 1200 8,00E+04 0,60 36,48 3,32 36,48 - 40= -3,52 3,32 – 3,32= 0
3 800 1,20E+05 0,60 43,52 2,21 43,52 - 40 = 3,52 2,21 - 3,32 = -1,11
4 800 8,00E+04 1,00 40,00 1,99 40 – 40 = 0 1,99 - 3,32 = -1,33
4.4.4 Simplificação do Modelo DOE e Pseudo-DOE
Com o aumento, não só da complexidade, mas também do número de variáveis de entrada
presentes num circuito/sistema analógico, para os casos das contribuições mistas (contribuições
Capítulo 4 – Extracção Automática das Regras Difusas
- 75 -
positivas e negativas, simultaneamente) resultantes que possam surgir, certos cuidados e atenções
deverão ter-se em conta. Isto acontece, somente, para os casos de contribuições mistas, tal como já
foi observado pelo Modelo PO, na secção 4.3.3.1, do presente capítulo. Desta forma, apresenta-se na
secção seguinte o processo de correcção das RD para este tipo de anomalias.
4.4.4.1 Correcção da construção das Regras Difusas para contribuições mistas
Após os modelos DOE ou Pseudo-DOE devolverem todas as variáveis de entrada que
influenciam cada saída, é preciso fazer uma análise sobre os tipos de contribuições associadas às
entradas, visto que, certas variáveis de entrada poderão ser eliminadas com a variação do factor de
correcção. Por vezes, podemos estar presentes numa situação em que o número das contribuições
das variáveis de entrada seja, esmagadoramente, mais positiva do que negativa, ou vice-versa.
Com o aparecimento de um número elevado de variáveis de entrada, este efeito indesejável
pode surgir e influenciar a construção das RD. Desta forma, ter-se-ão que fazer certas manipulações
nas variáveis de entrada para eliminar algumas das contribuições de modo a minimizar este efeito. Ao
contrário do modelo apresentado com base no PO, sendo o DOE um modelo exacto, o efeito para
obter um modelo desequilibrado acontecerá quando o comportamento do circuito/sistema assim for
definido, ou através de uma má atribuição do factor de correcção.
Relembra-se que, com a introdução do método do “cone” (limite) já estaremos a eliminar
variáveis parasitas, que não influenciam, de certo modo, as saídas. Por isso, o conjunto de variáveis
de entrada costuma retornar num conjunto de Regras Difusas equilibrados. Tal como o modelo do
PO, este modelo contém o mesmo bloco adicional automático para este tipo de correcção. Este bloco
contém o mesmo processo de eliminação que o indicado na figura 4.8, presente no modelo PO.
4.4.4.2 Limitação do tamanho da construção das Regras Difusas pelos Modelos
A limitação do número de Regras Difusas que os modelos geram está directamente
relacionada, exponencialmente, com o número de variáveis de entrada que influencia uma
determinada saída. Mas, com a introdução do factor de correcção (limite) descrito nestes Modelos, o
número de contribuições que as variáveis de entrada influenciam poderá ser controlado, ou seja, ao
ser aplicado o “cone”, com o objectivo de eliminar variáveis de entrada que surgem quando os
Modelos estão a trabalhar com um conjunto de amostras desequilibrado (p>0), verifica-se que este
processo é capaz de eliminar não só variáveis com declives, praticamente, desprezáveis, bem como
todas aquelas que se situem dentro desse mesmo “cone”. Deste modo, poder-se-á concluir que são
variáveis com pouca influência para a saída. Este factor de correcção, além dos Modelos lhes atribuir,
automaticamente, um valor pela equação (4.16), poderá também ser redimensionado pelo próprio
utilizador. Assim, permite ao utilizador fazer testes de modo a ser mais rigoroso e restritivo ou o
contrário, quanto ao número de influências pretendidas nas variáveis de entrada. Desta forma,
garantimos que apenas fazem parte para as Regras Difusas as variáveis de entrada com maior peso
de contribuição para as respectivas saídas. Conclui-se portanto, que este método do “cone” terá que
ser usado tanto em sistemas equilibrados, bem como em sistemas desequilibrados, para que se
possa reduzir o número de influências nas entradas, nomeadamente, para aquelas que contenham
contribuições, praticamente, desprezáveis.
Capítulo 4 – Extracção Automática das Regras Difusas
- 76 -
4.5 Método para Redução e Simplificação das Regras Difusas
Os exemplos expostos neste capítulo já mostram e referem o impacto que o número de RD tem
no Optimizador, seja a nível de desempenho, seja a nível de compreensão do sistema. Desta forma,
nesta secção irá ser apresentado uma adaptação de um método usado por KOMIYA, em [83], no
intuito de reduzir, significativamente, o número de RD. O método apresentado por KOMIYA, tem o
seguinte pseudo-código e o fluxograma, respectivo, apresentado na figura 4.19. Com esta
abordagem, sendo a variável n o número de entradas e a variável K o número de subconjuntos
usados, consegue-se uma redução das RD de kn para k2(n-1).
a) Pseudo-Código b) Fluxograma
Figura 4.19 – Método de referência para simplificação das RD [83]. Contudo, afirmam que a agregação das variáveis nem sempre é trivial. Mas, caso as variáveis
tenham efeitos similares, perante a respectiva variável de saída, a agregação dessas variáveis para o
mesmo conjunto faz com que a função de membro das RD torne-se mais simples.
Este raciocínio ajudou a que fosse criado um método de redução das RD, capaz de reduzir
qualquer conjunto de RD (kn) para um conjunto estático de, apenas, 9 ou 3 RD. Esta redução é
possível nesta caso, porque todo o funcionamento do Optimizador FUGA baseia-se no funcionamento
de conjuntos de RD, onde as variáveis de entrada têm apenas 3 tipos de contribuição: positiva,
negativa ou nula. Deste modo, no pior caso, havendo variáveis com contribuições mistas, positivas e
negativas, todas elas poderão ser agregadas em dois subconjuntos, as que influenciam positivamente
e aquelas que influenciam negativamente. No caso da variável de saída estar perante contribuições
de um só tipo, todas positivas ou negativas, se se agregarem todas as variáveis de entrada teremos
apenas três Regras Difusas resultantes.
Esta redução das RD só é activa durante a Optimização aplicada ao Modelo Difuso e caso o
utilizador assim o deseje, ver Anexo B. Após uma execução de um dos modelos de extracção
automática das RD, Pareto-Optimo, DOE ou Pseudo DOE, cabe ao utilizar verificar o total de RD
resultantes para cada variável de saída e activar esta opção a fim de tornar o desempenho interno do
Optimizador FUGA mais apelativo. Na figura 4.20, apresenta-se a composição das RD quando esta
opção é activada. As comparações feitas ao nível do desempenho do Optimizador FUGA e os erros
provenientes, com a activação das RD, encontram-se efectuadas no capítulo de resultados.
• Passo 1. Decompor as variáveis de entrada em agregados de subconjuntos das mesmas. Neste caso, (A, B, C, D) em (A, B) e (C, D).
• Passo 2. Ao introduzir as variáveis intermédias, deverão ser criados dois conjuntos de RD para avaliar AB, a partir de A para B, e CD, a partir de C para D.
• Passo 3. Introduzir as novas RD resultantes da agregação das duas variáveis intermédias, AB e CD, para avaliar a variável final, E.
Capítulo 4 – Extracção Automática das Regras Difusas
- 77 -
Figura 4.20 – Simplificação das RD pelo modelo proposto.
4.6 Avaliação e Comparação dos Modelos
Apresenta-se na tabela 4.26 um conjunto de vantagens e desvantagens para cada uma das
técnicas apresentadas para a criação automática das Regras Difusas, a fim de se estabelecerem
comparações entre as mesmas.
Tabela 4.26 – Apresentação das Vantagens e Desvantagens das técnicas propostas.
Modelo Vantagens Desvantagens
Pareto-Optimo
- Adapta-se bem a qualquer problema. - Implementação complexa.
- Boa aplicação perante um sistema que seja considerada uma caixa preta.
- Comporta-se melhor para poucas variáveis de saída (mau para escalabilidade)
- É um Modelo expansível para um espaço de dimensão n.
- Não garante uma avaliação certa, se se repetir várias vezes o Modelo para o mesmo circuito.
- Ao traçar-se um Pareto-Optimo (ou suboptimo) facilmente se verifica se os valores pretendidos para as variáveis de optimização são possíveis.
- Os tempos de execução podem ser elevados, visto que toda a análise requer muitas avaliações das saídas durante a aplicação do AG interno.
- Não requer a definição de nenhuns parâmetros a não ser a definição do domínio das variáveis de entrada.
- O utilizador deixa de ter controlo da evolução do modelo, sendo este bastante automatizando, não permitindo outro tipo de manipulações.
DOE e PseudoDOE
- Implementação simples e funcional, tanto para sistemas lineares, bem como sistemas não lineares.
- Poderá tornar-se mais robusto para implementações com muitas variáveis de entrada.
- Modelo exacto, retornando sempre o mesmo resultado caso se faça mais do que uma modelação sem alterar os parâmetros.
- Requer a introdução e manipulação de alguns dados de entrada para um funcionamento mais eficiente.
- Modelo com tempos de execução bastante reduzidos (até mesmo desprezáveis), podendo-se efectuar novos testes, rapidamente.
- O utilizador necessita de algum conhecimento base para a manipulação dos parâmetros de controlo do modelo.
- O utilizador, durante o processo de avaliação poderá intervir e fazer com que o modelo preste um melhor desempenho.
- A redução do número de simulações a efectuar (aumentar o número de variáveis não elementares) pode introduzir declives parasitas com inclinações significativas.
- Bom para escalabilidade tanto para as entradas como para as saídas.
- É um modelo indiferente à escolha dos valores para os níveis de factores.
Capítulo 4 – Extracção Automática das Regras Difusas
- 78 -
4.7 Conclusão
Este capítulo apresentou uma descrição detalhada de todo o funcionamento dos Modelos
criados para a geração automática das Regras Difusas, apresentando, também, blocos auxiliares de
ajuda a avaliação e simplificação do conjunto das Regras, demonstrando que todos os Modelos são
ferramentas bastante apelativas e práticas para tratar do assunto exposto.
Contudo, verificou-se que o Modelo Pareto-Optimo poderá induzir falhas na criação das Regras,
pois, estando a trabalhar com recurso à aplicação de um algoritmo evolutivo auxiliar (AG), deixa,
portanto, uma lacuna de informação entre as entradas e as saídas de um sistema, pelo facto de nem
sempre ser fácil traçar uma relação como base num Pareto Optimo ou Sub-Optimo entre as mesmas,
para qualquer sistema/circuito. Verificou-se que esta dificuldade poderá piorar consoante se aumenta
o espaço de variáveis de entrada e de saída. O manual de utilização deste Modelo encontra-se no
Anexo B.
Foi, também, apresentada a implementação de dois outros Modelo com recurso ao Planeamento
das Experiências (Design of Experiments), mostrando-se toda a arquitectura e os passos de evolução
dos mesmos. Verificou-se que estes modelos tornam-se mais indiferentes quanto ao número de
variáveis de entrada e de saída a trabalhar, tornando-os em Modelo mais exactos para a extracção
das Regras Difusas. Estes Modelos requerem também um conhecimento superficial sobre a matéria,
caso se pretenda alterar alguns dos parâmetros de controlo para um melhor desempenho dos
mesmos. A manipulação desses parâmetros, assim como o funcionamento destes modelos, podem
ser estudados e compreendidos no Anexo A.
Por fim, descreveu-se de forma sucinta um método bastante útil para a simplificação das RD a
ser utilizado no processo de optimização e mostrou-se, também, um quadro comparativo com as
vantagens e desvantagens entre cada técnica estudada.
Conclui-se, portanto, que os Modelos baseados na técnica do DOE tornam-se nos Modelos de
referência e o que serão mais usados para a apresentação de resultados mais fiáveis.
- 79 -
Capítulo 5
RESULTADOS
Neste capítulo será apresentado um conjunto de resultados experimentais ao nível de circuitos
analógicos. Os circuitos serão escolhidos, previamente, de forma a mostrar e exemplificar o
desempenho usado por cada um dos Modelos propostos, juntamente com o Optimizador FUGA.
Assim sendo, irá ser mostrado, inicialmente, a conclusão das contribuições resultantes das
modelações dos diferentes modelos, aplicando-os de seguida ao Optimizador. Nesta primeira fase, os
resultados são efectuados com recurso às equações eléctricas que descrevem o funcionamento dos
circuitos. Será feita, também, a exploração do impacto que os modelos conduzem nos resultados do
Optimizador, verificando o andamento e o comportamento dos mesmos. Por fim, os resultados
experimentais dos modelos serão validados com base ao Simulador Eléctrico da CADENCE®.
5.1 Modelação de Circuitos Analógicos
Os exemplos sugeridos, para se efectuarem as simulações necessárias para a validação dos
resultados, foram um conjunto de filtros activos pela fácil manipulação das equações das Funções de
Transferência e pelo facto de haver uma melhor percepção para relacionar os resultados extraídos
com os exemplos propostos.
Deste modo, encontram-se na tabela 5.1 quatros filtros activos, onde estão definidas as variáveis
de entrada, bem como o respectivo domínio, as variáveis de saída, assim como as especificações e a
Função de Transferência que caracteriza cada filtro. Note-se que, no total serão efectuadas 9
experiências, consoante a variação do número de variáveis de entrada e de saída a submeterem-se
para a modelação.
Tabela 5.1 – Definição geral do conjunto de exemplos propostos.
Designação Variáveis de entrada
Domínio das Variáveis de entrada
Variáveis de Saídas Especificações Função de Transferência
Low-Pass
(1) R1, R2, C R= [200;200e3]
C= [1e-14;1e-10]
A1= [12500;17500]
GainDC, F0
61.02
145
0 EMHzF
dBGainDC
±=
±=
( )( )11212
12
12
///11
/)(
ARRCRCR
s
RRsT
+++
−=
(2) R1, R2, C,
A1 (Ampop
Gain) GainDC, F0
2º Order Low-Pass
(1) R1, R2, R3,
R4, C1, C2 R= [200;200e3]
C= [1e-14;1e-10]
GainDC, F0
2.05.0
61.02
145
0
±=
±=
±=
Q
EMHzF
dBGainDC ( )
21422412
2
2131
111
/1)(
CCRRCRCRss
CCRRsT
+
++
=
(2) GainDC, F0, Q
2º Order Sallen-Keys
(1) R1, R2, R3,
R4, C1, C2
R= [10;200e3]
C= [2e-14;2e-8]
GainDC, F0
3.04.0
61.02
120
0
±=
±=
±=
Q
EMHzF
dBGainDC ( )( )
21212121
342112112
343
1/
/)(
CCRRCCRR
RRCRCRCRss
RRRsT
+−++
+
+=
(2) GainDC, F0, Q
Low-Pass Noch
(1)
K, R1, R2,
R3, R5, R6,
C4, C61, C62
K= [200;800]
R1;R5= [500;350e3]
R6= [1e5;600e6]
C= [1e-13;1e-8]
F0, Fn
22
315
3130
32.02.4
148
0
±=
±=
±=
±=
±=
Q
dBGain
EKHzF
EKHzF
dBGain
HF
n
DC
( )
( ) ( ) 53162614
2
66261
2
5316142
2
01
/)(
RRRCCC
R
RCCss
RRRCCRsasT
++
++
+=
6261
610
CC
CKa
+=
(2) GainDC, F0, Fn,
GainHF
(3) GainDC, F0, Fn,
GainHF, Q
Capítulo 5 – Resultados
- 80 -
Inicialmente, os modelos propostos para a extracção das Regras Difusas irão ser executados de
forma pré-definida, por default. Os parâmetros de controlo que foram usados para a execução do
Modelo Pareto-Optimo estão definidos na tabela 5.2.
Tabela 5.2 – Definição dos parâmetros default para o Modelo Pareto-Optimo.
Parâmetros de Controlo para o Modelo Pareto-Optimo
População inicial para o Pareto-Optimo pré-definido 48
População inicial para os restantes Paretos-Optimo 36
Células totais Nº variáveis de entrada X População inicial
Mutação 5% das células totais
Reprodução Escolha dos n/2 melhores indivíduos
Selecção Aleatória
Limite máximo de Geração 1000
β – Número mínimo de pontos sobre a linha do PO Definido pelo modelo por 0,75 (Alterável)
Em relação ao Modelo DOE e Pseudo-DOE, os parâmetros que constituem o funcionamento dos
mesmos, na situação de default, estão apresentados na tabela 5.3.
Tabela 5.3 – Definição dos parâmetros default para o Modelo DOE e Pseudo-DOE.
Parâmetros de Controlo para o Modelo DOE e Pseudo-DOE
DOE Pseudo-DOE
Subsets 3 Subsets 3
Factor 0.0 Factor 0.0
Alterar Domínio de entrada Não Alterar Domínio de entrada Não
Processo Equação Processo Equação
B 2 B 2
P 0
Verifica-se que, para o Modelo Pareto-Optimo, aumentou-se a população do Algoritmo Genético
para ser possível traçar melhor a curvatura do Pareto, para os exemplos propostos. A manipulação
dos parâmetros deste Modelo, só poderá ser feita através de um utilizador experiente e ter-se-á que
proceder às alterações, directamente no código. Note-se que, para um melhor desempenho deste
Modelo, é necessária a definição de uma população com um número elevado de indivíduos. Contudo,
verifica-se que a relação entre o tamanho da população com o tempo de execução e com o Recurso
às expressões de saída acaba por não ser compensador.
Por outro lado, para a configuração dos parâmetros dos dois restantes Modelos, DOE e Pseudo-
DOE, já existe uma pequena e simples interface gráfica GUI, que permite a configuração e a
execução automática destes Modelos. O manual de utilização está descrito, detalhadamente, e com
exemplos ilustrativos, seja com recurso às equações, assim como para a simulação eléctrica, no
Apêndice A.
De seguida apresentam-se os resultados, na tabela 5.4, provenientes da modelação de cada
Modelo estudado ao longo deste trabalho: Pareto-Optimo, DOE e o Pseudo-DOE, onde na coluna das
contribuições se expressam a verde as contribuições positivas e a vermelho as contribuições
negativas.
Capítulo 5 – Resultados
- 81 -
Tabela 5.4 – Resultados finais referentes às modelações dos exemplos propostos. Exemplos
Filtros Activos Modelo usado Recurso usado CPU time
[seg] # Regras Difusas Contribuições das entradas/saídas
Low-Pass (1) Pareto
7 Paretos,
4.000 pontos/pareto 3,7 seg
18 GainDC: R1; R2
F0: R2 e C DOE 8 Pontos < 1seg
Pseudo-DOE 4 Pontos < 1seg
Low-Pass (2) Pareto
9 Paretos,
4.000 pontos/pareto 5,0 seg 18
GainDC: R1; R2
F0: R2 e C
DOE 16 Pontos < 1seg 54
GainDC: R1; R2 e A1
F0: R2, C e A1 Pseudo-DOE 5 Pontos < 1seg
2º Order Low-Pass (1)
Pareto 13 Paretos,
5.000 pontos/pareto 8,9 seg 36
GainDC: R1 e R3
F0: R4; C1 e C2
DOE 64 Pontos < 1seg 162
GainDC: R1 e R3, R2 e R4
F0: R2, R4, C1 e C2 Pseudo-DOE 7 Pontos < 1seg
2º Order Low-Pass (2)
Pareto 13 Paretos,
5.000 pontos/pareto 15,6 seg 297
GainDC: R2 e C1, R4
F0: R4, C1 e C2
Q: R1, R2, R3, C1 e C2
DOE 64 Pontos < 1seg 171
GainDC: R1 e R3; R2 e R4
F0: R2, R4, C1 e C2 Q: R4; C1
Pseudo-DOE 7 Pontos < 1seg 243
GainDC: R1 e R3; R2 e R4
F0: R2, R4, C1 e C2
Q: R2, R4, C1 e C2
2º Order Sallen-Keys (1)
Pareto 13 Paretos,
5.000 pontos/pareto 16,4 seg 90
GainDC: R1, R2, R3 e R4
F0: R2 e C1
DOE 64 Pontos < 1seg 90
GainDC: R3; R4
F0: R1, R2, C1 e C2 Pseudo-DOE 7 Pontos < 1seg
2º Order Sallen-Keys (2)
Pareto 13 Paretos,
5.000 pontos/pareto 24,4 seg 99
GainDC: R1, R2, R3 e R4
F0: R2 e C1
Q: R2; R3
DOE 64 Pontos < 1seg 819
GainDC: R3; R4
F0: R1, R2, C1 e C2 Q: R1, R4 e C1; R2, R3 e C2
Pseudo-DOE 7 Pontos < 1seg 333
GainDC: R3; R4
F0: R1, R2, C1 e C2
Q: R1, R2, R4, C1 e C2
Low-Pass Noch (1)
Pareto 19 Paretos,
7.000 pontos/pareto 49,7 seg 2 268
F0: R1, R2, R3, R5, R6, C4 e C62
Fn: R3, R6, C61 e C62
DOE 512 Pontos < 1seg 972
F0: R1, R3, R5, C4, C61 e C62
Fn: R1, R3, R5, C4 e C61 Pseudo-DOE 10 Pontos < 1seg
Low-Pass Noch (2)
Pareto 19 Paretos
7.000 pontos/pareto 54,5 2 376
GainDC: K, R1 e R3
F0: R1, R2, R3, R5, R6, C4 e C62
Fn: R3, R6, C61 e C62 GainHF: K e R2; R6 e C4
DOE 512 Pontos < 1seg 1 002
GainDC: K
F0: R1, R3, R5, C4, C61 e C62
Fn: R1, R3, R5, C4 e C61 GainHF: K e C61; C62
Pseudo-DOE 10 Pontos < 1seg 1 002
GainDC: K
F0: R1, R3, R5, C4, C61 e C62
Fn: R1, R3, R5, C4 e C61
GainHF: K e C61 e C62
Low-Pass Noch (3)
Pareto
DOE 512 Pontos < 1seg 7 563
GainDC: K
F0: R1, R3, R5, C4, C61 e C62
Fn: R1, R3, R5, C4 e C61
GainHF: K, C61; C62
Q: R2, R6, C61 e C62; R1, R3, R5 e C4
Pseudo-DOE 10 Pontos < 1seg 7 563
GainDC: K
F0: R1, R3, R5, C4, C61 e C62
Fn: R1, R3, R5, C4 e C61
GainHF: K e C61 e C62
Q: R2, R6, C61 e C62; R1, R3, R5 e C4
Observando a tabela anterior, verifica-se que o Pareto-Optimo é um Modelo que, para além de
requerer um determinado elevado número de pontos, fazendo com que se torne num Modelo bem
mais pesado que os outros dois Modelos (DOE e Pseudo-DOE), nem sempre é possível a extracção
de um Pareto aceitável. Este facto é evidente quando se tenta modelar para o caso do Low-Pass
Capítulo 5 – Resultados
- 82 -
Noch com 9 entradas e 5 saídas, onde não foi possível uma extracção do Pareto. Verifica-se desde
já, a incompatibilidade de expansão para exemplos mais complexos num dos modelos proposto.
No entanto, os Modelos DOE e Pseudo-DOE fazem conclusões das contribuições sempre muito
concordantes, sendo em alguns casos conclusões iguais. É de notar que, é apenas no primeiro
exemplo que todos os modelos são concordantes. Nas restantes simulações, o modelo PO acaba por
ser o modelo que se dispersa mais e o que mais erros comete na coluna das contribuições.
5.2 Aplicação dos Resultados dos Modelos ao Optimização FUGA
De seguida, irão ser submetidos os resultados, provenientes das modelações anteriores, ao
Optimizador FUGA. Na tabela 5.5 apresentam-se os parâmetros de configuração por default deste
Optimizador, onde toda a informação sobre a definição destes parâmetros se encontra no Apêndice
B. A tabela 5.6 apresenta os resultados obtidos para um conjunto de 4 indicadores de desempenho,
provenientes de um conjunto de 30 runs.
Tabela 5.5 – Parâmetros de Configuração por default do Optimizador FUGA. Simplificação Regras Difusas Não Subsets 3 Função de Membro MAX-MIN Inferência Triangular Desfuzificação Centro-de-massa
Tabela 5.6 – Resultados devolvidos do Optimizador FUGA.
Simulação Exemplos Processo de Optimização
# Máximo de Gerações
Média nº de Gerações
Taxa de Sucesso [%]
Recurso usado
CPU Time [seg]
1 1º Order Low-Pass (1)
AGS
300
88 96 464 917 0,36
FUGA - Pareto 18 100 43 155 0,20 FUGA - DOE
FUGA – Pseudo-DOE
2 1º Order Low-Pass (2)
AGS
300
114 93 622 985 0,42
FUGA - Pareto 29 100 70 800 0,37
FUGA - DOE 23 100 54 759 0,32
FUGA - DOE Mod.
3 2º Order Low-Pass (1)
AGS
500
93 100 241 507 0,18
FUGA - Pareto 30 100 76 065 0,66
FUGA - DOE 17 100 42 066 0,62
FUGA - DOE Mod.
4 2º Order Low-Pass (2)
AGS
500
116 96 300 509 0,26
FUGA - Pareto 62 93 159 650 3,36
FUGA - DOE 29 100 74 319 1,20
FUGA - DOE Mod. 48 96 123 088 2,34
5 2º Order Sallen-Keys (1)
AGS
500
123 93 319 937 0,34
FUGA - Pareto 32 100 81 990 0,84
FUGA - DOE 28 100 72 632 0,69
FUGA - DOE Mod.
6 2º Order Sallen-Keys (2)
AGS
500
299 53 779 192 0,63
FUGA - Pareto 134 76 349 768 4,12
FUGA - DOE 155 76 403 372 16,78
FUGA - DOE Mod. 113 86 293 621 6,72
7 Low-Pass Noch (1)
AGS
500
70 100 194 785 0,23
FUGA - Pareto 61 100 180 994 12,07
FUGA - DOE 31 100 85 297 5,16
FUGA - DOE Mod.
8 Low-Pass Noch (2)
AGS
500
193 76 544 292 0,70
FUGA - Pareto 149 86 420 406 60,90
FUGA - DOE 39 96 108 205 8,23
FUGA - DOE Mod. 56 93 155 512 10,53
9 Low-Pass Noch (3)
AGS
600
279 60 785 521 1,02
FUGA - Pareto
FUGA - DOE 51 96 144 013 59,99
FUGA - DOE Mod. 33 100 91 967 40,85
Capítulo 5 – Resultados
- 83 -
Independentemente, do modelo usado para a criação das Regras Difusas, o Optimizador FUGA
retorna sempre melhores indicadores de desempenho que o Algoritmo Genético Standard (AGS). No
entanto, o custo computacional (CPU Time) é, claramente inferior para o AGS. O carregamento dos
ficheiros das Regras Difusas para estruturas temporárias, e à medida que esse número de Regras
aumenta exponencialmente, faz com que o tempo de leitura das estruturas comece a fazer sentir
peso no tempo de execução interno do algoritmo. Contudo, sendo estes resultados realizados com
base em equações, o tempo de aquisição das variáveis de saída para uma determinada população é,
praticamente nulo. No entanto, sendo o objectivo principal de correr o optimizador FUGA no
simulador eléctrico Spectre, da CADENCE®, estes tempos de execução tornam-se insignificantes
face ao tempo de aquisição das variáveis de saída pelo simulador eléctrico. Neste caso, o Recurso
usado, isto é, o número de vezes que o optimizador precisou de receber valores para as variáveis de
saída, é extremamente mais elevado para o AGS do que para o FUGA. Deste modo, se a cada
Recurso utilizado, se atribuir 1 segundo de simulação eléctrica, verificava-se que o AGS demoraria,
em muitas das situações, três vezes mais tempo que o FUGA.
Note-se que, o Modelo Pareto-Optimo torna-se pouco eficiente na geração das Regras Difusas,
como seria de esperar, pelo facto de ser difícil, para certos casos, encontrar-se e ter-se uma boa
definição do Pareto. O Modelo DOE e o Modelo Peseudo-DOE conseguem fazer uma melhor gestão
para a criação das Regras Difusas necessárias para um bom desempenho do Optimizador FUGA.
Os gráficos apresentados na figura 5.1, pretendem ilustrar uma conclusão geral aos indicadores
de desempenho usados na tabela anterior, nomeadamente à média do número de gerações, taxa de
sucesso, recurso usado e o tempo de execução interna do algoritmo.
(a) (b)
(c) (d)
Figura 5.1 – Conclusão Geral dos indicadores de desempenho para o optimizador FUGA.
Capítulo 5 – Resultados
- 84 -
Fazendo uma análise geral aos gráficos apresentados na figura 5.1, verifica-se que o Modelo
DOE e o Pseudo-DOE reforçam a ideia de serem modelos muito semelhantes. As pequenas
diferenças existentes nas contribuições efectuadas na modelação, fazem com que os desempenhos
dos mesmos, ao nível da optimização, sejam muito próximos um do outro.
5.2.1 Melhoramento dos Modelos
Os resultados apresentados até ao momento, têm sido baseados em contribuições devolvidas
pelos modelos onde os seus parâmetros eram os pré-definidos. Apesar de se verificar
melhoramentos bastantes significativos, por vezes, nem sempre estes modelos estão definidos para
extrair um conjunto óptimo das contribuições para a construção das Regras Difusas. Este factor é
visível nos resultados apresentados para o exemplo do filtro Sallen-Keys, na tabela 5.6. A tabela 5.7
apresenta, novamente, apenas esses resultados obtidos, anteriormente.
Tabela 5.7 – Resultados referentes ao Optimizador FUGA para o Filtro Sallen-Keys de 3 saídas.
Modelo Contribuições Optimizador FUGA
# Máximo de Gerações
Média nº de Gerações
Taxa de Sucesso [%]
Recurso usado
CPU Time [seg]
DOE GainDC: R3; R4
F0: R1, R2, C1 e C2 Q: R1, R4 e C1; R2, R3 e C2
500 155 76 403 372 16,78
Pseudo-DOE
GainDC: R3; R4
F0: R1, R2, C1 e C2
Q: R1, R2, R4, C1 e C2
500 113 86 293 621 6,72
Como se observa, nem a Média do Número de Gerações, nem a Taxa de Sucesso, foram da
mesma ordem de grandeza que os resultados obtidos para os outros exemplos dos filtros,
apresentando-se com valores de Médias superiores a 100 e com Taxas de Sucesso a rondar os 80%.
Este facto aconteceu porque, existe uma forte contradição nas contribuições finais. Como se verifica,
quanto maior for essa contradição, isto é, uma variável de entrada ter contribuições positivas num
determinado conjunto de saídas e ter contribuições negativas para outro conjunto de saídas, faz
aumentar o conflito interno entre as diferentes RD, em que para aumentar uma saída estaremos a
diminuir uma outra. Nesses casos, é preferível deixar que uma variável de entrada deixe de fazer
mutação com recurso à Lógica Difusa, passando o Optimizador a focar-se mais nas restantes
variáveis de entrada, salvo se essa variável tiver um peso de contribuição dominante para todas as
saídas.
Esta secção tem como objectivo ilustrar, como será possível manipular os parâmetros de
configuração dos Modelos para uma melhor extracção das RD e resultar num processo de
optimização mais satisfatório. A tabela 5.8 demonstra dois exemplos possíveis para a manipulação
dos parâmetros, referentes ao Modelo Pseudo-DOE.
Tabela 5.8 – Manipulação dos Parâmetros do Modelo Pseudo-DOE e respectivos resultados de Optimização.
Modelo Pseudo-DOE Optimizador FUGA
Simulação Parâmetros do Modelo
Total de pontos
Contribuições # Máximo de Gerações
Média nº de Gerações
Taxa de Sucesso [%]
Recurso usado
CPU Time [seg]
1 Factor > 0.1
B = 2 7
GainDC: R4
F0: R1, R2, C1 e C2
Q: R1 500 170 73 442 388 4,58
2 Factor = 0.2
B > 4 19
Retorna as mesmas
contribuições que as iniciais.
Capítulo 5 – Resultados
- 85 -
Como o Modelo Pseudo-DOE é variante do Modelo DOE, este só tem 2 factores possíveis de
alterar: o parâmetro Factor e o valor de B. No primeiro caso, variou-se o Factor entre 0.1 e 0.7 e
retornou as contribuições indicadas na primeira linha, mantendo o valor de B a 2. Verifica-se que,
como seria de esperar, o Modelo eliminou as variáveis com um peso de contribuições menores,
sobrando apenas a variável R1 a influenciar a saída Q. Obtendo esta falta de mais informação e
estando muitas das variáveis apenas a influenciar uma saída ou nenhuma, obtiveram-se resultados
de optimização piores que os apresentados, inicialmente, tendendo os resultados de optimização
deste modelo, para os resultados obtidos com base no AGS. No outro caso, variou-se o valor de B,
mantendo-se constante o Factor a 0.2. Com estas configurações obteve-se as mesmas contribuições
que as apresentadas inicialmente, não valendo a pena submeter os resultados para a optimização.
Em relação ao Modelo DOE, pelo facto de existirem mais factores de liberdade de configuração,
o modelo comporta-se de forma mais eficiente. Na tabela 5.9, encontram-se as definições dos
parâmetros submetidas para a modelação.
Tabela 5.9 – Manipulação dos Parâmetros do Modelo DOE e respectivos resultados de Optimização.
Modelo DOE Optimizador FUGA
Simulação Parâmetros do
Modelo Total de pontos Contribuições
# Máximo de
Gerações
Média nº de
Gerações
Taxa de Sucesso
[%]
Recurso usado
CPU Time [seg]
1
B = 2
P = 2
C1= mod2 (R1+R2+R3)
C1= mod2 (R2+R3+R4)
Factor = 0.2
16
GainDC: R3; R4
F0: R1, R2, C1 e C2 Q: R4 e C1; R3
500 74 93 191 482 2,50
2
B = 4
P = 2
C1= mod4 (R1+R2+R3)
C1= mod4 (R2+R3+R4)
Factor = 0.2
256
Retorna as
mesmas
contribuições que
as iniciais.
3
B = 2
P = 2
R3= mod4 (C1+C2+R1)
R4= mod4 (C2+R1+R2)
Factor = 0.4
16
GainDC: R3; R4
F0: R1, R2, C1 e C2
Q: C1, C2; R3 500 102 86 264 593 3,46
4
B = 4
P = 2
C1= mod4 (R1+R2+R3)
C1= mod4 (R2+R3+R4)
Ou
R3= mod4 (C1+C2+R1)
R4= mod4 (C2+R1+R2)
Factor = 0.4
256 GainDC: R3; R4
F0: R1, R2, C1 e C2
Q: R1, R4; R2, R3 500 47 96 120 826 1,86
5 B = 2
P = 0
Factor = 0.2 64
Na primeira simulação foram introduzidas 2 variáveis não elementares, utilizando a função
modB(X) para a ajuda à construção da matriz de base do DOE. Deste modo, aumentou-se o
parâmetro Factor, eliminando pequenas contribuições de variáveis que possam surgir. Diminuindo de
um total de 64 pontos, necessários para a obtenção das contribuições, para um total de 16 pontos,
conseguiu-se eliminar certas contradições existentes nas RD e, consequentemente, obter melhores
resultados para os indicadores de desempenho do optimizador.
Na segunda simulação, mantendo as 2 variáveis não elementares e as 4 resistências como
variáveis elementares, obtiveram-se as mesmas contribuições daquelas que foram definidas com os
parâmetros de configuração iniciais.
Capítulo 5 – Resultados
- 86 -
Na terceira simulação, é feita outra escolha às variáveis não elementares, aumentando também
o parâmetro Factor. Verifica-se que, se consegue uma melhoria dos resultados, quando comparados
com os resultados iniciais da tabela 5.7, mas continua a não ser a modelação mais apropriada.
Contudo, é na quarta e na quinta simulação que se conseguem resultados de optimização como
os esperados. As modelações efectuadas, com os parâmetros tal como definidos, nas duas últimas
experiências permitiram eliminar apenas contribuições parasitas de variáveis de entrada, contendo
um maior número de contribuições das variáveis de entrada sobre as saídas e sem provocar
contradições nessas contribuições para a escrita das Regras Difusas.
5.2.2 Testando o Optimizador FUGA
O Optimizador FUGA também é dinâmico e está preparado para receber parâmetros de
configuração, tais como o número de subconjuntos, o tipo de função de membro, a inferência e se o
utilizador pretende executar o optimizador com o método de simplificação das Regras Difusas, citada
na secção 4.5. Nesta primeira abordagem utilizaram-se as configurações descritas na figura 5.2.
Figura 5.2 – Configurações para o optimizador FUGA.
Para este exemplo, ao serem usados 5 níveis de subconjuntos (subsets), o número de Regras
Difusas a utilizar irá crescer, significativamente. Por este motivos, a presença de RD conflituosas
provenientes das contribuições contraditórias poderão também aumentar. Contendo já as
contribuições devolvidas pelos Modelos, basta apenas reconstruir as RD para o Optimizador voltar a
carregar as Regras correctamente. A tabela 5.10 indica o número total de RD a serem usadas para o
exemplo do filtro Low-Pass Noch.
Tabela 5.10 – Comparação do número total de Regras Difusas.
Simulação Total RD com 3 subsets Total RD com 5 subsets
Low-Pass Noch
(1) 972 18 750
(2) 1002 18 880
(3) 7 563 409 505
Verifica-se que, para exemplos onde o número de variáveis de entrada já é suficiente para criar
um número de RD consideráveis, o impacto do tempo de execução do optimizador começa a fazer-se
sentir. Por exemplo, o total de RD para a simulação 3, deste filtro, faz com que seja criado um ficheiro
de 16.4 MB, somente para a escrita das RD para a saída Q.
A tabela 5.11 apresenta os resultados das simulações efectuadas pelo optimizador, aplicado
apenas aos resultados modelados pelo Modelo DOE, para 30 runs efectuados.
Optimizador FUGA
- Sem Simplificação das RD
- 5 Níveis de subconjuntos;
- Função de membro triangular;
- Inferência MAX-PROD;
- Defuzificação: centro-de-massa.
Capítulo 5 – Resultados
- 87 -
Tabela 5.11 – Resultados do Optimizador FUGA com 5 níveis de subconjuntos.
Simulação Exemplos Processo de Optimização
# Máximo de Gerações
Média nº de Gerações
Taxa de Sucesso [%]
Recurso usado
CPU Time [seg]
1 Low-Pass Noch (1) FUGA – DOE º 500 62 100 174 217 68,57
2 Low-Pass Noch (2) FUGA – DOE º 500 63 96 176 963 89,01
3 Low-Pass Noch (3) FUGA – DOE º 600 129 85 242 514 1269,46
Como se observa, o tempo de execução interno do Optimizador na terceira simulação teria um
impacto significativo, caso esta simulação tivesse sido efectuada por simulação eléctrica, e se for
considerado que a cada Recurso usado correspondesse 1 segundo de simulação eléctrica. Verifica-
se também, que a Média do número de Gerações aumentou cerca de 50%, em comparação com os
mesmos resultados obtidos, inicialmente, com 3 subconjuntos. Deste modo, o aumento do número de
subconjuntos não provocou melhorias na optimização para este tipo de exemplos.
Uma outra vantagem que o Optimizador contém, é o facto de se poder usar o método de
simplificação das RD durante a optimização. A tabela 5.12 ilustra os resultados obtidos do
Optimizador, recorrendo também ao exemplo do filtro Low-Pass Noch, onde os parâmetros de
configuração são os apresentados na tabela 5.5, mas com a simplificação das RD activa.
Tabela 5.12 – Resultados do Optimizador FUGA com processo de Simplificação das RD.
Simulação Exemplos Processo de Optimização
# Máximo de Gerações
Média nº de Gerações
Taxa de Sucesso [%]
Recurso usado
CPU Time [seg]
1 Low-Pass Noch
(1) FUGA – DOE *
500 59 100 164 159 1,05 FUGA – Pseudo-DOE *
2 Low-Pass Noch (2)
FUGA – DOE * 500
46 96 129 378 1,54
FUGA – Pseudo-DOE * 65 93 181 918 1,99
3 Low-Pass Noch
(3) FUGA – DOE *
600 84 96 235 932 3,43
FUGA – Pseudo-DOE * 68 100 190 600 2,65
Pelo facto de se estar a fazer uma redução acentuada para se usarem apenas 9 Regras Difusas
por variável de saída, a modelação resultante descrita pelas mesmas torna-se menos precisa. Isto
traduz-se numa degradação de apenas pouco mais de 30% na Média do número de Gerações. Mas,
por outro lado o tempo interno de execução é reduzido em cerca de 80%. Para circuitos com um
maior número de variáveis de entrada, este processo de usar a simplificação das Regras Difusas pelo
Optimizador FUGA torna-se bastante útil, pelo facto de se garantir a convergência da população em
poucas Gerações e por se conseguir reduzir, substancialmente, o tempo de execução interno do
Optimizador.
5.3 Modelação e Optimização com base no Simulador Eléctrico
Nesta secção irá ser ilustrado um exemplo de modelação e optimização com recurso ao
Simulador Eléctrico da Cadence [84]. Tratando-se de um trabalho em desenvolvimento, ao nível do
Optimizador, juntamente com um outro trabalho de investigação [4], só será possível a apresentação
dos resultados de Optimização para o caso de estudo discutido ao longo desta tese, do Filtro activo
Passa-Baixo. Os resultados provenientes da modelação com base no Simulador estão reproduzidos
de forma mais simplificada, mas detalhadamente, no Anexo A. Contudo, apresenta-se na tabela 5.13,
os Parâmetros de Controlo dos Modelos usados para a extracção das RD.
Capítulo 5 – Resultados
- 88 -
Tabela 5.13 – Resultados do Optimizador FUGA com processo de Simplificação das RD.
Parâmetros de Controlo do Modelo DOE e Pseudo-DOE
DOE Pseudo-DOE
Subsets 3 Subsets 3
Factor 0.1 Factor 0.1
Alterar Domínio de entrada Não Alterar Domínio de entrada Não
Processo Simulação Processo Simulação
B 2 B 2
P 0
Quando se trata de Modelar com Simulação Eléctrica, o parâmetro Factor deverá ser sempre
maior que 0. Isto acontece porque, para este tipo de simulações, seja análise na Frequência (AC) ou
transiente (TRANS), o simulador poderá não devolver, exactamente, os mesmos resultados de saída
para os mesmos valores de entrada. Desta forma, impondo sempre um Factor próximo de zero,
consegue-se eliminar esses efeitos parasitas nas contribuições das variáveis de entrada.
Na tabela 5.14 e 5.15 encontram-se os resultados provenientes da modelação realizada pelo
simulador, para o Modelo DOE e Pseudo-DOE, respectivamente. Esta modelação foi realizada com 3
variáveis de entrada (R1, R2 e C) e 2 de saída (GanhoDC e Frequência), com uma análise de medição
do tipo AC para ambas as saídas. Encontram-se, nas mesmas tabelas, algumas observações
resultantes provenientes de cada conjunto de simulações. Note-se que, para as variáveis de entrada
cuja contribuição seja, em valor absoluto, maior que o declive máximo pelo Factor atribuído, serão
contabilizadas como variáveis que influenciam a respectiva saída. Os domínios usados para estas
modelações foram os mesmos que os usados na Optimização, referidos na tabela 5.16.
Tabela 5.14 – Resultados da Modelação com base no Modelo DOE.
Sim. R2 [Ω] R1 [Ω] C [F] Ganho [dB] Frequência [Hz] Contribuições
1 70 2 1x10-13
30,881 2,271x1010
GanhoDC Frequência
2 70 2 1x10-11
30,881 2,268x108
R2 = 0,266 R2 = - 0,798 3 70 16 1x10
-13 12,819 2,271x10
10
4 70 16 1x10-11
12,819 2,267x108
R1 = - 0,297 R1 = - 4,86x10-5
5 440 2 1x10
-13 46,847 3,612x10
9
6 440 2 1x10-11
46,847 3,615x107
C = 0 C = - 2,01 7 440 16 1x10-13
28,786 3,611x109
8 440 16 1x10-11
28,786 3,614x107
Observações CPU TIME = 0,109 seg
Memória = 2,63 Mbytes
Declive máximo x FACTOR
(GanhoDC) = 0,0297
Declive máximo x FACTOR
(Freq) = 0,201
Tabela 5.15 – Resultados da Modelação com base no Modelo Pseudo-DOE.
Sim. R2 [Ω] R1 [Ω] C [F] Ganho [dB] Frequência [Hz] Contribuições
1 70 2 1x10-13
30,881 2,273x1010
GanhoDC Frequência
2 440 2 1x10-13
46,846 3,612x109 R2 = 15,97 R2 = - 1,91x10
10
3 70 16 1x10-13
12,819 2,272x1010
R1 = - 18,06 R1 = - 7,99x107
4 70 2 1x10-11
30,881 2,268x108 C = 0 C = - 2,25x10
10
Observações CPU TIME = 0,093 seg
Memória = 2,50 Mbytes
Declive máximo x FACTOR
(GanhoDC) = 1,81
Declive máximo x FACTOR
(Freq) = 2,25x109
Capítulo 5 – Resultados
- 89 -
Como se verifica pelos resultados apresentados para a modulação, no caso da Frequência, são
visível os efeitos parasitas referidos, isto é, para os mesmos valores das variáveis de entrada que
influenciem directamente esta saída, ver simulação 5 e 7 da tabela 5.14, obtiveram-se resultados
muito aproximados e não os mesmos valores. Estas observações também são visíveis nos resultados
das contribuições, onde esses valores das contribuições são muito inferiores face às outras
contribuições das variáveis de entrada, ou próximos de zero. Teoricamente, para variáveis que não
contribuam para uma dada saída, o valor dessas contribuições deveria ser, exactamente, zero. Deste
modo, aconselha-se a usar sempre um Factor diferente de zero, para modelações com recurso ao
simulador eléctrico.
Tal como referido anteriormente, o Optimizador FUGA para simulação eléctrica encontra-se
ainda em desenvolvimento. Desta forma, só é permitido efectuar uma optimização simples e com
apenas uma única variável de saída, simulação exemplar. Na tabela 5.16, encontram-se os
parâmetros de configuração usados para a execução de um run do Optimizador FUGA e AGS.
Tabela 5.16 – Parâmetros de Configuração do Optimizador a usar na Simulação Eléctrica.
Parâmetros do Optimizador Domínio das Variáveis de Entradas Especificação
Limite Gerações = 40 R2 [Ω] = [70; 440]
Ganhodc > 40 dB
População = 16
Variáveis de Optimização = R1, R2 e C R1 [Ω] = [2; 16]
Factor de Selecção = 0,5
Factor de Mutação = 0,1 C [F] = [1x10-13; 1x10-11]
Especificação = Ganhodc
Os resultados de simulação estão apresentados na figura 5.2. Nesta figura, apresenta-se a
evolução do registo da Função de Custo do melhor indivíduo da população, para o caso do AGS e
para o caso do FUGA. Tal como, nos resultados com base nas equações eléctricas, a eficiência de
convergência do Optimizador FUGA é, claramente, superior. Regista-se que, na quarta geração o
Optimizador FUGA já conseguiu cumprir a especificação imposta, convergindo a população mais
rapidamente que o AGS. Verifica-se também que, só ao fim de 29 Gerações o melhor indivíduo da
população proveniente do AGS contém um valor de custo da mesma ordem que o melhor individuo
registado para o FUGA.
Figura 5.2 – Resultados com Simulação Eléctrica da Evolução da Função de Custo do melhor cromossoma.
Capítulo 5 – Resultados
- 90 -
Na figura 5.3, ilustra-se a evolução para os valores das Resistências do melhor indivíduo, únicas
variáveis de entrada que contribuem para a evolução do GanhoDC, durante as 40 Gerações
efectuadas para cada um dos Algoritmos de Optimização. Verifica-se que, para o Optimizador FUGA,
ambas as resistências do melhor cromossoma deixaram de variar logo nas primeiras Gerações,
enquanto que para o AGS, verifica-se um enorme ajuste no valor das variáveis para atingir a
especificação proposta. Estes resultados são concordantes com a evolução da Função de custo,
como seria de esperar.
Figura 5.3 – Evolução dos Genes, das variáveis que influenciam o GanhoDC, para o melhor cromossoma.
Capítulo 5 – Resultados
- 91 -
5.4 Conclusão
Este capítulo apresentou uma série de resultados ao nível da modelação e da optimização de
circuitos analógicos. Os resultados provaram que através de modelos qualitativos é possível criar um
conjunto de Regras Difusas capazes de aumentar a eficiência, a precisão e a rapidez para a
optimização de circuitos analógicos. Particularmente, o trabalho proposto mostra que é possível uma
eficiência de mais de 50% do número de Gerações, provocando um aumento significativo de
desempenho do optimizador quando comparado com optimizadores com algoritmos evolutivos
clássicos.
As simulações efectuadas baseadas em equações, ou função de transferência, serviram para
fazer um estudo mais pormenorizado quanto ao andamento da modelação dos exemplos
apresentados. Estes exemplos, acessíveis para uma compreensão de um projectista de circuitos
analógicos, demonstraram que os resultados provenientes das modelações dos Modelos DOE e
Pseudo-DOE são os que se conseguem aproximar do sistema real, ou do comportamento do circuito.
Pelo facto de não existir um processo para eliminar o maior número de contribuições
contraditórias, por vezes requer algum domínio na manipulação dos parâmetros de configuração para
tornar os modelos mais eficientes. Contudo, verificou-se pelos resultados, que qualquer modelação
introduzida por estes dois modelos, DOE e Pseudo-DOE, faz com que se consiga as vantagens
requeridas para se obter um processo de optimização mais rápido. Ter-se-á que procurar a
modelação mais equilibrada, isto é, nem informação a mais sobre as contribuições das entradas, nem
informação a menos, porque, ter informação a mais faz com que possam existir contradições nas
contribuições, mas, por outro lado, caso haja défice de informação, faz com que as entradas deixem
de ter quaisquer contribuições passando a evoluírem com uma mutação, perfeitamente, aleatória.
Os resultados realizados com base na simulação eléctrica são considerados protótipos. Contudo,
consegue-se reforçar e evidenciar a eficiência que a Lógica Difusa perfaz quando usado na mutação
do Operador do AG, tornando este operador eficiente para reduzir o número de vezes de acesso ao
simulador eléctrico. Sendo um dos pontos fulcrais diminuir o ciclo de dimensionamento em circuitos
analógicos, os resultados comprovaram que o Optimizador FUGA, com recurso à simulação eléctrica,
faz uma redução visível nesse número de Gerações para obter as especificações pretendidas.
O Optimizador FUGA foi criado com sucesso, satisfazendo os requisitos propostos, tal como se
verifica pelos resultados apresentados. Apesar de haver, por vezes, entradas com contribuições
contrárias à realidade ou de haver contradição nas contribuições nas várias saídas, mas se existir
alguma informação de qual o tipo de contribuição que as variáveis de entrada provocam nas saídas, o
Optimizador consegue desde logo, produzir melhorias no aceleramento da população para o ponto
global de optimização. Este Optimizador já contém, também, ferramentas bastante úteis ao processo,
nomeadamente, a redução das RD durante o processo de optimização, tal como apresentado. Além
do Optimizador tirar proveito da escolha da Função de Membro: Triangular ou Gaussiana, e o tipo de
Inferência: MAX-MIN ou MAX-PROD, os resultados não produzem grandes diferenças, ou são
praticamente mínimas, no aceleramento da optimização. Não foram apresentados resultados sobre
estas diferenças pelo facto de não trazer qualquer vantagem em utilizar qualquer um dos tipos de
Funções de Membro ou Inferências, onde a única variável notável, nestes casos, era cerca de uma
Capítulo 5 – Resultados
- 92 -
variação de 5 a 10 por cento do valor final do passo da desfuzificação, não influenciando,
praticamente, o encaminhando da decisão final da mutação. Contudo, o Optimizador consegue
suportar 5 níveis de subconjuntos, mas os resultados observados conduziram a um aumento de
contradições nas contribuições, e, consequentemente, resultando de uma deterioração nos
resultados finais de desempenho.
- 93 -
Capítulo 6
CONCLUSÕES E TRABALHO FUTURO
6.1 Conclusões
Esta dissertação apresenta uma nova abordagem à aplicação de estratégias evolutivas para a
modelação e a optimização de circuitos analógicos. Foi desenvolvida uma nova técnica capaz de
acelerar o processo e o tempo de execução de um dado optimizador comum, combinando modelos
qualitativos com o controlo proveniente da criação de Regras Difusas. Esta junção permite aumentar
a eficiência do optimizador, encaminhando de forma mais eficiente os dados para o objectivo
pretendido, provocando uma diminuição substancial do número de acesso ao simulador eléctrico. Os
Modelos DOE e Pseudo-DOE são os modelos candidatos para o estudo qualitativo do circuito a
optimizador, onde têm como factor principal: a criação de um conjunto de Regras Difusas
equilibradas, com o mínimo de conflito entre as mesmas e fornecer ao projectista uma análise simples
e directa sobre o comportamento das contribuições das variáveis de entrada sobre as saídas, para
uma fácil compreensão do circuito. Pelo facto destes dois modelos terem uma eficiência clara sobre o
Modelo Pareto-Optimo, a modelação com base na simulação eléctrica só é feita através destes dois
modelos. Estes modelos oferecem, também, um conjunto de parâmetros que o utilizador poderá
explorar e variar a fim de adaptar mais o Modelo ao problema proposto, tal como foi apresentado.
Contudo, estas manipulações nos Modelos poderão ser efectuadas com base na interface GUI
existente, à excepção do Modelo Pareto-Optimo em que a manipulação dos parâmetros requer a
presença de um utilizador mais experiente.
Esta abordagem apresentada faz a junção do Algoritmo Genético, usado no Optimizador FUGA,
com a ferramenta Lógica Difusa, provocando um controlo mais rigoroso ao operador mutação,
presente do AG, fazendo uma melhor gestão deste operador. O Modelo Difuso, inserido no
Optimizador FUGA, faz o elo de ligação entre as contribuições e as Regras Difusas, resultante dos
Modelos qualitativos, com o operador mutação do Algoritmo Genético. O Optimizador também contém
um conjunto de parâmetros que podem ser manipulados, permitindo uma melhor adaptação do
Optimizador FUGA ao problema proposto. Este optimizador representa uma alternativa,
completamente automatizada, às técnicas tradicionais de optimização, cujo tempo de simulação
requerido por essas técnicas é, extremamente, elevado, visto que muito do tempo de execução
dispensado é na parte do processo de optimização.
Conclui-se que, os objectivos propostos para este trabalho foram cumpridos e a criação de um
novo Optimizador foi criado, assim como os referidos Modelos qualitativos.
Capítulo 6 – Conclusões e Trabalho Futuro
- 94 -
6.2 Trabalho Futuro
No domínio da automação do projecto de circuitos analógicos, a investigação é, sempre,
presente e dinâmica. Existe ainda um longo caminho a percorrer para se conseguir tapar a lacuna
existente entre as exigências na produção fabril e o progresso existente nas metodologias de
dimensionamento dos circuitos analógicos. Deste modo, será apresentado um conjunto de sugestões
úteis para o desenvolvimento de trabalho futuro.
Tópicos Gerais:
(a) Melhorar a integração do Modelo Difuso, presente no Optimizador FUGA, com o processo
de simulação eléctrica, proporcionando uma maior dinâmica nos dois trabalhos
desenvolvidos.
(b) Sendo um dos maiores desafios, no domínio da automação de circuitos integrados,
pretende-se a construção e desenvolvimento de uma ferramenta completa, isto é,
envolvendo os processos fundamentais nesta matéria: a selecção de topologias,
modelação, optimização e por fim a geração do layout.
(c) Uma abordagem alternativa ao ponto anterior, e visto haver avanços nos módulos de
interface assim como no processo de simulação eléctrica, propõe-se a integração deste
sistema na ferramenta CADENCE. Melhorando os módulos de interface e o elo de ligação
com o simulador, o optimizador apresentado poderá ser incorporado, facilmente, como um
módulo externo, para a incorporação nesta ferramenta comercial.
Tópicos Específicos:
(a) Desenvolver uma interface para o Optimizador FUGA e melhorar a interface GUI já
realizada para os Modelos DOE e Pseudo-DOE, proporcionando uma fácil manipulação de
todos os modelos apresentados.
(b) Aproveitar os resultados das contribuições, resultantes dos modelos qualitativos, para a
atribuição de pesos para as variáveis de entrada, influenciando o contributo das Regras
Difusas para as variáveis com maior peso, reduzindo deste modo as contradições nas
contribuições.
(c) Aproveitar a eficiência que a Lógica Difusa oferece nas questões de controlabilidade, e
aplicar o Modelo Difuso a todos os operadores do Algoritmo Genético, isto é, os operadores
de selecção e de reprodução deixarem de ser operadores aleatórios, para começarem a ser
abrangidos pelo Modelo Difuso proposto.
(d) Até ao momento, os passos que constituem o Modelo Difuso são estáticos. Apesar de se
poder usar outro tipo de Função de Membro ou outro tipo de Inferência, o funcionamento
destes processos é estático, dependente apenas do domínio de cada variável de entrada.
Proponha-se o desenvolvimento de processos mais dinâmicos e que fossem adaptando e
acamando, consoante cada exemplo, seja antes ou durante a optimização.
(e) Aplicar estes modelos apresentados noutros tipos de optimizadores, verificando a eficiência
causada. Permitia deste modo, seleccionar o melhor optimizador para o exemplo ou para o
domínio proposto.
- 95 -
Referências [1] PhD Thesis, Manuel Barros: “Analog Circuits and Systems Optimization based on Evolutionary Computation
Techniques”, March, 2009.
[2] P. Sousa; C. Duarte; Horta, N.H.; "Enhancing a GA Optimization Kernel based on Fuzzy Design Rules", Proc International Workshop on Symbolic and Numerical Methods, Modeling and Applications to Circuit Design - SM2ACD , Erfurt, Germany, Vol. , pp. 61 - 65, October, 2008.
[3] P. Sousa; C. Duarte; Horta, N.H.; "FUGA: A Fuzzy-Genetic Analog Circuit Optimization", Proc Genetic and Evolutionary Computation Conf. - GECCO, Montreal, Canada, Vol., pp. - , July, 2009.
[4] C. Duarte; P. Sousa; M. Barros.; J. Guilherme; N. Horta; "Enhancing Analog IC Design Optimization Kernels with Simple Fuzzy Models", Proc European Conf. on Circuit Theory and Design, Antalya, Turkey, Vol. , pp. - , August, 2009.
[5] Rutenbar, R.A.; Gielen, G.G.E.; Roychowdhury, J.; "Hierarchical Modeling, Optimization, and Synthesis for System-Level Analog and RF Designs", Proceedings of the IEEE on Digital Object Identifier, Volume 95, pp.640-669, March 2007.
[6] Nuno Gonçalves, “LAYGEN: Automatic Layout Generation of Analog ICs, from a System to Device Level using both Hierarchical Template Descriptions and Intelligent Computing Techniques,” Master Thesis, Instituto Superior Teécnico, 2007.
[7] R. K. Brayton, G. D. Hachtel, and A. Sangiovanni-Vincentelli, “A survey of optimization techniques for integrated-circuit design,” Proc. IEEE, vol. 69, pp. 1334–1362, Oct. 1981.
[8] P. Heikkilã, M. Valtonen, and K. Mannersalo, “CMOS op-amp dimensioning using multiphase optimization,” in Proc. IEEE Int. Symp. Circuits Systems, pp. 167–170, 1988.
[9] F. Leyn, W. Daems, G. Gielen, and W. Sansen, “Analog circuit sizing with constraint programming modeling and minimax optimization,” in Proc. IEEE Int. Symp. Circuits Systems, vol. 3, 1997, pp. 1500–1503.
[10] K. Madsen, O. Niedseln, H. Schjaer-Jakobsen, and H. Tharne, “Efficient minimax design of networks without using derivatives,” IEEE Trans. Microwave Theory Techn., vol. MTT-23,pp. 803–809, Oct. 1975.
[11] H. Onodera, H. Kanbara, and K. Tamaru, “Operational amplifier compilation with performance optimization,” IEEE J. Solid-State Circuits, vol. 25, pp. 466–473, Apr. 1990.
[12] H. Y. Koh, C. H. Séquin, and P. R. Gray, “OPASYN: A compiler for CMOS operational amplifiers,” IEEE Trans. Computer-Aided Design, vol. 9, pp. 113–125, Feb. 1990.
[13] G. Jusuf, P. R. Gray, and A. Sangiovanni-Vincentelli, “CADICS: Cyclic analog-to-digital converter synthesis,” in Proc. IEEE Int. Conf. Computer- Aided Design, pp. 286–289, 1990.
[14] R. Chadha et al., “WATOPT: An optimizer for circuit applications,” IEEE Trans. Computer-Aided Design, vol. CAD-6, pp. 472–479, May 1987.
[15] J. P. Harvey, M. I. Elmasry, and B. Leung, “STAIC: An interactive framework for synthesizing CMOS and BiCMOS analog circuits,” IEEE Trans. Computer-Aided Design, vol. 11, pp. 1402–1417, Nov. 1992.
[16] M. G. R. Degrauwe et al., “IDAC: An interactive design tool for analog CMOS circuits,” IEEE J. Solid-State Circuits, vol. SC-22, pp. 1106–1115, Dec. 1987.
[17] R. Harjani, R. A. Rutenbar, and L. R. Carley, “OASYS: A framework for analog circuit synthesis,” IEEE Trans. Computer-Aided Design, vol. 8, pp. 1247–1265, Dec. 1989.
[18] S. K. Gupta and M. M. Hasan, “KANSYS:A CAD tool for analog circuit synthesis,” in Proc. 9th Int. Conf. VLSI Design, pp. 333–334, 1996.
[19] Z. Ning, T. Mouthaan, and H. Wallinga, “SEAS: A simulated evolution approach for analog circuit synthesis,” in Proc. IEEE Custom Integrated Circuit Conf., pp. 521–524, 1991.
[20] W. Kruiskamp and D. Leenaerts, “DARWIN: CMOS op amp synthesis by means of a genetic algorithm,” in Proc. 32nd Annu. Design Automation Conf., pp. 433–438, 1995.
[21] D. F. Wong, H. W. Leong, and C. L. Liu, Simulated Annealing for VLSI design. Norwell, MA: Kluwer, 1988.
[22] M. Hashizume, H. Y. Kawai, K. Nii, and T. Tamesada, “Design automation system for analog circuits based on fuzzy logic,” in Proc. IEEE Custom Integrated Circuit Conf., pp. 461–464 1989.
[23] A. Torralba, J. Chávez, and L. G. Franquelo, “FASY: A fuzzy-logic based tool for analog synthesis,” IEEE Trans. Computer-Aided Design, vol. 15, pp. 705–715, July 1996.
- 96 -
[24] M. Fares and B. Kaminska, “FPAD: A Fuzzy Nonlinear Programming Aproach to Analog Circuit Design”, IEEE trans. Circuits Syst., vol. 14, no. 7, pp. 785-793, July 1995.
[25] B. J. Sheu, A. H. Fung, and Y. Y. Lai, “A knowledge-based approach to analog IC design”, IEEE trans. Circuits Syst., vol. 35, no. 2, pp. 256-258, Feb. 1988.
[26] C. Y. Kuo, L. G. Chen, and T. M. Pamg, “An automatic synthesizer for CMOS operation amplifiers”, in Proc. IEEE of EDAC, 1991.
[27] C. Xinghao and M. L. Bushnell, “Efficient Branch and Bound SearchWith Application to Computer-Aided Design”. Norwell, MA: Kluwer, 1996.
[28] P. J. M. van Laarhoven and E. H. L. Aarts, “Simulated Annealing: Theory and Applications”. Amsterdam,The Netherlands: Reidel, 1987.
[29] D. F. Wong, H. W. Leong, and C. L. Liu, “Simulated Annealing for VLSI design”. Norwell, MA: Kluwer, 1988.
[30] E. S. Ochotta, R. A. Rutenbar, and L. R. Carley, “Synthesis of high-performance analog circuits in ASTRX/OBLX,” IEEE Trans. Computer-Aided Design, vol. 15, pp. 273–293, Mar. 1996.
[31] “Analog circuit design optimization based on symbolic simulation and simulated annealing,” IEEE J. Solid-State Circuits, vol. 25, pp. 707–713, June 1990.
[32] F. Medeiro, F. V. Fernández, R. Domínguez-Castro, and A. Rodríguez-Vázquez, “A statistical optimization-based approach for automated sizing of analog cells,” in Proc. 31st Annu. Design Automation Conf., 1994, pp. 594–597.
[33] H. Z. Yang, C. Z. Fan, H. Wang, and R. S. Liu, “Simulated annealing algorithm with multi-molecule: An approach to analog synthesis,” in Proc. 1996 European Design & Test Conf., pp. 571–575, 1996.
[34] J. Chávez, M. A. Aguirre, and A. Torralba, “Analog design optimization: A case study,” in Proc. IEEE Int. Symp. Circuits Syst., vol. 3, pp. 2083–2085, 1993.
[35] C. Zanchettin, F. L. Minku, Ludermir, "Design of experiments in neuro-fuzzy systems", Fifth International Conference on Hybrid Intelligent Systems, 2005.
[36] J. Antony, N. Capon, “Teaching Experimental Design Techniques to Industrial Engineers”, Int. J. Engineering, No. 5, pp. 335-343, Aug. 1998.
[37] Horta, N.H.; "Analogue and Mixed-Signal Systems Topologies Exploration using Symbolic Methods ", Analog Integrated Circuits and Signal Processing, vol. 31, No. 2 , pp. - , February , 2002.
[38] P. Wambacq, F. Fernández, G. Gielen, W. Sansen, and A. Rodríguez-Vázquez, “Efficient symbolic computation of approximated small-signal characteristics,” IEEE J. Solid-State Circuits, vol. 30, pp. 327–330, Mar. 1995.
[39] M. M. Hershenson, S. P. Boyd and T. H. Lee, “Optimal design of a CMOS op-amp via geometric programming”, IEEE, in 2001.
[40] H. Hindi, “A tutorial on convex optimization”, American Control Conference Proceedings, pp. 3252-3265, July, 2004.
[41] S. P. Boyd, S. J. Kim, L. Vandenberghe, and A. Hassibi, “A Tutorial on Geometric Programming”, Stanford, CA: Information Systems Laboratory, Dept. Elect. Eng., Stanford Univ., Tech. Rep.,2004.
[42] W. Daems, G. Gielen, and W. Sansen, “Simulation-based Generation of Posynomial Performance Models for the sizing of Analog Integrated Circuits”, in Proc. IEEE IEEE trans. Circuits Syst., vol. 22, no 5, pp. 517–534, May 2003.
[43] F. El-Turky and E. E. Perry, “BLADES: An artificial intelligence approach to analog circuit design,” IEEE Trans. Computer-Aided Design, vol. 8, pp. 680–692, June 1989.
[44] G. Feng, “A Survey on Analysis and Design of Model-Based Fuzzy Control Systems”, Fuzzy Systems, IEEE Transactions on Volume 14, pp. 676-697, Oct., 2006.
[45] Scanlan, Anthony; "Application of Genetic Algorithms to Analogue Circuit Synthesis", on Irish Signals and Systems Conference, pp: 339-344, June, 2006.
[46] Jianhai Yu; Zhigang Mao; "Automated design method for parameters optimization of CMOS analog circuits based on adaptive genetic algorithm", on Proc. ICASIC, pp: 1217-1220, Oct., 2007.
[47] G. Alpaydin, S. Balkir and G. Dündar, “An Evolutionary Approach to Automatic Synthesis of High-Performance Analog Integrated Circuits”, IEEE Trans. Evolutionary Computation, vol. 7, no 3, pp 240-252, June 2003.
[48] Kahraman, N.; Yildirim, T.; "Technology independent circuit sizing for fundamental analog circuits using artificial neural networks", Research in Microelectronics and Electronics, pp: 1-4, April, 2008.
- 97 -
[49] Wolfe, G.; Vemuri, R.; "Extraction and use of neural network models in automated synthesis of operational amplifiers", CAD of Integrated Circuits and Systems, pp: 198-212, Feb., 2003.
[50] A.J. Torralba, J. Chavez, L.G. Franquelo, "Fuzzy-logic-based analog design tools", in Digital Object Identifier, IEEE, pp. 60-68, Aug. 1996.
[51] P. Castro, H. Camargo, “Learning and Optimization of Fuzzy Rule Base by Means of Self-Adaptive Genetic Algorithm”, IEEE Hungary, pp. 1037-1042, Jul. 2004.
[52] W. Wang, T. Yen, C. Sun, “A method of Self-Generating Fuzzy Rule Base via Genetic Algorithm”, IEEE 5th
ASIAN CONTROL CONFERENCE, pp. 1608 – 1615, 2004.
[53] T. Onisawa, Y. Fujihara, “Fuzzy Rules Acquisition Using Interactive Genetic Algorithms”, in Proc. SICE, pp. 2887 – 2892, Aug. 2002.
[54] S. Huang, R. Kothamasu, H. Xing, “Automatic Generation of Pragmatic and Intelligle Fuzzy Rules,” IEEE, pp. 1149-1154, 2003.
[55] K. Wong, T. Gedeon, C. Fung, P. Wong, “Fuzzy Rules Extraction Using Self-Organising Neural Network and Association Rules”, IEEE CATALOGUE, pp. 403-408, 2001.
[56] L. Gechao, H. Yigang, “A Fault Identification Approach For Analog Circuits Using Fuzzy Neural Network Mixed with Genetic Algorithms”, in Proc. INTERNATIONAL CONFERENCE ON ROBOTICS, INTELLIGENT SYSTEMS AND SIGNAL PROCESSING, China, October 2003, pp. 1267-1272.
[57] Scanlan, Anthony, “Application of Genetic Algorithm to Analog Circuit Synthesis”, Irish Signals and Systems Conference, IET, pp. 339-344, June 2006.
[58] Grimbleby, J.B., “Automatic synthesis of active electronic networks using genetic algorithms”, Genetic Algorithms in Engineering Systems: Innovations and Applications, GALESIA, pp. 103-107, Sept., 1997.
[59] Y. Shi, R. Eberhart, and Y. Chen, “Implementation of evolutionary fuzzy system” IEEE Trans. Fuzzy Syst., vol. 7, pp. 109-119, Apr. 1999.
[60] H. Roubos and M. Setnes, “Compact and transparent fuzzy models and classifiers through iterative complexity reduction,” IEEE Trans. Fuzzy Syst., vol. 9, pp. 516–524, Aug. 2001.
[61] T. McConaghy, G. Gielen, "Analysis of simulation-driven numerical performance modeling techniques for application to analog circuit optimization", IEEE International Symposium on Circuits and Systems, ISCAS, pp. 1298-1301, May 2005.
[62] W. Daems, G. Gielen, W. Sansen, “An efficient optimization-based technique to generate posynomial performance models for analog integrated circuits”, DAC 2002, New Orleans, LA.
[63] T. McConaghy, T. Eeckelaert, G. Gielen, “CAFFEINE: Templatefree symbolic model generation of analog circuits via canonical form functions and genetic programming”, DATE 2005.
[64] N. Ampazis, S.J. Perantonis, “OLMAM neural network toolbox for Matlab,” http://iit.demokritos.gr/~abazis/toolbox/, 2002.
[65] P. Vancorenland, G. Van der Plas, M. Steyaert, G. Gielen, W. Sansen, “A layout-aware synthesis methodology for RF circuits”, ICCAD 2001, San Jose, CA, p. 358.
[66] H. Liu, A. Singhee, R.A. Rutenbar, L.R. Carley, “Remembrance of circuits past: macromodeling by data mining in large analog design spaces,” DAC 2002, New Orleans, pp. 437 – 442.
[67] G. Wolfe, R. Vemuri, “Extraction and use of neural network models in automated synthesis of operational amplifiers”, IEEE Trans. CAD, Feb. 2003.
[68] N. Ampazis, S.J. Perantonis, "Two highly efficient second order algorithms for training feedforward Networks", IEEE Trans. Neural Networks 13(5), pp. 1064-1074, Sept. 2002.
[69] R.E. Schapire, “The boosting approach to machine learning: An overview,” MSRI Workshop on Nonlin. Estimation and Classification, 2002.
[70] J.H. Friedman, “Multivariate adaptive regression splines”, Annals of Statistics 19, pp. 1-141, March 1991.
[71] H. Drucker, C.J.C. Burges, L. Kaufman, A. Smola, and V. Vapnik, “Support vector regression machines,” Adv. in Neural Information Processing Systems 9, Cambridge, MA, pp. 155-161, 1997.
[72] Horta, N.H.; Barros , M.B.; Guilherme, J.G.; "An Evolutionary Optimization Kernel Using a Dynamic GA-SVM Model Applied to Analog IC Design", Conf. on Circuit Theory and Design, Spain, , August, 2007.
[73] J.A.K. Suykens, J.Vandewalle. Least Squares Support Vector Machines. World Scientific Pub. Co., Singapore, 2002.
- 98 -
[74] D.R. Jones, M. Schonlau, W.J. Welch, “Efficient global optimization of expensive black-box functions,” J. Glob. Opt. 13(4), pp. 455-492, 1998.
[75] Toumazou, C.; Barry, G.; "Intuitive analogue circuit design", in Electronics & Communication Engineering Journal, Volume 9, pp. 231 - 239, Oct., 1997.
[76] Wen-June Wang; Tzu-Gaun Yen; Chung-Hsun Sun; "A method of self-generating fuzzy rule base via genetic algorithm", 5th Asian Control Conference, Vol.3, pp: 1608-1615, July, 2004.
[77] Cintra, M.E.; de A. Camargo, H.; Hruschka, E.R.; do Carmo Nicoletti, M.; "Fuzzy Rule Base Generation through Genetic Algorithms and Bayesian Classifiers A Comparative Approach", 7th International Conference on Intelligent Systems Design and Applications, pp: 315-322, Oct., 2007.
[78] Onisawa, T.; Fujihara, Y.; "Fuzzy rules acquisition using interactive genetic algorithms", Proceedings of the 41st SICE Annual Conference, Vol. 5, pp: 2887-2892, Aug., 2002.
[79] Shiqian Wu; Meng Joo Er; Yang Gao; "A fast approach for automatic generation of fuzzy rules by generalized dynamic fuzzy neural networks", IEEE Transactions on Fuzzy Systems, Vol.9, pp: 578-594, Aug., 2001.
[80] Kok Wai Wong; Gedeon, T.D.; Chun Che Fung; Wong, P.M.; "Fuzzy rules extraction using self-organising neural network and association rules", International Conference on Electrical and Electronic Technology, Vol.1, pp: 403-408, Aug., 2001.
[81] Fernández, F.; Liu, B.; Castro-Lopez, R.; Roca, E.; “Quality Metrics of Pareto-Optimal Fronts for Multi-Objective Synthesis of Analog ICs”, Proc International Workshop on Symbolic and Numerical Methods, Modeling and Applications to Circuit Design - SM2ACD , Erfurt, Germany, October, 2008.
[82] D. C. Montgomery, Design and Analysis of Experiments, 5th ed. John Wiley and Sons, New York, 2001.
[83] Komiya, K.; Thuneishi, K.; Kurosu, K.; Kagekawa, K., "A method to reduce fuzzy control rule sets", Conference on Systems, Man, and Cybernetics, Vol. 5, pp. 275-277 Oct. 1999.
[84] Spectre®MDL User Guide and Reference, Product Version 5.1.41, June 2004.
- 99 -
Anexo A – Manual de Utilização do Modelo DOE
A.1 Introdução
O Modelo DOE é uma ferramenta bastante útil pelo facto de ser capaz de extrair um conjunto de
Regras Difusas de forma rápida e eficiente, baseando-se nas contribuições qualitativas entre as
variáveis de entrada e de saída. No entanto, para exemplos mais complexos, o utilizador poderá
proceder à manipulação de certos parâmetros de controlo para um melhor funcionamento do mesmo.
Este manual tem como objectivo ilustrar os ficheiros para o qual o utilizador poderá editar, contendo
os parâmetros de controlo mencionados, mostrando essas alterações com exemplos de simulação.
A.2 Parâmetros de Controlo
Todos os parâmetros referidos encontram-se definidos no ficheiro ParametersMODEL.h. Este
será um dos poucos ficheiros segundo o qual o utilizador poderá modificar. A figura A.1-(a) mostra a
configuração e descrição, bem como um comentário breve a cada parâmetro, ao qual o utilizador terá
acesso. No entanto, para um utilizador menos experiente será disponibilizada uma interface gráfica
figura A.1-(b), para o qual será possível a manipulação destes parâmetros de controlo, assim como a
definição das variáveis de entrada e os seus respectivos domínios. Estas últimas definições serão
escritas e apresentadas no ficheiro Zsaida.txt. Relembra-se que, o utilizador deverá respeitar as
diferenças entre os parâmetros disponibilizados cujo argumento de entrada seja inteiro ou real!
(a) - Ficheiro ParametersMODEL.h (b) - Interface Gráfica
Figura A.1 – Conjunto de parâmetros de controlo para o Modelo DOE
De seguida, será apresentada uma descrição mais detalhada sobre cada um dos parâmetros de
controlo:
• subset (inteiro) – Define o número de subconjuntos a usar na construção das Regras Difusas,
durante a modelação. Os únicos valores possíveis serão 3 e 5. Recomenda-se a utilização de 3
níveis de subconjuntos. No entanto, as RD poderão ser alteradas, facilmente, caso o utilizador
pretenda alterar o número de subset. No anexo B, é apresentado como é possível proceder à
reconstrução das RD.
Anexo A – Manual de Utilização do Modelo DOE
- 100 -
• FACTOR (real) – Esta variável é usada para limitar o número de contribuições das variáveis
de entrada perante uma saída e, consequentemente, reduzir o número de RD. Aumentando esta
variável para um valor entre 0.0 e 1.0, o utilizador está a variar a abertura do cone de limitação (o
declive de cada contribuição) presente nas contribuições finais. Mantendo o seu valor por defeito, isto
é FACTOR=0.0, todas as variações e perturbações que cada variável de entrada provoca na saída,
entrarão com uma contribuição para a construção das RD.
• metodo_matriz (inteiro) – Esta variável tem a função de escolher qual o processo que irá ser
efectuado. Se esta variável tomar o valor lógico 0, o modelo usará a matriz convencional proveniente
da análise do DOE. Caso esta variável tome o valor lógico 1, executará uma matriz própria e baseará
todo o seu processo de forma mais simplificada, usando o Modelo Pseudo-DOE.
• alterar_dominio (inteiro) – Caso esta variável esteja com o valor lógico 1, o Modelo irá
efectuar possíveis alterações ao domínio das variáveis de entrada , definidas pelo utilizador, com o
intuito de todas as variáveis terem o mesmo espaçamento de intervalo. Caso contrário, se esta
variável tiver o valor lógico 0, o domínio definido pelo utilizador permanece inalterado e todo o
processo de evolução do modelo basear-se-á nesse domínio. Recomenda-se a utilização desta
última opção.
• processo (inteiro) – Esta variável tem o objectivo de indicar que tipo de simulação o utilizador
pretende efectuar: simulação com base em equações eléctricas (valor lógico 0) ou simulação com
base em simulação eléctrica (valor lógico 1).
• B (inteiro) – Este parâmetro de controlo é importante para a construção da matriz DOE ou da
matriz Pseudo-DOE, referida anteriormente. Estabelece o número de níveis a considerar entre o limite
mínimo e máximo de cada domínio de variáveis de entrada. Desta forma, só serão aceites valores
maiores ou iguais a 2. Se este parâmetro for, por exemplo 3, a construção da matriz basear-se-á
apenas nos valores mínimos, médios e máximos de cada domínio de entrada. Por outro lado, quanto
maior for esta variável, maior será o número de amostra requeridas para a construção da matriz DOE
ou Pseudo-DOE.
• P (inteiro) – Este parâmetro de controlo só será utilizado caso se escolha efectuar o processo
com base na matriz DOE, isto é, com o valor lógico 0 no parâmetro de controlo referido pelo
metodo_matriz. Caso se esteja a trabalhar com o Modelo Pseudo-DOE qualquer valor colocado neste
campo será desprezado. Este parâmetro tem a finalidade de indicar ao Modelo o número de variáveis
não elementares a usar para a construção da matriz DOE. Desta forma, só serão validados valores
de P se cumprirem a seguinte condição: nº_variáveis_entrada – P > P, caso contrário o Modelo
enviará uma mensagem de erro e terminará sem fazer qualquer simulação. Recomenda-se a
utilização deste parâmetro com o valor de 0, para números de variáveis de entrada pequenos.
Sempre que o número de variáveis de entrada comece a ganhar peso (maior que 6, por exemplo)
recomenda-se o aumento deste parâmetro, caso se esteja a trabalhar com o Modelo DOE. O Modelo
está preparado para escolher, automaticamente, como variáveis não elementares as últimas P
variáveis a serem colocadas no ficheiro Zsaida.txt, fazendo também de forma automática a selecção
da combinação das variáveis elementares para completar a construção da Matriz DOE.
Anexo A – Manual de Utilização do Modelo DOE
- 101 -
A.3 Conteúdo de ficheiro dentro da pasta do MODEL_DOE
Todos os ficheiros necessários para a execução do Modelo Doe estão ilustrados na figura A.2.
Figure A.2 – Todos os ficheiros necessários para processar as simulações do Modelo DOE.
Desta forma, será apresentada de forma sucinta a descrição de cada ficheiro presente nesta
pasta:
• 7.1.py – Executável com interface gráfica.
• Contribuition.txt – Ficheiro de saída com os valores das contribuições usadas para a
implementação do Modelo realizado, de cada variável de entrada.
• DOE.c – Ficheiro principal desta pasta, onde estão definidos todos os processos
pertencentes à execução dos modelos, DOE e Pseudo-DOE.
• DOE.h – Definição e declaração de importantes variáveis, estruturas e funções auxiliares
usadas no ficheiro DOE.c.
• main.c – Invoca apenas o Modelo DOE ou Pseudo-DOE presente no ficheiro DOE.c.
• Makefile – Ficheiro compilador para todos os ficheiros presentes na pasta.
• ModelSimulator.py – Executável que permite utilizar qualquer um dos Modelos com recurso à
simulação eléctrica, através do simulador da Cadence.
• ParametersMODEL.h – Este ficheiro contém todos os parâmetros de controlo que o utilizador
poderá manipular para configurar o Modelo, melhorando o desempenho do mesmo.
• Zsaida.txt – Este é um dos ficheiros mais importantes. É responsável pela introdução do
número, domínio e nome das variáveis de entrada e de saída e necessário para a execução do
Modelo. Será neste ficheiro que serão apresentadas o tipo de contribuições finais resultantes do
Modelo usado e responsável para a criação das RD.
• Pasta SpectreSetting – Contém todos os ficheiros necessários para a execução do Modelo
com base em simulação eléctrica, tal como a netlist do circuito.
Anexo A – Manual de Utilização do Modelo DOE
- 102 -
A.4 Execução da ferramenta DOE
Para iniciar a execução da ferramenta DOE com recurso à simulação eléctrica, o utilizador
deverá executar os seguintes comandos dentro da consola:
1. [fuzzy@localhost ~]$ cd /MODEL_DOE/
2. [fuzzy@localhost MODEL_DOE]$ source ~cadmgr/config/cshrc.cadence
3. [fuzzy@localhost MODEL_DOE]$ icfb &
4. [fuzzy@localhost MODEL_DOE]$ make clean && make
5. [fuzzy@localhost MODEL_DOE]$ ./ModelSimulator.py
Para iniciar a execução da ferramenta DOE com base nas equações eléctricas, o utilizador
deverá executar os seguintes comandos dentro da consola:
1. [fuzzy@localhost ~]$ cd MODEL_DOE/
2. [fuzzy@localhost MODEL_DOE]$ make clean && make
3. [fuzzy@localhost MODEL_DOE]$ ./MODEL_DOE
Para executar este modelo com a interface GUI disponível, o utilizador deverá executar os
seguintes comandos:
1. [fuzzy@localhost ~]$ cd MODEL_DOE/
2. [fuzzy@localhost MODEL_DOE]$ ./7.1.py
A.5 Exemplo de execução com recurso à simulação eléctrica
O exemplo que será mostrado é baseado no caso de estudo já conhecido do filtro activo Passa-
Baixo. A figura A.3 ilustra o esquemático do circuito efectuado no Cadence.
Figura A.3 – Esquemático do filtro activo Passa-Baixo.
Após a configuração do esquemático e a definição da netlist a introduzir na pasta SpectreSetting,
o utilizador deverá proceder à criação e definição do ficheiro Zsaida.txt de forma correcta, tal como
apresentado na figura A.4. Neste exemplo usar-se-á apenas 1 variável de saída, o Ganho DC. Após a
correcta definição do ficheiro Zsaida.txt e dos parâmetros de controlo, no ficheiro
ParametersMODEL.h, o modelo está pronto para ser executado.
Anexo A – Manual de Utilização do Modelo DOE
- 103 -
Figura A.4 – Configuração do ficheiro Zsaida.txt para o exemplo do filtro activo Passa-Baixo.
Para este caso, os parâmetros de controlo escolhidos para a execução desta experiência estão
citados na tabela A.1-(a). Na tabela A.1-(b) está demonstrada a configuração da Matriz DOE
resultante, usando o Modelo Pseudo-DOE.
Tabela A.1 – Conjunto de parâmetros de controlo para o exemplo 1 e respectiva matriz DOE resultante.
(a) - Parâmetros (b) – Matriz DOE resultante do Modelo Pseudo-DOE
Parâmetros Subsets 3
FACTOR 0.0
Metodo_matriz 1
Alterar_dominio 0
Processo 1
B 2
P 0
res0 res1 CAP 0 0 0
1 0 0
0 1 0
0 0 1
res0 res1 CAP 70 2 1e-13
440 2 1e-13
70 16 1e-13
70 2 1e-11
Os resultados, após execução do passo 5 do modelo DOE com simulação eléctrica, estão
apresentados na figura A.5.
Figura A.5 – Resultados de Simulação após a execução do Modelo.
Informação útil
disponibilizada
pelo simulador.
Resultados das
variáveis de saída.
Anexo A – Manual de Utilização do Modelo DOE
- 104 -
Caso o utilizador volte a abrir o ficheiro Zsaida,txt, depois da simulação realizada, encontrará a
informação adicional resultante das contribuições para as variáveis de saídas, onde neste caso só
temos 1 variável de saída. Deste modo, ter-se-á uma análise qualitativa de fácil compreensão de
como as entradas estão as influenciar a saída. Deste modo, o utilizador passará a ter um
conhecimento mais profundo de quais as variáveis que, realmente, influenciam a saída, observando
que a variável CAP não influencia o ganho, como seria de esperar. Esta informação é suficiente e
necessária para a construção das RD tal como apresentada na figura A.6.
Figura A.6 – Ficheiro Zsaida.txt com informação adicional das contribuições das variáveis e as respectivas RD.
A.6 Exemplo de execução com recurso à(s) equação(ões) eléctrica(s)
O objectivo deste exemplo é ilustrar e ajudar na interpretação dos resultados de saída caso o
utilizador escolha a execução do Modelo com base nas equações eléctricas. Deste modo, o utilizador
deverá definir essas mesmas equações, no final do ficheiro DOE.c, na função local nomeada por
expressao2. A figura A.7 apresenta a definição e a declaração correcta das variáveis de entrada, da
mesma ordem que foram definidas no ficheiro Zsaida.txt, assim como as equações eléctricas que
descrevem o funcionamento do caso do Filtro Activo Passa-Baixo, utilizando na mesma, apenas uma
variável de saída.
Figura A.7 – Configuração da equação eléctrica para o exemplo do Filtro active Passa-Baixo.
Após a verificação da ordem correcta das declarações usadas para as definições das variáveis
de entrada e de saída, o Modelo poderá ser executado através do passo 3, tal como descrito na
secção A.4. A definição dos Parâmetros de Controlo usados estão definidos na tabela A.2.
Resultado devolvido após a execução do
Modelo pelo Simulador.
Resultado das Regras Difusas
Anexo A – Manual de Utilização do Modelo DOE
- 105 -
Tabela A.2 – Parâmetros de Controlo usados para o Modelo Pseudo-DOE com base no exemplo proposto. Parâmetros
Subsets 3
FACTOR 0.0
Metodo_matriz 1
Alterar_dominio 0
Processo 0
B 5
P 0
Os resultados de saída mostrados na linha de comandos são apresentados na figura A.8.
Figura A.8 – Resultado devolvido pelo Modelo após a sua execução com recurso às equações eléctricas.
A conclusão que as contribuições das entradas estabelecem para a saída é concordante com o
exemplo descrito anteriormente, como seria de esperar. Contudo, o tempo de execução do Modelo
pode ser, inteiramente desprezável, podendo mesmo dizer-se que é instantâneo.
Matriz Resultante
Valores Resultantes
das variáveis de saída.
Declive do peso das
contribuições para cada
variável de entrada,
perante a respectiva saída.
Processo final da
escolha dos declives
máximos que cada
variável de entrada
apresenta para uma
determinada saída.
Nomes sugestivos para a designação dos 3
níveis de subconjuntos usados para as RD.
Resultado final das contribuições qualitativas das
entradas para a construção das Regras Difusas.
Anexo A – Manual de Utilização do Modelo DOE
- 106 -
- 107 -
Anexo B – Manual de Utilização do Optimizador FUGA
B.1 Introdução
Este anexo descreve o funcionamento geral da arquitectura do kernel de Optimização FUGA,
onde as interfaces, módulos internos e a interacção entre cada bloco, serão apresentadas através de
exemplos, com o intuito de tornar o utilizador mais familiarizado com o funcionamento de cada um
dos módulos existentes.
B.2 Visão Geral da arquitectura do Optimizador FUGA
A figura B.1 mostra a interacção dos vários blocos (ou pastas) e interfaces presentes na
arquitectura proposta.
Figura B.1 – Arquitectura e interacções do Kernel de Optimização Proposto.
O kernel de optimização implementado está estruturado de forma a ser possível o
desenvolvimento e a integração de cada bloco ou interface de modo independente, sem ser preciso
modificar a estrutura do fluxo interno do trabalho. O processo de simulação eléctrica do Optimizador
FUGA é um dos blocos externos que foi adicionado e integrado. Este processo permite a optimização
com recurso ao Cadence, contendo já um AG embebido no bloco, usando, desta forma, os ficheiros
devolvidos da modelação do Modelo DOE e os valores que o Modelo Difuso devolve para a mutação
do cromossoma. Contudo, este bloco está a ser desenvolvido por um investigador do grupo GCSI, no
âmbito de uma tese de Mestrado da presente área de Optimização de Circuitos Analógicos [4]. Deste
modo, este bloco representará uma caixa negra, o qual não se enquadra no âmbito desta tese
explicar o funcionamento detalhado desse mesmo bloco. Relembra-se também que, o manual de
utilização do bloco correspondente ao Modelo DOE já foi referido no Anexo A.
B.3 Conteúdo de ficheiro dentro das pastas do Optimizador
A pasta referente ao bloco do Modelo Difuso, que contém os ficheiros necessários para a
utilização deste Modelo, está ilustrada na figura B.2.
Anexo B – Manual de Utilização do Optimizador FUGA
- 108 -
Figura B.2 – Todos os ficheiros contidos na pasta MODEL_FUZZY.
De seguida, apresenta-se uma descrição breve de cada ficheiro presente na pasta referida:
• ajuda_fuzzy_funcoes.h – Contém todos os parâmetros de controlo possíveis de manipular para
modificar o funcionamento do Modelo.
• entradas_saidas.h – Ficheiro que indicará o número de entradas e de saídas a usar pelo Modelo.
• estruturas_variavel_saida.h – Contém declarações de funções e de estruturas auxiliares ao
Modelo.
• FuzzyModel.c – Este ficheiro é responsável pela inicialização de todas as variáveis e estruturas
necessárias ao Modelo antes de se começar a correr o Algoritmo Genético.
• FuzzyModel.h – Contém declarações de funções e de estruturas úteis ao ficheiro FuzzyModel.c.
• fuzzy_rules.c – Esta função é responsável por receber o cromossoma e o gene da população e
devolver o novo valor a colocar no gene, sempre que se pretender efectuar uma mutação.
• fuzzy_rules.h – Contém declarações de funções e de estruturas úteis ao ficheiro fuzzy_rules.c.
• Makefile – Ficheiro compilador para todos os ficheiros presentes na pasta.
A pasta correspondente ao bloco do FUGA, com recurso às equações, contém os ficheiros
necessários para se executar este modelo está ilustrada na figura B.3.
Figura B.3 – Todos os ficheiros contidos na pasta FUGA.
De seguida, apresenta-se uma descrição breve de cada ficheiro presente na pasta referida:
• avalia_criterio_pareto.c – Este ficheiro é responsável pela construção da curvatura do Pareto-
Optimo, após a optimização e a obtenção dos cromossomas de uma população, seleccionando
os melhores e os mais favoráveis para uma melhor definição do Pareto.
Anexo B – Manual de Utilização do Optimizador FUGA
- 109 -
• custo_pareto.c – Responsável pela função de custo, do Modelo Pareto-Optimo, para a
evolução da população dentro do Algoritmo Genético.
• estrutura_populacao_regra.h – Contém declarações de funções e de estruturas auxiliares ao
Modelo Pareto-Optimo.
• expressao.c – Declaração das equações eléctricas a usar durante a optimização ou durante a
obtenção do Pareto-Optimo.
• funcao_escreve_regras.c – Função responsável pela escrita e actualização dos ficheiros que
contêm as RD caso o utilizador pretenda variar o número de subconjuntos.
• GA.c – Contém todos os passos e processos base do Algoritmo Genético, comum para o
Modelo Pareto-Optimo, o AGS, o FUGA e respectivas inicializações do Optimizador.
• Grafico de Barras.txt – Guarda os resultados finais do Optimizador para cada run efectuado.
• main.c – Ficheiro principal que tem a finalidade de mostrar o menu inicial e invocar o processo
que o utilizador pretender fazer.
• Makefile – Ficheiro compilador para todos os ficheiros presentes na pasta.
• ordena_com_restricao.c – Este ficheiro é usado para ajudar a ordenação da população,
sempre que durante uma optimização se pretenda usar restrições para as variáveis de saída.
• restricoes.h – Ficheiro ao qual o utilizador deverá introduzir informação caso pretenda usar as
restrições, nomadamente, o número de restrições, entre outras.
B.4 Parâmetros de Controlo
O Modelo Difuso contém um conjunto de parâmetros segundo o qual o utilizador deverá ser
capaz de manipulá-los. Todos esses parâmetros encontram-se definidos no ficheiro
ajuda_fuzzy_funcoes.h. Além destes parâmetros, o utilizador deverá sempre verificar se está a definir
o número correcto de entradas e de saídas através do ficheiro entradas_saidas.h, tendo este que ser
sempre concordante com o ficheiro Zsaida.txt. Estes dois ficheiros são os únicos que o utilizador
poderá manipular, caso não pretenda usar restrições. Ambos os ficheiros estão ilustrados na figura
B.4. Para cada um dos parâmetros apresentados o utilizador deverá introduzir apenas valores
inteiros.
(a) - ajuda_fuzzy_funcoes.h
(b) - entradas_saidas.h
Figura B.4 – Conjunto de Parâmetros de Controlo a usar no Modelo Difuso.
Anexo B – Manual de Utilização do Optimizador FUGA
- 110 -
De seguida, será apresentada uma descrição mais detalhada sobre cada um dos parâmetros de
controlo apresentados na figura anterior:
• reducao (inteiro) – Sempre que esta variável está activa, valor lógico 1, o Optimizador FUGA
usará o Método de redução e simplificação das RD, descrita na secção 4.5. Deste modo, o
Optimizador não precisará de ler os ficheiros das RD, passando apenas a ser necessário a leitura das
contribuições presentes no ficheiro Zsaida.txt. Caso o utilizador não pretenda qualquer redução do
número de RD durante a optimização, deverá colocar esta variável com o valor lógico 0.
• shape (inteiro) – Esta variável irá seleccionar o tipo de forma a ser usada pela função de
membro do Modelo Difuso. Sempre que este parâmetros esteja a 1, activará a forma Triangular, caso
este parâmetros seja 2, o Optimizador usará a forma Gaussiana.
• subset (inteiro) – O número de subconjuntos a serem usados pelo Modelo Difuso é definido
neste parâmetro. Os valores possíveis a usar são 3 e 5 subconjuntos. Note-se que, o utilizador
deverá verificar se o número de subconjuntos a usar pelo Optimizador corresponde ao número de
subconjuntos usados para a construção das RD. Caso seja negativo terá que reescrever as RD (ver
secção B.6).
• inferencia (inteiro) – Este parâmetro permite seleccionar que tipo de estratégia de inferência
que o Modelo Difuso usará. Caso contenha o valor 1, o Modelo usará a inferência Máximo-Mínimo.
Caso contrário, parâmetro com o valor 2, o Modelo usará a inferência Máximo-Produto.
• variaveis_entrada ou variaveis_saida (inteiro) – Ambos os parâmetros deverão ser definidos,
correctamente, com o número de variáveis de entrada e de saída a usar.
No entanto, nem todas as configurações destes parâmetros são possíveis de combinar. A tabela
B.1 indica quais as possíveis considerações de definição, da esquerda para a direita, de cada um dos
parâmetros já referidos.
Tabela B.1 – Possíveis combinações de Parâmetros de Controlo a usar no Modelo Difuso. redução subset shape inferência
Não 3 Triangular ou Gaussiana MAX-MIN ou MAX-PROD 5 Gaussiana MAX-PROD
Sim 3 Triangular MAX-MIN ou MAX-PROD
B.5 Comandos de execução para o Optimizador
Para iniciar a execução do Optimizador FUGA, o utilizador deverá executar os seguintes
comandos dentro da linha de comandos:
1. [fuzzy@localhost ~]$ cd MODEL_FUZZY/
2. [fuzzy@localhost MODEL_FUZZY]$ make clean && make
3. [fuzzy@localhost ~]$ cd …/FUGA/
4. [fuzzy@localhost FUGA]$ make clean && make
5. [fuzzy@localhost FUGA]$ ./Projecto
Anexo B – Manual de Utilização do Optimizador FUGA
- 111 -
B.6 Exemplos de execução com o Optimizador
O objectivo deste exemplo é ilustrar e interpretar os resultados que o optimizador vai mostrando
à medida que o utilizador escolhe as opções que pretende efectuar. Usar-se-á, uma vez mais, o
exemplo do Filtro Activo Passa-baixo, com 3 entradas e 2 saídas (Ganhodc e Frequência). Antes de
executar o Optimizador, o utilizador terá que garantir que na Pasta MODEL_DOE já se encontra
configurado o ficheiro Zsaida.txt para o exemplo proposto, nomeadamente o número de entradas e de
saídas, designação dos nomes de cada uma delas e os respectivos domínios. Deste modo permitirá
correr o AGS. Caso o utilizador pretenda correr o Optimizador FUGA com recurso ao Modelo Difuso,
terá que garantir que já executou o Modelo DOE, Pseudo-DOE ou Pareto-Optimo, que já contém as
contribuições das variáveis de entrada no ficheiro Zsaída.txt e os respectivos ficheiros das RD. Caso
esteja tudo correcto, o utilizador deverá começar a definir as expressões eléctricas no ficheiro
expressao.c. A figura B.5 apresenta o ficheiro Zsaida.txt e o ficheiro expressao.c correctamente
modelado e configurado, respectivamente, para este exemplo.
(a) – Zsaida.txt (b) – expressao.c
Figura B.5 – Configuração dos ficheiros necessários para a execução do exemplo do Filtro activo Passa-Baixo.
Após a verificação do ficheiro Zsaida.txt e das equações eléctricas estarem bem definidas, o
optimizador poderá ser executado. Deste modo, um menu será apresentado no ecrã com as
seguintes opções, tal como apresentado na figura B.6.
Figura B.6 – Visualização do Menu Inicial ao ser executado o Optimizador.
Caso o utilizador tenha apagado o ficheiro das RD ou caso pretenda alterar o número de
subconjuntos, através do parâmetro subset, deverá escolher a opção 4. A figura B.7 mostra a
execução do Optimizador após a escolha desta opção, onde as contribuições com o valor lógico 1 e 0
representam contribuições positivas e negativas, respectivamente, derivadas do ficheiro Zsaida.txt.
Anexo B – Manual de Utilização do Optimizador FUGA
- 112 -
Figura B.7 – Processo para a Reconstrução das Regras Difusas com outro número de subconjunto.
Caso o utilizador pretenda modelar o circuito com recurso ao Modelo Pareto-Optimo, para a
extracção das RD, deverá escolher a opção 1. Desta forma, o optimizador só precisará do ficheiro
Zsaida.txt configurado da mesma forma tal como apresentado na figura B.5-(a), desde a linha 1 até à
linha 11 do ficheiro referido. Os resultados provenientes da execução deste processo estão
apresentados na figura B.8.
Figura B.8 – Execução do Modelo Pareto-Optimo para o exemplo do Filtro activo Passa-Baixo.
Por fim, caso o utilizador pretenda executar o Optimizador FUGA deverá seleccionar a opção 3,
do menu. Após essa selecção, o Optimizador irá requerer um conjunto de parâmetros ao qual o
utilizador deverá introduzir directamente na linha de comando, nomeadamente o valor pretendido
Anexo B – Manual de Utilização do Optimizador FUGA
- 113 -
para as saídas e a respectiva gama de intervalo, o número de runs a efectuar, o limite máximo de
Gerações e o tipo de Algoritmo a usar. A figura B.9 mostra a execução do Optimizador FUGA.
(a) – Introdução dos parâmetros (b) – Resultado final do FUGA
Figura B.9 – Execução do Optimizador FUGA para o exemplo do Filtro e os respectivos parâmetros de entrada e
de saída.