Next Article in Journal
High Steep Rock Slope Instability Mechanism Induced by the Pillar Deterioration in the Mountain Mining Area
Next Article in Special Issue
Functional Matrices on Quantum Computing Simulation
Previous Article in Journal
Blockchain-Assisted Hybrid Harris Hawks Optimization Based Deep DDoS Attack Detection in the IoT Environment
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Heuristics for Quantum Computing Dealing with 3-SAT

1
Departamento de Sistemas Informaticos y Computacion, Facultad de Informatica, Complutense University, 28040 Madrid, Spain
2
Departamento de Sistemas Informaticos, Escuela Superior de Ingenieria Informatica, University of Castilla—La Mancha, 02071 Albacete, Spain
3
Dipartimento di Scienze della Formazione, Via del Castro Pretorio 20, UniRoma3, 00185 Rome, Italy
*
Authors to whom correspondence should be addressed.
Mathematics 2023, 11(8), 1888; https://doi.org/10.3390/math11081888
Submission received: 16 February 2023 / Revised: 22 March 2023 / Accepted: 13 April 2023 / Published: 16 April 2023
(This article belongs to the Special Issue Quantum Computing Algorithms and Quantum Computing Simulators)

Abstract

:
The SAT problem is maybe one of the most famous NP-complete problems. This paper deals with the 3-SAT problem. We follow a sort of incremental strategy to save computational costs with respect to the classical quantum computing approach. We present an heuristics that leads this strategy, improving the performance of the purely random incremental scheme. We finally validate our approach by means of a thorough empirical study.

1. Introduction

The Boolean satisfiability problem (SAT) is the first known NP-complete problem [1]. It has applications in different fields, such as cryptanalysis [2], hardware verification [3], AI planning [4] and medicine [5].
There are two main ways to face the SAT problem from the algorithmic perspective. On one hand, those supported by the Davis–Putnam–Logemann–Loveland (DPLL) algorithm [6] focus on, in essence, backtracking, and on the other hand, those based on local searching are led by some heuristics changing from one state to another one until reaching an ending condition that corresponds to a valid interpretation. Some examples of the second option are hill climbing/gradient descent and simulated annealing [7], where the latter can be directly powered by annealing quantum computing.
SAT problems can be dealt with as a structured searching problem, as shown in [8]. This work presents a quantum algorithm for nested searching over structured problems. First, a Grover’s search is carried out over the i first qubits out of a total of n. This uses an oracle that inverts the phase of a possible solution, conditioned by the set of clauses that contains the i first variables that were satisfied. The number of iterations of this first step is 2 i n A , where n A is the number of possible solutions. The second step performs m 2 n i iterations of a standard search in the remaining n i qubits. The last step applies r n A n A B iterations of I t · U 1 · I s I s · U , where:
  • U is the circuit of the two previous steps.
  • U 1 is the inverse ordered U circuit (right to left).
  • I s and I s are the conditional phase inversion of initial states of the i first qubits and n i qubits, respectively.
  • I t is the oracle for the solutions of the problem.
  • n A B is the number of solutions of the problem.
In order to develop such a structured quantum search, some extra information about the number of tentative solutions at different levels, together with where these levels should be located, is required. This is not available in our case.
A more restrictive version of this problem focused on exact satisfiabiality, XSAT, and occupation problems, with n variables and m clauses has been studied in [9] and solved by Grover’s algorithm in O 2 n M , where M is the number of independent clauses for the corresponding XORSAT problem that the original problem is reduced to. In fact, it provides a reduction in the searching space by means of a transformation of the original problem. The Oracle used in this article is formed of three main blocks. The first block is a mapping between the k-configuration of the XORSAT problem and the n-configuration of the original problem. The second block is devoted to computing the number of satisfied clauses. The third block is a conditional phase inversion over the satisfied clauses (the phase inversion is applied when the number of satisfied clauses equals the number of clauses).
In addition, Grover’s algorithm can be applied when solving a wide variety of problems, ranging from the most common decision problems to global optimization problems, as [10] shows, where finding an input element x satisfying f ( x ) < f ( y ) for whatever y x is the goal. This method starts with a random element y and then repeats two steps until no solution is found. The first step means executing Grover’s algorithm with f ( x ) < f ( y ) as Oracle. The second step updates the value of y with x.
Variations in this sort of algorithms range from combining them with heuristics, such as as Variable State Independent Decaying Sum (VSIDS) branching heuristics, or a passing trough focusing on parallelism, with ManySAT solvers [11] using efficient Boolean constraint propagation (BCP) together with an optimised decision strategy [12], to using hardware solvers focused on FPGAs [13].
Other quantum computing approaches used to solve this problem can be seen in [14]. This work encodes each clause as a circuit called filter box, which holds that states satisfying this clause have a higher amplitude than the rest. This is achieved by using ancillary qubits, CNOT gates, rotation gates around y-axis, and two non-unitary transformations named boost Hamiltonian and projection Hamiltonian. If a qubit is used for other clauses, that qubit will be teleported to the other one by the circuit teleportation box; otherwise, it will finish with a boost Hamiltonian transformation.
In [15], Leporati et al. propose three different algorithms to deal with the 3-SAT problem. These algorithms are mainly leveraged by quantum parallelism, computing the 3-SAT function for all states at once, and therefore obtaining a linear combination α | 0 + β | 1 such that either β = 0 , when the instance on the problem is unsatisfiable, or β measures a proportion of the number of solutions with respect to the domain of Boolean variables when it is satisfiable (which obviously includes the first option). These different proposals are focused on a quantum Fredkin circuit, a register in a quantum register machine, and the energy of a given membrane in a quantum P system. All these proposals assume the ability to discriminate a null vector from a non-zero one.
Other quantum computing approaches to solve 3-SAT problem can be found in [16], where a sort of diabatic quantum annealing (not universal) is proposed, and [17], using Rydberg Atom Graphs based on neutral atoms’ quantum computing. Both approaches are supported by quantum systems that evolve mechanically.
Meuli et al. proposed, in [18], a way of synthesising CNOT gates in order to build the Oracle operator within SAT problem-solving.
Cheng et al. proposed, in [19], a sort of cooperative quantum searching in which Boolean variables are split into two sets. In one of them, the values of the variables are set by a local search algorithm, such as, for example, GenSAT; in the other set, Grover’s searching algorithm is applied.
The SAT problem has also been faced from a hybrid Classical/Quantum perspective, as Zhang et al. addressed in [20], where an algorithm that first unfolds the branches of the tree of states until reaching a given threshold, from which Grover’s algorithm is applied, is presented. Finally, the solutions must be properly linked in order to obtain the solutions of the former SAT problem. Our proposal shares some similarities with this one but, as far as we know, the amount of information we extract from the problem domain, together with the size of the experiment set we provide, makes us quite confident that our proposal is still value, and distinct from that of Zhang et al.
In this work, we focus on DPLL-based algorithms. Specifically, we focus on both the GRASP (Generic seaRch Algorithm for the Satisfiability Problem) [21], based on conflict-driven clause learning and non-chronological backtracking, and miniSAT [22], which is based on VSIDS dynamic variable order and on conflict-driven clause learning.
This paper is structured as follows: Section 2 refreshes some preliminary notions, Section 3 presents our proposal, Section 4 and Section 5 are devoted to, first, describing the experimental setup, and then gathering the results to empirically validate our algorithm. Section 5 concludes the paper.

2. Preliminaries

2.1. SAT Problem

In this section, we are going to set the notation that is to be used in the rest of the paper. We will consider a numerable Bool set of Boolean variables; two symbols—⊤ for the constant true atomic formula and ⊥ for the constant false atomic formula; the ordinary symbols ∧ and ∨ stand for conjunction and disjunction logical operators; the negation of a formula φ is denoted by φ ¯ .
Definition 1.
(Popositional formula). The set of propositional formulas is generated by the following Backus–Naur Form BNF form:
φ : : = | | p c φ 1 φ 2 | φ 1 φ 2 | φ ¯
where p Bool .
We will denote the set of propositional formulas by Prop .
A truth assignment is a function v : Bool { 0 , 1 } . We can extend v to the set of propositional formulas v ^ : Prop { 0 , 1 } in the usual way:
  • v ^ ( ) = 0 , v ^ ( ) = 1 ,
  • if p Bool , v ^ ( p ) = v ( p ) ,
  • v ^ ( φ 1 φ 2 ) = min { v ^ ( φ 1 ) , v ^ ( φ 2 ) } , v ^ ( φ 1 φ 2 ) = max { v ^ ( φ 1 ) , v ^ ( φ 2 ) } ,
  • v ^ ( φ ¯ ) = ( v ^ ( φ ) + 1 ) mod 2
We say that v satisfies φ (written v φ ) when v ^ ( φ ) = 1 ; if v ^ ( φ ) = 0 we write v φ .
The vocabulary of a formula ϕ, voc ( φ ) , is the set of Boolean variables it contains. Formally,
voc ( ) = voc ( ) = , voc ( p ) = { p } , voc ( φ ¯ ) = voc ( φ ) , voc ( φ 1 φ 2 ) = voc ( φ 1 ) voc ( φ 2 ) { , }
A SAT problem is the problem of determining whether a truth assignment v can be given to the variables of a given formula φ , such that v φ . If this is the case, the referred formula is said to be satisfiable. Otherwise, i.e., when there is no such assignment, the formula is said to be insatisfiable.
As SAT belongs to the class of NP-problems, there is no known algorithm capable of solving SAT in sub-exponential time. Nevertheless, we could find algorithms capable of solving quite large instances of the SAT problem by following some heuristics.
We will consider Bool as a numerable set of Boolean variables.
We are going to consider a restricted version of the SAT problem: k-SAT, k-satisfiability, problem. This consists of determining whether the k-SAT formula is satisfiable. K-SAT is also an NP-problem. Therefore, we then defined a k-SAT formula.
Definition 2.
(K-SAT formulas). First, define the set of atomic formulas A T
A T = { , } Bool { p ¯ | p Bool }
We will denote the elements of A T as x , x 0 , x 1 , . We assume x ¯ ¯ = x .
An OR clause, or just a clause for us, is a Boolean formula with this shape C = x 1 x n , where x i A T is an atomic formula. For simplicity, we assume that x i { , } and x i x j for i j . If n = 0 , we assume that C = .
A k-SAT formula is a Boolean expression shaped as S f = C 1 C m , where each C i is a clause with, at most, k variables. If m = 0 , we assume that S f = .
Since the logical operators (∧ and ∨ are independent, commutative and associative), we can see a k-SAT formula as a set of clauses (connected by ∧ operators), and a clause a set of atoms (connected by ∨ operators).
An important metric for dealing with k-SAT problem is the density. This metric is related to the difficulty associated with determining whether a formula is satisfiable.
Definition 3.
(Density). The density of S f = i = 1 i = m C i a k-SAT formula is the ratio between the number of clauses (m) and the number of Boolean variables: d ( S f ) = m | voc ( S f ) |
In the related literature, it is assumed that k ( k > 1 ) N , and there exists a threshold value for the density of k-SAT formulas d k such that:
  • The farther d ( S f ) is from d k , the fewer calls to the DPLL algorithm [6] are required to solve the k-SAT problem.
  • If d ( S f ) > d k , the formula would be unsatisfiable with high probability, but the opposite occurs when d ( S f ) < d k , i.e., a high d ( S f ) is usually associated with an unsatisfiable formula.
Some examples are:
  • For the 3-SAT problem, Mitchell, Selman and Levesque estimated in 1991 [23] that d 3 4.55 for about 20 variables and d 3 4.3 for larger number of variables

2.2. Incremental SAT—Definition and Complexity

We perform an incremental solving approach also followed by [24]. In practice, we are going to build a sequence of k-SAT formulas, which will finish either with the former k-SAT formula S f when it is satisfiable or before in the other case. Figure 1 provides a graphical view of this process.
SAT 0 = SAT 1 , SAT n 1 SAT n = S f
where SAT i + 1 = SAT i N C i , being N C i S f \ SAT i a new set of clauses. In each step, we assume that there is v, such that v SAT i . The new set of clauses N C i is defined according to the Algorithm  1. If there is no such N C , this identifies an unsatisfiability of S f .
In  [24], the authors propose a branch and bound algorithm that can be used to find the truth assignments in steps with numbers  5–7 within our algorithm. In our case, we will use a Quantum Algorihtm based on the Grover Algorithm to solve the problem. In our case, we propose a novel heuristic (see Section 3.3) to choose the most convenient clauses in each step.
Algorithm 1 Algorithm to extend the set of clauses
Find N C S f \ S A T i , S A T i + 1 = S A T i N C if the following tests hold:
1.
If { x } , { x ¯ } C , N C is unsatisfiable, it cannot be considered the new set.
2.
N C can be simplified by removing the trivially true clauses, so there is no C N C such that x , x ¯ C or C .
3.
N C is split into two sets: N C = N C 1 N C 2 where N C 2 is the maximal set of clauses of N C such that the variables in N C 2 do not appear in SAT i :
voc ( N C 1 ) voc ( SAT i ) , voc ( N C 2 ) voc ( SAT i ) =
SAT i is also split into two sets: SAT i = S 1 S 2 where S 2 is the maximal set of SAT i whose variables are not contained in N C 1 :
voc ( S 1 ) voc ( N C 1 ) , voc ( S 2 ) voc ( N C 1 ) =
4.
If v N C 1 , go to step 7.
5.
Look to N C 1 for a truth assignment v 1 such that v 1 N C 1 and v 1 ( x ) = v ( x ) for all x voc ( S 1 ) . If such a truth assignment exists, go to step 7.
6.
Look for a truth assignment v 1 such that v 1 S 1 N C 1 . If such a truth assignment does not exist, N C cannot be added to SAT i .
7.
Look for a truth v 2 assignment for N C 2 .

2.3. Convert SAT to Oracle

To begin with, practice with an oracle is required to test satisfiability; for this reason, we follow the usual [25] rewriting process. First, we eliminate the disjunctions according to De Morgan laws. In this way, a clause such as C = x 1 x 2 x l is transformed into the equivalent formula c = x 1 ¯ x 2 ¯ x l ¯ ¯ , whose negations can easily be implemented in a quantum circuit with the N O T operator. Since the conjunction is not a reversible connector, we need to implement it as an oracle A N D :
Mathematics 11 01888 i001
Therefore, implementing a k-SAT formula, which is a conjunction of m clauses, would require m + v o c i = 1 m C i + 1 (one qubit per variable, one qubit per clause and one extra qubit for the final result).

3. Heuristics to Save Space and Computational Complexity

3.1. Grover’s Algorithm

Grover’s algorithm  [26] searches for an element in an unordered space within a time belonging to O ( N ) , where N is the size of the search space. More precisely, the input of the Grover Algorithm takes an oracle U f , which implements a Boolean function f : { 0 , 1 } n { 0 , 1 } where the elements of the search space are encoded in { 0 , 1 } n and, as usual, 1 represents success (goal achieved) and 0 means failure.
One of the drawbacks of this method is the need to know the number of solutions in advance in order to determine the number of rotations to perform. This problem can be dealt by executing Grover algorithm with 1 , 2 , , which can be costly; instead, Monte Carlo algorithms can be used.

3.2. Grover’s Bounded Algorithm

In this section, we first refer to the corresponding version of Grover’s Algorithm  [27], based on which we developed our main contribution. This version reduces the work domain to a subset of the original set of states to be searched.
Let us assume that we want to find the solutions of f ( x ) = 1 , where f : { 0 , 1 } n { 0 , 1 } .
We start from the following quantum circuit U f , which stands for the phase oracle of f ( x ) = 1 :
Mathematics 11 01888 i002
In a nutshell, our algorithm selects X G X with X = { 0 , 1 } n in order to search for the solutions in X G . More precisely, if S was the set of solutions of f ( x ) = 1 , our algorithm will find unique solutions to the set S G = X G S . We denote S G ¯ = X G \ S as the complementary of S G with respect to X G
As previously recalled, general Grover’s algorithm starts by setting the system into a full superposed state by applying a Hadamard quantum gate over the former n qubits; nevertheless, we are only going to apply a superposition to states belonging to X G . We call this superposition operator U X G .
U X G | 0 n = 1 X G · x X G | x = | ϕ
The construction of the U X G operator
Mathematics 11 01888 i003
is discussed in Section 3.2 for our specific case. In general, this operator can be performed as described in [28] when no extra qubits are required, and as described in [29] when some extra ancillary qubits are required.
Figure 2 graphically presents how the first operator performs.
Once the previously described configuration is set, the evolution of our algorithm is similar to the original one. As we will explain, it is based on rotations towards the solution vector (see Figure 2). More specifically, we consider two ortonormal vectors: one corresponds to the states that contain a solution and the other corresponds to the states that do not.
| S G = 1 | S G | x S G | x , | S G ¯ = 1 | S G ¯ | x S G ¯ | x
Then | ϕ = | S G | | X G | | S G + | S G ¯ | | X G | | S G ¯ belongs to the vector subspace generated by | S G and | S G ¯ .
Hence, we obtain
U f | S G ¯ = 1 | S G ¯ | x S G ¯ U f ( | x ) = = 1 | S G ¯ | x S G ¯ | x = | S G ¯ | U f | S G = 1 | S G | x S G U f ( | x ) = = 1 | S G | x S G ( | x ) = = 1 | S G | x S G | x = | S G
Therefore,
U f | ϕ = | S G ¯ | | X G | | S G ¯ | S G | | X G | | S G
This last equation shows that U f is symmetrical with respect to the vector S G ¯ .
The second step to be developed, as in Grover’s algorithm, is the inversion about the mean, i.e., a symmetry with respect to the initial vector. In our case, we perform a symmetry with respect to ϕ vector. The operator that performs this symmetry is the following:
U ϕ = U X G ( 2 | 0 n 0 n | I ) U X G
Let us note that 2 | ϕ ϕ | I is symmetrical with respect to | ϕ vector.
Let us consider the angle θ , such that θ 2 is the angle between | ϕ and | S G ¯ .
The operator U ϕ U f means a rotation of amplitude θ .
All this means rotating around and amplifying the distance to the vector S G ¯ until as close as possible to the hyper-plane S G .
Since
| ϕ = | S G | | X G | | S G + | S G ¯ | | X G | | S G ¯ = sin ( θ 2 ) | S G + cos ( θ 2 ) | S G ¯
We obtain
( U ϕ U f ) k = sin ( 2 k + 1 2 θ ) | S G + cos ( 2 k + 1 2 θ ) | S G ¯
This procedure is graphically shown in Figure 2.
Similar to Grover’s algorithm, we assume for ours that | S G | < < | X G | , so θ 2 sin ( θ 2 ) = | S G | | X G | . The number of iterations k is determined such that 2 k + 1 2 θ π 2 ; therefore, k π 4 | X G | | S G | 1 2 . If we measure the final state, we obtain the probability of the solution states as follows, sin ( 2 k + 1 2 θ ) 2 | S G | 1 | S G | and the probability of the non-solution states is cos ( 2 k + 1 2 θ ) 2 | S G ¯ | 0 .

Specific Case

Let us consider F a k S A T formula (or, equivalently, a set of clauses connected by conjunctions) whose vocabulary is the set of Boolean variables in it, i.e., voc ( F ) = { p 0 , p 1 , , p n 1 } . We are creating an incremental approach, regarding the amount of clauses considered, such that at any step i, we consider a subset of clauses S A T i F that is satisfiable. At this point, we have a partial truth assignment v, i.e., a pair of sets of indices I , J { 0 , 1 , , n 1 } such that i I . v ( p i ) = 1 and j J . v ( p j ) = 0 . Let K = { 0 , 1 , , n 1 } \ ( I J ) represent the complementary set of indices, i.e., the set of indices for which the truth value of v ( p k ) is not decided t K .
i { 0 , 1 , , n 1 } , we define the unitary gate M i as follows:
M t = X ( t J ) I ( t I ) H ( t K )
The operator U X G of Equation (9) in Section 3.2 is defined as follows
U X G = M n 1 M n 2 M 1 M 0
where ⊗ stands for the tensorial product.
When this operator acts over | 0 n , the following outcome is obtained
| ϕ = U X G | 0 n = 1 2 | K | · z i = 1 , i I , z j = 0 , j J , z t { 0 , 1 } , t K | z n 1 z 0

3.3. Clauses Heuristics

We finally define a heuristic to lead the incorporation of clauses to the S A T i process until they conform with the whole (former) SAT formula, since the algorithm pseudo-coded in 1 does not provide any criteria to develop this “incremental” procedure.
Aiming to save computational costs, we defined a heuristic to detect conflict with the decisions already taken on the variables in either I or in J as quickly as possible, meaning that these unsatisfiable formulas are identified as soon as possible.
We propose an order on the clauses that extends the statistical fact that those atoms whose variables appear less in the former formula would generate a lower number of conflicts, i.e., contradictions.
Definition 4.
Let us consider a k-SAT formula F, and a Boolean variable x; we define noc ( x , F ) the number of occurrences of x in F, and noc ¯ ( x , F ) stands for the number of occurrences of x ¯ in F:
  • If C = { x 0 , , x k 1 } is a clause ( C = x 0 x k 1 )
    noc ( x , C ) = | { x c | x c C , x = x c } | , noc ¯ ( x , C ) = | { x c | x c C , x ¯ = x c } |
  • If F is a set of clauses ( F = C 0 C 1 )
    noc ( x , F ) = C F noc ( s , C ) , noc ¯ ( x , F ) = C F noc ¯ ( s , C )
    Finally, we define N O C ( x , F ) = min ( noc ( x , F ) , noc ¯ ( x , F ) ) .
Intuitively, if N O C ( x , F ) is low, the probability of conflict coming from x when considering a clause containing x is low. We use this value for each of the variables in a clause in order to grade the tentative conflictivity of clauses to be added to S A T i , therefore leading the previously referenced incremental fashion.
Definition 5.
Let F be a k-SAT formula and C = { x 0 , x k 1 } a clause within F. The order function is defined as follows
order ( C , F ) = i = 0 k 1 1 k N O C ( x i , F ) 1 k th ( i , F )
where th ( i , F ) is i-th value of the decreasingly ordered list of the NOC of variables belonging to F, i.e., [ N O C ( x , F ) | x C , C F ] .
Finally, our incremental approach chooses the unitary set N C = { C } at any stage, such that the clause C minimizes order ( C , F ) .

4. Testing the Proposal

4.1. Testbed

In order to test the performance of the proposed algorithm, we measured four parameters:
  • The first parameter is the maximum number of qubits superposed in the execution of the algorithm. This parameter, in the original Grover’s algorithm, is the total number of variables in the problem, whereas in our proposed algorithm it is the maximum number of qubits superposed along all Grover’s bounded algorithm circuits that are executed when applying the proposal.
  • The second parameter is the maximum number of clauses in Oracle; that is, the maximum number of clauses in Oracle along all Grover’s bounded algorithm circuits that are executed.
  • The third parameter is the total number of quantum iterations; that is, the total number of requests to Oracle in both Grover’s algorithms and in Grover’s bounded algorithms.
  • The last parameter analysed is the maximum number of qubits used in circuit; this is the maximum number of qubits used along all Grover’s bounded algorithm circuits that are executed.
This performance testing can be reproduced by executing the code of the repository [30], typesetting the following commands to generate the test cases (Figure 3):
  • $ python generator.py −v 5 6 7 8 9 10 11 12 13 14 15 16
  • −−densities 2 3 4 5 −k 3 −e 10 −−seed 1
where:
  • -v: number of variables for the test case (ranging from 5 to 16).
  • --densities: densities for each test case (ranging from 2 to 5).
  • -k: number of variables per clause (3-SAT).
  • -e: number of examples per test case (below can be found more detailed).
  • --seed: seed governing the stochastic behaviour in the process (1 in the proposed case).
Additionally, this one can be used to execute our algorithm:
  • $ python main.py
More on detail:
1.
A test case for us is a pair (density, number of variables). Ten examples per each test case are generated.
2.
The process of generating test cases was supported by CNFgen [31]. In particular, 10 3-SAT problems were generated for each pair (density, number of variables): in total, 4 × 12 different test cases, which compute 480 3-SAT problems. The density values range from 2 to 5 (both included). The number of variables ranges from 5 to 16 since, below 5, this incremental scheme is not needed because computing requirements are affordable enough and, over 16, it is more computationally expensive which, as evidence was found that the advantage we provide could be made smaller, meant that we did not consider using bigger values.
3.
Each of the 480 3-SAT problems was executed in each of the three scenarios to be compared and, for random measuring issues, five different seeds were also involved; therefore, in the end, 5 · 10 · 4 · 12 different executions were performed over each of the three scenarios under comparison.
4.
The experimental set up was powered by Qsimov Quantum Simulator [32]. Unfortunately, the space computational complexity requirements prevented us from running examples with more than five variables; therefore, for the remaining cases we computed the probability amplitudes of the states instead of simulating the whole quantum computing process, according to the well-known formulas in [33]:
α t + 1 = α t · 1 2 · k N + β t · 2 2 · k N
β t + 1 = α t · 2 · k N + β t · 1 2 · k N
where t is the number of iterations, k is the number of solutions and N is the total number of states. Afterwards, we randomly (five previously referenced seeds) chose the final quantum state among the obtained solutions.
5.
The algorithm finishes when there are no more clauses to be added before the former SAT problem is reached.
We decided to start from scratch regarding the definition of function v : Bool { 0 , 1 } , i.e., from an empty truth assignment over the set of Boolean variables. This is because once we developed multiple experiments considering a variety of partial definitions of v to start from (either considering random chosen values or values coming from a frequency data analysis of variables in the SAT formula), the results we obtained did not improve on those we have chosen; therefore, for the sake of simplicity, this is our decision.
Some other non-relevant assumptions we made are as follows:
  • We know the number of solutions needed to determine the number of iterations in each execution in advance for both original and modified Grover’s algorithms.
  • The result of the measurement is always one of the maximum probability states. In both cases, we have to repeat the algorithm to obtain a probability distribution, so we simplified this step.
  • Each 3-SAT problem has at least one solution because no version of Grover’s algorithm works for problems with no solution.
To finish with, the scenarios we considered are as follows:
1.
Grover’s algorithm.
2.
New approach algorithm that is randomly ordered.
3.
New approach algorithm with heuristic order.

4.2. Results

Once the experiments were performed, we summarised the outcomes as follows:
As the number of qubits on superposition is a key issue from the performance perspective, the following four graphs show a very noticeable improvement almost regardless of the density of the 3-SAT formulas under consideration. This advantage was maintained in cases in which there was no predefined order to the clauses added to our incremental scheme, although it was not as big as that with respect to the former Grover’s algorithm (Figure 4).
Another very important part of the quantum algorithm is performing the oracle, where the amount of clauses directly affects the number of ancillary qubits required; therefore, the next four graphs are devoted to measuring this fact, again using the densities of 3-SAT formulas. The results obtained clearly show the advantage of the proposed algorithm (Figure 5):
Finally, we conducted a space computational complexity analysis; in the following four graphs, wepresent the results obtained when measuring the upper bound for the number of qubits used along the whole of the proposed algorithm. In our opinion, these are the most representative graphs showing the improvement provided by our proposal (Figure 6).
The next four raphs are devoted to capturing issues within the temporal computational complexity. In particular, we measured the number of Grover’s iterations. The following results show that our algorithm requires both a high number of variables as well as high-density formulas in order to improve the results of the original Grover’s algorithm (Figure 7).
The results provided by our experiments show that, although the space computational complexity of the proposed algorithm is the same than that of Grover´s algorithm, in practice, the number of qubits needed to perform the computations is reduced in a factor that can range between 1.5 and 2.2. This fact, in practice, represents a noticeable improvement since the main drawback to dealing with quantum computing is the number of qubits that are required.
Going beyond this, we found that the extra auxiliary qubits required for each clause under consideration is reduced at least as much as the total number of qubits.
Finally, the biggest advantage pertains to the number of superposed qubits which, as the graphs show, is really important. This last feature is of paramount importance in quantum computing, whether actual or simulated.
Appendix A provides all the raw numbers we used to create the previous 16 maps that summarize the performance in the comparative study we developed. Green numbers highlight advantages, while red numbers highlight disadvantages compared to Grover´s algorithm.

5. Conclusions and Further Work

We dealt with the classic problem of deciding whether any truth assignments exist for a Boolean formula. This is a widely studied problem in the related literature in Maths, Physics, Engineering, etc. From the quantum computing perspective, Grover’s algorithm has proven to be a useful tool.
We presented an algorithm which, inspired by Grover´s one, has improved the amount of quantum computational resources by a significant ratio. For this algorithm to be designed, we described a sort of incremental strategy over the sets of clauses that conforms to the 3-SAT formula under scope. The aim of this process is, on the one hand, to use the advantages of Grover´s modified algorithm and, on the other hand, to choose an appropriate conforming order (within this incremental scheme) such that the assumptions required for Grover’s modified algorithm to be used are as useful as possible. This last issue led us to define an heuristics for the set of clauses to be added to the previously described incremental scheme.
This algorithm solves 3-SAT problems with significantly less quantum computational resources, namely qubits, and fewer iterations than those required for former Grover’s algorithm. As the ordinary bottleneck at quantum computing is strongly dependant on the total number of qubits (especially those that are entangled) that are required, this algorithm extends the scope of 3-SAT problems to be solved given a quantum computing machine.
As future work, we plan to further elaborate the heuristics and the process of incorporating clauses within our incremental scheme, mainly by incorporating more than one clause at each step, perhaps under a dynamic criterion.

Author Contributions

Individual contributions are as follows. Conceptualization, J.J.P., L.F.L. and F.L.P.; Formal analysis, J.J.P., L.F.L. and F.L.P.; Investigation, J.J.P., L.F.L., H.I.C., M.M., F.C. and F.L.P.; Writing—original draft, J.J.P., L.F.L., H.I.C., M.M., F.C. and F.L.P.; Writing—review and editing, J.J.P., L.F.L. and F.L.P. All authors have read and agreed to the published version of the manuscript.

Funding

This work has been supported by the Spanish MINECO/FEDER project AwESOMe (PID2021-122215NB-C31), the Region of Madrid project FORTE-CM (S2018/TCS-4314) co-funded by EIE Funds of the European Union and the Qsimov Quantum Computing project ‘Ampliación de la plataforma QSIMOV aumentando su versatilidad y conectividad’ (220426UCTR).

Data Availability Statement

This performance testing study can be fully reproduced (data included) by executing the code of the repository [30].

Conflicts of Interest

The authors declare no conflict of interest.

Appendix A

Table A1. 5 Variables.
Table A1. 5 Variables.
ScenarioDensityMax Qubits SuperposedComparison with Grover’s AlgoritmMax Clauses in OracleComparison with Grover’s Algorithm
125.00.0%10.00.0%
220.78−4.4%3.88−61.2%
320.76−84.8%4.46−55.4%
135.00.0%15.00.0%
231.14−77.2%8.48−43.47%
331.48−70.4%9.88−34.13%
145.00.0%20.00.0%
242.22−55.6%14.9−25.5%
341.84−63.2%12.78−36.1%
155.00.0%25.00.0%
251.82−63.6%15.36−38.56%
351.68−66.4%13.14−47.44%
121.10.0%16.00.0%
221.92+74.55%7.28−54.5%
321.98+80.0%7.94−50.37%
132.40.0%21.00.0%
232.88+20.0%13.16−37.33%
333.14+30.83%15.28−27.24%
143.30.0%26.00.0%
244.12+24.85%20.66−20.54%
344.18+26.67%18.24−29.85%
153.60.0%31.00.0%
253.94+9.44%20.64−33.42%
353.7+2.78%18.78−39.42%
Table A2. 6 Variables.
Table A2. 6 Variables.
ScenarioDensityMax Qubits SuperposedComparison with Grover’s AlgoritmMax Clauses in OracleComparison with Grover’s Algorithm
126.00.0%12.00.0%
220.85−85.83%6.55−45.42%
320.8−86.67%5.65−52.92%
136.00.0%18.00.0%
231.38−77.0%12.4−31.11%
331.05−82.5%9.75−45.83%
146.00.0%24.00.0%
242.05−65.83%17.3−27.92%
341.9−68.33%14.05−41.46%
156.00.0%30.00.0%
251.85−69.17%21.55−28.17%
352.2−63.33%21.05−29.83%
121.30.0%19.00.0%
222.6+100.0%11.85−37.63%
322.2+69.23%10.5−44.74%
132.50.0%25.00.0%
233.3+32.0%18.3−26.8%
333.05+22.0%15.0−40.0%
143.90.0%31.00.0%
244.7+20.51%24.3−21.61%
343.8−2.56%20.35−34.35%
154.90.0%37.00.0%
254.15−15.31%28.55−22.84%
354.95+1.02%27.45−25.81%
Table A3. 7 Variables.
Table A3. 7 Variables.
ScenarioDensityMax Qubits SuperposedComparison with Grover’s AlgoritmMax Clauses in OracleComparison with Grover’s Algorithm
127.00.0%14.00.0%
220.92−86.86%7.62−45.57%
320.82−88.29%6.36−54.57%
137.00.0%21.00.0%
231.58−77.43%14.76−29.71%
331.42−79.71%16.16−23.05%
147.00.0%28.00.0%
242.36−66.29%21.42−23.5%
341.52−78.29%20.28−27.57%
157.00.0%35.00.0%
252.78−60.29%27.7−20.86%
351.86−73.43%26.18−25.2%
121.60.0%22.00.0%
222.9+81.25%14.02−36.27%
322.32+45.0%11.52−47.64%
133.30.0%29.00.0%
234.16+26.06%21.98−24.21%
334.04+22.42%23.76−18.07%
145.50.0%36.00.0%
245.72+4.0%29.36−18.44%
344.44−19.27%27.92−22.44%
157.20.0%43.00.0%
255.4−25.0%35.7−16.98%
355.58−22.5%33.76−21.49%
Table A4. 8 Variables.
Table A4. 8 Variables.
ScenarioDensityMax Qubits SuperposedComparison with Grover’s AlgoritmMax Clauses in OracleComparison with Grover’s Algorithm
128.00.0%16.00.0%
220.96−88.0%8.3−48.12%
321.22−84.75%11.68−27.0%
138.00.0%24.00.0%
231.76−78.0%18.86−21.42%
331.74−78.25%18.08−24.67%
148.00.0%32.00.0%
242.16−73.0%21.66−32.31%
342.46−69.25%23.52−26.5%
158.00.0%40.00.0%
252.44−69.5%30.8−23.0%
352.32−71.0%26.78−33.05%
122.00.0%25.00.0%
223.04+52.0%15.76−36.96%
323.32+66.0%19.72−21.12%
134.10.0%33.00.0%
234.66+13.66%27.54−16.55%
334.58+11.71%26.5−19.7%
147.80.0%41.00.0%
245.06−35.13%30.3−26.1%
345.44−30.26%31.9−22.2%
159.20.0%49.00.0%
256.36−30.87%39.8−18.78%
356.52−29.13%35.02−28.53%
Table A5. 9 Variables.
Table A5. 9 Variables.
ScenarioDensityMax Qubits SuperposedComparison with Grover’s AlgoritmMax Clauses in OracleComparison with Grover’s Algorithm
129.00.0%18.00.0%
221.0−88.89%12.7−29.44%
320.95−89.44%9.65−46.39%
139.00.0%27.00.0%
231.92−78.67%22.72−15.85%
331.6−82.22%18.55−31.3%
149.00.0%36.00.0%
242.25−75.0%26.78−25.61%
341.65−81.67%26.75−25.69%
159.00.0%45.00.0%
252.22−75.33%34.72−22.84%
352.05−77.22%31.25−30.56%
122.40.0%28.00.0%
223.98+65.83%21.5−23.21%
323.35+39.58%17.2−38.57%
135.80.0%37.00.0%
234.97−14.31%32.7−11.62%
335.15−11.21%27.1−26.76%
147.80.0%46.00.0%
246.28−19.49%36.22−21.26%
344.5−42.31%35.9−21.96%
1511.30.0%55.00.0%
257.4−34.51%44.72−18.69%
355.95−47.35%40.55−26.27%
Table A6. 10 Variables.
Table A6. 10 Variables.
ScenarioDensityMax Qubits SuperposedComparison with Grover’s AlgoritmMax Clauses in OracleComparison with Grover’s Algorithm
1210.00.0%20.00.0%
220.85−91.5%12.3−38.5%
320.92−90.8%8.6−57.0%
1310.00.0%30.00.0%
232.17−78.3%23.15−22.83%
331.8−82.0%20.1−33.0%
1410.00.0%40.00.0%
242.15−78.5%31.6−21.0%
342.2−78.0%27.15−32.12%
1510.00.0%50.00.0%
252.9−71.0%40.78−18.44%
352.55−74.5%36.85−26.3%
122.50.0%31.00.0%
223.75+50.0%21.0−32.26%
322.92+16.8%15.85−48.87%
136.70.0%41.00.0%
235.18−22.69%33.5−18.29%
335.15−23.13%29.75−27.44%
1412.80.0%51.00.0%
246.25−51.17%42.6−16.47%
345.75−55.08%36.9−27.65%
1518.30.0%61.00.0%
258.07−55.9%51.78−15.11%
357.45−59.29%47.35−22.38%
Table A7. 11 Variables.
Table A7. 11 Variables.
ScenarioDensityMax Qubits SuperposedComparison with Grover’s AlgoritmMax Clauses in OracleComparison with Grover’s Algorithm
1211.00.0%22.00.0%
221.0−90.91%13.85−37.05%
321.0−90.91%12.15−44.77%
1311.00.0%33.00.0%
231.4−87.27%24.65−25.3%
331.75−84.09%21.55−34.7%
1411.00.0%44.00.0%
242.88−73.82%38.38−12.77%
342.45−77.73%34.5−21.59%
1511.00.0%55.00.0%
253.48−68.36%44.38−19.31%
353.15−71.36%44.25−19.55%
123.00.0%34.00.0%
223.68+22.67%24.22−28.76%
323.1+3.33%21.25−37.5%
136.40.0%45.00.0%
235.42−15.31%36.48−18.93%
334.4−31.25%31.95−29.0%
1417.40.0%56.00.0%
248.28−52.41%50.38−10.04%
347.1−59.2%46.15−17.59%
1524.20.0%67.00.0%
2510.15−58.06%56.38−15.85%
358.85−63.43%55.75−16.79%
Table A8. 12 Variables.
Table A8. 12 Variables.
ScenarioDensityMax Qubits SuperposedComparison with Grover’s AlgoritmMax Clauses in OracleComparison with Grover’s Algorithm
1212.00.0%24.00.0%
221.3−89.17%17.23−28.21%
321.15−90.42%14.28−40.5%
1312.00.0%36.00.0%
231.75−85.42%27.0−25.0%
331.4−88.33%28.1−21.94%
1412.00.0%48.00.0%
243.2−73.33%41.22−14.12%
343.05−74.58%39.4−17.92%
1512.00.0%60.00.0%
253.95−67.08%50.15−16.42%
353.45−71.25%45.2−24.67%
123.50.0%37.00.0%
225.15+47.14%29.08−21.41%
324.38+25.14%24.25−34.46%
138.90.0%49.00.0%
235.95−33.15%39.55−19.29%
335.3−40.45%40.5−17.35%
1425.40.0%61.00.0%
248.98−64.65%54.22−11.11%
348.65−65.94%52.0−14.75%
1536.60.0%73.00.0%
259.98−72.73%63.15−13.49%
3510.3−71.86%57.3−21.51%
Table A9. 13 Variables.
Table A9. 13 Variables.
ScenarioDensityMax Qubits SuperposedComparison with Grover’s AlgoritmMax Clauses in OracleComparison with Grover’s Algorithm
1213.00.0%26.00.0%
221.14−91.23%19.42−25.31%
321.02−92.15%15.48−40.46%
1313.00.0%39.00.0%
232.2−83.08%34.36−11.9%
332.04−84.31%31.44−19.38%
1413.00.0%52.00.0%
243.72−71.38%45.94−11.65%
342.42−81.38%34.82−33.04%
1513.00.0%65.00.0%
253.3−74.62%57.42−11.66%
353.42−73.69%56.32−13.35%
124.50.0%40.00.0%
223.92−12.89%31.96−20.1%
323.58−20.44%26.3−34.25%
1314.10.0%53.00.0%
237.04−50.07%48.16−9.13%
335.86−58.44%44.24−16.53%
1436.40.0%66.00.0%
2412.32−66.15%59.94−9.18%
347.34−79.84%47.16−28.55%
1551.50.0%79.00.0%
2511.12−78.41%71.42−9.59%
358.6−83.3%70.24−11.09%
Table A10. 14 Variables.
Table A10. 14 Variables.
ScenarioDensityMax Qubits SuperposedComparison with Grover’s AlgoritmMax Clauses in OracleComparison with Grover’s Algorithm
1214.00.0%28.00.0%
221.24−91.14%18.88−32.57%
321.24−91.14%17.86−36.21%
1314.00.0%42.00.0%
232.22−84.14%36.32−13.52%
332.16−84.57%35.72−14.95%
1414.00.0%56.00.0%
243.02−78.43%46.88−16.29%
343.05−78.21%46.0−17.86%
1514.00.0%70.00.0%
255.25−62.5%58.82−15.97%
353.45−75.36%59.55−14.93%
125.10.0%43.00.0%
224.7−7.84%32.32−24.84%
324.36−14.51%29.8−30.7%
1320.40.0%57.00.0%
237.7−62.25%51.1−10.35%
337.14−65.0%50.02−12.25%
1437.90.0%71.00.0%
249.1−75.99%61.85−12.89%
349.5−74.93%60.5−14.79%
1567.70.0%85.00.0%
2517.02−74.86%73.82−13.15%
3511.08−83.63%74.0−12.94%
Table A11. 15 Variables.
Table A11. 15 Variables.
ScenarioDensityMax Qubits SuperposedComparison with Grover’s AlgoritmMax Clauses in OracleComparison with Grover’s Algorithm
1215.00.0%30.00.0%
221.35−91.0%22.95−23.5%
321.1−92.67%21.62−27.93%
1315.00.0%45.00.0%
232.12−85.87%36.58−18.71%
332.28−84.8%35.65−20.78%
1415.00.0%60.00.0%
243.12−79.2%52.75−12.08%
342.75−81.67%52.65−12.25%
1515.00.0%75.00.0%
254.2−72.0%59.85−20.2%
353.38−77.47%55.05−26.6%
125.70.0%46.00.0%
225.9+3.51%38.25−16.85%
325.18−9.12%35.72−22.35%
1320.40.0%61.00.0%
237.0−65.69%52.48−13.97%
336.98−65.78%50.25−17.62%
1455.00.0%76.00.0%
2411.12−79.78%68.75−9.54%
3410.22−81.42%68.45−9.93%
1578.80.0%91.00.0%
2512.02−84.75%75.85−16.65%
3510.35−86.87%69.6−23.52%
Table A12. 16 Variables.
Table A12. 16 Variables.
ScenarioDensityMax Qubits SuperposedComparison with Grover’s AlgoritmMax Clauses in OracleComparison with Grover’s Algorithm
1216.00.0%32.00.0%
221.42−91.12%25.55−20.16%
321.25−92.19%21.95−31.41%
1316.00.0%48.00.0%
232.33−85.44%41.9−12.71%
332.15−86.56%41.65−13.23%
1416.00.0%64.00.0%
244.8−70.0%56.9−11.09%
344.35−72.81%56.55−11.64%
1516.00.0%80.00.0%
254.0−75.0%64.28−19.65%
354.4−72.5%67.5−15.62%
126.70.0%49.00.0%
225.68−15.22%42.2−13.88%
324.9−26.87%36.4−25.71%
1319.40.0%65.00.0%
239.65−50.26%58.9−9.38%
338.2−57.73%58.0−10.77%
14104.50.0%81.00.0%
2418.1−82.68%73.85−8.83%
3413.25−87.32%73.15−9.69%
15131.40.0%97.00.0%
2513.68−89.59%81.28−16.21%
3513.85−89.46%84.0−13.4%

References

  1. Cook, S.A. The Complexity of Theorem-Proving Procedures. In Proceedings of the Third Annual ACM Symposium on Theory of Computing, Shaker Heights, OH, USA, 3–5 May 1971; Association for Computing Machinery: New York, NY, USA, 1971; pp. 151–158. [Google Scholar] [CrossRef]
  2. Mironov, I.; Lintao, Z. Applications of SAT Solvers to Cryptanalysis of Hash Functions. IACR Cryptol. ePrint Arch. 2006, 2006, 102–115. [Google Scholar]
  3. Ganai, M.; Wang, C. SAT-Based Verification Methods and Applications in Hardware Verification. In Proceedings of the 6th International School on Formal Methods for the Design of Computer, Communication, and Software Systems, SFM 2006, Bertinoro, Italy, 22–27 May 2006. [Google Scholar] [CrossRef]
  4. Kautz, H.; Selman, B. Planning as Satisfiability. In Proceedings of the 10th European Conference on Artificial Intelligence, Vienna, Austria, 3–7 August 1992. [Google Scholar]
  5. Lin, P.C.; Khatri, S. Efficient cancer therapy using Boolean networks and Max-SAT-based ATPG. In Proceedings of the International Workshop on Genomic Signal Processing and Statistics (GENSIPS), San Antonio, TX, USA, 4–6 December 2011; pp. 87–90. [Google Scholar] [CrossRef]
  6. Davis, M.D.; Logemann, G.; Loveland, D.W. A machine program for theorem-proving. Commun. ACM 1962, 5, 394–397. [Google Scholar] [CrossRef]
  7. Kirkpatrick, S.; Gelatt, C.D.; Vecchi, M.P. Optimization by Simulated Annealing. Science 1983, 220, 671–680. [Google Scholar] [CrossRef] [PubMed]
  8. Cerf, N.J.; Grover, L.K.; Williams, C.P. Nested quantum search and structured problems. Phys. Rev. A 2000, 61, 032303. [Google Scholar] [CrossRef]
  9. Mandrà, S.; Guerreschi, G.G.; Aspuru-Guzik, A. Faster than Classical Quantum Algorithm for dense Formulas of Exact Satisfiability and Occupation Problems. arXiv 2015, arXiv:1512.00859. [Google Scholar] [CrossRef]
  10. Ambainis, A. Quantum Search Algorithms. SIGACT News 2004, 35, 22–35. [Google Scholar] [CrossRef]
  11. Hamadi, Y.; Jabbour, S.; Sais, L. ManySAT: A parallel SAT solver. JSAT 2009, 6, 245–262. [Google Scholar] [CrossRef]
  12. Moskewicz, M.W.; Madigan, C.F.; Zhao, Y.; Zhang, L.; Malik, S. Chaff: Engineering an efficient SAT solver. In Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232), Las Vegas, NV, USA, 18–19 April 2001; pp. 530–535. [Google Scholar] [CrossRef]
  13. Yu, L.; Zuo, Y.I.; Li, C.; He, A. A DPLL-based High-Concurrent SAT Solver with FPGA. DEStech Transactions on Computer Science and Engineering; DesTech: Toronto, ON, Canada, 2017. [Google Scholar] [CrossRef]
  14. Mao, W. Solving satisfiability problems by the ground-state quantum computer. Phys. Rev. A 2005, 72, 52316. [Google Scholar] [CrossRef]
  15. Leporati, A.; Felloni, S. Three quantum algorithms to solve 3-SAT. Theor. Comput. Sci. 2007, 372, 218–241. [Google Scholar] [CrossRef]
  16. Gabor, T.; Zielinski, S.; Feld, S.; Roch, C.; Seidel, C.; Neukart, F.; Galter, I.; Mauerer, W.; Linnhoff-Popien, C. Assessing Solution Quality of 3SAT on a Quantum Annealing Platform. arXiv 2019, arXiv:1902.04703. [Google Scholar] [CrossRef]
  17. Jeong, S.; Kim, M.; Hhan, M.; Ahn, J. Quantum Programming of the Satisfiability Problem with Rydberg Atom Graphs. arXiv 2023, arXiv:2302.14369. [Google Scholar]
  18. Meuli, G.; Soeken, M.; Micheli, G. SAT-based CNOT, T Quantum Circuit Synthesis. In Proceedings of the 10th International Conference, RC 2018, Leicester, UK, 12–14 September 2018; pp. 175–188. [Google Scholar] [CrossRef]
  19. Cheng, S.T.; Tao, M.H. Quantum cooperative search algorithm for 3-SAT. J. Comput. Syst. Sci. 2007, 73, 123–136. [Google Scholar] [CrossRef]
  20. Zhang, R.; Chen, J.; Zhao, H. Procedure of Solving 3-SAT Problem by Combining Quantum Search Algorithm and DPLL Algorithm. Computing 2020, 4, 14–24. [Google Scholar]
  21. Silva, J.P.M.; Sakallah, K.A. GRASP—A New Search Algorithm for Satisfiability. In Proceedings of the 1996 IEEE/ACM International Conference on Computer-Aided Design, San Jose, CA, USA, 10–14 November 1997; pp. 220–227. [Google Scholar]
  22. Eén, N.; Sörensson, N. An Extensible SAT-Solver; Springer: Berlin/Heidelberg, Germany, 2003. [Google Scholar]
  23. Mitchell, D.; Selman, B.; Levesque, H. Hard and Easy Distributions of SAT Problems. In Proceedings of the Tenth National Conference on Artificial Intelligence, San Jose, CA, USA, 12–16 July 1992. [Google Scholar]
  24. Mouhoub, M.; Sadaoui, S.; Feng, X. A New Branch and Bound Method for Incremental Satisfiability Problem. Informs J. Comput. 2004, 10, 424–427. [Google Scholar]
  25. Portilheiro, V. Applying Grover’s Algorithm to Unique-k-SAT. 2018. Available online: https://vportilheiro.github.io/assets/writeups/quantum-sat.pdf (accessed on 13 February 2023).
  26. Grover, L.K. A Fast Quantum Mechanical Algorithm for Database Search. In Proceedings of the Twenty-Eighth Annual ACM Symposium on Theory of Computing, Philadelphia, PA, USA, 22–24 May 1996; pp. 212–219. [Google Scholar] [CrossRef]
  27. Grover, L.K. Quantum Computers Can Search Rapidly by Using Almost Any Transformation. Phys. Rev. Lett. 1998, 80, 4329–4332. [Google Scholar] [CrossRef]
  28. Long, G.; Sun, Y. Efficient Scheme for Initializing a Quantum Register with an Arbitrary Superposed State. Phys. Rev. A 2001, 64, 014303. [Google Scholar] [CrossRef]
  29. Ventura, D.; Martinez, T. Initializing the Amplitude Distribution of a Quantum State. Found. Phys. Lett. 1970, 12, 547–559. [Google Scholar] [CrossRef]
  30. Paulet, J.J. Quantum Incremental SAT. 2021. Available online: https://github.com/Paulet02/quantum-incremental-SAT (accessed on 13 February 2023).
  31. Lauria, M.; Elffers, J.; Nordström, J.; Vinyals, M. CNFgen: A Generator of Crafted Benchmarks; Springer: Berlin/Heidelberg, Germany, 2017; pp. 464–473. [Google Scholar] [CrossRef]
  32. de la Cruz Calvo, H.I. QSimov. 2021. Available online: https://github.com/Mowstyl/QSimov (accessed on 13 February 2023).
  33. Wichert, A. Principles of Quantum Artificial Intelligence; World Scientific: Singapore, 2013. [Google Scholar] [CrossRef]
Figure 1. Solver diagram.
Figure 1. Solver diagram.
Mathematics 11 01888 g001
Figure 2. Modified Grover Rotations.
Figure 2. Modified Grover Rotations.
Mathematics 11 01888 g002
Figure 3. Test cases generator diagram.
Figure 3. Test cases generator diagram.
Mathematics 11 01888 g003
Figure 4. Comparisons of number of superposed qubits for 3-SAT formulas according to densities.
Figure 4. Comparisons of number of superposed qubits for 3-SAT formulas according to densities.
Mathematics 11 01888 g004
Figure 5. Comparisons of number of clauses in oracle according to densities of 3-SAT formulas.
Figure 5. Comparisons of number of clauses in oracle according to densities of 3-SAT formulas.
Mathematics 11 01888 g005
Figure 6. Comparisons of total number of qubits used stratified by the densities of 3-SAT formulas.
Figure 6. Comparisons of total number of qubits used stratified by the densities of 3-SAT formulas.
Mathematics 11 01888 g006
Figure 7. Comparisons of number of Grover’s iterations for different densities on 3-SAT formulas.
Figure 7. Comparisons of number of Grover’s iterations for different densities on 3-SAT formulas.
Mathematics 11 01888 g007
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Paulet, J.J.; LLana, L.F.; Calvo, H.I.; Mezzini, M.; Cuartero, F.; Pelayo, F.L. Heuristics for Quantum Computing Dealing with 3-SAT. Mathematics 2023, 11, 1888. https://doi.org/10.3390/math11081888

AMA Style

Paulet JJ, LLana LF, Calvo HI, Mezzini M, Cuartero F, Pelayo FL. Heuristics for Quantum Computing Dealing with 3-SAT. Mathematics. 2023; 11(8):1888. https://doi.org/10.3390/math11081888

Chicago/Turabian Style

Paulet, Jose J., Luis F. LLana, Hernán Indíbil Calvo, Mauro Mezzini, Fernando Cuartero, and Fernando L. Pelayo. 2023. "Heuristics for Quantum Computing Dealing with 3-SAT" Mathematics 11, no. 8: 1888. https://doi.org/10.3390/math11081888

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop