Tag Archives: fuzzy

Thoughts on… The X-mu Library (An Introduction)

OK, so one of the many outputs of my PhD Research and Development is a software library in the python programming language for what we call the “X-mu Approach” to Fuzzy Set Theory. I’ve released this library as free and open source software via github ( danieljohnlewis/xmu-python ), and I’ve started to build an online calculator… but I’m not quite ready to make that public quite yet (although if you’re up for testing it, then please do get in touch!)

Something is fuzzy when it has a graded membership… what I mean by this is that subjectively something can be categorised to a certain degree. So it might be “lightly raining” or “very heavily raining”, they are fuzzy terms, whereas “its either raining or its not” is what we call a binary term.

So, in traditional fuzzy. A membership function takes in a value (e.g. millimetres of rain per hour) and returns a value between 0 and 1, representing how much it is that term/category (e.g. “very heavy rain”). This value between 0 and 1 is called the membership value, or mu (well, the greek letter μ).

The X-mu (or X-μ) approach, does the opposite (or rather the “inverse”). Which gives us some neat things. It highlights what we call the interval nature of a fuzzy membership function, and when we take those intervals as symbolic/algebraic equations and push that through an algorithm we retain the full meaning of a fuzzy membership function all the way through that algorithm. We also see speed gains in comparison to traditional methods, purely because of the symbolic nature.

Anyway, I hope that I have discussed this reasonably – I started off quite simple, and got a little more technical at the end… but my purpose was to highlight that my X-mu library is available for perusal, and the online calculator for the X-mu approach can be tested (for people that contact me anyway).

This will be the first post of, probably, many about this library. I hope to show off the calculator a bit more in future posts. I also hope to give you a tutorial about downloading and using the library for yourselves. Then I hope to discuss the uses of the library – in things like data mining and robotics, etc.

In the meantime, if you have any questions then please do comment, or get in touch directly… its daniel [at] vanirsystems, and has a dot com at the end of it.

 

Thoughts on… truth

Didier Dubois and Henri Prade wrote the following quote in a 1988 book entitled Non-standard  Logics for Automated Reasoning:

A degree of truth is not a degree of uncertainty about truth.

This is a very important quote, and gets right to the matter I’d like to highlight. It distinguishes those problems with truth which are answered by two distinct, but related theories.

To answer the question of “a degree of uncertainty about truth”, something known as “Probabilistic Logic” was created. This merged together classical forms of logic, with its propositions and predicates, with Bayesian (or Bayesian-style) probability theory. It puts probability theory in a subjective perspective, and assigns probabilities to rules and statements, without the need for a frequency-based possible-worlds probability calculation.

As Didier and Henri rightly point out however, this really should not be confused with “a degree of truth”. For a degree of truth, fuzzy theory (i.e. fuzzy set theory and fuzzy logic) holds the solution. Fuzzy theory allows an object or statement to have a degree of membership of a set or a particular scenario.

For example “John is tall”. Tall is a vague concept, and “John” has a degree of truth of belonging to the vague “tall” concept. This is how fuzzy set theory, and matches our human way of thinking about tallness.

From a probabilistic logic perspective we would need to ask “what is the probability that John is Tall?”, which is quite a different question.

Of course, this is an area which has, for some reason, been a thorn in the fuzzy theorists side. There are many more probability theorists in this world at the moment, than there are fuzzy theorists. Once you start working with probability theory, it is easy to apply it to everything, even if it doesn’t quite fit. There are also some strong believers of probability theory, often labelled “Bayesians”, which attempt to assert that fuzzy set theory and fuzzy logic is somehow weak because the models can be “made-up” by experts instead of generated through statistics. Many fuzzy theorists have argued back, saying that its flexible model is actually a strength and not a weakness.

My own (current) research draws heavily from fuzzy set theory, but it (i.e. my current research) also has an element of probability theory as it implements data mining algorithms such as association rule mining and sequence pattern mining, which have a statistical element. I’m keen to investigate some more areas of the overlap between fuzzy and probability theories, as I consider them both to have a place (as do most other fuzzy theorists in fact). Of particular interest is the relationship of Fuzzy Formal Concept Lattices and Credal Networks. (Credal Networks are (and I simplify here) Bayesian Networks with added imprecision).

Let me know your thoughts on the above, and whether you have any hints or tips on the above. Feel free to email me or post a message in the comments box on this blog post.