Typed ordered fuzzy numbers and arithmetic operations, implemented in OCaml.
Arithmetic operations on fuzzy numbers are traditionally carried out via interval-based methods. However, such approaches are prone to accumulating uncertainty, which presents issues when large numbers of operations are performed in succession (as with fuzzy autoregressive models, aggregations). Ordered fuzzy numbers (OFNs) remedy this issue by augmenting fuzzy numbers with a notion of orientation or trend. This results in arithmetic operations with unique additive inverses, allowing for better management of accumulated uncertainty. Orientation has also proven useful for modeling temporal data.
A typed ordered fuzzy number (TOFN) is an OFN constructed from functions of a common family or type. Arithmetic operations between TOFNs preserve both type and (fuzzy) set-theoretic properties of their operands.
The general theory and construction of TOFNs, along with a discussion of imprecision control, may be found in Rings of Typed Ordered Fuzzy Numbers. This library implements several common families of TOFNs (trapezoidal, Gaussian, exponential) and their associated arithemetic operations.
To build/install TOFN locally, run
dune build
, followed by dune install
.
This package may also be installed with opam:
opam install tofn
Documentation can be built with ocamldoc
, or accessed online.
This project is licensed under the GNU GPL v3 - see LICENSE for details.