Digitado por Danniel Cavalcante Lopes [email protected] Material de apoio utilizado na Disciplina de Inteligência Artificial da UFERSA As referencias bibliográficas utilizadas para esse documento estão disponíveis no site. Identificando a necessidade de um sistema Fuzzy Sempre que ocorrem ajustes em máquinas com o objetivo de redução de perdas e de matéria prima, como função de julgamento de um operador é interessante a utilização de um sistema Fuzzy. Por exemplo, no corte de madeiras através de serra automática o controle Fuzzy fornece um meio de embutir o conhecimento e a experiência. Sempre que o sistema depender de habilidades do operador e de atenção. Um exemplo é a produção de asfalto ou de concreto, onde mesmo o mais experimentado operador não consegue manter consistência na qualidade do produto. Sempre que um parâmetro de um processo afetar outro parâmetro de outro processo. Um exemplo é o elevador de contêiner, onde o operador deseja controlar simultaneamente a velocidade de transferência e o ângulo do balanço. Sempre que os processos possam ser modelados linguisticamente, ou seja, através de descrições verbais, mas não matematicamente. Sempre que um controlador Fuzzy possa ser utilizado como um sistema aconselhador a um operador humano, tarefa muito útil, por exemplo, para simuladores de vôos e treinamento de operadores. Veja o exemplo: É freqüente a preocupação de se introduzir um controle automático em uma instalação que sempre foi controlada por operadores humanos, nesse caso é possível se mostrar a saída na tela de um computador como uma sugestão. O operador pode aceitar que a saída do controle Fuzzy seja razoável, baseado em seu conhecimento do processo. As inconsistências devem ser anotadas para se melhorar a base de regras do controlador, e assim que o potencial de conhecimento seja transferido para o controlador Fuzzy, o processo pode ser finalmente automatizado. 1 Digitado por Danniel Cavalcante Lopes [email protected] Material de apoio utilizado na Disciplina de Inteligência Artificial da UFERSA As referencias bibliográficas utilizadas para esse documento estão disponíveis no site. Aplicações comerciais de sistemas Fuzzy Câmera de vídeo: aplicado ao foco automático e ao controle da íris da câmera; o primeiro pode manter um objeto em movimento continuamente no foco, enquanto que o segundo analisa as condições de iluminação para ajustar a velocidade automaticamente. Forno de microondas: Baseado na informação de sensores apropriados, tais como, infravermelho, umidade e pressão, o sistema Fuzzy pode ajustar a intensidade e duração do cozimento para cada tipo de comida. Máquina de lavar: utilizando sensores que medem a temperatura da água, concentração de detergente, peso das roupas, nível da água, tipo de tecido, sujeira e grau de sujeira, pode-se controlar os ciclos da máquina: bater, enxaguar e centrifugar. Incineração de lixo: manter uma temperatura de queima constante em uma planta de incineração de lixo é fator importante para minimizar a geração de gases tóxicos e evitar a corrosão da câmera de combustão. Ar-condicionado: o controlador Fuzzy produz sinais de referencia para as válvulas de água fria, água quente e para controle de umidade. A estratégia de controle usa diversos sensores para determinar como operar o ar condicionado de forma a conservar energia. Por exemplo, o que fazer quanto a temperatura aumenta e a umidade do ar diminui? Frios ABS (Antiblockier-Bremssystem): otimizar o controle do freio de forma a obter o melhor desempenho em todas as condições de frenagem. Um sistema como esse reduz a força de frenagem para o nível adequado, necessário para parar o carro. Transmissão automática adaptativa para carros: neste exemplo o controle é realizado utilizando critérios contraditórios. Por exemplo, para rendimento máximo de combustível deve-se selecionar o cambio na marcha mais alta o mais breve possível. Por outro lado, para o melhorar o desempenho de movimento, deve-se aguardar um pouco antes de mudar de marcha. Com uma caixa manual a melhor estratégia é escolhida pelo motorista de acordo com as condições do transito. O controlador Fuzzy avalia mais do que a velocidade do veículo, ele também analisa quanto que o motorista pisa no freio e no acelerador, alem da sua intensidade. o Muitas mudanças de pedais dentro de um certo período pode indicar uma rodovia com muitas curvas e montanhosas, enquanto poucos toques indicam uma auto-estrada. o Muitas alterações nos pedais com alta variação de intensidade indicam uma rodovia com curvas de velocidade media baixa, enquanto uma variação media indica uma rodovia com curvas de velocidade media mais alta. Carros mais novos possuem câmbios que apreendem o padrão do motorista! 2 Digitado por Danniel Cavalcante Lopes [email protected] Material de apoio utilizado na Disciplina de Inteligência Artificial da UFERSA As referencias bibliográficas utilizadas para esse documento estão disponíveis no site. Roteiro para desenvolvimento de um sistema Fuzzy Em geral, os sistemas Fuzzy usados para inferência são baseados em regras do tipo “se… então” e apresentam as seguintes fases: - Fuzzificação das entradas e definição. Elaboração das regras Fuzzy. Cálculo dos antecedentes. Cálculo das implicações de cada uma das regras. Agregação dos conseqüentes. Defuzzificação da saída. Dada uma base de regras (conjunto de regras fuzzy) representando determinado sistema e um vetor de entradas definido no conjunto dos números reais, pode-se definir inferência Fuzzy como o processo pelo qual se obtêm as saídas do sistema, pela avaliação dos níveis de compatibilidade das entradas com os antecedentes das regras ativando os conseqüentes. Tem-se então um conjunto fuzzy que é transformado em um número real. Dois modelos de inferência Fuzzy são particularmente importantes: - Mamdani: Uma regra típica desse modelo é: se x é A e y é B (onde A e B são conjuntos fuzzy), então Z é C (onde C é conjunto Fuzzy). - Takagi-Sugeno: Uma regra típica desse modelo é se x é A e y é B, então, z = f(x,y). Onde A e B são conjuntos Fuzzy e f é uma função real de x e y. Exercícios no MatLab Considere o caso em que se deseja determinar o consumo esperado de um refrigerante em dada região, em função da temperatura ambiente e do seu preço unitário, usando o modelo Mamdani. Têm-se duas entradas (temperatura ambiente e preço unitário) e uma saída (consumo esperado). Pode-se fazer o seguinte procedimento: 1. Fuzzificação das entradas e definição das saídas: O modelo tem duas variáveis de entrada, que são a temperatura ambiente (IN_1) e o preço do refrigerante (IN_2), e uma saída, que é o consumo esperado do refrigerante. a. No menu Edit selecione a opção Add Input. 3 Digitado por Danniel Cavalcante Lopes [email protected] Material de apoio utilizado na Disciplina de Inteligência Artificial da UFERSA As referencias bibliográficas utilizadas para esse documento estão disponíveis no site. b. Adicione mais uma variável de entrada porque o problema tem duas entradas, não é necessário fazer nada na saída pois essa tem apenas um valor. c. A temperatura ambiente (IN_1) é classificada como Baixa, Média, Alta e modeladas por três funções de pertinência gaussianas. Para isso basta dar um duplo clique no gráfico de IN_1. i. No Range mudar o valor para 15o a 45o C, em Name é colocado o nome da variável lingüística, como serão 3 variáveis é necessário adicionar mais duas em Add MFs. ii. Na caixa de dialogo pode-se selecionar o tipo de função de pertinência, desejado, assim como o numero de funções de pertinência que serão ajustadas nas entradas selecionadas. iii. Vamos escolher três funções de pertinências Gaussianas para representar as três temperaturas. Baixa (6.369 – 15), Media (6.369 a 30) e Alta (6.369 a 45). Realize testes com as outras funções de pertinência e veja o que acontece! d. Realize o mesmo procedimento de c. para a variável preço. i. Range mudar o valor para 1 a 6 R$. ii. Baixo (1.061 a 1), Médio (1.061 a 3.05) e Alto (1.061 a 6). e. O mesmo procedimento é realizado para a saída. i. Range de 500 a 6000 ii. O consumo esperado será Pequeno, Médio e Grande. iii. Funções triangulares iv. Pequeno (-2250, 500, 3250), Médio (500 3250 6000) e Grande (3250, 6000, 8750). 2. Elaboração das regras Fuzzy. A elaboração das regras Fuzzy deve ser precedida da definição dos conectivos dos antecedentes (OR AND), definição das implicações cujos operadores podem ser “mínimo” ou “produto”, agregação dos conseqüentes cujos operadores podem ser “máximo” ou “soma limitada” e defuzificação da saída. Isso é feito no menu Edit: Fis Properties. 1. Para esse exemplo serão definidos: i. And method prod ii. Or method max iii. Implication prod iv. Aggregation max v. Defuzzification centroid. Para formular as regras fuzzy basta ir no menu Edit: Rules Na tela que aparecerá será digitado todas as regras criadas. Para esse exemplo serão considerados 9 regras: 1. Se a temperatura é baixa e o preço é baixo então o consumo é grande 4 Digitado por Danniel Cavalcante Lopes [email protected] Material de apoio utilizado na Disciplina de Inteligência Artificial da UFERSA As referencias bibliográficas utilizadas para esse documento estão disponíveis no site. 2. 3. 4. 5. 6. 7. 8. 9. Se a temperatura é baixa e o preço é médio então o consumo é médio Se a temperatura é baixa e o preço é alto então o consumo é pequeno Se a temperatura é media e o preço é baixo então o consumo é grande Se a temperatura é media e o preço é médio então o consumo é médio Se a temperatura é media e o preço é alto então o consumo é pequeno Se a temperatura é alta e o preço é baixo então o consumo é grande Se a temperatura é alta e o preço é médio então o consumo é médio Se a temperatura é alta e o preço é alto então o consumo é pequeno A previsão do consumo pode ser vista no menu View: View Rules. Modifique os valores de entrada para ver as previsões de consumo. Exercício 2 em MATLAB É desejado determinar o incremento no nível de vendas de um produto em função do seu preço e da satisfação do cliente, usando o modelo Takagi-Sugeno. Têm-se duas entradas (preço e satisfação) e uma saída (nível de vendas). Considere: Entrada::Preço: Baixo: -4.5 3 10.5, Médio: 3 10.5 18 e Alto: 10.5 18 25.5. Função triangular com range 3 a 18. Entrada::Satisfação: Baixa: 0.2123 0, Média: 0.2123 0.5 e Alta: 0.2123 1. Função gaussiana com range 0 a 1. Saída::Vendas: mf1: 0, mf2: 0.125, mf3: 0.25, mf4: 0.375, mf5: 0.5, mf6: 0.625, mf7: 0.75, mf8: 0.875 e mf9: 1. Função constante com range -35 a 80. And method prod, Or method probor, Implication prod, Aggregation não tem, Defuzzification não tem. 1. Se a preço é baixo e o satisfação é baixa então as vendas tem um incremento de 0.125 2. Se a preço é baixo e o satisfação é média então as vendas tem um incremento de 0.375 3. Se a preço é baixo e o satisfação é alta então as vendas tem um incremento de 0.625 4. Se a preço é médio e o satisfação é baixa então as vendas tem um incremento de nulo 5. Se a preço é médio e o satisfação é média então as vendas tem um incremento de 0.5 6. Se a preço é médio e o satisfação é alta então as vendas tem um incremento de 0.875 7. Se a preço é alto e o satisfação é baixa então as vendas tem um incremento de 0.125 8. Se a preço é alto e o satisfação é média então as vendas tem um incremento de 0.375 9. Se a preço é alto e o satisfação é alta então as vendas tem um incremento de 0.125 5 Digitado por Danniel Cavalcante Lopes [email protected] Material de apoio utilizado na Disciplina de Inteligência Artificial da UFERSA As referencias bibliográficas utilizadas para esse documento estão disponíveis no site. Sugestões para o trabalho 1. Controle de fluxo de veículos em um cruzamento. 2. Simulação de estratégias de guerra. 3. Jogos Didáticos em computador 4. Diagnóstico na medicina. 6