• Nenhum resultado encontrado

UNIVERSIDADE DO ESTADO DE SANTA CATARINA – UDESC CENTRO DE CIÊNCIAS TECNOLÓGICAS – CCT DEPARTAMENTO DE ENGENHARIA ELÉTRICA – DEE PROGRAMA DE PÓS-GRADUAÇÃO EM AUTOMAÇÃO INDUSTRIAL

N/A
N/A
Protected

Academic year: 2019

Share "UNIVERSIDADE DO ESTADO DE SANTA CATARINA – UDESC CENTRO DE CIÊNCIAS TECNOLÓGICAS – CCT DEPARTAMENTO DE ENGENHARIA ELÉTRICA – DEE PROGRAMA DE PÓS-GRADUAÇÃO EM AUTOMAÇÃO INDUSTRIAL"

Copied!
200
0
0

Texto

(1)

CENTRO DE CIÊNCIAS TECNOLÓGICAS – CCT

DEPARTAMENTO DE ENGENHARIA ELÉTRICA – DEE

PROGRAMA DE PÓS-GRADUAÇÃO EM AUTOMAÇÃO INDUSTRIAL

Formação: Mestrado em Automação Industrial

DISSERTAÇÃO DE MESTRADO OBTIDA POR Angelo Luís Pagliosa

OBTENÇÃO DAS FUNÇÕES DE PERTINÊNCIA DE UM

SISTEMA NEUROFUZZY MODIFICADO

PELA REDE DE KOHONEN

Apresentada em 18/12/2003 Perante a Banca Examinadora: Dr. Claudio Cesar de Sá – Presidente (UDESC) Dr. Alcindo Prado Júnior (UDESC)

Dr. Ilaim Costa Júnior (UDESC)

(2)

UNIVERSIDADE DO ESTADO DE SANTA CATARINA – UDESC

CENTRO DE CIÊNCIAS TECNOLÓGICAS – CCT

DEPARTAMENTO DE ENGENHARIA ELÉTRICA – DEE

PROGRAMA DE PÓS-GRADUAÇÃO EM AUTOMAÇÃO INDUSTRIAL

DISSERTAÇÃO DE MESTRADO

Mestrando: ANGELO LUÍS PAGLIOSA – Engenheiro Eletricista Orientador: Prof. Dr. CLAUDIO CESAR DE SÁ

CCT/UDESC - JOINVILLE

OBTENÇÃO DAS FUNÇÕES DE PERTINÊNCIA DE UM

SISTEMA NEUROFUZZY MODIFICADO

PELA REDE DE KOHONEN

DISSERTAÇÃO APRESENTADA PARA OBTENÇÃO DO TÍTULO DE MESTRE EM AUTOMAÇÃO INDUSTRIAL DA UNIVERSIDADE DO ESTADO DE SANTA CATARINA, CENTRO DE CIÊNCIAS TECNOLÓGICAS – CCT, ORIENTADA PELO PROF. DR. CLAUDIO CESAR DE SÁ

(3)

Dedico este trabalho a todos que me apoiaram nesta jornada.

ADeus,

AEucleudes e Pedro, meus pais,

(4)

iv

AGRADECIMENTOS

A Deus pela oportunidade de aprendizado e crescimento, e pela ajuda nos momentos difíceis.

Aos meus pais, Pedro e Eucleudes, pelo apoio e incentivo.

À minha esposa, Marilene, pelo companheirismo e compreensão.

Ao professor Claudio Cesar de Sá, pela orientação no decorrer deste trabalho.

À coordenação do Departamento de Pós-graduação do CCT/UDESC, pelo empenho na melhoria do curso e a secretária Tânia pela amizade e apoio.

A WEG Automação pelo incentivo e compreensão nos momentos que tive que me ausentar da empresa, para a concretização deste estudo, em especial ao meu gerente Eng. Paulo Roberto Kruger.

Queria estender meus agradecimentos aos que colaboraram me emprestando ora uma idéia, ora um livro ou um artigo, estímulo e confiança - às vezes tudo isso junto.

(5)

“O que sabemos é uma gota, o que ignoramos é um oceano”.

(6)

-vi

SUMÁRIO

Lista de Figuras... ix

Lista de Tabelas ... xiii

Lista de Siglas e Abreviaturas... xv

Resumo... xvii

Abstract... xviii

1. INTRODUÇÃO... 1

1.1 Contextualização... 2

1.2 Problema Abordado... 4

1.2.1 Objetivo Geral... 4

1.2.2 Objetivos Específicos... 4

1.2.3 Justificativas... 5

1.3 Contribuições... 5

1.4 Organização da Dissertação... 6

2. LÓGICA FUZZY... 8

2.1 Introdução... 8

2.2 Resumo Histórico... 11

2.3 Noções da Lógica Fuzzy... 13

2.3.1 Variáveis Lingüísticas... 15

2.3.2 Teoria dos Conjuntos Fuzzy... 16

2.3.3 Modelagem Fuzzy de Sistemas... 20

2.3.4 Estrutura de um Controlador Fuzzy... 24

2.4 Conclusão... 31

3. REDES NEURAIS ARTIFICIAIS... 32

3.1 Introdução... 32

3.2 As Redes Neurais... 33

(7)

3.2.2 Fundamentos Biológicos... 36

3.2.3 Características de uma Rede Neural... 38

3.3 Princípios da Neurocomputação... 40

3.4 Estruturas e Dinâmicas das Redes Neurais Artificiais... 42

3.4.1 Sinais de Entrada e Saída... 44

3.4.2 Pesos... 45

3.4.3 Função de Ativação e Transferência... 46

3.4.4 Camadas Escondidas... 48

3.4.5 Arquiteturas das Redes Neurais Artificiais... 48

3.5 Aprendizado das Redes Neurais Artificiais... 51

3.5.1 Aprendizado Supervisionado... 52

3.5.2 Aprendizado Não-Supervisionado... 57

3.5.3 Aprendizado por Competição... 58

3.5.4 Aprendizado por Reforço... 59

3.6 Processo de Treinamento... 59

3.7 Projeto de uma Rede Neural... 60

3.8 Conclusão... 61

4. SISTEMAS HÍBRIDOS... 62

4.1 Introdução... 62

4.2 Descrição dos Sistemas Híbridos... 63

4.2.1 Taxonomia dos Sistemas Híbridos... 65

4.2.2 Sistemas Neurofuzzy... 67

4.2.3 Modelos de Sistemas Neurofuzzy... 71

4.3 Análise dos Sistemas Híbridos... 76

4.4 Limitações dos Sistemas Híbridos... 77

4.5 Conclusão... 77

5. IDENTIFICAÇÃO DE SISTEMAS... 78

5.1 Introdução... 78

5.2 Sistemas de Controle... 79

5.3 Identificação de Sistemas... 80

5.4 Inteligência Artificial em Identificação de Sistemas... 81

5.4.1 Aprendizado e Generalização... 83

(8)

viii

5.5 Conclusão... 85

6. AJUSTE DAS FUNÇÕES DE PERTINÊNCIA DO NFN-MK... 86

6.1 Introdução... 86

6.2 Descrição do modelo NFN-MK... 88

6.3 Estrutura do Neo-Fuzzy-Neuron... 91

6.3.1 Ajuste dos Pesos... 95

6.3.2 Atualização dos Pesos com Taxa de Aprendizado Ótima... 97

6.3.3 Análise da Complexidade dos Algoritmos NFN versus RNA... 99

6.3.4 Sistema Neo-Fuzzy-Neuron Generalizado... 101

6.3.5 Taxonomia do Sistema NFN... 102

6.4 Rede de Kohonen... 107

6.5 Ajuste das Funções de Pertinência... 109

6.5.1 Curva do Tipo 1... 110

6.5.2 Curva do Tipo 2... 111

6.6 Conclusão... 115

7. VALIDAÇÃO E ESTUDOS DE CASOS... 116

7.1 Introdução... 117

7.2 Estudos de Casos... 117

7.2.1Estudo de Caso: Função Seno... 133

7.2.2 Estudo de Caso: Função Chapéu Mexicano... 144

7.2.3 Estudo de Caso: Função Radial... 153

7.2.4 Estudo de Caso: Função Não-Linear... 159

7.3 Conclusão... 160

8. CONCLUSÃO ... 160

8.1 Revisão Contextual... 160

8.2 Problema e Solução Proposta... 161

8.3 Resultados... 161

8.4 Contribuições... 162

8.5 Trabalhos Futuros... 163

REFERÊNCIAS BIBLIOGRÁFICAS... 165

ANEXO I - Algoritmo Backpropagation... 172

(9)

LISTA DE FIGURAS

Figura 2.1 – Diagrama de blocos do sistema de controle... 9

Figura 2.2 – Exemplo do domínio das variáveis lingüísticas...13

Figura 2.3 – Exemplo do domínio da lógica binária... 13

Figura 2.4 – Classificação binária entre ser alto ou não-alto... 14

Figura 2.5 – Classificação fuzzy para variável altura...15

Figura 2.6 – Descrição da variável salário... 18

Figura 2.7 – Ilustração das principais t-normas... 19

Figura 2.8 – Ilustração das principais t-conormas... 20

Figura 2.9 – Função f(x) descrita por equação matemática... 21

Figura 2.10 – Função f(x) descrita por regras lingüísticas com valores exatos... 22

Figura 2.11 – Função f(x) descrita por regras lingüísticas fuzzy... 24

Figura 2.12 – Estrutura básica de um controlador fuzzy... 25

Figura 3.1 – Componente do neurônio biológico... 37

Figura 3.2 – Potencial de ação em um neurônio... 38

Figura 3.3 – Modelo neural... 40

Figura 3.4 – Modelo do neurônio artificial... 43

Figura 3.5 – Modelo do neurônio artificial com entrada de viés... 44

Figura 3.6 – Neurônio com n entradas e pesos definidos... 45

Figura 3.7 – Um neurônio com as funções de ativação e transferência... 46

Figura 3.8 – Funções de transferências mais empregadas... 47

Figura 3.9 – Redes exemplificando camadas escondidas ou ocultas... 48

Figura 3.10 – Redes de camada única... 49

Figura 3.11 – Redes de múltiplas camadas... 49

Figura 3.12 – Redes feedback... 51

Figura 3.13 – Aprendizado supervisionado... 52

(10)

x

Figura 3.15 – Estrutura de um elemento neurônio... 55

Figura 3.16 – Diagrama de blocos da regra delta generalizada... 56

Figura 3.17 – Aprendizado não-supervisionado... 57

Figura 3.18 – Aprendizado por reforço... 59

Figura 3.19 – Análise do supertreinamento... 60

Figura 3.20 – Fluxograma do desenvolvimento de uma rede neural... 61

Figura 4.1 – Arquitetura de um sistema neurofuzzy... 64

Figura 4.2 – Taxonomia quanto às características fuzzy do sistema... 65

Figura 4.3 – Taxonomia quanto às características de aprendizado... 66

Figura 4.4 – Estrutura neural para as premissas de uma rede fuzzy neural...68

Figura 4.5 – Rede fuzzy neural baseada em regras... 69

Figura 4.6 – Topologia de uma rede fuzzy neural em forma paramétrica... 70

Figura 4.7 – Arquitetura neurofuzzy ANFIS... 71

Figura 4.8 – Arquitetura de um FSOM com duas entradas e uma saída... 73

Figura 4.9 – Sistema NEFCLASS... 75

Figura 5.1 – Sistema de controle... 79

Figura 5.2 – Identificação de um sistema dinâmico... 80

Figura 5.3 – Função com mínimo local e global... 85

Figura 6.1 – Diagrama de blocos do treinamento do NFN... 87

Figura 6.2 – Modelo híbrido incorporado... 88

Figura 6.3 – Modelo híbrido auxiliar... 89

Figura 6.4 – Estrutura da rede neurofuzzy NFN-MK... 90

Figura 6.5 – Estrutura do sistema Neo-Fuzzy-Neuron... 91

Figura 6.6 – Estrutura do neurônio fuzzy... 92

Figura 6.7 – Funções de pertinência do tipo triangular uniformemente espaçadas...94

Figura 6.8 – Inferência fuzzy em uma sinapse não-linear do Neo-Fuzzy-Neuron... 94

Figura 6.9 – Ajuste dos pesos para a rede NFN... 96

Figura 6.10 – a) Diagrama de blocos do NFNG b) Bloco Fi(xi)... 101

Figura 6.11 – Topologia da rede de Kohonen... 108

Figura 6.12– Funções de pertinência tipo 1... 110

Figura 6.13 – Funções de pertinência tipo 2... 111

Figura 6.14 – Determinação das funções de pertinência... 112

(11)

Figura 7.1 – Função f(x)=sen

( )

x a ser aproximação... 118

Figura 7.2 RedeNFN-MK usada na aproximação da função sen

( )

x ... 119

Figura 7.3 – Funções triangulares eqüidistantes para f(x)=sen

( )

x ... 121

Figura 7.4 – Funções triangulares não uniformemente distribuídas para f(x)=sen

( )

x .. 121

Figura 7.5 – EQM para diferentes taxas de aprendizagem... 123

Figura 7.6 – Fase de teste do NFN-MK para f(x)=sen

( )

x ... 124

Figura 7.7 – RNA utilizada na aproximação da função sen(x)...126

Figura 7.8 – Função tangente hiperbólica...129

Figura 7.9 – Derivada da função tangente hiperbólica... 129

Figura 7.10 – Fase de treinamento da RN para os ganhos arbitrários e obtidos por AG.. 130

Figura 7.11 – Evolução do EQM para os ganhos arbitrários e obtidos por AG... 131

Figura 7.12 – Fase de teste da rede neural... 132

Figura 7.13 – Comparação entre os erro quadrático médio... 132

Figura 7.14 – Curva chapéu mexicano... 134

Figura 7.15 – Rede NFN-MK usada na aproximação do chapéu mexicano... 135

Figura 7.16 – Funções triangulares para f(x1,x2)=sinc(x1,x2)... 135

Figura 7.17 – Funções triangulares não uniformes para f(x1,x2)=sinc(x1,x2)... 136

Figura 7.18 – Fase de teste em 3D da função chapéu mexicano... 138

Figura 7.19 – Fase de teste em 2D da função chapéu mexicano ... 138

Figura 7.20 – Rede NFHQ usada na aproximação da curva chapéu mexicano... 140

Figura 7.21 – Rede FSOM na aproximação da curva chapéu mexicano... 141

Figura 7.22 – RNA utilizada na aproximação da função f(x1,x2)=sinc(x1,x2)... 142

Figura 7.23 – Fase de treinamento da RN para a curva chapéu mexicano... 143

Figura 7.24 – Curva radial... 145

Figura 7.25 – Funções triangulares para a função radial... 146

Figura 7.26 – Funções triangulares não uniforme para curva radial... 146

Figura 7.27 – Fase de teste em 3D da função radial... 148

Figura 7.28 – Fase de teste em 2D da função radial... 149

Figura 7.29 – Fase de treinamento da RN com 21 padrões entrada/saída... 151

Figura 7.30 – Fase de treinamento da RN com 101 padrões entrada/saída... 151

(12)

xii

Figura 7.32 – Função não-linear... 153

Figura 7.33 – Funções triangulares eqüidistantes para a não-linear... 154

Figura 7.34 – Funções triangulares não uniformemente distribuídas...155

Figura 7.35 – Fase de teste do NFN-MK... 156

Figura 7.36 – Estrutura da rede NFN... 157

Figura 7.37 – Fase de teste do NFN... 158

Figura AI.1 – Rede multicamadas... 173

Figura AI.2 – Rede neural com suas respectivas conexões... 174

Figura AI.3 – Propagação dos sinais de entrada... 177

Figura AI.4 – Rede com três camadas... 177

Figura AI.5 – Retropropagação do erro... 178

(13)

LISTA DE TABELAS

Tabela 2.1 – Termos da variável salário... 17

Tabela 2.2 – Principais t-normas e t-conormas duais... 19

Tabela 2.3 – Vantagens e desvantagens dos métodos de defuzzificação... 28

Tabela 2.4 – Equações das funções de pertinências... 30

Tabela 3.1 – Comparativo entre o cérebro humano e o computador... 41

Tabela 3.2 – Comparação entre o neurônio biológico e artificial ... 42

Tabela 4.1 – Comparação entre os sistemas fuzzy e neural ... 63

Tabela 6.1 – Comparação entre o neurônio artificial e fuzzy... 93

Tabela 6.2 – Comparação entre a RNA e o NFN... 100

Tabela 7.1 – Dados de treinamento do NFN-MK... 120

Tabela 7.2 – Parâmetros da modelagem da função f(x)=sen

( )

x ... 122

Tabela 7.3 – EQM final... 123

Tabela 7.4 – Análise de resultados função f(x)=sen

( )

x ... 124

Tabela 7.5 – Dados de treinamento da função f(x)=sen

( )

x ... 127

Tabela 7.6 – Ganhos otimizados pelo algoritmo genético... 128

Tabela 7.7 – Comparação entre a RNA e o NFN-MKpara a função f(x)=sen

( )

x ... 133

Tabela 7.8 – Dados de treinamento do NFN-MK... 136

Tabela 7.9 – Parâmetros da modelagem da função f(x1,x2)=sinc(x1,x2)... 137

Tabela 7.10 – Análise de resultados função f(x1,x2)=sinc(x1,x2)... 139

Tabela 7.11 – Dados de treinamento da curva chapéu mexicano... 143

Tabela 7.12 – Comparação entre a RNA e o NFN-MK para f(x1,x2)=sinc(x1,x2)... 144

Tabela 7.13 – Comparação dos resultados para a função f(x1,x2)=sinc(x1,x2)... 144

Tabela 7.14 – Dados de treinamento do NFN-MK... 147

Tabela 7.15 – Parâmetros da modelagem da função radial... 148

Tabela 7.16 – Análise de resultados função radial... 149

(14)

xiv

(15)

LISTA DE SIGLAS E ABREVIATURAS

IA Inteligência Artificial AG Algoritmo Genético

ANFIS Adaptive Network-based Fuzzy Inference System ART Adaptative Resonance Theory

C Centro

CDA Centro de Área

EQM Erro Quadrático Médio FSOM Fuzzy Self-Organized Map GD Gradient Decrescent

LD Limite Direito

LE Limite Esquerdo

LVQ Linear Vector Quantazation MAX Critério do Máximo

MCP McCulloch e Pitts

MDM Média dos Máximos

MIMO Multiple Input – Multiple Output MQO Mínimos Quadrados Ordinários MLP Multi-Layer Perceptron

NB Negativo Grande

NEFCLASS Neuro Fuzzy Classification

NFHQ Neuro Fuzzy Hierárquico Quadtree

NFN Neo-Fuzzy Neuron

NFNG Neo-Fuzzy-Neuron Generalizado

NFN-MK Neo- Fuzzy-Neuron Modificado por Kohonen

(16)

xvi

NS Negativo Pequeno

PB Positivo Grande

PDP Parallel Distributed Processing

PM Positivo Médio

PS Positivo Pequeno

RBF Radial Basis Function RFN Rede Fuzzy Neural

RN Rede Neural

RNA Rede Neural Artificial

SF Sistemas Fuzzy

SH Sistemas Híbridos

SOM Self Organizing Map

VB Visual Basic

(17)

RESUMO

PAGLIOSA, Angelo L. Obtenção das funções de pertinência de um sistema neurofuzzy modificado pelas redes de Kohonen. 2003. 182f. Dissertação (Mestrado em Automação Industrial) – Centro de Ciências Tecnológicas, Universidade do Estado de Santa Catarina, Joinville, 2003.

Esta dissertação propõe um modelo computacional que combina técnica de Sistemas Fuzzy (SF) e Redes Neurais Artificiais (RNA´s), com o objetivo de realizar a identificação de sistemas, os quais são modelados pela descoberta de curvas de pertinência e pesos de conexões no modelo proposto. O modelo proposto chamado de Neo Fuzzy Neuron Modificado pela rede de Kohonen (NFN-MK) foi reestruturado a partir do modelo do Neo Fuzzy Neuron (NFN), proposto originalmente por Yamakawa. O modelo NFN é construído sob uma topologia neural que associa as regras do tipo “Se – Então”, sendo estas do tipo fuzzy. A virtude do modelo de Yamakawa é combinar o conhecimento apresentado nos SF´s com a habilidade de aprendizagem e generalização das RNA´s. A partir deste modelo, o NFN-MK introduz a rede de Kohonen em um estágio inicial da aprendizagem, a fim de encontrar os vértices iniciais das curvas triangulares de pertinência do modelo proposto. A partir da definição inicial dos vértices dos triângulos nas curvas de pertinência, inicia-se um processo de aprendizagem, análogo ao backpropagation clássico, a fim de ajustar os pesos de cada conexão da topologia neural proposta. Ao final da aprendizagem, o NFN-MK é submetido a experimentos na identificação de três sistemas. Estes sistemas são representados com curvas matemáticas clássicas, a fim de comparar a eficiência do modelo proposto a outros resultados como: o próprio valor analítico das funções, RNA´s clássicas e outros modelos neurofuzzy de trabalhos correlatos.

(18)

xviii

ABSTRACT

PAGLIOSA, Angelo L. Neo-Fuzzy-Neuron Modify (NFNM) that uses Kohones' method to automatic generation of memberships function. 2003. 182p. MSc.thesis in Industrial Automation - University Santa Catarina State, Joinville, 2003.

This dissertation presents an hybrid computational model that combines fuzzy system techniques and artificial neural networks. Its objective is the automatic generation of membership functions, in particular, triangle forms, aiming at a dynamic modelling of a system. The model is named Neo-Fuzzy-Neuron Modify by Kohonen (NFN-MK), since it starts using Kohonen network to obtain the central vertices in triangular curves. A set of these curves are used to model a variable of the real system. NFN-MK is based on the Neo-Fuzzy-Neuron (NFN) model originally proposed by Yamakawa, where a network is adapted in order to associate fuzzy, "if-then"rules allowing elicitation and extraction of knowledge in linguistic form. The NFN-MK model is tested by simulation of real systems. They are here represented by classical mathematical functions, chosen due their importance in the system identification field. Finally, a comparison of the results obtained by NFN-MK is carried out against other models such as analytical results, traditional neural networks, and correlated studies of neurofuzzy systems applied to system identification. This work ends with a comparison of the results obtained by NFN-MK with analytical results, and those obtained by using traditional neural networks and other system identification neurofuzzy methods.

(19)

INTRODUÇÃO

AIdentificação de Sistemas é a área que estuda a construção de modelos matemáticos de sistemas dinâmicos a partir das variáveis de entrada e saída [3], podendo estes ser lineares ou não-lineares, e a partir destes modelos realizar experimentos que reportem o comportamento dos sistemas reais. Uma das principais motivações é o custo e viabilidade reduzidos em se trabalhar com modelos no lugar dos sistemas reais. Dependendo do tipo de processo que se deseja identificar, uma maneira extremamente útil de descrever um problema de identificação é sob forma de aproximação de funções, ou sob a otimização de funções que implica na minimização do erro, visando com isto replicar o comportamento real.

A área de Inteligência Artificial (IA) apresenta-se como uma alternativa para a solução de problemas em identificação e controle, principalmente aqueles que envolvem não-linearidades [41]. A IA implementa/constrói sistemas que permitem que o computador execute funções que são desempenhadas pelos seres humanos, usando conhecimento e raciocínio. Alguns sistemas são inspirados em modelos biológicos, outros, em sistemas que produzem algum tipo de comportamento próximo ao observado em sistemas naturais [58].

Na IA duas linhas de pesquisas são conhecidas: as Redes Neurais Artificiais (inspiração no modelo do neurônio biológico) e a Lógica Fuzzy (dirigida ao raciocínio humano) [58]. As Redes Neurais Artificiais (RNA´s) oferecem a possibilidade de aprendizado a partir dos pares de entrada/saída. Contudo, as RNA´s podem exigir um longo tempo de treinamento e não possuem um mecanismo explicativo, tão menos um mecanismo automático e eficiente para auxílio no desenvolvimento do projeto.

Já a Lógica Fuzzy (LF) é um mecanismo de raciocínio similar ao do ser humano, por uso de termos lingüísticos e conhecimento do senso comum. As limitações deste sistema são: inexistência de técnicas de aprendizado na geração das regras fuzzy e das funções de pertinência, as quais dependem do conhecimento de um especialista.

(20)

2

linhas de pesquisa vem gerando novas classes de “Sistemas Neurofuzzy”, que se diferenciam pela arquitetura, métodos de aprendizagem, parâmetros pré-definidos e representação de conhecimento, combinando a capacidade de sistemas fuzzy de lidar com informações imprecisas e com a capacidade das redes neurais de aprender por meio de exemplos.

Neste trabalho é proposto um sistema híbrido chamado de Neo Fuzzy Neuron Modificado pela rede de Kohonen, destinado à aproximação de funções, que identificam e modelam um sistema real. O Neo Fuzzy Neuron foi originalmente proposto por Yamakawa [96, 97], e a partir deste modelo se reestruturaram alguns conceitos, mais especificamente o uso da rede de Kohonen para encontrar os centros das curvas fuzzy dos neurônios fuzzy do modelo em questão. O treinamento da rede proposta pelo NFN-MK só é finalizado quando o erro de estimação ou o número de épocas for satisfeito, então o NFN-MK obtido pode ser usado como um novo modelo da planta real. A implementação da rede de Kohonen tem o propósito de indicar a localização inicial das curvas de pertinência mais apropriadas para cada aplicação, representando assim, um maior conhecimento e precisão sobre o sistema em estudo.

1.1 Contextualização

Há diferentes maneiras de se obter um modelo para um determinado sistema, utilizando equações matemáticas, gráficos, etc. As equações matemáticas são as mais usadas [58]. Isto significa que os comportamentos e as relações dos agentes são expressos por um modelo matemático. Para modelar matematicamente um sistema, pode-se adotar dois procedimentos:

• Leis físicas que supostamente governam o comportamento do sistema;

• Inferir um modelo baseado em dados observados do sistema. Isto ocorre quando a modelagem direta é impossível ou difícil, ou seja, o conhecimento do sistema é incompleto ou inexistente, exceto os valores dos pares das entradas com as respectivas saídas.

(21)

comportamento coerente com seu ambiente. Os agentes em questão podem ser: simples células, variáveis numéricas, string de bits, etc.

Em alguns sistemas o comportamento é classificado como de difícil identificação e resistem a tais procedimentos matemáticos. Nestes casos, a obtenção do modelo do sistema com as ferramentas disponíveis é complicada e o projetista tende a simplificar a realidade observada. Esta simplificação limita-se às relações entre agentes e seu ambiente, já que os procedimentos quantitativos são limitados no tratamento de relações altamente não-lineares e dinâmicas. Como conseqüência, o modelo obtido não reflete a realidade tal como ela é. As relações matemáticas podem só descrever certos aspectos do mundo real, e sua utilização se deve muitas vezes à falta de outras ferramentas mais apropriadas [58].

Neste sentido, para resolver a complexidade do problema da identificação de sistemas, remete-se ao uso de ferramentas não-convencionais, no caso a área de Inteligência Artificial (IA). O trabalho apresenta um sistema híbrido, o Neo-Fuzzy-Neuron Modificado por Kohonen (NFN-MK), que busca com aproximações de funções a modelagem de um sistema. O modelo proposto usa um conjunto de dados do tipo entrada-saída do sistema real para estimar o comportamento das funções de pertinência, regras lógicas e ajustar pesos da rede, e com isto representar o modelo do sistema a ser aproximado. Essas funções podem ser lineares ou não-lineares, dependendo do tipo de processo que se deseja aproximar.

Quando IA é colocada em contexto, os seres humanos pensam em sistemas que raciocinam e tomam decisões iguais aos seres humanos, verdadeiros protótipos de pessoas capazes inclusive de sentir, o que é um erro. A conseqüência é que o termo acaba sendo mal aplicado, pois as pessoas não entendem que se trata de algoritmos e não de inteligência no sentido do ser humano. O que diferencia um sistema que usa IA de um programa convencional é a qualidade de desempenho, ou seja, velocidade de processamento.

(22)

4

1.2 Problema Abordado

O problema aqui abordado é encontrar um modelo computacional que reproduza o comportamento de um sistema real. Encontrar este modelo é um problema da área de Identificação de Sistemas.

1.2.1 Objetivo Geral

Desenvolver um sistema neurofuzzy destinado a identificação de sistemas, onde as funções de pertinência do tipo triangulares são ajustadas inicialmente pela rede de Kohonen. A eficiência do modelo proposto é exibida com exemplos de aproximações das funções que representem um sistema real a ser identificado. Neste trabalho foram modeladas as funções: sen(x), chapéu mexicano, radial e não-linear, sendo essas contínuas e limitadas em um intervalo no espaço.

1.2.2 Objetivos Específicos

• Implementar um sistema de inferência, onde o modelo é formado por um conjunto de regras do tipo Se-Então, que representam o comportamento do sistema;

• Implementar rotinas de aprendizagem, para o modelo adaptar-se aos requisitos e mudanças ambientais, assim como uma generalização das situações anteriores;

• Mesclar técnicas fuzzy e neural, resultando em um sistema híbrido, o Neo-Fuzzy-Neuron Modificado por Kohonen;

• Processar as entradas/saídas e armazenar o conhecimento obtido a partir da experiência. Isto significa que o modelo utiliza dados numéricos do sistema real;

• Ajustar as funções de pertinência do tipo triangular, pela rede de Kohonen;

• Aplicar conceitos de identificação e modelagem de sistemas, aos casos propostos;

• Validar o modelo computacional proposto, testando-o na identificação das funçõessen(x), chapéu mexicano, radial e não-linear.

(23)

conjunto de dados de entrada-saída do sistema real, e ele deverá ser capaz de ajustar as curvas de pertinência, gerar uma base de regras e encontrar os pesos da rede, para que aproxime o comportamento dos dados de entrada-saída ao comportamento do sistema real. E, se assim for, concluindo-se a mimetização comportamental do sistema real com o modelo proposto.

1.2.3 Justificativas

As justificativas em torno da implementação do sistema híbrido chamado de Neo Fuzzy Neuron Modificado por Kohonen (NFN-MK) aplicado à aproximação de funções são dadas por:

• O número de operações envolvidas no sistema NFN-MK é menor, quando comparado com as RNA´s. Isso faz com que seja uma opção atraente em aplicações em tempo real e em treinamento on-line;

• Com o uso da rede de Kohonen, o sistema obtém funções de pertinência não uniformemente distribuídas, representando maior precisão e conhecimento sobre o sistema em estudo;

• O sistema NFN-MK utiliza sete funções de pertinência para cada padrão de entrada. Segundo Shaw e Simões (1999), uma mudança de cinco curvas para sete, aumenta a precisão em torno de 15%, sendo que a partir de sete não há melhorias significativas;

• As funções de pertinência são do tipo triangulares, porque esse perfil tem a vantagem de ser computacionalmente simples;

• Os procedimentos de aprendizagem usados no sistema NFN-MK não utilizam derivadas, como no backpropagation (usado em redes neurais artificiais), tornando a atualização dos pesos mais rápida.

1.3 Contribuições

(24)

6

• O NFN-MK é um modelo computacional que apresenta uma alternativa à área de Identificação de Sistemas com técnicas não-convencionais. A Inteligência Artificial é capaz de reduzir a complexidade da modelagem de um sistema real. Em princípio, ele é uma solução para problemas de controle até intratáveis por técnicas clássicas, como: transformadas de LaplaceouZ[82];

• O processo de aquisição de conhecimento não depende de um especialista, como nos sistemas fuzzy. As curvas iniciais de pertinência são sete, modificadas e adaptadas pela rede de Kohonen, baseadas apenas nos dados de entradas;

• A aproximação de função por RNA implica principalmente em dois fatores: os números de neurônios e de camadas escondidas. Esses problemas são solucionados com a rede NFN-MK, porque os números de neurônios estão relacionados com os números das funções de pertinência, que são sete. Já o sistemaNFN-MKnão usa camadas escondidas;

• O sistema NFN-MK soluciona também os problemas de mínimos locais, encontrados nas redes neural multicamadas (MLP), porque a função objetivo a ser minimizada no processo de treinamento é quadrática e convexa [16, 19, 48, 96, 97].

1.4 Organização da Dissertação

Inicialmente são apresentados alguns conceitos básicos da lógica fuzzy, redes neurais artificiais e sistemas híbridos, os quais são pré-requisitos necessários para o entendimento do sistema NFN-MK proposto neste trabalho. Assim, a dissertação está estruturada em 8 capítulos, conforme descrito a seguir.

(25)

obtenção dessas funções é feita através de algoritmo de agrupamento, no caso, o mapa auto-organizável de Kohonen. No capítulo 7, são apresentados quatro estudos de casos realizados com os sistemas NFN-MK. Os resultados associados a problemas de aproximações de funções, são promissores, mas não podem ser interpretados como conclusivos, porque os problemas das aplicações foram escolhidos arbitrariamente. O propósito básico é indicar o potencial dos sistemas híbridos inteligentes e as variadas possibilidades de aplicações. O capítulo 8 discute as conclusões deste trabalho e apresenta propostas de possíveis trabalhos futuros.

Além dos capítulos acima citados, essa dissertação possui dois apêndices. No apêndice I é apresentada uma descrição detalhada do algoritmo backpropagation[5, 12, 25, 31, 50, 91, 103], usado em RNA´s. Já no apêndice II é detalhado o algoritmo Vetor de Quantização Linear (LVQ),usado nas redes de FSOMdeKohonen[5, 12, 25, 91].

(26)

CAPÍTULO 2

LÓGICA FUZZY

Este capítulo apresenta a fundamentação de conceitos necessários para a implementação de sistemas inteligentes baseado em Lógica Fuzzy (LF).

2.1 Introdução

A lógica fuzzy (também conhecida como nebulosa ou difusa) representa um esquema de traduzir informações vagas, imprecisas em valores numéricos [8]. Possibilita a inclusão da experiência humana em controle computadorizado, tornando possível decisões em problemas complexos. Ela pode ser agregada a sistemas de redes neurais (os sistemas neurofuzzy) aumentando o aprendizado e interface com os dados numéricos. O sucesso mundial de sistemas de modelagem e controle em lógica fuzzy aplicados na indústria o recomenda como uma ferramenta eficiente na engenharia de controle industrial, manufatura, comunicações homem-máquina e sistemas de tomada de decisão [2].

(27)

Figura 2.1 – Diagrama de blocos do sistema de controle

A teoria tradicional de controle, baseada em Diagramas de Bode, Lugar das Raízes, Equações de Estados, tem sido aplicada com sucesso em sistemas muito bem conhecidos e definidos. Entretanto, todas estas técnicas não são capazes de resolver problemas reais cuja modelagem matemática é impraticável. Por exemplo, suponha-se um processo linear, onde as variações nas entradas produzem variações proporcionais nas saídas. Ao se assumir a propriedade de linearidade, pode-se utilizar técnicas extremamente poderosas e conhecidas na área de engenharia e tecnologia, com soluções analíticas, e muitas vezes necessitam ser linearizadas em torno de um ponto de operação. Outra restrição muito utilizada em análises de sistemas lineares é que os parâmetros de processo não se alteram, ou seja, que o sistema seja invariante no tempo, apesar de na realidade ocorrer deterioração dos componentes dos sistemas com o passar do tempo, além de impactos ambientais, tais como influências de temperatura e pressão. Devido a tais simplificações, o projetista em geral encontra sérias dificuldades no desenvolvimento de uma descrição matemática significativa e realista de um processo industrial. As causas de tais dificuldades podem ser classificadas como: fenômenos físicos ou químicos mal compreendidos, valores imprecisos de parâmetros, a dimensão e a complexidade do modelo, distúrbios externos e deficiência de qualificação técnica [2, 82].

Controlador Processo

Desconhecido

Saída Entrada

Realimentação

+

(28)

10

Novas tecnologias são inventadas devido às necessidades específicas. O início da lógica fuzzy foi pela necessidade de um método capaz de expressar de uma maneira sistemática quantidades imprecisas, vagas e mal-definidas [82]. Por exemplo, em vez de se utilizar um modelo matemático, os controladores industriais baseados em lógica fuzzy podem ser investigados com o conhecimento experimental de operadores humanos já treinados, fazendo com que a ação de controle seja tão boa quanto a deles (em geral melhor) e sempre consistente.

Nos últimos anos, a utilização no cotidiano de computadores pessoais e equipamentos controlados por microprocessadores trouxeram a necessidade de sofisticados sistemas de interação Homem - Máquina. O matemático M .Minsky acredita que robôs vão substituir o homem em todas as tarefas, desde as mais simples e repetitivas tarefas, como montar carros, até as mais sofisticadas, como dirigir um carro. Quando se escreve um programa para fazer alguma tarefa, deseja-se que o mesmo faça isso de forma semelhante ao ser humano. Para realizar uma tarefa, o cérebro humano tenta várias possibilidades, vários caminhos de ação e, se um não der certo, ele tenta outro caminho diferente. Pode-se dizer que a inteligência é a capacidade de fazer várias coisas ao mesmo tempo [88, 98, 92]. Assim, se consegue dirigir um carro por uma estrada, trocando marchas e fazendo curvas ao mesmo tempo em que se resolve um problema mentalmente ou conversa com outra pessoa sobre algo, que está muito distante dali. Uma criança de 18 meses ao colocar um lápis em uma gaveta, ela irá tentar de várias formas, aprendendo com os erros, até conseguir. Os computadores apresentam uma dificuldade para conseguir fazer isso. Uma criança sabe que pode puxar um objeto com uma corda, mas sabe também que não pode empurrar um objeto com uma corda porque ela é flexível. Isso é senso comum. Para fazer o computador agir dessa forma, insere-se, via programação, informações e conhecimento. Sem elas, ele não pode fazer muitas tarefas, pois é incapaz de entender o que está acontecendo.

(29)

considerados completamente falsos ou completamente verdadeiros, utiliza-se a lógica fuzzy, a qual possibilita que tais informações, de natureza imprecisa, sejam implementadas em computadores [82]. Este oferece um método, baseado em teoria de conjuntos matemáticos, para o manuseio de descrições qualitativas, inexatas, imprecisas e incertas de uma maneira rigorosa e sistemática [77].

A Lógica Fuzzy foi proposta por L. A. Zadeh em um artigo intitulado “Fuzzy Sets” publicado em 1965 [8]. Embora os princípios da lógica fuzzy já estejam disponíveis a algum tempo no meio científico, somente nos últimos anos têm sido aplicados em processos industriais [27]. Atualmente diversos produtos de uso diário já dispõem de controladores fuzzy [30, 46].

2.2 Resumo Histórico

No início da década de 70, pesquisadores da Inteligência Artificial concentraram seus esforços em tornar as Lógicas em geral aplicáveis à resolução de problemas. Pesquisadores como Nils Nillson chegaram abordar a Inteligência Artificial como sendo uma questão de Lógica Aplicada [69].

Inicialmente, a lógica clássica ou binária teve suas raízes em Aristóteles há aproximadamente 2500 anos atrás. Tratando-se de um filósofo, Aristóteles discutia a lógica com base em uma interpretação, cuja problemática é demonstrar a manutenção de uma verdade em um determinado contexto. Este questionamento leva à análise de eventos futuros, cujos valores podem se tornar em verdades ou falsidades, potencialmente em ambos ou em nenhum destes. Os conceitos de verdade (V) e falso (F) foram investigados durante séculos por filósofos, matemáticos e lingüistas [75].

(30)

12

1993). Max Black, um filósofo quântico, nascido também em Baku, seguiu o trabalho de Lukasiewicz em 1937 e criou a base do quem vem sendo pensado como funções de pertinência de conjuntos fuzzy [8, 44].

No início dos anos 60, Zadehaperfeiçoou a pesquisa original. Em seguida, desenvolveu o que se conhece como teoria dos conjuntos fuzzy, introduzindo o termo fuzzy em nossa linguagem para lidar com o que Black tinha se referido como vaguidade [8, 44]. Em 1965, Zadehpublicou um texto introdutório sobre o assunto, intitulado Fuzzy Sets [2, 41, 43].

A pesquisa da teoria fuzzy alcançou avanço na própria teoria e no experimento com aplicações no processo de controle e outras áreas. Em 1974 o professor Mamdani, do Qeen Mary College, Londres, foi o primeiro aplicar a teoria fuzzy no sistema de controle de um motor a vapor. Em 1980 F. L. Smidth, da Dinamarca, aplicou a teoria fuzzy no controle de fornos de tijolos de cimento, fazendo desta a primeira vez que a teoria fuzzy foi usada numa situação de processo de controle real [27, 44].

Idealizada nos Estados Unidos, difundida na Europa, aplicada, aperfeiçoada e comercializada no Japãoem sistema de controle, está técnica volta agora aos Estados Unidos, possibilitando aos produtos japoneses uma melhor forma que os americanos. Embora a lógica fuzzy seja usada largamente no mundo, ela é mais popular no Japão. Sua aceitação fora do Japão tem sido lenta; algumas pessoas atribuem isso ao próprio nome da técnica, escolhida por Lotfi A. Zadeh. Em 1988, de 100 aplicações da teoria fuzzy em existência, cerca de 80 foram criadas no Japão.Os japoneses reconheceram o potencial da lógica difusa mais rapidamente do que as outras partes do mundo. As primeiras aplicações de vulto da lógica fuzzy no Japão datam de 1983, na planta de tratamento de água da Fujitec, e em 1987 o sistema Sendai de automação de ferrovia, a 320 Km ao norte de Tóquio[8, 27, 30].

(31)

2.3 Noções da Lógica Fuzzy

A lógica fuzzy difere dos sistemas com a lógica clássica em seu mapeamento de verdade e falsa. Nessa lógica o valor verdade de uma proposição pode ser um subconjunto fuzzy (por exemplo: baixo, médio e alto) de qualquer conjunto parcialmente ordenado (ver figura 2.2).

Figura 2.2 – Domínio das variáveis lingüísticas

Ao contrário dos sistemas lógicos binários, onde o valor verdadesó pode assumir dois valores:verdadeiro ou falso (ver figura 2.3).

Figura 2.3 – Domínio da lógica binária

Em geral, seres humanos apresentam uma linguagem em termos vagos e dependentes de contexto para elaborarem suas idéias. Para isso vamos ver outro exemplo. Ao se dizer que uma determinada pessoa é alta, isto é perfeitamente entendido, mesmo que não se defina

Variável

1 0

1

y y

Baixo Médio Alto

Variável

0 1,0 2.0

(32)

14

exatamente a partir de que altura, em metros, uma pessoa pode ser considerada alta. Por outro lado, na lógica binária tradicional, uma pessoa pode apenas ser considerada alta ou não-alta, correlacionando com um determinado comprimento padrão [81]. Sem se estabelecer uma referência exata, é impossível determinar se a afirmação “João é alto” é verdadeira ou falsa com a lógica binária. Por exemplo: se a referência fosse 1.8 m, uma pessoa com 1.81 m seria considerada “alta”, enquanto outra, de 1.79 m, seria “não-alta”. A figura 2.4 mostra uma curva que divide as duas classes. Essa curva possui uma mudança brusca, e um valor binário “0” ou “1” indica em qual classificação se encontraria uma pessoa em termos de sua altura em metros.

Figura 2.4 - Classificação binária entre ser alto ou não-alto [81]

A consideração é sempre válida quando há um limite ou uma referência que tenta dividir o sim ou não, o preto do branco, etc. Na realidade, os seres humanos têm a tendência de suavizar as mudanças bruscas, de fazer meias-afirmações ou de enxergar graduações em cores que entram em contradição com a lógica binária [81].

A mudança brusca, em 1.8 m, de “alto” para “não-alto”, em geral é contra o senso comum do pensamento humano. A lógica fuzzy evita tal problema pela adoção do conceito de se pertencer parcialmente a um conjunto, como em afirmações do tipo "não muito alto” ou “bem alto” (ver figura 2.5).

Não-alto

Alto 1,0

(33)

Figura 2.5 - Classificação fuzzy para variável altura [41]

Cada uma dessas afirmações lingüísticas representa uma verdade parcial, um certo grau de verdade, ou um certo grau de pertinência a um conjunto. Na lógica fuzzy, um elemento pode pertencer de forma parcial a um conjunto, com um certo grau, digamos 80%ou25%. Na lógica clássica, o grau de pertinência é sempre 100% ou 0% (“0” ou “1”), enquanto na lógica fuzzy ele pode ser um valor entre 0 e 1[81, 82].

2.3.1 Variáveis Lingüísticas

Na lógica fuzzy, os valores verdades são expressos lingüisticamente, (ex: verdade, muito verdade, não verdade, falso, muito falso,...), onde cada termo lingüístico é interpretado como um subconjunto fuzzy do intervalo unitário [27, 28].

Nos sistemas lógicos binários, os predicados são: par, maior que, etc; passo que na lógica fuzzy as variáveis lingüísticas são: alto, baixo, etc. Nos sistemas com lógica clássica, o modificador mais utilizado é a negação enquanto que na lógica fuzzy uma variedade de modificadores de predicados é possível (ex.: muito, mais ou menos,...). Estes modificadores são essenciais na geração de termos lingüísticos (ex.: muito alto, mais ou menos perto, etc.). Nos sistemas clássicos existem os quantificadores existenciais () e universais (∀). A lógica fuzzy admite uma variedade de quantificadores (ex.; pouco, vários, usualmente, freqüentemente, em torno de cinco, etc.) [27, 28]. Esses problemas podem ser facilmente resolvidos pelo cérebro humano. Assim, verifica-se que os problemas da vida real são imprecisos. Raramente se pode resolvê-los com um sim ou não.

Baixo Alto

1,0

0 1,80 2,0 Altura (m)

(34)

16

A questão está na rigidez da lógica convencional, que sendo dicotômica, não permite classificar os fatos como parcialmente “verdadeiros” ou parcialmente “falsos” [8]. Em resumo, a lógica fuzzy buscou uma generalização da lógica clássica, flexibilizando-a [0, 1].

Portanto, a implementação de um projeto de sistemas de controle fuzzy pode ser reduzida a um ponto em que problemas anteriormente intratáveis passam agora a ser factíveis a uma solução. A idéia do uso da lógica fuzzy neste trabalho é pela sistemática de traduzir os termos fuzzy da comunicação humana em valores compreensíveis por computadores. Já que os computadores são máquinas de aplicações gerais que podem interfacear com processos físicos, químicos, térmicos e biológicos, a forma de comunicação humana pode ser utilizada para diretamente intercambiar as informações entre operadores e tais processos.

2.3.2 Teoria dos Conjuntos Fuzzy

Nesta seção são formalizadas as idéias básicas sobre conjuntos e lógica fuzzy visando à modelagem e o desenvolvimento de sistemas de controle. Na teoria de conjuntos clássicos, um elemento ou pertence a um conjunto ou não. Por exemplo: o conjunto das pessoas nascidas em um estado. O conjunto é bem definido e sem ambigüidade com relação aos seus elementos de fronteiras. Todo cidadão tem uma certidão de nascimento onde consta o seu estado de origem. Logo, dado um universo Ue um elemento particular x ∈U, a função de pertinênciaµA(x) com respeito a um conjunto AU é dado por:

(35)

µA(x):U[0,1] (2.2) O conjunto suporte de um conjunto fuzzy A é o subconjunto dos pontos x em U tal que

µA(x) 0.

Contudo, necessita-se mapear o conhecimento sobre a variável salário, também conhecido como variável lingüística. Esta variável necessita ser categorizada, isto é, situar-se em subconjuntos característicos. Os elementos assemelhados são definidos por termos. Estes termos concentram um conjunto de elementos de mesmas características. Por exemplo: a variável salário (S), pode possuir os seguintes termos:

S = {s0, s1,s2, s3},

cuja semântica expressa uma faixa de valores (ver tabela 2.1):

Tabela 2.1 - Termos da variável salário [75]

S Valores Lingüísticos Faixa Salarial em U$

S0: “muito baixo” 100 100 150 200

S1: “baixo” 150 200 300 500

S2: “médio” 300 500 600 700

S3: “bom” 600 700 1000 1000

(36)

18

100 150 200 300 500 600 700 1.000 Salário

1 So S1 S2 S3

µS(Si)

Figura 2.6 - Descrição da variável salário [75]

Para expressar conceitos é comum o uso de elementos qualitativos, ao contrário de valores quantitativos. Uma variável lingüística tem por característica assumir valores dentro de um conjunto de termos lingüísticos, ou seja, palavras ou frases. Assim, ao contrário de instâncias numéricas, são substituídas por uma variável lingüística que assume instâncias lingüísticas. Por exemplo, a variável lingüística salário poderá assumir como valor um dos membros do conjunto {muito baixo, baixo, médio, bom}. Para se atribuir um significado aos termos lingüísticos, associa-se cada uma destes a um conjunto fuzzy definido sobre um universo de discurso da figura 2.6.

A forma de expressar o conhecimento é tipicamente com regras do tipo condição -ação. Supondo que uma variável de entrada (condição) “salário” (S) esteja associada a uma variável de saída (ação) chamada “motivação pessoal”(M), uma regra típica é dada por:

SE (S é Baixo) Então (M é pouca)

A idéia geral aqui é representar o conhecimento por um conjunto de regras nas quais as condições são dadas a partir de um conjunto de termos lingüísticos associados às variáveis de entrada/saída do processo. Analogamente, as funções de transferência de Laplace fazem algo semelhante em teoria de controle linear [2]. Regras do tipo Se - Então são chamadas de regras fuzzy. Uma regra fuzzy pode ser:

SE (x é ai )E (y é bi) e ...ENTÃO (z é ci),

(37)

caso, é denotado como operador de implicação t-norma de Zadeh (ver tabela 2.2). As variáveis de saída (z) dentro do operador “Então” são chamadas conseqüentes. A rigor, as t-norma e t-conorma são grupos algébricos, os quais apresentam equivalência com os conectivos“and”, “or” e “not”.

Tabela 2.2 - Principaist-normas e t-conormas duais [77]

t-norma t-conorma Nome

min (a,b) max (a,b) Zadeh

ab a + b - ab Probabilista

max (a + b - 1, 0) min (a + b, 1) Lukasiewicz

Weber

Na lógica tradicional as operações com conjunto são as operações booleanas possibilitadas pelos conectivos "E (and)”, “OU (or)” e “Não (not)”. Na lógica fuzzy, há diversos operadores para se realizar as operações lógicas, os quais são basicamente divididos em duas classes (ou normas): as normas triangulares (chamadas por t-normas) e as normas duais (chamadas por s-normas ou t-conormas)[77]. Portanto, o projetista de um sistema fuzzy tem diversos graus de liberdade para escolher implicações fuzzy em tarefas de controle [71]. A tabela 2.2 indica as t – normas e t – conormas mais utilizadas, e as figuras 2.7 e 2.8 ilustram algumas destas operações, em relação a dois conjuntos fuzzy A e B.

(38)

20

Figura 2.8 – Ilustração das principais t-conormas [77]

As normas setdefinem as operações entre duas ou mais variáveis fuzzy de um sistema.

2.3.3 Modelagem Fuzzy de Sistemas

Ao projetar um sistema é necessário fazer o modelamento do processo. Para tal tarefa, à área da Inteligência Artificial (IA) apresenta algumas técnicas, como: regras fuzzy (lingüísticas) e redes neurais artificiais[27].

As equações diferenciais descrevem a dinâmica ou a cinética de sistemas em uma forma conveniente. O exemplo usado é de Gomide (1994), onde a relação entrada x e a saída f(x) do sistema são obtidas pela equação 2.3 (ver figura 2.9).

(39)

Figura 2. 9 - Funçãof (x) descrita por equação matemática [27]

Contudo, sistemas reais não se apresentam com a simplicidade da curva da figura 2.9. Assim, esta descrição não é apropriada para a maioria de sistemas complexos tais como, sistemas não-lineares e sistemas variantes no tempo. À medida que a complexidade do sistema aumenta, a possibilidade de descrever um sistema com equações matemáticas diminui [3, 16, 27, 50, 82].

A abordagem com lógica fuzzy consiste em descrever a relação entre x e f(x) com regras do tipo:

Regra i: SEx é aiENTÃO f(x) é bi, i=1,...,N

(40)

22

Figura 2.10 - Função f (x) descrita por regras lingüísticas com valores exatos [27]

As regras para a lógica clássica são:

Regra 1: SEx é -2 ENTÃO f(x) é 25 Regra 2: SEx é -1 ENTÃO f(x) é 16 Regra 3: SEx é 0 ENTÃO f(x) é 9 Regra 4: SEx é 1 ENTÃO f(x) é 4 Regra 5: SEx é 2 ENTÃO f(x) é 1 Regra 6: SEx é 3 ENTÃO f(x) é 0 Regra 7: SEx é 4 ENTÃO f(x) é 1 Regra 8: SEx é 5 ENTÃO f(x) é 4 Regra 9: SEx é 6 ENTÃO f(x) é 9 Regra 10: SEx é 7 ENTÃO f(x) é 16

(41)

A vantagem desta descrição é a facilidade em mudar a descrição do sistema. Por exemplo, indicada por quadrados na figura 2.10, pode-se modificar a regra 7: 1 para 2; regra 8: 4 para 6; regra 9: 9 para 13; regra 10: 16 para 18, pois as regras são independentes umas das outras. Isto mostra que descrições na forma de regras são apropriadas para sistemas com aprendizagem, sistemas auto-organizáveis e sistemas adaptativos [27]. Por outro lado, existem desvantagens. Quando é dado x = 1 a conclusão obtida é f(x) = 4. Contudo, se é dado x = 1.5 nada pode ser inferido a partir do conjunto de regras mencionado, pois não existe nenhuma delas que possui um antecedente com x = 1.5. Isto mostra que os sistemas clássicos binários são pouco eficientes com relação a conhecimento impreciso, ou com variação em dados de entrada, e que é necessário uma quantidade de regras (base de conhecimento) para se obter um resultado ou desempenho significativo [27]. Conseqüentemente, a demanda de tempo para se verificar em geral é considerável. Alternativamente, poderíamos utilizar regras do mesmo tipo anterior, mas interpretadas por regras fuzzy. Neste caso ai e bi seriam termos lingüísticos associados à variável x, cada um destes termos associados a um conjunto fuzzy a fim de se estabelecer seu significado. Assim, poderíamos descrever a relação entre x e f(x) por:

Regra 1: SE x está em torno de -2

ENTÃO f(x) está no em torno de 25

Regra 2: SE x está em torno de -1

ENTÃO f(x) está no entorno de 16

... Regra 11: SE x está em torno de 8

ENTÃO f(x) está no entorno de 25

(42)

24

Figura 2.11 - Funçãof (x) descrita por regras lingüísticas fuzzy [27]

Esta relação fuzzy fornece valores razoáveis para qualquer dado no universo de interesse, por exemplo: x = 1.5; x = 3.2; x =4.3. É mais fácil reelaborar regras fuzzy do que equações matemáticas quando as características dos sistemas ou processo são variantes no tempo [82].

2.3.4 Estrutura de um Controlador Fuzzy

A idéia básica em controle fuzzy é modelar as ações a partir de conhecimento especialista, ao contrário de modelar o processo em si. Esta abordagem é diferente dos métodos convencionais de controle de processos, onde os mesmos são desenvolvidos via modelagem matemática.

(43)

entrada-saída, porque elas relacionam variáveis de entrada fundamentais para obter as saídas, mesmo que as unidades dimensionais sejam incompatíveis, como por exemplo, pressão de entrada e composição de material de borracha versus a vida útil de um pneu.

Todavia, operadores humanos podem controlar tais tipos de processos, sem na verdade conhecerem sua dinâmica e matemática. Eles podem adaptar estratégias de controle com treinamento, da experiência adquirida em situações anteriores e de aprendizagem por tentativa e erro [82]. Um operador humano é uma estrutura de controle que não necessita de modelos matemáticos [2, 82], mas é auto-sintonizado da observação de comportamento de dados e de relações de causa e efeito.

A dimensão e a complexidade de módulos de processos industriais tende a aumentar significativamente, quando se objetiva o desenvolvimento de um modelo preciso e de alta resolução. O parque industrial atual utiliza 80% de controladores baseados em PID; já controladores multivariáveis complexos baseados em controle avançado, têm menor representatividade [27]. Por outro lado, deve-se enfatizar que os controladores PID são lineares, e não são adequados para aplicações em plantão extremamente não-lineares [82].

A estrutura de um processo controlado por um controlador fuzzy é vista na figura 2.12. Este controlador é conhecido como Controlador de Mandani [27, 77, 86].

(44)

26

Os componentes básicos do controlador de Mandani são:

a) Interface de Fuzzificação

Os valores das variáveis de entrada são escalonados para condicionar os valores a universos de discurso normalizados e fuzzificação dos valores, transformando números em instâncias de variáveis lingüísticas.

b) Base de Conhecimento

Base de Regras: caracterizando a estratégia de controle e suas metas;

Base de Dados: armazena as definições necessárias sobre discretizações e normalizações dos universos de discurso, as partições fuzzy dos espaços de entrada e saída e as definições das funções de pertinência.

c) Procedimento de Inferência

Processa os dados fuzzy de entrada, junto com as regras, de modo a inferir as ações de controle fuzzy, aplicando o operador de implicação fuzzy e as regras de inferência da lógica fuzzy.

d) Interface de Defuzzificação

Transforma as ações de controle fuzzy inferidas em ações de controle não-fuzzy [2, 9, 28, 82, 98]. Em seguida, efetua um escalonamento, de modo a compatibilizar os valores normalizados vindos do passo anterior com os valores dos universos de discurso reais das variáveis.

(45)

Média dos Máximos (MDM): que representa o valor médio dentre todos os pontos máximos, quando existe mais de um máximo. O cálculo deste valor é dado pela equação 2.4:

MDM v N k k N = =

1 (2.4)

onde: vké o valor máximo da abscissa de cada regra disparada, e N é o número total desses elementos. Em casos onde a função de pertinência tenha mais de um máximo essa idéia não poderia ser utilizada.

Método do Centro de Área (CDA): este método, também é conhecido como: centróide, centro de gravidade ou de massa. O cálculo deste valor é dado pela equação 2.5:

= = = N i i N i i iy CDA 1 1 ω ω (2.5)

onde: N é o número de regras disparadas, ωi é o grau de ativação na ação conseqüente yi. O valor ωi corresponde à pertinência da ação, portanto ωi [0,1].

Este método apresenta pequenos problemas, um deles ocorre quando as funções de pertinências não possuem sobreposição. Ou seja, onde o centro geométrico da figura na realidade não tem significado físico. Outro fator é que se mais de uma regra tiver a mesma saída difusa há uma sobreposição de áreas que não é devidamente contabilizada, além disso a necessidade de integração numérica toma esforço computacional para cálculo.

Critério do Máximo (MAX): escolhe os pontos onde a funções de pertinência têm seus máximos (funções singleton), ignora-se as áreas das funções de pertinência. O cálculo do valor fuzzificado é realizado pela equação 2.6.

(46)

28

onde: µiposição do centro do máximo, e µo indicam os pontos em que ocorrem os máximos (alturas) das funções de pertinência de saída.

As vantagens e desvantagens dos métodos de defuzzificação [2, 82]:

Tabela 2.3 – Vantagens e desvantagens dos métodos de defuzzificação

Métodos Vantagens Desvantagens

Centro de Área(CDA)

- Contínuos em malha fechada - As funções de pertinência não possuem sobreposição onde o centro geométrico da figura na realidade não deveria ter significado físico;

- Se mais de uma regra tiver a mesma saída há uma sobreposição de áreas que é devidamente contabilizada;

- A necessidade de integração numérica, toma esforço computacional para cálculo. Centro do Máximo

(MAX)

- Contínuos em malha fechada;

- Decisões quantitativas.

- Se a função de pertinência possuir mais de um máximo, qual máximo utilizar.

Média dos Máximos (MDM)

- Em controladores fuzzy – PI, coloca-se um integrador para garantir a continuidade;

- Decisões qualitativas em malhas fechadas;

- Reconhece padrões.

- Casos onde a função de pertinência tenha mais de um máximo essa idéia não poderia ser usada;

(47)

Em geral, algumas dificuldades encontradas no projeto de controladores consistem na especificação da base de regras e da definição das funções de pertinência [27, 41, 44, 60, 82].

A especificação da base de regras pode ser obtida de diferentes maneiras, ressaltando-se as ressaltando-seguintes:

• Baseando-se na experiência e conhecimento de especialistas (qualitativo);

• Observação das ações de controle de um especialista;

• A partir da descrição lingüísticas das características dinâmicas do processo;

• Implementação de algoritmos de aprendizagem.

Contudo, algumas dicas práticas podem ser mencionadas [82]:

• Um número prático de funções de pertinência é algo entre 2 e 7. Tanto maior o número de conjuntos, maior a precisão, mas a demanda computacional também é significativa. Por exemplo, experiências mostraram que uma mudança de 5 conjuntos triangulares para 7 aumenta a precisão em torno de uns 15%, sendo que a partir de valores maiores não há melhorias significativas.

• Outro fator que afeta a precisão é o grau de superposição entre as funções de pertinência fuzzy. Um número mínimo de 25% e um máximo de 75% foram determinados experimentalmente como adequados, sendo 50% um compromisso razoável, pelo menos para os primeiros textos num sistema de malha fechada.

(48)

30

A(x) b = 1,0

s

x a

0

A(x) e = 1,0

c

x b

a = 0 d

A(x) c = 1,0

a

x Tabela 2.4 – Equações das funções de pertinência

Função Regra de Formação

Triangular            − − = 0 1 . ) ( s a x b x A Trapezoidal

(

)

(

)

             − − − − = 0 . . ) ( c d e x d e b a e x a x A Gaussiana b a x e c x A 2 ) ( . ) ( − =

, quando a – s ≤ x ≤ a + s

, caso contrário.

, quando a ≤ x ≤ b

, quando b ≤ x ≤ c

, quando c ≤ x ≤ d

(49)

A escolha destas funções, assim como a definição de suas características, podem ser feitas das seguintes maneiras:

• Baseando-se no conhecimento especialista;

• Emprego de métodos de otimização (redes neurais e/ou algoritmos genéticos);

• Definição de uma metodologia.

No universo de discurso de uma variável o intervalo numérico tem que abranger todos os possíveis valores reais que esta variável pode assumir. Assim, os produtos projetados com a lógica fuzzy possuem controles mais simples, são mais fáceis de construir e testar e propiciam um controle mais confiável do que aqueles que usam sistemas convencionais [8].

Os controladores fuzzy estão sendo combinados com as técnicas de Redes Neurais Artificiais (RNA´s), com o objetivo de construir sistemas fuzzy com capacidade de aprendizado. Esses Sistemas Híbridos (SH) estão descritos no capítulo 4.

2.4 Conclusão

(50)

CAPÍTULO 3

REDES NEURAIS ARTIFICIAIS

Neste capítulo são apresentados os fundamentos teóricos das redes neurais artificiais, descrevendo sua célula básica, sua arquitetura e os algoritmos de aprendizagem.

3.1 Introdução

Este capítulo apresenta a fundamentação de conceitos para implementação de sistemas baseados em Redes Neurais Artificiais (RNA). A tecnologia de redes neurais busca uma similaridade entre o comportamento do neurônio biológico e um modelo de neurônio computacional. Assim, será possível a realização de tarefas tais como: a associação, categorização e percepção de traços marcantes realizados pelo homem [85]. As RNA's possuem outros nomes, como neurocomputação, processamento paralelo distribuído, sistemas neuro-mórficos, computadores biológicos ou neuro-computadores.

O final da década de 80 marcou o ressurgimento da área de RNA's,também conhecida como conexionismo ou sistemas de processamento paralelo e distribuído [12]. Esta forma de computação é caracterizada por sistemas que, em algum nível, relembram a estrutura das redes neurais do cérebro humano [85]. As RNA's são implementadas em hardware e software, que imitam as habilidades computacionais do sistema nervoso biológico, usando um grande número de simples de neurônios artificiais interconectados.

Os neurônios artificiais simulam os neurônios biológicos, os quais recebem informações de sensores ou de outros neurônios artificiais, produzindo operações simples sobre estes dados, e passam o resultado para outros neurônios artificiais [52]. As RN's funcionam através de seus neurônios artificiais, que processam seus dados usando:

• Paralelismo lógico: para todos os neurônios da mesma camada;

(51)

Existem três características principais que descrevem uma RN biológica, e a que contribuem para a sua habilidade funcional:

• Topologia (arquitetura);

• Dinâmica;

• Aprendizado.

AsRN's estão sendo adotadas para uso em uma variedade de aplicações comerciais e militares que atinge desde o reconhecimento de padrões até otimização e seqüenciamento [6]. Realiza tarefas bem melhor que outras tecnologias mais convencionais (incluindo sistema especialistas). O campo de estudo mantém dependências interdisciplinares com as ciências cognitivas, a cibernética, a psicologia, a neuro-biologia, a matemática e a física.

3.2 As Redes Neurais

O funcionamento da grande maioria dos computadores digitais em uso atualmente é baseado no princípio de centralizar todas as operações em um processador poderoso e complexo. Essa é a idéia básica da arquitetura Von Neumann, assim chamada, pois foi proposta por John Von Neumann, um dos pioneiros da computação, em 1947. O poder de tal processador pode ser medido em termos de sua velocidade e complexidade [52, 85]

As redes neurais artificiais, diferentemente de computadores digitais convencionais, executam suas tarefas usando simultaneamente um grande número de processadores, ou seja, esses processadores operam em paralelo. A representação do conhecimento é distribuída pelas conexões e o aprendizado é feito alterando-se os valores associados com as conexões. Todavia, os métodos de aprendizagem ainda precisam ser programados e para cada problema específico um método de aprendizado apropriado deve ser escolhido.

3.2.1 Histórico das Redes Neurais Artificiais

Imagem

Figura 2.10 - Função f (x) descrita por regras lingüísticas com valores exatos [27]
Figura 2.11 - Função f (x) descrita por regras lingüísticas fuzzy [27]
Figura 3.8 – Funções de transferência mais empregadas [103]
Figura 3.20 – Fluxograma do desenvolvimento de uma rede neural [85]
+7

Referências

Documentos relacionados

Reforçando essa afirmação, apresentam os Baudrillard (1988 apud Urry, 1996: 23), argumentando que muitos indivíduos, não podendo vivenciar a realidade diretamente,

Através do tratamento de dados de Pirólise de Rock-Eval e Carbono Orgânico Total dos poços perfurados na bacia, foi possível avaliar as condições para geração de hidrocarbonetos,

O emprego da Teoria de Controle Supervisório e suas abordagens Monolítica e Modular Local para a célula flexível de manufatura didática modelada a partir de autômatos e

O processo em Espectroscopia de Impedância Elétrica (EIE) para levantamento da impedância elétrica consiste na injeção de uma corrente CA de amplitude constante, ao longo

Dissertação (mestrado) – Universidade do Estado de Santa Catarina Catarina, Centro de Ciências Tecnológicas, Programa de.. Pós-Graduação em Engenharia Elétrica,

Figura 76 Saída dos quatro estágios de amplificação em relação à tensão aplicada na bobina geradora de sinal. Figura 77 Defasagens provocadas pelos

Como mencionado no item anterior, o sistema de controle adotado para o conversor proposto é um sistema de controle multi-malhas composto por três malhas de controle, uma

Alguns robôs como o robô Khepera, por exemplo, também usam sensores infravermelhos para detectar objetos e medir a intensidade de luz ambiente (K-TEAM, 2002).. A figura 1.6 mostra