sistema de controle fuzzy baseado em regras e aproximação de funções

StackOverflow https://stackoverflow.com/questions/4843894

  •  27-10-2019
  •  | 
  •  

Pergunta

Estou tentando implementar um aproximador de função (agregação) usando um sistema de controle fuzzy baseado em regras.Para simplificar minha implementação (e ter um melhor entendimento), estou tentando aproximar y= x ^ 2 (a função não linear mais simples).Tanto quanto eu entendo, tenho que mapear minha entrada (por exemplo, amostras uniformes em [-1,1]) para conjuntos difusos (fuzzyficação) e, em seguida, usar um método de defuzzyficação para obter valores nítidos.Existe alguma explicação simples para este procedimento porque a literatura do sistema de controle difuso é um pouco confusa.

Foi útil?

Solução

Essa é uma pergunta meio ampla, mas vou tentar, já que ela ficou sem resposta por muito tempo.

Primeiro, acredito que você precisa refinar seu objetivo (pelo menos conforme declarado aqui). Eu hesitaria em usar o termo "aproximação de função" neste contexto. Se eu acompanhar sua pergunta corretamente, o objetivo é mapear uma função não linear em outro domínio por meio de métodos fuzzy.

Para fazer isso, primeiro você precisa definir suas funções de associação de conjunto difuso. (Este link é um bom exemplo do processo.) Sem informações adicionais, eu recomendo o função triangular devido à sua facilidade de implementação. O número de conjuntos difusos, sua colocação e largura (ou suporte) e o grau de sobreposição são específicos da aplicação. Você indicou que seu domínio de entrada é [-1,1], então pode descobrir que três conjuntos difusos resolvem o problema, ou seja, negativo, zero e positivo.

A partir daí, você precisa criar um conjunto de regras, ou seja, se x for Negativo, então ...

Com as regras em vigor, você pode definir o processo de defuzzificação. Resumindo, esta etapa pondera a ativação de cada regra de acordo com as necessidades do aplicativo.

Não acredito que possa contribuir mais plenamente até que o resultado seja melhor definido. Você declara "use um método de defuzzyfication para obter valores nítidos". - o que esse conjunto de valores nítidos significa? Qual é o alcance? Etc. Além disso, você receberá mais respostas se puder identificar as áreas em que está preso (ou seja, perguntas mais específicas).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top