重みのあるエッジのリストがあり、それらから互いに素なセットを取得したいと考えています。ただし、セット内でも重みを追跡したいと考えています。たとえば、データセットがある場合、
N1 N2 Weight
a1 a2 1.0
a2 a3 0.5
a3 a5 1.0
a4 a8 1.0
a8 a9 0.8
2セットになります
[(a1,1.0), (a2,1.0), (a3,1.0*0.5), (a5,0.5*1.0)] and [(a4,1.0),(a8,1.0), (a9,1.0*0.8)]
基本的に、関係の重みは重みで乗算されます。ブルートフォース以外にこれを追跡するための効率的なアルゴリズムはありますか? 選択した言語は python です。