Tree containment is a fundamental problem in phylogenetics useful for verifying a pro- posed phylogenetic network, representing the evolutionary history of certain species. Tree containment asks whether the given phylogenetic tree (for instance, constructed from a DNA fragment showing tree-like evolution) is contained in the given phylogenetic network. In the general case, this is an NP-complete problem. We propose to solve it approximately using Graph Neural Networks. In particular, we propose to combine the given network and the tree and apply a Graph Neural Network to this network-tree graph. This way, we achieve the capability of solving the tree containment instances representing a larger number of species than the instances contained in the training dataset (i.e., our algorithm has the inductive learning ability). Our algorithm demonstrates an accuracy of over 95% in solving the tree containment problem on instances with up to 100 leaves.

Transactions on Machine Learning Research
Optimization for and with Machine Learning
Networks and Optimization

Dushatskiy, A., Julien, E., Stougie, L., & van Iersel, L. (2024). Solving the tree containment problem using graph neural networks. Transactions on Machine Learning Research, 1–18.