Tree Recovery by Dynamic Programming

Gustavo Gratacos, Ayan Chakrabarti, Tao Ju

Research output: Contribution to journalArticlepeer-review

Abstract

Tree-like structures are common, naturally occurring objects that are of interest to many fields of study, such as plant science and biomedicine. Analysis of these structures is typically based on skeletons extracted from captured data, which often contain spurious cycles that need to be removed. We propose a dynamic programming algorithm for solving the NP-hard tree recovery problem formulated by (Estrada et al. 2015), which seeks a least-cost partitioning of the graph nodes that yields a directed tree. Our algorithm finds the optimal solution by iteratively contracting the graph via node-merging until the problem can be trivially solved. By carefully designing the merging sequence, our algorithm can efficiently recover optimal trees for many real-world data where (Estrada et al. 2015) only produces sub-optimal solutions. We also propose an approximate variant of dynamic programming using beam search, which can process graphs containing thousands of cycles with significantly improved optimality and efficiency compared with (Estrada et al. 2015).

Original languageEnglish
Pages (from-to)15870-15882
Number of pages13
JournalIEEE Transactions on Pattern Analysis and Machine Intelligence
Volume45
Issue number12
DOIs
StatePublished - Dec 1 2023

Keywords

  • Tree recovery
  • beam search
  • carving decomposition
  • dynamic programming

Fingerprint

Dive into the research topics of 'Tree Recovery by Dynamic Programming'. Together they form a unique fingerprint.

Cite this