FuzzyCalc

In business, many quantities are not known exactly. Besides probability theory, fuzzy set theory has become a way to describe such imprecise data. FuzzyCalc developed a method that detects inconsistencies in models and data. If the data are only weakly inconsistent, the algorithm can reduce their imprecision.

The reduction works by intersecting possibility spaces: the a-priori range of values is transformed into a space that contains only those values of each variable that satisfy all restrictions, such as definitional, behavioural and balance equations. If the intersection is empty, something is wrong with the model or the data. The method is based on solving over-determined fuzzy equation systems and was applied to auditing, planning and forecasting, for example to analytical audit procedures with estimation ranges (Die Wirtschaftsprüfung, 2003).

Integrating estimations from several experts

Long-range forecasts often rest on estimates from several experts, each looking at the problem from a different angle. Their views overlap in part and contradict each other in part (see the figure at the top of this page). Instead of fuzzy if-then rules, FuzzyCalc treats the experts’ estimates and the relations between the variables as an over-determined fuzzy equation system. The result is either an alert that the estimates are inconsistent, or their consistent core (AMCIS 2009).

The algorithm solves every equation for every variable, which yields alternative values for each variable. It then intersects each a-priori value with all of its alternatives, renormalises the intersection and repeats until nothing changes. An empty intersection means that model and data contradict each other.

Pseudocode of the FuzzyCalc algorithm: input fuzzy variables and equations; repeat for all equations and all variables: solve the equation for the variable and calculate the alternative value with fuzzy arithmetic; then for all variables calculate the cut between the variable and all alternative values; if the cut is empty the equation system is inconsistent, otherwise the new value is the renormalised cut; until no further adjustment or an inconsistency alert
The FuzzyCalc algorithm.

A simple example: profit P, revenue R and costs C are linked by P = R − C, and three experts estimate P = 15 ± 5, C = 35 ± 5 and R = 65 ± 10. Calculated from R and C, profit would be 30 ± 15, which overlaps only partly with the direct estimate. FuzzyCalc keeps the values that are compatible with all three estimates and the equation: the consistent core.

Diagram with profit P on the horizontal axis and costs C on the vertical axis: the supports of P, C and R as intervals and bands, and a small triangle where all three overlap, labelled consistent core
The equation P = R − C with partially inconsistent estimations and the resulting consistent core.

The method has useful properties: the ranges never widen, crisp numbers and already consistent data stay unchanged, and values are shifted coherently in the intuitively right direction. In a case study with a German car manufacturer, it combined expert views on demographics, demand and car ownership into long-range forecasts.

FuzzyCalc started with my diploma thesis (grade 1.0), in which I developed and implemented the method in C/C++, and was exhibited at CeBIT 2001. The question of how to represent and propagate uncertainty explicitly still runs through my current research on validity and uncertainty and on futures methods, where experts and AI assess possible, plausible and probable futures together.

Roland M. Mueller at the FuzzyCalc exhibition stand at CeBIT, next to a poster titled Fuzzy Calc: Controlling mit unscharfen Daten and computer monitors
Presenting FuzzyCalc at CeBIT 2001 in Hanover.