  The Planar Steiner Tree problem is one of the most fundamental NP-complete
problems as it models many network design problems. Recall that an instance of
this problem consists of a graph with edge weights, and a subset of vertices
(often called terminals); the goal is to find a subtree of the graph of minimum
total weight that connects all terminals. A seminal paper by Erickson et al.
[Math. Oper. Res., 1987] considers instances where the underlying graph is
planar and all terminals can be covered by the boundary of $k$ faces. Erickson
et al. show that the problem can be solved by an algorithm using $n^{O(k)}$
time and $n^{O(k)}$ space, where $n$ denotes the number of vertices of the
input graph. In the past 30 years there has been no significant improvement of
this algorithm, despite several efforts.
  In this work, we give an algorithm for Planar Steiner Tree with running time
$2^{O(k)} n^{O(\sqrt{k})}$ using only polynomial space. Furthermore, we show
that the running time of our algorithm is almost tight: we prove that there is
no $f(k)n^{o(\sqrt{k})}$ algorithm for Planar Steiner Tree for any computable
function $f$, unless the Exponential Time Hypothesis fails.
