Journal of Membrane Computing https://doi.org/10.1007/s41965-019-00030-1

REGULAR PAPER

Quantum solutions for densest k‑subgraph problems

Cristian S. Calude1 · Michael J. Dinneen1 · Richard Hua1

Received: 11 November 2019 / Accepted: 24 December 2019 © Springer Nature Singapore Pte Ltd. 2020

Abstract In this paper, we present, for the frst time, quantum annealing solutions for densest k-subgraph problems which have many applications in computational biology. Our solutions are formulated as solutions for quadratic unconstrained binary opti- mization (QUBO) and integer programming problems, proved to be equivalent with the densest k-subgraph problems and then tested on an D-Wave 2X machine. The QUBO formulations are optimal in terms of the number of logical qubits, but require the highest number of physical qubits after embedding. Experimental work reported here suggests that the D-Wave 2X model cannot handle problems of this difculty. The next generation of D-wave hardware architecture—the Pegasus architecture—is much denser than the current one, so dense QUBOs will be easier to embed. The experimental work also suggests that the current built-in post-processing optimization method does not work very well for some problems and the default setting (post-processing optimization on) should be avoided (or at least tested before being turned on).

Keywords Densest k-subgraph problem · Quadratic unconstrained binary optimization and integer programming problems · Quantum annealing · D-Wave 2X

1 Introduction A D-Wave quantum machine solves a generic quadratic unconstrained binary optimization (QUBO) problem, an NP- Information in computational biology is increasingly rep- hard mathematical problem consisting in the minimization resented with graphs, e.g., protein interactions, metabolic of a quadratic objective function: pathways, gene regulation, gene annotation, RNA-seq reads, z = T Q , etc. This means that many problems in processing biologi- cal information can be represented and solved using graph where =[x0, x1, … , xn−1] is a n-vector of binary variables theory, see, for example, [9, 17, 30]. Also, many graph prob- and Q is an upper triangular n × n matrix: lems have been studied in membrane computing [28]. Adiabatic quantum computing (AQC) is a model of quan- x∗ = min x Q x , where x ∈{0, 1}. i (i,j) j i tum computing based on the propensity of physical sys- i≤j tems—classical or quantum—to minimize their free energy, specifcally the free energy minimization in a quantum sys- In this paper, we propose QUBO efcient formulations for tem. This model is implemented by the D-Wave series of problems involving fnding various dense subgraphs of a quantum machines [6, 11, 26, 27]. given graph which have many applications in computational biology [9, 17, 30].

* Cristian S. Calude 2 Notation [email protected] ℝ+ Michael J. Dinneen The set of positive reals is denoted by . Let G =(V, E) [email protected] be a simple undirected graph with vertices V and edges E. Richard Hua The number of vertices of a graph G is called the order of G [email protected] and the number of edges is called the size of G. The order and size of a graph G are typically denoted by n and m, 1 School of Computer Science, University of Auckland, Auckland, New Zealand respectively.

Vol.:(0123456789)1 3 C. S. Calude et al.

Given a graph of order n, we denote the vertices by problem remains NP-hard even when the input is restricted V ={v0, v1, … , vn−1} . An edge between vertices vi and vj is to bipartite graphs [10] and planar graphs [23]. denoted by {vi, vj} and for convenience, we assume without The edge-weighted densest k-subgraph problem, which loss of generality that i < j . A vertex u in V is adjacent to is a generalization of the densest k-subgraph problem, has a vertex v in V whenever {u, v}∈E . The set of adjacent many applications in computational biology [9, 17, 30]. vertices of u, denoted by N(u) , is called the neighbors of Here, every edge in the graph is assigned a real weight value u. In this paper, we only consider simple graphs which are by an edge-weight function W. Without loss of generality, we graphs without self-loops (i.e., for all v ∈ V , {v, v}∉E ) or assume that the weights are normalized, so W ∶ E → [−1, 1] . parallel edges. The goal is to fnd a subset of vertices V ⊆ V that maxi- � Let G =(V, E) be a graph and C a subset of V. The sub- mizes not the density of G(V ) , but the sum of edge weights graph induced by C, denoted G(C)=(V(C), E(C)) , is the instead. graph having C as vertices and all the edges connecting pairs of vertices in C in E (i.e., {vi, vj}∈E(C) if {vi, vj}∈E and Edge-weighted densest k-subgraph problem: {vi, vj} ⊆ C ). The set C is a clique if the induced graph G(C) is complete [i.e., G(C) has size ( C ⋅ ( C − 1)∕2)]. Instance: A graph G =(V, E) , n = V , m = E , posi- The density of the graph G is defned by: tive integer k ≤ n and an edge weight function → W ∶ E [−1, 1]. E � DENS(G)= . Question: Find a V ⊆ V with V = k , such that V ⋅ ( V − 1)∕2 {v ,v }∈E(V�) W({vi, vj})= max{ {v ,v }∈E(V��) W i j i j ∈(0, 1] C ({v , v }) ∣ V�� ⊆ V and V �� = k} Given a constant , a subset of vertices is called a ∑ i j ∑. -quasi-clique or, simply, a -clique, if C induces a subgraph with the edge density of at least . A -clique C is maximal Note that the above two problems do not have unique if there is no other -clique C which strictly contains C. A solutions. -clique C is maximum if there is no other -clique C with Now, we present a QUBO formulation for this edge- higher density. Finding the maximum clique of a graph G is weighted problem. Given a graph G =(V, E) with V = n an NP-hard problem (the decision version is NP-complete) vertices, E = m edges and a positive integer k ≤ n , the [4]. QUBO formulation requires n binary variables labeled xi for 0 ≤ i < n , one for each vertex vi ∈ V . The binary vari- ables are denoted by the binary vector =[x0, x1, … , xn−1]. 3 QUBO formulations for the The objective function to be minimized is: (edge‑weighted) densest k‑subgraph 2 problems n−1 F( )= xi − k − W({i, j})xixj, i=0  {i,j}∈E (1) We frst state formally the problem.   for sufficiently large ∈ ℝ+.

k ∗ ∗ Densest -subgraph problem: Assume that x is an optimal solution with and G V E n V m E its corresponding variable assignment and take Instance: A graph =( , ) , = , = , and posi- V� ={v ∣ x = 1, 0 ≤ i < n − 1} k ≤ n i i as a solution to the dens- tive integer . k V ⊆ V V� k est -subgraph problem. We defne a ‘decoder’ function Question: Find a with = , such that D( )∶ℤn → 2V D( )={v ∣ x = 1, 0 ≤ i ≤ n − 1} DENS(G(V�)) = max{DENS(G(V��)) ∣ V�� ⊆ V 2 and i i . Note D(x) = k. and �� 2 V = k}. n−1 The basic idea is that the term i=0 xi − k in (1) The densest k -subgraph problem is a well-studied prob- ensures that exactly k vertices are chosen�∑ at the� end and lem in complexity theory [24] which is related to several − {i,j}∈E W({i, j})xixj maximizes the weight sum of edges in the induced subgraph. We get the following: other important computational problems such as the maxi- ∑ mum , which asks for the largest completely connected subgraph. The densest k-subgraph problem is Theorem 1 Suppose G =(V, E) is a graph of order n, size → at least at hard as the maximum clique problem and thus m, and a normalized edge-weight function W ∶ E [−1, 1] . ∗ ∗ NP-hard for general graphs (i.e., the output is a k-clique of Assume that x and are an optimal solution and its cor- density 1 if it exists). Furthermore, the densest k-subgraph responding variable assignment of objective function � ∗ � (1), respectively. If V = D( ) , then G(V ) is the induced

1 3 Quantum solutions for densest k‑subgraph problems subgraph of k vertices with maximum {i,j}∈E(V�) W({i, j}) . � ∗ The total edge-weight sum of G(V ) is exactly −x . ∑ 0 5 ∗ ∗ Proof Let x and be the optimal solution and its corre- 1 6 sponding variable assignment in (1). 2 n−1 We frst show that i=0 xi − k = 0 . Assume for the 2 � n−1 � 2 7 sake of a contradiction that∑ i=0 xi − k ≠ 0 . Then, we n−1 must have i=0 xi ≠ k . Based� on this, we �show that one can ∑ 3 8 construct a new variable assignment , such that ∑∗ ∗ F( ) < F( ) , which contradicts the optimality of . n−1 4 9 There are two cases to analyze: (1) i=0 xi = c > k , and n−1 (2) xi = c < k. i=0 ∑ In the former case, let b = c − k . As there are exactly c ∑ ∗ variables in with value 1, we select any b of them, say Fig. 1 x0, x1, … , xb−1 (note that we can always relabel all variables Example of a ; this graph was also used as an example in [30] as we can permute the vertices of G if necessary). If we set n−1 xi − k = 0 all of these variables to 0, then 2i=0 which means n−1 2 corresponding variable assignment of objective function that the value of i=0 xi − k will be reduced by b , so � ∗ � ∑ (1), respectively. If V = D( ) , then G(V ) is the induced it will be possible� to construct �a new variable vector with subgraph of k vertices with maximum DENS(G(V�)) ∗ ∑ . F( ) < F( ) . Now, for each vertex vi where 0 ≤ i < b , the v c − 1 vertex i is connected to at most vertices in the induced Proof Note that the proof of Theorem 1 only requires G(D( ∗)) W({i, j}) ≤ 1 subgraph . Since , setting the corre- W({i, j}) ≤ 1 , and hence, the result holds. ◻ sponding variables x0, … , xb−1 to 0 will reduce the value of W i j x x b c {i,j}∈E ({ , }) i j by at most ( − 1) . Accordingly, if 3.1 An example 2 �b > b(c − 1) , then the overall value of F( ) will decrease. ∑ �b2 > b(c − 1) �b > c − 1 Note that implies that and since In this subsection, we give an example of a QUBO con- c ≤ n b > 1 = n and , setting is sufcient for this condition. structed by our method. Let G =(V, E) be the graph shown By symmetry, we can also construct a new variable vector in Fig. 1, where V ={0, 1, … ,9} and: for the latter case. 2 n−1 E ={{0, 6}, {1, 5}, {1, 6}, {1, 7}, {2, 6}, {2, 7}, {2, 8}, Finally, assume that i=0 xi − k = 0 , and hence, in {2, 9}, {3, 7}, {3, 8}, {3, 9}, {4, 8}}. D( ∗) = k G(D( ∗)) this case, (i.e.,�∑ the induced� subgraph − W({i, j})x x has exactly k vertices). Consequently, {i,j}∈E i j Suppose that W ∶ E → (0, 1] a constant function where maximizes the sum of edge weights in the induced subgraph W(e)=1 for all e ∈ E and k = 5 . Based on the objective G(D( ∗)) ∑ ◻ . function (1), with set to n = 10 , the complete QUBO is given in Table 1. A Python program to compute the QUBO Since the edge-weighted densest k-subgraph problem is can be found in Appendix 2. This QUBO has a unique ∗ the generalized version of the unweighted version, formula optimal solution =[0, 0, 1, 1, 0, 0, 0, 1, 1, 1] which cor- (1) can be used to solve the unweighted problem, as well. S ={2, 3, 7, 8, 9} ⋅ responds to the vertex subset and it can For fxed k, k (k − 1)∕2 is a constant, and hence, maximiz- G S � be verifed (e.g., by brute-force computation) that ( ) is a ing DENS(G(V )) is the same as maximizing the number � subgraph of order 5 with maximum density. of edges in G(V ) . Therefore, if W({i, j}) is a constant func- tion, then formula (1) solves the densest k-subgraph prob- lem. Note that a negative edge weight in this case does not 4 Integer programming solution for the make much sense in terms of the problem, and therefore, we densest k‑subgraph problem assume the edge-weight function is strictly positive. Conse- quently, we have: In this section, we present a 0 − 1 integer programming (IP) formulation for the densest k-subgraph problem. Vari- Corollary 1 G =(V, E) Suppose that is a graph with order n, ous diferent formulations exist for (slight variations) of W ∶ E → (0, 1] size m, and a constant edge-weight function . the problem and our solution is quite similar to the mixed Assume that x∗ and ∗ are an optimal solution and its

1 3 C. S. Calude et al.

Table 1 QUBO matrix for Variables x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 graph of Fig. 1 x0 − 90 20 20 20 20 20 19 20 20 20 x1 0 − 90 20 20 20 19 19 19 20 20 x2 0 0 − 90 20 20 20 19 19 19 19 x3 0 0 0 − 90 20 20 20 19 19 19 x4 0 0 0 0 − 90 20 20 20 19 20 x5 0 0 0 0 0 − 90 20 20 20 20 x6 0 0 0 0 0 0 − 90 20 20 20 x7 0 0 0 0 0 0 0 − 90 20 20 x8 0 0 0 0 0 0 0 0 − 90 20 x9 0 0 0 0 0 0 0 0 0 − 90

1 integer programming formulation given in [2] . The difer- subgraph of k vertices with maximum {i,j}∈E(V�) W({i, j}) . � ∗ ence is that the formulation in [2] assumes all edge weights The total edge-weight sum of G(V ) is exactly −x . ∑ are non-negative (hence, it does not compute the correct answer with negative edge weights). Proof The constraint (3) ensures that exactly, k vertices are Our formulation requires exactly n + m binary variables: chosen in V , so it is sufcient to prove the theorem by show- one for each vertex in the graph and one for each edge in the ing that yi,j = 1 if and only if xi = 1 and xj = 1 . This is indeed graph. We defne xi for each vi ∈ V and yi,j for each {i, j}∈E the case, because the constraints (4) and (5) ensure the value where xi ∈{0, 1} and yi,j ∈{0, 1} . If xi = 1 , then we choose of yi,j cannot be 1 unless both xi and xj have value of 1 and vi to be in the subset V . For convenience, we denote the the constraints (6) enforce the condition that if both xi and xj collection of variables xi by . The complete formulation have value 1, then yi,j must have value 1 as well. � is as follows: To conclude, for every V ⊆ V with V = k , for each � edge {i, j} in E(G(V )) , the corresponding variable yi,j will Maximize W({i, j}) y , i,j have a value of 1, and therefore, (2) will maximize the sum {i,j}∈E (2) of edge weights in the induced subgraph. ◻ subject to x = k, i (3) 0≤i

� W({v , v })= max{ �� that {vi,vj}∈E(V ) i j {vi,vj}∈E(V ) W({v , v }) ∣ S ⊆ V��, V�� ⊆ V and V �� = k} ∑i j ∑ . 1 This particular formulation is actually a 0 − 1 IP formulation as well. 1 3 Quantum solutions for densest k‑subgraph problems

Table 2 QUBO matrix for Variables x4 x5 x6 x7 x8 x9 sample graph with fxed S ={0, 1, 2, 3} x4 − 10 20 20 20 19 20 x5 0 − 11 20 20 20 20 x6 0 0 − 13 20 20 20 x7 0 0 0 − 13 20 20 x8 0 0 0 0 − 12 20 x9 0 0 0 0 0 − 12

In this variation of the edge-weighted densest k-sub- is to fnd a maximum edge-weighted induced subgraph of graph problem, the input includes a subset S which the order 5, and the subgraph has to include vertices 0, 1, 2 and output V must contain. The QUBO formulation given 3. All other parameters are the same as the example given in Sect. 3 can be modifed slightly to solve this problem. in Sect. 3.1. Based on Formula (7), the complete QUBO is Assume that S ={v0, v1, … , vc−1} (we can relabel vertices if given in Table 2. Note that S only contains vertices from needed). By setting all variables corresponding to S, that is, one partition of the bipartite graph and we are only select- {x0, x1, … , xc−1} , to 1, we can guarantee that S is contained ing one additional vertex, so it is quite obvious that the in the output subset V . Note that the term k in Formula (1) new vertex has to be chosen from the other partition (i.e., has to be replaced by k − c since we are now only choosing {5, 6, 7, 8, 9} ). Choosing either vertex 6 or 7 in this case k − c vertices from V ⧵ S . The complete objective function would produce the maximal number of edges and it can be ∗ is: verifed computationally that both 1 =[0, 0, 1, 0, 0, 0] and ∗ 2 =[0, 0, − 0, 1, − 0, 0] , which correspond to the selection n−1 2 of vertices 6 and 7, respectively, are optimal solutions of the F( )= x −(k − c) − W({i, j})x x i i j QUBO given in Table 2. i=c  {i,j}∈E and i,j∉S   − W({i, j})xj. {i,j}∈E and i∈S, j∉S  6 Experimental work (7) Note that since we label the vertices in S by the frst c inte- We conducted several experiments to empirically measure gers, we will not have an edge {i, j} where i ∉ S and j ∈ S the viability of the QUBO formulation of the densest k-sub- (recall that we assume that i < j ). Equation (7) does not con- graph problem given in Sect. 3 on a D-Wave 2X quantum sider edges between vertices in S, that is, edges {i, j} where annealer. We will frst provide an overview of how the exper- i, j ∈ S . For a fxed set S, the edges between vertices in S are iments were set up followed by a presentation and discussion W i j also fxed and so {i,j}∈E, i,j∈S ({ , }) will be constant, so it of the results. Some of our programs and scripts given in the will have no efect on the minimization of F( ). ∑ appendix use external packages such as Sage Mathematics [31], NetworkX [18] and the D-Wave System API [15]. We Theorem 3 Suppose that G =(V, E) is a graph of order n, also assume that all graphs are represented using the stand- size m, S a subset of V, where S = c < k , a normalized ard adjacency list format (for example, see Sect. 3). ∗ edge-weight function W ∶ E → [−1, 1] . Assume that x ∗ and are an optimal solution and its corresponding vari- 6.1 Experiment setup and test cases able assignment of objective function (7), respectively. If � ∗ � V = D( )∪S , then G(V ) is the induced subgraph of k As mentioned in Sect. 3, the densest k-subgraph problem W i j vertices with maximum {i,j}∈E(V�) ({ , }) . The total edge- remains NP-hard even when the input is restricted to bipar- weight sum of G(V�) is −x∗ + W({i, j}) ∑ {i,j}∈E, i,j∈S . tite graphs. Because of the importance of bipartite graphs in computational biology (e.g., see [30]), we generated random ∑ Theorem 3 follows directly from Theorem 1 and the con- test cases which are all bipartite graphs. There are several struction of Equation (7) and so the proof is omitted. diferent ways to generate random graphs: in this paper, we used the random model from [3]. In this model, each edge is 5.1 The example revisited chosen independently with probability p for 0 < p < 1 . This means that if G =(V, E) is a bipartite graph and V = V1 ∪ V2 Recall the example given in Sect. 3.1; let us consider the is the vertex partition, then for vi ∈ V1 and v2 ∈ V2 , the prob- same graph here and let S ={0, 1, 2, 3} . Once again, the goal ability of {vi, vj}∈E is p.

1 3 C. S. Calude et al.

The NetworkX software package provides a function to consuming. The QUBO instance has to be converted to its generate these test cases, see Script 1. The function takes equivalent Ising form, since the D-Wave model works only three parameters: the number of vertices in both partitions with problems in Ising formulation; the D-Wave software and an edge probability p. Both partitions have the same package [15] has functions that support this transformation size, so if the order of the graph is n, each partition has process. For more details, see [22] and [11]. exactly n/2 vertices (assuming n is even). The edge probabil- ity p is set to 0.8, since denser instances of the problem are 6.2 Parameter settings harder in general. We also require the graph to be connected as otherwise it can be reduced to multiple smaller instances After embedding the QUBO instance in the D-Wave hard- of the densest k-subgraph problem. ware, the annealing cycle begins; that is, the quantum We randomly generated 20 bipartite graphs of order 30. annealing is used to solve the embedded problem instance. See Sect. 5 for an example drawing of graph 1 and the aux- The D-Wave 2X system provides many diferent options and iliary data of [8] for further details of all test cases. These settings (see [12]) and it is difcult to determine the opti- graphs have about the largest instances that can be solved mal settings for a particular problem. For our experiments, on a D-Wave 2X. We also set k to n∕2 = 15 , because these we used the same parameter settings as described in [20] are the hardest cases for the densest k-subgraph problem, which follow the standard guidelines in the manuals such n since k yields the highest number of diferent combinations as [11] and [12]. One diference between our settings and k = n∕2 when  . Each graph is also associated with a set of the ones used in [20] is that we repeated the experiment randomly generated edge weights (in range [0, 1)) using the twice: the frst time with the post-processing optimization built-in pseudo-random number generator of Python (see option turned on (default) and the second time with the Script 1). The weights are rounded to 2 decimal place due option turned of, see Sect. 6.4 for details. The process of to the limited precision of the D-Wave hardware. quantum annealing is probabilistic, and in general, it is not Since the quantum annealers manufactured by D-Wave possible to calculate the probability of obtaining an opti- do not support arbitrary qubit interactions, a given QUBO mal solution, so experimental work is used to empirically instance has to be ‘embedded’ in the hardware structure of approximate this probability via repetitions, see [1]). Finally, the quantum device before the device can be used to solve we set the annealing cycle to repeat a total of 1000 times it. This embedding process is highly dependent on the hard- for each test case which generates 1000 samples (not all ware structure. The family of D-Wave computers uses the samples are unique). Since the D-Wave hardware can some- Chimera graphs which are M × N blocks of interconnected times be inconsistent (e.g., due to the machine maintenance complete bipartite graphs KL,L . The specifc model that we and recalibration cycles), we repeated the entire experiment have used (D-Wave 2X) has M = N = 12 and L = 4 ; more three times and all the results are given in Tables 5 and 6. details of the hardware structure and the embedding pro- See Sect. 6.4 for more details. cess can be found in [1]. In general, the denser the QUBO instance is, the more physical qubits are required to embed 6.3 Classical solvers the instance. Previous experimental work such as [1, 7, 16] and theoretical results [5] suggest that the embedding of a We have also implemented several classical algorithms for 2 QUBO instance of n variables requires O(n ) physical qubits. the densest k-subgraph problem to empirically compare the This is especially true here, since formula (1) requires every performance of the D-Wave 2X. These includes a Sage pro- pair of variables to interact, so the variable interactions form gram that solves the IP formulation (2) as well as a straight- a complete graph of order n ( Kn ) which is the hardest case forward randomized algorithm. The Sage program is given possible (from the perspective of embedding). In theory, one in Appendices 3 and 4. The Sage program uses the GLPK can embed complete graphs up to order 48 in the D-Wave solver which is an exact solver for IP. The IP formulation 2 2 2X model and a polynomial time algorithm to generate such (2) requires O(n ) variables, since there are at most O(n ) embeddings is given in [5]. Moreover, the particular D-Wave edges in a graph. The largest instance of the problem solved 2X which we worked with has 54 inactive qubits and extra with the script in Appendix 3 was a graph with 40 vertices faulty couplers in-between active qubits, so the aforemen- and more than 1000 edges which took more than 30 min, tioned algorithm [5] is not applicable in this case here. Con- which is quite a long time, on a 8-core Intel(R) Core(TM) sequently, we have used the heuristic algorithm provided by i7-4790K CPU running Fedora 29 Another reason for choos- the D-Wave software package [15] to compute the embed- ing test cases of order 30 was the difculty to verify the dings for our test cases. Since all of our test cases have the correctness quantum solutions with classical computations. same interaction structure, the same embedding was used for Appendix 4 describes the simple randomized algorithm. all test cases—this also saved considerable classical com- At each iteration, we generated a random subset of V of puter time, since computing diferent embeddings is time size 15 and we computed the total edge-weight sum of the

1 3 Quantum solutions for densest k‑subgraph problems

Table 3 induced subgraph. The fnal returned value is the vertex sub- Sage optimal solutions Test cases Maximum set that yields the highest total edge-weight sum. weight sum 6.4 Experiment results and discussion 1 33.89 2 34.22 We also used the Sage solver to verify that all test cases 3 31.41 had unique optimal solutions. In theory, the probability of 4 31.49 a test case having more than one optimal solutions is very 5 30.07 low but not impossible (i.e., for example a test case with at 6 34.61 least two subgraphs of order 15 with the same edge-weight 7 33.24 sum). Since having a unique optimal solution would make 8 34.19 the analysis in Sect. 6.4 a lot simpler, we modifed that the 9 35.61 Sage Program 3 to verify the optimal solution of each test 10 31.75 case is unique. The GLPK solver itself does not support 11 30.12 the function of enumerating all optimal solutions and so we 12 31.27 G =(V, E) modifed the program. Let be a graph and sup- 13 33.95 pose that we have used Script 3 to fnd (one of) its optimal 14 32.17 W V� ={v , v , … , v } solution; let and 0 1 14 be the optimal 15 32.65 objective value (edge-weight sum of the induced subgraph) 16 31.69 and set of vertices of the optimal solution. If we add another 17 34.91 constraint of the form: 18 31.21 x ≤ k − 1 19 32.39 vi v ∈V� 20 33.07 i to the IP formula (2), then the GLPK solver is now not allowed to select V as the vertex set again. Hence, if we now compute the optimal objective value W and compare with W , the optimal solution is unique if and only if W ≠ W . We verifed via this approach that all test cases had unique Table 4 optimal solutions. Randomized algorithm solutions Table 3 is the optimal solution of the IP formulations Test cases Best answer Ratio over optimal Jaccard index computed by Sage. Table 4 presents the best results obtained solution with the randomized algorithm (Program 4) after 1000 itera- 1 28.83 0.85 0.43 tions. We have also measured the quality of the best answer 2 29.76 0.87 0.58 from the randomized algorithm by two additional metrics. 3 27.25 0.87 0.67 G� =(V�, E�) G�� =(V��, E��) Let and be the optimal solution 4 27.73 0.88 0.5 computed by Sage (i.e., induced subgraph with maximum 5 26.2 0.87 0.25 edge-weight sum) and the best answer produced by the ran- 6 30.16 0.87 0.58 domized algorithm, respectively. The optimal solution ratio 7 29.48 0.89 0.5 e∈E�� W(e) is calculated as W(e) , so it shows how close the weighted ∑ e∈E� 8 32.02 0.94 0.67 edge sum produced∑ by the random algorithm is to the actual 9 29.68 0.83 0.5 optimal answer. The other metric is the Jaccard similarity 10 27.17 0.86 0.5 index, a commonly used measurement in statistics that meas- 11 26.72 0.89 0.43 ures how close (or similar) two given sets are. In our case, 12 27.44 0.88 0.36 V�∩V�� the Jaccard index is calculated as V�∪V�� and so it measures 13 29.29 0.86 0.58 how close the set of vertices found by the randomized algo- 14 28.2 0.88 0.36 rithm is to the actual optimal set. 15 27.94 0.86 0.58 As can be seen in this table, the randomized algorithm 16 27.17 0.86 0.67 consistently computes solutions that are about 85% of an 17 29.76 0.85 0.58 optimal value, a rather surprising result considering the sim- 18 26.31 0.84 0.5 plicity the algorithm. In theory, the expected number of ver- 19 29.17 0.9 0.5 k 2m 20 30.02 0.91 0.58 tices in a random subgraph of k vertices is 2 n(n−1) , where  1 3 C. S. Calude et al. m and n are the size and order of the graph respectively. Let Table 5 D-Wave solutions with no post-processing i j i j and be the th and th random vertex choices. Since there Test cases Best answer Ratio over optimal Jaccard index are two ways to pick an edge {u, v}∈E (i.e., i = u and j = v solution or i = v and j = u ), the chance of an edge being chosen is 2m∕n(n − 1) k 1.1 20.55 0.61 0.25 . Furthermore, since there are 2 diferent com- 1.2 24.07 0.71 0.5 binations, the assertion follows. For the test graphs (Pro- gram 1), the expected number of edges in each graph is 1.3 28.2 0.83 0.5 exactly 15 × 15 × 0.8 = 180 (since there are 15 vertices in 2.1 25.37 0.74 0.43 each partition and edge probability is 0.8). Together with the 2.2 26.25 0.77 0.5 fact that we have used normalized edge weights in range 2.3 23.66 0.69 0.43 (0, 1], the expected edge-weight sum in a random graph is 3.1 21.59 0.69 0.36 15 180 ≈ 21.72 60% 3.2 23.33 0.74 0.36 2 30⋅29 which is already about of the true opti- 3.3 23.73 0.76 0.3 mal values. The average Jaccard index value for all the test cases is 52% so the best vertex set is somewhat diferent from 4.1 25.51 0.81 0.3 the optimal set. This is expected as well, since the edge 4.2 24.29 0.77 0.25 weights are uniformly distributed so there should be many 4.3 24.03 0.76 0.3 induced subgraphs with similar edge-weight sum. 5.1 22.05 0.73 0.25 Recall that for the D-Wave 2X experiment, we repeat the 5.2 23.5 0.78 0.25 annealing cycle 1000 times for each test case and, therefore, 5.3 22.64 0.75 0.3 generating 1000 samples per test case. In general, there is 6.1 24.46 0.71 0.43 no guarantee that all 1000 samples correspond to valid solu- 6.2 24.53 0.71 0.43 tions, so we discarded samples which do not correspond to 6.3 22.75 0.66 0.43 exactly 15 vertices. The valid answer with the highest edge- 7.1 20.43 0.61 0.3 weight sum for each test case is given in Tables 5 and 6. We 7.2 22.65 0.68 0.36 have also computed the optimal solution rate and the Jaccard 7.3 24.13 0.73 0.43 similarity value for the best answer, and we repeated the 8.1 21.59 0.63 0.3 entire experiment three times. For example, the test case 8.2 25.45 0.74 0.43 8.3 25.89 0.76 0.3 labeled 1.2 in Table 5 is the result on graph 1 (see Sect. 5 9.1 24.25 0.68 0.25 for its structure) of the second repetition of the experiment 9.2 27.89 0.78 0.5 with post-processing optimization turned of. 9.3 28.29 0.79 0.43 As can be seen in Tables 5 and 6, the answers obtained 10.1 24.29 0.77 0.3 with quantum annealing are signifcantly worse than the 10.2 24.98 0.79 0.43 answers generated by the randomized algorithm: the aver- 10.3 22.35 0.7 0.36 age optimal solution ratio is 41% and 71% with and without 11.1 0.0 0.0 0.0 post-processing optimization respectively. There is also a 11.2 20.43 0.68 0.5 decrease in the Jaccard similarity value when compared with 11.3 23.35 0.78 0.5 the randomized algorithm; the average is 25% and 37% with 12.1 22.61 0.72 0.25 and without post-processing settings, respectively. 12.2 23.07 0.74 0.43 We suspect that the main reason for the poor performance 12.3 23.52 0.75 0.43 of D-Wave is due to the quality of the embedding used. To 13.1 26.39 0.78 0.3 test this hypothesis, we defne the average map size of an no. of physical qubits 13.2 28.44 0.84 0.43 embedding as (i.e., how many physical no. of logical qubits 13.3 27.05 0.8 0.58 qubits does each logical qubit corresponds to), a commonly 14.1 0.0 0.0 0.0 used metric in measuring the quality of embeddings. Previ- 14.2 24.94 0.78 0.58 2 ous experimental studies such as [19, 29] have shown that 14.3 26.64 0.83 0.3 embeddings with shorter and uniform map size provide a 15.1 23.27 0.71 0.36 better solution quality. The particular embedding that we 15.2 26.51 0.81 0.43 have computed uses 440 physical qubits, so the average map 15.3 26.35 0.81 0.36 16.1 0.0 0.0 0.0 16.2 26.22 0.83 0.5 2 These publications refer to the map size as ‘chain length’ which 16.3 24.88 0.79 0.5 could be somewhat misleading since the set of physical qubits do not 17.1 19.95 0.57 0.36 necessarily form a path.

1 3 Quantum solutions for densest k‑subgraph problems

Table 5 (continued) Table 6 D-Wave solutions with post-processing Test cases Best answer Ratio over optimal Jaccard index Test cases Best answer Ratio over optimal Jaccard index solution solution

17.2 27.9 0.8 0.5 1.1 0.0 0.0 0.0 17.3 27.69 0.79 0.5 1.2 22.55 0.67 0.43 18.1 22.59 0.72 0.43 1.3 28.2 0.83 0.5 18.2 21.84 0.7 0.43 2.1 0.0 0.0 0.0 18.3 22.54 0.72 0.43 2.2 22.19 0.65 0.25 19.1 24.62 0.76 0.36 2.3 23.66 0.69 0.43 19.2 28.09 0.87 0.43 3.1 0.0 0.0 0.0 19.3 27.39 0.85 0.2 3.2 21.36 0.68 0.36 20.1 24.63 0.74 0.43 3.3 23.73 0.76 0.3 20.2 24.83 0.75 0.36 4.1 0.0 0.0 0.0 20.3 24.66 0.75 0.3 4.2 22.51 0.71 0.3 4.3 24.03 0.76 0.3 5.1 0.0 0.0 0.0 5.2 17.97 0.6 0.36 440 ≈ 14.7 size is 30 , a relatively high value. Furthermore, the 5.3 22.54 0.75 0.36 minimum and maximum map sizes are 8 and 21, respec- 6.1 0.0 0.0 0.0 tively, which is far from uniform. The study in [29] bench- 6.2 24.53 0.71 0.43 marked the efects of large map size (long chains) on a 6.3 22.75 0.66 0.43 D-Wave 2 quantum computer (the predecessor of the 7.1 0.0 0.0 0.0 D-Wave 2X), and experimentally estimated the probability 7.2 21.65 0.65 0.36 of obtaining the correct answer with map size of 14 to be 7.3 22.3 0.67 0.43 60% less than : in our test cases, we have 30 ‘chains’, and 8.1 0.0 0.0 0.0 hence, the probability of all chains working correctly is less 8.2 25.45 0.74 0.43 0.0000221% than (if we assume that each chain operates 8.3 23.48 0.69 0.3 independently). 9.1 0.0 0.0 0.0 Another observation is the fact that the quality of the 9.2 25.38 0.71 0.43 results is clearly worse when the post-processing optimiza- 9.3 27.64 0.78 0.36 tion option is turned on. There is no test case where turn- 10.1 0.0 0.0 0.0 ing on the post-processing optimization option actually 10.2 16.36 0.52 0.36 improved the optimal solution rate. Since the samples (with 10.3 22.28 0.7 0.36 optimization on and of) are from two diferent runs, it is 11.1 0.0 0.0 0.0 possible that the samples from the runs when the optimi- 11.2 19.75 0.66 0.5 zation option is turned on were so bad that it was beyond 11.3 25.23 0.84 0.58 “repair” by the classical algorithm (due to an unknown rea- 12.1 0.0 0.0 0.0 son): however, his hypothesis is highly unlikely, since the 12.2 0.0 0.0 0.0 same trend exists in every test case. It seems odd that the 12.3 23.52 0.75 0.43 post-processing optimization produces worse results for our 13.1 0.0 0.0 0.0 test cases. Indeed, the post-processing optimization algo- 13.2 28.44 0.84 0.43 rithm is just a classical algorithm running after the anneal- 13.3 23.1 0.68 0.36 ing cycles to improve the results, so one should expect that 14.1 0.0 0.0 0.0 the fnal results to be at least as good as the results with the 14.2 23.95 0.74 0.58 option turned of. One possible explanation is that our test 14.3 26.64 0.83 0.3 cases are the hardest cases for this classical algorithm. The 15.1 0.0 0.0 0.0 exact details of the post-processing optimization algorithm 15.2 22.79 0.7 0.25 are not available, but a high-level (rather vague) pseudo- 15.3 21.21 0.65 0.3 code of the algorithm is given in [13]. The user manual [13] 16.1 0.0 0.0 0.0 states that the algorithm is based on [25] and [21]. Both 16.2 24.54 0.77 0.5 [13] and [25] assume and rely on the fact that the logical 16.3 24.88 0.79 0.5 interaction graph (i.e., QUBO matrix) is rather sparse, so it 17.1 0.0 0.0 0.0

1 3 C. S. Calude et al.

Table 6 (continued) see [1, 7]). However, the performance of D-Wave is heav- Test cases Best answer Ratio over optimal Jaccard index ily afected by the high map size of logical qubits and our solution constructions require the highest number of physical qubits after embedding: it seems that the D-Wave 2X model cannot 17.2 24.83 0.71 0.5 handle problems of this difculty. D-Wave next generation 17.3 23.43 0.67 0.36 of hardware architecture, known as the Pegasus architecture 18.1 0.0 0.0 0.0 [14], is much denser (the degree of each vertex is more than 18.2 20.58 0.66 0.36 doubled) than the current Chimera graph, so dense QUBOs 18.3 21.19 0.68 0.36 will be easier to embed. This feature should mitigate some 19.1 0.0 0.0 0.0 of the negative efects which we are seeing here with the 19.2 24.43 0.75 0.2 embedding. 19.3 27.39 0.85 0.2 We have also shown (via experimental work) that the cur- 20.1 0.0 0.0 0.0 rent built-in post-processing optimization method does not 20.2 24.51 0.74 0.43 work very well for some problems and the default setting 20.3 23.95 0.72 0.3 (post-processing optimization on) should be avoided (or at least tested before being turned on). Finally, we note that there is another variation of the dens- est k-subgraph problem called the distance restricted densest k-subgraph problem [30]. The input of the problem has an additional distance restriction function D ∶ V × V → ℕ and a new constraint that for all pairs of vertices u and v in the has low -width, a condition which is not satisfed by our selected subset S, the distance between u and v in G(V) has test cases. Based on formula (1), our QUBO are all complete to be at most D((u, v)). This distance restricted version of graphs and so always have tree-width n − 1 . Our test cases the problem is obviously NP-hard if an arbitrary function D seem to be somewhat of the type of an ‘edge case’ to the is allowed. It is more difcult to develop practical QUBO or post-processing optimization algorithm which is causing IP formulations for this distance restriction version of the this poor performance (or maybe even working incorrectly). problem, since the standard methods do not seem to easily Finally, we stress that we could not determine the exact rea- encode the distance metric constraint. Indeed, the distance son, since the exact algorithm is not available. between u and v can only be determined after the set S is fxed and it is not practical to consider all possible paths between u and v in G in general. We plan to study this prob- 7 Conclusion and related problems lem in more detail in the future.

In this paper, we have presented for the frst time QUBO and Acknowledgements This work was supported in part by the Quan- IP formulations for the (edge-weighted) densest k-subgraph tum Computing Research Initiatives at Lockheed Martin. We thank the anonymous referees for useful comments which improved the problem as well as a QUBO formulation for the specifed presentation. subset edge-weighted densest k-subgraph problem. Given a n graph G =(V, E) of order n, there are 2 possible subgraphs Compliance with ethical standards n and so one needs at least O(lg 2 )=O(n) binary variables to represent all possible solutions. Our QUBO formulations are Conflict of interest The authors declare that they have no confict of optimal in terms of the number of logical qubits required, interest. which is not typical for QUBO formulations (for example,

1 3 Quantum solutions for densest k‑subgraph problems

Appendix 1: Python script to generate Appendix 2: Python script to generate random bipartite graphs QUBOs

#! usr/bin/env python2 #!/usr/bin/env python2 #usage: generate QUBO .py < alist import sys, random from networkx .algorithms import bipartite as bi import sys ,math import networkx as nx import networkx as nx

n=int ( sys .argv [1].strip()) def read graph () : n 1=n/2 n=int (sys .st din .readline().strip ()) n 2=n n 1 G= nx .empty graph(n,create using=nx . Graph ()) − for u in range (n): while True : neighbors=sys . stdin . readline().split() G= bi . random graph(n 1, n 2, 0 .8) for v in neighbors :G.add edge(u, int (v)) if nx .is connected(G) : return G break def generate qubo(G,W,k): print G. order() n=G. order () for i in G. nodes () : a=n for j in G. neighbors(i): Q= e={} print j, {} print for i in range (n): edge weight dict = for j in range (n): for (u,v) in G. edges{}() : Q[ i ,j] =a w= round( random.random () ,2) edge weight dict[u,v] =w for i in range (n): Q[ i ,i] =2a k edge weight dict[v,u] =w − ∗ ∗ print edge weight dict for (i ,j) in G. edges(): generate test cases.tex Q[ i ,j] =W[i,j] − # upper triangulization for i in− range (n): for j in range (n): if i > j: Q[ j ,i] += Q[ i,j] Q[ i ,j] =0

#outputQUBO for i in range (n): for j in range (n): print Q[ i ,j], print

G= read graph () n=G. order () W= eval(sys .st din .readline().strip()) generate qubo(G,W,n/2)

generate QUBO.tex

1 3 C. S. Calude et al.

Appendix 3: Sage script to solve the edge‑weighted densest k‑subgraph problem

#!/usr/bin/env sage #usage: sage dense subgraph IP .py < alist

import sys , networkx as nx

def read graph () : n=int ( sys . stdin .readline () .st rip ()) G= nx .empty graph(n,create using=nx . Graph ()) for u in range (n): neighbors=sys . stdin . readline () .split () for v in neighbors: G. add edge(u, int (v)) return G

G= read graph () n=G. order () k=n/2

p=MixedIntegerLinearProgram(solver=”GLPK” ,maximization=True) x=p.new variable( binary=True) #p .set binary(x) c=x[0] for i in range (1,n): c=c+x[i] p.add constraint(c == k) for (i ,j) in G. edges () : c=x[i ,j] +1 x[i] x[j] p.add constraint−(c >=0−) p.add constraint(x[i,j] <=x[i]) p.add constraint(x[i,j] <=x[j])

W= eval ( sys . stdin .readline().strip ()) #pr int W p. set objective(sum(W[i,j] x[i,j] for (i ,j) in G. edges())) #p .show() ∗ try : sz=p .so lve () except sage . numerical .mip . MIPSolverException as e: print e else : pass opt weight=p. get objective value() var value=p.get values(x)

print opt weight print var value

dense subgraph IP.tex

1 3 Quantum solutions for densest k‑subgraph problems

Appendix 4: Randomized algorithm to solve the edge‑weighted densest k‑subgraph problem

#!/usr/bin/env python2

import random ,sys import networkx as nx

def read graph () : n=int ( sys .st din .readline () .strip ()) G= nx .empty graph(n,create using=nx .Graph ()) for u in range (n): neighbors=sys.stdin.readline().split () for v in neighbors: G. add edge(u, int (v)) return G

G= read graph ()

number of repeat =1000 best weight sum=0 best vertex set =[] n=G. order () W= eval( sys .st din .readline () . strip())

for i in range (number of repeat): S=random .sample( range (n) ,n/2) induced subgraph=G. subgraph(S) weight sum =0 for (j ,k) in induced subgraph.edges () : weight sum += W[ j,k] if weight sum > best weight sum : best weight sum=weight sum best vertex set=S

print best v ertex set print best weight sum

dense subgraph random.tex

1 3 C. S. Calude et al.

Appendix 5: Drawing of a sample test graph

1 3 Quantum solutions for densest k‑subgraph problems

References 19. Hamerly, R., Inagaki, T., McMahon, P. L., Venturelli, D., Marandi, A., Onodera, T., et al. (2019). Experimental investigation of per- formance diferences between coherent ising machines and a 1. Abbott, A. A., Calude, C. S., Dinneen, M. J., & Hua, R. (2018). A quantum annealer. Science Advances, 5(5), eaau0823. hybrid quantum-classical paradigm to mitigate embedding costs 20. Hua, R., & Dinneen, M. J. (2020). Improved QUBO formulation in quantum annealing. CDMTCS Report Series 520. of the graph isomorphism problem. SN Computer Science, 1(1), 2. Billionnet, A. (2005). Diferent formulations for solving the heavi- 19. est k-subgraph problem. INFOR: Information Systems and Opera- 21. Jensen, F. V., Lauritzen, S. L., & Olesen, K. G. (1990). Bayesian tional Research, 43(3), 171–186. updating incausal probabilistic networks by local computations. 3. Bollobás, B. (1981). Degree sequences of random graphs. Discrete Computational Statistics Quarterly, 4, 269–282. Mathematics, 33(1), 1–19. 22. Kadowaki, T., & Nishimori, H. (1998). Quantum annealing in the 4. Bomze, I. M., Budinich, M., Pardalos, P., & Pelillo, M. (1999). transverse ising model. Physical Review E, 58(5), 5355. Handbook of combinatorial optimization. In D.-Z. Du & P. M. 23. Keil, J. M., & Brecht, T. B. (1991). The complexity of cluster- Pardalos (Eds.), chap. The maximum clique problem (pp. 1–74). ing in planar graphs. Journal of Combinatorial Mathematics and Dordrecht: Kluwer Academic Publishers. Combinatorial Computing, 9, 155–159. 5. Boothby, T., King, A. D., & Roy, A. (2016). Fast clique minor Quantum Infor- 24. Khuller, S., Saha, B. (2009) On fnding dense subgraphs. In: generation in Chimera quit connectivity graphs. Proceedings of the 36th International Colloquium on Automata, mation Processing, 15(1), 495–508. Languages and Programming: Part I, ICALP ’09 (pp. 597–608). 6. Calude, C. S., Calude, E., & Dinneen, M. J. (2015). Adiabatic Berlin: Springer. https://doi.org/10.1007/978-3-642-02927​ -1_50​ . quantum computing challenges. ACM SIGACT News, 46(1), 25. Markowitz, H. M. (1957). The elimination form of the inverse and 40–61. https​://doi.org/10.1145/27444​47.27444​59. its application to linear programming. Management Science, 3(3), 7. Calude, C. S., Dinneen, M. J., & Hua, R. (2017). QUBO for- 255–269. mulations for the graph isomorphism problem and related prob- 26. McGeoch, C. C. (2014). Adiabatic quantum computation and lems. Theoretical Computer Science. https​://doi.org/10.1016/j. quantum annealing. Theory and practice. San Rafael: Morgan & tcs.2017.04.016. Claypool Publishers. 8. Calude, C. S., Dinneen, M. J., & Hua, R. (2019). Quantum solu- 27. McGeoch, C. C., Harris, R., Reinhardt, S. P., & Bunyk, P. I. tions for densest k-subgraph problems. Report CDMTCS-540, (2019). Practical annealing-based quantum computing. Computer, Centre for Discrete Mathematics and Theoretical Computer Sci- 52, 38–46. ence, University of Auckland, Auckland, New Zealand. https​:// 28. Paun, G., Rozenberg, G., & Salomaa, A. (2010). The oxford hand- www.cs.auckl​and.ac.nz/resea​rch/group​s/CDMTC​S/resea​rchre​ book of membrane computing. New York: Oxford University Press ports​. Accessed Dec 2019. Inc. 9. Canzar, S., Andreotti, S., Weese, D., Reinert, K., & Klau, G. W. 29. Pudenz, K. L., Albash, T., & Lidar, D. A. (2014). Error-corrected (2016). CIDANE: Comprehensive isoform discovery and abun- quantum annealing with hundreds of qubits. Nature Communica- dance estimation. Genome Biology, 17, 16. tions, 5, 3243. 10. Corneil, D. G., & Perl, Y. (1984). Clustering and domination in 30. Saha, B., Hoch, A., Khuller, S., Raschid, L., & Zhang, X. N. perfect graphs. Discrete Applied Mathematics, 9(1), 27–39. (2010). Dense subgraphs with restrictions and applications to gene 11. D-Wave Systems. (2018). D-Wave Problem-Solving Handbook. annotation graphs. In B. Berger (Ed.), Research in computational User Manual. https​://docs.dwave​sys.com/docs/lates​t/doc_handb​ molecular biology (pp. 456–472). Berlin: Springer. ook.html. Accessed Dec 2019. 31. Stein, W., et al. (2016). Sage mathematics software (version 7.0). 12. D-Wave Systems. (2018). D-Wave Solver Properties and Param- eters Reference. User Manual. https​://docs.dwave​sys.com/docs/ Publisher’s Note Springer Nature remains neutral with regard to lates​t/doc_solve​r_ref.html. Accessed Dec 2019. jurisdictional claims in published maps and institutional afliations. 13. D-Wave Systems. (2018). Postprocessing Methods on D-Wave Systems. User Manual. https​://docs.dwave​sys.com/docs/lates​t/ doc_post-proce​ssing​.html. Accessed Dec 2019. 14. D-Wave Systems. (2019). Next-Generation Topology of D-Wave Cristian S. Calude has a personal Quantum Processors. https​://www.dwave​sys.com/sites​/defau​lt/ chair at the University of Auck- files​/14-1026A​- C_Next-Gener​ation​-Topol​ogy-of-DW-Quant​ land. His areas of research um-Proce​ssors​.pdf. Accessed Dec 2019. include complexity theory, algo- 15. D-Wave Systems, Inc. (2018). Developer guide for Python. Tech- rithmic information theory, nical Report Release 2.4 09-1024A-K. quantum physics and computing, 16. Dinneen, M. J., & Hua, R. (2017). Formulating graph covering history and philosophy of math- problems for adiabatic quantum computers. In: Proceedings of the ematics and computing sciences. Australasian Computer Science Week Multiconference, ACSW For more information see https://​ ’17 (pp. 18:1–18:10). New York, NY, USA: ACM. https​://doi. calud​e.net/crist​iansc​alude​/about​ org/10.1145/30148​12.30148​30. / and https​://en.wikip​edia.org/ 17. Fratkin, E., Naughton, B. T., Brutlag, D. L., & Batzoglou, S. wiki/Crist​ian_S._Calud​e. (2006). Motifcut: Regulatory motifs fnding with maximum den- sity subgraphs. Bioinformatics, 22(14), e150–1e57. 18. Hagberg, A., Schult, D., & Swart, P. (2019). NetworkX. Software for Complex Networks

1 3 C. S. Calude et al.

Michael J. Dinneen received his Richard Hua received his BSc and PhD from the University of Vic- Master of Science with frst class toria (B.C. Canada) in 1996 and honours from the University of is currently a Senior Lecturer at Auckland in 2012 and 2016, the University of Auckland. respectively. He is currently a Prior to that he was employed for PhD student in adiabatic quan- several years at the Los Alamos tum computing supported by a National Laboratory (New Mex- University of Auckland Doctoral ico, USA) working on grand- Scholarship. His research inter- challenge combinatorial search ests also include graph theory, and optimization problems using algorithms and other theoretical supercomputers, such as those computer science topics. developed by Cray Research. Besides his specialty of graph theory and algorithms, he does research on unconventional mod- els of computation such as (adiabatic) quantum computing and mem- brane computing, culminating in over 100 research papers.

1 3