Branch-and-Prune trees with bounded width.
Leo Liberti, Benoît Masson, Carlile Lavor, Antonio Mucherino · 2011
The Molecular Distance Geometry Problem, which asks to find the embedding in R of a given weighted undirected graph, is a good model for determining the structure of proteins given a set of inter-atomic distances [6,4]. Its generalization to R is called Distance Geometry Problem (DGP), which has applications in wireless sensor networks [2] and graph drawing. In general, the MDGP and DGP implicitly require a search in a continuous Euclidean space. Proteins, however, have further structural properties that can be exploited to define subclasses of instances of the MDGP and DGP whose solution set is finite [5]. These instances can be solved with an algorithmic framework called Branch-and-Prune (BP) [3,5]: this is an iterative algorithm where the i-th atom of the protein can be embedded in R using distances to at least three preceding atoms. Since the intersection of three 3D spheres contains in general two points, the BP gives rise to a binary search tree. In the worst case, the BP is an exponential time algorithm, which is fitting because the MDGP and DGP are NP-hard [9].