Fuzzy Logic
A lógica fuzzy atribui valores de verdade entre 0 e 1, permitindo que sistemas baseados em regras raciocinem com termos vagos como quente ou perto. Abrange controladores e código.
A lógica difusa é uma forma de lógica multivalorada em que uma afirmação pode ser parcialmente verdadeira, com um grau de verdade entre 0 e 1, em vez de ser apenas verdadeira ou falsa. Teve origem no artigo de Lotfi Zadeh sobre conjuntos difusos, publicado em 1965 na Universidade da Califórnia, em Berkeley, e permite aos computadores usar termos humanos vagos como «morno», «perto» ou «rápido» em cálculos precisos. Um sistema difuso codifica o conhecimento especializado em regras simples do tipo se-então e combina as regras parcialmente aplicáveis, pelo que a saída muda suavemente à medida que as entradas variam. Esta propriedade tornou a lógica difusa essencial na engenharia de controlo, desde a travagem de comboios até às máquinas de lavar, e continua a fazer parte dos sistemas de inteligência artificial (AI) que precisam de regras interpretáveis e ajustáveis manualmente.
Conjuntos difusos e funções de pertença#
Na teoria clássica dos conjuntos, um elemento pertence ou não pertence a um conjunto. Um conjunto difuso atribui a cada elemento um grau de pertença entre 0 e 1 através de uma função de pertença, geralmente uma curva triangular, trapezoidal ou gaussiana sobre o intervalo de entrada. Os conjuntos adjacentes sobrepõem-se, pelo que uma divisão a 24 °C pode ser «morna» com grau 0.6 e «quente» com grau 0.2 ao mesmo tempo, e a classificação muda gradualmente em vez de saltar num limiar. Os operadores lógicos também se estendem a graus: as definições originais de Zadeh usam o mínimo dos dois graus para AND, o máximo para OR e 1 menos o grau para NOT; outras opções, como o produto para AND, pertencem a uma família chamada t-normas.
Como funciona um sistema de inferência difusa#
Um controlador difuso transforma leituras imprecisas de sensores num comando preciso em quatro etapas:
- Fuzzificação: Mapeia cada valor de entrada para o seu grau de pertença em cada conjunto difuso, por exemplo, o grau em que um obstáculo está «perto», a uma «distância média» ou «longe».
- Avaliação de regras: Ativa cada regra se-então, como «se a distância estiver perto, a travagem é forte», com um grau correspondente à validade da condição.
- Agregação: Limita o conjunto de saída de cada regra à respetiva força de ativação e combina os conjuntos limitados, geralmente usando o máximo.
- Desfuzzificação: Reduz o conjunto combinado a um único número, geralmente o seu centroide.
Este esquema é o método de Mamdani, assim chamado em homenagem a Ebrahim Mamdani, que o utilizou com Sedrak Assilian para controlar uma máquina a vapor de laboratório em 1975. Os sistemas Takagi-Sugeno substituem os conjuntos de saída por fórmulas das entradas e calculam a média, o que reduz o custo computacional e facilita o ajuste com dados. Este exemplo implementa um controlador Mamdani de três regras que define a força de travagem com base na distância até um obstáculo:
import numpy as np
# Output fuzzy sets over braking force (0-100%)
force = np.linspace(0, 100, 501)
gentle = np.interp(force, [0, 40], [1, 0])
firm = np.interp(force, [20, 50, 80], [0, 1, 0])
hard = np.interp(force, [60, 100], [0, 1])
for distance in [8, 15, 22, 35]:
# Fuzzification: how near, medium, and far the obstacle is (meters)
near = np.interp(distance, [5, 20], [1, 0])
medium = np.interp(distance, [10, 20, 30], [0, 1, 0])
far = np.interp(distance, [20, 40], [0, 1])
# Rules: near -> hard, medium -> firm, far -> gentle; clip each set (min), combine (max)
combined = np.maximum.reduce([np.minimum(near, hard), np.minimum(medium, firm), np.minimum(far, gentle)])
# Defuzzification: the centroid of the combined set is the crisp braking command
print(f"{distance:>2} m -> brake {np.sum(force * combined) / np.sum(combined):.0f}%")O script apresenta forças de travagem de 86%, 60%, 47% e 14% para distâncias de 8, 15, 22 e 35 metros. A 15 metros, o obstáculo está «perto» com grau 0.33 e a uma «distância média» com grau 0.5, pelo que as regras de travagem forte e moderada são parcialmente ativadas e a sua combinação resulta em 60%. Três regras produzem uma curva de travagem suave, sem qualquer limiar que provoque um salto no comando.
Aplicações#
- Sistemas de controlo: O sistema difuso de operação automática de comboios da Hitachi controlou a aceleração e a travagem na linha Namboku do metro de Sendai quando esta foi inaugurada em 1987, proporcionando viagens mais suaves e paragens mais precisas. Os controladores difusos também ajustam eletrodomésticos, como máquinas de lavar, panelas de arroz e aparelhos de ar condicionado, com base em leituras imprecisas dos sensores.
- Segmentação de imagens: O c-means difuso, uma versão flexível do clustering k-means, atribui a cada píxel um grau de pertença a cada cluster. É muito utilizado na análise de imagens médicas, por exemplo, para separar tipos de tecido cerebral em exames de ressonância magnética, em que um píxel no limite pode conter ambos os tecidos.
- Decisões orientadas por visão: A solução de estimativa de velocidade da Ultralytics acompanha veículos com um modelo YOLO26 e comunica a velocidade de cada um em km/h; esta entrada precisa pode ser classificada por uma base de regras difusas como lenta, moderada ou rápida antes de definir um nível de alerta ou a temporização dos sinais.
- Sistemas neurodifusos: O sistema de inferência neurodifusa adaptativo (ANFIS), apresentado por Jyh-Shing Roger Jang em 1993, aprende funções de pertença e parâmetros de regras a partir de dados, usando métodos de treino de redes neuronais e mantendo as regras legíveis.
Lógica difusa vs. probabilidade e IA simbólica#
A lógica difusa e a probabilidade usam ambas números entre 0 e 1, mas descrevem tipos diferentes de incerteza. Uma probabilidade, a quantidade usada pelos modelos bayesianos para raciocinar, expressa a probabilidade de um evento definido com precisão, como uma probabilidade de 30% de chover amanhã. Um grau de pertença difusa expressa até que ponto uma descrição vaga se aplica a um estado conhecido, como uma chávena de café a 50 °C ser «morna» com grau 0.7. Em comparação com a IA simbólica clássica, as bases de regras difusas mantêm o formato legível se-então dos sistemas especialistas, mas substituem a condição binária de cada regra por um grau, permitindo que várias regras contribuam ao mesmo tempo para uma decisão.










