The Jungle is a digraph (directed graph).
The vertices of the jungle are the extant & hypothesized host/parasite associations.
The arcs of the jungle correspond to arcs of the associate tree.
The inferred events are dependent only on the arcs in the jungle.
The jungle is a graph whose vertices are host/parasite associations and whose arcs correspond to arcs in the parasite tree. Each arc suggests a set of co-evolutionary events and its cost is calculated.
Since we can treat subtrees of the parasite (associate) tree independently, we can utilise the fact that many components of solutions will occur in many different complete solutions - in the same way that individual clades occur in many different evolutionary trees. So we can adopt a Dynamic Programming approach, in which the global optimisation can be achieved by optimising in stages.