Fuzzy logic is derived from fuzzy set theory dealing with reasoning that is approximate rather than precisely deduced from classical predicate logic. It can be thought of as the application side of fuzzy set theory dealing with well thought out real world expert values for a complex problem (Klir 1997).
Integral to the idea of a fuzzy set is the membership (or characteristic) function which defines a mapping from an object to its membership in the set which is defined by the membership function. This membership ranges from 0 (indicating the object is not in the set) to 1 (indicating is fully in the set).
Dave Tapley is about to commence a full literature review of the field so expect this to fill up nicely by 25/06.
Consider using a fuzzy system if you are dealing with uncertainty in you variables. Classic example is a fuzzy membership function old this tells us to what degree::Double an age::Int is considered old. Thus we may consider a membership function: Old :: Int -> Double
- The design and implementation of generalised fuzzy sets in Haskell. Given Haskell's type system it seems there is a lot of scope for a good design here.