1. Introduction
In classical computability theory, algorithmic computation is modeled by Turing machines, which were introduced by Alan M. Turing [
1]. A
Turing machine is an abstract model of computation defined by a 7-tuple
, where
Q is a finite set of states,
is the alphabet,
is the tape alphabet,
is the starting state,
is a set of halting states, the set
denotes the possible left (L) and right (R) move of the tape head, and
is the transition function, defined as:
Each transition is a step of the computation. Let w be a string over the alphabet . We say that a Turing machine on input w halts if the computation ends with some state . The output of the machine, in this case, is whatever was written on the tape at the end of the computation. If a Turing machine M on input w halts, then we say that M is defined on w. Since there is a one-to-one correspondence between the set of all finite strings over and the set of natural numbers , without loss of generality we may assume that Turing machines are defined from to .
Standard Turing machines admit partial functions, i.e., functions that may not be defined on every input. The class of functions computable by Turing machines are called
partial recursive (computable) functions. We shall not delve into the details about what is meant by a function or set that is computable by a Turing machine. We assume that the reader is familiar with the basic terminology. However, for a detailed account, the reader may refer to Reference [
2,
3,
4]. Using a well known method called
Gödel numbering, originated from Gödel’s celebrated 1931 paper [
5], it is possible to have an algorithmic enumeration of all partial recursive functions. We let
denote the
ith partial recursive function, i.e., the
ith Turing machine.
If a partial recursive function is defined on every argument we say that it is total. Total recursive functions are simply called recursive or computable. Since there are countable infinitely many Turing machines, there are countable infinitely many computable functions. Computable sets and functions are widely used in mathematics and computer science. However, nearly all functions are non-computable. Since there are functions from to and only many computable functions, there are uncountably many non-computable functions.
Oracle Turing machines, introduced by Alan Turing [
6], are used for relativizing the computation with respect to a given set of natural numbers. An
oracle Turing machine is a Turing machine with an extra
oracle tape containing the characteristic function of a given set of natural numbers. The
characteristic function of a set
is defined as:
We may also think of as an infinite binary sequence and call it the characteristic sequence of S. For a set , we let denote . So the characteristic sequence of a set S simply gives the membership information about natural numbers regarding S. For a given an oracle Turing machine with the characteristic sequence of a set S provided in the oracle tape, functions are denoted as computable by the machine relative to the oracle S. If the oracle Turing machine with an oracle S computes a function f, then we say that f is computable in S or we say S computes f. We denote the ith oracle Turing machine with an oracle A by . Then, it makes sense to write if A computes B.
Now we shall look at a non-standard Turing machine model based on neutrosophic sets. Neutrosophic logic, first introduced by Smarandache [
7,
8], is a generalization of classical, fuzzy and intuitionistic fuzzy logic. The key assumption of neutrosophy is that every idea not only has a certain degree of truth, as is generally taken in many-valued logic contexts, but also has degrees of falsity and indeterminacy, which need to be considered independently from each other. A neutrosophic set relies on the idea that there is a degree of probability that an element is a member of the given set, a degree that the very same element is
not a member of the set, and a degree that the membership of the element is indeterminate for the set. For our purpose we take subsets of natural numbers. Roughly speaking, if
n were a natural number and if
A were a neutrosophic set, then there would be a probability distribution
, where
denotes the probability of
n being a member of
A,
denotes the probability of
n not being a member of
A, and
denotes the degree of probability that the membership of
n is indeterminate in
A. Since the probability distribution is expected to be normalized, the summation of all probabilities must be equal to unity. We should note however that the latter requirement can be modified depending on the application.
The above interpretation of a neutrosophic set can be in fact generalized to any multi-dimensional collection of attributes. That is, our attributes did not need to be merely about membership, non-membership, and indeterminacy, but it could range over any finite set of attributes and so that the value of an element would range over such that and for . The set of attributes can also be countably infinite or even uncountable. However, we are not concerned with these cases. We shall only consider the membership attribute discussed above.
We are particularly interested in subsets of natural numbers
, in our study. Any neutrosophic subset
A of natural numbers (we shall occasionally denote such a set by
) is defined in the form of ordered triplets:
where, for each
,
denotes the degree of probability of
i being an element of
A,
denotes the probability of
i being not an element of
A, and
denotes the probability of
i being indetermined. Since we assume a normalized probability distribution, we have that for every
:
3. Neutrosophic Enumeration and Criterion Functions
We now introduce the concept of neutrosophic enumeration of the members of neutrosophic subsets of natural numbers. Since we talk about enumeration, we must only take countable sets into consideration. It is known from classical computability that, given a set , A is called recursively enumerable if there exists some such that A is the domain of . We want to define the neutrosophic counterpart of this notion, but we need to be careful about the indeterminate cases, an intrinsic property in neutrosophic logic.
Definition 4. A set A is called neutrosophic Turing enumerable if there exists some such that A is the domain of restricted to elements whose probability degree of membership is greater than a given probability threshold. More precisely, if is a given probability threshold, then A is neutrosophic Turing enumerable if A is the domain of restricted to those elements i such that , where denotes the degree of probability of membership of i in A.
If the
eth Turing machine is defined on the argument
i, we denote this by
. The
halting set in classical computability theory is defined as:
It is known that K is recursively enumerable but not recursive. Unlike in classical Turing computability, we show that neutrosophically computable sets allow us to neutrosophically compute the halting set. The way to do this goes as follows. A single neutrosophic subset of natural numbers is not enough to compute the halting set. Instead, we take the union of all neutrosophically computable subsets of natural numbers by taking an infinite join which will code the information of the halting set.
Let
be a countable sequence of subsets of
. The
infinite join is defined by
where
is mapped to a natural number using a uniform pairing function
.
Theorem 2. Let be a neutrosophic subset of . Then,
Proof. We first show that . The infinite join of all neutrosophically computable sets computes the halting set. Let be an effective enumeration of neutrosophic Turing functionals. Let be the corresponding neutrosophic sets, each of which is computable by . To compute K, we let be the infinite join of all . To know whether is defined or not, we see if . If so, then . Otherwise it must be that . In this case, is undefined.
Next, we show . To prove this, we assume that there exists an oracle for K. If , then there exist indices such that and it must be that since is defined, but we may not know whether or . If , then the same argument holds to prove this case as well. ☐
The use of the probability ratio
is for convenience. This notion will be generalized later on. Classically speaking, given a subset of natural numbers, we can easily convert it to a neutrosophic set preserving the membership information of the given classical set. Suppose that we are given a set
and we want to convert it to a neutrosophic set with the same characteristic sequence. The neutrosophic counterpart
is defined, for each
, as:
We now introduce the tree representation of neutrosophic sets and give a method, using trees, to approximate its classical counterpart. Suppose that we are given a neutrosophic subset of natural numbers in the form:
We use the probability distribution to decide which element will be included in the classical counterpart. If
is a neutrosophic subset of natural numbers, the
classical counterpart of is defined as:
Now we introduce a simple conversion using trees. The aim is to approximate to the classical counterpart of a given neutrosophic set
in a computable fashion. For this we start with a full ternary tree, as given in
Figure 2, coding all possible combinations.
The correct interpretation of this tree is as follows. Each branch represent a possible element of the set we want to construct. For instance, if has the largest probability value among , , , then we choose and define 0 to be an element of the classical set we construct. If either or is greater than , then we know 0 is not an element of the constructed set. Since we are defining a classical set, the only time when some is in the constructed set is if and . Continuing along this line, if , say, has the greatest probability value among , , , then 1 will not be an element. So far, 0 is an element and 1 is not an element. So in the tree we choose the leftmost branch and then next we choose the middle branch. Repeating this procedure for every , we end up defining a computable infinite path on this ternary tree which defines elements of the set being constructed. At each step, we simply take the maximum probability value and select that attribute. The infinite path defines a computable approximation to the classical counterpart of using the tree method.
Earlier we defined Turing machines with a neutrosophic oracle tape. Suppose that the characteristic sequence of a neutrosophic set
A can be considered as an oracle. Then, the
e-th neutrosophic oracle Turing machine can compute a function of the same characteristic. That is, not only can Turing machines with neutrosophic oracles compute classical sets, but they can also compute neutrosophic sets. It is important to note that we need to modify the definition of standard oracle Turing machines in order to use neutrosophic sets. We add the symbol
I to the alphabet of the oracle tape. The transition function
is then defined as:
We say that the neutrosophic oracle Turing machine, say , computes a neutrosophic set B if .
We now turn to the problem of enumerating members of a neutrosophic subset A of natural numbers. Normally, general intuition suggests that we pick elements such that . It is important to note that, given , not every i will be enumerated if we use this probability criterion. However, changing the criterion depending on what aspect of the set we want to look at and depending on the application, would also change the enumerated set. Therefore, we would need a kind of criterion function to set a probability threshold regarding which elements of the neutrosophic set are to be enumerated.
In practice, one often encounters a situation where the given information is not directly used but rather analyzed under the criterion determined by a function. We examine how the computation behaves when we impose a function on the neutrosophic oracle tape. That is, suppose that is a function, where , which maps each cell of the neutrosophic oracle tape to a probability value. For example, f could be defined as a constant non-membership function which assigns every triplet in the cells to the non-membership ∉ attribute. In this case, the probability of any natural number not being an element of the considered oracle A is just 1. When these kinds of functions are used in the oracle information of A, we may be able to compute some useful information.
The intuition in using criterion functions is to select, under a previously determined probability threshold, a natural number from the probability distribution which is available in a given neutrosophic subset of natural numbers. As an example, let us imagine a neutrosophic subset
A of natural numbers. Suppose for simplicity that
A is finite and is defined as:
First of all, we should read this as follows:
A has neutrosophic information about the first three natural numbers
. In this example,
,
,
. For the natural number 1, we have that
,
,
. Finally, for the natural number 2, we have
,
,
. Now if we want to know which natural numbers are in
A, normally we would only pick the number 2 since
. Our criterion of enumeration in this case is
. In general, this probability value may not be always applicable. Moreover, this probability threshold value may not be constant. That is, we may want to have a different probability threshold for every natural number
i. If our criterion were to select the
ith element whose probability exceeds
, we would enumerate those numbers. For example, if the criterion is defined as
then for the first triple, the probability threshold is 0, meaning that we enumerate the natural number 0 if
. Obviously 0 will be enumerated in this case since
. The probability threshold for enumerating the number 1 is
, so it will not be enumerated since
. Finally, the probability threshold for enumerating the number 2 is
. In this case, 2 will not be enumerated since
. So the enumeration set for
A under the criterion
f will be
.
We are now ready to give the formal definition of a criterion function.
Definition 5. A criteria function is a mapping which, given a neutrosophic subset A of natural numbers, determines a probability threshold for each triple in A.
We first note a simple observation that if the criterion function is the constant function for any , the enumeration set will be equal to itself. However, this does not mean that the enumeration set will be empty if . Given a neutrosophic set A, if for all i, then the enumeration set for A will also be equal to .
We shall next give the following theorem. First we remind the reader that we call a function f strictly decreasing if .
Theorem 3. Let f be a strictly decreasing criterion function for a neutrosophic set A such that for every , and let be the enumeration set for A under the criterion f. Then, there exists some such that .
Proof. Clearly, given A and that for each i, , only those numbers i which satisfy will be enumerated. Since the probability distribution of membership degrees of elements of A strictly increases and f is strictly decreasing, there will be some number such that . Moreover, for the same reason for every . Therefore, the number of elements enumerated is less than j. That is, . ☐
We denote the complement of a neutrosophic subset of natural numbers
A by
and we define it as follows. Let
denote the probability of
i being an element of
A and let
denote the probability of
i being not an element of
A. In addition,
denotes the probability of the membership of
i being indeterminate. Then:
So the complement of a neutrosophic set in consideration is formed by simply interchanging the probabilities of membership and non-membership for all . Notice that the probability of indeterminacy remains the same. Our next observation is as follows. Suppose that A and are neutrosophic subsets of natural numbers and f is a criterion function. If , then clearly for all .
The probability distribution of members of a neutrosophic set can be also be given by a function such that and where j is the index for denoting the membership probability by 1, non-membership probability by 2, and indeterminacy probability by 3, respectively. For instance, for , denotes the probability of the non-membership of i generated by the function g. Now g being a computable function means, for any , there is an algorithm to find the value of . We give the following theorem.
Theorem 4. Let A be a neutrosophic set. If g is a computable function, then there exists a computable criterion function f such that is the enumeration set of A under the criterion function f and, moreover, .
Proof. Suppose that we are given A. If g is a computable function that generates the probability distribution of members of A, then we can computably find . We then simply let be some . Since , every i will be a member of . Since i is arbitrary, . ☐
We say that a function f majorizes a function g if for all x. Suppose now that g is a quickly growing function in the sense that it majorizes every computable function. That is, assume that for every and every computable function f. Now in this case g is necessarily non-computable. Otherwise we would be able to construct a function h where is chosen to be some such that is defined at step t. So if g is not computable, we cannot apply the previous theorem on g. The only way to enumerate A is by using relative computability rather than giving a plain computable procedure. Suppose that we are given such a function g. Let denote the ith Turing machine with oracle A and input i. We define to be the jump of g, where for a uniform pairing function . The jump of g is basically the halting set relativized to g. If we want to enumerate members of A, we can then use as an oracle. Since, by definition, computes g, we enumerate members of A computably in .
We shall also note an observation regarding the relationship between A and . Given a function f, unless is strictly between and , we have that . That is, the only case when is if or . Let us examine each case. In the first case, since , i will not be enumerated into , but since , it will be enumerated into . The second case is just the opposite. That is, i will be enumerated into but not into .
What about the cases where i is enumerated into both enumeration sets? It depends on how we allow our criteria function to operate over probability distributions. If we only want to enumerate those elements i such that , then we may have equal probability distribution among membership and non-membership attributes. We may have that and . In this case, we get to enumerate i both into and . However, if we allow the criterion function to operate in a way that i is enumerated if and only if , then it must be the case that so i will only be enumerated into .
The use of the criterion function may vary depending on the application and which aspect of the given neutrosophic set we want to analyze.