Replies: 3 comments 4 replies
-
I worry a little that the current simplification process could be seen to misleadingly create extra topology, in the example above, linking 4 to 13 without going through 11. We therefore need to be careful to say that in an arg diagram like the above, even if it appears that there are separate routes through the topology, they may (weirdly?) actually correspond to the same lineage. |
Beta Was this translation helpful? Give feedback.
-
I think the current simplification is well justified, in that it guarantees to keep all of the coalescences. So, if what you want are the marginal trees with all nodes of arity > 1 (which is what nearly everyone would consider a tree in the first place), this is what simplify does. I'd bet that this corresponds to the minimal number of nodes which you could use to represent the full information of those trees (including branch lengths), but I'm not sure how you'd go about proving that. The default simplify operation may not be what you want in every situation, but it's well defined and a useful thing to do. |
Beta Was this translation helpful? Give feedback.
-
Just to say that the version that I'm proposing, which keeps unary nodes if they are also coalescent points in other trees, is guaranteed to have the same number of tree sequence nodes as the fully simplified version, without unary nodes), although as @jeromekelleher says (above), local trees may have extra unary nodes present. The interesting thing would be to show under what circumstances it is possible to simplify to a lower number of edges than the default simplification process, while keeping the total number of nodes the same. |
Beta Was this translation helpful? Give feedback.
-
We have encountered the case, a number of times, when simplification with
keep_unary=False
can actually increase the number of edges in a tree sequence. Indeed, for this reason, we currently keep unary nodes when simplifying intsinfer
.An intuition for this rather unexpected result can be seen in the example currently used in the what-is-an-arg paper:
As I noted in the issue for that figure,
@petrelharp also commented:
Beta Was this translation helpful? Give feedback.
All reactions