Efficient Algorithms for Data Processing under Type-3 (and Higher) Fuzzy Uncertainty

It is known that to more adequately describe expert knowledge, it is necessary to go from the traditional (type-1) fuzzy techniques to higher order ones: type-2, probably type-3 and even higher. Until recently, only type-1 and type-2 fuzzy sets were used in practical applications. However, lately, it turned out that type-3 fuzzy sets are also useful in some applications. Because of this practical importance, it is necessary to design efficient algorithms for data processing under such type-3 (and higher order) fuzzy uncertainty. In this paper, we show how we can combine known efficient algorithms for processing type-1 and type-2 uncertainty to come up with a new algorithm for the type-3 case.


Outline
Usual data processing algorithms treat data points as if they were exact.In practice, data comes with uncertainty.When data comes from experts who describe their knowledge by using imprecise ("fuzzy") words from natural language, a natural way to describe the corresponding uncertainty is to use fuzzy techniques.To get a more accurate representation of expert uncertainty, it is necessary to use higher-order fuzzy techniques, i.e., go from the usual [0, 1]-based type-1 techniques to type-2, type-3, and maybe even higher types.In this paper, we describe efficient algorithms for data processing under such higher-order fuzzy uncertainty.
The structure of this paper is as follows.In Section 2, we recall the need for data processing.In Section 3, we recall the need for fuzzy techniques and for higher-order fuzzy techniques.In Sections 4, 5, and 6, we recall how data can be processed under type-1, interval type-2, and general type-2 fuzzy uncertainty.
Finally, in Section 7, we use these known results to come up with new efficient algorithms for data processing under type-3 and higher order fuzzy uncertainty.

Why Data Processing
One of the main objectives of science is to describe the current state of the world -and to predict its future state.One of the main objectives of engineering is to design new buildings, gadgets, and/or new algorithms to make this future better.To describe the state of the world -and to describe the engineered objects -we need to list the numerical values of the quantities that characterize different natural and artificial objects.
Some quantities we can simply measure: we can directly measure the temperature outside, we can directly measure the distance between the two nearby buildings, etc.However, many quantities we cannot measure directly: e.g., we cannot directly measure the distance to a faraway star or the amount of oil in a given oilfield.And it is definitely not possible to directly measure the future state -e.g., future temperature.To estimate such a difficult-to-measure quantity y, a natural idea is to find easier-to-measure-or-estimate quantities x 1 , . . ., x n that are related to the desired quantity y by a known dependence y = f (x 1 , . . ., x n ).Then, we can measure or estimate the quantities x i , and use the results y of measurement or estimation to estimate y as y = f ( x 1 , . . ., x n ).
Computing this estimate, i.e., applying the algorithm f (x 1 , . . ., x n ) to the results of measurements and/or expert estimations is what is usually called data processing.
3 Need for Fuzzy Uncertainty and Need for Higher-Order Fuzzy Uncertainty Need for fuzzy uncertainty.Often, estimates for x i come from experts, and experts rarely provide exact values.Expert knowledge is usually formulated by using imprecise ("fuzzy") words from natural language.An experienced driver explaining his/her driving strategy will not say that in a certain situation, you need to show down by exactly 5.0 km/h, he/she will probably say "slow down a little bit", or "slow down by about 5 km/h".We want to use this imprecise knowledge in computer-related data processing.The challenge is that computers were designed to process numbers, not words from natural language.So, we need to transform expert statements into computer-understandable numerical form.For this purpose, Lotfi Zadeh invented fuzzy techniques (see, e.g., [1,7,12,14,15,16]), where each imprecise term like "small" is described by assigning, to each possible value x of the corresponding quantity, the degree m(x) -from the interval [0, 1] -to which, according to the expert, this value is small.The resulting function m(x) is known as the membership function or, alternatively, as the fuzzy set.This original idea is also called type-1 fuzzy techniques.
Fuzzy numbers.For most terms, the membership function first (non-strictly) increases then (non-strictly) decreases.Such membership functions are known as fuzzy numbers.
"And"-and "or"-operations (t-norms and t-conorms).Expert rules often involve logical connectives like "and" and "or".For example, a rule can say that if a car in front of you is close and it slows down a little bit, then you should break a little bit.Strictly speaking, in this case, we need to find out, for each pair consisting of a distance value and a change-in-velocity value, the degree to which, for this pair, the condition "a car in front of you is close and it slows down a little bit" is satisfied.In this case, we may be able to do it, but, e.g., in medicine, we have rules with 5 or 6 different conditions.Even if we try only 10 values for each of the 5-6 variables, this still means asking 10 5 to 10 6 questions to an expert -this is not feasible.In such situations, to estimate the degree of confidence in a composite statement A & B or A ∨ B, the only information we have is the expert's degrees of confidence a and b in the original statements A and B.
The algorithm f & (a, b) that estimates the degree of confidence in A & B based on this information is known as an "and"-operation or, for historical reason, a t-norm.Similarly, the algorithm f ∨ (a, b) that estimates the degree of confidence in A ∨ B based on this information is known as an "or"-operation or, for historical reason, a t-conorm.The simplest -and frequently used -"and"and "or"-operations are Need for type-2 fuzzy technique.The challenge with type-1 fuzzy technique is that similarly to the fact that an expert cannot name the exact value of the quantity, the same expert cannot produce the exact degree m(x).At best, the expert can provide an interval of possible values of this degree -e.g., [0.6, 0.7]or even a fuzzy statement like "the degree is close to 0.6".So, a natural idea is to allow the degree m(x) to be an interval -which leads to interval-valued fuzzy sets -or even a fuzzy number corresponding to a statement like "the degree is close to 0.6" -this leads to so-called type-2 fuzzy sets.
In general, an interval [x, x] can be viewed as a fuzzy set -the degree of confidence is 1 for all the values inside this interval and 0 for all the values outside this interval.Thus, interval-values fuzzy sets are particular cases of type-2 fuzzy sets.
In the interval-valued case, the expert-generated degree of confidence is an interval m(x) = [m(x), m(x)].In the general type-2 case, for each number t from the interval [0, 1], the expert provides a degree to which this number t is a degree of confidence that x has the desired property (like "small").We will denote this degree by m(x, t).
Need for type-3 and higher-order fuzzy techniques.Similarly to the fact that an expert cannot describe his/her degree of confidence -that x is small -by a single number, the same expert cannot describe his/her degree of confidence that t is a degree of confidence that x is small by a single number.At best, the expert can provide either an interval [m(x, t), m(x, t)] or a fuzzy number that describes this degree of confidence.The fuzzy case is known as type-3 fuzzy technique, and the interval-valued case is known as interval type-3.
In the general type-3 case, for each value s from the interval [0, 1], we provide a degree -denoted by m(x, t, s) -that s is degree of confidence in the statement "t is a degree of confidence that x has the desired property".
Is this worth considering?At first glance, the difference between type-2 and type-3 is so subtle and complicated that one can doubt whether it is necessary to use type-3 in practical applications.Actually, people doubted that type-2 would be practically useful -and it turned out that it is often useful; see, e.g., [12].Similarly, it turned out that type-3 techniques are also useful in many practical cases; see, e.g., [2,3,4,5] and references therein.
What about higher order types?Clearly, an expert cannot provide the exact degree m(x, t, s), so a natural idea is to allow an expert to provide intervalvalued of fuzzy degrees -which leads to type-4, where for each real number r from the interval [0, 1], we ask the expert to describe his/her degree of confidence m(x, t, s, r) that r is a proper value of m(x, t, s).
The expert cannot describe the precise value of m(x, t, s, r), so this value can also be fuzzy -we get type-5, etc.
Need for data processing under such uncertainty.Since type-1, type-2, and type-3 fuzzy techniques are practically useful, it is desirable to develop efficient algorithms for data processing under such uncertainty.Efficient algorithms for type-1 and type-2 are known -we describe them in the following sections.Efficient algorithms for type-3 case are described in the last section of this paper.
We do not know yet whether type-4, type-5, etc., will be practically useful, but the fact that type-2 and type-3 turned out to be useful makes us think that it is quite probable that higher-order fuzzy sets will be useful.So it makes sense to think of efficient algorithms for these cases too, and this is what we will do in the same last section.

Data Processing under Type-1 Fuzzy Uncertainty: Reminder
Formulation of the problem: reminder.
We know that the quantity-of-interest y is a function y = f (x 1 , . . ., x n ) of several auxiliary quantities x 1 , . . ., x n .
We also know, for each i, the membership function m i (x i ) that describes, for each real number x i , the degree to which this number is a possible value of the i-th input.
Based on this information, we want to describe, for each real number y, the degree m(y) to which this number is a possible value of the quantity of interest.
Zadeh's extension principle: derivation and the resulting formula.
A value y is possible if y = f (x 1 , . . ., x n ) for some possible values x i .We know the degree m i (x i ) to which each value x i is possible.We can therefore use the min "and"-operation to describe, for each tuple (x 1 , . . ., x n ) for which y = f (x 1 , . . ., x n ), the degree to which all its values are possible -i.e.. x 1 is possible and x 2 is possible, etc. -as min(m 1 (x 1 ), . . ., m n (x n )).
The value y if possible if either the first tuple (x 1 , . . ., x n ) for which y = f (x 1 , . . ., x n ) is possible, or the second such tuple is possible, etc.We can therefore us the max "or"-operation to estimate the degree to which y is possible as This formula was first described by Zadeh himself and is therefore known as Zadeh's extension principle.
How to actually compute this formula: analysis of the problem.
Straightforward computation of the formula (1) requires solving a complex constraint optimization problem -which is, in general, time-consuming.It is known, however, that there are more efficient ways to compute m(y).These ways are related to the notion of α-cuts of a fuzzy sets, which are defined, for each α ∈ (0, 1], as {x : m(x) ≥ α}.For fuzzy numbers, each α-cut is an interval; we will denote it by For α = 0, we can use a slightly different formulation of the α-cut: it the closure x(0) = {x : m(x) > 0} of the set {x : m(x) > 0}.In the following text, for simplicity, we will only list the simpler formula which is valid for α > 0, but, of course, for α = 0, we have to use the more complex formula.
Once we know all the α-cuts, we can reconstruct the membership function as m(x) = sup{α : x ∈ x(α)}.In particular, if we know α-cuts for α = 0, 0.1, 0.2, . . ., 1.0, then we can reconstruct m(x) with accuracy 0.1 -which is usually sufficient, since experts rarely produce their degree of confidence with higher accuracy.So, to find m(y), it is sufficient to find the α-cuts y(α) for the corresponding 11 values α.
Because of the possibility to easily move from the usual representation of the membership function m(x) and its α-cut representation, sometime the membership function is stored by listing the corresponding α-cuts.
To find the α-cuts corresponding to the desired quantity y, we can take into account that the value m(y) as described by the formula (1) is larger than or equal to α if and only if for one of the tuples (x 1 , . . ., x n ) for which y = f (x 1 , . . ., x n ), we have min(m 1 (x 1 ), . . ., m n (x n )) ≥ α.This inequality, in its turn, is equivalent to requiring that m i (x i ) ≥ α for all i.Thus, the α-cut for y is equal to the range of the function y = f (x 1 , . . ., x n ) when each x i is in the corresponding α-cut: where for each sets X 1 , . . ., X n , the range f (X 1 , . . ., X n ) is defined as The problem of computing the range of a function when each input is in a known interval is known as the problem of interval computations; there are efficient general algorithms for estimating this range, see, e.g., [6,10,11,13] Comment.In some important cases, interval computation is easy, no general complex algorithms are needed.For example, if the function f (x 1 , . . ., x n ) is (non-strictly) increasing in each of its variables, then the smallest value of this function on intervals X i = [x i , x i ] is attained when each input x i is the smallest, i.e., when x i = x i for all i.Similarly, the largest value of this function on intervals X i = [x i , x i ] is attained when each input x i is the largest, i.e., when x i = x i for all i.Thus,

Resulting algorithm.
First, if the information about the inputs x i is stored in the form of the usual membership functions m i (x i ), we compute, for each i and for each value α ∈ {0, 0.1, . . ., 1.0}, the corresponding α-cut (Recall that for α = 0, we will have to use a slightly more complex formula.) Then, for each value α from the above list, we use an interval computation algorithm to compute the range y(α) = f (x 1 (α), . . ., x n (α)).These ranges form the α-cut representation of the desired membership function m(y).
Finally, if we want to represent this membership function in the usual form, we compute m(y) = max{y : y ∈ y(α)}.
How many computation steps do we need.These computations need to be repeated for all α.So, if we use 11 values α = 0, 0.1, . . ., 1.0, then, to find the result of data processing under type-1 fuzzy uncertainty, we need to apply an interval computations algorithm 11 times.

Data Processing under Interval-Valued Fuzzy Uncertainty: Reminder
Formulation of the problem.In the interval-valued case, the relation between m(y) and m i (x i ) is described by the same formula (1); the main difference is that now, values m(y) and m i (x i ) are not numbers but intervals.The corresponding efficient algorithms are described in [8,9].
These are exactly formulas (1) for membership functions m i (x i ) and m i (x i ).So, to compute each of the two bounds m(y) and m(y), we can use the efficient α-cut-based algorithm.
Interval case: resulting algorithm.We are given interval-valued membership functions Based on each of these membership functions, for each i and for each value α from the given list, we compute the orrepsonding α-cuts as: We compute the α-cuts y(α) and y(α) for the endpoints m(y) and m(y) of the interval-valued membership function [m(y), m(y)] as follows: How many computation steps do we need.These computations need to be repeated for all α.So, if we use 11 values α = 0, 0.1, . . ., 1.0, then, to find the result of data processing under type-2 fuzzy uncertainty, we need to apply an interval computations algorithm 2 • 11 = 22 times.
6 Data Processing under General Type-2 Fuzzy Uncertainty: Reminder Formulation of the problem.In the general type-2 case, the relation between m(y) and m i (x i ) is described by the same formula (1); the main difference is that now, values m(y) and m i (x i ) are not numbers but fuzzy sets.
The corresponding efficient algorithms are described in [8,9].
General type-2 case: analysis of the problem.In the general type-2 case, m(y) and m i (x i ) are fuzzy numbers.In this case, we can use the general type-1 result that the processing of fuzzy numbers is equivalent to computing the ranges of the processing function on different α-cuts.In this case, the data processing is described by the formula (1).
To distinguish α-cuts of the original membership functions for x i and y and the α-cuts of each fuzzy number m(y) and m i (x i ), we will use the letter β for the new alpha-cuts.Thus, we get the following for each β: For fuzzy numbers, β-cuts are intervals, and the corresponding relation ( 1) is increasing.Thus, the above formula means that to get the lower endpoint m(y)(β) of a y's β-cut, we need to use only lower endpoints for β-cuts for x i , and similarly for the upper endpoints: Each of these formulas is, in effect, Zadeh's extension principle for the corresponding membership functions.Thus, there formulas can be reformulated in terms of α-cuts of the corresponding membership functions: Hence, we arrive at the following algorithm: General type-2 case: resulting algorithm.We start with type-2 membership functions m i (x i , t).
First, for each i and for each value β from the given list, we compute the β-cuts Then, for each i and for each pair of values (α, β) from the given list, we compute the α-cuts For each α and β, we then use an interval computation algorithm to compute: Based on these intervals, for each β, we compute m(y)(β) = sup{α : y ∈ y(α, β)} and m(y)(β) = sup{α : y ∈ y(α, β)}.
Finally, we compute the desired membership function How many computation steps do we need.These computations need to be repeated for all α and β.So, if for each of these two parameters, we use 11 values α, β = 0, 0.1, . . ., 1.0, then, to find the result of data processing under type-2 fuzzy uncertainty, we need to apply an interval computations algorithm 2 • 11 2 = 242 times.
7 Data Processing under Type-3 (and Higher Order) Fuzzy Uncertainty: A New Algorithm Formulation of the problem.Let us show the above type-2 algorithms can be used to come with an efficient algorithm for the type-3 case.
Type-3 case: analysis of the problem.In the type-3 case, each value m(y) and m i (x i ) is a type-2 fuzzy set.Thus, we have the relation ( 1) between these type-2 fuzzy sets.So, based on the algorithm presented in the previous section, for each pair of values β and γ from the interval [0, 1], we have: and m(y where The corresponding transformation (1) is non-strictly increasing, thus the formulas ( 4) and ( 5) lead to similar relations between endpoints of the corresponding intervals: Each of the formulas ( 6)-( 9) is, in effect, Zadeh's extension principle for the corresponding membership functions.Thus, there formulas can be reformulated in terms of α-cuts of the corresponding membership functions: , where Hence, we arrive at the following algorithm.
Type-3 case: resulting algorithm.We start with type-3 membership functions m i (x i , t, s).
First, for every i and for all γ from the selected list of values, we compute: Then, for each i, β, and γ, we compute: Then, for each i, α, β, and γ, we compute For each α, β, and γ, we then use an interval computation algorithm to compute: Next, for each y, β, and γ, we compute Finally, for all y, t and s, we compute m(y, t, s) = max{γ : s ∈ [m(y, t)(γ), m(y, t)(γ)]}.
What about higher order fuzzy sets?In this section, we showed how processing type-2 fuzzy information can be used to processing type-2 fuzzy information.This reduction was based on the fact that in the type-3 case, each value m(y) and m i (x i ) is a type-2 fuzzy set.Thus, we have the relation (1) between these type-2 fuzzy sets.
Similarly, in the type-4 case, each value m(y) and m i (x i ) is a type-3 fuzzy set.Thus, we have the relation (1) between these type-3 fuzzy sets -and we can use the above algorithm to process these values.Similarly, for every level L, in the type-L case, each value m(y) and m i (x i ) is a type-(L − 1) fuzzy set.Thus, we have the relation (1) between these type-(L − 1) fuzzy sets.This way, we can reduce processing type-L fuzzy sets to processing type-(L − 1) fuzzy sets; similarly, we can reduce processing type-(L − 1) fuzzy sets to processing type-(L − 2) fuzzy sets, etc., until we get to the known algorithms for processing type-1 and type-2 fuzzy sets.
How many computational steps do we need.The only (minor) problem with processing type-3 and higher-order fuzzy sets is that as we go to higher and higher order, the computational complexity increases.Indeed: For type-1, for each y, the desired information m(y) consists of a single number.In this case, if we use 11 values of α, we need to use an interval computation algorithm 11 times.

For type- 2 ,
for each y, we need to find the values m(y, t) corresponding to different values t ∈ [0, 1].If we use 11 values for t, we thus need at least 11 times more computations than in the type-1 case -and indeed, we need order of 11 • 11 calls to an interval computation algorithm -namely, 2 • 11 2 calls.For type-3, for each y, we need to find the values m(y, t, s) corresponding to different values t, s ∈ [0, 1].If we use 11 values of each of the variables t and s, we thus need at least 11 2 times more computations than in the type-1 case -and indeed, we need order of 11 2 • 11 == 11 3 calls to an interval computation algorithm -namely, 2 2 • 11 3 calls.In general, for type-L, for each y, we need to find the values m(y, t 1 , . . ., t L−1 ) corresponding to different values t 1 , . . ., t L−1 ∈ [0, 1].If we use 11 values for each of the variables t i , we thus need at least 11 L−1 times more computations than in the type-1 case -and indeed, as one can show by induction over L, we need order of 11 L−1 • 11 = 11 L calls to an interval computation algorithm -namely, 2 L−1 • 11 L calls.