1 Background and Results
Our purpose is to (1) make a theoretical groundwork necessary to carry out practical analyses of “generalized” fuzzy problems that have naturally arisen in industrial applications and (2) lay out a theoretical framework for “generalized” fuzzy algorithms that efficiently solve those “generalized” fuzzy problems.
1.1 Practical Realm of Fuzzy Problems
In real-life situations, many objects naturally embody certain degrees of fuzziness, which can be in general expressed in terms of the uncertainty, ambiguity, vagueness, or imprecision of the objects. Based on a non-standard logic, Zadeh  tried to capture this fuzziness mathematically by formulating a basic concept of fuzzy set. In his theory, an ordinary object without any fuzziness is distinctly called as a “crisp” object, whereas a fuzzy object is a combination of crisp object and its membership degree (or certainty degree) that indicates intuitively how likely the crisp object actually exists. Since its introduction, fuzzy theory has found numerous applications from digital image processing to voice recognition, to telecommunication, further to a field of medicine and agriculture (see, e.g., [1, 7]). To handle a wide variety of practical fuzzy problems, we still need to lay out a groundwork in developing a general, coherent theory of fuzzy problems and fuzzy algorithms that efficiently solve them.
In the rest of this paper, we wish to limit our interest within combinatorial problems, which include search, counting, optimization, and decision problems. Let us first recall that, in an ordinary theory, those problems are viewed as functions that map every input instance to its desirable solution (or solutions). In the past literature, there have been numerous ways to fuzzificate ordinary combinatorial problems and those fuzzification methods significantly vary, depending on target areas of interests. We wish to re-examine a fuzzification of those problems to develop our general framework.
In many abstract treatments of fuzzy problems, input instances are merely pairs of crisp objects and their membership degrees, instead of more general “fuzzy objects.” To expand a scape of fuzzy-logic applications, it is more desirable to deal with the case where an input instance is a series of admissible fuzzy objects (or fuzzy data) and an output could be a desired “fuzzy object” as a solution derived from the given input. Formally, we define our “fuzzy problem” as a mapping from each series of fuzzy objects to another fuzzy object; thus, the term “fuzzy problem” becomes a synonym of “fuzzy functions.” To describe those fuzzy problems, we need to specify two items: fuzzy (input) instance and fuzzy output. For technical reason, we assume that the support of any fuzzy instance is finite, where the support of a fuzzy object over universe is an ordinary set of elements in having positive membership degrees. To distinguish our fuzzy problems from the aforementioned conventional fuzzy problems, we sometimes emphasize the generosity of our fuzzy problems by calling them generic fuzzy problems.
(Generic) Fuzzy Problem :
Fuzzy instance: a series of admissible fuzzy objects having finite supports.
Fuzzy output: an admissible fuzzy object as a solution to this input .
Due to the page limit, we will discuss in later sections only two kinds of (generic) fuzzy problems: fuzzy decision problems and fuzzy optimization problems. Fuzzy decision problems are treated as a special case of the fuzzy problems whose outputs are limited to fuzzy subsets of . This gives rise to a new realm of fuzzy languages, each of which indicates input’s “acceptance” and “rejection” with separate precision degrees, whereas conventional “fuzzy languages” are defined simply as fuzzy subsets of for underlying alphabet .
Fuzzy optimization problems are also a variant of (generic) fuzzy problems, which in general have the form , where is a finite set of fuzzy (admissible) input instances, is a fuzzy function listing all fuzzy solutions, is a fuzzy measure (or objective) function from to natural numbers, and . Here means the set . Let denote the optimal value over all solutions .
1.2 Practical Realm of Fuzzy Algorithms
In Section 1.1, we have discussed our (generic) fuzzy problems. To solve those problems efficiently, we need to clarify how we model efficient fuzzy algorithms so that we can explore computational complexity issues of the fuzzy problems in a wider, generic framework.
We intend to model fuzzy algorithms by extending the existing realms of “sequential computation” and “parallel computation.” Firstly, we will model our fuzzy algorithms by refining the existing notion of fuzzy Turing machines, which were considered by Zadeh , Lee and Zadeh , and Santos  as a fuzzification of ordinary nondeterministic Turing machines (or NTMs, in short) . In their formulations, deterministic fuzzy computation inherently embodies ordinary nondeterminism, and therefore it is not surprising to know that, under a certain suitable fuzzification of ordinary instances, fuzzy algorithms solve NP-complete problems in polynomial time (cf. Proposition 6.2).
To cope with a wide range of practical fuzzy problems, Doostfatemeh and Kremer  suggested how to expand the then-existing models of fuzzy algorithms by supplementing extra “safe” auxiliary operators to tune up the behaviors of those algorithms. Based on their spirit, we give a new formulation of deterministic fuzzy Turing machines (or DFTMs).
Another natural model that can represent fuzzy algorithms is fuzzy (logic) circuits (e.g., [6, 8]). In particular, we consider fuzzy circuits in which fuzzy gates are layered level by level. Such a fuzzy circuit takes a series of fuzzy input bits and proceeds by applying fuzzy gates at each level. This mechanism can realize fuzzified “parallel computation.” We prove that families of polynomial-size fuzzy circuits are equivalent in computational power to polynomial-time DFTMs.
The minimum amount of computational resources necessary to solve given problems is of great concern from a practical viewpoint. As in ordinary computational complexity theory, we are also interested in fuzzy algorithms running in polynomial time. For the purpose of solving a wider scope of fuzzy problems, we look for an approximation of the outcomes of fuzzy algorithms. We therefore define as the class of fuzzy functions (or equivalently, fuzzy problems having output values) computed approximately with relative closeness of by DFTMs in polynomial time. Restricted to fuzzy decision problems, we also obtain as a natural fuzzification of the complexity class P.
Nondeterminism has been modeled as a proof-verification process, in which, for positive instances, there exists a “proof” (i.e., necessary key information) for which a “verifier” can easily confirm its validity and, for negative instances, the verifier refutes any proof provided to him as invalid. We recognize a naturally-induced class of fuzzy decision problems that are solved approximately with relative closeness by such fuzzy proof verification systems (or FPVS’s, in short) in polynomial-time.
To discuss the computational complexity of fuzzy problems, we introduce a fundamental notion of polynomial-time approximate fuzzy reducibility (abbreviated as AF-reducibility) between two fuzzy problems. Such a reducibility notion among fuzzy decision problems makes it possible to designate “complete” problems, which indicate the most difficult problems in a given class of problems to solve in polynomial time, as for the notion of NP-complete problems (see ). We prove the existence of complete problems in under AF-reductions.
For fuzzy optimization problems, similarly to , we define , which is composed of all fuzzy optimization problems characterized by fuzzy functions in . Between two fuzzy optimization problems, we also introduce a notion of polynomial-time approximation-preserving fuzzy reducibility (or APF-reducibility) and prove that contains complete problems under APF-reductions.
All omitted or abridged proofs will appear in a complete version of this extended abstract.
2 Basic Notions and Notations
The notation (resp., , ) denotes the set of all integers (resp., rational numbers, real numbers). We use to denote the set of all natural numbers (i.e., non-negative integers) and we set . For two integers with , stands for the integer interval . For simplicity, we write to denote the interval whenever . The notation (resp., ) denotes the union of for any constant (resp., ). Given any propositional formula , we set to be if is true, and otherwise. For example, equals if and only if . For any set , denotes the power set of .
An alphabet is a finite nonempty set of “symbols” and a string over is a finite sequence of symbols taken from ; in particular, the empty string is always denoted . Let denote the set of all strings over . For any logical proposition (or logical statement) , the notation denotes if is true, and otherwise. For example, we have if equals , and if is different from .
Due to the page limit, we assume that the reader is familiar with basic concepts of fuzzy sets. Although a fuzzy (sub)set of universe is a map from to , it is also viewed as an ordinary set that is composed of pairs of the form , where and ; that is, iff . To simplify the descriptions of fuzzy sets in the rest of the paper, we will take those two different viewpoints interchangeably. For convenience, we write for the collection of all fuzzy subsets of . Moreover, we use the notations for the core of fuzzy set and for the support of .
Definition 2.1 (fuzzy function)
Given two universes and , let and . A (generic) fuzzy function from to , written as , satisfies that, for every , is a fuzzy subset of in .
Remark: It may be possible to expand our definition of fuzzy sets by replacing the unit interval with an arbitrary complete lattice and expand our results further. However, we leave such a challenging task to the interested reader.
3 Combinatorial Fuzzy Problems
In pursuit of simplicity, we limit our attention within “combinatorial problems” that inherently embody fuzziness. Now, we want to explain what “fuzzy problems” are. As described in Section 1.1, fuzzy problems with which we deal in this paper take series of fuzzy instances (such as fuzzy graphs, fuzzy numbers, fuzzy functions, etc.) as inputs and produce certain fuzzy objects as outputs. We treat such a problem as a mapping from a set of fuzzy objects (or fuzzy instances) to another fuzzy object.
As customarily in ordinary computational complexity theory, we will deal only with discrete objects as our input instances. For a general treatment of such discrete fuzzy instances, it is useful to assume a suitable encoding of those instances to a certain fixed object. In a way similar to defining “strings over alphabet” in ordinary language theory, we will introduce an exquisite notion of “fuzzy string,” which expresses a certain degree of imprecision, uncertainty, or incompleteness of string information. Our definition of fuzzy string is inspired by the notion of -shape fuzzy numbers (see, e.g., ) and is closely related to “discretized” fuzzy numbers.
A fuzzy string quantity over is an element of , namely, a fuzzy subset of . We call each value a precision degree of instead of “membership degree.” A fuzzy string over (with respect to a suitably chosen distance measure , e.g., the Hamming distance between two crisp strings) is a fuzzy string quantity over that satisfies the following condition: there exist a crisp string and a crisp function (which may depend on ) such that (1) is a finite set, (2) is strictly decreasing function with and , and (3) holds for any real number , where . This special string is called a target of the fuzzy string . Let denote a collection of all (possible) fuzzy strings over . It holds that by Conditions (2) and (4). Note that a fuzzy string is a convex fuzzy set. As usual in fuzzy theory, a fuzzy string can be seen as the set . We also follow a standard convention that, when a fuzzy string is crisp with a target (i.e., and for any ), we identify with . This helps us treat all crisp strings as a special case of fuzzy strings.
Henceforth, we will focus our attention only on any subset of for a certain alphabet and a certain distance measure . A (generic) fuzzy problem stated in Section 1.1 is now rephrased as follows. Fix our alphabet and consider two sets and .
(Generic) Fuzzy Problem w.r.t. :
Fuzzy instance: a series of fuzzy strings in .
Fuzzy Output: a fuzzy string in .
In particular, we will study two types of fuzzy problems: fuzzy decision problems and fuzzy optimization problems, defined in Section 1.1.
4 Models for Efficient Fuzzy Algorithms
To solve the fuzzy problems described in Section 3, we want to design efficient fuzzy algorithms.
4.1 Auxiliary Operators for Practical Algorithms
The existing formulation of fuzzy Turing machine seems too restrictive to apply to many real-life fuzzy problems. For a wider range of practical applications of fuzzy machines, Doostfatemeh and Kremer  proposed a rigorous use of “auxiliary functions” to a design of fuzzy algorithms (actually, fuzzy finite automata in their case). For the purpose of intended practical applications, we adopt their idea and introduce four auxiliary operators , where , , , and . The use of them will be clarified in Section 4.2.
A tuple of auxiliary operators is said to be safe if those functions satisfy the following conditions: for any finite nonempty ordered set and any finite ordered set ,
(1) for any ,
(2) if for all ,
(3) if for all , and
(4) and if for .
As a concrete example, we present a standard safe tuple , which we will use later. Let and be any t-norms. We set . For any finite nonempty ordered set , let and . Moreover, for any finite ordered set , let and .
4.2 Deterministic Fuzzy Turing Machines
In order to describe a fuzzified “sequential computation” within our framework, we use a mathematical model of deterministic fuzzy Turing machines equipped with read-only auxiliary-input tapes, rewritable input/work tapes, and write-only output tapes supported by safe tuples of auxiliary operators. This model is considered as an extension of ordinary nondeterministic Turing machines.
Let and be an input alphabet and an output alphabet including a designated blank symbol . To operate a machine, we need two more tape alphabets (with ) and () for the machine’s internal use. We fix and and also fix a safe tuple of auxiliary operators. A deterministic fuzzy Turing machine with a write-only output tape (abbreviated as DFTM) is a triplet , where is of the form and is a target set pair . Moreover, is a finite nonempty set of the machine’s (inner) states and is a fuzzy transition function mapping from to with , () is the initial state, and () is a set of halting states. Whenever enters a halting state, since is no longer applicable, is considered to halt.
Since and are fixed, we often refer to as a DFTM as long as it is clear from the context. Graphically speaking, works as follows. A fuzzy input instance to is a fuzzy object in . Let be the length of . The DFTM takes and eventually produces another fuzzy subset of as its output. In an initial setup process, receives , it automatically generates in parallel all crisp strings , and writes down each , surrounded by two endmarkers and , on the input/work tape and the other tape cells initially hold the blank symbol . Moreover, generates on the read-only auxiliary input tape. All tape cells are indexed by integers and all tape heads are initially positioned at the th cell (where must be written on the first two tapes). An inner state of is .
Assume that, at an arbitrary moment, the tape head ofscans symbol on the input/work tape and on the read-only input tape in inner state and the third tape head is situated at the first (i.e., the leftmost) blank cell. When is applied, overwrites with , enters state , move the first two tape heads in directions and , and writes symbol on the output tape, together with possibility degree . If , then the output tape head must move to the right; otherwise, it stays still.
Let us explain how a DFTM generates a “fuzzy computation,” composed of a set of fuzzy computation paths (i.e., series of configurations). A (global) configuration is a string of the form with , , , and , where is a designated separator, and indicates that an input/work tape content is , the second tape head scans cell , an output tape content is , an inner state is , and the first and third tape heads are respectively scanning the leftmost symbol of and the first blank symbol to the right of . Let denote the set of all (possible) configurations of , namely, . A final configuration is a configuration of the form with in . Each element of is called a fuzzy instance description or a fuzzy configuration.
Let us describe how a “time evolution” of fuzzy configurations takes place. To express a fuzzy configuration at time , we inductively introduce a fuzzy set () as follows. Let be a fuzzy configuration at time defined as
for any configuration of . Next, is a fuzzy configuration at time whose possibility degree is defined as follows. Taking pre-determined orderings on and and also assuming that has the form with and , let be
where represents the following values. For example, when , equals
where is the symbol at cell . Notice that each value is always defined. If either or has a wrong form, then we set .
A fuzzy computation of on fuzzy input is a series of fuzzy configurations defined above. Let be an element of defined as
for any in . This value is called the possibility degree of the (final) configuration at time . Let be the set of all pairs with , , , and . Obviously, is a finite set.
Since we are interested in time-bounded computation, we define the (absolute) running time of on input to be a unique number for which (i) there exists a final configuration satisfying and (ii) holds for all configurations and all . For convenience, we say that (absolutely) halts on input in time if is at least the running time of on .
Now, let be the running time of on . If is a fuzzy subset of satisfying
for every , then we say that outputs on input in time . For convenience, we write to denote this particular fuzzy object . Obviously, if outputs in time , then holds, and thus has a finite support.
We say that a fuzzy problem admits a DFTM (or solves ) if holds for any . In this case, the problem is succinctly denoted by .
4.3 Fuzzy Gates and Fuzzy Circuits
In an ordinary setting, uniform families of Boolean circuits composed of Boolean gates have been used to model efficient algorithms. Likewise, we will consider a fuzzification of those circuits to model our intended fuzzy algorithms. In what follows, we fix a safe tuple of auxiliary operators. A fuzzy gate is specified by a finite set of input variables attached with distinguished labels and another finite set of output variables having specific labels. A fuzzy gate with inputs and outputs simply represents a function mapping to . For a physical implementation of fuzzy circuits, it may be desirable to restrict the usable types of fuzzy gates but, meanwhile, we allow any types of fuzzy gates.
In our fuzzy circuit model, a finite number of fuzzy gates are layered by “levels.” At each middle level, no two fuzzy gates must share output variables with the same label; however, fuzzy gates are allowed to share input variables with the same labels. Nevertheless, all input variables at level have distinct labels. We also permit the use of “fuzzy constants” (i.e., elements in for a fixed ) as part of inputs.
Let us explain how a fuzzy circuit operates on a given set of inputs. Let be a series of all input variables used for a given fuzzy circuit. We define a global configuration at level as follows. At level , let . For , let be all fuzzy gates aligned at level and let each fuzzy gate have input variables as well as output variables . Let be the series of all input variables of and let be the series of all output variables of them. Now, we define
where, given a variable , means its arbitrary value.
Finally, we define to be
An output (or outcome) of on input is when is the number of levels in and we write to denote the outcome of on . Moreover, the size of is the total number of fuzzy gates plus the number of all wires between variables and gates used in .
Now, we consider the aforementioned standard safe tuple of auxiliary operators together with .
Let be any fuzzy function from to .
(1) If there is a DFTM computing in polynomial time, then there exists a uniform family of fuzzy circuits of polynomial size that computes .
(2) If there is a uniform family of polynomial-size fuzzy circuits computing , then there exists a DFTM that computes in polynomial time.
Proof Sketch. We prove only (1). Let be a DFTM computing in polynomial time. We want to construct a uniform family of fuzzy circuits that “simulates” , and thus computes . For each fuzzy gate at level , we prepare variables , where , , , and , used for inputs and outputs. Intuitively, , for example, means that in state is scanning on cell at time . We assume a natural and efficient ordering of those variables. It is easy to design a fuzzy gate that “mimics” the behavior of . Since halts in time polynomial in the length of , the size of is also upper-bounded by a certain polynomial in . However, may share the same output variables. To avoid this situation, it is enough to distinguish them by slightly modifying their labels.
4.4 Fuzzy Proof Verification Systems
Nondeterminism has played a significant role in the development of the theory of NP-completeness. In the past literature, the notion of polynomial time-bounded nondeterminism has been characterized in various ways. Among them, we are interested in a particular characterization of NP problems, using proof verification processes; namely, NP problems are decision problems that have efficiently verifiable solutions (or proofs). Likewise, we will introduce a model of fuzzy proof verification system, in which a verifier tries to check the validity (or correctness) of a given proof, because we believe that this model is more suitable for practical use.
Let us recall the definition of DFTM from Section 4.2 and expand it significantly by adding a mechanism of handling proofs (or certificates). To store such a proof during a verification process, we use an extra read-only infinite tape, called a proof tape. A fuzzy proof verification system (or an FPVS, in short) is a tuple , where is a set of all possible fuzzy proofs with and is a 4-tape DFTM whose first and second tapes are the same as before, whose third tape is a read-only proof tape, and whose fourth one is a write-only output tape. Here, a fuzzy transition function is a map from to , where the th tape uses a tape alphabet and its tape head moves in directions specified as () for each index . A configuration is now of the form , where particularly represents the content of the proof tape and indicates that its tape head is at the leftmost symbol of . On input with proof , a fuzzy configuration at time is defined as follows. Let denote
At time , we assume that is of the form . Let denote
where , , each is defined similarly to in Section 4.2; for example, equals
where and expresses the string .
Let be the set of all with , , , , and . As in Section 4.2, and the running time of are similarly defined. Write to denote an output (i.e., a fuzzy subset of ) of on input with proof , where is defined as
An outcome of the FPVS on input is defined as
We say that admits (or solves ) if for all . The notation expresses the fuzzy decision problem solved by .
As a concrete example of fuzzy decision problems admitting FPVS’s, we present the Fuzzy Circuit Satisfiability Problem (abbreviated as Fuzzy-Circuit-SAT).
Fuzzy-Circuit-SAT (w.r.t. )
Fuzzy Instance: a (description of) fuzzy circuit that takes inputs from .
Fuzzy Output: output a fuzzy set , where and .
To solve this Fuzzy-Circuit-SAT, it is possible to construct an FPVS using Theorem 4.1. Hence, we obtain the following.
There exists an FPVS that solves in polynomial time.
5 Reductions among Fuzzy Problems
The notion of reducibility is a basis to NP-completeness and numerous forms of the reducibility have been proposed. Here, we will consider only its simple fuzzification. Firstly, we will define an important fuzzy function class of polynomial-time approximately computable fuzzy functions. Using functions in , we will introduce AF- and APF-reducibilities, which are viewed as natural fuzzifications of Krentel’s metric reducibility  and AP-reducibility .
5.1 Relative Approximation of Membership Degree
In Section 4.2, we have introduced a DFTM model to capture the notion of fuzzy algorithm. However, the exact use of DFTM’s seems too restrictive to solve a wide range of practical fuzzy problems. It is thus desirable to allow the DFTM’s to “approximate” the outcomes of the fuzzy problems.
To describe this “approximation,” let be any crisp function, called an imprecision tolerance parameter. Let for alphabet as before. For any two fuzzy subsets and of the universe , we say that is a -approximation of if for any element in .
Definition 5.1 (approximate solving)
Let be either an DFTM or an FPVS. We say that -approximately solves fuzzy problem if, for any admissible fuzzy input , takes as an input and produces a certain fuzzy solution that is a -approximation of .
In ordinary computational complexity theory, denotes the set of all crisp functions on crisp strings computable in polynomial time. We introduce an analogous “fuzzy” function class denoted by using the -approximability.
Definition 5.2 (Fuzzy-FPA)
Let be any imprecision tolerance parameter and fix a safe tuple . For convenience, we define to be the set of all (combinatorial generic) fuzzy problems, each of which can be -approximately solved by a certain polynomial-time DFTM. The “PA” stands for “polynomial-time approximate.” When is clear from the context, we drop and write .
Let us introduce four classes of fuzzy functions. The notation expresses the set of all constant functions (which we usually identify with “constants”), does the set of all polynomials, and does the set of all exponential functions. We then obtain the following chain of containments:
We can show that is a crisp part of if we take the following method of fuzzifying crisp objects. For each crisp string in , the notation denotes its specific fuzzified object in .
For any crisp function in , there exists a fuzzy function such that, for every , if and only if .
Let . is closed under functional composition; namely, for any two elements , the function defined as for every is also in .
5.2 Approximate Fuzzy Reductions
To compare the computational complexities of two (generic) fuzzy problems, we need to devise a notion of “fuzzy reducibility,” which is a mechanism (similar to the metric reducibility in ) of transforming instances of one decision problem to instances of another decision problem so that corresponding outputs of those instances are close enough.
Definition 5.5 (AF-reducibility)
Let be any fuzzy function mapping to and let be any fuzzy function from to . We say that is polynomial-time -approximately fuzzy reducible (or AF-reducible, in short) to if there exist two functions in with and and a function such that, for any , is a -approximation of . In this case, we write . This triplet is called an AF-reduction of to .
The next lemma establishes the reflexivity and the transitivity of the AF-reducibility. Thus, the AF-reducibility forms a partial order in the set of all fuzzy problems.
Let . For any three fuzzy problems having the same range, it holds that (1) and (2) and imply .
Reducibility between two fuzzy optimization problems, in contrast, requires a more delicate treatment. As a natural fuzzification of the ordinary AP-reducibility (see, e.g., ), we introduce the following APF-reducibility. Let for a given fuzzy measure function . We set .
Definition 5.7 (APF-reducibility)
For any two fuzzy optimization problems and , we say that is polynomial-time approximation-preserving fuzzy (APF) reducible to with respect to , denoted by , if the following condition holds: there exist a pair of fuzzy functions and a constant such that
(1) for any and ;
(2) implies ;
(3) implies ;
(4) for each fixed ;
6 Fuzzy Decision Problems
In ordinary complexity theory, decision problems are identified with sets of words (or strings) and they are also called languages. The fundamental complexity classes of languages are P and NP. Analogously, we recognize two special classes of fuzzy decision problems.
Definition 6.1 (Fuzzy-PA, Fuzzy-NPA)
Let be a subclass of , which consists only of fuzzy decision problems. Moreover, denotes the set of all fuzzy decision problems that can be -approximately solved by polynomial-time FPVS’s.
Since DFTMs are a special case of FPVS’s, it immediately follows that for any . As in Section 5.1, we write (resp., ) for (resp., ).
Notice that DFTMs are in fact an extension of ordinary NTMs. Therefore, it is not surprising to show that all sets can be solved by DFTMs in polynomial time if we use an appropriate fuzzification (i.e., if we assign appropriately-chosen possibility degrees). Recall from Section 5.1 the fuzzification of crisp string . If a fuzzification of crisp language is defined to satisfy that if and otherwise, we can show that, for any language , belongs to .
For every set over alphabet , there exists a fuzzy decision problem such that and .
Hereafter, we assume that .
The fuzzy complexity class