Skip to content

Commit 09a311f

Browse files
committed
updated release
1 parent 2aa2fd0 commit 09a311f

File tree

2 files changed

+4
-8
lines changed

2 files changed

+4
-8
lines changed

META.stay

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ name: fuzzylogic
33
description: Fuzzy Logic for Python 3
44
license: MIT
55
url: https://github.com/amogorkon/fuzzylogic
6-
version: 0.1.1
6+
version: 0.1.1post1
77
author: Anselm Kiefner
88
author_email: fuzzylogic-pypi@anselm.kiefner.de
99
python_requires: >3.6

src/fuzzylogic.egg-info/PKG-INFO

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Metadata-Version: 2.1
22
Name: fuzzylogic
3-
Version: 0.1.1
3+
Version: 0.1.1.post1
44
Summary: Fuzzy Logic for Python 3
55
Home-page: https://github.com/amogorkon/fuzzylogic
66
Author: Anselm Kiefner
@@ -18,16 +18,12 @@ Description: # fuzzy - Fuzzy Logic for Python 3
1818
### The Idea
1919
So, the idea is to have four main parts that work together: domains, sets, functions and rules. You start modelling your system by defining your domain of interest. Then you think about where your interesting points are in that domain and look for a function that might do what you want. In general, fuzzy.functions map any value to [0,1], that's all. Then simply wrap your function in a Set and assign this to the domain in question. Once assigned, you can plot that set and see if it actually looks how you imagined. Now that you have one or more sets, you also can start to combine them with set operations &, |, ~, etc. It's fairly straight forward.
2020
Finally, use the Rules to map input domain to output domain to actually control stuff.
21-
2221
### Warning: Magic
2322
To make it possible to write fuzzy logic in the most pythonic and simplest way imaginable, it was necessary to employ some magic tricks that normally are discouraged, but at least there's no black magic involved (aka meta-programming etc.), so things are easy to debug if there is a problem. Most notably:
2423
* all functions are recursive closures (which makes it kinda hard to serialize things, if you really want to do that)
2524
* Set uses a lot of dunder functions to implement their logic, which can be a bit daunting at first glance
26-
* Domain and Set uses an assignment trick to make it possible to instantiate Set() without passing domain and name over and over (yet still be explicit, just not the way one would normally expect). This also allows to call sets as Domain.attributes, which also normally shouldn't be possible (since they are technically not attributes). However, this allows interesting things like dangling sets (sets without domains) that can be freely combined with other sets to avoid cluttering of domain-namespaces and just have the resulting set assigned to a domain to work with.
27-
28-
29-
Check the Showcase notebook for working examples and documentation.
30-
25+
* Domain and Set uses an assignment trick to make it possible to instantiate Set() without passing domain and name over and over (yet still be explicit, just not the way one would normally expect). This also allows to call sets as Domain.attributes, which also normally shouldn't be possible (since they are technically not attributes). However, this allows interesting things like dangling sets (sets without domains) that can be freely combined with other sets to avoid cluttering of domain-namespaces and just have the resulting set assigned to a domain to work with.
26+
Check the Showcase notebook in docs on https://github.com/amogorkon/fuzzylogic for working examples and documentation.
3127
Have fun!
3228
- Anselm Kiefner
3329

0 commit comments

Comments
 (0)