1. Introduction
It is widely accepted [
1] that computation is a process of translating one sequence of symbols to another following a finite number of predefined rules. If the first sequence, called input sequence, and the second sequence, called output sequence, consist of the digits representing the numbers, then computation process is also known as calculation process.
Computation process implemented in physical devices is known as computing while the devices are called computation machines. Computation machines dealing with numbers are called arithmetic machines or calculators and are widely known as computers.
During the history of computation were developed innumerous types of computation machines which according to their basic functionality are combined into two wide classes: analog computers and digital computers.
In analog computers, input sequences represent the results of the measurements of certain observed external processes, and translation of these sequences into the outputs is conducted with respect to the internal processes which directly model the external processes [
2]. In contrast, digital computers deal with input sequences without necessarily references to the observed reality and translate these sequences into the outputs following the rules which represent abstract mathematical operations [
3]. Programming of analog computers is a tuning of the parameters of the modelling processes [
4] and programming of digital computers is a defining the rules of translation of the inputs into the outputs [
5].
Formally, analog computers operate with continuous functions such that each computer operation is defined by an operator in a certain space. Such principle of functionality of analog computers results in higher speed of calculations, but because of the noise, it leads to irreducible errors at each stage of computing from data transmission to data storing.
This weakness led to a decrease in interest in analog computing and gave rise to the development of digital computers operating with a finite number of variables with the values from discrete alphabets, usually from the binary alphabet .
A new wave of interest to analog computation was initialed by the ideas of quantum computing [
6,
7] which reintroduced the considerations of the logic of quantum mechanics [
8] and its use in computations. Quantum mechanical computation assumes that the input sequences are transformed using quantum mechanical operators and the output sequences are obtained by observations of the results of such transformations [
9]. An information unit used in quantum mechanical computation is a qubit which is a superposition of the values
and
. Implementation of such computations assumes the use of quantum mechanical devices which conduct these quantum mechanical transformations and return the results in the form of macroscopic observable values.
Direct analogy between representation of the data in quantum mechanical computation and in fuzzy sets gave a rise to the attempts to model quantum mechanical computation by the means of fuzzy logic [
10].
Probably, one of the most successful models was suggested by Hannachi et al. [
11,
12] who defined fuzzy models of quantum gates and constructed fuzzy version of one- and two-bits Deutsch-Jozsa algorithm [
13]. Later, these models were adopted for control of mobile robots [
14,
15] that validates possibility of their implementation in nonquantum physical devices. Along with that, the Hannachi et al. model does not include complex gates conducting rotations of the qubits which are necessary for a complete quantum computing system.
Moreover, as it was demonstrated by Kreinovich et al. [
16], there is a crucial difference between quantum and fuzzy logics led by the “square root of not” appearing in quantum logic. Later, Kosheleva and Kreinovich [
17] demonstrated that formulation of quantum logic by the means of fuzzy logic requires additional terms and operations. Kosheleva and Kreinovich interpreted the resulting logic as complex fuzzy logic [
18,
19] that, however, does not exclude the use of other rich enough fuzzy logics.
In the paper, we suggest a fuzzy system which implements quantum computations and can be used for analog computations in general. The system consists of fuzzy Tsetlin automata that utilize extended uninorm and absorbing norm. To model the qubits representing the data, in the system we suggest fuzzy analog of qubits – the f-bits – which are matrix extensions of the qubits with uninorm based normalization. We demonstrate that the suggested system implements basic quantum computations that allows its application for general analog computing.
2. Materials and Methods
The suggested system is based on fuzzy Tsetlin automata and deals with the operations which represent the operations used in quantum computations. In the section, we start with the basic notes on quantum gates and the methods of quantum computations and then recall definition of fuzzy Tsetlin automaton and its main properties.
2.1. Basic Operations of Quantum Computation
The information units and operations used in quantum computations are defined as follows. Since quantum computations are not a subject of this paper, we use commonly known vector and matrix notation; for widely accepted quantum mechanical notation used in quantum information theory see e.g. the book [
20] by Nielsen and Chuang.
In quantum computations, a unit of information is called qubit and is represented by a two-elements complex vector
such that
. The distinguished vectors
and
are associated with classical false
and true
values, and any vector
is represented by a combination
of the vectors
and
.
Usually, row-vector is denoted by and is called bra-vector and column vector is denoted by and is called ket-vector. Vectors and represent the states of electron “spin up” and “spin down”, respectively, and the vectors and represent the states “spin right” and “spin left”, respectively.
The basic operators applied to the qubits are represented by the following matrices called quantum gates:
- -
Square root of not:
- -
Hadamard operator:
- -
Phase shift operator:
- -
T-gate:
- -
Two-qubit controlled NOT (CNOT) operator:
The square root of not is an operator which acts as ; consequently, the phase shift operator acts as and the T-gate operators acts as .
Note that in contrast to the Boolean operators, the one-qubit operators are reversible, that is , and so on.
Our goal is to suggest fuzzy operations which emulate these quantum gates.
2.2. Fuzzy Tsetlin Automata
The suggested system is based on fuzzy Tsetlin automata. These automata extend binary Tetlin automata [
21] which are defined as follows.
Let be an automation with the set of states , and assume that being in the state the automaton receives an income such that is interpreted as a payoff and is interpreted as a reward (no payoff).
If , then the automaton changes its state to the other, and if , the automaton stays in its current state. Such transitions of the automaton are defined by the matrix such that and .
It is easy to demonstrate that such behavior of the Tsetlin automaton
is represented by Boolean
operator
that allows direct extension of binary automaton
to fuzzy automaton
which operates with the states and incomes from the interval
.
To define fuzzy Tsetlin automaton we need the following fuzzy aggregators that extend Boolean operations.
Function with the parameter such that
(commutativity),
(associativity),
implies (monotonicity),
-
for some (identity),
and such that is a -norm and is a -conorm is called uninorm. Parameter is called identity or neutral element of the uninorm.
Let be a uninorm with the neutral element and let be a function that satisfies the following requirements:
If for any
holds
then function
is called strong negation or negation, for briefness, with respect to the uninorm
.
Function with the parameter such that
(commutativity),
(associativity),
-
for any (existence of zero)
is called absorbing norm. Parameter is called absorbing element of the absorbing norm.
Similar to the negation operator, given absorbing norm
it is defined the division operator
such that
The value
is called unit with respect to the absorbing norm
.
Uninorm was defined by Yager and Rybalov in the paper [
22], negation – by Dombi in the paper [
23], absorbing norm – by Rudas in the paper [
24] and division – by Fodor et al. in the report [
25]. For further definitions and facts see the book [
26] and references therein.
Let
be a uninorm with neutral element
. Then there exists an invertible continuous strictly monotonously increasing function
with the limits
and
, such that
and for any
holds
The function
is called generating function of the uninorm
.
Let
be a negation with respect to the uninorm
based on the generating function
. Then
Finally, let
be an absorbing norm with absorbing element
. Then there exists an invertible continuous strictly monotonously increasing function
with the limits
and
, such that
and for any
holds
The function
is called generating function of the absorbing norm
.
Since absorbing norm is a fuzzy extension of the Boolean operator, fuzzy Tsetlin automaton can be defined as a direct negation of the absorbing norm.
Fuzzy Tsetlin automaton
is a fuzzy automaton with the state transition function
where
is a state and
is an input of the automaton at time
.
Following this definition, fuzzy Tsetlin automaton can be considered as a simplest form of the Tsetlin neuron used in fuzzy neural networks [
26,
27].
3. Results
Let us start with the definition of fuzzy information unit. We assume that such a unit is analog to the quantum information unit – the qubit – but, in contrast to the probabilities of quantum states, it represents the truth values of the statements.
Let
be a real matrix. If in the matrix
holds
then it is considered as a fuzzy information unit and is called f-bit.
Note that in contrast to the qubit
which is a complex vector with the elements associated with the probabilities of the quantum states, the f-bit
is a real matrix. The elements of this matrix are interpreted as truth values and are normalized such that
In other words, similar to the qubit where the values and are associated with the probabilities of the complementary events, in the f-bit the values in the rows are associated with the truth values of the complementary statements.
The suggested system consists of four fuzzy Tsetlin automata acting with the elements of fuzzy information units.
Let
be a matrix of control values. We assume that matrix
has a structure of f-bit, namely
Let
be an input f-bit and let
be a control f-bit. Then, controlled information processing is defined as follows:
In other words, the automata processing the elements of main diagonals are fuzzy Tsetlin automata and the automata processing the element of antidiagonals are negated fuzzy Tsetlin automata.
In brief, this operation is written as
Lemma 1.
If
, then
is an f-bit.
Proof. We need to show that
and that
The first statement follows directly from definitions of the operations and for any and .
Consider the second statement. Since
, we have
and
Note that if , then the above transformations do not hold, and the statement of the theorem is not true. □
Let . We define the following control matrices.
- -
Fuzzy Pauli control matrices:
- -
Fuzzy root of not:
- -
Fuzzy Hadamard control matrix:
- -
Fuzzy phase shift:
- -
Fuzzy T-gate:
- -
Fuzzy two-f-bit controlled NOT (CNOT):
Since , each presented matrix is an f-bit.
Theorem 1.
Operation
with the defined above control matrices implements the basic gates of quantum computation.
Proof. Denote the input qubit by
and the input f-bit by
We have (for detailed calculations see
Appendix A):
- -
Fuzzy Hadamard operator:
- -
Fuzzy phase shift operator:
Finally, let
be additional qubit and
be additional f-bit.
The gate and two-f-bit extension of the operation with fuzzy control matrix act as follows:
- -
Two-qubit controlled NOT (CNOT) operator:
- -
Fuzzy two-f-bit controlled NOT (CNOT) operator:
Representation of the gate by its fuzzy analog ends the proof. □
First, let us demonstrate that the operation with the introduced fuzzy Pauli control matrices meets the main property of quantum gates.
Lemma 2.
Operation
with fuzzy Pauli control matrices
,
,
and
is reversible such that
Proof. Let
be an f-bit and a control matrix, respectively.
For the fuzzy Pauli control matrices
,
,
and
, we have either
or
,
. Then
Hence,
and operation
is reversible. □
Corollary 1.
is reversible.
Proof. Reversibility of follows directly from the reversibility of and . □
Now, let us demonstrate the relations between the introduced control matrices.
Proof. The statement is obtained by direct calculations (see
Appendix B). □
Note that operation with fuzzy Hadamard control matrix and the control matrices , and is not reversible. Along with that, for these matrices we can define the operations which, together with corresponding operators, provide the reversibility of the operation .
Let
. Denote by
the
times application of the uninorm
and absorbing norm
. It means,
For any
we have,
and since
and
, we have for even
and for odd
We introduce the following matrices
Since we assume that
, below we will omit the notation of
and
and will write
,
,
and
.
To define the required operators, we will need the matrices
and
Lemma 4. For fuzzy Hadamard operator holds
Proof. The statement is obtained by direct calculations (see
Appendix C). □
Similar statement holds for fuzzy square root of not , fuzzy phase shift and fuzzy T-gate .
Proof. The statement is obtained by direct calculations (see
Appendix D). □
Finally, let us present an example of the generating function with and corresponding values , and .
Example 1. Let
and
and assume that [
26]
where
,
.
For
we have
. So
Then
which gives
and similarly
gives
. □
Summarizing, operation with the defined fuzzy control matrices implements the corresponding quantum gates. Operation is reversible for the fuzzy Pauli operators , , and and for fuzzy controlled not operator , and for fuzzy Hadamard operator operation it is reversed using the matrix . For square root of not and fuzzy phase shift operation is reversed using the matrix and for the fuzzy T-gate it is reversed using the matrix . Finally, example 1 demonstrates that the introduced operations and values are computable.
These properties of operation
with the defined fuzzy control matrices allows its direct application in quantum algorithms. Below, we illustrate the use of this operation by formulating fuzzy version of the one qubit Deutsch-Jozsa algorithm [
13].
Example 2. In this example, we formulate the fuzzy version of the one qubit Deutsch-Jozsa algorithm [
13], which recognizes whether a Boolean function
is constant (its outputs do not depend on inputs) or balanced (a half of its outputs are zeros and a half are units). The example is inspired by the implementation of the model suggested by Hannachi, Hatakeyama and Hirota [
12].
Recall that since we consider Boolean function of one argument, it can be one of four functions , , such that the functions and are constant and the functions and are balanced.
To solve this problem, classical algorithm requires two calls of the function . At first, the algorithm sets . Assume that the result is . It means that the function is either (constant) or (balanced). Now the algorithm sets . Then the result is either , which means that the function is (constant), or , which means that the function is (balanced). Certainly, the algorithm can start with the value and then set the value ; in this case it will choose among the functions and .
In contrast, the Deutsch-Jozsa algorithm solves this problem in one call of the operator associated with the function
. Detailed description of the Deutsch-Jozsa algorithm is given in
Appendix E.
Following the scheme of the Deutsch-Jozsa algorithm, the suggested algorithm obtains two f-bits and as an input, applies to them fuzzy Hadamard operator , then applies a two-f-bit oracle operator . The obtained f-bits are processes by the operator , which is an inverse of the operator , and the resulting f-bits and are compared. If , then the function is constant and if , then the function is balanced.
Similar to the Deutsch-Jozsa algorithm, we assume that the functions
,
,
and
are respectively associated with the two-f-bit operators with the control matrices:
respectively.
The two-f-bit state
is defined as a fuzzy superposition of the f-bits
and
:
To the state
the two-f-qubit Hadamard operator is applied:
The two-f-qubit state
is processed by the operator
where
and
stand for the matrices
and
with respect to the control matrices
,
,
and
.
The state
is processed by the reverse fuzzy Hadamard operator
Finally, if , then the function is constant and if , then the function is balanced.
Hence, similarly to the Deutsch-Jozsa algorithm, the problem of recognition of the constant and balanced function is solved by a single call of the operator associated with the function .
It is clear that similar to the Deutsch-Jozsa algorithm, the suggested fuzzy algorithm is useless and does not solve any practical problem. Along with that, as the Deutsch-Jozsa algorithm demonstrates that effectiveness of quantum computations, the suggested fuzzy algorithm demonstrates that using the suggested operations the problem can be solved as effectively as by quantum algorithm. □