Abstract
We define a meta-type (MFTM) of Fuzzy Turing Machines (FTM) in which the transitions can take dynamic degrees corresponding with the input. The advantage of MFTM over other FTMs previously defined in the literature is that, by applying the dynamic degrees of transitions, it can resolve a deficiency in recognizing the fuzzy languages where their elements have arbitrary different non-crisp degrees. This results in recognizing a larger class of fuzzy languages than the other FTMs. Also, we establish a fuzzy theory of computational complexity and introduce two complexity classes FP and FNP for fuzzy polynomial time-bounded (deterministic and non-deterministic) computations. We propose fuzzy variants of three problems namely, finding a path (PATH) and a Hamiltonian path (HAMPATH) in a digraph and SAT problem. We show that the fuzzy variant of PATH is in FP while the ones of SAT and HAMPATH are in FNP. We introduce the class of FNP-complete problems and show that fuzzy variants of SAT, 3-SAT and HAMPATH are FNP-complete.
Keywords
Introduction
Lotfi Zadeh defines the notion of fuzzy algorithms in [12], based on a fuzzification of Turing machines and Markov algorithms. This line is followed by some works like [4, 9]. Then, the research in this subject is untouched for more than a decade and revisited only in [3]. Next, Wiedermann considers computability and complexity of fuzzy computation in [11]. He claims that fuzzy Turing machines (FTMs) have more computational power than the classical Turing machines and could accept non-recursively enumerable sets. In [1], Bedregal and Figueira show that Wiedermann’s statement is not completely correct and also show that there is no universal fuzzy Turing machine which can simulate every fuzzy Turing machine. Afterward, Li studies some variants of fuzzy Turing machines in [5]. He shows that there is no universal FTM that can simulate any FTM, but a universal FTM exists in some approximate sense. He also introduces the notion of fuzzy polynomial time complexity and gives a special fuzzy variant of classical satisfiability problem (SAT). In [6], Li generalizes classical fuzzy Turing machines to the case of lattice-valued fuzzy Turing machines. More recently, Moniri defines the class of Generalized Fuzzy Turing Machines which are equipped with both accepting and rejecting states to correspond both independent accepting and rejecting degrees to every input word [7]. He studies some computability aspects of his machines.
The problem with all the previous works concerning fuzzy computability is that the different types of fuzzy machines introduced in these works can not recognize a recognizable fuzzy language which its members have arbitrary different non-crisp degrees. The examples given in these works are restricted to either fuzzy languages whose members have only crisp degrees or fuzzy languages which their recognizability is based on the recognizability of other languages. In the second case, a language is reduced to another one by applying a fuzzy machine whose transitions have only crisp degrees and this is a shortage. For instance, in the proof of proposition “a language L is decidable if L and its complement are acceptable” in [7], a fuzzy Turing decider for L is constructed from two fuzzy Turing machines which recognize the languages L and L c , such that all transitions in new decider machine have just crisp degrees.
It seems that this gap is natural and previously defined fuzzy Turing machines are not strong enough to recognize an appropriate class of fuzzy languages. Indeed, if a fuzzy Turing machine recognizes a fuzzy language L, then for each arbitrary (w, d) ∈ L, the machine must output the membership degree d of w and the existent machines can not perform it. Consequently, we need more powerful machines which can assign appropriate input-dependent degrees to their transitions satisfying the desired properties.
In order to deal with this problem, we introduce a meta-type of Fuzzy Turing Machines whose transitions can take degrees corresponding with the input of the machine. We explain the notion of recognizability in terms of these machines and check the recognizability of fuzzy languages FSAT and FPATH which are the fuzzy versions of classical problems of satisfiability of Boolean formulas (SAT) and finding a path in a directed graph (PATH), respectively. We also study some basic computability properties of these meta-machines.
Next, in order to investigate the efficiency of computations in the approach of fuzzy languages, we establish a fuzzy theory of computational complexity. We define the notion of fuzzy polynomial time-bounded computations and introduce two complexity classes of fuzzy-deterministic polynomial time (FP) and fuzzy-nondeterministic polynomial time (FNP). We show that FPATH and FSAT are in FP and FNP, respectively. We also introduce some fuzzy variants FHAMPATH and F3SAT of classical problems of finding a Hamiltonian path in a digraph and satisfiability of 3-CNF formulas. Notice that in defining FSAT and F3SAT, we take the Gödel fuzzy logic as our base logic. Afterwards, we propose the notion of reducibility between fuzzy languages which is not the same as that in [5] and then define the FNP-complete notion. Furthermore, we show that FSAT, F3SAT and FHAMPATH are FNP-complete.
The paper is organized as follows. In Section 2, we recall some important facts and definitions about fuzzy languages, fuzzy Turing machines and fuzzy Gödel logic from the literature. In Section 3, we introduce Meta Fuzzy Turing Machines and study some of their basic properties. Section 4 is devoted to a fuzzy theory of computational complexity; introducing the complexity classes FP and FNP, then show that FPATH is in FP and FSAT and FHAMPATH belong to FNP. In Section 5, we propose the notion of fuzzy reducibility and introduce the complexity class of FNP-complete languages. Also, we prove that FSAT, F3SAT and FHAMPATH are FNP-complete.
Preliminaries
In this section we recall some important facts and definitions from the literature. The main references discussing variants of fuzzy Turing machines are [1, 11]. A standard reference book for mathematical fuzzy logic is [2].
∗ is commutative and associative, i.e. for all x, y, z ∈ [0, 1]:
∗ is non-decreasing in both arguments, i.e.
1 ∗ x = x and 0 ∗ x = 0, for all x ∈ [0, 1].
The following t-norms are the most important continuous t-norms: Lukasiewicz t-norm: x ∗ y = max {0, x + y - 1}, Gödel t-norm: x ∗ y = min {x, y}, Product t-norm: x ∗ y = x · y (product of real numbers).
The instantaneous description (configuration) of a machine
So, L (F) is a fuzzy set with universe Σ* and its membership function being the function deg F .
L is semi-decidable if there is an FTM L is decidable if there is an FTM such that L and L
c
be semi-decidable. (L
c
is defined as L
c
(x) =1 - L (x)).
φ ∧ ψ = φ & (φ → ψ) , φ ∨ ψ = ((φ → ψ) → ψ) ∧ ((ψ → φ) → φ) ,
e (φ → ψ) = e (φ) ⇒ e (ψ), e (φ & ψ) = e (φ) ∗ e (ψ). e (φ ∧ ψ) = min {e (φ) , e (ψ)}, e (φ ∨ ψ) = max {e (φ) , e (ψ)}.
(φ → ψ) → ((ψ → χ) → (φ → χ)), (φ & ψ) → φ, (φ & ψ) → (ψ & φ), (φ & (φ → ψ)) → (ψ & (ψ → φ)), (φ → (ψ → χ)) → ((φ & ψ) → χ
((φ & ψ) → χ) → (φ → (ψ → χ)), ((φ → ψ) → χ) → (((ψ → φ) → χ) → χ), 0 → φ, φ → (φ & φ).
The only inference rule is modus ponens (MP).
Meta Fuzzy Turing Machines
In this section, we introduce a meta-type of fuzzy Turing machines which their transitions have dynamic degrees corresponding with the input. We propose a fuzzy variant FSAT of satisfiability problem (SAT) in classical complexity theory and a fuzzy version FPATH of classical PATH problem. We show that these fuzzy variants are recognizable by our meta machines. Also, we study some basic computability properties of these meta machines.
Instantaneous description (Configuration) which is the unique description of the machine’s tape, is defined naturally.
Now we give an example of a fuzzy recognizable language. This problem concerns weighted digraphs and is a fuzzy variant of classical PATH problem (see [10] for classical PATH) that we call FPATH. First we define a notion for the degree of a path in a weighted digraph.
F = “on input 〈 (G, s, t) , d〉”, where G is a weighted digraph with nodes s and t: Place mark on node s and assign degree d to all corresponding transitions, Repeat the following with degree 1 to all corresponding transitions, until no additional node is marked, Scan all edges of G. If an edge (a, b) with non-zero weight is found which goes from a marked node a to an unmarked node b, mark node b, If t is marked, then “accept”, Otherwise “reject”.
Degrees of all transitions in step (i) are d and other transitions have degree 1, so if we apply the computable t-norm ∗ on these degrees, the result would be d. Also, note that
Our next example is a fuzzy variant of satisfiability problem (SAT) (see [10] for classical SAT). In classical computability theory, the SAT problem is checking whether a Boolean formula is satisfiable or not. Next, we propose a fuzzy version of SAT problem.
Choose non-deterministically an assignment e to the formula φ such that degree d is assigned to all corresponding transitions, Check whether assignment e satisfies φ or not and assign degree d to all corresponding transitions, Determine whether e (φ) = d or not, if it is, then accepts 〈φ, d〉, otherwise reject it. Assign degree 1 to all corresponding transitions. □
In the sequel of this section we prove two propositions about basic computability properties of MFTMs.
Fuzzy time complexity
In the current section, we propose a fuzzy theory of computational complexity. We introduce the complexity classes of fuzzy-deterministic polynomial time (FP) and fuzzy- nondeterministic polynomial time (FNP). We also show that FPATH and FSAT introduced in the last section are in FP and FNP, respectively. Next we introduce a fuzzy variant FHAMPATH of classical problem of finding a Hamiltonian path in a directed graph (HAMPATH) and show that FHAMPATH is in FNP.
The time complexity class
Another important class in classical complexity theory is NP, because it contains many interesting and useful problems which attempts to find polynomial time (deterministic) algorithms that solve them and have not been successful. In the sequel, we define a fuzzy version FNP of the complexity class NP.
Notice that the time of a non-deterministic MFTM
The classical SAT problem is in NP. In the following we show that FSAT is in FNP.
Our next example is a fuzzy version FHAMPATH of classical Hamiltonian Path problem. We define it as follows, where ∗ is a computable t-norm:
Select non-deterministically a list of m nodes p1, . . . , p
m
(m is the number of nodes in G) and assign degree d to all corresponding transitions. Check for repetitions in the list. If any are found, reject. Check whether s = p1 and t = p
m
. If either fail, reject. For each i between 1 and m - 1, check whether (p
i
, pi+1) is an edge of G. If any are not, reject. Otherwise, all tests have been passed, so accept.
Assign degree 1 to all corresponding transitions in steps (2)-(4). Note that since degrees of all transitions in step (1) are d and other transitions have degree 1, so by applying the t-norm ∗ on these degrees, if a Hamiltonian path exists then it has the desired degree d. To analyse this algorithm and verify that it runs in polynomial time, we examine each of its stages. In stage (1), the non-deterministic selection clearly runs in polynomial time. In stages (2) and (3), each part is a simple check, so together they run in polynomial time. Finally, stage (4) also clearly runs in polynomial time. Thus, this algorithm runs in polynomial time and so FHAMPATH∗ is in FNP. □
The class of FNP-complete languages
In the early 1970s, Stephen Cook and Leonid Levin discovered certain problems in NP whose individual complexity is related to that of the entire class. If a polynomial time algorithm exists for any of these problems, all problems in NP would be polynomial time solvable. These problems are called NP-complete and the notion of NP-completeness is important for both theoretical and practical reasons. Proving that a problem is NP-complete is strong evidence of its non-polynomiality. In this section, we define the notion of FNP-completeness as a fuzzy variant of NP-completeness. We also show that FSAT, a fuzzy version F3SAT of classical 3-SAT and the fuzzy language FHAMPATH are all FNP-complete.
First we introduce the notion of fuzzy reducibility between fuzzy languages which is not the same as [5].
We say A is fuzzy reducible to B in polynomial time, written A ≤ P B, if the function f : Σ∗ → Γ∗ is classically computable in polynomial time.
Now we introduce the class of FNP-complete problems.
B is in FNP, each A in FNP is fuzzy polynomial time reducible to B.
Note that if (w, d) ∈ A, then μ
FSAT
(f (w)) = μ
A
(w) = d and

A tableau is an n k × n k table of configurations.
For convenience, we assume that each configuration starts and ends with a # symbol. Therefore, the first and last columns of a tableau are all #s. The first row of a tableau is the starting configuration of by definition of path independent degree of an accepting configuration α as the maximum of the truth degrees of all computational paths leading from the initial configuration to α, by definition of accepting degree of an input word w as the maximum degree of all accepting configurations leading from the starting configuration on w,
The problem of determining whether F accepts (w, d) is equivalent to the following processes: finding all accepting tableaus for F on (w, d) in order to classify all different tableaus which contain a common accepting configuration, fixing a tableau in each class which its accepting row has the maximum degree between all tableaus in that class (We will define the degree of a row and a tableau below), fixing the tableau with maximum accepting degree between all tableaus obtained in step (ii).
Now we get to the description of the polynomial time fuzzy reduction f from A to FSAT. On input (w, d), the reduction produces a pair (φ, d), where φ is a formula in the language of Gödel Logic. We begin by describing the variables of φ. Assume that Q and Γ are set of states and tape alphabets of
We assume that value 1 is assigned to all variables corresponding with first row of a tableau. Note that first row of a tableau contains the start configuration of F on (w, d). For each i ≥ 2, the degree of each legal variable corresponded to cell [i, j] is obtained by applying the computable t-norm ∗ on both degree of cell [i - 1, j] and degree of last transition from the preceding row according to the transition rules of
The formula φ is the AND (or &) of four formulas in the language of Gödel Logic:
Recall that for arbitrary GL-formulas φ1, φ2, the formulas φ1 & φ2 and φ1 ∧ φ2 are equivalent in Gödel Logic. In the sequel we describe each part of φ. The formula φ
cell
is as follows:
Hence, φ
cell
is actually a large expression that contains a fragment for each cell in the tableau. The first part of each fragment says that at least one variable takes non-zero truth degree in the corresponding cell. The second part of each fragment says that no more than one variable takes non-zero value. These fragments are connected by conjunction which says that φ
cell
takes a non-zero degree if both fragments have non-zero degrees (due to the conjunction between fragments and minimum on the values).
Any assignment to variables which assigns a non-zero degree to φ and therefore to φ
cell
must give a non-zero degree exactly to one of the variables corresponded to each cell. So, any satisfying assignment specifies one symbol in each cell of the tableau. Parts φ
start
, φ
move
and φ
accept
ensure that these symbols actually correspond to an accepting tableau. The formula φ
start
ensures that the first row of the table is the starting configuration of F on (w, d) by explicitly stipulating that the degrees of corresponding variables are 1:
The formula φ
accept
guarantees that an accepting configuration occurs in the tableau. It ensures that q
accept
(the symbol for the accept state) appears in a cell of tableau by stipulating that the corresponding variable takes a non-zero degree:
The formula φ
move
guarantees that each row of the tableau corresponds to a configuration that legally follows the preceding row’s configuration according to
Analogous to the proof of Cook-Levin Theorem in [10], it can be shown that the fuzzy reduction operates in polynomial time and we can generate the formula φ in polynomial time. However, the only difference is in fixing the accepting tableau to obtain the appropriate assignment to the variables of φ. Consequently, the proposed reduction is the desired one. □
The next language that we propose and show its FNP-completeness, is a fuzzy version of classical 3-SAT that we call it F3SAT.
Now we just need to convert the formula φ to one with three literals per clause. In each clause that currently has one or two literals, we replicate one of the literals until the total number is three. In each clause that has more than three literals, we split it into several clauses and add additional variables to preserve the fuzzy satisfiability or non-satisfiability of the original formula. In general, if the clause contains r literals a1 ∨ a2 ∨ ·· · ∨ a
r
, then we can replace it with the r - 2 clauses:
It can be easily verified that the new formula has the desired property. □
For each (φ, d), where φ is a 3-cnf formula in the language of Gödel logic, we show how to construct a weighted directed graph G with two nodes s and t such that a Hamiltonian path with ∗-degree d exists from s to t iff there exists an assignment e to the variables of φ such that e (φ) = d. The graph contains a diamond structure gadget for each variable and a node (gadget) for each clause. Ensuring that the path goes through each clause gadget, corresponds to ensuring that each clause has non-zero degree in the corresponding assignment. We start the construction with a pair (φ, d), where φ is the following 3-cnf GL-formula containing k clauses,

Representing the variable x i as a diamond structure.

Representing the clause c j as a node.

The high-level structure of G.

The horizontal nodes in a diamond structure.
If variable x i appears in clause c j , we add two edges from the jth pair in the ith diamond to the jth clause node as Fig. 6.

The additional edges when clause c j contains x i .
If ¬x i appears in clause c j , we add two edges from the jth pair in the ith diamond to the jth clause node, as shown in Fig. 7. We add all edges corresponding to each occurrence of x i or ¬x i in each clause. After assigning the appropriate degrees to the edges, the construction of G is complete. We assign weight 1 to all edges of G except edges leading from a diamond to a clause node which the diamond is corresponded to the variable that is fixed in the corresponding clause. We will describe it below.

The additional edges when clause c j contains ¬x i .
To show that this construction works, we argue that if (φ, d) is in F3SAT, a Hamiltonian path exists from s to t with ∗-degree d and conversely if such a path exists, then (φ, d) is in F3SAT.
Suppose that there exists an assignment e to the variables of φ such that e (φ) = d. To demonstrate a Hamiltonian path from s to t with ∗-degree d, we first ignore the clause nodes. The path begins at s, goes through each diamond in turn, and ends up at t. To hit the horizontal nodes in a diamond, the path either zig-zags from left to right or zag-zigs from right to left. If a non-zero degree is assigned to x i , the path zig-zags through the corresponding diamond. Otherwise, if x i is assigned 0, the path zag-zigs. We show both possibilities in Fig. 8.

Zig-zagging and zag-zigging through a diamond, as determined by the satisfying assignment.
So far, this path covers all the nodes in G except the clause nodes. We can easily include them by adding detours at the horizontal nodes. In each clause, we select one of literals that have the maximum degree between another literals in that clause. If we selected x i in clause c j , we can detour at the jth pair in the ith diamond and assign degree d to the corresponding edges to/from the jth clause node. Doing so is possible because x i must have a non-zero degree, so the path zig-zags from left to right through the corresponding diamond. Hence the edges to the node c j are in the correct order to allow a detour. Again note that we give degree d to these detours. Similarly, if we selected ¬x i in clause c j , we can detour at the jth pair in the ith diamond because x i must have degree 0, so the path zag-zigs from right to left through the corresponding diamond. Recall that since the formulas are in the language of Gödel logic, if for some variable x i and some assignment e, we have e (x i ) =0, then e (¬ x i ) =1 is non-zero. Hence the edges to the c j node again are in the correct order to allow a detour. Note that each literal with non-zero degree in a clause provides an option of a detour to hit the clause node. As a result, if several literals in a clause have non-zero degrees, we fix the literal with maximum degree and only one detour is taken. Thus, we have constructed the desired Hamiltonian path. Note that since all edges in obtained Hamiltonian path have degree 1 or d, so the ∗-degree of this path is d.
For the reverse direction, if G has a Hamiltonian path from s to t with ∗-degree d, we demonstrate a satisfying assignment which assign value d to φ. If the Hamiltonian path is normal; that is, it goes through the diamonds in order from the top one to the bottom one, except for the detours to the clause nodes; we can easily obtain the desired assignment. If the path zig-zags through the diamond, we assign degree d to the corresponding variable and if it zag-zigs, we assign 0. Because each clause node appears on the path, so by observing how the detour to it is taken we may determine which of literals in the corresponding clause is fixed with non-zero maximum degree. It can be easily shown that the Hamiltonian path must be normal. Also note that the proposed reduction obviously operates in polynomial time. □
In this paper we have proposed a new computing model MFTM for fuzzy languages. These meta-machines have transitions with dynamic degrees corresponding with the input. The advantage of this work comparing to all previous works concerning fuzzy machines is giving explicit examples of fuzzy languages which their members have arbitrary non-crisp degrees. We studied some basic properties of these meta-machines. Next, we introduced a fuzzy theory of computational complexity and proposed two fuzzy complexity classes FP and FNP. The classes FP and FNP consist all fuzzy languages which are recognizable by deterministic or non-deterministic MFTMs, respectively. We introduced a fuzzy version of reducibility and then defined the class of FNP-complete problems. All problems in FNP are fuzzy reducible to FNP-complete problems. Moreover, we proposed some fuzzy variants of important problems in classical complexity theory such as PATH, HAMPATH, SAT and 3-SAT. We showed that PATH is in FP and FSAT, F3SAT and FHAMPATH are FNP-complete. Therefore, MFTM is a variant of Turing machine that is appropriate for studying computability and complexity properties of fuzzy languages which their elements have arbitrary degrees.
