Baixe o app para aproveitar ainda mais
Prévia do material em texto
Bruno Leandro Galvão Costa Rafael Rodrigues Barbosa Sistemas de Controle Avançado © 2016 by Universidade de Uberaba Todos os direitos reservados. Nenhuma parte desta publicação poderá ser reproduzida ou transmitida de qualquer modo ou por qualquer outro meio, eletrônico ou mecânico, incluindo fotocópia, gravação ou qualquer outro tipo de sistema de armazenamento e transmissão de informação, sem prévia autorização, por escrito, da Universidade de Uberaba. Universidade de Uberaba Reitor Marcelo Palmério Pró-Reitor de Educação a Distância Fernando César Marra e Silva Editoração Produção de Materiais Didáticos Capa Toninho Cartoon Edição Universidade de Uberaba Av. Nenê Sabino, 1801 – Bairro Universitário Catalogação elaborada pelo Setor de Referência da Biblioteca Central UNIUBE Bruno Leandro Galvão Costa Possui graduação em Engenharia Industrial Elétrica, com ênfase em Eletrotécnica, pela Universidade Tecnológica Federal do Pa- raná (UTFPR) – Câmpus Cornélio Procópio (2013) e mestrado no Programa de Pós-Graduação em Engenharia Elétrica também pela UTFPR – Câmpus Cornélio Procópio (2015). Tem experiência na área Automação Residencial (projeto, instalação e manutenção de dispositivos eletrônicos) e Ensino em Engenharia Elétrica, en- volvendo os seguintes temas: Automação Industrial, Sistemas de Controle (mono e multivariável), Qualidade de Energia Elétrica, Energias Renováveis, Otimização de Sistemas, Inteligência Artifi- cial (Lógica Fuzzy, Redes Neurais Artificiais e Metaheurísticas) e Acionamento e Controle de Máquinas Elétricas. Rafael Rodrigues Barbosa Possui graduação em Física pela Universidade Federal do Tocan- tins (2013). Linha de pesquisa: Física Computacional e Ensino de Física. Especialista em Ensino de Física Contemporânea (2015), Engenharia Elétrica e Sistemas de Automação (2016). Possui Mestrado em Física (2016) pela Universidade Estadual de Marin- gá (UEM). Linha de pesquisa: desenvolvimento de transdutores e DAQ. Tem experiência na área de Física do Estado Sólido, Física Computacional utilizando o Quantum Espresso - DFT, Eletrônica Sobre os autores Digital, Linguagem de programação (C, C++, Python), Sistemas Microcontrolados de Potência, Robótica, Automação (desenvolvi- mento de transdutores) e técnicas de compressão de dados (LZ4, Shannon-Fano). Sumário Capítulo 1 Introdução aos sistemas de controle avançados ..........11 1.1 Conceitos Gerais ............................................................................................. 13 1.1.1 Definições ............................................................................................... 13 1.1.2 Controle em Malha Aberta x Controle em Malha Fechada ................... 14 1.1.2 Métodos Convencionais ......................................................................... 18 1.1.3 Métodos Não Convencionais (Baseados em Inteligência Artificial) ...... 25 Capítulo 2 Fundamentos da lógica Fuzzy .......................................33 2.1 Conjuntos Fuzzy .............................................................................................. 34 2.2.2 Variáveis Linguísticas ............................................................................. 37 2.2.3 Funções de Pertinência ......................................................................... 39 2.2.4 Operações .............................................................................................. 41 2.2.5 Relações Fuzzy ...................................................................................... 43 Capítulo 3 Sistemas Fuzzy ..............................................................59 3.1 Estrutura Básica de Sistemas Fuzzy ............................................................... 61 3.1.1 Fuzzificação ........................................................................................... 62 3.1.2 Processo de inferência ........................................................................... 62 3.2 Exemplo: Sistema Fuzzy para o Pagamento de Gorjeta ................................ 64 3.2.1 Definindo as variáveis de entrada e saída............................................. 64 3.2.2 Definindo as funções de pertinência ...................................................... 66 3.3 Simulando o Sistema Fuzzy para o Pagamento de Gorjeta com o MATLAB 79 3.3.1 Iniciando o SciFLT e Definindo as Configurações Gerais ..................... 82 3.3.2 Configurando as Variáveis de Entrada .................................................. 87 Capítulo 4 Controle Fuzzy I .............................................................121 4.1 Conceitos sobre Controladores Fuzzy ............................................................ 123 4.2 Controlador Fuzzy de Estrutura Mamdani ....................................................... 125 4.3 Exemplo: Controle de Posição de uma Impressora ........................................ 127 4.3.1 Definindo as Variáveis de Entrada e Saída ........................................... 129 4.3.2 Definindo as Regras Linguísticas .......................................................... 144 4.3.3 Observando a Superfície Fuzzy............................................................. 147 4.4 Simulando o Controle Fuzzy com o SciLab/Xcos ........................................... 148 Capítulo 5 Controle Fuzzy II ............................................................157 5.1 Controlador Fuzzy de Estrutura Sugeno ......................................................... 159 5.2 Exemplo: Controle de Posição do Cartucho de uma Impressora ................... 162 5.2.1 Definindo a Variável de Entrada ............................................................ 163 5.2.2 Definindo a Variável de Saída ................................................................ 173 5.3 Simulando o Controle Fuzzy com o SciLab/Xcos ........................................... 185 Capítulo 6 Fundamentos das redes neurais artificiais ....................191 6.1.1 Neurônio Biológico ................................................................................. 193 6.1 Neurônio Biológico x Neurônio Artificial ........................................................... 193 6.2 Funções de Ativação........................................................................................ 196 6.2.1 Parcialmente Diferenciáveis .................................................................. 197 6.2.2 Totalmente Diferenciáveis ...................................................................... 199 6.3 Arquiteturas e Topologias de RNAs ................................................................. 202 6.3.1 Feedforward de Camadas Simples ....................................................... 203 6.3.2 Feedforward de Camadas Múltiplas ...................................................... 204 6.4 Conceitos Gerais sobre o Processo de Treinamento ...................................... 207 6.4.1 Treinamento Supervisionado ................................................................. 209 6.4.2 Treinamento Não Supervisionado ......................................................... 209 Capítulo 7 Redes perceptron multicamadas ...................................213 7.1 Considerações Iniciais sobre as PMCs ........................................................... 215 7.2 Princípio de Operação ..................................................................................... 216 7.3 Algoritmo de Aprendizagem Backpropagation ................................................ 219 7.3.1 Exemplo ................................................................................................. 220 Capítulo 8 Controle Neural ..............................................................245 8.1 Metodologia Considerada para a Implementação do Controle Neural ........... 247 8.2 Simulação de um Sistema de Controle PI no SciLab/Xcos ............................ 249 8.3 Implementação Computacional da Rede PMC ............................................... 264 8.4Implementação do Controle PI-Neural com a Rede PMC no SciLab/Xcos .... 282 8.5 Comparação entre os Controladores PI e Neural ........................................... 293 Conclusão ........................................................................................297 Referências ......................................................................................299 Olá, Querido(a) Aluno(a)! Seja muito Bem-vindo(a) aos estudos da nossa disciplina de “Sistemas de Controle Avançados”. No decorrer dos próximos capítulos, veremos diversos conceitos relacionados à área de Controle, uma das mais importantes da Engenharia! Particularmente, nossa disciplina será caracterizada por duas gran- des abordagens aplicadas à Sistemas de Controle: a primeira de- las, que compreende os capítulos II, III, IV e V, é a Lógica Fuzzy; e a segunda, composta dos capítulos VI, VII e VIII, são as Redes Neurais Artificiais (RNAs). Vejamos a seguir, de forma bem resumida, os principais tópicos de cada capítulo deste livro que estaremos estudando no decorrer desta disciplina: CAPÍTULO I - Introdução aos Sistemas de Controle Avançados Esse Capítulo visa descrever alguns conceitos gerais sobre os temas que estaremos discutindo no decorrer desta disciplina. Na primeira seção, iremos relembrar algumas definições básicas sobre sistemas de controle, e estabelecer a diferença entre os sistemas de controle em malha aberta e malha fechada. Já a segunda seção dedica-se na apresentação de algumas metodologias convencionalmente ado- tadas para o projeto de sistemas de controle, sendo discutido sobre: i) controle PID, ii) modelagem e identificação de sistemas e iii) métodos de sintonia. Por sua vez, na terceira seção, veremos alguns aspectos gerais sobre a Lógica Fuzzy e as Redes Neurais Artificiais. Apresentação PARTE I - LÓGICA FUZZY CAPÍTULO II - Fundamentos da Lógica Fuzzy Nesse segundo capítulo são apresentados alguns fundamentos básicos relacionados à Lógica Fuzzy. Na primeira seção dedica-se na discussão sobre conjuntos fuzzy. Em seguida, nas segunda e terceira seções são comentados aspectos sobre as variáveis lin- guísticas e funções linguísticas, respectivamente. Por sua vez, na seção seguinte, veremos algumas das principais operações envol- vendo conjuntos fuzzy. Na sequência, serão explicados os concei- tos sobre relações fuzzy e composição de relações fuzzy. Por fim, discutiremos sobre as proposições fuzzy e as regras linguísticas. CAPÍTULO III - Sistemas Fuzzy: O principal objetivo associado a este Capítulo é o desenvolvimen- to de sistemas que empreguem a Lógica Fuzzy. Primeiramente, veremos como um sistema fuzzy é constituído. Na segunda seção iremos desenvolver um exemplo passo a passo de um sistema fu- zzy considerando uma situação cotidiana: o pagamento de gorjeta a um dado garçom, situação em que os conceitos do Capítulo II serão aplicados. Em seguida, iremos realizar uma simulação de tal sistema no software SciLab, particularmente adotando o SciFLT, um toolbox que auxilia na criação de sistemas fuzzy. CAPÍTULO IV - Controle Fuzzy I Já nesse Capítulo, iremos continuar estudando sobre a imple- mentação de sistemas fuzzy, contudo, aplicados em sistemas de controle, particularmente no projeto de controladores fuzzy. Sendo assim, na primeira seção são destacados alguns conceitos sobre controle fuzzy. Já na segunda seção, iremos assimilar as princi- pais características de um sistema fuzzy de estrutura Mamdani, o qual será considerado para o projeto de um sistema de controle de posição do cartucho de uma impressora jato de tinta, que será comentado em detalhes na terceira seção deste Capítulo. Uma vez implementado o controlador fuzzy Mamdani, iremos simulá-lo com o auxílio do SciLab. CAPÍTULO V - Controle Fuzzy II Este Capítulo pode ser visto como uma continuação do anterior, no qual estaremos discutindo ainda sobre projeto de controladores fuz- zy. Contudo, o objetivo aqui é tratar sobre um outro tipo de estrutura de sistema fuzzy: a estrutura Sugeno, parecida em alguns aspectos com a Mamdani, mas que possui uma característica particular. Sendo assim, novamente será adotado o sistema de controle de posição do cartucho de uma impressora, comentado no Capítulo IV, para o projeto do controlador fuzzy Sugeno. Na última seção desse capítulo, iremos simular tal controlador fuzzy também no software SciLab. Vale a pena destacar que o Capítulo encerra as discussões sobre a aplicação da Lógica Fuzzy em sistemas de controle. PARTE II - REDES NEURAIS ARTIFICIAIS CAPÍTULO VI - Fundamentos das Redes Neurais Artificiais A partir desse Capítulo, daremos ênfase no estudo de alguns fun- damentos que permeiam o universo de estudo relacionado às Re- des Neurais Artificiais. Inicialmente, faremos um breve comparação entre um neurônio biológico e um neurônio artificial. Em seguida, veremos as principais funções de ativação adotadas em RNAs. Na terceira seção, iremos analisar as principais arquiteturas e topo- logias de RNAs. No fim do Capítulo, nos dedicaremos a entender alguns conceitos gerais sobre processos de treinamento. CAPÍTULO VII - Redes Perceptron Multicamadas Particularmente, esse Capítulo dedica-se no estudo específico da rede neural Perceptron Multicamadas (PMC), uma das RNAs mais empregadas, principalmente em controle de processos. Nesse caso, iremos ver suas principais aplicações, o tipo e método de trei- namento geralmente considerado, analisando passo a passo seu princípio de operação. Iremos desenvolver um exemplo relaciona- do a essa topologia para auxiliar o seu entendimento. CAPÍTULO VIII - Controle Neural No último Capítulo deste livro, iremos adotar a rede PMC, comen- tada no Capítulo anterior, para o projeto de um controlador neural. Tal controlador será desenvolvido considerando amostras de um sistema convencional que emprega um controlador PI. No decorrer desse capítulo iremos implementar algoritmos computacionais no SciLab para a implementação da RNA. Em seguida, iremos simulá -la visando uma análise do controle neural com o controle PI. Como você pode notar, temos diversos tópicos a serem estudados nesta disciplina. Espero que você possa aproveitar bem os conhe- cimentos que aqui lhe serão passados, e que esta disciplina possa contribuir de maneira ativa em sua formação como Engenheiro. Pronto para iniciar? Bruno Leandro Galvão Costa Introdução Introdução aos sistemas de controle avançados Capítulo 1 Neste capítulo, iremos iniciar nossa discussão sobre os “Sistemas de Controle Avançados”. Primeiramente, analisaremos alguns conceitos gerais sobre sistemas de controle, com destaque para algumas definições, utilização do controle manual e automático, diferença principal entre o controle em malha aberta e em malha fechada, entre outros. Na sequência, iremos recordar rapidamente sobre as metodologias convencionais adotadas para o projeto de sistemas de controle, sendo elas: o controle PID (estrutura de controle composta pelas ações proporcional, integrativa e derivativa), aspectos sobre a modelagem, identificação de sistemas e métodos de sintonia (ou métodos de ajuste de ganhos). Por fim, daremos uma ênfase geral sobre os métodos não convencionais que serão abordados neste Livro: a Lógica Fuzzy e as Redes Neurais Artificiais (RNAs), ambos pertencentes à grande área denominada Inteligência Artificial (ou também Sistemas Inteligentes). Nosso maior objetivo, neste capítulo, não é nos aprofundar com relação às metodologias convencionais destacadas anteriormente, pois seria necessária uma disciplina específica apenas para o aprofundamento sobre tais metodologias. Dessa forma, o conhecimento de tais tópicos é considerado • Relembrar alguns conceitos fundamentais sobre a teoria de sistemas de controle, dentre eles: • Principais definições sobre sistemas de controle; • Controle manual e automático; • Diferenças entre o controle em malha aberta e o controle em malha fechada. • Recordar os principaisaspectos relacionados a metodologias convencionalmente adotadas para sistemas de controle, sendo eles: • Controle Proporcional-Integral-Derivativo (PID); • Modelagem e Identificação de Sistemas; • Métodos de ajuste de ganhos utilizando o Lugar das raízes e a análise de resposta em frequência. • Introduzir as principais características das metodologias baseadas em inteligência artificial para o controle de sistemas, denominados também de metodologias não convencionais: • Lógica Fuzzy; • Redes Neurais Artificiais. • Conceitos Gerais • Definições • Controle em Malha Aberta x Controle em Malha Fechada Objetivos Esquema aqui como um pré-requisito para o início dos estudos deste livro. Sendo assim, iremos relembrar a existência destas técnicas e, principalmente, introduziremos os temas alvo desta disciplina: Lógica Fuzzy e RNAs. • Métodos Convencionais • Controle PID • Ação Proporcional • Ação Integrativa • Ação Derivativa • Modelagem e Identificação de Processos • Métodos Não Convencionais (Baseados em Inteligência Artificial) • Lógica Fuzzy • Redes Neurais Artificiais Conceitos Gerais1.1 O objetivo principal desta seção é fazer com que você relembre os conceitos gerais que permeiam o universo dos sistemas de con- trole, para que assim possamos caminhar nesta disciplina. Sendo assim, iremos ver as principais definições de sistemas de controle, diferenças entre sistemas de malha aberta e malha fechada, dentre outros tópicos que serão comentados. 1.1.1 Definições Antes de iniciarmos nossos estudos acerca dos sistemas de con- trole, é importante relembrarmos algumas definições importantes, e nada melhor do que buscar estas definições em livros de grandes autores conceituados na área: 14 UNIUBE “Um sistema de controle é uma interconexão de componentes for- mando uma configuração de sistema que produzirá uma resposta desejada do sistema” (DORF; BISHOP, 2001, p. 2). “Um sistema de controle consiste em subsistemas e processos construídos com o objetivo de se obter uma saída desejada, com desempenho desejado para uma entrada específica fornecida” (NISE, 2009, p. 2). “Um sistema que mantém uma relação preestabelecida entre a grandeza de saída e a grandeza de referência, comparando-as e utilizando a diferença como meio de controle, é dito como um siste- ma de controle com retroação” (OGATA, 2005, p. 5). Como você pode notar, temos semelhanças entre as definições destes autores, destacando as relações entre saídas e entradas. Basicamente, o objetivo maior desses sistemas é alcançar ou obter uma variável de saída desejada com base em uma referência de entrada. 1.1.2 Controle em Malha Aberta x Controle em Malha Fechada No tocante a sistemas de controle, temos duas classificações co- mumente empregadas: o controle em malha aberta e o controle em malha fechada. A seguir, veremos as principais características dessas denominações. Malha Aberta: em um sistema de controle em malha aberta não existe uma forma de medição da variável de saída, nem tampouco algum sinal é enviado de volta para a comparação com um dado si- nal de entrada. Como exemplo deste tipo de sistema temos as má- quinas de lavar roupa (Figura 1), na qual as operações de colocar UNIUBE 15 de molho, lavar e enxaguar são executadas numa sequência pro- gramada em função do tempo. Figura 1 - Máquina de Lavar: um exemplo de sis- tema de controle em malha aberta. Fonte: Americanas ([2017], on-line). Malha Fechada: por sua vez, em um sistema de controle em malha fechada (também denominados de sistemas com retroalimentação ou realimentados) sempre existirá a medição da variável de saída, por meio de sensores, por exemplo. Nesse caso, o sinal de erro (diferença entre o sinal de entrada e o sinal de saída) será enviado a um controla- dor de modo que este reduza-o e mantenha o valor de saída próximo ao valor desejado de entrada. Exemplos deste tipo de sistema são enormemente encontrados no nosso dia a dia, como braços robóticos (Figura 2a) e elevadores comerciais (Figura 2b). 16 UNIUBE Figura 2 - Exemplos de sistema de controle em malha fechada: (a) braço robótico (b) elevador comercial Fonte: AMAZON ([2017], on-line). Fonte:Iurii Kovalenko (123RF, [2017], on-line). Dessa forma, podemos perceber que a diferença principal entre os sistemas de controle em malha aberta e malha fechada está na medição da variável de saída. Podemos dizer também que em um sistema em malha aberta a ação de controle é independente da variável de saída, enquanto que em um sistema de malha fechada, a ação de controle é totalmente dependente da variável de saída. Na Figura 3 são apresentados os diagramas de blocos destes dois tipos de sistemas de controle. a) sistema em malha aberta UNIUBE 17 b) sistema em malha fechada. Figura 3 – Sistemas de controle representados por diagrama de blocos: Fonte: Elaborada pelo autor. SAIBA MAIS Assista ao seguinte vídeo, do canal Me Salva!, que comenta alguns aspectos introdutórios sobre sistemas de controle: Disponível em: <https://www.youtube.com/watch?v=xlE1bF- 7gB-0&list=PLf1lowbdbFICgqEL7aXIbCTnyxNX8Hg4Z>. Acesso em: 21 jan. 2017. Sugiro também que você assista a seguinte apresentação, com o Prof. Leonardo Gonsioroski, que comenta também alguns concei- tos sobre sistemas de controle, que complementam ao que vimos anteriormente: Disponível em: <https://www.youtube.com/watch?v=- 0jM-XSOfoA4&index=2&list=PLWAe-AZsmoN0cF9yyw2OT- QWXh7Udk-uYs>. Acesso em: 21 jan. 2017. 18 UNIUBE Uma vez que já nos encontramos familiarizados com estes concei- tos gerais sobre sistemas de controle, poderemos relembrar agora um pouco mais sobre os métodos convencionalmente adotados em sistemas de controle, foco da próxima seção. 1.1.2 Métodos Convencionais Assim como a seção anterior, temos por objetivo aqui reconsiderar alguns tópicos importantes sobre métodos convencionais que po- dem ser aplicados em sistemas de controle modernos. Comentaremos a seguir sobre: o Controle PID, a modelagem e identificação de sistemas e métodos consolidados para o projeto de controladores. 1.1.2.1 Controle PID O controlador PID é uma metodologia de controle amplamente con- siderada em processos industriais (DORF; BISHOP, 2001). Como sabemos, a sigla PID nos remete a união de três ações de controle: • P: ação de controle proporcional; • I: ação de controle integrativa; • D: ação de controle derivativa. Veremos a seguir as características principais de cada uma dessas ações de controle. UNIUBE 19 1.1.2.1.1 Ação Proporcional É basicamente uma ação de controle proporcional ao erro atuante do processo, como pode ser observado na equação (1). Podemos dizer que, dessa forma, quanto maior for o erro atuante no sistema, maior será a atuação da ação proporcional. Sua principal vantagem é o fato de acelerar a resposta transitória do sistema, contudo sua principal desvantagem é o fato de não eliminar o erro em regime estacionário (também denominado de erro residual). (1) Observações: na equação (1), o ganho Kp refere-se ao ganho pro- porcional. Quanto maior for o seu valor, menor será o erro do sistema. Contudo, esse valor deve ser corretamente ajustado pois, dependen- do do valor, podemos prejudicar o desempenho do sistema. Caso Kp seja muito grande pode ocorrer uma saturação no controle, ou até mesmo fazer com que o sistema oscile ou que fique instável. SAIBA MAIS Gostaria de indicar mais dois vídeos do canal Me Salva!, que comenta de uma forma bem simples aspectos do controle proporcional. Observação: o segundo vídeo é um exercício sobre o controle proporcional: Disponível em: <https://www.youtube.com/watch?v=oCgxP- 3gAYpw>. Acesso em: 21 jan. 2017. Disponível em: <https://www.youtube.com/watch?v=6-IAO1CzOII>. Acesso em: 21 jan. 2017. 20 UNIUBE 1.1.2.1.2 Ação Integrativa Refere-se a uma ação de controle proporcional à integral do erro atuante do processo, que leva em consideração seus valores pas- sados, como pode ser vistona equação (2). Essa ação de controle garante que um pólo fique localizado na origem do plano complexo, garantindo assim a redução de erros estacionários (principalmente para entradas cujo sinal seja degrau). (2) Observações: na equação (2), o ganho Ki refere-se ao ganho integra- tivo. Essa ação de controle pode resultar em uma resposta oscilatória com uma amplitude lentamente decrescente ou uma amplitude cres- cente, usualmente indesejáveis em um sistema (OGATA, 2005). SAIBA MAIS No vídeo a seguir é mostrado um exemplo de aplicação prática do controle PI em um processo de controle de nível: Disponível em: <https://www.youtube.com/watch?v=7sCrQdqs- bv8>. Acesso em: 21 jan. 2017. UNIUBE 21 1.1.2.1.3 Ação Derivativa Essa ação de controle pode ser denominada também como controle antecipatório por levar em consideração valores futuros do erro atuan- te do sistema, sendo enunciado conforme a equação (3). Sua principal vantagem é o fato de antecipar tendências incorretas do erro atuan- te no sistema, e dessa forma pode neutralizá-lo. Contudo, apresenta questões críticas que torna-o não empregado para a maioria dos ca- sos práticos, podendo causar instabilidade ao sistema. (3) SAIBA MAIS Nos vídeos a seguir são apresentados de forma resumida e simpli- ficada alguns conceitos gerais sobre o controle PID: Disponível em: <https://www.youtube.com/watch?v=Gl3-zB -KnPw>. Acesso em: 21 jan. 2017. Disponível em: <https://www.youtube.com/watch?v=7BDjZYGHu- pE>. Acesso em: 21 jan. 2017. 1.1.2.2 Modelagem e Identificação de Processos A modelagem e a identificação de processos consistem basicamente na determinação de um modelo matemático com base em informa- ções (ou dados) de entrada e saída (COELHO; COELHO, 2004). 22 UNIUBE O objetivo principal da identificação é obter uma função de trans- ferência que caracterize corretamente tais sistemas, de modo a auxiliar a etapa seguinte de sintonia dos controladores, ou seja, o ajuste dos ganhos do controlador a ser empregado para que assim possamos controlar adequadamente tal sistema. Essa função de transferência pode ser obtida tanto no domínio do tempo (com o auxílio da transformada de Laplace) quanto no domínio discreto (com o auxílio da transformada-Z). Uma consideração importante aqui é que a ideia principal não é ob- ter um modelo exato para o sistema, visto que isso é praticamente impossível em ambientes práticos, mas sim encontrar uma repre- sentação que caracterize da melhor forma possível a dinâmica do processo em questão. Dentro desse contexto, existem inúmeros métodos considerados, tais como o de Ziegler-Nichols, o de Hägglund, o de Smith e de Sundaresan-Krishnaswamy (COELHO; COELHO, 2004). SAIBA MAIS Na sequência, quero indicar a você os três vídeos: Com o prof. José Bezerra de Menezes Filho, que comenta rapida- mente de algumas questões iniciais sobre a área de identificação de sistemas: Disponível em: <https://www.youtube.com/watch?v=0F9Heqoff- qU>. Acesso em: 21 jan. 2017. UNIUBE 23 Existe uma ferramenta do software MATLAB destinada à modela- gem e identificação de sistemas denominada “Ident”. No vídeo a seguir, o autor desenvolve um exemplo de aplicação no qual ele demonstra rapidamente o uso desta ferramenta: Disponível em: <https://www.youtube.com/watch?v=OyPfizi- QUn4>. Acesso em: 21 jan. 2017. Já no vídeo a seguir é mostrado um exemplo de identificação de um sistema dinâmico “MTG: Motor-Tacogerador” no qual o profes- sor desenvolveu uma aplicação em microcontrolador Arduino atu- ando em conjunto com o software MATLAB: Disponível em: <https://www.youtube.com/watch?v=MMnsUW20I- xg>. Acesso em: 21 jan. 2017. AMPLIANDO O CONHECIMENTO Caso deseje ampliar seu conhecimento acerca do tema “Identificação e Modelagem de Sistemas”, sugiro que acesse o se- guinte endereço eletrônico da página pessoal do Prof. Luis Antonio Aguirre da UFMG: Disponível em: <http://www.cpdee.ufmg.br/~aguirre/livro/livro. htm>. Acesso em: 21 jan. 2017. 24 UNIUBE Uma vez identificado um processo, métodos de sintonia podem ser considerados para projetar controladores. A escolha dos parâmetros destes controladores geralmente atende a requisitos de desempenho do sistema. Caso esses parâmetros não sejam escolhidos de forma adequada, tal processo pode apresentar problemas como, por exem- plo, respostas lentas ou até mesmo levar o sistema à instabilidade. Duas técnicas convencionalmente adotadas para projetar ou ajus- tar os ganhos de controladores são os métodos: i) do lugar das raízes e ii) baseado em resposta em frequência. Detalhes dessas duas metodologias podem ser encontrados em Ogata (2005), as- sim como em Dorf e Bishop (2001). AMPLIANDO O CONHECIMENTO A seguir indico um artigo que trata da implementação de um siste- ma de controle de um pêndulo invertido no qual os autores utiliza- ram o método do lugar das raízes: Disponível em: <http://www.eletrica.ufpr.br/anais/cba/2012/ Artigos/99791.pdf>. Acesso em: 21 jan. 2017. Recomendo também a seguinte monografia da UnB que trata sobre a identificação e projeto de controladores aplicados a motores de corrente contínua. Particularmente, o Capítulo 3 comenta a respei- to da identificação de processos de primeira ordem, descrevendo a respeito dos métodos comentados anteriormente. E em seguida, no Capítulo 4, o autor descreve algumas abordagens para o projeto de compensadores PID e de avanço de fase. Disponível em: <http://bdm.unb.br/bitstream/10483/6963/1/2013_ LeonardoLealSa_RenatoCanutoMedeirosAmorim.pdf>. Acesso em: 21 jan. 2017. UNIUBE 25 Contudo, nesta nossa disciplina não iremos discutir a fundo as prin- cipais características nem procedimentos de projeto consideran- do estas metodologias, pois o nosso enfoque aqui será em cima de metodologias não convencionais para o projeto de sistemas de controle, o assunto da próxima seção. 1.1.3 Métodos Não Convencionais (Baseados em Inteligência Artificial) Como vimos anteriormente, na teoria de controle clássica e mo- derna, o projeto de um sistema de controle, em um primeiro mo- mento, consiste na determinação de um modelo matemático que descreva coerentemente a dinâmica do processo em questão. No entanto, tal procedimento necessita, na maioria das vezes, de um conhecimento detalhado do processo, tornando-o dessa forma não factível, principalmente se o sistema apresenta uma complexidade considerável (GOMIDE; GUDWIN, 1994). A maioria das técnicas de controle atuais são aplicadas a uma enorme quantidade de problemas, no qual o processo geralmente é bem definido. Contudo, sabe-se que todas estas metodologias não são capazes de resolver problemas reais onde não existe pos- sibilidade de determinação dos modelos matemáticos (GOMIDE; GUDWIN, 1994). Devido a isso, nos últimos anos, metodologias alternativas têm emergido para contornar tal problema de determinação do modelo de um sistema. Nesse contexto, começaram a ser desenvolvidas técnicas baseadas nos conceitos de inteligência artificial inspirados em sistemas biológicos. 26 UNIUBE Os ditos “Sistemas Inteligentes” (uma outra nomenclatura para sis- temas baseados em inteligência artificial) são sistemas que apre- sentam um comportamento muito semelhante ao dos seres hu- manos, particularmente, na sua capacidade de interagir com um ambiente que nem sempre é de todo conhecido. Especificamente no campo da ciência da computação, esses sistemas vêm sendo modelados e considerados para implementar sistemas computa- cionais, algoritmos, dotados de uma “inteligência artificial”, emu- lando características particulares da inteligência (GUDWIN, 1996). SAIBA MAIS A seguir gostaria de indicar o artigo dos autores Gomide e Gudwin (1994) para que você leia. Particularmente, este é um artigo que comenta sobre a Lógica Fuzzy, que estaremos utilizando no decor- rer desta disciplina. Contudo, gostaria que você pudesse ler, neste momento, apenas a seção 1 de Introdução: Disponível em: <https://pdfs.semanticscholar.org/c4ea/4484bdd-2449053d7b7384b05c0e2def86449.pdf>. Acesso em: 21 jan. 2017. Nesta disciplina, focaremos nosso estudo, particularmente, na uti- lização dos seguintes sistemas: Lógica Fuzzy e Redes Neurais Artificiais, duas grandes metodologias não convencionais basea- das em inteligência artificial, em aplicações que envolvam sistemas de controle. Nas duas seções a seguir, serão comentados rapidamente alguns aspectos dessas duas abordagens. UNIUBE 27 AMPLIANDO O CONHECIMENTO Caso queira entender um pouco mais sobre o tema da inteligência artificial, sugiro que leia ao artigo, que se encontra no link a seguir, sobre computação natural, tópico intimamente relacionado aos sis- temas inteligentes que estaremos estudando neste Livro: Disponível em: <https://www.researchgate.net/profile/Leandro_ De_Castro2/publication/261438133_Computacao_Natural_Uma_ Breve_VIsao_Geral/links/00b49534456bcaf719000000.pdf>. Acesso em: 21 jan. 2017. 1.1.3.1 Lógica Fuzzy Os conceitos da Lógica Fuzzy (também denominada de Lógica Nebulosa) surgiram da ideia de buscar reproduzir o comportamen- to de seres humanos, que são capazes de lidar com problemas complexos, na resolução de problemas, a partir de informações im- precisas ou aproximadas, buscando traduzir estas informações por termos matemáticos em conjunto com regras linguísticas. Zadeh foi o idealizador da lógica Fuzzy, no qual buscava uma ferramenta matemática para tratar informações imprecisas ou vagas, estabele- cida por conceitos da lógica clássica (TANSCHEIT, 2016). Basicamente, no que se refere aos sistemas de controle, sabemos que com os conhecimentos em Lógica Fuzzy torna-se possível im- plementar controladores também denominado como “Controladores Fuzzy” aplicados em uma infinidade de sistemas, principalmente os não lineares. Algumas de suas vantagens são: 28 UNIUBE • Simplificação do modelo do sistema; • possui um melhor tratamento das imprecisões inerentes à sensores; • facilidade na especificação de regras de controle, sendo implemen- tadas em uma linguagem muito próxima à linguagem natural; • muito eficaz com relação aos objetivos em sistemas de controle; • possível incorporar conhecimento especialista de seres humanos. Abaixo estão listadas algumas das principais aplicações da lógica Fuzzy (MARRO et al., 2017): • Sistemas especialistas; • sistemas multiagentes; • reconhecimento de padrões; • robótica; • sistemas de controle inteligentes; e • sistemas de apoio à tomada de decisão. UNIUBE 29 SAIBA MAIS Gostaria de sugerir que você leia a seção 1 do material “Sistemas Fuzzy” do Professor Ricardo Tanscheit, um dos grandes precurso- res da Lógica Fuzzy aqui no Brasil, que comenta um pouco mais sobre a Lógica Fuzzy. O link para acessar a este material encontra- se a seguir: Disponível em: <http://paginapessoal.utfpr.edu.br/sumar/ensi- no/sistemas-fuzzy/sistemas-fuzzy/ICA-Sistemas%20Fuzzy.pdf>. Acesso em: 21 jan. 2017. Vale a pena destacar que este material é considerado como base para o estudo dos capítulos seguintes. Prezado(a) aluno(a), iremos continuar analisando em detalhes os principais aspectos da Lógica Fuzzy nos Capítulos 2, 3, 4 e 5! A seguir, alguns conceitos gerais sobre as Redes Neurais Artificiais. 1.1.3.2 Redes Neurais Artificiais Segundo Silva, Spatti e Flauzino (2010) as Redes Neurais Artificiais (RNAs) nada mais são do que modelos computacionais inspirados no sistema nervoso de seres vivos, possuindo capacidades de aquisição e manutenção do conhecimento. Além disso, esses autores definem as RNAs como sendo um conjunto de unidades de processamento (neurônios artificiais), interligadas por um grande número de interco- nexões, conhecidas como sinapses artificiais, que são representadas por meio de vetores ou matrizes de pesos sinápticos. 30 UNIUBE A seguir são listadas algumas das principais características asso- ciadas às RNAs (SILVA; SPATTI; FLAUZINO, 2010). • Adaptação por experiência: apresentação sucessiva de exem- plos com a capacidade de ajuste dos parâmetros internos da rede (pesos sinápticos); • capacidade de aprendizado: por meio de um determinado mé- todo de treinamento, a rede extrai o relacionamento existente entre as diversas variáveis da aplicação; • habilidade de generalização: com base no treinamento pro- cessado, a RNA se torna capaz de generalizar o conhecimen- to adquirido; • organização de dados: de acordo com algumas característi- cas inerentes ao conjunto de informações, a rede possui ca- pacidade de organizar-se internamente visando um agrupa- mento de padrões, que possuem particularidades em comum. A seguir, estão descritas algumas aplicações das RNAs no campo da engenharia e ciências (SILVA; SPATTI; FLAUZINO, 2010). • Aproximador universal de funções; • controle de processos; • reconhecimento/Classificação de padrões; • agrupamento de dados; UNIUBE 31 • sistemas de previsão; • otimização de sistemas; • memórias associativas. Sendo assim, querido(a) aluno(a), iremos continuar analisando os demais aspectos das RNAs nos Capítulos 6, 7 e 8! AMPLIANDO O CONHECIMENTO A seguir, indico um material do Professor Jorge M. Barreto da Universidade Federal de Santa Catarina (UFSC), que comenta vá- rios conceitos sobre as RNAs. No capítulo 7 deste material são descritas algumas aplicações das RNAs. Disponível em: <https:goo.gl/5x9cJI>. Acesso em: 21 jan. 2017. Considerações finais Neste capítulo, vimos alguns aspectos introdutórios ao tema em destaque neste Livro. A primeira seção comentou a respeito de al- gumas definições sobre sistemas de controle, além da diferença básica entre os sistemas de controle em malha aberta e em malha fechada, nesse caso, a medição da variável de saída. Em seguida, analisamos rapidamente os conceitos sobre aborda- gens convencionais para o estabelecimento de sistemas de contro- le: modelagem e identificação, controle PID e métodos de sintonia (por lugar das raízes e por resposta em frequência). 32 UNIUBE Em nossa última seção, focamos a análise superficial dos sistemas inteligentes baseados em lógica fuzzy e redes neurais artificiais, métodos não convencionais que podem ser adotados para a con- cepção de sistemas de controle, que serão os dois tópicos chave desse nosso livro. Com isso, finalizamos aqui os primeiros assuntos relacionados a esta disciplina. No próximo capítulo, começaremos a nos familia- rizar com os principais fundamentos relacionados à Lógica Fuzzy. Bruno Leandro Galvão Costa Introdução Fundamentos da lógica Fuzzy Capítulo 2 Daremos início, a partir deste capítulo, ao estudo detalhado envolvendo a Lógica Fuzzy, particularmente, os principais elementos que compõem os sistemas que se apropriam dessa lógica. O objetivo principal deste capítulo é fornecer a você, caro leitor, informações sobre os principais fundamentos relacionados à Lógica Fuzzy, que são necessários para o desenvolvimento de sistemas fuzzy (alvo de estudo do Capítulo 3) e, principalmente, controladores fuzzy aplicados à sistemas de controle (alvo de estudo dos Capítulos 4 e 5). Inicialmente, iremos buscar a diferenciação entre a teoria de conjuntos clássica da teoria de conjuntos nebulosa, esclarecendo questões sobre pertinência de elementos. Em um segundo momento, compreenderemos a ideia sobre variáveis linguísticas, assim como valores/termos linguísticos. Em seguida, analisaremos em detalhes o conceito sobre funções de pertinência, principalmente sobre os principais formatos adotados. Por sua vez, um outro importante conceito a ser comentado é sobre as operações geralmente consideradas para sistemas fuzzy. Na sequência, estudaremos os aspectos principais sobre relações fuzzy e composição de relações. Por fim, será comentado a respeito das proposições fuzzy, fundamentais para o estabelecimento do conceito de regras linguísticas. Objetivos • Compreender os principais fundamentos e componentes relacionados à Lógica Fuzzy e os sistemas que envolvem o emprego dessa lógica, sendo eles: •diferenças básicas entre a teoria de conjuntos clássica e a de conjuntos fuzz; • conceito sobre variáveis linguísticas e valores linguísticos; • funções de pertinência de conjuntos fuzzy; • operações envolvendo conjuntos fuzzy; • principais definições sobre as relações fuzzy; • a ideia da composição de relações fuzzy; • proposições Fuzzy e Regras Linguísticas. Esquema • Conjuntos Fuzzy • Variáveis Linguísticas • Funções de Pertinência • Operações • Relações Fuzzy • Composição de Relações • Proposições Fuzzy e Regras Linguísticas Conjuntos Fuzzy2.1 Quando consideramos a teoria de conjuntos clássica, um deter- minado elemento pode pertencer a um dado conjunto numérico ou não. Simples assim! Como veremos adiante, para os conjuntos Fuzzy isso não é aplicado, pois um dado elemento pode ser mais UNIUBE 35 membro de um conjunto do que de outro. Considere o seguinte exemplo adaptado de Gomide e Gudwin (1994, p. 98): Dado um universo U e um elemento particular pertencente a este universo, ou seja,χ∈ U. Considere um conjunto A que pertence ou está contido neste universo U, ou seja, A ∈ U. Se o elemento x pertence ao conjunto A, podemos dizer que seu grau de pertinên- cia µA(x) é total (ou 100%) a este conjunto. Caso contrário, se o elemento x não pertence ao conjunto A, podemos dizer que seu grau de pertinência µA(x) é zero a este conjunto. Logo a seguinte expressão se aplica a este caso: (1) em que µA(x) : U → {0,1} é a função característica. Logo, podemos dizer que o conceito de pertinência de um elemen- to x a um conjunto A fica bem definido na teoria de conjuntos clássi- ca. Existe também, geralmente, uma generalização desse conceito considerando elementos com erros limitados, no qual os elementos que possuírem um valor dentro de um erro percentual aceitável te- rão um fator de pertinência 1, sendo que os demais terão um fator de pertinência 0 (GOMIDE; GUDWIN, 1994). Por sua vez, Zadeh (o criador da lógica Fuzzy) (Figura 1) consi- derou uma caracterização mais ampla aquela vista anteriormente para conjuntos clássicos, em que elementos podem ser mais mem- bros de um conjunto do que de outros, e nesse caso, uma função característica pode assumir um número infinito de valores dentro do intervalo de 0 a 1, ou [0,1]. Logo (TANSCHEIT, 2016): 36 UNIUBE Considere um dado conjunto fuzzy A em um universo X pode ser definido por uma função de pertinência µA(x) : X → {0,1}, sendo representado por um conjunto de pares ordenados: (2) em que µA(x) indica o quanto x pertence (ou é compatível, ou é pertinente) ao conjunto fuzzy A. Além disso, podemos ter dados elementos que pertençam a mais de um conjunto fuzzy, com dife- rentes graus de pertinência. Figura 1 - Lofti Zadeh Fonte: Berkeley ([2017], on-line). SAIBA MAIS Se por acaso você não entendeu direito os conceitos de conjuntos, pertinência, continência, universo, comentados anteriormente, re- comendo que assista ao seguinte vídeo, no qual o Professor comen- ta rapidamente sobre esses conceitos essenciais da matemática. Disponível em: <https://www.youtube.com/watch?v=I7ickS- mw0E8>. Acesso em: 21 jan. 2017. UNIUBE 37 2.2.2 Variáveis Linguísticas Na lógica fuzzy é comum expressarmos conceitos qualitativos ao invés de quantitativos. Alguns elementos típicos são “mais ou me- nos”, “alto”, “não muito”, “médio”, entre outros. Esses elementos compõem o conceito de uma variável linguística, uma variável que tem como principal característica assumir nomes dentro de um con- junto de termos linguísticos, ou seja, palavras ou frases (GOMIDE; GUDWIN, 1994). Uma variável linguística nada mais é do que uma variável na qual os seus valores são nomes de conjuntos fuzzy (TANSCHEIT, 2016). Como exemplo, considere que um dado processo necessite utilizar uma variável denominada altura cujos valores são alta, média e baixa. Para este exemplo, a variável altura é dita como uma variá- vel linguística, que possui como valores alta, média e baixa, sendo que cada um destes valores são descritos por meio de conjuntos fuzzy, representados por funções de pertinência, conforme ilustra- do na Figura 2. Figura 2 - Funções de pertinência da variável linguística altura. Fonte: elaborado pelo autor. 38 UNIUBE Os valores de uma variável linguística podem ser construídas por meio de termos primários (alto, baixo, pequeno, médio, grande, zero), conectivos lógicos (negação não, conectivos e e ou), modifi- cadores (muito, pouco, levemente, extremamente) e delimitadores (parênteses) (TANSCHEIT, 2016). Além disso, costuma-se representar uma variável linguística por uma quíntupla (N, T(N), X, G, M), sendo que (TANSCHEIT, 2016): • N é o nome da variável linguística; • T(N) são os termos/nomes/valores de N; • X é o universo de discurso; • G é uma regra sintática para gerar valores de N como uma composição de termos de T(N), conectivos lógicos, modifica- dores e delimitadores; • M é a regra semântica utilizada para associar cada valor ge- rado por G em um conjunto fuzzy em X. Considerando nosso exemplo anterior, poderíamos associar a se- guinte quíntupla: • N: altura; • T(altura): {baixa, média, alta}; • X: de 0 à 2 metros, por exemplo; UNIUBE 39 • G: altura não baixa e não muito alta, por exemplo; • M: associa o valor de G a um conjunto fuzzy no qual sua fun- ção de pertinência exprime o seu o seu significado. 2.2.3 Funções de Pertinência No que se refere às funções de pertinência, estas podem apre- sentar diferentes formas dependendo do contexto. Como exemplo, vamos analisar as funções de pertinência definidas para o nosso exemplo da variável linguística “altura”, definida anteriormente. Primeiramente, sabemos que os valores de “altura” são: T(altura) = {baixa, média, alta}. Cada valor de “altura” corresponde a um con- junto fuzzy denominados aqui de A, B e C, respectivamente, sendo esses valores definidos por suas funções de pertinência. Analisemos aqui as funções de pertinência de “altura”, com base na Figura 2: • alturas até 1,5 metros apresentam um grau de pertinência igual a 1 no conjunto fuzzy A. Tanto para o conjunto fuzzy B, quanto para o conjunto fuzzy C, o grau de pertinência será zero; • à medida que a “altura” cresce, o grau de pertinência do con- junto A decresce, enquanto que o grau de pertinência do con- junto B vai aumentando. Novamente, o grau de pertinência do conjunto fuzzy C é zero; • quando a “altura” se torna 1,7 metros, o grau de pertinência de A, dali em diante, é zero. Por sua vez, o grau de pertinência 40 UNIUBE do conjunto fuzzy B é 1, sendo “totalmente compatível” com este conjunto, enquanto que o grau de pertinência do conjun- to C ainda é zero; • a partir do momento em que a “altura” começa a ultrapassar 1,7 metros, o grau de pertinência de B começa a decrescer, ao passo que o grau de pertinência de C começa a incrementar; • quando a “altura” se torna 1,9 metros, o grau de pertinência, dali em diante, do conjunto fuzzy C se torna 1, enquanto que o grau de pertinência de B será zero. Perceba, caro leitor(a), que em algumas medidas de “altura” as fun- ções de pertinência se interceptam (aproximadamente nas medidas de 1,6 e 1,8 metros). Mas isso poderia ser diferente para um outro tipo de observador que estivesse classificando estes conjuntos. O que percebemos na prática é que as funções de pertinência são definidas com base na experiência e perspectivas de usuários. Além disso, elas podem assumir algumas formas ou tipos de fun- ção. As que definimos para o nosso exemplo da variável linguís- tica “altura” foram trapezoidal (conjuntos fuzzy A e C) e triangular (conjunto fuzzy B). Mas podemos ter também a forma Gaussiana (Figura 3). Outra questão interessante é que os formatos das fun- ções de pertinência podem sofrer alterações no decorrer do pro- cesso, iniciando com um determinado formato e ao final apresentar outro totalmente diferente. UNIUBE 41 Figura 3 – Formato típico de funções de pertinência Fonte: MathWorks,([2017], on-line). 2.2.4 Operações Assim como nos conjuntos numéricos clássicos, existem opera- ções que podem ser realizadas com os conjuntos fuzzy, sendo as principais apresentadas a seguir, com base Tanscheit (2016). • Conjunto fuzzy A vazio: se e somente se sua função de pertinên- cia é igual a zero em todo o universo de discurso X, ou seja: (3) • Complemento A’: caracterizado pela seguinte operação (ob- serve na Figura 4): (4) • Igualdade: dois conjuntos fuzzy A e B em X são iguais se suas funções de pertinência forem iguais em todo o universo de discurso X, ou seja: (5) 42 UNIUBE • Subconjunto: um conjunto fuzzy A é subconjunto de um outro B se sua função de pertinência for menor ou igual a de B em todo o universo de discurso X, ou seja: (6) • Intersecção (denotado por A∩B): segundo a teoria convencio- nal de conjuntos, a intersecção entre dois conjuntos numéri- cos A e B é um conjunto no qual seus elementos são os ele- mentos comuns a A e B. Na lógica fuzzy, existe o conceito de normas-t, ou seja, operadores utilizados para a intersecção entre conjuntos fuzzy. Geralmente, utiliza-se o operador min (ou minimum), que retorna sempre o menor grau de pertinên- cia entre dois conjuntos fuzzy (observe a Figura 4), caracteri- zado pela seguinte operação: (7) • União (denotado por A∩B): segundo a teoria convencional de conjuntos, a união entre dois conjuntos numéricos A e B é um conjunto no qual seus elementos são todos os elementos que pertencem a A e B. Na lógica fuzzy, existe o conceito de conormas-t, ou seja, operadores utilizados para a operação de união entre conjuntos fuzzy. Geralmente, utiliza-se o ope- rador max (ou maximum), que retorna sempre o maior grau de pertinência entre dois conjuntos fuzzy (observe a Figura 4), caracterizado pela seguinte operação: (8) UNIUBE 43 Figura 4 – Interpretação de operações fuzzy Fonte: adaptado de Ludermir ([2017], on-line). 2.2.5 Relações Fuzzy Basicamente, uma relação pode ser entendida como uma interação entre elementos de dois ou mais conjuntos. Para que você entenda esse conceito, vamos considerar aqui dois conjuntos: X e Y. Uma relação R é definida como sendo um subconjunto do produto car- tesiano entre os elementos dos conjuntos X e Y. Se os elementos estiverem relacionados, R será 1. Caso contrário, teremos R igual a 0. Dessa forma, podemos definir a seguinte expressão: (9) 44 UNIUBE As relações, geralmente, são expressas de forma tabular (em tabela), recebendo o nome de matriz relacional, cujos elementos são 0 ou 1. Da mesma forma, relações fuzzy expressam interações ou grau de associação entre elementos de dois ou mais conjuntos fuzzy. Vamos analisar, a seguir, um exemplo de relações entre conjuntos (TANSCHEIT, 2016): Considere os seguintes conjuntos de capitais X = {x1, x2} = {Recife, Rio de Janeiro} e Y = {y1, y2, y3} = {Curitiba, São Paulo, Fortaleza}. A seguinte relação será assumida: “próxima”, ou seja, iremos ana- lisar a proximidade entre as capitais. Nesse caso, Recife fica muito distante de Curitiba e São Paulo, mas está próximo a Fortaleza. Já o Rio de Janeiro está próximo de Curitiba e São Paulo, e distante de Fortaleza. Com isso, podemos criar a seguinte matriz relacional: Tabela 1 – Matriz relacional. MATRIZ RELACIONAL y1 y2 y3 Curitiba São Paulo Fortaleza x1 Recife 0 0 1 x2 Rio de Janeiro 1 1 0 Fonte: adaptado de Tanscheit (2016). Imagine que pudéssemos definir estas relações por meio de uma dada função de pertinência µR(x,y): UNIUBE 45 Tabela 2 – Matriz relacional fuzzy. MATRIZ RELACIONAL FUZZY y1 y2 y3 Curitiba São Paulo Fortaleza x1 Recife 0,2 0,3 0,8 x2 Rio de Janeiro 0,7 0,8 0,2 Fonte: adaptado de Tanscheit (2016). 2.2.6 Composição de Relações A ideia da composição de relações é estabelecer uma relação geral a partir de duas relações não-fuzzy, que foram formadas a partir de dois ou mais conjuntos, sendo que essas relações apresentam pelo menos um desses conjuntos em comum. Não entendeu muito bem? Vamos exemplificar então: Considere duas relações não-fuzzy: P(X,Y), ou seja, uma relação que inter-relaciona os conjuntos X e Y, e Q(Y,Z), relação que inter -relaciona os conjuntos Y e Z. Perceba que temos um conjunto em comum nestas duas relações: o conjunto Y. A composição dessas duas relações é definida como sendo um subconjunto R(X,Z), em que R(X,Y) = P(X,Y)○Q(Y,Z). Para obter a composição das relações é necessário realizar algum tipo de operação matemática, sendo algumas delas listadas abaixo: • Composição Max-Min: (10) 46 UNIUBE • Composição Max-Produto: (11) Não entendeu muito bem? Então, vamos tentar simplificar um pou- co analisando os seguintes exemplos (TANSCHEIT, 2016): Exemplo 1: considere as seguintes relações não-fuzzy dadas pelas matrizes relacionais P(X,Y) e Q(Y,Z): (12) (13) O objetivo aqui é obter a seguinte matriz R(X,Z) que seja uma com- posição das relações P(X,Y) e Q(X,Y): (14) a. Suponha que desejássemos obter o elemento fR(x1,z1) con- siderando a composição Max-Min, dada pela equação (15) (baseada na equação (10)): UNIUBE 47 (15) Para resolver a equação (15), devemos primeiramente calcular o valor mínimo, relacionando todos os elementos do vetor linha 1 (x1) da matriz P, com todos os elementos do vetor coluna 1 (z1) da ma- triz Q. É como se fizéssemos uma multiplicação matricial, só que sem somar os elementos! Sendo assim teremos: (16) Substituindo os elementos de acordo com a expressão (16), temos: (17) Logo, devemos verificar o menor valor de cada relação da equação (17). Após identificar os valores mínimos, devemos analisar o máximo valor. Com isso obtemos o elemento fR(x1,z1), de acordo com (18). (18) Se repetíssemos o mesmo procedimento anterior para a obtenção de todos os outros elementos de R(X,Z), teremos: (19) 48 UNIUBE (20) b. Suponha que desejássemos agora obter o elemento fR(x1,z1) considerando a composição Max-Produto, dada pela equa- ção (21) (baseada na equação (11)): (21) Para resolver a equação (21), similarmente ao que fizemos para a composição Max-Min, devemos relacionar os elementos de x1 da matriz P, com àqueles de z1 da matriz Q, novamente como uma multiplicação matricial, só que sem somar os elementos! Em se- guida, devemos aplicar o cálculo do máximo valor. Logo, teremos: (22) Substituindo os elementos de acordo com (22): (23) Logo, devemos realizar a multiplicação dos elementos e em segui- da identificar o máximo valor, obtendo assim o elemento fR(x1,z1), de acordo com (24). (24) UNIUBE 49 Repetindo esse procedimento para a obtenção dos outros elemen- tos de R(X,Z), teremos: (25) (26) Se analisarmos as matrizes das expressões (20) e (26), iremos perceber que elas são idênticas, sendo este um caso atípico. Agora, vamos analisar a composição de relações em conjuntos fuzzy, definida aqui de maneira muito similar a que vimos ante- riormente. Novamente, teremos as composições Max-Min, dada pela equação (27), e Max-Produto, dada pela equação (28). Só que agora estaremos realizando essas composições com base em graus de pertinência, que variam de certo zero a 1. Além disso, substituiremos a nomenclatura “min” por “˄” e “max” por “sup” (sigla de supremum que nada mais é do que o menor limite superior de um conjunto S e não necessariamente pertence a este conjunto): • Composição Max-Min: (27) • Composição Max-Produto: (28) 50 UNIUBE Novamente, vamos exemplificar o conceito de composição de rela- ções fuzzy por meio dos seguintes exemplos (TANSCHEIT, 2016): Exemplo 2: sejam os conjuntos fuzzy: Estudantes X = {Mariana, Augusto}, que possuem interesse nos Tópicos Y = {Teoria, Aplicação, Programação} nos Cursos Z = {Lógica Fuzzy, Controle Fuzzy}. Os interesses dos estudantes estão representados pela matriz relacional P(X,Y), e os Tópicos dos Cursos estão represen- tados pela matriz relaciona Q(Y,Z). Suponha aqui que existam fun- ções de pertinência μ que relacionem os conjuntos fuzzy X e Y, assim comoY e Z. A seguir são dadas as matrizes relacionais. (29) (30) Como sabemos, o objetivo aqui é obter a matriz R(X,Z), a composi- ção das relações P(X,Y) e Q(X,Y), dada pela equação (31): (31) a. Neste primeiro momento, vamos considerar a composição Max-Min (equação (27)). Desejamos obter aqui o elemento μR(x1,z1) considerando a expressão equação (32): UNIUBE 51 (32) Para resolver a equação (32), devemos realizar um procedimento similar ao feito para resolver o Exemplo 1.a, ou seja, calcular o va- lor mínimo das relações entre os elementos de x1 da matriz P e de z1 da matriz Q. Logo teremos: (33) Substituindo os elementos das matrizes relacionais na expressão (33) teremos: (34) Realizando o cálculo do mínimo valor e em seguida o cálculo do máximo valor, iremos obter o elemento μR(x1,z1): (35) Adotando o mesmo procedimento anterior para obter os demais elementos da matriz R(X,Z), iremos obter: (36) 52 UNIUBE (37) b. Iremos considerar agora a composição Max-Produto, dada pela equação (28). Novamente, desejamos obter o elemento μR(x1,z1) com base na equação (38): (38) Para resolver a equação (38), temos que efetuar um procedimento idêntico ao feito para resolver o Exemplo 1.b, ou seja, calcular o valor máximo das relações entre os elementos de x1 da matriz P e de z1 da matriz Q. Logo teremos: (39) Substituindo os elementos das matrizes relacionais na expressão (39), e em seguida calculando o máximo valor, obtemos: (40) Adotando o mesmo procedimento para a obtenção dos demais ele- mentos da matriz R(X,Z), teremos: (41) UNIUBE 53 (42) Observando as matrizes das expressões (37) e (42), iremos per- ceber que estas são muito semelhantes, com leves alterações na diagonal principal. 2.2.7 Proposições Fuzzy e Regras Linguísticas Considere a seguinte frase: x é A. Esse é um exemplo bem simples que ilustra o conceito de uma proposição fuzzy. Nesse caso, x é o nome de uma dada variável linguística e A é um conjunto fuzzy definido em um dado universo de discurso. Em sistemas fuzzy, costumam-se representar proposições fuzzy por meio do produto cartesiano das variáveis linguísticas e/ou utilizando relações fuzzy. Além disso, as proposições fuzzy geralmente são com- binadas utilizando diferentes operadores, tais como os conectivos ló- gicos e e ou, a negação não e o operador de implicação (também de- nominado de declaração condicional fuzzy) se... então (TANSCHEIT, 2016), formando assim as bem conhecidas regras linguísticas. Para compreender um pouco melhor o conceito de regra, considere o seguinte exemplo: Se (temperatura é alta) e (nível é baixo) então (controle é incrementa). Nesse exemplo temos três proposições (que estão sublinhadas), sendo três variáveis linguísticas: tempe- ratura, nível e controle, assim como três conjuntos fuzzy “alta”, “bai- xo” e “incrementa”. Note também a presença do conectivo lógico E de operador de implicação SE... ENTÃO. Além disso, a junção entre as proposições fuzzy (temperatura é alta) e (nível é baixo), nos indica uma relação fuzzy. 54 UNIUBE Considere outra regra linguística: se (x é A) então (y é B). Podemos denominar regras linguísticas como sendo também implicações, re- presentadas por relações fuzzy. Além disso, a relação deste último exemplo RA→B pode ser expressa por uma função de pertinência: (43) em que f→ é conhecido como operador de implicação (definido pelo usuário). Na maioria das aplicações que envolvem sistemas fuzzy, a maioria das regras linguísticas apresentam mais do que uma única vari- ável linguística antecedente (por variável linguística antecedente entende-se todas as variáveis que são definidas antes do segundo membro do operador de implicação: o então), e estas variáveis são combinadas, geralmente, pelo conectivo lógico e. A seguinte impli- cação fuzzy: (44) pode ser representada pela seguinte função de pertinência: (45) sendo fe o operador (geralmente o min) do conectivo lógico e. Observe nas notações definidas anteriormente que em uma úni- ca regra podem existir várias variáveis lingüísticas, tais como x1, x2,..., xn, cada uma delas com seus respectivos valores lingüísticos (A1, A2,..., An), e uma única variável consequente y (por variável UNIUBE 55 linguística consequente entende como sendo a variável declaradas depois do segundo membro do operador de implicação: o então). Nas aplicações que envolvem sistemas fuzzy, existem também a operação de agregação (ou combinação) das regras lingüísticas, que considera o conectivo lógico ou, tal como: (46) Logo, pode-se definir uma função de pertinência para esse conjun- to de regras: (47) em que fou é conhecido como operador de agregação (definido pelo usuário). Note que, para as notações definidas acima, a variável linguística antecedente x é a mesma em todas as regras, e que a variável conseqüente pode assumir diferentes valores. Observação: vale a pena lembrar que normas-t (geralmente o min) são operadores utilizados para representar o conectivo lógico e, enquanto que conormas-t (geralmente o max) são os operadores considerados para conectivos lógicos ou. 56 UNIUBE SAIBA MAIS Quero pedir que você leia, particularmente, toda a seção 2: Conjuntos Fuzzy, do material “Sistemas Fuzzy” do Professor Ricardo Tanscheit, que complementa o estudo que fizemos durante este Capítulo. O link para acesso é dado a seguir: Disponível em: <http://paginapessoal.utfpr.edu.br/sumar/ensi- no/sistemas-fuzzy/sistemas-fuzzy/ICA-Sistemas%20Fuzzy.pdf>. Acesso em: 21 jan. 2017. Outra sugestão de leitura complementar é a seção 2 do artigo dos autores Gomide e Gudwin (1994), que comentam sobre conjuntos fuzzy, operações e regras linguísticas. Disponível em: <https://pdfs.semanticscholar.org/c4ea/4484bdd- 2449053d7b7384b05c0e2def86449.pdf>. Acesso em: 21 jan. 2017. Gostaria de indicar também o seguinte vídeo que aborda aspectos sobre a aplicação da Lógica Fuzzy: Disponível em: < https://www.youtube.com/watch?v=kQsxIGzwn- fM>. Acesso em: 21 jan. 2017. Já o próximo vídeo comenta em detalhes sobre os conceitos sobre a Lógica Fuzzy. Você irá perceber alguns conceitos que ainda não foram vistos, mas que serão analisados no capítulo seguinte: Disponível em: < https://www.youtube.com/watch?v=cWpjjttE4fc>. Acesso em: 21 jan. 2017. UNIUBE 57 Considerações finais Vimos ao longo deste capítulo os principais componentes relacio- nados à sistemas que utilizam a lógica fuzzy. Inicialmente, analisamos a diferença básica entre as teorias de conjuntos clássica e fuzzy, sendo que nesta última elementos podem pertencer a vários conjuntos e não necessariamente a apenas um dado conjunto. Na sequência verificamos que em sistemas fuzzy estão inseridas as variáveis linguísticas, assim como termos linguísticos, que expressam conceitos qualitativos sobre uma determinada informação e integram conjuntos fuzzy. Verificamos também que é necessário definirmos fun- ções de pertinência (triangular, trapezoidal e gaussiana, por exemplo) para os conjuntos fuzzy associados a uma variável linguística. Foi comentado também sobre algumas operações geralmente utili- zadas em conjuntos fuzzy, em destaque as operações de intersec- ção (normas-t) e união (conormas-t), que são as mais consideradas. Analisamos também o conceito de relações entre conjuntos fuzzy, ou seja, como se dá a interação (produto cartesiano) entre elemen- tos de conjuntos fuzzy. Logo na sequência, analisamos o aspecto de composição entre relações fuzzy, no qual foram vistos os tipos de operação geralmente consideradas: Max-Min e Max-Produto. Ao fim do capítulo, investigamos algumas questões sobre as pro- posições fuzzy e regras linguísticas, em que foram comentados so- bre os operadores de implicação e agregação, fundamentais para o desenvolvimento de sistemas fuzzy. Com isso, já podemos dar início ao estudo de concepção/projeto de sis- temas fuzzy, tópico que será analisado em detalhes no próximo Capítulo. Bruno Leandro Galvão Costa IntroduçãoSistemas FuzzyCapítulo 3 Este capítulo possui como premissa principal o desenvolvimento de sistemas que utilizem os fundamentos da Lógica Fuzzy: Sistemas Fuzzy, neste caso seus componentes principais vistos no Capítulo 2. Inicialmente, veremos como é constituída a estrutura desses sistemas, analisando em detalhes as etapas de I) fuzzificação, II) inferência e III) defuzzificação. Diante disso, analisaremos de forma analítica, passo a passo, um sistema fuzzy que efetue o pagamento de gorjetas a um dado garçom, como exemplo de aplicação de sistemas fuzzy, e que possibilite a compreensão de como os sistemas fuzzy são desenvolvidos. Sendo assim, veremos como são definidas as variáveis de entrada e saída, as funções de pertinência dos termos linguísticos de cada variável, assim como a definição da base de regras e dos operadores deste sistema. Ao fim, iremos implementar o sistema de pagamento de gorjetas em um ambiente de simulações computacionais: o software SciLab, em conjunto com o Fuzzy Logic Toolbox e o ambiente Xcos, sendo esse um procedimento geralmente utilizado por projetistas para verificar e avaliar se os sistemas estão de acordo com o projeto estabelecido. Com isso, é esperado que ao final o aluno esteja com conhecimento suficiente para desenvolver quaisquer sistemas fuzzy. Uma vez consolidados esses conhecimentos, torna-se possível implementar os controladores fuzzy, alvo de estudo dos Capítulos 4 e 5. • Compreender a estrutura básica de um sistema fuzzy, em especial cada uma das seguintes etapas: • Fuzzificação; • Processo de inferência; e • Defuzzificação. • Desenvolver um exemplo, passo a passo, de um sistema que esteja relacionado com os Fundamentos da Lógica Fuzzy: um sistema fuzzy que realize o pagamento de gorjetas a um garçom, analisando suas principais etapas de implementação: • definição das variáveis de entrada e saída; • definições das funções de pertinência dos termos linguísticos; e • definição das regras linguísticas e operadores. Realizar uma simulação do sistema fuzzy desenvolvido no software SciLab (em conjunto com o Fuzzy Logic Toolbox e ambiente Xcos), visando consolidar os conhecimentos da análise analítica, e a compreensão dessa ferramenta computacional. • Estrutura Básica de Sistemas Fuzzy • Fuzzificação • Processo de Inferência • Defuzzificação • Exemplo: Sistema Fuzzy para o Pagamento de Gorjeta • Definindo as Variáveis de Entrada e Saída • Definindo as Funções de Pertinência • Definindo as Regras e os Operadores Objetivos Esquema • Considerando uma Situação • Etapa de fuzzificação • Etapa de inferência • Etapa de defuzzificação • Simulando o Sistema Fuzzy para o Pagamento de Gorjeta com o SciLab • Iniciando o SciFLT e Definindo as Configurações Gerais • Configurando as Variáveis de Entrada • Configurando a Variável de Saída • Definindo as Regras Linguísticas e Observando a Superfície Fuzzy • Analisando o Sistema Fuzzy de Pagamento de Gorjetas com o Xcos Estrutura Básica de Sistemas Fuzzy3.1 Até este momento estudamos os principais componentes e carac- terísticas de sistemas baseados na lógica fuzzy. Mas você deve estar se perguntando: como todos eles estão relacionados? Devido a isso, é necessário que analisarmos agora a estrutura básica de um sistema baseado em lógica fuzzy. Basicamente, a estrutura básica dos sistemas fuzzy é caracteriza- da pela Figura 1, que consiste das seguintes etapas: Fuzzificação, Processos de Inferência e Defuzzificação. A seguir, serão comen- tados aspectos características de cada uma delas. 62 UNIUBE Figura 1 – Estrutura típica de sistemas fuzzy Fonte: adaptado de Tanscheit (2016). 3.1.1 Fuzzificação Como podemos observar na Figura 1, o ponto de partida para o sis- tema fuzzy são as entradas ditas como entradas precisas (também denominadas de entradas não fuzzy) que nada mais são do que dados provenientes de medições ou observações, casos específi- cos de aplicações práticas (TANSCHEIT, 2016). Como sabemos, os sistemas fuzzy trabalham com informações im- precisas e, devido a isso, torna-se necessário mapear, condicionar ou converter tais entradas do sistema em conjuntos fuzzy, tornando-se variáveis linguísticas. A esse processo é dado o nome de Fuzzificação. 3.1.2 Processo de inferência Após a etapa de fuzzificação, temos o processo de inferência. A ideia básica desse processo é processar os dados fuzzy de entra- da, em um conjunto com regras, de modo que seja possível inferir possíveis ações baseadas no raciocínio fuzzy (GOMIDE; GUDWIN, 1994). Podemos dizer também que esse processo mapeia os con- juntos fuzzy de entrada com os conjuntos fuzzy de saída. UNIUBE 63 Tais regras (também denominadas de base de regras) são geral- mente estipuladas ou fornecidas pelo conhecimento de especialis- tas, ou seja, os usuários do sistema, podendo ser extraídas tam- bém por meio de dados numéricos (GOMIDE; GUDWIN, 1994). 3.1.3 Defuzzificação Por fim, temos a etapa de defuzzificação que consiste basicamen- te em transformar as ações fuzzy, definidas no processo de infe- rência, em ações não fuzzy, ou seja, fornecer as saídas precisas, compatíveis com a aplicação prática (GOMIDE; GUDWIN, 1994). Nesse passo, torna-se necessário a determinação de uma ação não fuzzy que melhor represente a decisão fuzzy tomada no pro- cesso de inferência, e que será encaminhada para a saída do sis- tema (GOMIDE; GUDWIN, 1994). Geralmente, empregamos aqui métodos de defuzzificação, sendo os mais considerados o centro de gravidade e a média dos máximos. SAIBA MAIS Sugiro que você leia também o material do Prof. Ricardo Tanscheit, em particular, a seção 4, que trata sobre a estrutura de sistemas fuzzy, visando complementar o conhecimento. O link está indicado a seguir: Disponível em: <http://paginapessoal.utfpr.edu.br/sumar/ensi- no/sistemas-fuzzy/sistemas-fuzzy/ICA-Sistemas%20Fuzzy.pdf>. Acesso em: 23 jan. 2017. 64 UNIUBE 3.2 Exemplo: Sistema Fuzzy para o Pagamento de Gorjeta A fim de ilustrar os principais conceitos relacionados à lógica fuzzy, vistos até agora, desenvolveremos a seguir um exemplo de siste- ma fuzzy para o pagamento de gorjeta. Imagine que um cliente vá até um restaurante e lá se depare com a situação de pagar ou não gorjeta a um determinado garçom. Para esse exemplo, vamos supor que o cliente considere para o sistema fuzzy duas variáveis linguísticas de entrada: serviço e comida, e uma variável linguística de saída: gorjeta. IMPORTANTE Vale a pena destacar que o sistema fuzzy que estaremos desenvol- vendo considera o tipo de estrutura Mamdani. Contudo, podemos desenvolver sistemas fuzzy considerando um outro tipo de estru- tura denominada Sugeno. Mais detalhes sobre cada uma destas estruturas serão descritos nos dois próximos Capítulos. 3.2.1 Definindo as variáveis de entrada e saída Inicialmente, vamos considerar aqui a variável serviço. O cliente deseja adotar três conjuntos fuzzy para essa variável. Suponha que ele queira classificar o serviço do garçom como sendo: ruim, razoável ou excelente, sendo aplicada uma pon- deração/nota de 0 a 10, que será visto como universo de dis- curso dessa variável. Logo: UNIUBE 65 Serviço -> nome da variável linguística de entrada 1 T(serviço) = {ruim, razoável, excelente} X(serviço) = de 0 a 10 Já para a variável comida, o cliente deseja adotar apenas dois con- juntos fuzzy, visando classificar o nível da comida servida pelo res- taurante: péssima ou deliciosa, sendo aplicada uma ponderação/ nota de 0 a 10, ou seja, o universo de discurso da variável. Logo: Comida -> nome da variável linguística de entrada 2 T(comida) = {péssima, deliciosa} X(comida) = de 0 a 10 Por fim, consideremos a variável gorjeta. Nesse caso, o cliente de- seja considerar três conjuntos fuzzy, para o pagamento da gorjeta: pouca, média ou muita, sendo o valor de 0 a 30% da conta total (universo de discurso de gorjeta). Logo: Gorjeta -> nome da variável linguística de saída T(gorjeta) = {pouca,média, muita} X(gorjeta) = de 0 a 30 % do valor total da conta 66 UNIUBE 3.2.2 Definindo as funções de pertinência Uma vez definido os termos linguísticos de cada variável para o sistema fuzzy, devemos definir agora suas respectivas funções de pertinência, ou seja, formato e valores numéricos. Vamos analisar os termos linguísticos da variável serviço, conside- rando que o cliente queira classificar as funções de pertinência da seguinte forma (ilustrada na Figura 2): • “ruim” -> função de pertinência triangular, decrescente no uni- verso de 0 a 4; • “razoável” -> função de pertinência trapezoidal, do universo de 1 a 9, sendo crescente de 1 a 4, constante de 4 a 6, e de- crescente de 6 a 9; e • “excelente” -> função de pertinência trapezoidal, do universo de 6 a 10, sendo crescente de 6 a 9 e constante de 9 a 10. Figura 2 – Definição das funções de pertinência da variável de entrada serviço Fonte: elaborado pelo autor. UNIUBE 67 Considere agora que o cliente queira classificar as funções de per- tinência dos termos linguísticos da variável comida, da seguinte maneira (ilustrada na Figura 3): • “péssima” -> função de pertinência trapezoidal, constante no universo de 0 a 1, e decrescente no universo de 1 a 7; e • “deliciosa” -> função de pertinência trapezoidal, crescente no universo de 3 a 9, e constante de 9 a 10. Figura 3 – Definição das funções de pertinência da variável de entrada comida Fonte: elaborado pelo autor. Por último, mas não menos importante, devemos definir também as funções de pertinência da variável de saída gorjeta. O cliente resolveu definir da seguinte forma (ilustrada na Figura 4): • “pouca” -> função de pertinência triangular, crescente no uni- verso de 0 a 5, e decrescente no universo de 5 a 10; 68 UNIUBE • “média” -> função de pertinência triangular, crescente no uni- verso de 10 a 15, e decrescente no universo de 15 a 20; e • “muita” -> função de pertinência triangular, crescente no uni- verso de 20 a 25, e decrescente no universo de 25 a 30. Figura 4 – Definição das funções de pertinência da variável de saída gorjeta Fonte: elaborado pelo autor. 3.2.3 Definindo as Regras e os Operadores Nessa etapa torna-se necessário definir as regras que irão caracte- rizar o sistema fuzzy para o pagamento de gorjeta. Para este exemplo, iremos considerar as seguintes regras: 1. SE serviço é “ruim” E comida é “péssima” ENTÃO gorjeta é “pouca”. 2. SE serviço é “bom” ENTÃO gorjeta é “média”. 3. SE serviço é “excelente” OU comida é “deliciosa” ENTÃO gorjeta é “alta”. UNIUBE 69 Note que, nas regras, foram definidos os conectivos lógicos E e OU que representam, respectivamente, as operações de intersecção e união de conjuntos fuzzy (comentados em detalhes no Capítulo 2). Sendo assim, precisamos definir agora quais serão os operadores dessas operações. Nesse caso, iremos considerar o operador mí- nimo (min) para a operação de intersecção e o operador máximo (max) para a operação de união. Além disso, precisamos definir também os operadores de implica- ção e de agregação das regras linguísticas. Para o nosso exemplo, iremos considerar também o operador mínimo (min), e o operador máximo (max), respectivamente. 3.2.4 Considerando uma Situação A seguir, iremos desenvolver o raciocínio que o sistema fuzzy para o pagamento da gorjeta irá utilizar, considerando como exemplo a seguinte situação para as variáveis linguísticas de entrada: • Serviço = 3 • Comida = 1,5 3.2.4.1 Etapa de fuzzificação Primeiramente, devemos analisar em quais conjuntos fuzzy esses dois parâmetros vão se enquadrar, ou seja, estamos realizando o estágio de fuzzificação. Analisando as funções de pertinência ilus- tradas na Figura 2, percebemos que o valor numérico de serviço se 70 UNIUBE encontra relacionado com os conjuntos fuzzy “ruim” com um grau de pertinência de aproximadamente 0,25, ou seja, µ ruim≈ 0,25, e “razoável” com um grau de pertinência de aproximadamente 0,68, ou seja µ razoavel≈ 0,68. Já para o valor numérico assumido para a variável comida, cujas funções de pertinência estão ilustradas na Figura 3, notamos que este encontra-se relacionado ao conjunto fuzzy “péssima” com um grau de pertinência de aproximadamente, ou seja, µ péssima ≈ 0,85. 3.2.4.2 Etapa de inferência Uma vez que já sabemos que o valor serviço pertence aos conjun- tos “ruim” e “razoável”, e que comida pertence ao conjunto “péssi- ma”, devemos analisar em qual ou quais regras linguísticas esses dois conjuntos se enquadram, realizando assim a etapa de inferên- cia. Observando as regras definidas na seção 3.2.3, perceberemos que as Regras 1 e 2 são as que se encaixam aos dois conjuntos fuzzy. Com isso, já sabemos que a variável linguística gorjeta será um valor entre os conjuntos fuzzy “pouca” e “média”. Observação: se pararmos neste instante para raciocinar, perce- beremos que essa é a ação mais lógica a se fazer, pois temos ponderações baixas para o serviço e também para a comida que está sendo servida, e por isso, o óbvio é não pagar muito de gorjeta para o garçom. Como já sabemos que a gorjeta será entre “pouca” e “média”, tor- na-se necessário, agora, saber quanto que o cliente irá pagar ao garçom, ou seja, obter o valor da variável linguística gorjeta de saí- da. Para isso, precisamos considerar os operadores definidos para o nosso exemplo. UNIUBE 71 Para as regras 1 e 2, definimos o operador min para o conectivo lógi- co e, e para o operador de implicação. Logo, devemos considerar as expressões (1) e (2) para obter os graus de pertinência dos conjuntos fuzzy de saída “pouca” (µpouca) e “média” (µmédia), respectivamente. (1)µpouca = µruim ∧ µpéssima = 0,25 ∧ 0,85 = 0,25 (2)µmédia = µrazoável = 0,68 Com isso, já conhecemos os graus de pertinência dos conjuntos fuzzy de saída. Agora, precisamos considerar o operador de agregação das regras linguísticas, que para o nosso exemplo foi o operador max. Como vimos no capítulo 2, esse operador nos remete à união entre conjuntos fuzzy. Portanto, a partir da nossa análise, teremos: Figura 5 – Análise de agregação dos conjun- tos fuzzy da variável de saída gorjeta Fonte: elaborado pelo autor. 72 UNIUBE 3.2.4.3 Etapa de defuzzificação Nesse momento, devemos utilizar um método que possa nos fornecer um valor numérico para o nosso sistema fuzzy, neste caso para a vari- ável linguística de saída gorjeta, sendo esta a etapa de defuzzificação. Para isso, iremos considerar aqui o método do centro de gravi- dade (também denominado de centroide). No estudo da Física, o centro de gravidade é uma técnica que consiste em encontrar as coordenadas ou um ponto e de um dado material no qual podemos assumir que toda a sua massa esteja concentrada. As equações que definem o cálculo do centro de gravidade são des- critas a seguir: (3) (4) em que xm,n e ym,n são os pontos médios e An as áreas de n figuras. A ideia que utilizaremos aqui em sistemas fuzzy é muito similar. No entanto, vale a pena destacar que estaremos focados em encontrar o centro de gravidade de figuras planas, tais como: triângulos, retân- gulos etc. e que não possuem massa. Além disso, apenas o valor de será necessário, uma vez que desejamos obter um valor dentro do universo de discurso da variável de saída. Com base nas equações (3) e (4), basicamente, necessitamos encontrar as seguintes variá- veis: os pontos médios (xm e ym) e as áreas (A) das figuras planas. UNIUBE 73 Dessa forma, tome novamente a Figura 5. Podemos dividir essa Figura em seis partes, como pode ser visto na Figura 6. Figura 6 – Análise de defuzzificação dos conjuntos fuzzy da variá- vel de saída gorjeta por meio do método do centro de gravidade Fonte: elaborado pelo autor. Com isso, nossa tarefa será determinar as áreas e pontos médios de cada uma das 6 partes da Figura 6. Perceba que essas partes se resumem a quatro triângulos (partes 1, 3, 4 e 6) e 2 retângulos (partes 2 e 5). Considere a Figura 7 que ilustra os lados e
Compartilhar