rmcar17 / SpectralClusterSupertree

A supertree method for rooted source trees
BSD 3-Clause "New" or "Revised" License
5 stars 0 forks source link

Fix how edge contraction handles weights #25

Closed rmcar17 closed 11 months ago

rmcar17 commented 11 months ago

With the new refactoring for PCG weighting options, edge contraction still only handles the case for when presence of a proper cluster in a tree adds that tree weight (rather than recalculating a new weight).

rmcar17 commented 11 months ago

Two options here. Consider we contract an edge (a,b). How do we handle conflicting weights between edges (a,c) and (b,c). What MCS would do was go through the trees and count if if either a c or b c was a proper cluster, which works but is slightly harder when dealing with things like branch lengths (maximum of ac's or bc's LCA?). What is more intuitive to me at least is maximal support (just max of the incoming branch lengths).

rmcar17 commented 11 months ago

The latter might reduce biases from (a,b) becoming a super node.

rmcar17 commented 11 months ago

Fixed with max function,