/tofn

Typed ordered fuzzy numbers in OCaml.

Primary LanguageOCamlGNU General Public License v3.0GPL-3.0

tofn

Typed ordered fuzzy numbers and arithmetic operations, implemented in OCaml.

Introduction

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.

Installation

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

Documentation can be built with ocamldoc, or accessed online.

Author

License

This project is licensed under the GNU GPL v3 - see LICENSE for details.