1 Introduction
Maximum Clique Problem aims at finding a subgraph of graph in which all the vertices are connected by an edge. Maximum Clique finding problem has applications in many areas like information retrieval[1], community detection in networks [2],[3],[4], spatial data mining [5], data mining in bio informatics[6], disease classification based on symptom correlation [7]
[8], analysis of financial networks [9][8]. Cliquefinding algorithms are used in chemistry, to find chemicals that match a target structure and to model molecular docking and the binding sites of chemical reactions. They can also be used to find similar structures within different molecules. In these applications, a graph vertex represents a matched pair of atoms, one from each of two molecules. Graph vertices also represent individual genes or another type of molecule, such as proteins. Edges between vertices indicate molecules that are highly correlated. Solution of Maximum Clique Problem using quantum computing makes it faster in terms of computation compared to its classical counterpart as superposition of all vertices can provide functional parallelism in executing the quantum search process. Research in quantum circuit synthesis is motivated by the growing interest in quantum computation [10] and advances in experimental implementations [11],[12],[13]. Quantum circuit design for the Maximum Clique Problem can be formulated in a generic way instead of a specific case, so that different circuit instances of the same can be used for applications in the quantum domain. Though different algorithms of Maximum Clique Problem have been elaborately discussed by various researcher in classical and quantum domain as shown in Table 1, no circuit synthesis approach can be found in any of these works. In 2015, Pronaya Prosun Das et al. used the concept of quantum inspired evolutionary algorithm proposed by KukHyun Han et al
[14] for solving the Maximum Clique Problem. Quantum inspired evaluation algorithm is a combination of quantum computing and evolutionary algorithm which uses Qbit representation of individual information and Qgate as variation operator to drive the individuals toward better solution. [16]. Elijah Pelofske et al. proposed quantum annealer for solving Maximum Clique Problem in may 2019[16]. The objective of this work is to synthesize the circuit of Maximum Clique Problem in binary quantum system for the first time using Quantum Classical Hybrid approach[17] by using the decision oracle and the Grover’s diffusion operator. The proposed hybrid algorithm generates the QASM(Quantum Assembly Language) file for any given unweighted and undirected graph. The oracle block marks the searched state by inverting its amplitude, diffusion operator amplifies the amplitude of the searched state and after number of iterations the amplitude of the searched state will be maximum, while the amplitude of the other states will be reduced to almost zero. The approach being generalized in nature can be used for any kind of graph or graph based practical applications of Maximum Clique Problem.The following are the different algorithms[18] used for Maximum Clique Problem .
Year  Complexity  Inventor 

1973  O  Kerbosch et al[19] 
1977  O  Tarjan and Trojanowski[20] 
1990  Not mentioned  Randy CARRAGHAN[21] 
2002  Not mentioned  Patric R.J. Ostergard[22] 
2003  O  Tomita et al[23] 
2011  O  Alan Bojic [24] 
2011  Not mentioned  W. Pullan, F.Mascia, M.Brunato[25] 
2013  Not mentioned  S.Balaji[26] 
2015  Not mentioned  Pronaya Prosun Das et al.[14] 
2019  Not mentioned  Elijah Pelofske et al. [15] 
Our key contributions in this paper can be summarized as:

Generalized algorithm and auto generated oracle for Maximum Clique Problem using Grovers’ algorithm. The auto generated oracle can be used for any practical implementation of Maximum Clique Problem.
The paper has been organized as follows. Section II explains about related work in classical and quantum domain. Generalized algorithm for synthesis of Maximum Clique Problem has been discussed in Section III. Section IV deals with performance analysis of the circuit. Experimental result has been shown in Section V. In Section VI the implementation result of the circuit in six PMDs using FTQLS has been shown in tabular form. The paper conclude with a summary and future scope in Section VIII.
2 Background
Quantum mechanical computers were proposed in the early 1980s and the description of quantum mechanical computers was formalized in the late 1980s. Many efforts on quantum computers have progressed actively since the early 1990s because these computers were shown to be more powerful than classical computers on various specialized problems. Several quantum algorithms for example Shor’s Algorithm[31] for factoring integers, Grover’s Algorithm[32] for searching an unstructured database Triangle finding by Magniez et al. [33],Matrix Product Verification[34],Group Commutavity Testing have already been proposed. Solution of Maximum Clique Problem in classical domain using brute force technique may be expensive as complexity of the algorithm increases exponentially with the increasing number of vertices. In this paper generalized algorithm for synthesis of Maximum Clique Problem has been proposed in quantum domain where a combinatorial approach has been used with the help of Grover’s Algorithm.
Grover’s Algorithm:
Grover’s algorithm[32] is a way of finding an element in an unsorted list with N elements using quantum computer. Grover’s algorithm is based on amplitude amplification of the base state which specifies a position of a searched element in the list. It runs in time O where N is the number of elements in the list.
Diffusion operator This diffusion operator of Grover’s algorithm [32] inverts the amplitude of the input states about their mean value of amplitude. The matrix representation of the diffusion operator is given below.
The functional view of Grover’s Search Algorithm is presented here. function Oracle(o) such that
In the next subsection, definitions related to the graphs and cliques have been defined.
2.1 Definitions
This section deals with the definition of clique and maximum clique of a graph graph which have been used in the rest of the paper.
Let be a graph and be the set of vertices and be the set of edges. If then u and v are said to be adjacent. The set of vertices adjacent to a vertex is called neighborhood of v and is denoted by . A clique of a graph G is a set of vertices in which . A maximum clique is a complete sub graph of a graph G whose size is largest among all other complete sub graph in G. A maximal clique C of a graph G is a clique for which it is not possible to add an additional vertex to C and C remain a clique. In the above graph of figure 2 there are six vertices, but available cliques are and maximum clique is .
Quantum Oracle and query:
Virtually quantum algorithms work with queries. In an Nbit input where , the address bit (i=1,2…N) can be accessed using an nbit index i. As a quantum operation, this would be the following unitary mapping on qubits.
The first n qubits of the state are called the address bits, the st qubit is called the target bit. This is an unitary operation as shown below.
here , and denotes exclusiveor (addition modulo 2). is a permutation matrix and hence unitary. This is called an oracle which is a black box. A quantum computer can apply on a superposition of various i. One application of this blackbox is called a query.
2.2 Working Principle of a quantum circuit
In a quantum circuit there are two kinds of inputs, data input qubits and ancilla qubits; data input qubits are initialized with . Hadamard gates are used on the input qubits that creates superposition of all states. Ancilla qubits are initialized to or . One ancilla qubit is designated for final output.
Let us consider the following circuit.

Level 1: The quantum register of 3 input qubits can be prepared in a superposition of all eight numbers. So each qubit is put into the superposition
using HADAMARD gate . After the operation of three HADAMARD gates on the three input qubits (which are initialized to ) the result is
which can also be written in binary as (ignoring the normalisation constants),

Level 2: In the next level two NOT gates are applied to only first two qubits, which only activates state . All other states remains same. After application of NOT gates the states will be like

Level 3: TOFFOLI gate is applied in the third level of the circuit where first two qubits are control qubits. For only state, the output ancilla qubit is high.

Level 4: Reverse circuit has been applied for reverting the circuit back to the initial state. So in the next level again two NOT gate are applied which yields

Level 5: At the last level three HADAMARD gate has been applied on the three qubits. After the application of Hadamard gates the result yields
If the constant factors are ignored then this operation returns the circuit back to state.
2.3 General hybrid architecture for quantum algorithms
In this paper the concept of Hybrid quantum and classical computing is used[17]. In a Hybrid quantum classical computing, quantum programming uses classical algorithms to define certain elementary operations for a quantum computer. The classical machine of this hybrid system model prepares the input does some elementary operations and feed the output to the quantum machine. Quantum subsystem of this architecture initializes the quantum registers/nodes, prepare the inputs by applying quantum gates, execute the quantum oracle by applying quantum gates and unitary transformations, evaluate the result of the quantum registers. General architecture of the hybrid quantum and classical computer is shown below in fig 3.
3 Synthesis Of Maximum Clique Problem
3.1 Quantum Logic Gates Used for the Oracle for Maximum Clique Problem
Quantum Circuit is a model for quantum computation where reversible quantum gates like HADAMARD, CNOT, TOFFOLI are used. The Matrix representation of the quantum gates is shown in the following table
Quantum Gates  Matrix Representation 

Hadamard Gate  
NOT GATE  
TOFFFOLI Gate 
3.2 Generalized Circuit For Maximum Clique Problem
The Fig 5 shows the generalized view of the oracular circuit. In this generalized circuit there are four blocks; Qubit activation block, Edge detection block, Clique detection block and Phase flip block. The functionality of the blocks has been described below.

Superposition of states: There are n number of inputs. HADAMARD gate is applied to the inputs for getting superposed input states.

Qubit activation block: The qubit activation block activates a qubit by applying NOT gate if it is 0, such that the desired inputs are string of 1’s.

Edge detection block: Function of the edge detection block is to detect edges between pair of vertices. A TOFFOLI gate is applied for checking the connectivity between a pair of vertices. One TOFFOLI gate indicates presence of edge between a pair of vertices. So for detecting multiple edges multiple TOFFOLI gates are needed.

Clique detection block: Clique detection block detects a clique by applying TOFFOLI gate between the output of edge detection blocks.

Phase flip block: Finally in the phase flip block a CNOT gate is applied between clique detection blocks for the final output.
3.3 Implemented hybrid architecture in Maximum Clique Problem
The algorithm for the synthesis of Maximum Clique Problem is a hybrid algorithm that consist of classical and quantum components. The quantum portion of the algorithm is probabilistic; often need multiple runs to get the desired result.

Classical input:

Adj[][]:Adjacency matrix of the input graph G(V,E).

arr[]: Array that holds the vertices of the graph.

newarr[]: Array that holds all combinations of the vertices for a clique size.

binnum[]: Array that holds the binary equivalent of a combination of vertices.


Classical functions:

CombinationUtil This is a classical function which prepares all possible input combination of the vertices for a clique size. It creates combination of vertices if n is the total number of vertices and m is clique size.


Quantum input:

ctrl[]: This is a quantum register that holds the input qubits.

anc[]: This is a quantum register that holds the ancilla qubits.

output[]: This is a quantum register that holds the output qubits.

target[]: This is a quantum register that holds the target qubit.


Hybrid functions: There are two hybrid functions that are used depending on the combination of vertices. If there is only one combination of vertices checkedge2 function is called, if there are more than one combination of vertices then checkedge1 function is called.

Checkedge1: This is a hybrid function with both quantum and classical parts . The classical portion is conversion of the combination array(prepared by CombinationUTIL) newarr[](taking each combination at a time) into its binary equivalent array and make it ready for the quantum operations. Quantum portion of the function are where quantum gates(hadamard,toffoli,not,cnot) and unitary transformations are applied on the input qubits.

Checkedge2: This is also a hybrid function with both classical and quantum part. In this function the vertex combination is converted into binary equivalent array using a classical algorithm. Quantum gates (hadamard,toffoli,not,cnot) and unitary transformations are applied on the input qubits for finding the marked states.
The complete cycle of the hybrid architecture for the synthesis of Maximum Clique Problem has been pictorially described below:
The execution of the algorithm in a hybrid architecture is as follows:

Step 1: Initialize Adjacency Matrix for the input graph. Calculate the total number of combinations of vertices using a classical algorithm combinationUTIL.

Step 2: Initialize quantum register ctrl[] that holds the input qubits.

Step 3: Apply hadamard Transformations on the input qubits that represent vertices of the graph.

Step 4: Prepare inputs state by making it a string of ’1’s by applyng quantum not gate.

Step 5: Execute the quantum oracle for finding the marked states. The oracle checks full connectivity in a set of vertices by applying quantum gates and unitary transformations.

Step 6: Apply Grover’s operator for maximizing the amplitude of the marked states.

Step 7: Measure the output of Machine State (Measure the output registers of the quantum circuit) using classical register.

Step 8: Exit if desired result (If solution found then exit from quantum circuit), else repeat step 2.
3.4 Automated and Generalized Algorithm of quantum circuit synthesis for Maximum Clique Problem
The automated and generalized algorithm of quantum circuit synthesis for Maximum Clique Problem is discussed in this section. The input of the algorithm is the Adjacency Matrix of the graph and the output is the QASM file of Maximum Clique Problem.The data structure and methods used in the algorithm is mentioned below.

: Total number of vertices of the graph.

m: Clique size.

: Total number of input bits

r: Size of the clique.

arr[] :Hold the vertices of the array.

data[r]: A temporary array to store all combination one by one

newarr[tot]: All combination array

tot: Total number of combination

r: Size of the clique is assigned to r

n : Size of the array

Function combinationUtil : The function is used to find all combination of vertices of a given clique size. The combinations are kept in the array

combi : Holds total number of combination of vertices.

edge[] : Edge array holds one combination at a time.

binnum[] : binnum array holds binary equivalent of the edge array. Width of each binary number is .

Function Checkedge1/Checkedge2 : Checks presence of edge between two vertices using Adjacency Matrix.
The flow of the algorithm is shown in the following diagram
Steps of synthesis of the Maximum Clique Problem

Step 1: The algorithm starts from the nth vertex where (n=total number of vertex). At first presence of a clique of size is checked.

Step 2: Ctrl[] is a quantum register that holds the input qubits.

Step 3: HADAMARD gate is applied parallely to all the input qubits to get a superposition of the input states

Step 4: After hadamard operation ctrl[] register contains the superposed states.

Step 5: FunctionCombinationutil finds the total possible combinations of vertices for a clique size and put it in the newarr[].

Step 6: Each combination is kept in the edge[] array at a time and function checkedge1 or checkedge2 is called. The function checkedge1 is called if the total combination of vertices is more than 1 and the function checkedge2 is called if the total number of combinations of vertices is 1

Step 7: Each number of the edge array is converted into binary number of width and is kept in the binnum[] array.

Step 8: If there is any 0 in the binnum[] array corresponding bit of the control register ctrl[] is made 1 by putting NOT gate.

Step 9: Adjacency matrix of the input graph Adj[][] is used to check the interconnection between the vertices of the array edge[].

Step 10: If a path is found a TOFFOLI gate is inserted between the ctrl[] inputs. One TOFFOLI gate denotes the presence of one path between the vertices of the edge[] array. So for the presence of multiple paths multiple TOFFOLI gates are inserted.

Step 11: Another TOFFOLI gate is inserted to find the full connectivity of a set of vertices.

Step 12: For each combination of the vertices step 6 to 11 is repeated.

Step 13: When all combinations of a clique size are checked, a CNOT gate is inserted for the final output of the circuit.

Step 14: Grovers diffusion operator is applied on the input qubits for the amplification of the marked states

Step 15: If a clique is found then the output of the CNOT gate is 1 and exit from the process.

Step 16: If output is 0 then clique size n is reduced to n1. If n is less than 2 then exit else go to step 2 and repeat the whole process from step 3.
In the above process of finding clique There can be the two kind of scenario.

First case is when there can be only one combination . Maximum number of ancilla qubits are +1. For this case the algorithm MaximumClique1 is executed. As there is only one combination so combinationUTIL function is not required. Only checkedge1 function is called for testing the connectivity between the vertices.

Second case is when combination is greater than one. Maximum number of ancilla qubits are . MaximumClique2 algorithm is executed in this case. CombinationUTIL function calculates the total number of combinations and checkedge2 function is called for checking the connectivity between the vertices.
The Oracle circuit generated by Algorithm AUTOGENORACLEMAXIMUMCLIQUE is reversible. Different unique combinations of NOT gates corresponding to the input values are used on the input qubits to make them . Then TOFFOLI gates are used where input qubits act as control qubits and one of the ancillary qubit acts as the target qubit. The algorithm then uses the combination of NOT gates used at input qubits again to get the input vertex back. Hence, the generated circuit is reversible.
3.4.1 Circuit for arbitrary graphs taken as an example:
Quantum Circuit for finding maximum clique of two arbitrary graph has been designed following the above method. For circuit synthesis two arbitrary graph has been taken as an example. Each graph has four vertices, so two qubits are needed to represent each vertex state.
The existence of clique is checked for four, three and two vertices. Whenever a clique is found the process is stopped. Each circuit goes through the following number of stages:

At first HADAMARD gate is applied on the input qubits for getting the superposition of the states.

NOT gate is applied on the selected input qubits for making all input states a string of 1s.

Multi controlled TOFFOLI gates are applied between the input vertices if there are edges between the input vertices.

Another multi controlled TOFFOLI gate is used for checking the existance of a clique in the graph.

Above process is repeated for every combination of vertices.

A CNOT gate is applied for the final output of the circuit.

Reverse latch is applied to take the circuit back to the initial stage

Grover’s difussion operator is applied for the amplification of marked states.
3.4.2 Graph with clique size three:
The following graph of Fig 8 has four vertices and five edges. According to the algorithm the process starts with searching for clique size 4.
3.4.3 Circuit of clique size 4
The total number of combination is that is one. There are only five edges. There is no interconnection between and vertex. Circuit for checking the presence of clique size 4 is shown below in fig 9. As there is no clique of size 4, output is 0.
3.4.4 Circuit of clique size 3
The total number of combination of vertices for finding clique of size 3 is that is 4. Circuit for checking the presence of clique of size 3 is shown below in fig 10. The input graph has two cliques of size 3, so the output is 1.
3.4.5 Graph with clique size four
The following graph in the fig 11 has four vertices. This is a complete graph and maximum clique size is 4.
Circuit for checking clique of size four is shown in the figure below. The output of the circuit is 1 as there is one clique of size 4.
4 Quantum Cost of the Circuit
Cost of the circuit depends on the number of the Input Lines, ancilla Lines and the number of gates used. Let there are n number of inputs . If the circuit is designed for sized clique, then total combination is . The following table shows the maximum number of gates and ancilla qubits for finding maximum clique. Circuit complexity with only one combination of vertices is and circuit complexity with more than one combination of vertices is .
No of combination  No of vertices  No of ancilla qubits  Toffoli Gate Count 

n  +1  
n  
Total gate cost of toffoli gates[35] of the circuit for clique size 3(fig 9) and 4(fig 11)is given in the table below:
Clique Size  No of control lines  No of toffoli gates  Quantum Cost 
total toffoli=23  total cost=575  
4.1 Growth rate of toffoli gates
Number of toffoli gates required for finding a clique depends on the number of vertices(n) and the size of the clique(m) of the graph. A scatter graph has been plotted on an input graph of 10 vertices. Clique size has been taken along the X axis. Toffoli gates has been taken along Y axis. Only maximum number of required toffoli gates has been taken into consideration for plotting the graph.
5 Simulation Results using QISKit
The quantum circuit of figure 9 and 11 is simulated in IBMQ Qasm Simulator for verification. The input to the circuit is , , and as four initial inputs.
5.0.1 Simulation of clique size 4 in IBMQ
The circuit for clique size four has been simulated in IBMQ Qasm Simulator. The marked state is high as shown in the output plot below.
5.0.2 Simulation of clique size 3 in IBMQ
The circuit for clique size three has been simulated in IBMQ Qasm Simulator. The marked state and is high as shown in the output plot below.
6 Physical Machine Descriptions
The physical realization of quantum circuits is possible using primitive quantum operations that are supported by the quantum physical machine description (PMD). Different quantum system has different hamiltonian. So a Fault tolerant quantum logic synthesis(FTQLS) tool is used to map the unoptimized quantum circuit to an optimized fault tolerant quantum circuit. In this paper designed quantum circuit is implemented in six PMDs namely Quantum Dots (QD), Superconducting Qubits (SC), Ion Traps (IT), Neutral Atoms (NA),Linear Photonics (LP), and Nonlinear Photonics (NP) using an FT quantum logic synthesis (FTQLS) methodology. Following table 5 shows FTQLS output for various PMDs for Clique size 4.
PMD  Op  Cycle 

QD  19282  101515 
SC  17204  44378 
IT  12154  8950 
NA  12930  9030 
LP  11702  16263 
NP  16604  18075 
Following table 6 shows FTQLS output for different PMDs for clique size 3.
PMD  Op  Cycle 

QD  39410  222816 
SC  35209  99991 
IT  24175  19151 
NA  27756  54071 
LP  23726  34052 
NP  33801  37911 
6.1 Complexity Analysis
A quantum algorithm always gives quadratic speed up over its classical counterpart. Proposed quantum algorithm for the synthesis of Maximum Clique Problem in this paper is based on Grover’s algorithm. So quadratic speed up is achieved using this combinatorial approach of solving Maximum Clique Problem. If the total number of vertices in n of the input graph the complexity will be over the classical method of complexity .
7 Conclusion
The automated and generalized algorithm of quantum circuit synthesis for Maximum Clique Problem for any given undirected and unweighted graph has been proposed with query complexity of . It uses Grover’s algorithm for finding an element in an unsorted number list where the exact number of solutions is unknown. As this is an NP hard problem, no algorithm can be found with the polynomial complexity. Proposed generalized algorithm in this paper generates maximum clique for any kind of graph and synthesizes its quantum circuit in the form of QASM. Two arbitrary graphs have been taken for verifying the circuit. FTQLS has been used for mapping the circuit to six PMDs. IBMQ Qasm Simulator has been used to verify the circuit. In future we plan to adopt, some technology specific error control schemes which can be applied to satisfy the physical implementation requirements of these circuits.
References
 [1] A.E. Brouwer, J.B. Shearer, N.J.A. Sloane, and W.D. Smith, A new table of constant weight codes., IEEE Transactions on Information Theory (1990), pp. 1334–1380.
 [2] . Fortunato, Community detection in graphs, Physics Reports 486 (2010), pp. 75–174.
 [3] G. Palla, I. Derenyi, I. Farkas, and T. Vicsek, Uncovering the overlapping community structure of complex networks in nature and society, Nature 435 (2005), pp. 814–818.
 [4] S. Sadi, S.Oguducu, and A.S. Uyar, An efficient community detection method using parallel cliquefinding ants, in Proc. of IEEE Congress on Evol. Comp, July, 2010, pp. 1–7.
 [5] L. Wang, L. Zhou, J. Lu, and J. Yip, An ordercliquebased approach for mining maximalcolocations, Information Sciences 179 (2009), pp. 3370–3382.
 [6] T. Matsunaga, C. Yonemori, E. Tomita, and M. Muramatsu, Cliquebased data mining for related genes in a biomedical database, BMC Bioinformatics 10 (2009), p. 205.
 [7] R.E. Bonner, On some clustering techniques, IBM J. Res. Dev. 8 (1964), pp. 22–32.
 [8] M. Pavan and M. Pelillo, A new graphtheoretic approach to clustering and segmentation, in Proc. of the 2003 IEEE computer society conference on Computer vision and pattern recognition,CVPR’03, Madison, Wisconsin, IEEE Computer Society, Washington, DC, USA,2003, pp. 145  152.
 [9] V. Boginski, S. Butenko, and P.M. Pardalos, Statistical analysis of financial networks, Computational Statistics and Data Analysis 48 (2005), pp. 431–443.
 [10] J. Kempe, Quantum random walks  an introductory overview, quantph/0303081
 [11] A.M. Childs, E. Farhi, and S. Gutmann, An example of the difference between quantum and classical random walks, quantph/0103020
 [12] Y. Aharonov, L. Davidovich, and N. Zagury. Quantum Random Walks. Physical Review A,48:1687, 1993.
 [13] A. Ambainis. Quantum walk algorithm for element distinctness. quantph/0311001

[14]
QuantumInspired Evolutionary Algorithm for a Class of Combinatorial Optimization KukHyun Han et al.
 [15] Solving Maximum Clique Problem using a Novel Quantuminspired Evolutionary Algorithm,Pronaya Prosun Das et al.2nd Intl Conf. on Electrical Engineering and Information and Communication Technology (ICEEICT) 2015
 [16] Solving large Maximum Clique problems on a quantum annealer, Elijah Pelofske et al.arXiv:1901.07657v3 [quantph] 9 May 2019
 [17] A Hybrid Architecture Approach for Quantum Algorithms. 1Mohammad Reza Soltan Aghaei et al.Journal of Computer Science 5 (10): 725731, 2009 ISSN 15493636 2009 Science Publications
 [18] Wu, Qinghua and Hao, JinKao. (2015). A review on algorithms for maximum clique problems. European Journal of Operational Research. 242. 693709. 10.1016/j.ejor.2014.09.064.
 [19] Bron, Coen; Kerbosch, Joep (1973), ”Algorithm 457: finding all cliques of an undirected graph”, Commun. ACM (ACM) 16 (9): 575–577, doi:10.1145/362342.362367
 [20] R.E. Tarjan and A.E. Trojanowski, Finding a maximum independent set, SIAM J. Compute., Vol. 6: 537–546, 1977.
 [21] Randy Carraghan and Panos M. Pardalos. An exact algorithm for the maximum clique problem. Operations Research Letters, 9:375–382,1990
 [22] Östergård, P.R.J. 2002. A fast algorithm for the maximum clique problem. Discrete Applied Mathematics, 120:195–205
 [23] Tomita, E., Seki, T.: An efficient branch and bound algorithm for finding a maximum clique. In: Calude, C., Dinneen, M., Vajnovszki, V.(eds) Discrete Mathematics and Theoretical Computer Science. LNCS, vol. 2731, pp. 278–289, Springer, Berlin (2003)
 [24] Quantum Algorithm for finding a MAximum Clique in an Undirected Graph,Alan Bojic, JIOS Vol 36.No2(2012).
 [25] Pullan, W.J., Hoos, H.H.: Dynamic local search for the maximum clique problem. J. Artif. Intell. Res. 25, 159–185 (2006)

[26]
S. Balaji, “A New Effective Local Search Heuristic for the Maximum clique problem “, World Academy of Science, Engineering and Technology, International Journal of Mathematical, Computational, Physical and Quantum Engineering Vol: 7 No: 5, 2013
 [27] IBM Research. QISKit SDK 0.5.3 documentation. Online; accessed 2May 2018. \(https://qiskit.org/documentation/_{a}utodoc/qiskit.html.2018.\)
 [28] IBM. Quantum computer composer. Accessed 20 April 2018. https://quantumexperience.ng.bluemix.net/qx/devices.2018.

[29]
QISKit  Open Source Quantum Information Software Kit. Accessed 29April 2018.
https://qiskit.org. 2018.  [30] FTQLS: FaultTolerant Quantum Logic Synthesis,ChiaChun Lin, Amlan Chakrabarti.
 [31] Shor, P. W. (1997). ”PolynomialTime Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer”. SIAM Journal on Scientific and Statistical Computing 26: 1484. arXiv:quantph/9508027
 [32] L. Grover. A fast quantum mechanical algorithm for database search. Proceedings of STOC’96,pp. 212219, quantph/9605043.
 [33] F. Magniez, M. Santha, M. Szegedy. An O(n˜1.3) quantum algorithm for the triangle problem.quantph/0310134
 [34] Quantum verification of matrix products. arxiv.org/pdf/quantph/0409035
 [35] Exact MultipleControl Toffoli Network Synthesis With SAT Techniques by GROßE et al.
Comments
There are no comments yet.