Typed ordered fuzzy numbers and arithmetic operations, implemented in OCaml.
Arithmetic operations on fuzzy numbers are traditionally carried out via interval-based methods. However, these are prone to accumulating uncertainty, presenting issues when many operations are performed in succession (e.g fuzzy autoregressive models, aggregations).
Ordered fuzzy numbers (OFNs) remedy this issue by augmenting fuzzy numbers with a notion of orientation or trend. This yields arithmetic operations with unique additive inverses, allowing accumulated uncertainty to be reversed. Orientation has also proven useful for modeling temporal data.
Typed ordered fuzzy numbers (TOFNs) are OFNS constructed from functions of a common family or type. Arithmetic operations between TOFNs are intended to preserve both the operands' type and (fuzzy) set-theoretic properties.
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 and associated arithemetic operations.
To build/install the contents of this repository locally, run
dune build
, followed by dune install
.
This package may also be installed from opam with 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.