Baixe o app para aproveitar ainda mais
Prévia do material em texto
Prof. Dr. Yvo Marcelo C. Masselli INTRODUÇÃO A INTELIGÊNCIA ARTIFICIAL O que é Inteligência Artificial ? • Etimologicamente - Inteligência (Origem: Latim) Inter (entre) e legere (escolher) Aquilo que permite ao ser humano escolher entre uma coisa e outra; Habilidade de realizar, de forma eficiente, uma determinada tarefa. • Artificial (Origem: Latim) Artificiale Algo não natural, isto é, produzido pelo homem. “Um tipo de inteligência produzida pelo homem para dotar as máquinas de algum tipo de habilidade que simula a inteligência do homem.” DEFINIÇÕES: 1 - A grande atividade da IA é a solução de problemas usando e manipulando conhecimento. 2 – "O ramo da ciência da computação preocupada com a automação de comportamento inteligente." [LUGER & STUBBLEFIELD, 93] 3 - "O estudo da computação que torna possível perceber, raciocinar e agir." [WINSTON, 92] 4 - “Um tipo de inteligência produzida pelo homem para dotar as máquinas de algum tipo de habilidade que simula a inteligência do homem.” • A Inteligência Artificial busca entender a mente humana e imitar o seu comportamento [BOOSE, 94], levantando questões tais como: – Como ocorre o pensar? – Como o homem extrai o conhecimento do mundo? – Como a memória, os sentidos e a linguagem ajudam no desenvolvimento da inteligência? – Como surgem as idéias? – Como a mente processa informações e tira conclusões decidindo por uma coisa ao invés de outra? • Essas são algumas perguntas que a IA precisa responder para simular o raciocínio humano e implementar aspectos da inteligência. • Existe um esforço, principalmente no campo da robótica, no sentido de implementar “as máquinas inteligentes”, para propiciar: – maior interação com o meio e – desenvolver padrões de inteligência envolvidos nas tarefas de: • aquisição do conhecimento, • reconhecimento, • aprendizado, etc. • Por que estudar Inteligência Artificial? Existem 3 tipos de problemas: 1. Os que não têm solução. Não há nada a fazer... 2. Os que têm solução algorítmica Ótimo. Basta codificar os algoritmos! 3. Os outros.... - Aqueles em que a solução algorítmica têm altíssima complexidade; - Aqueles que o ser humano é capaz de resolver; - Aqueles que os seres vivos são capazes de resolver. jogar xadrez, futebol, reconhecer faces, traduzir textos, etc... IA Paradigmas de Raciocínio da IA SIMBÓLICA CONEXIONISTA EVOLUTIVA ESTATÍSTICO / PROBABILÍSTICO IA IA Paradigmas de Raciocínio da IA • Simbólico: metáfora lingüística – ex. sistemas especialistas, agentes,... • Conexionista: metáfora cerebral – ex. redes neurais • Evolucionista: metáfora da natureza – ex. algoritmos genéticos, vida artificial, • Estatístico/Probabilístico – Ex. Redes Bayesianas, sistemas difusos (fuzzy) Tópicos Introdução a Agentes • Agente é qualquer entidade que: – percebe seu ambiente através de sensores (ex. câmeras, microfone, teclado,mensagens de outros agentes,...) – age sobre ele através de efetuadores (ex. vídeo, auto-falante, impressora, braços, ftp, mensagens para outros agentes,...) – Medida de desempenho: Critério que define o grau de sucesso das ações sensores Agente efetuadores a m b i e n t e Raciocinador modelo do ambiente O que é um Agente O que é um agente Inteligente? • Agentes que operam em ambientes imprevisíveis, abertos e em constante mudança, onde há elevada possibilidade de que ações possam falhar. • Agentes que são capazes de ação autônoma flexível, incluindo reatividade, aprendizado, pró- atividade e habilidade social. • Um agente humano –Sensores: olhos, ouvidos, ... –Atuadores: mãos, pernas, boca, ... • Um agente robótico –Sensores: câmeras, detectores da faixa de infravermelho, ... –Atuadores: motores, ... • Um agente de software –Sensores: teclas digitadas, conteúdo de arquivos,... –Atuadores: exibição de algo na tela, gravação de arquivos, envio de pacotes de rede, ... Exemplos de Agentes Teoria de Problemas A IA se ocupa da resolução de problemas, para tal é necessário conhecimento sobre o problema e técnicas de manipular este conhecimento para obter a solução. Mas, o que é um PROBLEMA? – Resolver um problema é diferente de ter um método para resolvê-lo. – Antes de tentar buscar a solução de um problema, deve-se responder as seguintes perguntas: • Quais são os dados? • Quais são as soluções possíveis? • O que caracteriza uma solução satisfatória? O tabuleiro de xadrez mutilado – Nesse problema, temos um tabuleiro de jogo de xadrez onde dois quadrados em cantos opostos foram cortados, de modo que restam apenas 62 quadrados – Agora, pegamos 31 dominós feitos de modo que cada dominó cobre exatamente dois quadrados. – É possível dispor os 31 dominós de modo que eles cubram todos os 62 quadrados do tabuleiro? Teoria de Problemas • Definição: Um problema é um objeto matemático P={D,R,q} - D conjunto não vazio de dados - R conjunto não vazio com os possíveis resultados qDxR condição que caracteriza uma solução satisfatória, associando cada elemento do conjunto de dados a elemento do conjunto de resultados. • Exemplo: Um problema de diagnóstico médico – O conjunto de dados disponíveis dD (observação dos sintomas, exames, etc); – R é o conjunto de doenças possíveis; – Solução satisfatória: encontrar o par (d,r) onde rR é o diagnóstico correto. • A definição de um problema permite testar se um certo elemento é ou não solução, mas não guia na busca deste elemento. D R q Teoria de Problemas Estratégias Básicas para Resolver Problemas As estratégias constituem os modos básicos de raciocínio para resolver problemas. 1 - Pela definição do problema, o qual se apresenta como uma função, estes modos de raciocínio devem se adaptar ao modo que a função foi definida. 2 - Por enumeração exaustiva: o conhecimento necessário para resolver o problema está na enumeração. 3 - Declarativamente: leva frequentemente a problemas de busca. “Utilizar um método de busca em que, por passos sucessivos se aproxima da solução, usando algumas vezes técnicas sem grande justificativa teórica”. ESTA É A ABORDAGEM DA IA SIMBÓLICA! 4 - Por exemplos: Se o problema foi definido por exemplos, se deverá usar um método para aproximar a função. ESTA É A ABORDAGEM DA IA CONEXIONISTA! ALGUNS PROBLEMAS CLÁSSICOS: Missionários e canibais; Torres de Hanói; Baldes de Água; Jogo do Oito; Reconhecimento de Caracteres, Previsão, etc. Resolução de Problemas Resolução de Problemas Dedica-se ao estudo e elaboração de algoritmos, capazes de resolver, por exemplo, problemas considerados intratáveis do ponto de vista da computação convencional. • Primeiros problemas por computador: prova automática de teoremas e jogos. • Capacidade de cálculo e memória dos computadores: insuficientes perante o enorme número de caminhos de solução. • Exemplo: jogo de xadrez • Um dos objetivos de IA: resolver problemas que o homem não sabe resolver facilmente ou num tempo razoável, desde que sejam completamente formalizados. Resolução de Problemas • O quebra-cabeças 3x3 • O Caixeiro Viajante • Cálculo Integral Formal •Empilhamento de blocos: a partir de uma configuração de blocos iniciais, qual a sequência de movimentos para se chegar a uma configuração final? • As Oito Rainhas • As Torres de Hanói Resolução de Problemas Miniproblemas • Exemplo 1: Mundo do aspirador de pó com apenas 2 locais. 27 Problema do Mundo do Aspirador de Pó - Formulação • Estados – O agente está em uma entre duas posições, cada uma das quais pode conter sujeira ou não. – Há 2 x 22 = 8 estados do mundo possíveis. • Estado inicial – Qualquer estado pode ser designado como estado inicial. • Função Sucessor – Gera os estados válidos que resultam da tentativa de executar as três ações (Esquerda, Direita e Aspirar). Miniproblemas Espaço de estados para o mundo do aspirador de pó. Os arcos denotam ações: L= Esquerda, R = Direita, S = Aspirar 30 Exemplo 2: Uma instância típica do quebra-cabeça de 8 peças: 31 Problema do Quebra-cabeça de 8 Peças - Formulação • Estados – Uma descrição de estado especifica a posição de cada uma das oito peças e do espaço vazio em um dos nove quadrados. • Estado inicial – Qualquer estado pode ser designado como estado inicial. • Função Sucessor – Gera os estados válidos que resultam da tentativa de executar as três ações (o espaço vazio se desloca para a Esquerda, Direita, Acima ou Abaixo). Problema do Quebra-cabeça de 8 Peças - Formulação • Teste de objetivo – Verifica se o estado corresponde à configuração de objetivo mostrada na figura (São possíveis outras configurações de objetivos) • Custo de caminho – Cada passo custa 1, e assim o custo do caminho é o número de passos do caminho. Problema do Quebra-cabeça de 8 Peças - Formulação • Pertence à família de quebra-cabeças de blocos deslizantes – usados com frequência como problemas de teste para novos algoritmos de busca em IA. • Número de estados acessíveis – Quebra-cabeça de 8 peças: 9!/2 = 181.440 – Quebra-cabeça de 15 peças (tabuleiro de 4 x 4): aproximadamente 1,3 trilhão (instâncias aleatórias podem ser resolvidas de forma ótima em alguns ms pelos melhores algoritmos de busca). São aqueles cujas soluções de fato preocupam as pessoas. Eles tendem a não representar uma única descrição consensual, mas tentaremos dar uma ideia geral de suas formulações. Problemas do mundo real Próximos passos: - Em busca de soluções... 1 - Para preparar um saco de 5Kg de cimento, um pedreiro precisa de 2 litros de água. No entanto, possui apenas um balde de 4 litros e outro de 3 litros, inicialmente vazios. Apenas com estes dois baldes é possível o volume necessário? Se sim, apresente o espaço de estados referente ao problema em questão. EXERCÍCIOS 3 litros 4 litros SOLUÇÃO 2 - Apresente o espaço de estados referente ao problema do quebra-cabeça das oito peças: Estado inicial Estado final (Meta) Métodos de Busca Agentes de Resolução de Problemas • Agentes reativos não funcionam em ambientes para os quais o número de regras condição-ação é grande demais para armazenar. • Nesse caso podemos construir um tipo de agente baseado em objetivo chamado de agente de resolução de problemas. • Um agente com várias opções imediatas pode decidir o que fazer comparando diferentes sequencias de ações possíveis. • Esse processo de procurar pela melhor sequencia é chamado de busca. • Formular objetivo → buscar → executar Busca Estratégias de Busca Abordagens de busca básicas num espaço de estados: Busca Cega (Sem informação/Não informada) Não tem informação sobre qual sucessor é mais promissor para atingir a meta. Busca Heurística (Busca Com Informação/Informada) Possui informação (estimativa) de qual sucessor é mais promissor para atingir a meta. É uma busca cega com algum guia ou orientação. Todas as estratégias de busca se distinguem pela ordem em que os nós são expandidos. Busca Cega (Blind Search ou Uninformed Search) – Uma estratégia de busca é dita cega se ela não leva em conta informações específicas sobre o problema a ser resolvido. • Tipos de Busca Cega – Busca em largura – Busca pelo custo uniforme – Busca em profundidade – Busca em profundidade limitada – Busca por aprofundamento iterativo – Busca bidirecional Busca Cega – Busca em Largura Consiste em construir uma árvore de estados a partir do estado inicial, aplicando a cada momento, todas as regras possíveis aos estados do nível mais baixo, gerando todos os estados sucessores de cada um destes estados. Assim, cada nível da árvore é completamente construído antes de qualquer nodo do próximo nível seja adicionado à árvore Ordem de expansão dos nós: 1. Nó raiz 2. Todos os nós de profundidade 1 3. Todos os nós de profundidade 2, etc … Busca em Largura Características: Completa e Ótima • Se existe solução, esta será encontrada; • A solução encontrada primeiro será a de menor profundidade. Vantagens: - Completo - Ótimo, sob certas condições (por exemplo, é ótimo se os operadores sempre têm o mesmo custo). Desvantagens : – Requer muita memória e tempo (complexidade exponencial): Busca em Largura • Explosão combinatorial: quando o número de alternativas a serem exploradas é tão grande que o problema de complexidade torna-se crítico. • O número de caminhos candidatos à solução é exponencial com relação ao seu comprimento. • As estratégias de busca em profundidade e em largura não fazem nada para combater esta complexidade: todos os caminhos candidatos são tratados como igualmente relevantes. Observações ... Busca em largura a custo uniforme (BranchandBound) - Modificação do algoritmo de busca em largura; - Ao invés de dar prioridade aos nós que se encontram no nível menos profundo, o algoritmo escolhe o nó que tem o menor custo. - A condição para obter uma solução ótima é que o custo para passar ao próximo estado nunca seja negativo. Exemplo: Considere as distâncias geográficas apresentadas: Objetivo: Encontrar o caminho mais curto entre Curitiba e Londrina. (a ordem de processamento dos nós é indicada com os números azuis). Procurar explorar completamente cada ramo da árvore antes de tentar o ramo vizinho. Busca em Profundidade • Exemplo: Um balde de 4 litros e um balde de 3 litros. Inicialmente vazios. Estado Final: um dos baldes com 2 litros de água. • O que acontece quando nenhuma regra pode ser aplicada, ou a árvore atinge uma profundidade muito grande sem que tenha encontrado uma solução? – Neste caso ocorre o BACKTRACKING, ou seja, o algoritmo “volta atrás” e tenta outro caminho. Busca em Profundidade Características: Não é Completa e Não é Ótima • Se admitir estados repetidos ou um nível máximo de profundidade, pode nunca encontrar a solução. • A solução encontrada primeiro poderá não ser a de menor profundidade. • O algoritmo não encontra necessariamente a solução mais próxima, mas pode ser MAIS EFICIENTE se o problema possui um grande número de soluções ou se a maioria dos caminhos pode levar a uma solução. Busca em Profundidade Observações ... • Busca em profundidade utiliza menos memória; • Quanto ao tempo, a busca em profundidade é geralmente mais rápida. • Métodos de busca cega não examinama árvore de forma ótima, o que poderia minimizar o tempo gasto para resolver o problema. Observações • As buscas em largura e profundidade não fazem uso de nenhum conhecimento para encontrar sua solução, fazendo uma busca exaustiva dentro do seu espaço. Para contornar este problema, pode-se usar os métodos heurísticos. 3 - Considerando o espaço de estados a seguir. O objetivo é atingir o nó H. Sendo assim: a) Qual a sequência executada pela busca em profundidade, largura e largura a custo uniforme? b) Qual dos métodos de busca, neste caso é mais eficiente? Explique. 4 - Considerando o espaço de estados para o problema dos jarros d´água, qual das estratégias de busca (largura ou profundidade) conduziria ao resultado mais rapidamente? Explique. 5 – Com base no mapa apresentado. a) Escreva o espaço de estados que representa as possibilidades de deslocamento entre Curitiba e Londrina; b) Qual o caminho de menor custo? c) Para encontrar o caminho de menor custo seria mais indicado a busca por largura ou profundidade? Justifique. BUSCA HEURÍSTICA Busca Heurística Uma busca heurística é uma busca que utiliza uma função h(n) que, para cada nó n do espaço de busca, dá uma avaliação do custo para atingir o estado final. A função h(n)é chamada função heurística. Função heurística h => ƒestima o custo do menor caminho do estado atual até o estado final mais próximo; Funções heurísticas são específicas para cada problema - rota mais barata de Corumbá a Campo Grande; - hdd(n) = distância direta entre n e o nó final. • Os problemas de IA empregam heurísticas, basicamente, em duas situações: 1. Um problema pode não ter uma solução exata por causa das ambiguidades inerentes a sua formulação ou pela disponibilidade dos dados. Exemplos: Diagnóstico médico, Sistemas de visão. 2. Um problema pode ter uma solução exata, mas o custo computacional para encontrá-la pode ser proibitivo. Exemplo: Jogo de xadrez. Busca Heurística Como escolher uma boa função heurística h? • h depende de cada problema particular. • h deve ser admissível – não superestimar o custo real da solução • Exemplo: jogo dos 8 números – um número pode mover-se de A para B se A é adjacente a B e B está vazio; – busca exaustiva: • solução média em 22 passos • fator de ramificação médio: 3 • ≈ 322 estados possíveis • ≈ 9!/2 (controlando os estados repetidos) 4 5 8 1 6 7 2 3 Busca Heurística 63 Algumas heurísticas possíveis: • h1 = n 0 de elementos em posições erradas • h2 = soma das distâncias de cada elemento à posição final - objetivo (city block distance - Manhattan distance) h1 = 8 h2 = 3+1+2+2+2+3+3+2=18 Distância de Manhattan: distância pombalina, distância de quarteirões ou distância de táxi. Recebeu o nome pois define a menor distância possível que um carro é capaz de percorrer numa malha urbana reticulada ortogonal, como se encontram em zonas como Manhattan ou a Baixa Pombalina. Busca Heurística 64 • Função h2 (n) – o espaço de estados gerado é menor – o algoritmo acha mais rapidamente a solução. • Exemplo: Busca Heurística 66 Espaço de estados gerado com h1(n): Exemplo: 2 8 3 1 6 4 7 5 (4) 2 8 3 1 6 4 7 5 (6) 2 8 3 1 4 7 6 5 (3) 2 8 3 1 6 4 7 5 (5) 2 8 3 1 4 7 6 5 (4) 2 3 1 8 4 7 6 5 (3) 2 8 3 1 4 7 6 5 (3) 2 8 3 7 1 4 6 5 (4) 8 3 2 1 4 7 6 5 (3) 2 3 1 8 4 7 6 5 (4) 2 3 1 8 4 7 6 5 (2) 1 2 3 8 4 7 6 5 (1) 1 2 3 8 4 7 6 5 (0) 1 2 3 7 8 4 6 5 (2) A função heurística neste caso corresponde ao número de elementos em posições erradas. Estado Inicial Estado Objetivo 2 8 3 1 6 4 7 5 1 2 3 8 4 7 6 5 67 2 8 3 1 6 4 7 5 (6) 2 8 3 1 4 7 6 5 (5) 2 8 3 1 6 4 7 5 (5) 2 8 3 1 6 4 7 5 (6) 2 8 3 1 4 7 6 5 (4) 2 8 3 1 4 7 6 5 (5) 2 3 1 8 4 7 6 5 (3) 2 3 1 8 4 7 6 5 (4) 2 3 1 8 4 7 6 5 (2) 1 2 3 8 4 7 6 5 (1) 1 2 3 8 4 7 6 5 (0) 1 2 3 7 8 4 6 5 (2) Espaço de estados gerado com h2(n): Exemplo: Estado Inicial Estado Objetivo 2 8 3 1 6 4 7 5 1 2 3 8 4 7 6 5 Busca Best-First Busca genérica onde o nó de menor custo “aparente” na fronteira do espaço de estados é expandido primeiro; ‰A idéia básica é prosseguir com a busca sempre a partir do nó mais promissor; ‰ Duas abordagens básicas: 1. Busca Gulosa (Greedy search) 2. Algoritmo A* e suas variantes Busca Best-First A função f(n) será construída como: f(n) = g(n) + h(n) ƒ g(n) é uma estimativa do custo do caminho ótimo de s até n; ƒ h(n) é uma estimativa do custo do caminho ótimo de n até t; Busca Gulosa ‰- Semelhante à busca em profundidade com backtracking; - Tenta expandir o nó mais próximo do nó final com base na estimativa feita pela função heurística h; -Tenta minimizar o custo estimado para se atingir o objetivo; * A função heurística orienta o deslocamento com base no menor custo até o nó destino! Objetivo: encontrar o menor caminho entre Guanambi e Potiraguá h1 h2 h3 Existem 3 caminhos e a escolha é feita pelo que possui menor distância até o destino (Potiraguá) Da tabela de distâncias: h1=374 h2=253 h3=329 Existem 3 caminhos e a escolha é feita pelo que possui menor distância até o destino (Potiraguá) Da tabela de distâncias: h4=178 h5=193 h4 h5 Existem 3 caminhos e a escolha é feita pelo que possui menor distância até o destino (Potiraguá) Total percorrido = 140+99+211 = 450 Km h6 BUSCA GULOSA Será este o caminho de menor distância? Busca A* (A estrela) É ainda a técnica de busca mais usada; Tenta minimizar o custo total da solução combinando: • Busca Gulosa: econômica, porém não é completa nem ótima • Busca de Custo Uniforme (Djikstra): ineficiente, porém completa e ótima; Função de avaliação: • f (n) = g (n) + h (n) • g (n) = distância de n ao nó inicial • h (n) = distância estimada de n ao nó final A* expande o nó de menor valor de f a cada instante; Se h é admissível, f (n) nunca irá superestimar o custo real da melhor solução através de n. Neste caso, a rota escolhida entre Guanambi e Potiraguá é de fato a mais curta uma vez que: • f (Conquista) = 239 + 178 = 417 • f (Belo Campo) = 220 + 193 = 413 Busca A* (A estrela) f1 f2 f3 f1=75 + 374 = 449 f2=140 + 253 = 393 f3=118 + 329 = 447 Distância até o estado final (tabela) - h(n) Distância a ser percorrida - g(n) f5 f4 f4=(140+99) + 178 = 417 f5=(140+80) + 193 = 413 Distância até o estado final (tabela) Distância a ser percorrida f6=(140+80+97) + 98 = 415 f7=(140+80+146) + 160 = 526 Distância até o estado final (tabela) Distância a ser percorrida f7 f6 Busca A* (A estrela) • Quanto mais admissível a heurística, menor o custo da busca. • Exemplo: Para o jogo do oito – h1(n): número de peças fora do lugar – h2(n):distância Manhattan (número de casas longe da posição final em cada direção) Busca A* (A estrela) Busca Heurística • Solução de problemas usando técnicas de busca heurística: – dificuldades em definir e usar a função de avaliação – não consideram conhecimento genérico do mundo (ou “senso comum”) • Função de avaliação: compromisso (conflito) entre – tempo gasto na seleção de um nó e – redução do espaço de busca • Achar o melhor nó a ser expandido a cada passo pode ser tão difícil quanto o problema da busca em geral. 84 5 - Suponha um problema que pode ser representado como um espaço de 9 estados (designados pelas letras A até K). Considere o seguinte grafo, que representa os sucessores possíveis para cada estado: Os nós representam os estados e as arestas o custo para passar de um estado a outro estado. A direção da flecha indica o estado resultante. Por exemplo, é possível atingir o estado A à partir do estado G com um custo de 10. Suponha agora que G é o estado inicial e K o estado final. Mostre a sequencia de nós visitados (ordem de visita) e nós que estão esperando para ser visitados no momento em que se encontra uma solução, em cada uma das seguintes buscas: a) Busca em largura. b) Busca em profundidade. c) Busca com o algoritmo A*, utilizando a seguinte função heurística: h(A) = h(C) = h(E) = h(F) = h(G) = 10, h(B) = 20, h(D) = 5 e h(H) = h(K) = 0. Para cada nodo da árvore, indique o seu valor f(n). d) Dessas três buscas, qual é a melhor para esse problema específico? Justifique. Representação do Conhecimento Características do conhecimento que devem ser analisadas: • É volumoso – possui diversos aspectos, características e detalhes. A cada momento, novo conhecimento é gerado... • De difícil caracterização – não sabemos explicar com formalismo como,quando e de que forma o conhecimento foi adquirido, como também temos dificuldade de explicá-lo. • Em constante mudança – é aperfeiçoado sistematicamente, crescendo e se modificando permanentemente. • É individual e único – cada indivíduo interpreta seu conhecimento de forma única. • Para que um sistema computacional possa utilizar aspectos do conhecimento existe a necessidade de estruturação daquilo que será empregado pelo sistema. • Essa estruturação é conhecida pelo nome de Representação do Conhecimento • Exemplos de paradigmas de representação do conhecimento: – Conhecimento Procedural – Redes – Frames – Lógica – Árvores de Decisão – Conhecimento Estatístico – Regras de Produção – Esquemas Híbridos – Casos Fuzzy? Lógica Fuzzy? Lógica difusa? Sistema Fuzzy? - O que é? - Para que serve? - Onde eu uso? - Como eu uso? Introdução aos Sistemas Fuzzy - Definição 1 - São sistemas que tentam explorar as formas que o cérebro usa para o tratamento de informações qualitativas e incertas. - Definição 2 - São sistemas que suportam os modos de raciocínio que são aproximados, ao invés de exatos, como estamos naturalmente acostumados a trabalhar. - Definição 3 - São sistemas capazes de tratar informações vagas, aproximadas, as quais são expressas por regras linguísticas. - Definição 4 - São sistemas que consistem em aproximar a decisão computacional da decisão humana. Principais características - Exploram a riqueza da informação: - Informações qualitativas; - Redes neurais artificiais só trabalham com informações quantitativas; - Permitem expressar imprecisões e incertezas; - O raciocínio é executado de forma aproximada (não exata); - Independem da modelagem matemática; - Sistemas baseados em regras linguísticas. Vantagens dos sistemas fuzzy - Conceitualmente fácil de ser entendida. - Flexibilidade explícita pela tolerância à imprecisão de dados. - Modelagem não-linear de processos com complexidade arbitrária. - Construída baseado na experiência dos especialistas. - Pode ser integrada com outras ferramentas convencionais. - Baseada em linguagem natural. O conceito de inexatidão - O cérebro humano processa informações inexatas de forma direta: - Fulano é muito rico. - O carro é está muito barato. - João é baixinho. - Coloque um pouco de sal. - A tensão está muito alta. - O motor está muito rápido. - A ideia pode ser facilmente compreendida; - O problema é: como definir “linguisticamente” esse valor? Exemplo: As taças estão cheias ou vazias??? A figura abaixo é “quase” toda amarela ou possui “um pouco” de vermelho? Numericamente, como poderíamos representar os quantificadores “quase” e “um pouco”? Lógica clássica e lógica fuzzy - Na lógica clássica tradicional (teoria de conjuntos), as fronteiras dos conjuntos são bem definidas. - Na lógica fuzzy (nebulosa), essas fronteiras não são bem definidas, sendo então flexíveis. FRIO CALOR T [OC] 26O C T [OC] 26O C Lógica Clássica (CRISP) Lógica Fuzzy Em resumo... - Na lógica clássica, os objetos pertencem ou não a um determinado conjunto. - A classificação é direta e irredutível Exemplo: no gráfico abaixo, 100 Km/h é uma velocidade alta e 99 Km/h não! VELOCIDADE ALTA A imprecisão e a incerteza do mundo real acaba restringindo a aplicação da lógica clássica em problemas do dia-a-dia. À medida que a complexidade de um sistema aumenta, a habilidade para se fazer afirmações precisas e que sejam significativas, diminui. Princípio da Incompatibilidade de Zadeh CONJUNTOS FUZZY Um conjunto fuzzy “A”, em um universo X, é definido por uma função de pertinência μ(x) : x → [0,1], e dado pelo conjunto de pares ordenados A = {μA(x’), x’} , x ϵ X Onde μA(x) indica o quanto cada elemento “x” pertence ao conjunto A. Um determinado elemento pode pertencer a mais de um conjunto fuzzy, com diferentes graus. μA(X) X Conjunto Fuzzy “A” μA(x’) x’ Função de pertinência Grau de pertinência O suporte de um conjunto fuzzy “A” é formado pelo conjunto de elementos, no universo X, para os quais μA(x) > 0. Um conjunto fuzzy cujo suporte é um único ponto x’ com μA(x’) = 1 é chamado de conjunto unitário fuzzy ou singleton. μA(X) X Singleton 1 x’ Conjutos fuzzy podem ser representados de diferentes formas. É uma função muito comum e utilizada. Definida por apenas três pontos, a função triangular é utilizada nos casos onde apenas um elemento pertence integralmente ao conjunto em questão. μA(X) X FUNÇÃO DE PERTINÊNCIA TRIANGULAR m 1 a b Definida por quatro pontos (vértices), a função trapezoidal é utilizada nos casos onde se tem um intervalo que pertence integralmente ao conjunto em questão. μA(X) X FUNÇÃO DE PERTINÊNCIA TRAPEZOIDAL m n b a 1 μA(X) X FUNÇÃO DE PERTINÊNCIA GAUSSIANA m σ 1 OPERAÇÕES ENTRE CONJUNTOS A teoria clássica dos conjuntos define, além das propriedades, também a forma como são realizadas as operações lógicas. Da mesma forma, é necessária esta definição no universo dos conjuntos fuzzy. - A função de pertinência é obviamente uma componente crucial de um conjunto fuzzy. - É então natural definir operações sobre conjuntos fuzzy através de suas funções de pertinência. - Operações sobre conjuntosfuzzy criam um novo conjunto fuzzy, ou vários conjuntos, onde os conjuntos fuzzy A ∩ B , A ∪ B e A ∪ B são realizadas a partir dos conjuntos A e B . OPERAÇÕES ENTRE CONJUNTOS União A união de dois conjuntos fuzzy é dada por: A ∪ B ≡ a max b Ou seja, o grau de pertinência de um elemento x ao conjunto A ∪ B é dado por µA∪B = max(µA(x), µB(x)). Outros operadores para operação União: OPERAÇÕES ENTRE CONJUNTOS Interseção Sejam A e B dois conjuntos fuzzy em um mesmo universo. A interseção de A e B ´e definida por: A ∩ B ≡ a min b Ou seja o grau de pertinência de um elemento x em relação a A ∩ B é dado por µ A∩B(x) = min(µA(x), µB(x )) Outros operadores para operação interseção: É possível concluir, então que o max é uma S-norma e o min é uma T-norma. OPERAÇÕES ENTRE CONJUNTOS OPERAÇÕES ENTRE CONJUNTOS Complemento O conjunto fuzzy completo de A (A) é definido por: A = 1 − a Ou seja, o grau de pertinência de um elemento x em relação ao conjunto A é dado por µA(x ) = 1 − µA(x). Exemplo (comprando uma casa) - Uma família com quatro integrantes deseja comprar uma casa. - Uma indicação de conforto se refere ao número de quartos. - Eles também desejam comprar uma casa grande. - Seja u = (1, 2, . . . , 10) o conjunto de casas disponíveis, descritas pelos números de quartos. Então o conjunto fuzzy c que caracteriza conforto pode ser descrito como: c = [0, 2 0, 5 0, 8 1 0, 7 0, 3 0 0 0 0] - Seja i o conjunto fuzzy caracterizando a noção de grande. - O conjunto i pode ser caracterizado por: i = [0 0 0, 2 0, 4 0, 6 0, 8 1 1 1 1] Como representar graficamente estes conjuntos??? Como poderia ser representado o conjunto de casas confortáveis e grandes? Interpretando o conjunto fuzzy c ∩ i , concluímos que uma casa com 5 quartos é ótima, mas satisfatória com grau 0,6. A segunda melhor solução é a casa com 4 quartos. - A união de confortável e grande nos dá: c ∪ i = [0, 2 0, 5 0, 8 1 0, 7 0, 8 1 1 1 1] - Agora uma casa com 4 quartos é totalmente satisfatória porque é confortável, e as casas com 7 a 10 quartos também porque são grandes. - O complemento de grande produz: i = [1 1 0, 8 0, 6 0, 4 0, 2 0 0 0 0] OUTRAS PROPRIEDADES IMPORTANTES Sejam os conjuntos fuzzy A e B, representados abaixo. Faça as seguintes operações: a) μA ∪ μB b) μA ∩ μB c) μĀ Variáveis linguisticas Uma variável linguística é uma variável cujos valores são nomes de conjuntos fuzzy Exemplo: a temperatura de um dado processo pode ser uma variável linguística assumindo valores baixa, media e alta. Os valores são descritos por intermédio de conjuntos fuzzy . Formalmente, uma variável linguística é caracterizada pelos seguintes atributos: - Nome da variável (x): É o rótulo associado a uma variável linguística em específico. - Conjunto de termos (Tx): São os nomes associados aos valores linguísticos da respectiva variável linguística. - Universo de Discurso (Ux): É o domínio (espaço) em que cada variável linguística está definida. - Funções de Pertinência (μx): São os conjuntos fuzzy que representam cada valor pertencente ao conjunto de termos da variável linguística. Seja a variável linguística representada por: - Nome da variável: v= {velocidade}. - Conjunto de termos: Tv= {Muito Baixa, Baixa, Média, Alta, Muito Alta}. - Universo de Discurso: Uv ∈ [0;180] - Funções de Pertinência: São dadas pelas funções triangulares e trapezoidais mostradas nos gráficos da figura. Considerar a variável linguística estatura (de pessoas): - Nome da variável: e= {Estatura}. - Conjunto de termos: Te= {Baixa, Média, Alta}. - Universo de Discurso: Uv ∈ [0;3] - Funções de Pertinência: São dadas pelas funções triangulares e trapezoidais mostradas nos gráficos da figura. Para ilustrar o valor da lógica fuzzy, são apresentadas duas soluções diferentes para o mesmo problema: linear e fuzzy. Primeiramente o problema é tratado de maneira convencional, usando comandos de software (SCILAB) que expressam relações lineares e ou lineares por pares. Em seguida será feita a abordagem do mesmo sistema usando lógica fuzzy. O FAMOSO PROBLEMA DA GORJETA Dado um conjunto de números entre 0 e 10, representando a qualidade do serviço em um restaurante, onde 0 é péssima e 10 é excelente, qual deve ser a gorjeta? G o rj e ta Serviço O valor de referência da gorjeta é o praticado nos Estados Unidos. “A gorjeta média por uma refeição é de 15% do valor da conta, dependendo da qualidade do serviço praticado Começamos com a relação mais simples possível. Suponha que a gorjeta seja sempre igual a 15% do valor da conta. Esta relação não leva em conta a qualidade do serviço! Gorjeta = 0.15 Segunda aproximação: Como o serviço é avaliado em uma escala de 0 a 10, podemos ter a gorjeta variando linearmente de 5% se o serviço for ruim a 25% se o serviço for excelente. Gorjeta = 0.05 + (0.20/10)*Serviço G o rj e ta Serviço - A fórmula faz o que queríamos e ela é simples. “ - Entretanto, queremos que a gorjeta reflita também a qualidade da comida. - “Esta extensão do problema é definida como: “ Dados dois conjuntos de números entre 0 e 10 (onde 10 é excelente) que representam respectivamente a qualidade do serviço e a qualidade da comida, qual deve ser a gorjeta? A fórmula agora, passa a ser a seguinte: Gorjeta = 0.05 + (0.20/20)*(Serviço + Comida) Comida Serviço G o rj e ta Neste caso, o resultado parece bom, mas se olharmos com atenção, parecem estar incorretos. Suponha que desejamos que o serviço seja mais importante do que a qualidade da comida. Assim, o serviço representará 80% da gorjeta, e a comida apenas 20%. Gorjeta = 0.8*(0.05 + (0.20/10)*Serviço) + 0.2*(0.05 + (0.20/10)*Comida) G o rj e ta Comida Serviço A resposta continua muito uniformemente linear. Suponha que queiramos uma resposta mais plana no meio, isto é, queremos dar 15% de gorjeta em geral e sairemos deste platô somente se o serviço for excepcionalmente bom ou ruim. ““Retornando ao problema unidimensional que considera somente o serviço, podemos colocar juntos uma simples estrutura condicional: se Serviço < 3 Gorjeta = 0.8*(0.05 + (0.10/3)*Serviço) + 0.2*(0.05 + (0.20/10)*Comida); senão se Serviço < 7 Gorjeta = 0.15*0.8 + 0.2*(0.05 + (0.20/10)*Comida); senão Gorjeta = 0.8+(0.15 + (0.10/3)*(Serviço–7)) + 0.2*(0.05 + (0.20/10)*Comida) Expandindo para três dimensões: Comida Serviço G o rj e ta - O gráfico parece bom, mas a função ficou complicada; - É um pouco complicado de codificar isto corretamente e não é definitivamente fácil modificar este código futuramente; - “Além disso, é muito menos aparente como o algoritmo funciona para alguém que não acompanhou os passos do processo desde o início; - Seria bom se pudéssemos capturar os aspectos fundamentais do problema, deixando de lado todos os fatores que poderiam ser arbitrários. Abordagem Fuzzy Fazendo uma lista do que realmente importa, pode-se chegar as seguintes condições ou regras descritivas: - A ordem em que estas regras são apresentadas aqui é arbitrária. - Não importa que regra vem antes.-“ Se quiséssemos incluir o efeito da comida na gorjeta, poderíamos adicionar as duas seguintes regras: se a comida não for boa, então gorjeta é pouquinha; se a comida for deliciosa, então a gorjeta é generosa. se o serviço for pobre então gorjeta é pouquinha; se o serviço for bom, a gorjeta é razoável; se o serviço for excelente então a gorjeta é generosa. Abordagem Fuzzy Podemos combinar estas duas diferentes listas de regras em uma lista resumida de apenas três como abaixo: - Estas três regras são o núcleo de nossa solução. - Coincidentemente, acabamos de definir as regras para um sistema empregando lógica fuzzy! Se o serviço for pobre ou a comida não for boa então gorjeta é pouquinha; Se o serviço for bom então a gorjeta é razoável; Se o serviço for excelente ou a comida for deliciosa então a gorjeta é generosa. Serviço Comida G o rj e ta Abordagem Fuzzy Abordagem Fuzzy Abordagem Clássica Nocao de pertinencia classica fA(x) = 1 se e somente se x ϵ A 0 se e somente se x ϵ A Podemos, então, concluir que um sistema fuzzy é aquele em que as variáveis de entrada e saída são representadas por funções de pertinência através de variáveis linguísticas e relacionadas através de regras do tipo “Se <condição> então <ação>”. Na terminologia da lógica fuzzy: Se <antecedente> então <consequente>. Fuzzificação Fuzzificação Inferência Defuzzificação Base de regras Entrada Numérica x Saída Numérica y = f(x) FIM – PARTE 1 PARTE 2 Podemos, então, concluir que um sistema fuzzy é aquele em que as variáveis de entrada e saída são representadas por funções de pertinência através de variáveis linguísticas e relacionadas através de regras do tipo “Se <condição> então <ação>”. Na terminologia da lógica fuzzy: Se <antecedente> então <consequente>. Fuzzificação Fuzzificação Inferência Defuzzificação Base de regras Entrada Numérica x Saída Numérica y = f(x) Exemplo: O problema de diagnóstico médico O conjunto de dados disponíveis dD (observação dos sintomas, exames, etc); R é o conjunto de doenças possíveis; Solução satisfatória: encontrar o par (d,r) onde rR é o diagnóstico correto. De forma geral, consiste em encontrar a relação “q” exata entre os conjutos “D” e “R”! D R q RELEMBRANDO . . . No contexto “fuzzy” esta relação é representada pelas regras. A estas está associado o “conhecimento” sobre o processo em questão. Fuzzificação Inferência Defuzzificação Base de regras Entrada Numérica x Saída Numérica y = f(x) Etapas de processamento A primeira etapa de processamento de um sistema baseado em lógica fuzzy é a de fuzzificação. Fuzzificação Inferência Defuzzificação Base de regras Entrada Numérica x Saída Numérica y = f(x) Esta tem por objetivo classificar o valor numérico de entrada de acordo com termos linguísticos relacionados aos conjuntos fuzzy que definem a função de pertinência. FUZZIFICAÇÃO Fuzzificação Entrada Numérica x Salário = R$ 2.320 Baixo (μBAIXO=0,75) Médio (μMÉDIO=0,25) Dado um valor numérico de entrada, este é classificado por um termo linguístico e um grau de pertinência. Ambos dependem da função de pertinência. FUZZIFICAÇÃO 0 500 2000 4000 6000 8000 10000 Salário [R$] Muito Baixo Baixo Médio Alto Muito Alto μS 2.320 μBAIXO = 0,75 μMÉDIO = 0,25 INFERÊNCIA Inferência Defuzzificação Base de regras Baixo (μBAIXO=0,75) Médio (μMÉDIO=0,25) Alto (μALTO=0,75) Médio (μMÉDIO=0,25) Se salário=baixo então imposto=alto Se salário=médio então Imposto=médio Corresponde ao “raciocínio do sistema”. Tem por objetivo identificar quais regras foram ativadas e quais conjuntos fuzzy de saída serão ativados e com qual intensidade. REGRAS ATIVADAS Tem o papel inverso ao da defuzzificação, ou seja, produz uma saída numérica correspondente aos conjuntos de saída ativados. Defuzzificação Saída Numérica y = f(x) Alto (μALTO=0,75) Médio (μMÉDIO=0,25) Imposto = R$137,50 DEFUZZIFICAÇÃO 0 100 200 300 400 600 800 Imposto [R$] Muito Baixo Baixo Médio Alto Muito Alto μS μBAIXO = 0,75 μMÉDIO = 0,25 A questão é: a qual valor numérico corresponde a figura abaixo? No contexto fuzzy, há diversas maneiras de se encontrar a resposta para a pergunta anterior. O cálculo é feito através de métodos de defuzzificação, sendo os mais utilizados: - Centróide - Média dos Máximos - Centro dos Máximos DEFUZZIFICAÇÃO 1) Método da média dos máximos (MoM) Gera uma ação de controle que representa o valor médio de todas as ações de controle individuais cujas funções de pertinência assumem o valor máximo. 2) Método do Centro de Gravidade (CoG) A ação de controle numérica é calculada obtendo-se o centro de gravidade da distribuição de possibilidades da ação de controle global. μ1 MoM CoG AÇÃO DE CONTROLE μ2 DEFUZZIFICAÇÃO O centro de gravidade é calculado através da relação entre o somatório do produto de cada abscissa pelo seu respectivo grau de pertinência e o somatório dos graus de pertinência. CoG = Σx.μ(x) / Σμ(x) 0,9 0,8 0,5 0,2 0,3 1 2 3 4 5 6 7 8 9 10 11 12 13 CoG = 1*0,2 + (2+3+4+5)*0,3 + 6*0,5 + 7*0,8 + (8+9+10)*0,9 + 11*0,8 + 12*0,5 + 13*0,2 0,2 + 4*0,3 + 0,5 + 0,8 + 3*0,9 + 0,8 + 0,5 + 0,2 = 7,29 DEFUZZIFICAÇÃO RESUMINDO… Inferência em sistemas SISO (Única entrada e única saída) - Em sistemas simples, com entrada e saída únicas, a relação entre conjuntos fuzzy é direta e pode ser escrita através de regras como: Se <velocidade=alta> então <aceleração=média> Se <nível=alto> então <abertura_da_válvula=pouca> Nestes casos, o grau de pertinência da saída é o mesmo da entrada, ou seja, se velocidade for igual a alta com μALTA=0,7 então a aceleração será média com μMÉDIA=0,7. A relação é direta. SISTEMAS SISO EXERCÍCIOS SOBRE SISTEMAS SISO 1 - Crie uma função chamada “T” que seja capaz de responder exatamente como a função de pertinência à seguir: 2 - Avalie a resposta para os seguintes valores: a) T = 93 mg/dL b) T = 112 mg/dL Variável Tipo de Função Faixa Número de conjuntos Velocidade Trapezoidal 0-150Km/h 2 Aceleração Gaussiana 0-100 m/s2 3 Faixa Etária Triangular 0-100 anos 4 Salário Trapezoidal R$200-7500 5 3 – Usando a toolbox “fuzzy” do Scilab, represente seu conhecimento sobre as variáveis indicadas a seguir através de funções de pertinência do tipo indicado: 4 - De acordo com as representações anteriores, encontre os números fuzzy correspondentes aos valores numéricos abaixo: a) v = 50 Km/h b) v = 115 Km/h c) a = 10 m/s2 d) a = 75 m/s2 e) Idade = 33 anos f) Idade = 72 anos g) Salário = R$ 950 h) Salário = R$ 5000 5. Suponha que você deve realizar o projeto do sistema de controle de velocidade do motor de uma cadeira de rodas. O mesmo deve atender aos seguintes requisitos: - Existe apenas um motor elétrico na cadeira eeste é responsável por movimentá-la; - O acionamento do motor é realizado através de um botão Liga/Desliga; - A velocidade desejada é de 2,5 Km/h; - A perda/ganho de velocidade deve ser compensada da forma mais suave possível; - A velocidade pode variar de 0 a 5 Km/h e a aceleração de 0- 100% - O sistema deve ser baseado em lógica Fuzzy cujas funções de pertinência possuam, pelo menos, cinco conjuntos. 6. Com base no sistema projetado, apresente os valores de aceleração para as seguintes velocidades: a) 2,5 Km/h b) 3,2 Km/h c) 1,6 Km/h 7 - Com relação às bases de regras a seguir, responda: a) Qual o efeito, na resposta do sistema, provocado pela utilização de cada delas? b) b) Qual delas atende melhor ao solicitado no projeto anterior? BASE DE REGRAS 1 Se Velocidade = MB Então Aceleração = A B A N N A B MA B BASE DE REGRAS 2 Se Velocidade = MB Então Aceleração = A B N N N A N MA B BASE DE REGRAS 3 Se Velocidade = MB Então Aceleração = MA B MA N N A MB MA MB SISTEMAS MISO - É possível notar, pelas informações anteriores, que a base de regras armazena o “conhecimento” do acerca do comportameto do sistema e o processo de inferência corresponde ao “raciocínio” do mesmo. - Cabe ressaltar que este não é apenas um processo de busca executado sobre uma base de dados (data mining), mas um tipo de mecanismo capaz de extrair conclusões com base em uma série de afirmações declaradas na forma de regras de produção; - Este mecanismo é totalmente baseado nas proposições da lógica clássica e torna-se mais complexo à medida que o número de variáveis aumenta.. SISTEMAS MISO Inferência em sistemas MISO (Múltiplas entradas e única saída) - Neste caso deve-se estabelecer uma relação entre vários conjuntos de entrada com um único de saída. - A saída dependerá do estado das entradas. Um exemplo gráfico desta relação para um sistema com duas entradas é: Entrada 1 Entrada 2 Saída SISTEMAS MISO Inferência em sistemas MISO (Múltiplas entradas e única saída) - No processo de inferência, operações relacionais são utilizadas para “disparar” regras fuzzy “Se-Então" existentes na base de regras, de acordo com o estado das variáveis de entrada. - Como várias regras são ativadas (ou disparadas) tem-se como resultante uma região fuzzy que esta relacionada com a saída do processo. - Os passos para a obtenção dessa região fuzzy de saída são: - Identificar todas as regras que estejam ativadas; - Determinar a saída fuzzy de cada uma das regras ativadas. - Combinar (agregar) todas as saídas fuzzy calculadas. SISTEMAS MISO SISTEMAS MISO Tipos de Sistemas Fuzzy Na literatura existem vários modelos de sistemas fuzzy, que se diferenciam, normalmente, na forma de “expressar” o consequente da regra, ou seja, a ação de controle. Algum dos modelos mais conhecidos são o modelo de Mandani e o modelo de Tagaki-Sugeno. O primeiro relaciona dois conjuntos fuzzy de forma direta enquanto que o segundo dispara uma ação com base na média ponderada entre as saídas ativadas. MANDANI x TAKAGI-SUGENO Modelo de Mandani O modelo de Mandani utiliza conjuntos fuzzy nos consequentes das regras fuzzy. Neste modelo, a saída da etapa de inferência é representada por um conjunto fuzzy, que é o resultado da agregação das saídas, sendo o resultado submetido a defuzzificação. No modelo Mandani tanto os antecedentes como os consequentes são mapeados com conjuntos fuzzy. Um exemplo de regra típica num modelo Mandani: SE Erro é “Grande” E a Derivada de Erro é “Pequena” Então Torque é “Alto”. MANDANI x TAKAGI-SUGENO Caso o sistema em questão tenha mais de uma variável de entrada, é necessário aplicar uma técnica de agregação dos conjuntos antecedentes, que neste caso geralmente é dada pelas t-norma (minimo – interseção) Nas aplicações práticas têm-se N regras ativadas, das quais são gerados N conjuntos consequentes, um por regra. Para obter o conjunto final de saída, é feita a composição dos através de uma s-norma (máximo - união), pois considera todas as ações de controle isoladamente. Agregação e combinação: combinam uma série de conjuntos fuzzy para produzir um único corespondente. MANDANI x TAKAGI-SUGENO Normas triangulares: Fornecem modelos genéricos para as operações de intersecção e união de conjuntos fuzzy: • Normas triangulares (t-normas) : intersecção; Associada, normalmente ao ANTECENDENTE das regras ativadas. • Co-normas triangulares (s-normas): união; Associada, normalmente ao CONSEQUENTE das regras ativadas. MANDANI x TAKAGI-SUGENO MANDANI x TAKAGI-SUGENO Exemplo Completo Especificação das Variáveis do Problema - A determinação da pressão a imposta, num sistema automatizado para freios automotivos, pode ser estimada a partir da quantidade de movimento (massa e velocidade) do veículo. - Os especialistas envolvidos com o projeto do sistema especificaram o seguinte sistema fuzzy para ser aplicado neste problema: - Variáveis de Entrada: Velocidade (km/h) → v ∈ [0; 180] Massa do veículo (ton) → m ∈ [0; 2,4] -Variável de Saída: Pressão no freio (atm) → p ∈ [0; 1] - Afim de validar o sistema em questão, deseja-se, então, saber qual a pressão a ser exercida nos freios de um veículo com massa de 1,5 Ton a uma velocidade instantânea igual a 155 km/h. - Os operadores fuzzy a serem utilizados serão os seguintes: → Conectivo => E (Mínimo), OU (Máximo) → Implicação => Mamdani → Agregação => Máximo → Defuzzificação => Centróide Especificação de Variáveis do Problema Especificação de Funções de Pertinência Variável de Entrada: Velocidade (km/h) → v ∈ [0; 180] - Variável de Entrada Massa do veículo (Ton) → m ∈ [0; 2,4] -Variável de Saída: Pressão no freio (atm) → p ∈ [0; 1] Especificação de Funções de Pertinência Especificação da base de regras Após análise do problema, foi decidido que todas as regras do sistema seriam do tipo: Se (velocidade é “alta”) E (massa é “grande”) Então a pressão no freio é “elevada” Velocidade: MB (muito baixa), BA (baixa), ME (média), AL (alta), MA (muito alta) ƒMassa: MP (muito pequena), PE (pequena), ME (média), GR (grande), MG (muito grande) Pressão: MI (mínima), ME (média), EL (elevada) ` Fuzzificação das Variáveis Para (v= 155 km/h) e (m=1,5 Ton), tem-se duas regras ativadas, conforme as funções de pertinência das entradas. As regras ativadas estão circuladas em azul. Implicação Levando-se em conta os seguintes valores de entrada: v= 155 km/h e m = 1,5 Ton É possível verificar que as seguintes regras foram ativadas: 1a - Se (velocidade é “muito alta”) E (massa é “média”) Então a pressão no freio é “média” 2a - Se (velocidade é “muito alta”) E(massa é “grande”) Então a pressão no freio é “elevada Implicação (PRIMEIRA REGRA) Conectivo E (AND) => Mínimo Implicação ENTÃO => Mamdani (Operador “Mínimo”) Se (velocidade é “muito alta”) E (massa é “média”) Então (pressão é “média”) E μMUITO ALTA = 1 μMÉDIA = 0,25 μ(MUITO ALTA ∩ MÉDIA) = Mín (1; 0,25) = 0,25 Se (velocidade é “muito alta”) E (massa é “grande”)Então (pressão é “elevada”) μMUITO ALTA = 1 μGRANDE = 0,75 μ(MUITO ALTA ∩ GRANDE) = Mín (1; 0,75) = 0,75 E Implicação (SEGUNDA REGRA) Conectivo E (AND) => Mínimo Implicação ENTÃO => Mamdani (Operador “Mínimo”) Agregação: - Sua função é agregar (combinar) as contribuições das regras ativadas. - Operador de Agregação → Máximo (entre as curvas que delimitam as regiões de contribuição de cada regra ativada) μ(FINAL) = MÁX (0,25; 0,75) Defuzzificação: - Operador de Defuzzificação → Centróide Modelo de Takagi-Sugeno No modelo de Takagi-Sugeno (TS), o consequente de cada regra é função das variáveis de entrada; A saída final de todas as regras é determinada pela média ponderada das saídas geradas por cada um das regras. Os coeficientes de ponderação são definidos pelos graus de ativação das respectivas regras. Uma regra típica de um modelo Sugeno é da seguinte forma: SE Erro=x e a Derivada_do_Erro=y então Torque é τi = a.x+b.y+c Onde τi é o valor de saída de cada um das regras. MANDANI x TAKAGI-SUGENO ATIVIDADE 1: Em um determinado processo industrial, a vazão ideal de saída de um produto de uma caldeira pode ser estimada mediante às grandezas físicas de Pressão e Temperatura. O especialista do processo forneceu alguns dados que foram utilizados para o projeto de um sistema fuzzy para mapear o comportamento existente entre as variáveis de entrada e saída, e assim, efetuar o controle de abertura da válvula da caldeira. Variáveis de Entrada: Temperatura: varia de 800oC a 1200oC Pressão: varia de 4 atm até 12 atm Variável de Saída: Vazão: varia de 0 m3/s até 3m3/s Entrada 1: Temperatura (T) ƒVariável linguística: T (ºC) ƒTermos Linguísticos: “Baixa”, “Média” e “Alta” ƒFunções de Pertinência: “Trapezoidal” e “Triangular” ƒUniverso de discurso: [800 1200] (ºC) Entrada 2: Pressão (P) ƒVariável lingüística: Pressão ƒTermos Lingüísticos: “Baixa”, “Média”, “Alta” ƒFunções de Pertinência: “Gaussiana” ƒUniverso de discurso: [4 12] (atm) Saída: Vazão Desejada (V) ƒVariável lingüística: Vazão ƒTermos Lingüísticos: “Baixa”, “Média Baixa”, “Média”, “Média Alta”, “Alta” ƒFunções de Pertinência: “Trapezoidal”e “Triangular” ƒUniverso de discurso: [0 3] (m3/s) Base de Regras - Regra 1: Se Temperatura é Baixa e Pressão é Baixa então Vazão é Baixa - Regra 2: Se Temperatura é Baixa e Pressão é Média então Vazão é Média-Baixa - Regra 3: Se Temperatura é Baixa e Pressão é Alta então Vazão é Média - Regra 4: Se Temperatura é Média e Pressão é Baixa então Vazão é Média-Baixa - Regra 5: Se Temperatura é Média e Pressão é Média então Vazão é Média - Regra 6: Se Temperatura é Média e Pressão é Alta então Vazão é Média-Alta - Regra 7: Se Temperatura é Alta e Pressão é Baixa então Vazão é Média - Regra 8: Se Temperatura é Alta e Pressão é Média então Vazão é Média-Alta - Regra 9: Se Temperatura é Alta e Pressão é Alta então Vazão é Alta Projete o sistema descrito e compare com os resultados fornecidos pela simulação para os seguintes casos: Sistemas de controle dinâmico INTRODUÇÃO Os sistemas de controle podem ser classificados como: • Sistemas de controle em malha aberta: simplesmente executa um conjunto de ações pré-programadas, não havendo meios de corrigi-las caso necessário. Exemplo: no controle de um semáforo os estados mudam em intervalos definidos, independente da variação no fluxo de carros. • Sistemas de controle em malha fechada: o estado atual do sistema é continuamente comparado com o desejado e correções são feitas a fim de conduzir o sistema para o estado desejado. Exemplo: num controle da temperatura, a mesma é medida continuamente e comparada com o valor desejado. Ações de controle são tomadas com o objetivo de manter o valor desejado. O controle PID consiste em calcular um valor de atuação sobre o processo com base no valor desejado e do valor atual da variável de processo. Este corresponde ao valor adequado ao comportamento esperado do atuador (válvula, motor, relé). Além disto deve ser robusto e preciso. De uma maneira bem simples, o PID é a composição de três ações quase intuitivas, conforme resume o quadro a seguir: CONTROLADOR PID A equação que representa o controle PID é: Onde Kp, Ki e Kd representam respectivamente os ganhos do controle proporcional, integral e derivativo. MV(t) representa o sinal de atuação e E(t) o erro É comum o conceito de “Banda Proporcional” (Kp), “Tempo Derivativo” (Kd) e “Taxa Integral” ou “Reset” em substituição a Ki. Desta forma a equação do PID ficaria assim: CONTROLADOR PID CONTROLADOR PID Sistemas de controle baseados em lógica Fuzzy Em um controlador fuzzy a estratégia de controle é descrita por intermédio de regras linguísticas que buscam representar a ação de um operador humano diante de situações previamente conhecidas. Obviamente, o sucesso da implementação dependerá do conhecimento acerca do processo e do quão fiel o mesmo foi representado. A estrutura básica, generalizada, de um controlador deste tipo é mostrada à seguir. CONTROLADORES FUZZY CONTROLADORES FUZZY A interface de saída fornece informações (determinísticas) a respeito do processo e as classifica em termos linguísticos associados aos conjuntos fuzzy que compõe as funções de pertinência. Neste ponto pode-se levar em consideração a presença de conversores A/D e D/A, fatores de escala, procedimentos de quantização, etc. A interface de entrada converte a saída fuzzy do controlador para um valor determinístico a ser fornecido ao processo. Neste ponto incluem-se métodos de defuzzificação, fatores de escala, integradores, conversores, etc. CONTROLADORES FUZZY O algoritmo de controle, com base nas regras, definem, para um determinado estado, a decisão sobre a próxima entrada do processo. Verifica-se, então, que as regras constituem o elemento principal para que determinada ação de controle seja tomada. As operações entre conjuntos fuzzy apenas fornece os meios para se traduzir as regras em termos matemáticos e para se inferir uma decisão a partir delas. CONTROLADORES FUZZY TIPOS DE CONTROLADORES FUZZY As indústrias químicas e de processo contínuo costumam usar controladores fuzzy com malhas de controle PID subjacentes. Neste modelo, conhecido como controlador supervisor, as saídas do controlador, supervisionam os PID’s de forma similar a um operador humano. Controlador do tipo Supervisor de Controle Controlador do tipo Supervisor de Controle Controlador do tipo Adaptativo A estrutura abaixo mostra como usar um controlador fuzzy para ajustar os parâmetros de um controlador PID convencional automaticamente. O mesmo interpreta constantemente a reação do processo e calcula os ganhos ideais P, I e D. Isto é válido quando as características do processo são alteradas ao longo do tempo. Controlador do tipo Adaptativo Neste, os controladores trabalham em paralelo. Os sinais de saída de ambos são somados, considerando como zero a saída do controlador fuzzy em condições normais de operação. A saída do PID lidera o processo. O controlador fuzzy intervém apenas quando detectar condições anormais de funcionamento, tais como perturbações fortes. CONTROLADORFUZZY-INTERVENTOR CONTROLADOR FUZZY-INTERVENTOR Controlador Proporcional Fuzzy (Fuzzy-P) Considere um controlador proporcional discreto de uma entrada e uma saída: u=Kp.e Onde e é o erro entre o sinal de um ponto de operação (referência) e a saída do processo. A regra de controle fuzzy é: SE erro = Ei ENTÃO controle= Ui Onde Ei e Ui são funções de pertinência linguísticas atribuídas às variáveis e e u. Neste caso, o controlador fuzzy tem uma única saída. CONTROLADOR FUZZY-PROPORCIONAL CONTROLADOR FUZZY-PROPORCIONAL CONTROLADOR FUZZY-PROPORCIONAL Controlador Proporcional Integral Fuzzy (Fuzzy-PI) O controlador fuzzy-PI é uma generalização do controlador PI convencional que utiliza um sinal de erro e um sua derivada como sinais de entrada. CONTROLADOR FUZZY-PI Controlador Proporcional-Integral Fuzzy (Fuzzy-PI) Seja de a variação do erro e e du a da saída u. No domínio do tempo: du=Kp.e + Ki.de A regra fuzzy é: SE erro = Ei e variação do erro = dEi ENTÃO variaçâo do controle = dUi * Note que a expressão da variação do controle deve ser integrada antes de poder ser usada para controle do processo. CONTROLADOR FUZZY-PI Controlador Proporcional-Integral Fuzzy (Fuzzy-PI) O benefício do controlador fuzzy-PI é que ele não tem um ponto de operação específico. A variável de controle é aumentada ou diminuída de acordo com o erro e sua tendência de variação. O valor absoluto da variável de comando tem nenhuma influência. Outra vantagem de um controlador fuzzy-PI é de executar estratégias de controle não-lineares através de regras linguísticas. CONTROLADOR FUZZY-PI A ação é sobre a intensidade do controle! A ação é sobre a variação do controle! Em resumo… Controlador Proporcional-Integral-Derivativo Fuzzy (PID-Fuzzy) A expressão de um controlador PID no domínio do tempo é: du = kpe+kide+kdd 2e Onde d2e é variação da variação do erro, o que equivale em termos “fuzzy” a um controlador com três entradas e uma saída, relacionadas através da seguinte regra: Se erro = Ei e variação do erro = dEi e variação da variação do erro = d 2Ei Então variação do controle = dUi CONTROLADOR FUZZY-PID CONTROLADOR FUZZY-PID Observações gerais sobre controladores PID fuzzy Como o número de conjuntos fuzzy por função de pertinência pode ser alto, o número de regras tende a aumentar consideravelmente. Assim, é comum nestes casos, a representação através de tabela. CONSIDERAÇÕES GERAIS Observações gerais sobre controladores PID fuzzy - A configuração de duas entradas (erro e variação de erro) para o controlador PI-Fuzzy é a mais utilizada; - Ao se projetar qualquer controlador fuzzy, existem muito mais escolhas do que no caso de controladores convencionais. O projeto de um sistema fuzzy é considera as definições: - número de variáveis de entrada e saída; - número de funções de pertinência para cada variável; - tipo de funções de pertinência para cada variável; - número de regras fuzzy; - inferência usada na estrutura de regras; - métodos de defuzzifìcação. CONSIDERAÇÕES GERAIS
Compartilhar