I Introduction
Given an undirected graph , a weight , and a subset of vertices , usually referred to as terminals, a Steiner tree is a tree that connects all vertices in K. In this paper, let be the size of vertices and be the size of terminals. A Steiner tree is the minimum Steiner tree (MST) when the total edge weight is the minimum among all Steiner trees of . Note that all leaves of a Steiner tree are vertices in . The task that finds a minimum Steiner tree is called minimum Steiner tree problem, and this problem is known as an NPhard problem karp1972reducibility . Note that for fixed , this problem can be solved in polynomial time, which means that the minimum Steiner problem is fixed parameter tractable downey2012parameterized ; flum2006parameterized .
A naive way to solve the minimum Steiner tree problem is to compute all possible trees. However, the number of all trees in the graph is at worst. However, an exhaustive search is not realistic. The DreyfusWagner algorithm (the DW algorithm) is a wellknown algorithm based on dynamic programming for solving the Steiner problem in time dreyfus1971steiner . The notation hides a polynomial factor in and . This algorithm has been the fastest algorithm for decades. In 2007, Fuchs et al. fuchs2007speeding have improved this to and Mölle et al. molle2006faster to for any constant . For a graph with a restricted weight range, Björklund et al. have proposed an algorithm using subset convolution and Möbius inversion bjorklund2007fourier . An important thing is that the dynamic programming part of these algorithms molle2006faster ; fuchs2007speeding ; bjorklund2007fourier use the DW algorithm.
In order to speed up classical algorithms, use of quantum algorithms is an effective technique. In particular, Grover’s quantum search (Grover search) grover1996fast and its generalization, quantum amplitude amplification brassard2002quantum ; mosca1998quantum , are widely applicable. Grover search brings quadratic speed up to an unstructured search problem grover1996fast ; boyer1998tight . This is one of the advantages quantum algorithms have over classical algorithms. For NPhard problems, speeding up using Grover search grover1996fast is a typical method. However, simply applying Grover search to a classical algorithm does not always make faster than the best classical algorithm in many problems. For example, in 1805.10928 , by using quantum computers, the Travelling Salesman Problem (TSP) for a graph which has vertices is solved in time which is the square root of the classical complexity of an exhaustive search. However, the best classical algorithm for TSP takes only Bellman:1962:DPT:321105.321111 ; held1962dynamic which is clearly faster than .
In order to speed up algorithms for the minimum Steiner tree problem, it is thought that use of Grover search is also an effective technique. Combining classical algorithms with Grover search is one of the ways to make an algorithm faster than the best classical algorithm. For example, Ambainis et al. ambainis2018quantum have combined Grover search with algorithms for TSP, Minimum Set Cover Problem and so on that use dynamic programming. A naive way is replacing the dynamic programming part of the algorithm of Ambainis et al. by DW algorithm. However, we cannot use the method of Ambainis et al. in the same way because the characteristic of minimum Steiner tree problem differs from that of TSP. Hence, we adapt this method to a method proposed by Fuchs et al. fuchs2007speeding for applying Grover search. The decomposition method of Fuchs et al. is optimized for a classical computer. We optimize the decomposition for a quantum computer. Our algorithm achieved the complexity . Table 1 shows the complexity of classical algorithms for minimum Steiner tree problem and our proposed algorithm.
Algorithm  Complexity  classical or quantum 
Dreyfus and Wagner dreyfus1971steiner  classical  
Fuchs fuchs2007speeding  classical  
Mölle molle2006faster  classical  
Björklund bjorklund2007fourier ( best known in the restricted weight case)  classical  
This paper  quantum 
Ii Preliminaries
Graph Contraction
For a graph and a subset of vertices , a graph contraction is a graph which is obtained by removing all edges between two vertices in , replacing all vertices in with one new vertex , and rejoining all the edges joined to vertices in to .
DürrHøyer algorithm
DürrHøyer quantum algorithm (DH algorithm) durr1996quantum is an algorithm for finding the minimum in an unsorted database based on Grover’s quantum search algorithm grover1996fast . Let be unsorted elements from an ordered set, and consider the task that finds the minimum . We need operations to solve this task on a classical computer. DürrHøyer quantum algorithm solves this task with operations.
Iii Prior Work
In this section we explain three algorithms as prior work. We briefly explain two classical algorithms for the minimum Steiner tree problem in Secs. III.1 and III.2 and show a quantum algorithm for TSP proposed by Ambainis et al. in Sec. III.3. For explaining the algorithms in Secs. III.1 and III.2, we use a graph in Figure 1(a) as an example.
iii.1 The DreyfusWagner algorithm
For a given subset of vertices , the task is to find the minimum Steiner tree for . The DW algorithm computes all minimum Steiner trees for where . The minimum Steiner tree is always decomposed into three subtrees , and where . The decomposition is realized as follows.

Consider a tree that connects and look at this tree from , where is a root of this tree.

Starting from , go down the tree until reaching either a vertex in or a vertex of degree at least 3. We call the vertex . Note that it is possible that .

If , we define and if not, let be one connected component of when we remove from the tree.
Regardless of how to define , is decomposed into three parts:

the path from to

the tree that connects and

the tree that connects and
For example, Figure 2 shows the tree connecting that are drawn in circled nodes. In the figure, the tree is decomposed into the black path from to , the red tree that connects and , and the blue tree that connects and .
Let be the weight of a tree that connects . By using this decomposition property, we obtain the following recursion.
(1)  
(2) 
If we compute by this recursion, then we can easily construct the MST for .
iii.2 The algorithm proposed by Fuchs et al.
In the DW algorithm, we have to search all subsets . Fuchs et al. have improved the DW algorithm by limiting the sizes of subset of and deviding the algorithm into two parts: a dynamic programming part and a part which merges three subtrees. We need to define the decomposition that is introduced in fuchs2007speeding .
Definition
For a tree , an split of is a partition
such that each is connected.
We also use the following notation, which is illustrated in Fig. 3
Note that shows the set of vertices of the tree . We call the set of the split nodes.
According to this notation, the decomposition in the DW algorithm has one split node. Fuchs et al. proposed the decomposition that has split nodes where is a small positive number. This allows us to decide the size of in error less than . Furthermore, each is a minimum Steiner tree for in the graph contraction . We prove this property for 2partition in Sec. IV.
In Figure 4, the tree that connects is decomposed into 2 parts. The red tree connects nodes and the blue tree connects nodes . In this situation, the split nodes are nodes and . In the graph , the red tree and the blue tree have the same edge connecting and . Hence, if we simply merge them in , nodes and are connected by two edges. However, considering the red tree in and the blue tree in the graph contraction , we can count edges without duplication. As shown in Figure 4, the red tree is an MST for in , and the blue tree is an MST for in .
The algorithm proposed by Fuchs et al. computes MSTs for all subsets of whose sizes are less than a certain constant using dynamic programming. Then, apply an exhaustive search for the split . We obtain the complexity by optimizing the parameter ().
iii.3 A Quantum Algorithm for Travelling Salesman Problem
In ambainis2018quantum , Ambainis et al. have proposed quantum algorithms for several problems which are solved using dynamic programming on a classical computer. In particular, they have proposed a quantum algorithm for TSP in time . This algorithm combines DH algorithm with BellmanHeldKarp algorithm Bellman:1962:DPT:321105.321111 ; held1962dynamic which solves TSP classically in time . For a graph with , and a weight , TSP is a problem that finds the shortest simple cycle that visits each vertex. For and , let be the length of the shortest path which starts in , visits all vertices in at once, and ends in . The BellmanHeldKarp algorithm uses the following recursion:
(4) 
can also be calculated recursively by splitting into two sets. Let be some fixed number in the range of . Then
(5) 
In their algorithm, and are computed classically and then for , are computed by applying DH algorithm to Eq. (III.3).
Iv The proposed algorithm
In TSP, the two routes that are obtained by dividing the optimal route into two parts are also the optimal routes in the parts. That is, is computed by splitting into two parts of a fixed size and merging the optimums of them. However, in the case of of Eq. (1) in minimum Steiner tree problem, the property like this is not true. In other words,
(6) 
Hence, we cannot apply DH algorithm to minimum Steiner tree problem in the same way as in ambainis2018quantum since the property of minimum Steiner tree problem differs from that of TSP. We propose an alternative recursion based on the method by Fuchs et al. fuchs2007speeding . We regard the split nodes as tentative terminals and then the two subtrees that are obtained by dividing the MST into two parts are also the MSTs for two parts of the terminals.
Here we show the proofs of these things. Let be a minimum Steiner tree for . is computed by the following procedure. Using Lemma 1 in fuchs2007speeding , we obtain Theorem 1.
Theorem 1.
For any 2partition ,

is an MST for on .

is an MST for on .
Proof.
1. Let be any Steiner tree for on . is a Steiner tree for . Since is an MST for ,
Hence, , proving 1.
2. Obviously, is a Steiner tree for in . Let be a Steiner tree for in . is connected and spans . Since is an MST for ,
Hence . ∎
Furthermore, we use Lemma 2 in fuchs2007speeding as Theorem 2.
Theorem 2.
There exists a 2partition which satisfies for any and any . We can choose the corresponding set of split nodes A of size at most .
Proof.
There exists such that all components of have sizes . For these components , we let where is the minimum number that satisfies . meets all conditions for . For the case of , also we consider . If , then by induction on , we can construct a 2partition , for an appropriately small constant so that meets all conditions. For more information, you can see the proof of Lemma 1 in fuchs2007speeding . ∎
By Theorems 1 and 2, we obtain the following recursion.
(7) 
where is a weight of an MST for on . As shown in Eq. (6), the tree that is obtained by dividing an MST is not an MST. However, a tree becomes an MST by regarding split nodes and the node as tentative terminals.
Algorithm 1 shows the proposed algorithm. Our algorithm is constructed by the classical part and the quantum part. First, the algorithm computes minimum Steiner trees for all subsets of sizes at most classically. Then, we apply DürrHøyer algorithm to combine these subtrees in three steps. Splitting the tree more than 3 parts makes the complexity of the quantum part worse and using DH algorithm more than 3 levels also makes the complexity worse. We will discuss these things in Appendix A.
iv.1 Running Time
The complexity of the classical part of this algorithm is
(8) 
The complexity of the quantum part of this algorithm is
(9) 
Following fuchs2007speeding , by substituting in Eqs. (8) and (9), we respectively obtain the following:
(10)  
(11) 
The overall complexity is minimized when both parts are equal. Hence the optimal choice for is approximately 0.28325. We will show this in Appendix A. The running time of the algorithm then is .
V Conclusion
In this paper we presented a quantum algorithm for solving the minimum Steiner tree problem. We explained that the complexity of our algorithm is . As shown in Table 1, the complexity of this algorithm is smaller than those of any classical ones.
References
 (1) Richard M Karp. Reducibility among combinatorial problems. In Complexity of computer computations, pages 85–103. Springer, 1972.
 (2) Rodney G Downey and Michael Ralph Fellows. Parameterized complexity. Springer Science & Business Media, 2012.
 (3) Jörg Flum and Martin Grohe. Parameterized complexity theory. Springer Science & Business Media, 2006.
 (4) Stuart E Dreyfus and Robert A Wagner. The steiner problem in graphs. Networks, 1(3):195–207, 1971.
 (5) Bernhard Fuchs, Walter Kern, and Xinhui Wang. Speeding up the Dreyfus–Wagner algorithm for minimum Steiner trees. Mathematical methods of operations research, 66(1):117–125, 2007.
 (6) Daniel Mölle, Stefan Richter, and Peter Rossmanith. A faster algorithm for the Steiner tree problem. In Proceedings of the 24th Annual Symposium on Theoretical Aspects of Computer Science, pages 561–570. Springer, 2006.

(7)
Andreas Björklund, Thore Husfeldt, Petteri Kaski, and Mikko Koivisto.
Fourier meets Möbius: fast subset convolution.
In
Proceedings of the thirtyninth annual ACM symposium on Theory of computing
, pages 67–74, 2007.  (8) Lov K Grover. A fast quantum mechanical algorithm for database search. In Proceedings of the twentyeighth annual ACM symposium on Theory of computing, pages 212–219, 1996.

(9)
Gilles Brassard, Peter Hoyer, Michele Mosca, and Alain Tapp.
Quantum amplitude amplification and estimation.
Contemporary Mathematics, 305:53–74, 2002. 
(10)
Michele Mosca et al.
Quantum searching, counting and amplitude amplification by eigenvector analysis.
In MFCS’98 workshop on Randomized Algorithms, pages 90–100, 1998.  (11) Michel Boyer, Gilles Brassard, Peter Høyer, and Alain Tapp. Tight bounds on quantum searching. Fortschritte der Physik: Progress of Physics, 46(45):493–505, 1998.
 (12) Karthik Srinivasan, Saipriya Satyajit, Bikash K. Behera, and Prasanta K. Panigrahi. Efficient quantum algorithm for solving travelling salesman problem: An IBM quantum experience, 2018.
 (13) Richard Bellman. Dynamic programming treatment of the travelling salesman problem. J. ACM, 9(1):61–63, 1962.
 (14) Michael Held and Richard M Karp. A dynamic programming approach to sequencing problems. Journal of the Society for Industrial and Applied Mathematics, 10(1):196–210, 1962.
 (15) Andris Ambainis, Kaspars Balodis, Jānis Iraids, Martins Kokainis, Krišjānis Prūsis, and Jevgēnijs Vihrovs. Quantum speedups for exponentialtime dynamic programming algorithms. arXiv preprint arXiv:1807.05209, 2018.
 (16) Christoph Durr and Peter Hoyer. A quantum algorithm for finding the minimum. arXiv preprint quantph/9607014, 1996.
Appendix A Optimizing Parameters of the Proposed Method
First, we show that applying DH algorithm in three steps is optimal by discussing a method that uses DH algorithm in steps. We show that applying DH algorithm in more than three steps increases the complexity of the quantum part and applying DH algorithm in less than three steps also increases the complexity of the classical part. If the algorithm uses DH algorithm in steps, the complexity of the classical part of the algorithm is
(12) 
The quantum part of the algorithm is
(13) 
Figure 5 shows the relationship between the classical part and the quantum part of the complexity as a function of . As shown in the figure, the two complexities equal at about . Hence, as its nearest integer, we should choose or . If , the classical part is over , which is worse than the complexity of the best classical algorithm. On the other hand, if , both of the complexities of the classical and quantum parts are better than . Hence, is optimal.
In the rest of this section, in order to obtain the best possible complexity of the method with , we optimize the parameter . According to Stirling’s Formula, Eqs. (10) and (11) are respectively deformed as
(14) 
and
(15) 
Since the complexity is minimized when the complexities of the classical and quantum parts equal, we can optimize the parameter by solving the following equation:
(16) 
Figure 6 shows the right side and the left side of this equation. The solution of this equation is . Hence, we can achieve a total time
(17) 
by an appropriately small choice of .
Appendix B Other approaches
We can consider three different strategies to apply DH algorithm other than the proposed algorithm.
First, there is a way to simply apply DH algorithm to the method proposed by Fuchs et al., in which DH algorithm is applied for merging three subtrees. However, to classical preprocessing, we have to take , which is the complexity of the algorithm proposed by Fuchs et al., because the decomposition ratio of the method of Fuchs et al. is optimized for classical computing. Hence, this approach is inefficient.
Second, as discussed above, the ratio in dividing the tree of the algorithm proposed by Fuchs et al. is optimized for classical computing. Hence, we examine the optimum case for quantum computing that the algorithm divides the tree into while the method proposed by Fuchs et al. divides the tree into where . Compared to our algorithm which applies DH algorithm after trees are divided into two parts, the algorithm examining here applies DH algorithm after trees are divided into three parts. If we already compute all , we can obtain by applying DH algorithm in levels. In this case the complexity of the classical part is
(18) 
That of the quantum part is
(19)  
(20) 
Note that the second square root of Eq. (B) exists because how to select the second subtree is not uniquely determined when the tree is divided into three parts.
In Figure 7, the red line shows the quantum part and the blue line shows the classical part. We can minimize the complexity when . However, even when , the complexity exceed , which is the complexity of the best classical algorithm.
Finally, we consider a possibility that makes our algorithm faster by reducing the complexity of the classical part. In our algorithm, the size of the subtree which is computed classically is and . Hence, if the size of the subtree which is computed classically can be of the original tree size, the complexity of the algorithm may be better than our algorithm. Then, we think a method that splits the tree into three parts followed by splitting the tree into two parts. That is, is classically computed and three of them are merged to by using DH algorithm, and finally we obtain by merging two of them by using DH algorithm. In this case the complexity of the classical part is reduced to and that of the quantum part is increased to
(21) 
We can improve it by classically computing . Note that . Then the complexity of quantum part is modified as
(22) 
When , this is minimized to , which is slower than our algorithm. We can also consider the method in which the merging order is reversed. That is, is classically computed and two of them are merged to by using DH algorithm, and finally we obtain by merging three of them by using DH algorithm. In this case the complexity of the quantum part is
(23) 
We can also improve it by classically computing . Then, the complexity of quantum part is
(24) 
Hence, this method is also slower than our algorithm.
Comments
There are no comments yet.