  We consider a network where an infection cascade has taken place and a subset
of infected nodes has been partially observed. Our goal is to reconstruct the
underlying cascade that is likely to have generated these observations. We
reduce this cascade-reconstruction problem to computing the marginal
probability that a node is infected given the partial observations, which is a
#P-hard problem. To circumvent this issue, we resort to estimating infection
probabilities by generating a sample of probable cascades, which span the nodes
that have already been observed to be infected, and avoid the nodes that have
been observed to be uninfected. The sampling problem corresponds to sampling
directed Steiner trees with a given set of terminals, which is a problem of
independent interest and has received limited attention in the literature. For
the latter problem we propose two novel algorithms with provable guarantees on
the sampling distribution of the returned Steiner trees. The resulting method
improves over state-of-the-art approaches that often make explicit assumptions
about the infection-propagation model, or require additional parameters. Our
method provides a more robust approach to the cascadereconstruction problem,
which makes weaker assumptions about the infection model, requires fewer
additional parameters, and can be used to estimate node infection
probabilities. Empirically, we validate the proposed reconstruction algorithm
on real-world graphs with both synthetic and real cascades. We show that our
method outperforms all other baseline strategies in most cases
