Home › Fóruns › Fórum Lógica Fuzzy com Python: O Guia para Iniciantes › Notas máximas e mínimas não representam a gorjeta máxima nem a mínima
- Este tópico contém 3 respostas, 3 vozes e foi atualizado pela última vez 2 anos, 11 meses atrás por
Eduardo Alexandre Franciscon.
- AutorPosts
- 23 de abril de 2022 às 10:53 #34452
No vídeo: Exemplo das gorjetas 5 – defuzzificação, um dos testes é utilizando as notas máximas de 10 para serviço e qualidade, mas o valor da gorjeta não atinge o máximo, ficando em 18.33
Se as notas são as máximas, a gorjeta não deveria ser máxima também ?
26 de abril de 2022 às 11:00 #34471Bom dia Geraldo, obrigado por perguntar!
Para responder sua pergunta, a função responsável pela defuzzificação é um cálculo interno da biblioteca, e nós não temos acesso a ela. Mas o que sabemos, é que ela calcula o valor de cada área para fazer um valor único que melhor corresponde ao método de defuzzificação escolhido. No entanto, quando definimos no modelo básico de fuzzy, um valor de “qualidade” e “serviço” entre 0 e 10 com as nominações variando de “boa”, “mediana” e “ruim”, temos um valor correspondente a cada opção, e com uma variação de casas decimais, pois é 10/3. E quando o cálculo fuzzy é executado (levando em consideração os valores de input dados pelo usuário), temos essa margem de diferença que você percebeu. Esse é um dos grandes motivos de se ter por perto um especialista no assunto a ser aplicado a lógica fuzzy, pois a seleção de áreas e a construção de regras para mais tarde formar valores reais, necessitam muito de exatidão técnica. E como o exemplo da gorjeta é um exercício simples, apenas para uso didático, temos esse probleminha.
Espero ter ajudado!
Bons estudos!
18 de maio de 2022 às 21:18 #34652Assim como o Geraldo, também fiquei com essa dúvida. Isso também tem relação com as regras que são estabelecidas? Porque nesse exemplo, assim como no exemplo do aspirador de pó, o valor do resultado ele satura ao fazermos a aplicação das notas de máximo e mínimo. Uma outra dúvida é que se eu tivesse em uma aplicação real e meu modelo apresentasse essa diferença, poderia ser feita uma normalização desses valores de saída?
- Esta resposta foi modificada 2 anos, 11 meses atrás por
Rejane Paulino.
19 de maio de 2022 às 17:49 #34660Boa tarde Rejane, obrigado por compartilhar sua dúvida.
Aproveitando a resposta que dei ao Geraldo:
A função responsável pela defuzzificação é um cálculo interno da biblioteca, e nós não temos acesso a ela. Mas o que sabemos, é que ela calcula o valor de cada área para fazer um valor único que melhor corresponde ao método de defuzzificação escolhido. No entanto, quando definimos no modelo básico de fuzzy, um valor de “qualidade” e “serviço” entre 0 e 10 com as nominações variando de “boa”, “mediana” e “ruim”, temos um valor correspondente a cada opção, e com uma variação de casas decimais, pois é 10/3. E quando o cálculo fuzzy é executado (levando em consideração os valores de input dados pelo usuário), temos essa margem de diferença que você percebeu. Esse é um dos grandes motivos de se ter por perto um especialista no assunto a ser aplicado a lógica fuzzy, pois a seleção de áreas e a construção de regras para mais tarde formar valores reais, necessitam muito de exatidão técnica. E como o exemplo da gorjeta é um exercício simples, apenas para uso didático, temos esse probleminha.
E sobre a interferência de um conjunto de regras, sim, isso interfere também, pois de acordo com a forma que você constrói o mecanismo das regras, o mesmo mudará o resultado da defuzzificação.
Em uma aplicação real, é importante que fique claro a forma que você usará a biblioteca do skfuzzy, pois como é visível na galeria de exemplo (segue o link abaixo), existem diferentes formas de se trabalhar com os antecedentes e consequentes, e essas formas podem resolver esse problema que você percebeu. Também é importante saber que em problemas complexos, um especialista no trabalho a ser aplicado fuzzy, é indispensável, pois ele irá trazer mais clareza e exatidão na construção dos conjuntos de antecedentes e construção de regras, auxiliado também na solução da saturação.
Link skfuzzy: https://pythonhosted.org/scikit-fuzzy/auto_examples/index.html
Para o uso em problemas reais ou complexos é importante que fique claro que as opções simples de código fuzzy podem não ser as melhores escolhas. Em projetos reais, como por exemplo, controladores industriais, a forma de aplicação da lógica fuzzy e forma de implantação do código pode variar, e tudo isso ajuda a melhorar ou tornar ideal a solução do trabalho.
- Esta resposta foi modificada 2 anos, 11 meses atrás por
- AutorPosts
- Você deve fazer login para responder a este tópico.