Anda di halaman 1dari 61

Sistema de Controle Difuso de Mamdani Aplicaes: Pndulo Invertido e outras co e

Pedro Miranda Mauro Barbosa Vilela Junior Diego Kronbauer


Projeto de Graduao ca

Orientao: Profa. Dra. Maria Bernadete Zanusso ca

Area de Concentrao: Inteligncia Articial ca e

Monograa apresentada como requisito da qualicao para a obteno do t ca ca tulo de graduado em Anlise de Sistemas. a

dct

ufms

Departamento de Computao e Estat ca stica Centro de Cincias Exatas e Tecnologia e Universidade Federal de Mato Grosso do Sul 1 de dezembro de 2003

Resumo
A lgica tradicional lida com variveis que assumem apenas dois poss o a veis estados: falso ou verdadeiro, representados por 0 ou 1. Em boa parte dos casos, essa representao ca suciente, porm, existem situaes em que valores intermedirios a esses, representam e e co a melhor o racioc nio e a linguagem humana para a soluo de problemas. Considerando ca que esta utiliza termos que expressam aspectos subjetivos na representao da incerteza, ca Zadeh (1965) props uma formalizao matemtica, criando a lgica difusa, que considera o ca a o graus de verdade variando entre 0 e 1. A partir disso, desenvolveram-se muitas aplicaes co em sistemas de controle de processos e tomada de decises nas reas de engenharia, o a nanas e outras. Em 1974, Mamdani props uma mquina de inferncia para sistemas c o a e de controle difuso. O objetivo deste trabalho estudar: as noes bsicas sobre os conjuntos difusos e e co a compar-las com os conjuntos clssicos; a representao do conhecimento de um espea a ca cialista num determinado dom nio, usando lgica difusa; a arquitetura de um sistema de o controle difuso com a inferncia de Mamdani; e complementar a codicao de um sistema e ca de controle difuso, usando linguagem C, aplicado ao controle do equil brio de um pndulo e invertido simplicado, proposta por Greg Viot (1993). O sistema implementado para o pndulo invertido, usando as variveis ngulo e vee a a locidade angular como entradas e a varivel fora a ser controlada como sa a c da, forneceu bons resultados. Porm, para um modelo mais real e stico, deve-se relacionar mais variveis a de entradas e/ou sa das, tais como: massa da esfera na ponta do pndulo, massa da base, e atrito da base com a superf cie, atrito com o ar, etc. Este sistema, da maneira como est atualmente, pode ser aplicado a outros dom a nios de conhecimento, desde que sejam modelados com duas entradas e uma sa da.

Conte do u
Lista de Figuras Lista de Tabelas 1 Introduo ca 1.1 1.2 1.3 1.4 1.5 Lgica Clssica X Lgica Difusa . . . . . . . . . . . . . . . . . . . . . . . . o a o Sistemas Difusos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Aplicaes da Lgica Difusa . . . . . . . . . . . . . . . . . . . . . . . . . . co o Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Estrutura da Monograa . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi vii 1 2 3 4 4 5 6 6 7 7 8 9

2 Conjuntos Difusos e Lgica Difusa: A Base do Controle Difuso o 2.1 Conjuntos Clssicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . a 2.1.1 2.1.2 2.2 2.3 Funes de pertinncia . . . . . . . . . . . . . . . . . . . . . . . . . co e Operaes com Conjuntos . . . . . . . . . . . . . . . . . . . . . . . co

Conjuntos Difusos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Operaes com Conjuntos Difusos . . . . . . . . . . . . . . . . . . . . . . . co 2.3.1 2.3.2 2.3.3

Unio de dois Conjuntos Difusos . . . . . . . . . . . . . . . . . . . . 10 a Interseo de dois Conjuntos Difusos . . . . . . . . . . . . . . . . . 10 ca Complemento de um Conjunto Difuso . . . . . . . . . . . . . . . . . 11

2.4

Lgica Difusa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 o 2.4.1 2.4.2 2.4.3 Variveis Ling a usticas . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Regras de Produo Fuzzy . . . . . . . . . . . . . . . . . . . . . . . 15 ca Denio de Regras de Controle . . . . . . . . . . . . . . . . . . . . 15 ca

ii

Contedo u 2.4.4 2.4.5 2.4.6

dct-ufms Ordem das Regras . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Nmero de Regras . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 u Desenho de uma Base de Regras . . . . . . . . . . . . . . . . . . . . 16 18

3 Arquitetura de um Sistema Difuso 3.1 3.2

Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 ca Arquitetura de um Sistema Difuso . . . . . . . . . . . . . . . . . . . . . . . 19 3.2.1 3.2.2 3.2.3 3.2.4 Fuzzication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Base de Regras ou de Conhecimento . . . . . . . . . . . . . . . . . 22 Avaliao de Regras . . . . . . . . . . . . . . . . . . . . . . . . . . 24 ca Defuzzication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.3 3.4

Mquina de Inferncia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 a e Exemplos de Aplicao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 ca 3.4.1 3.4.2 Exemplos de Clculos . . . . . . . . . . . . . . . . . . . . . . . . . . 29 a Exemplos de Sistemas Difusos . . . . . . . . . . . . . . . . . . . . . 31

4 Desenho de um Controlador Difuso Aplicado ao Problema do Pndulo e Invertido 36 4.1 4.2 4.3 4.4 Variveis Utilizadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 a Denio de Regras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 ca Implementao do Sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 ca A Execuo do Programa ca . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 44

5 Testes e Resultados 5.1

Testando o Sistema Fuzzy . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 48 50 51

6 Concluso a Referncias Bibliogrcas e a A Estruturas de Dados do Sistema Fuzzy

A.1 Estruturas Propostas por Greg Viot . . . . . . . . . . . . . . . . . . . . . . 51 A.2 Esquema Simplicado aps Leitura e Preenchimento das Estruturas de Dados 51 o

iii

Contedo u B Sistema FuzzyPI - Pndulo Invertido e

dct-ufms 52

B.1 Listagem do Cdigo FuzzyPI.Cpp . . . . . . . . . . . . . . . . . . . . . . . 52 o B.2 Resultados Obtidos Utilizando o Aplicativo FuzzyPI . . . . . . . . . . . . . 52 C Outros Exemplos 53

C.1 Resultados Obtidos Utilizando a Base do FuzzyPI no Controle do Aquece dor de Agua . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 C.2 Telas do Aplicativo FuzzyFan . . . . . . . . . . . . . . . . . . . . . . . . . 53

iv

Lista de Figuras
1.1 1.2 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 Valores da lgica binria . . . . . . . . . . . . . . . . . . . . . . . . . . . . o a Valores da lgica trivalente . . . . . . . . . . . . . . . . . . . . . . . . . . . o Operaes com conjuntos utilizando diagramas de Venn . . . . . . . . . . . co Grco das funes de pertinncia para os conceitos pequeno, mdio e grande a co e e 2 3 7 9

Funo de pertinncia e operao de unio dos conjuntos difusos A e B . . 10 ca e ca a Funo de pertinncia e operao de interseo dos conjuntos difusos A e B 11 ca e ca ca Funo de pertinncia e complemento dos conjuntos difusos A e B . . . . . 11 ca e Partio fuzzy de uma varivel ling ca a ustica representando a Temperatura . . 13 Valores ling usticos da varivel difusa V elocidade . . . . . . . . . . . . . . 13 a Funes de pertinncia do pndulo invertido . . . . . . . . . . . . . . . . . 14 co e e Desenho de uma base de regras para o problema do pndulo invertido . . . 16 e Arquitetura bsica de um sistema difuso . . . . . . . . . . . . . . . . . . . 20 a Conjuntos difusos da varivel T emperatura . . . . . . . . . . . . . . . . . 20 a Funo de pertinncia trapezoidal . . . . . . . . . . . . . . . . . . . . . . . 21 ca e Sistema difuso do mercado de aes . . . . . . . . . . . . . . . . . . . . . . 23 co Avaliao de regras computadas . . . . . . . . . . . . . . . . . . . . . . . . 24 ca Defuzzication - mtodo do centro de rea (COA) . . . . . . . . . . . . . . 27 e a Defuzzication - mtodo da mdia dos mximos (MOM) . . . . . . . . . . 28 e e a Diagrama t pico de um sistema de processamento . . . . . . . . . . . . . . 28 Defuzzication da combinao das concluses das regras . . . . . . . . . . 31 ca o

3.10 Exemplo de um modelo de inferncia de Mamdani com 3 regras . . . . . . 32 e 3.11 Exemplo de um controlador para o aquecedor de gua . . . . . . . . . . . . 33 a

Lista de Figuras 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 5.1 5.2

dct-ufms

Exemplo de pndulo invertido . . . . . . . . . . . . . . . . . . . . . . . . . 36 e Base de regras para o pndulo invertido . . . . . . . . . . . . . . . . . . . . 38 e Exemplo de arquivo de entrada das funes de pertinncia . . . . . . . . . 38 co e Converso para o formato de dois pontos e duas inclinaes . . . . . . . . . 39 a co Exemplo de arranjo para dados das entradas . . . . . . . . . . . . . . . . . 40 Detalhe da estrutura de dados utilizada . . . . . . . . . . . . . . . . . . . . 40 Exemplo de estrutura para a base de regras . . . . . . . . . . . . . . . . . 41 Exemplo de arranjo para dados das sa das . . . . . . . . . . . . . . . . . . 41 Termos difusos das variveis de entrada do sistema . . . . . . . . . . . . . 45 a Representao grca da defuzzication da varivel de sa Fora . . . . . 47 ca a a da c

vi

Lista de Tabelas
3.1 3.2 3.3 5.1 5.2 5.3 5.4 5.5 Controle da Velocidade de ventilao . . . . . . . . . . . . . . . . . . . . . 19 ca Variveis, termos difusos e pontos para o controlador difuso do aquecedor a de gua . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 a Base de regras para o controlador difuso do aquecedor de gua . . . . . . . 34 a Variveis, termos difusos e respectivos pontos . . . . . . . . . . . . . . . . 45 a Fuzzication da varivel Angulo . . . . . . . . . . . . . . . . . . . . . . . . 46 a Fuzzication da varivel V elocidade . . . . . . . . . . . . . . . . . . . . . . 46 a Avaliao das regras disparadas . . . . . . . . . . . . . . . . . . . . . . . . 46 ca Resultados dos clculos para a defuzzication da varivel de sa Fora a a da c . 47

vii

Cap tulo 1 Introduo ca


Aristteles, lsofo grego (384 - 322 a.C.), foi o fundador da cincia da lgica, e o o e o estabeleceu um conjunto de regras r gidas, para que concluses pudessem ser logicamente o vlidas e aceitas. O emprego desta lgica, leva a uma linha de racioc a o nio lgico baseado o em premissas e concluses, como por exemplo: se for observado que todo ser vivo o e mortal (premissa 1), a seguir constatado que Sarah um ser vivo (premissa 2), e e como concluso temos que Sarah mortal. Desde ento, a lgica ocidental, assim a e a o chamada, tem sido binria, isto , uma declarao falsa ou verdadeira, no podendo ser a e ca e a ao mesmo tempo parcialmente verdadeira e parcialmente falsa. Esta suposio e a lei da ca no contradio formam a base do pensamento lgico ocidental. a ca o A lgica difusa (fuzzy logic) viola estas suposies. O conceito de dualidade, estao co belecendo que algo pode e deve coexistir com o seu oposto, faz a lgica difusa parecer o natural, e at mesmo inevitvel. A lgica de Aristteles trata com valores verdade das e a o o armaes, classicando-as como verdadeiras ou falsas. No obstante, muitas das exco a perincias humanas no podem ser classicadas simplesmente como verdadeiras ou falsas, e a sim ou no, branco ou preto. Exemplicando: E aquele homem alto ou baixo? A taxa de a risco para aquele empreendimento grande ou pequena? Um sim ou um no como respose a ta a estas questes , na maioria das vezes, incompleta. Na verdade, entre a certeza de ser o e e a certeza de no ser, existem innitos graus de incerteza. Esta imperfeio intr a ca nseca a ` informao representada numa linguagem natural, tem sido tratada matematicamente, ca no passado, com o uso da teoria das probabilidades. Contudo, a lgica difusa, com base na teoria dos conjuntos difusos (fuzzy set), tem o se mostrado mais adequada para tratar imperfeies da informao do que a teoria das co ca probabilidades. De forma mais objetiva e preliminar, podemos denir lgica difusa coo mo uma ferramenta capaz de capturar informaes vagas, em geral, descritas em uma co linguagem natural, e convert-las para um formato numrico de fcil manipulao pelos e e a ca computadores. Considere a seguinte armativa: Se o tempo de um investimento longo e e o sistema nanceiro tem sido no muito estvel, ento a taxa de risco do investimento a a a muito alta. Os termos longo, no muito estvel e muito alta trazem consigo e a a informaes vagas. A extrao (representao) destas informaes, se d por meio do uso co ca ca co a de conjuntos difusos. Devido a esta propriedade e a capacidade de realizar inferncias, a e 1

1.1. Lgica Clssica X Lgica Difusa o a o

dct-ufms

lgica difusa tem encontrado grandes aplicaes nas seguintes reas: Sistemas Especiao co a listas; Computao com Palavras; Racioc ca nio Aproximado; Linguagem Natural; Controle de Processos; Robtica; Modelagem de Sistemas Parcialmente Abertos; Reconhecimento o de Padres; Processos de Tomada de Deciso (decision making). o a A lgica difusa ou nebulosa, tambm pode ser denida como a lgica que suporta os o e o modos de racioc que so aproximados, ao invs de exatos, como estamos naturalmente nio a e acostumados a trabalhar. Ela est baseada na teoria dos conjuntos difusos e difere dos a sistemas lgicos tradicionais em suas caracter o sticas e detalhes. Nesta lgica, o racioc exato corresponde a um caso limite do racioc aproximado, o nio nio sendo interpretado como um processo de composio difuso. ca A lgica em questo, foi desenvolvida por Lofti A. Zadeh[7], da Universidade da o a Califrnia em Berkeley, na dcada de 60, e combinou lgica multivalorada, teoria proo e o babil stica, inteligncia articial e redes neurais para que pudesse representar o pensamene to humano, ou seja, ligar a ling ustica e a inteligncia humana, j que muitos conceitos e a so melhores denidos por palavras do que pela matemtica. a a O valor verdade de uma proposio pode ser um subconjunto difuso de qualquer ca conjunto parcialmente ordenado, ao contrrio dos sistemas lgicos binrios, nos quais a o a o valor verdade s pode assumir 2 valores: verdadeiro (1) ou falso (0). o No intuito de entender melhor toda esta teoria, estudaremos a lgica difusa e os seus o componentes, tomando como base o modelo proposto por Mamdani[5]. Por ultimo, faremos um estudo sobre controladores difusos, durante o qual, comple mentaremos a codicao para o aplicativo Controle do Pndulo Invertido, proposto por ca e Greg Viot[6], utilizando as estruturas de dados e os segmentos de cdigos disponibilizados o pelo autor, analisando assim, as caracter sticas e funcionalidades deste modelo.

1.1

Lgica Clssica X Lgica Difusa o a o

A lgica clssica (binria, trivalente, etc.) tem, bem denidos, seus valores limiares. o a a Por exemplo, na lgica binria ou booleana, existem dois valores de verdade (ou de limiar): o a verdadeiro ou falso, 1 ou 0, sim ou no. Ver Figura 1.1. a

Figura 1.1: Valores da lgica binria o a

1.2. Sistemas Difusos

dct-ufms

A lgica trivalente uma lgica de trs respostas denitivas, conforme est represeno e o e a tado na Figura 1.2:

Figura 1.2: Valores da lgica trivalente o Diferentemente da lgica clssica, a lgica difusa no tem bem denidos seus limiao a o a res de deciso. Por exemplo, se tomarmos a lgica trivalente e trocarmos os n a o veis de deciso, ento poderemos expressar os valores de limiares como um intervalo de valores, a a isto , 0, 0.5, 1 sero representados por intervalos de: 0 a 0.4, 0.2 a 0.8, 0.6 a 1, e a respectivamente. Lgica a cincia que estuda as leis, os modos e as formas de racioc o e e nio. Desta forma a lgica difusa estuda as leis, os modos e as formas de racioc o nio aproximado. A lgica difusa proporciona um meio para enfrentar situaes do mundo real, situaes o co co complexas e dinmicas, que so mais facilmente caracterizadas por palavras, que por a a expresses matemticas. o a Por exemplo, se perguntarmos para vrias pessoas: a partir de qual altura consideram a uma pessoa alta, uma grande parcela responder com valores diferentes. a

1.2

Sistemas Difusos

A vida real est cheia de situaes que requerem racioc aproximado para manipular a co nio mais informaes qualitativas do que quantitativas. co Um sistema difuso pode resolver problemas, tal como faria um ser humano; como controlar a preciso e a temperatura de uma caldeira na indstria, processar e reconhecer a u imagens ou controlar uma lavadora de roupas, so situaes que tm em comum a coma co e plexidade e o dinamismo, e tambm serem mais facilmente caracterizadas por palavras do e que por expresses matemticas. Visto que na lgica clssica no existe nenhum sistema o a o a a para representar proposies em linguagem natural, quando o signicado impreciso, e co e mesmo que o signicado pudesse ser representado, no existe um mecanismo para poder a avaliar e obter uma resposta. At o momento j temos uma idia do que a lgica difusa, mas, de onde surgiu o e a e e o termo fuzzy?, Quem o introduziu?, vejamos: Na dcada de 20, J. Lukasiewicz, lsofo polons, desenvolveu os princ e o e pios da lgica o multivalorada, cujos enunciados podem ter valores de verdade compreendidos entre 0 3

1.3. Aplicaes da Lgica Difusa co o

dct-ufms

(falso) e 1 (verdadeiro) da lgica binria clssica. Em 1965 Lofti A. Zadeh[7], aplicou o a a a lgica multivalorada ` teoria de conjuntos, estabelecendo a possibilidade de que os o a elementos poderiam ter diferentes graus de pertinncia a um conjunto. Zadeh introduziu e o termo fuzzy (difuso) e desenvolveu uma lgebra completa para os conjuntos difusos. a

1.3

Aplicaes da Lgica Difusa co o

Graas ao xito com que a lgica difusa tem enfrentado situaes do mundo real, c e o co tm-se encontrado aplicaes em uma grande variedade de campos, das quais as mais e co transcendentais foram dados na rea de controle com projetos e implementaes de controa co ladores difusos (Fuzzy Logic Control ), iniciado pelos trabalhos de Mamdani e Assilian[4], na dcada de 70. e Exemplos de sistemas de controle e produtos comerciais, cujo funcionamento baseiamse em um racioc nio aproximado (difuso), so: a Controle de forno de cimento; Estabilizao de imagens em cmeras de v ca a deo; Lavadora de pratos e de roupas; Conduo automtica de trens metropolitanos; ca a Controle de ar-condicionado. Mas, quando utilizar a lgica difusa? Em situaes que necessitem proporcionar o co um controle inteligente em aplicaes dif co ceis, especialmente aquelas que requerem a otimizao de muitas variveis ou controle de sistemas no lineares dif ca a a ceis de modelar.

1.4

Objetivos

O objetivo geral deste projeto estudar lgica difusa, complementar a codicao e o ca de um sistema de controle difuso para o pndulo invertido, utilizando as estruturas de e dados e os segmentos de cdigos desenvolvidos por Greg Viot[6], e descrever exemplos de o algumas aplicaes. co

Objetivos Espec cos Estudar conjuntos difusos e lgica difusa; o Estudar sistema de controle difuso (modelo Mamdani); 4

1.5. Estrutura da Monograa Estudar o problema do pndulo invertido; e

dct-ufms

Complementar o cdigo de um sistema de controle difuso para o pndulo invertido, o e utilizando as estruturas de dados e os segmentos de cdigos desenvolvidos por Greg o Viot.

1.5

Estrutura da Monograa

A seguir apresentado um resumo descritivo dos cap e tulos desta monograa, dando assim, uma idia do trabalho realizado. e Cap tulo 1: Esta introduo, na qual apresenta-se um pouco do histrico da lgica ca o o difusa, suas aplicaes, alm de uma pequena introduo aos sistemas difusos; co e ca Cap tulo 2: Neste cap tulo apresenta-se uma breve explanao sobre conjuntos, ca iniciando com os conceitos bsicos dos conjuntos clssicos, passando imediatamente a a ao estudo dos conjuntos difusos, que a base da lgica difusa, no qual apresenta-se e o as operaes mais utilizadas e a denio de seus componentes; co ca Cap tulo 3: Neste cap tulo, descreve-se a arquitetura de um sistema difuso em seus principais mdulos. Apresenta-se o modelo de inferncia fuzzy de Mamdani e o e os mtodos de fuzzication pelo centro de rea e pela mdia dos mximos; e a e a Cap tulo 4: Apresenta o problema do pndulo invertido, e tambm, as denies e e co e mtodos utilizados para a implementao de um controlador difuso; e ca Cap tulo 5: Demonstra os testes e resultados obtidos com a execuo do sistema ca fuzzy, aplicado ao problema do pndulo invertido; e Cap tulo 6: Concluso. a

Cap tulo 2 Conjuntos Difusos e Lgica Difusa: o A Base do Controle Difuso


Neste cap tulo apresenta-se uma breve explanao sobre conjuntos, iniciando com os ca conceitos bsicos dos conjuntos clssicos, passando imediatamente ao estudo dos conjuntos a a difusos, que a base da lgica difusa, quando so apresentadas as operaes mais utilizadas e o a co e a denio de seus componentes. A lgica difusa tratada na Seo 2.4. ca o e ca

2.1

Conjuntos Clssicos a

Conjunto um conceito bastante primitivo, anlogo ao de ponto ou de reta. Daqui e a para frente, um conjunto ser algo que pode ou no ter elementos, mas com a propriedade a a de se poder dizer, se um objeto qualquer dado, ou no elemento do conjunto em questo. e a a Aos objetos, se existirem, que formam um conjunto, chamar-se-o de elementos a deste conjunto. Na teoria de conjuntos trabalha-se, `s vezes, com vrios conjuntos cujos a a elementos so todos do mesmo tipo, pertencem todos a um mesmo conglomerado, ao que a chama-se conjunto universo. Se A um conjunto, a proposio x um elemento de A denotar-se- por x A. A e ca e a negao desta, x no um elemento de A denotar-se- por x A. ca a e a Por exemplo, se A o conjunto dos trs primeiros nmeros naturais pares, ento 2 A, e e u a 4 A, 6 A, 24 A, 9 A, so proposies verdadeiras. Note que pertinncia a co e e uma relao que vincula cada elemento a um conjunto, e no entre os elementos de um ca a conjunto.

2.1. Conjuntos Clssicos a

dct-ufms

2.1.1

Funes de pertinncia co e

Como j foi mencionado, a pertinncia uma relao que vincula cada elemento a a e e ca um conjunto. Em outras palavras, em um conjunto bem denido (lgica clssica), a o a pertinncia ou no pertinncia de um elemento x a um conjunto A se descreve mediante e a e a funo caracter ca stica A (x), em que: A (x) = 1, x A 0, x A (2.1)

Esta funo chamada funo de pertinncia ou funo caracter ca e ca e ca stica de A e est a denida para todos os elementos do universo. A funo de pertinncia faz um mapeamento ca e de todo o universo U ao seu conjunto de avaliao dos dois elementos {0, 1}: ca A : U {0, 1} (2.2)

Com uma identicao de {0, 1} e {f also, verdadeiro}, esta funo caracter ca ca stica pode fornecer um papel importante na alocao de valores verdade a proposies referentes ao ca co conjunto A.

2.1.2

Operaes com Conjuntos co

Podemos construir conjuntos a partir de dois ou mais conjuntos dados, aplicando neles, as operaes bsicas que j conhecemos: complemento, unio e interseo. E comum usar co a a a ca diagramas de Venn para representar o conjunto universo U e os conjuntos formados com co seus elementos. Na Figura 2.1, a parte achuriada (mais escura), ilustra as operaes mencionadas anteriormente, utilizando tal diagrama.

Figura 2.1: Operaes com conjuntos utilizando diagramas de Venn co

2.2. Conjuntos Difusos

dct-ufms

2.2

Conjuntos Difusos

A lgica difusa usada no sistema de controle difuso, tem como base os conjuntos o difusos. Estes, esto denidos por suas funes de pertinncia, as quais expressam a a co e distribuio de verdade de uma varivel. ca a Formalmente, um conjunto difuso D de um universo de discurso U = {x|x } se dene como um mapeamento D (x) : U [0, ], , no qual cada x alocado a e um nmero no intervalo compreendido entre [0, ] o qual indica a pertinncia de x ao u e conjunto difuso D, ou conceito D. Por exemplo, se U o conjunto das alturas poss e veis para o ser humano e D = mdio, medio (x) indica o quanto x satisfaz o conceito mdio. e e Quando normaliza-se a funo de pertinncia ( = 1), obtm-se D (x) : U [0, 1]. ca e e Daqui pra frente, considerar-se- funes normalizadas. Para os casos extremos, a funo a co ca de pertinncia reduz-se a singularidades, em outras palavras, a lgica difusa passa a e o ser lgica clssica. Se as singularidades tm duas possibilidades, ento fala-se de lgica o a e a o binria. a Exemplicando: para obter-se os valores normalizados de um conjunto de nmeros, u deve-se dividir cada nmero pelo nmero de maior valor, assim a diviso do maior por ele u u a mesmo resultar no valor 1. Seja o conjunto {30, 50, 80, 100, 70, 40}, o qual normalizando a obtem-se {0.3, 0.5, 0.8, 1, 0.7, 0.4}. Para um conjunto difuso o conjunto de avaliao ca e um intervalo real: D (x) : U [0, 1] (2.3)

A funo de pertinncia de um conjunto difuso permite uma continuidade de graus de ca e pertinncia. Assim, em vez das pertinncias 0 ou 1 somente, tm-se innitos valores no e e e a contveis para pertinncia. a e O grau de pertinncia no probabilidade, basicamente, uma medida da compatie a e e bilidade de um objeto com o conceito representado por um conjunto difuso. Um conjunto difuso D em um universo U pode ser denido como um conjunto de pares ordenados; cada par formado por um elemento e seu grau de pertinncia ao conjunto D: e D = {(D (x)/x) | x U } Exemplo de funo de pertinncia, a representao grca est na Figura 2.2: ca e ca a a 1, se x < 1.5 2.5 x, se 1.5 x 2.5 P (x) = 0, se x > 2.5 1.5 x 2.5 x 1.5, se 3.5 x, se 2.5 x 3.5 M (x) = 0, se x < 1.5 ou x > 3.5 8 (2.4)

2.3. Operaes com Conjuntos Difusos co

dct-ufms

G (x) =

0, se x < 2.5 x 2.5 se 2.5 x 3.5 1, se x > 3.5

Figura 2.2: Grco das funes de pertinncia para os conceitos pequeno, mdio e grande a co e e

2.3

Operaes com Conjuntos Difusos co

Na lgica booleana, a funo dos operadores booleanos bem conhecida, por exemplo, o ca e ao aplicarmos uma operao And: ca 1 1 0 0 And And And And 1 0 1 0 1 0 0 0

Ou seja, se o elemento pertence a dois conjuntos, ento ele tambm pertence ` interseo; a e a ca se pertence a um e no a outro, ento no pertence ` interseo. a a a a ca Na lgica difusa os valores no esto denidos, e sua defuzzication exibe uma diso a a tribuio descrita por uma funo de pertinncia. Ao aplicar-se as regras da lgica ca ca e o binria a duas variveis difusas, qual ser o resultado? Para responder esta pergunta, a a a considerar-se- uma lgica de valores mximos e m a o a nimos, em outras palavras, empregarse- operaes denidas em lgica difusa. a co o A lgica difusa utiliza conjuntos difusos, assim, tambm haver operaes de unio, o e a co a interseo e complemento. Quando houver dois conjuntos difusos A e B e lhes forem ca aplicada uma operao de unio (ou Or ), a pertinncia dos elementos ao conjunto ca a e unio obtida tomando-se o maior valor de pertinncia aos dois conjuntos. Vejamos, se a e e A (x) = 0.5 e B (x) = 0.7, ento AB (x) = max{A (x), B (x)} = max{0.5, 0.7} = 0.7. a A pertinncia do valor x a unio difusa de A e B 0.7. e a e Para o caso da interseo (ou And ), o valor resultante da operao corresponde ca ca ao valor m nimo de pertinncia aos dois conjuntos. Para o exemplo acima, AB (x) = e min{A (x), B (x)} = min{0.5, 0.7} = 0.5. A pertinncia do valor x a interseo difusa de e ca A e B 0.5. e 9

2.3. Operaes com Conjuntos Difusos co

dct-ufms

Na operao complemento (ou Not), toma-se o valor que complementa 1. Para o ca exemplo acima, a pertinncia de x ao complemento do conjunto difuso A, denotado por e dada por A (x) = 1 A (x). A, e Nas subsees seguintes, sero apresentadas essas denies, de forma geral. co a co

2.3.1

Unio de dois Conjuntos Difusos a

Sejam A e B dois conjuntos difusos no universo U com funes de pertinncia A (x) co e e B (x), respectivamente. A unio dos conjuntos A e B se dene por: a A B = {(max{A (x), B (x)}/x) | x U } A funo de pertinncia de x ao conjunto unio de A e B : ca e a e AB (x) = max{A (x), B (x)} (2.6) (2.5)

na qual a funo max{} seleciona o valor mximo dos graus de pertinncia. Na Figura ca a e 2.3 podemos ver um exemplo da unio de dois conjuntos difusos. a

Figura 2.3: Funo de pertinncia e operao de unio dos conjuntos difusos A e B ca e ca a

2.3.2

Interseo de dois Conjuntos Difusos ca

Sejam A e B dois conjuntos difusos no universo U com funes de pertinncia A (x) co e e B (x) respectivamente, a interseo dos conjuntos A e B se dene por: ca A B = {(min{A (x), B (x))/x} | x U } A funo de pertinncia de x ao conjunto interseo de A e B : ca e ca e AB (x) = min{A (x), B (x)} 10 (2.8) (2.7)

2.3. Operaes com Conjuntos Difusos co

dct-ufms

em que a funo min{} seleciona o valor m ca nimo dos graus de pertinncia. A Figura 2.4 e mostra o grco da funao de pertinncia da interseo de dois conjuntos difusos. a c e ca

Figura 2.4: Funo de pertinncia e operao de interseo dos conjuntos difusos A e B ca e ca ca

2.3.3

Complemento de um Conjunto Difuso

Seja A um conjunto difuso no universo U com uma funo de pertinncia A (x), o ca e denido por: complemento do conjunto A o conjunto A e A = {(1 A (x)/x) | x U } e A funo de pertinncia de x ao conjunto A : ca e A (x) = 1 A (x) (2.10) (2.9)

A Figura 2.5 mostra os grcos da funo de pertinncia de dois conjuntos difusos e a ca e seus conjuntos complementares.

Figura 2.5: Funo de pertinncia e complemento dos conjuntos difusos A e B ca e Existem outros operadores diferentes do mximo e do m a nimo para denir unio e a interseo difusa, respectivamente. Para mais detalhes, ver Zanusso[1]. ca 11

2.4.

Lgica Difusa o

dct-ufms

2.4

Lgica Difusa o

A lgica difusa usada para fazer representao difusa do conhecimento. De acordo o e ca com Oliveira[10], quando um ser humano est resolvendo um problema complexo, ele a primeiro tenta estruturar o conhecimento sobre este problema em conceitos gerais, e depois observa as relaes entre esses conceitos. Este processo de modelagem top-down permite co que se converta relaes essencialmente gerais e imprecisas, obtidas no primeiro momento, co em algoritmos operacionais mais detalhados, numa segunda fase. Essa perspectiva essencialmente humana de encarar um problema, geralmente no a permite a denio precisa de uma soluo, em termos de nmeros exatos, mas conduz a ca ca u uma classicao ou agregao qualitativa em categorias gerais ou conjuntos de poss ca ca veis solues. A capacidade de classicar de modo impreciso as variveis de um problema, em co a termos de conceitos qualitativos em vez de quantitativos, traduz a idia de uma varivel e a ling ustica. O processo de representao fuzzy de conhecimento, aqui descrito, depende ca fundamentalmente deste conceito.

2.4.1

Variveis Ling a usticas

Uma varivel ling a ustica denida como uma entidade utilizada para representar, de e modo impreciso e, portanto, ling ustico, um conceito ou uma varivel de um dado proa blema. Ela admite como valores, apenas expresses ling o usticas (freqentemente chamadas u de termos primrios), como frio, muito grande, aproximadamente alto, etc. Estes valores a contrastam com os valores assumidos por uma varivel numrica, que admite apenas a e valores precisos (ou seja, nmeros). u Um termo primrio de uma dada varivel ling a a ustica pode ser representado por um conjunto fuzzy existente no universo de discurso, no qual esta varivel est denida. a a Assim, cada conjunto fuzzy denido neste universo associado a um conceito ling e ustico que classica ou dene um valor impreciso para a varivel em questo. Para um dado a a elemento x do universo de discurso, o valor de pertinncia D (x) representa o quanto este e elemento satisfaz o conceito representado pelo conjunto fuzzy D. Os termos primrios denidos para uma dada varivel ling a a ustica formam a sua ese trutura de conhecimento, chamada de partio fuzzy desta varivel. Na Figura 2.6, ca a mostrado um exemplo de partio fuzzy de uma varivel ling ca a ustica chamada Temperatura. O universo de discurso utilizado um segmento da escala Celcius de temperatura, e entre 0 e 50 graus. A forma de utilizao das variveis ling ca a usticas depende basicamente da denio das ca propriedades sintticas e semnticas que vo reger o comportamento do sistema de conhea a a cimento fuzzy. As propriedades sintticas denem o formato em que sero armazenadas as a a informaes ling co usticas fuzzy. Elas proporcionam a criao de uma base de conhecimento ca contendo sentenas estruturadas, sistematizando os processos de armazenamento, busca c e processamento dos dados existentes. 12

2.4.

Lgica Difusa o

dct-ufms

Figura 2.6: Partio fuzzy de uma varivel ling ca a ustica representando a Temperatura Por outro lado, as propriedades semnticas vo especicar de que modo extra e a a e do processado o conhecimento, armazenado na forma de declaraes condicionais fuzzy, ou co regras de produo fuzzy, contido na estrutura denida pelas propriedades sintticas. ca a Uma varivel ling a ustica, como seu prprio nome sugere, uma varivel cujos valores o e a so palavras ou sentenas em uma linguagem natural ou sinttica. Na expresso a a c e a velocidade de um carro, V elocidade uma varivel ling e a ustica e seus valores so: muito a baixa, baixa, mdia, alta, muito alta, e assim sucessivamente. Ver Figura 2.7. e

Figura 2.7: Valores ling usticos da varivel difusa V elocidade a Cada valor de uma varivel ling a ustica representa um conjunto difuso em um universo de discurso determinado. Estritamente, uma varivel ling a ustica est formada por cinco partes (x, T (x), U, G, M ), a em que: x: nome da varivel. a T (x): conjunto de valores ling usticos de x. U : universo de discurso em que se dene T (x). G: regra sinttica para gerar os nomes dos valores de x. a M : regra semntica para associar cada valor a seu signicado. a 13

2.4.

Lgica Difusa o

dct-ufms

Por exemplo: V elocidade uma varivel ling e a ustica. O conjunto de valores ling usticos (partio difusa de seu universo de discurso) : ca e T(Velocidade) = {muito baixa, baixa, mdia, alta, muito alta} e Cada termo em T (V elocidade) est caracterizado por um conjunto difuso no universo a de discurso, exemplo: U = [0, 200] km/h. A regra sinttica G determina a ordem das a palavras dos valores ling usticos de V elocidade: como em muito alta, na qual muito um e modicador que precede ao termo primrio alta. A regra semntica M associa cada valor a a ling ustico com seu signicado: {alta maior ao redor de 180}, e {baixa menor ao redor e e de 30}, etc. No exemplo do pndulo invertido, descrito no Cap e tulo 4, as variveis so Angulo, Vea a locidade Angular e Fora. Os valores ling c usticos para cada varivel difusa so: N G (Nea a gativo Grande), N M (Negativo Mdio), N F (Negativo Fraco), ZE (Zero), P F (Positivo e Fraco), P M (Positivo Mdio) e P G (Positivo Grande). Ver Figura 2.8. e

Figura 2.8: Funes de pertinncia do pndulo invertido co e e

14

2.4.

Lgica Difusa o

dct-ufms

2.4.2

Regras de Produo Fuzzy ca

A maneira mais comum de armazenar informaes em uma base de conhecimento co fuzzy a representao por meio de regras de produo fuzzy. Uma regra de produo e ca ca ca normalmente formada de duas partes principais: e If <antecedente> Then <conseqente> u O antecedente composto por um conjunto de condies que, quando satisfeitas (mese co mo parcialmente), determinam o processamento do conseqente da regra por um mecau nismo de inferncia fuzzy. O processo acima descrito, denomina-se disparo de uma regra. e Por sua vez, o conseqente composto de um conjunto de aes ou diagnsticos que so u e co o a gerados com o disparo da regra. Os conseqentes das regras disparadas so processados u a em conjunto, para gerar uma resposta determin stica, para cada varivel de sa do a da sistema.

2.4.3

Denio de Regras de Controle ca

As regras de controle englobam o conhecimento do sistema e os objetivos do controle. Cada regra tem um estado do sistema em sua premissa e uma ao de controle sugerida ca em sua concluso. As regras de controle difusas conectam os valores de entrada com as a propriedades da sa do modelo. Esto expressas como proposies condicionais: da a co Se [Estado do processo] Ento [Ao de controle] a ca Em que Estado do processo e Ao de controle uma proposio (ou um grupo de ca e ca proposies ligadas por um conectivo E), da forma: V t com V uma varivel e t um co e a termo difuso. Como exemplo de regra de controle temos: Se T emperatura f ria E Presso alta Ento Ao da vlvula positiva mdia. e a e a ca a e e

2.4.4

Ordem das Regras

As regras de controle difusas so declarativas, e no seqenciais, o que signica que a a u a ordem em que se expressam no importante. Como uma medida preventiva para a a e manuteno do controlador, recomendvel agrupar as regras de acordo com as variveis ca e a a de suas premissas: Se T emperatura f ria E Presso alta Ento Ao da vlvula positiva pequena. e a e a ca a e Se T emperatura f ria E Presso mdia Ento Ao da vlvula positiva normal. e a e e a ca a e

15

2.4.

Lgica Difusa o

dct-ufms

Se T emperatura f ria E Presso baixa Ento Ao da vlvula positiva grande. e a e a ca a e Se T emperatura mdia E Presso alta Ento Ao da vlvula no operar. e e a e a ca a e a Se T emperatura mdia E Presso mdia Ento Ao da vlvula no operar. e e a e e a ca a e a Se T emperatura mdia E Presso baixa Ento Ao da vlvula positiva. e e a e a ca a e

2.4.5

N mero de Regras u

O nmero de regras que requer um controlador difuso, encontrado, multiplicando-se u e o nmero de termos difusos das variveis de entrada. Deste modo, as regras cobriro u a a todas as poss veis combinaes provenientes, das distintas entradas. Por exemplo, para co um sistema com duas variveis de entrada, cada uma com 5 termos difusos, existem a 55=25 combinaes de entrada e, portanto, 25 regras de controle. co

2.4.6

Desenho de uma Base de Regras

Para desenhar uma base de regras, utiliza-se uma matriz que cubra todas as poss veis combinaes das entradas. Para um sistema com duas entradas, atribui-se uma para cada co eixo da matriz. Em cada clula da matriz, escreve-se a ao de controle sugerida pela e ca regra que possua essa combinao de entradas como premissa. Da matriz pode derivar-se ca todas as regras que formaro uma base completa. Se o sistema conta com trs entradas, a e utiliza-se uma matriz para cada termo ling ustico da terceira varivel. a Para o exemplo do pndulo invertido, tem-se a seguinte matriz dada na Figura 2.9. e

Figura 2.9: Desenho de uma base de regras para o problema do pndulo invertido e 16

2.4.

Lgica Difusa o

dct-ufms

Em alguns casos, poss e vel utilizar menos regras, mas no recomendvel faz-lo, a e a e pois elas representam conhecimento. Se alguma for eliminada, remove-se conhecimento do sistema, o qual pode tornar-se importante se o sistema for modicado posteriormente.

17

Cap tulo 3 Arquitetura de um Sistema Difuso


Neste cap tulo, descreve-se a arquitetura de um sistema difuso em seus principais mdulos. Apresenta-se o modelo de inferncia fuzzy de Mamdani[5], e a descrio do o e ca mtodo de fuzzication pelo centro de rea, conforme Oliveira[10]. e a

3.1

Introduo ca

A lgica difusa uma tcnica muito poderosa para resolver problemas, ainda que o e e simples, e com ampla aplicabilidade, especialmente nas reas de controle e de tomada de a deciso. Em geral, ela mais util para tratar problemas que no so facilmente denidos a e a a por modelos matemticos prticos. Por exemplo, a lgica difusa tem sido empregada na a a o administrao do mercado de aes e no controle de metrs. ca co o A fora da lgica difusa provm de sua habilidade para extrair concluses e gerar c o e o respostas baseadas em informaes vagas, amb co guas, qualitativas, imcompletas ou imprecisas. Neste sentido, os sistemas baseados em conjuntos difusos tm a capacidade de e racioc nio semelhante ` dos humanos. De fato, o comportamento dos sistemas difusos a e representado de uma maneira muito simples e natural. Isto permite a construo rpida ca a de sistemas compreens veis, sustentveis e robustos. Em adio, a abordagem difusa a ca para sistemas de controle ou de tomada de deciso, geralmente, requer menos memria e a o potncia computacional do que os mtodos convencionais e, portanto, permitindo sistemas e e menores e de menor custo. Lot Zadeh[7], professor da Universidade da California em Bekerley, a principal e referncia em lgica difusa. Em 1965, ele apresentou o artigo original que denia a teoria e o dos conjuntos difusos formalmente, da qual a lgica difusa emergiu. Zadeh estendeu a o teoria tradicional para resolver os paradoxos, que as vezes eram gerados pela classicao ca falso ou verdadeiro da lgica aristotlica. Tradicionalmente, uma premissa lgica tem o e o dois extremos: ou completamente verdadeira ou completamente falsa. Entretanto, no universo difuso, uma premissa varia em grau de verdade de 0 a 100 por cento, o que permite que ela seja: parcialmente verdadeira e, parcialmente falsa. 18

3.2. Arquitetura de um Sistema Difuso

dct-ufms

Incorporando o conceito de grau de verdade, a lgica difusa estende a lgica tradio o cional de duas maneiras. Primeiro, os conjuntos so rotulados qualitativamente (usando a termos ling usticos tais como alto, quente, ativo, aproximadamente e assim por diante), e aos elementos desses conjuntos so designados graus variados de pertinncia. Por exema e plo, um homem com 1,68m e outro com 1,72m de altura, podem ser ambos, membros de um conjunto de homens altos, ainda que o homem com 1,72m tenha um grau de pertinncia maior a esse conjunto. Segundo, qualquer ao ou sa resultante de uma e ca da premissa verdadeira executa uma fora, que reete o grau com que aquela premissa c e verdadeira. Como exemplo, imagine um motor que gere ar frio (fan-speed motor ), sua velocidade uma funo da temperatura, como mostra a Tabela 3.1. e ca T emperatura f ria f resca morna quente Velocidade de ventilao ca nula lenta mdia e rpida a Corrente relativa do motor 0 15 50 100

Tabela 3.1: Controle da Velocidade de ventilao ca

A corrente fornecida ao motor regulada por um conjunto de temperaturas: fria, e fresca, morna e quente. Neste sistema, como a T emperatura gradualmente se move de morna para f resca, a Corrente relativa gradualmente oscila de 50 para 15. Acompanhando continuamente as entradas, pode-se evitar mudanas abruptas nas sa c das, mesmo quando as entradas transcendem os limites do conjunto. Sistemas baseados em conjuntos difusos so constru a dos de modo que as sa das geradas mudem de uma maneira suave e cont nua, a despeito de que suas entradas ultrapassem os limites.

3.2

Arquitetura de um Sistema Difuso

A Figura 3.1 ilustra o uxo dos dados por meio de um sistema difuso. As entradas do sistema submetem-se a trs transformaes para tornarem-se sa e co das do sistema. Primeiro, um processo de fuzzication que usa funes de pertinncia pr-denidas mapeia cada co e e entrada do sistema em um ou mais graus de pertinncia. Ento, as regras, da base e a de regras, (tambm pr-denidas), so avaliadas combinando graus de pertinncia para e e a e formar as foras de sa c das. E, por ultimo, o processo de defuzzication calcula as sa das do sistema, baseando-se nas foras e em funes de pertinncia. c co e

19

3.2. Arquitetura de um Sistema Difuso

dct-ufms

Figura 3.1: Arquitetura bsica de um sistema difuso a

3.2.1

Fuzzication

Fuzzication o processo de designar ou calcular um valor para representar o grau e de pertinncia de uma entrada, em um ou mais grupos qualitativos, chamados conjuntos e difusos. A Figura 3.2 mostra uma entrada do sistema, Temperatura, com conjuntos difusos fria, fresca, morna e quente. Cada valor de temperatura tem um grau de pertinncia a e cada um desses conjuntos. O grau de pertinncia determinado por uma funo de e e ca pertinncia, que denida baseando-se na experincia ou intuio. e e e ca

Figura 3.2: Conjuntos difusos da varivel T emperatura a Na Figura 3.2, um conjunto difuso rotulado como confortvel poderia ser inserido a entre fresca e morna. O nmero de funes de pertinncia de conjuntos difusos e a forma u co e escolhida depende de alguns fatores, tais como: preciso requerida, a capacidade de dar a a resposta desejada e a estabilidade do sistema, facilidade de implementao, manipulao, ca ca manuteno, e assim por diante. As funes de pertinncia trapezoidal e triangular so ca co e a as mais comumente utilizadas. 20

3.2. Arquitetura de um Sistema Difuso

dct-ufms

Para uma entrada do sistema, o conjunto difuso deve cobrir o eixo inteiro dos Xs, ou universo de discurso. O mapeamento para o eixo dos Ys varia de 0 a 1 e representa o grau com que um valor de entrada um membro daquele, particular, conjunto difue so. A sobreposio dos limites desejvel e tambm fundamental para o funcionamento ca e a e harmonioso do sistema. Esta sobreposio permite a pertinncia em mltiplos conjunca e u tos, mesmo que aparentemente contraditrios. Na Figura 3.2, o grau 63 da T emperatura o pode ser ambos, fresco e morno, mas com um maior grau de pertinncia para fresco. Uma e sobreposio de 25% entre conjuntos difusos adjacentes uma boa regra prtica. ca e a O processo de fuzzication permite que uma forte ligao ocorra entre os termos ca ling usticos (frio, aproximadamente, ativo, grande) e suas funes de pertinncia fazendo co e os termos signicativos para um computador. Como resultado, um engenheiro pode expressar ou modicar o comportamento de um sistema, usando estes termos da linguagem natural, aumentando assim, a possibilidade de se ter descries claras e concisas de tarefas co complexas. Geralmente, uma vez que o sistema esteja em operao, as funes de pertinncia no ca co e a mudam. Formas simples como de trapzios e tringulos so freqentemente usadas para e a a u denir pertinncia em conjuntos difusos, mas qualquer funo adequada pode ser usada. e ca Em adio, deve-se tomar a deciso de quantos conjuntos difusos usar para cada entrada ca a do sistema. A Figura 3.3 ilustra os termos necessrios para o clculo do grau de pertinncia para a a e o caso trapezoidal.

Figura 3.3: Funo de pertinncia trapezoidal ca e Grau de Pertinncia e Para calcular o grau de pertinncia da Figura 3.3, primeiro calcula-se os termos delta1 e e delta2: Este clculo permite vericar se uma entrada dada, pertence ou no ao conjunto difuso, a a e se pertencer, proceder o clculo do grau de pertinncia. a e delta1 = (x ponto1) delta2 = (ponto2 x).

21

3.2. Arquitetura de um Sistema Difuso Se delta1 0 ou delta2 0 Ento a grau de pertinncia = 0 e Seno a

dct-ufms

grau de pertinncia = min{delta1*inclinao1, delta2*inclinao2, limite superior } e ca ca O clculo da inclinao mostrado na Figura 4.4. a ca e Conforme Oliveira[10], este processamento transformou informaes quantitativas em co informaes qualitativas, e considerado um processo de generalizao. Em ingls ele co e ca e e chamado de fuzzication.

3.2.2

Base de Regras ou de Conhecimento

Para governar o comportamento do sistema, o engenheiro desenvolve um conjunto de regras que tm a forma de declaraes Se-Ento. A parte Se, contm uma ou mais e co a e condies chamadas antecedentes; a parte Ento, contm uma ou mais aes chamadas co a e co conseqentes. Os antecedentes das regras correspondem, diretamente, aos graus de peru tinncia calculados durante o processo de fuzzication. e Por exemplo, considere uma regra do sistema difuso para o mercado de aes mostrado co na Figura 3.4: Se o Preo da ao est decrescendo e o Volume de negcios grande, Ento a Ordem c ca a o e a vender. As duas condies Preo das aes est decrescendo e Volume de negcios e co c co a o grande so os antecedentes das regras. Cada antecedente tem um grau de verdade e a (pertinncia) associado a ele como um resultado da fuzzication. A ao da regra (ou e ca sa difusa) para vender aes. da e co Para exemplicar a utilizao da base de regras, numa outra aplicao, tomar-se- o ca ca a controle de uma caldeira, na qual se estabelece uma relao entre Temperatura interna da ca unidade e a Vazo de gua necessria para o seu resfriamento, o que produz as seguintes a a a regras: Se T emperatura alta Ento Vazo alta; e a a e Se T emperatura baixa Ento Vazo baixa; e e a a e Se T emperatura estvel Ento Vazo normal. e a a a e Aparentemente simples, o exemplo dado capaz de manter estvel a temperatura e a em uma caldeira, desde que os conjuntos difusos, nele envolvidos, tenham uma denio ca condizente com a realidade. O que vale observar que para cada estado do processo, e e relacionado uma ao de controle. ca Este conjunto demonstra que a base de regras difusas bastante intuitiva, sob o ponto e como, por exemplo, estacionar um ve de vista humano. E culo em uma vaga. Neste caso, no existe uma formulao matemtica expl a ca a cita envolvida na soluo do problema, ca

22

3.2. Arquitetura de um Sistema Difuso

dct-ufms

Figura 3.4: Sistema difuso do mercado de aes co mas sim, a representao de um conhecimento adquirido pelo operador, o que justica a ca diculdade encontrada pelos iniciantes, e a facilidade com que os motoristas, com mais prtica, executam as manobras necessrias. a a Portanto, este o conhecimento, o da experincia, que as regras difusas representam, e e sendo o seu signicado perfeitamente intelig vel. Para o projeto da base de conhecimentos, na qual encontram-se as regras de controle, deve-se levar em conta, primeiramente, qual conjunto de variveis lingisticas ser a u a escolhido, de forma que descrevam muito bem os parmetros de controle do processo. a Tanto os parmetros de entrada quanto os de sa a da, devem ser denidos nesta etapa, empregando-se uma terminologia adequada. A seleo do intervalo de valores, para cada termo das variveis de entrada/sa ca a da, muito importante para proporcionar a suavidade do controle. Em segundo lugar, e a base de conhecimentos dever ser elaborada considerando a descrio ling a ca ustica dos parmetros. a

23

3.2. Arquitetura de um Sistema Difuso

dct-ufms

3.2.3

Avaliao de Regras ca

Durante a avaliao das regras, foras (coeciente de disparo) so computadas baseanca c a do-se nos valores dos antecedentes e ento designadas `s sa a a das difusas das regras. Geralmente, uma funo m ca nimo usada, de modo que ` fora de uma regra designada o e a c e valor de seu antecedente mais fraco ou menos verdadeiro. Outros mtodos para calcular a e fora de uma regra podem ser usados, tal como multiplicar os valores antecedentes juntos. c Referindo-se ao exemplo do mercado de aes da seo anterior, a ao de vender aes co ca ca co efetivada a um grau que reete a fora da regra. Em outras palavras, a quantidade de e c aes vendidas, baseia-se no grau com que o preo das aes esteja decrescendo e o volume co c co de negcios seja grande. Freqentemente, mais do que uma regra se aplica ` mesma ao o u a ca espec ca, neste caso, a prtica comum usar a mais forte ou mais verdadeira, ver Figura a e 3.5.

Figura 3.5: Avaliao de regras computadas ca Mesmo que o processo de avaliao das regras designe foras a cada ao espec ca c ca ca, mais processamento ou defuzzication, exigido, por duas razes. A primeira, decifrar e o e o signicado de aes vagas (difusas), tais como: Ordem vender usando funes de co e co pertinncia. A segunda, resolver conitos entre aes que competem, tais como: Ordem e e co vender e ordem segurar, que possam ter sido disparadas por certas condies durante e e co a avaliao das regras. A defuzzication emprega tcnicas que se comprometem a resolver ca e questes de conito. o Alguns autores denominam a metodologia empregada, para decidir qual regra de controle ser aplicada, de processo de soluo de conito. No exemplo a seguir, supe-se a a ca o existncia de duas regras para ilustrar o processo, revisando o processo de avaliao das e ca regras descrito anteriormente. Um outro exemplo numrico demonstrado na Seo 3.4.1. e e ca Sejam: Regra 1: Se x A1 E y B1 Ento z C1 e e a e Regra 2: Se x A2 E y B2 Ento z C2 e e a e em que x e y so as entradas do sistema; A1 , A2 , B1 e B2 , so termos para valores das a a 24

3.2. Arquitetura de um Sistema Difuso

dct-ufms

variveis de entrada, que so variveis ling a a a usticas; z a varivel de sa do sistema e e a da C1 e C2 so termos para valores da varivel de sa a a da, que tambm varivel ling e e a ustica. Segundo Oliveira[10], Ai , Bi e Ci para i = 1, 2, so termos primrios denidos nas a a parties fuzzy das respectivas variveis. co a Agora, considere que x0 e y0 so os valores obtidos pelos sensores das variveis x e y, e a a que seus valores de pertinncia aos conjuntos difusos Ai e Bi se representam por Ai (x0 ) e e Bi (y0 ), para i = 1, 2. O valor de disparo das regras 1 e 2 pode calcular-se por: 1 = A1 (x0 ) B1 (y0 ) 2 = A2 (x0 ) B2 (y0 ) em que o operador de conjuno (interseo), que igual ao operador m e ca ca e nimo. Ou seja: 1 = min{A1 (x0 ), B1 (y0 )} 2 = min{A2 (x0 ), B2 (y0 )} Os valores de 1 e 2 so denominados graus de pertinncia de disparo ou coecientes a e de disparo para as regras. Todas as regras, para as quais o coeciente de disparo for maior que zero, so ditas a regras que disparam para as entradas atuais, isto , no caso x0 , y0 . Isto quer dizer que e elas vo contribuir para o clculo da sa correspondente do sistema difuso. a a da Os valores de controle para as regras so calculados utilizando-se os coecientes de a disparo e os valores do grau de pertinncia dos conseqentes das regras, ou seja: e u 1 (z) = min{1 , C1 (z)} C 2 (z) = min{2 , C2 (z)} C para todo z, em que z elemento do universo de discurso da varivel z do conseqente. e a u Finalmente, uma operao global de unio vai compor um conjunto difuso para cada ca a varivel de sa contendo informaes sobre todas as regras disparadas para as entradas a da, co atuais, x0 e y0 . No exemplo, com as duas regras, s existe a varivel z de sa o a da. Portanto, o processo de soluo de conito produz: ca C (z) = max{ 1 (z), 2 (z)} = max{min{1 , C1 (z)}, min{2 , C2 (z)}} C C

25

3.2. Arquitetura de um Sistema Difuso

dct-ufms

em que C (z) o melhor ponto da funo de pertinncia para as duas concluses. O e ca e o resultado desta operao uma funo de pertinncia que sofrer a defuzzication. ca e ca e a Este processo de soluo de conito, corresponde ao modelo de inferncia fuzzy proca e posto por Mamdani[5]. Transforma uma informao qualitativa em outra informao ca ca qualitativa, por meio de uma converso. O conjunto fuzzy gerado durante o processo de a inferncia pode ento ser utilizado diretamente em um diagnstico qualitativo de tomada e a o de deciso, ou ser convertido em um valor escalar por meio de atuadores convencionais, a a no caso de um sistema de controle.

3.2.4

Defuzzication

A converso fuzzy escalar transforma informaes qualitativas em informao quana co ca titativa, sendo um processo de especicao, conforme Oliveira[10]. Em ingls, este proca e cesso comumente chamado de defuzzication. e Os mtodos mais utilizados so: o do centro de rea, e o da mdia dos mximos; que e a a e a so descritos a seguir. a

Mtodo do Centro de Area - COA e Uma tcnica comum, o mtodo do centro de gravidade, ou centride, ou ainda, e e e o mtodo do centro de rea, que consiste de vrios passos. Inicialmente, um ponto centride e a a o sobre o eixo dos Xs determinado para cada funo de pertinncia de sa e ca e da. Ento, as a funes de pertinncia so limitadas em altura pela fora da regra aplicada, e as reas das co e a c a funes de pertinncia so calculadas. Finalmente, a sa sofre a defuzzication, derivada co e a da por uma mdia ponderada dos pontos centrides do eixo dos Xs e as reas calculadas, e o a com as reas servindo como pesos. O mtodo do centro de gravidade ilustrado na Figura a e e 3.6. O mtodo do centro de rea calcula para um dado conjunto fuzzy de sa proveniente e a da, de uma base de conhecimento processada, a abscissa (no universo de discurso denido para a varivel em questo) do ponto de centro de rea correspondente, e a utiliza como valor a a a escalar de sa da. Assumindo que seja produzido uma ao de controle com uma funo de pertinncia ca ca e dada por C (z), o mtodo do centro de rea calcula o centro de gravidade para a ao de e a ca controle, utilizando a seguinte expresso: a
q j=1 zj C (zj ) q j=1 C (zj )

Z =

(3.1)

em que o termo q corresponde ao nmero de n u veis de quantizao de sa ca da, ou seja; o e nmero de regras cujo o valor da funo de pertinncia maior do que zero, zj a soma u ca e e e das sa das de controle no n de quantizao j, e C (zj ) representa o valor da funo vel ca ca 26

3.2. Arquitetura de um Sistema Difuso

dct-ufms

Figura 3.6: Defuzzication - mtodo do centro de rea (COA) e a de pertinncia em C. Em outras palavras, este mtodo atribui o centro de rea da sa e e a da difusa nal ao valor que sofreu a defuzzication.

Mtodo da Mdia dos Mximos - MOM e e a Outra tcnica, tambm utilizada para a defuzzication, a aplicao do mtodo da e e e ca e mdia dos mximos (no implementado, neste projeto). Neste caso, o valor para realizar a e a a ao de controle obtido tomando-se o ponto mdio dos valores de pertinncia mximos. ca e e e a Este mtodo gera como valor da defuzzication a mdia de todos os valores que alcanam e e c o mesmo mximo na sa difusa nal, conforme ilustra a Figura 3.7. a da Para este caso, calcula-se:
l

Z =
j=1

zj l

(3.2)

Em que l o nmero de valores quantizados, cuja funo de pertinncia mxima. e u ca e e a Conforme Oliveira[10], no mtodo da mdia dos mximos, o valor numrico da sa e e a e da corresponde ao ponto do universo de discurso que corresponde ` mdia dos pontos de a e mximo locais da funo de pertinncia do conjunto de sa produzida pelo processo de a ca e da, inferncia. e 27

3.3. Mquina de Inferncia a e

dct-ufms

Figura 3.7: Defuzzication - mtodo da mdia dos mximos (MOM) e e a

3.3

Mquina de Inferncia a e

Oliveira[10] tambm descreve o modelo de inferncia de Mamdani[5], que simplica e e o modelo de arquitetura da Figura 3.1 . Como a maioria das aplicaes de interesse co possui sistemas convencionais de aquisio e atuao baseados em grandezas numricas, o ca ca e modelo de Mamdani inclui mdulos de interface que transformam as variveis de entrada o a em conjuntos fuzzy equivalentes e, posteriormente, as variveis fuzzy geradas em variveis a a numricas proporcionais, adequadas para os sistemas de atuao existentes. e ca Na Figura 3.8 de Oliveira[10] mostrado um diagrama t e pico de um sistema de processamento de conhecimento fuzzy que utiliza o mtodo de inferncia de Mamdani descrito e e na Seo 3.2.3. ca

Figura 3.8: Diagrama t pico de um sistema de processamento Observa-se que h diferenas entre a Figura 3.1 e a Figura 3.8. Na segunda, o mdulo a c o Converso Escalar Fuzzy engloba os mdulos Fuzzication e Graus de Pertinncia da a o e primeira; a Mquina de Inferncia assumiu o lugar da Avaliao das Regras e, o mdulo a e ca o Converso Fuzzy Escalar faz corresponncia com a Defuzzication. a e A mquina de inferncia a responsvel pela combinao dos dados de entrada, j no a e e a ca a formato difuso, com as regras difusas existentes, as quais, trabalhando em cima de regras de produo, descrevem o processo de tal forma que se obtenha, por meio de inferncia, ca e 28

3.4. Exemplos de Aplicao ca o valor de sa desejado Klir[2]. da

dct-ufms

Existem algumas diferentes classicaes com relao `s mquinas de inferncia de co ca a a e um sistema difuso. Driankov[9] prope a classicao em dois grandes grupos: as de o ca inferncia baseada em composio e as baseadas em regras individuais. Para o primeiro e ca caso, combinam-se todas as regras da base e faz-se uma unica inferncia, enquanto que e para o segundo feita a inferncia regra a regra, aplicando-se t-normas ao nal do processo e e para que se obtenha um valor unico de sa da. Klir[2] classica as mquinas de inferncia de acordo com a avaliao que elas perfazem a e ca sobre a base de regras. Existem as dirigidas aos dados, em que os antecedentes so os a valores de entrada e busca-se o conseqente da regra, e as dirigidas `s metas, que executa u a uma busca em sentido inverso. Estas formas de operar, so chamadas de modus ponens e a modus tollens, respectivamente.

3.4

Exemplos de Aplicao ca

Esta seo apresenta exemplos de clculos das fases do controlador, e tambm, comenta ca a e alguns sistemas difusos no modelo de Mamdani.

3.4.1

Exemplos de Clculos a

Esta subseo demonstra os clculos utilizados para a fuzzication referido na Subseo ca a ca 3.2.1, avaliao das regras (inferncia) visto na Subseo 3.2.3 e para os dois mtodos de ca e ca e defuzzication descritos na Subseo 3.2.4. ca Tem-se as seguintes regras: Regra 1: Se x A1 E y B1 Ento z C1 e e a e Regra 2: Se x A2 E y B2 Ento z C2 e e a e Suponhamos que x0 e y0 so as leituras obtidas dos sensores para as variveis difusas a a x e y, e suas funes de pertinncia so: co e a

29

3.4. Exemplos de Aplicao ca

dct-ufms

A1 =

x2 3 8x 3 y5 3 11y 3 z1 3 7z 3

2x5 A2 = 5x8 5y8 B 2 = 8 < y 11 1z4 C2 = 4 < z 71

x3 3 9x 3 y4 3 10y 3 z3 3 9z 3

3x6 6<x9 4y7 7 < y 10 3z6 6<z9

B 1 =

C 1 =

Supondo que os valores obtidos das medies so: x0 = 4 e y0 = 8. No presente co a exemplo ilustra-se como calcular: A funo de pertinncia para a ao de controle recomendada pela combinao das ca e ca ca duas regras; O valor da ao de controle utilizando os mtodos: COA E MOM. ca e O primeiro passo relacionar as leituras dos sensores x0 e y0 com os correspondentes e valores dos antecedentes A1 e B1 , o qual produz: A1 (x0 ) = 2 ; B1 (y0 ) = 1 3 de forma similar para a regra 2 temos: A2 (x0 ) = 1 ; B2 (y0 ) = 3 O valor para a regra 1 obtm-se de: e 2 2 1 = min(A1 (x0 ), B1 (y0 )) = min( , 1) = 3 3 1 2 1 2 = min(A2 (x0 ), B2 (y0 )) = min( , ) = 3 3 3 Aplicando 1 ` concluso da regra 1, obtm-se a rea trapezoidal sombreada da Figura a a e a 3.9 para C1 , de forma similar para C2 .
2 3

30

3.4. Exemplos de Aplicao ca

dct-ufms

Figura 3.9: Defuzzication da combinao das concluses das regras ca o Aplicando o mtodo do Centro de Area (COA) para a defuzzication, obtm-se: e e
ZCOA =

2( 1 ) + 3( 2 ) + 4( 2 ) + 5( 2 ) + 6( 1 ) + 7( 1 ) + 8( 1 ) 3 3 3 3 3 3 3 = 4.7 1 +2+2+2+1+1+1 3 3 3 3 3 3 3

Ao utilizar-se a estratgia MOM (Mtodo da Mdia dos Mximos) para a defuzzie e e a cation, temos 3 valores quantizados, cujas funes de pertinncia correspondem com o co e mximo valor (exemplo: 3, 4, 5 com 2/3). Assim: a
ZM OM =

3+4+5 = 4.0 3

3.4.2

Exemplos de Sistemas Difusos

Esta subseo, apresenta trs exemplos de aplicaes de sistemas difusos no modelo ca e co de Mamdani. Exemplo 1 - Sistema de Apoio ` Deciso a a Conforme Oliveira [10], os modelos de inferncia fuzzy so especialmente adequados em e a processos que exigem tomadas de deciso por parte de operadores e gerentes de operao. a ca Aplicaes deste tipo, representam o conhecimento e a experincia existentes sobre um co e 31

3.4. Exemplos de Aplicao ca

dct-ufms

determinado estado do processo ou da situao e, a partir da entrada de dados sobre ca os seus estados atuais, podem inferir sua evoluo temporal, as variaes importantes ca co que ocorreram ou mesmo gerar sugestes sobre as prximas aes a serem tomadas. O o o co exemplo seguinte mostra um sistema simples de aux ` tomada de deciso, para o caso lio a a do consumo de combust de um automvel. vel o Considere que a relao entre a V elocidade e o Consumo de combust de um auca vel tomvel possa ser descrita por meio de trs regras mostradas na Figura 3.10. So criadas o e a parties fuzzy para as variveis citadas e denida uma regra semntica para o processo co a e a de inferncia fuzzy a ser realizado. Neste caso, utilizou-se a inferncia Mx-Min. e e a

Figura 3.10: Exemplo de um modelo de inferncia de Mamdani com 3 regras e Neste processo de inferncia, uma entrada escalar de V elocidade foi convertida em um e conjunto de graus de pertinncia, nos termos primrios denidos pela varivel ling e a a ustica V elocidade. Este vetor de pertinncias ento utilizado para limitar os conjuntos fuzzy de e e a sa da varivel ling da a ustica Consumo, segundo a base de conhecimento denida. Assim, para a regra 1, o termo de consumo mdio foi limitado em 0.65; para a regra 2, o termo e pequeno foi limitado em 0.35. O valor de sa para a varivel escalar Consumo foi obtido da a por meio de um mtodo de converso fuzzy escalar adequado, empregando-se o mtodo e a e do centro de massa para a defuzzication.

32

3.4. Exemplos de Aplicao ca Exemplo 2 - Controle difuso para um aquecedor de gua a

dct-ufms

Figura 3.11: Exemplo de um controlador para o aquecedor de gua a A Figura 3.11 mostra o diagrama de um controlador lgico difuso de um aquecedor de o a gua. O controlador difuso e responsvel pelo aquecimento da gua, e possui um Knob a a que varia com valores entre 0 e 10, para controlar a potncia do elemento de aquecimento. e Com o valor 0, este estar desligado e com o valor 10, ser sua potncia mxima. Tambm a a e a e possui dois sensores internos no compartimento, um para medir a temperatura da gua a (Temp Sense), que varia entre 0o e 1250o C, e o outro para medir o n da gua no tanque vel a (Level Sense), que varia de 0 (compartimento vazio) e 10 (compartimento cheio). Supondo que exista um controle automtico de uxo que determina quanto de gua a a o fria (na temperatura 10 C) entra no tanque vinda do fornecedor principal: sempre que o n da gua ca abaixo de 4 o controle de uxo liga, e desliga quando o n da gua vel a vel a ca acima de 9.5. O objetivo do controlador manter a temperatura da gua to prxima e a a o quanto poss de 80o C, apesar de mudanas no uxo da gua para fora do tanque, e do vel c a uxo de gua fria para dentro do tanque. a V olume e T emperatura so as variveis de entrada e Potncia a varivel de sa a a e a da. Os termos difusos destas variveis so: M B (muito baixo(a)), B (baixo(a)), M (mdio(a)), a a e A (alto(a)) e M A (muito alto(a)). A seguir so apresentadas estas variveis, seus termos difusos e seus respectivos pontos, a a e tambm a base de regras para o controlador difuso. e

33

3.4. Exemplos de Aplicao ca Varivel a V olume Entrada/Sa da Termo Difuso Ponto a Ponto d E MB 0 2 B 1.5 4 M 3 7 A 6 8.5 MA 7.5 10 E MB B M A MA MB B M A MA 0 10 30 60 85 0 1.5 3 6 7.5 20 35 75 95 125 2 4 7 8.5 10

dct-ufms

T emperatura

Potncia e

Tabela 3.2: Variveis, termos difusos e pontos para o controlador difuso do aquecedor de a a gua

T emperatura V olume MB B M A MA

MB M A MA MA MA

B B M A A A

M MB MB M A A

MA

MB MB B M

Tabela 3.3: Base de regras para o controlador difuso do aquecedor de gua a

34

3.4. Exemplos de Aplicao ca

dct-ufms

Exemplo 3 - Modelagem Difusa para Avaliao de Fundamentos em Voleibol de Praia ca No sistema especialista proposto, parte-se da teoria dos fundamentos do voleibol de praia e dos conceitos da lgica difusa para classicar atletas dentro de um termo ling o ustico (mal, bem, muito bem). Os critrios de avaliao foram divididos da seguinte forma: e ca Fundamentos Def ensivos Recepo (erro, quebrada, boa); ca Bloqueio (erro, continuado, bom); e Defesa (erro, com diculdade, boa). Fundamentos Of ensivos Saque (erro, fcil, bom, muito bom); a Levantamento (erro, quebrado, bom); e Ataque (erro, continuidade, bom). Aps o processamento destas informaes, a mquina de inferncia retorna as variveis o co a e a ling usticas Def ensiva e Of ensiva. Estas sofrero novamente os processos de fuzzicaa tion/rules evaluation/defuzzication, retornando a classicao geral do atleta durante ca um determinado jogo ou treinamento.

35

Cap tulo 4 Desenho de um Controlador Difuso Aplicado ao Problema do Pndulo e Invertido


O Problema do Pndulo Invertido e

A Figura 4.1 mostra um problema de controle bi-dimensional, clssico, conhecido como a pndulo invertido. A idia manter um plo (vara ou haste) balanceado verticalmente. e e e o O plo tem um peso em sua extremidade superior e ligado ` uma base mvel. Se o plo o e a o o se movimenta para a direita ou para a esquerda, a base dever mover-se, de tal forma, que a compense tal movimento e mantenha o mesmo em equil brio. Monitorando o Angulo e a V elocidade angular do pndulo, um sistema difuso pode determinar a Fora necessria a e c a ser aplicada ` base para mant-lo em equil a e brio.

Figura 4.1: Exemplo de pndulo invertido e A Figura 2.8, presente no Cap tulo 2, mostra os conjuntos difusos associados com as entradas e sa das do sistema.

36

4.1. Variveis Utilizadas a

dct-ufms

4.1

Variveis Utilizadas a

Para o problema do pndulo invertido deniu-se duas variveis de entrada, o Angulo, e a medida fornecida pela posio do pndulo em relao ` vertical e a Velocidade angular, ca e ca a cujo valor referencia a rapidez com que o pndulo cai para a direita ou para a esquerda. A e varivel de sa foi denida como Fora, que dever ser aplicada ` base mvel do sistema a da c a a o para que o pndulo mantenha-se em equil e brio. Uma vez denida as variveis de entrada e de sa a da, dene-se para cada varivel seu a universo de discurso, ou seja, cria-se para cada varivel os conjuntos difusos que esta a representa. Para o problema em referncia, criou-se 7 conjuntos difusos para cada varivel, e a as quais vo de negativo grande N G passando por zero ZE, indo at positivo grande P G, a e como j foi mostrado na Figura 2.8. a O universo de discurso ser ento um conjunto convencional que abranja a gama a a completa de valores que, neste caso, assumir valores entre 0 e 255. Assim, tem-se: a U = [0, 255], interpretando-se como valores negativo grande N G os valores abaixo de 63 e como positivo grande P G, valores acima de 191.

4.2

Denio de Regras ca

A seguir est descrito a relao entre as variveis e as regras de inferncia para os a ca a e conjuntos difusos criados. As variveis, tanto de entrada como de sa a da, tm de estar intimamente relacionadas, e j que para Angulo e Velocidade (variveis de entrada) tem de existir uma ao de controle a a ca (varivel de sa a da), em outras palavras, se o pndulo cai um pouco rpido, ento a base e a a dever mover-se pouco rpido (aplicar pouca fora) e se cai muito rpido, ento, dever a a c a a a mover-se mais rpido (aplicar maior fora). a c Partindo destas propriedades, cria-se a relao entre as variveis. Portanto, a maneira ca a de relacion-las por meio das regras de inferncia, as quais, neste problema, so 15. a e e a O conjunto exato de regras depende da dinmica dos componentes f a sicos, da robusts e requerida, e dos limites das condies de operao. co ca Formalmente, a base de regras da Figura 4.2 suciente para balancear o pndulo, e e porm existem outras solues. Uma mquina de inferncia difusa, de propsito geral e co a e o listada no artigo de Greg Viot[6] pode ser utilizada em muitas aplicaes. Nas Figuras co 4.2 e 4.3 esto apresentadas as informaes necessrias ` implementao de um controlador a co a a ca para o problema do pndulo invertido. e

37

4.2. Denio de Regras ca

dct-ufms

Figura 4.2: Base de regras para o pndulo invertido e

Figura 4.3: Exemplo de arquivo de entrada das funes de pertinncia co e A Figura 4.3 repete a informao de entrada/sa e pertinncia mostrada na Figura ca da e 2.8 em um formato que pode ser facilmente analisado por uma rotina de inicializao. Tal ca rotina, dever obedecer ` estrutura de dados exigida, convertendo os quatro pontos que a a descreve a funao de pertinncia em dois pontos e duas inclinaes; ver Figura 4.4. c e co

38

4.3. Implementao do Sistema ca

dct-ufms

Figura 4.4: Converso para o formato de dois pontos e duas inclinaes a co As funes de pertinncia no formato de trapzios e tringulos so armazenadas, em co e e a a um arquivo de entradas, como 4 pontos a, b, c, d, mas so convertidos para dois pontos a e duas inclinaes no momento da leitura por uma rotina de inicializao. Note que um co ca tringulo pode ser tratado como um caso especial de trapzio, em que a largura do topo a e igual a zero e os pontos centrais b e c so considerados idnticos. e a e

4.3

Implementao do Sistema ca

A Figura 4.5 ilustra um arranjo global de lista-ligada dos ns entrada-do-sistema e o funes-de-pertinncia. co e Os detalhes dessas estruturas so mostrados na Figura 4.6. O n entrada-do-sistema a o muito simples e contm um nome para a entrada, um ponteiro funo-de-pertinncia, e e e ca e um ponteiro prxima-entrada. Mais interessante, a estrutura funo-de-pertinncia que o e ca e contm dois pontos no eixo dos Xs e dois valores de inclinaes que descrevem a funo de e co ca pertinncia trapezoidal. Esta informao usada para calcular valores antecedentes (graus e ca e de pertinncia) como mostrado na Figura 3.3, no nal da Subseo 3.2.1 e a Listagem 3 e ca do artigo de Greg Viot[6]. O valor antecedente resultante armazenado no campo valor e da estrutura funo-de-pertinncia. ca e

39

4.3. Implementao do Sistema ca

dct-ufms

Figura 4.5: Exemplo de arranjo para dados das entradas

Figura 4.6: Detalhe da estrutura de dados utilizada Regras podem ser representadas por dois conjuntos de ponteiros, como mostra a Figura 4.7. O primeiro conjunto indica que valores antecedentes so usados para determinar as a foras das regras, e o segundo conjunto aponta para a localizao das sa c ca das na qual a fora dever ser aplicada. Finalmente, um arranjo de dados semelhante ` estrutura da c a a Figura 4.5 dada para os dados de sa e das e suas funes de pertinncia. Ver Figura 4.8. co e

40

4.4. A Execuo do Programa ca

dct-ufms

Figura 4.7: Exemplo de estrutura para a base de regras

Figura 4.8: Exemplo de arranjo para dados das sa das A Listagem 1 do artigo de Greg Viot[6] (pg. 94) inclui a denio em cdigo C dessas a ca o estruturas de dados.

4.4

A Execuo do Programa ca

Na linha de comando (DOS) digita-se: PROGRAMA < entrada1 >< entrada2 >. As variveis de entrada do sistema Angulo e V elocidade devem estar entre (0 e 255). a O sistema, inicialmente, faz a leitura dos parmetros de entrada, validando-os e a em seguida, extrai dos arquivos externos (ngulo, velocidade, fora e regras) os dados a c necessrios, copiando-os para as estruturas de dados pr-denidas a serem utilizadas nas a e rotinas de processamento. Os arquivos externos (ngulo, velocidade e fora) contm o nome da varivel difusa, a c e a os s mbolos (nomes ou siglas) dos termos difusos, e tambm, os pontos que denem as e funes de pertinncia. Estes dados esto obedecendo ao formato da Figura 4.3. co e a

41

4.4. A Execuo do Programa ca

dct-ufms

A estrutura de dados das variveis de entrada/sa e das funes de pertinncia, a da co e possuem o formato semelhante ao da Figura 4.6. Deve-se observar que os valores intermedirios expressos na Figura 4.3, so alterados a a durante a leitura dos arquivos e preenchimento das respectivas estruturas. Para o clculo a do novo valor (clculo da inclinao), foi utilizado a equao vista na Figura 4.4. Os a ca ca valores dessas inclinaes serviro para a fuzzication dos valores de entrada e tambm co a e sero utilizados no processo de defuzzication, mais especicamente, no clculo da base a a menor do trapzio, para posterior clculo da rea desse trapzio. e a a e O arquivo de regras, em nossa modelagem, para o problema do pndulo invertido, pose sui dois antecedentes seguidos de um conseqente, do tipo If Condio1 And Condio2 u ca ca Then Ao1. Os dados para este arquivo seguem o exemplo da Figura 4.2, e sua estrutura ca constitu conforme a Figura 4.7. e da Durante a leitura e preenchimento desta estrutura, o sistema faz uma vericao e ca uma correspondncia entre os s e mbolos utilizados nas regras e nas funes de pertinncia co e das variveis. O campo valor um ponteiro para o endereo do campo valor dos a e c termos difusos correspondentes. A seguir, so apresentados os procedimentos encarregados de encontrar a fora necessa c a ria para estabilizar o pndulo. e reset outputs(): limpa o campo valor da estrutura de sa e do campo valor da das funes de pertinncia da respectiva varivel; co e a control in(): atribui os valores de Angulo e V elocidade ao campo valor da estrutura de entradas do sistema; f uzzif y(): calcula os graus de pertinncia dos termos difusos das variveis de ene a trada, transformando assim, valores quantitativos em qualitativos. Esses valores so armazenados no campo valor da estrutura de funes de pertinncia das resa co e pectivas variveis. O clculo feito conforme mostrado no nal da subseo 3.2.1 a a e ca Fuzzication; evaluate(): neste passo, avalia-se as regras e gera-se valores da fuzzication para as funes de pertinncia da varivel de sa co e a da. O processo, para todas as regras, e executado da seguinte maneira: Avalia-se o lado If da base de regras (no se esquecer que o campo valor desa ta estrutura aponta para o campo valor da estrutura de funo de pertinncia) ca e aplicando-se a funo m ca nimo{} entre os antecedentes, ou seja, pega-se o menor valor do grau de pertinncia, no momento, entre os termos difusos das variveis e a Angulo e V elocidade. Avalia-se o lado Then aplicando-se a funo mximo{} entre ca a os conseqentes. Na verdade, neste exemplo, s temos um conseqente, ento apliu o u a camos a funo mximo{} entre os valores j contidos no endereo apontado (que ca a a c inicialmente igual a zero) e o valor do If calculado anteriormente; e def uzzif y(): agora, que j encontrou-se os graus de pertinncia dos termos difusos a e 42

4.4. A Execuo do Programa ca

dct-ufms

da varivel de sa a da, basta realizar a defuzzicaton desses valores, para encontrar um unico valor quantitativo que corresponda aos mesmos. Segue a descrio do processo: ca Calcula-se a rea de cada trapzio das funes de pertinncia da varivel de a e co e a sa acumula-se o resultado em uma varivel (reas). Ver exemplo de clculo da, a a a na Figura 3.6; Calcula-se o centride de cada trapzio, utilizando-se, para isso, a mdia da o e e diferena entre os pontos nal e inicial da referida funo; c ca Acumula-se o resultado obtido da multiplicao da rea pelo centride em ca a o (produtos); Se reas = 0 Ento no existem regras de avaliao para as variveis de ena a a ca a trada. Seno armazenar no campo valor da estrutura de sa a da, o resultado obtido da diviso de produtos por reas. a a dump(): produz a sa dos processamentos em um arquivo externo denominado da FLResult.dat.

43

Cap tulo 5 Testes e Resultados


Neste cap tulo apresenta-se os resultados, obtidos com a execuo do sistema de conca trole difuso, proposto por Greg Viot[6], aplicado ao problema do pndulo invertido. e

5.1

Testando o Sistema Fuzzy

Entradas: Angulo = 100 (entre 0 e 255) V elocidade = 160 (entre 0 e 255)

Constantes: Grau mximo de pertinncia (GMP) = 1 a e

Converso dos pontos intermedirios das funes em inclinaes: a a co co O programa, no momento da leitura dos arquivos externos, converte os pontos intermedirios de todas as funes de pertinncia das variveis de entrada em inclinaes, a co e a co conforme clculo mostrado na Figura 4.4. Neste teste so apresentados os clculos refea a a rentes aos termos difusos, realmente utilizados, representados na Figura 5.1.

44

5.1. Testando o Sistema Fuzzy

dct-ufms

Figura 5.1: Termos difusos das variveis de entrada do sistema a Apresenta-se a seguir, uma tabela com as variveis de entrada, seus termos difusos e a os respectivos pontos. Pontos TD (N F ng) TD (ZE ng) TD (P F veloc) TD (P M veloc) a a a 63 95 127 159 b 95 127 159 191 c 95 127 159 191 d 127 159 191 223 Tabela 5.1: Variveis, termos difusos e respectivos pontos a

Aps os clculos, constata-se que todas as inclinaes referentes aos termos difusos, o a co em questo, tiveram como resultado um valor igual a 0.031250. a

Fuzzication: Para que as entradas passem por este processo, necessita-se, primeiramente, calcular os valores de delta1 e delta2, mostrados na Figura 3.3 e exemplicado no nal da Subseo ca 3.2.1 Fuzzication. Este clculo serve para vericar se as entradas do sistema pertencem ou no ` funo. a a a ca delta1 = entrada a delta2 = d entrada Grau de pertinncia GP = min{delta1*inclinao1, delta2*inclinao2, GMP}; e ca ca

45

5.1. Testando o Sistema Fuzzy Para a varivel Angulo: a

dct-ufms

delta1(N F ) delta2(N F ) GP (N F ) delta1(ZE) delta2(ZE) GP (ZE) 37 27 0.843750 5 59 0.156250 Tabela 5.2: Fuzzication da varivel Angulo a

Para a varivel V elocidade: a delta1(P F ) delta2(P F ) GP (P F ) delta1(P M ) delta2(P M ) GP (P M ) 33 31 0.968750 1 63 0.031250 Tabela 5.3: Fuzzication da varivel V elocidade a

Avaliando as regras: Condio1 ca Condio2 ca Ao ca N F (0.843750) P F (0.968750) N F (0.843750) N F (0.843750) P M (0.031250) ZE (0.156250) P F (0.968750) P F (0.156250) ZE (0.156250) P M (0.031250) P M (0.031250) Tabela 5.4: Avaliao das regras disparadas ca

Defuzzication Base Maior: BM = d - a base menor: bm = BM - (GP/inclinao1) - (GP/inclinao2) ca ca Area do Trapzio: A = GP * (bm + BM)/2 e Centride: C = a + (d - a)/2 o Produto: P = A * C

Estes dados so necessrios para a defuzzication da varivel de sa a a a da. Uma tabela com os resultados dos clculos efetuados mostrado a seguir. a e

46

5.1. Testando o Sistema Fuzzy Termo Difuso GP Centride o Area NF 0.843750 31.218750 95 PF 0.156250 9.218750 159 PM 0.031250 1.968750 191 TOTAIS 42.406250 Produto 2965.781250 1465.781250 376.031250 4807.593750

dct-ufms

Tabela 5.5: Resultados dos clculos para a defuzzication da varivel de sa Fora a a da c

Valor da Fora Resultante: F = Ptotal /Atotal = 113.369934 c

Figura 5.2: Representao grca da defuzzication da varivel de sa Fora ca a a da c

47

Cap tulo 6 Concluso a


Durante os estudos realizados sobre os conjuntos difusos e lgica difusa, constatamos o o quanto importante aprender novas tcnicas para modelar problemas que so dif e e a ceis de resolver utilizando mtodos convencionais. e A lgica difusa prope-se a auxiliar no desenvolvimento de sistemas de controles difuo o sos, ajudando nas tomadas de decises e controle de processos, os quais so amplamente o a aplicados nas reas de engenharia, nanas e outras. a c Um dos objetivos deste trabalho foi complementar a codicao de um sistema de ca controle difuso, usando linguagem C, aplicado ao controle do equil brio de um pndulo e invertido simplicado, proposta por Greg Viot (1993). O sistema implementado para o pndulo invertido, usando as variveis ngulo e vee a a locidade angular como entradas e a varivel fora a ser controlada como sa a c da, forneceu bons resultados. Porm, para um modelo mais real e stico, deve-se relacionar mais variveis a de entradas e/ou sa das, tais como: massa da esfera na ponta do pndulo, massa da base, e atrito da base com a superf cie, atrito com o ar, etc. Este sistema, da maneira como est atualmente, pode ser aplicado a outros dom a nios de conhecimento, desde que sejam modelados com duas entradas e uma sa da. Para a aplicao deste sistema em outros dom ca nios, como na rea nanceira anlise a a de crditos, esportes avaliao de fundamentos ou atletas, educao ensino de f e ca ca sica e outras, os quais, provavelmente, necessitem de vrias entradas e/ou sa a das, v-se a necese sidade da implementao de uma interface amigvel ao usurio, para que o mesmo possa ca a a ser guiado durante as modelagens dos problemas, obtendo assim, resultados satisfatrios o para uma melhor tomada de deciso ou controle de processos. a O sistema implementado poder atender aos objetivos citados anteriormente, desde a que sejam realizadas alteraes nos procedimentos responsveis pelo preenchimento das co a estruturas de entradas/sa das e regras, alm do desenvolvimento de sa e das condizentes com os problemas modelados. Uma outra alterao interessante, seria a utilizao de ca ca outros mtodos para a avaliao de regras e para a defuzzication, alm das apresentadas e ca e neste trabalho.

48

dct-ufms As estruturas de dados e as funes de processamento, desenvolvidos por Greg Viot, co so genricas, suportando vrias entradas, sa a e a das, funes de pertinncia e regras, desde co e que as funes de pertinncia possam ser representadas por dois pontos e duas inclinaes, co e co como nos casos das funes trapezoidais, tringulares, retangulares, etc. co a Conforme Greg Viot, qualquer programador pode, facilmente, escrever um cdigo que o implemente uma mquina de inferncia difusa, como a apresentada neste projeto. No ena e tanto, existem vrias ferramentas de desenvolvimento difuso que permitem ao engenheiro a concentrar-se mais sobre a aplicao e o comportamento do sistema do que na implemenca tao. Estas ferramentas so amigveis aos usurios, e fornecem interface grca com ca a a a a um rico conjunto de funes de suporte para analisar, depurar e simular sistemas difusos. co Como exemplos dessas ferramentas, cita-se algumas: FIDE da Aptronix, CubiCalc da Hyperlogic, TilShel da Togai InfraLogic. Porm, implementar um sistema difuso, melhora a habilidade para compreender, e otimizar, ou customizar a mquina de inferncia difusa. Isto motiva a experimentao de a e ca novos paradigmas difusos, tais como hierarquias de base de regras e sistemas adaptativos ou h bridos.

49

Referncias Bibliogrcas e a
[1] ZANUSSO, M. B. Fam lias de T-normas Diferenciveis, Funes de Pertinncia a co e Relacionadas e Aplicaes. UFSC-EPS, Florianpolis-SC, Dezembro 1997. co o [2] KLIR, G.J. & YUAN, BO. Fuzzy Sets and Fuzzy Logics: Theory and Applications. Prentice Hall, New Jersey, 1995. [3] EARL, C. Fuzzy fundamentals. IEEE SPECTRUM, p.58-61 , October 1992. [4] ASSILIAN, S. & MAMDANI, E.H. Articial Intelligence in The Control of Real Dynamic Systems. Dep. Elec. Eng. Queen Mary College, Londres, August 1974. [5] MAMDANI, E.H. Application of Fuzzy Algorithms for Control of Simple Dynamic Plant. IEEE (Control and Science), v.121(12), p.1585-1588, 1974. [6] VIOT, G. Fuzzy logic in c - creating a fuzzy-basead inference engine. Dr. Dobbs Journal, p.40-49 e 94 , February 1993. [7] ZADEH, L.A. Fussy Sets. Information and Control . v.8, n.1, p.338-353, 1965. [8] ZADEH, L.A. Making computers think like people. IEEE SPECTRUM, p.26-32 , 1984. [9] DRIANKOV, HELLEN DOORN & REINFRANK. An Introdution to Fuzzy Control . Springer-Verlag, 1993. [10] OLIVEIRA, S.R. Sistemas Inteligentes - Fundamentos e Aplicaes. Editora Manole co Ltda, 2003.

50

Apndice A e Estruturas de Dados do Sistema Fuzzy


A.1 A.2 Estruturas Propostas por Greg Viot Esquema Simplicado aps Leitura e Preenchio mento das Estruturas de Dados

51

Apndice B e Sistema FuzzyPI - Pndulo Invertido e


B.1 B.2 Listagem do Cdigo FuzzyPI.Cpp o Resultados Obtidos Utilizando o Aplicativo FuzzyPI

52

Apndice C e Outros Exemplos


C.1 Resultados Obtidos Utilizando a Base do FuzzyPI no Controle do Aquecedor de Agua Telas do Aplicativo FuzzyFan

C.2

53