-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implementing a Mean 3Pi aggregation operator with Pyfuzzylite #13
Comments
Hi Theo Thanks for your post and interesting article. You are almost there! In fuzzylite, Does that make sense? Cheers |
Hi, The equations seem fine, but your problem is happening before the aggregation. Would you like to share your engine in the fuzzylite language? I just want to check with QtFuzzyLite how your engine is working without the aggregation. You could also get QtFuzzyLite at: https://fuzzylite.com/buy |
Hello, Sure, the code is available here: https://github.com/YamatoFr/FOG_computing_tasks_scheduling/tree/main/scripts/fuzzy The engine and the code for the M3P are in fuzzyengine.py, the processing is done in fuzzyprocessing.py. And here's the engine in the fuzzylite language: Edit: there's a .fll file available too.
|
Hi, I think your problem could be that you are not setting the values of the input variables correctly. Cheers. |
Also, I noticed maybe a bug somewhere in your code, maybe unrelated to this issue:
you should compare And also, that |
Hi, I've created a Colab notebook, I'll send the link to you via mail. Cheers. |
Hi, I took a look. The problem is the numerator becoming zero, which happens whenever a or b are zero. Also, the expansion of the equation may not be the solution for using fuzzylite. I did not read the article fully, but it may be the case that you need to do it differently. In fuzzylite, you need only a and b because of the way it is aggregated. See the following: But the 3MeanPi may not work with this approach because To summarise, I would do:
It is a bit more complex than what you have done so far. I particularly don't know:
I hope this helps. |
Hello, Thanks for the help, I've made some good progress thanks to you (new bugs/errors are still progress). I do have one last question, where should I call this new Cheers. |
Cool. If you implemented the Aggregated class overriding the membership function, then you just need to set it in the output variable (eg Oh, by the way, on what I don't know that I mentioned before, you probably don't care about the order of x. I was confused that the exponent was related to the ordering, but it is just a constant. |
Hello!
I'm trying to implement a Mean 3Pi (M3P) aggregation operator:
I understand that a custom aggregation operator would be defined like this:
I know that$a$ and $b$ are the membership functions values, however, despite looking into the library I still do not understand how the compute function retrieves those values and how I can manipulate them to implement the operator.
I will this article that explains the M3P better than I can: Analysis_of_New_Aggregation_Operators.pdf
I hope my explanation was not too confusing, feel free to ask if you need more information.
The text was updated successfully, but these errors were encountered: