Icon of an ordered fuzzy set TOFN


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

Arithmetic operations on fuzzy numbers are traditionally defined via interval-based methods. However, such approaches are prone to accumulating uncertainty. This presents issues when large numbers of operations are performed in succession (as with fuzzy autoregressive models, aggregations). Ordered fuzzy numbers (OFNs) remedy these concerns by augmenting fuzzy numbers with a notion of orientation or trend. This yields arithmetic operations with unique additive inverses, allowing for better management of accumulated uncertainty. Orientation also has applications in 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, can 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.

Installation

First, clone the repository.

To build/install TOFN locally, run dune build, followed by dune install.

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.


Back © 2026 Matthew Kukla