/lfst

L-Fuzzy Set Theory implementation in Haskell

Primary LanguageHaskellGNU General Public License v3.0GPL-3.0

lfst - L-Fuzzy Set Theory implementation in Haskell

Description

If X is a collection of objects denoted generically by x, then a fuzzy set F(A) in X is a set of ordered pairs. Each of them consists of an element x and a membership function which maps x to the membership space M. The current implementation is inspired by the work of J.A. Goguen L-Fuzzy Sets [1].

Setup

This library could be easily compiled using cabal issuing the command cabal build in the root directory.

Usage

Using this library you can easily apply the Extension Principle [2] in the following way:

let fuzzy_set = fromList [(-1, Godel 0.5), (0, Godel 0.8), (1, Godel 1.0), (2, Godel 0.4)]

fmap (^2) fuzzy_set 

> FuzzySet {(0, Godel 0.8), (1, Godel 1.0), (4, Godel 0.4)}

Authors

All the following authors have equally contributed to this project (listed in alphabetical order by surname):

References

[1]: Goguen, Joseph A. "L-fuzzy sets." Journal of mathematical analysis and applications (1967)

[2]: Zadeh, Lotfi A. "Fuzzy sets." Information and control (1965)