130
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

FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

Embed Size (px)

Citation preview

Page 1: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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

Page 2: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro
Page 3: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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

Page 4: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

ii

Page 5: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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

Page 6: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

iv

Page 7: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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.

Page 8: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

vi

Page 9: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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 -

Page 10: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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 -

Page 11: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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 -

Page 12: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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 -

Page 13: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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 -

Page 14: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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 -

Page 15: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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

Page 16: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

xiv

Page 17: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

- 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.

Page 18: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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].

Page 19: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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.

Page 20: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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]:

Page 21: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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.

Page 22: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

Capítulo 1 - Introdução

- 6 -

Page 23: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

- 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.

Page 24: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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

Page 25: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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].

Page 26: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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.

Page 27: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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

Page 28: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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.

Page 29: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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,

Page 30: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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

Page 31: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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

Page 32: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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.

Page 33: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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.

Page 34: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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

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.

Page 35: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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].

Page 36: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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.

Page 37: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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.

Page 38: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

Capítulo 2 – Estado-da-Arte

- 22 -

Page 39: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

- 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

Page 40: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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

Page 41: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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.

Page 42: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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.

Page 43: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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...).

Page 44: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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.

Page 45: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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))

Page 46: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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.

Page 47: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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.

Page 48: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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.

Page 49: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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

]

Page 50: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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.

Page 51: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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

Page 52: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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

X

X

Page 53: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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.

Page 54: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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.

Page 55: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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.

Page 56: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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.

Page 57: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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.

Page 58: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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.

Page 59: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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

Page 60: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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.

Page 61: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

- 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.

Page 62: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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

Page 63: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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.

Page 64: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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

Page 65: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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]

Page 66: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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

Page 67: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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

Page 68: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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.

Page 69: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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

Page 70: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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

Page 71: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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

Page 72: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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

Page 73: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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.

Page 74: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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

Page 75: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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.

Page 76: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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 é

Page 77: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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.

Page 78: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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

Page 79: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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.

Page 80: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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

Page 81: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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.

Page 82: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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.

Page 83: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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

Page 84: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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

Page 85: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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.

Page 86: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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)

Page 87: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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.

Page 88: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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:

Page 89: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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.

Page 90: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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

Page 91: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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.

Page 92: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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.

Page 93: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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.

Page 94: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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.

Page 95: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

- 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

Page 96: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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.

Page 97: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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

Page 98: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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

Page 99: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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.

Page 100: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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.

Page 101: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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.

Page 102: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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.

Page 103: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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.

Page 104: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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

Page 105: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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.

Page 106: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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.

Page 107: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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

Page 108: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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.

Page 109: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

- 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.

Page 110: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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.

Page 111: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

- 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.

Page 112: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

- 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.

Page 113: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

- 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.

Page 114: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

- 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.

Page 115: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

- 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.

Page 116: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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.

Page 117: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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.

Page 118: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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.

Page 119: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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.

Page 120: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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

Page 121: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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.

Page 122: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

Anexo A – Manual de Utilização do Modelo DOE

- 106 -

Page 123: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

- 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.

Page 124: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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.

Page 125: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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.

Page 126: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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

Page 127: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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.

Page 128: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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

Page 129: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro

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.

Page 130: FUGA – Modelação Inteligente de Circuitos e Sistemas ... 2009 FUGA – Modelação Inteligente de Circuitos e Sistemas Integrados Analógicos com Recurso a Sistemas Difusos Pedro