重み付けされた 2 つの DAG (有向非巡回グラフ) があり、それらを 1 つにマージする必要があるため、トポロジー順序を取得できます (場合によっては 2 つ以上になる可能性があります)。問題は、グラフはそれぞれ非循環的ですが、一緒に循環を形成できることです。また、グラフが大きい (100k 以上のノード、500k 以上のエッジ)。グラフをマージする賢い方法はありますか? すべてのグラフを「一度に」トラバースするアルゴリズムも同様に優れています。
編集:
「マージ」とは、サイクルが作成されない場合、両方のグラフのすべてのエッジと頂点を組み合わせることを意味します (もちろん、重みを保持します)。エッジが既に存在する場合は、より大きな重みを使用したいと考えています。
アイデアは、2 つの非巡回グラフで開始すると、後で結果を単純に「修正」するよりも利点が得られるということです (これは、NP 困難なフィードバック アーク セットを見つけることを意味するため、それを避けたいと考えていました)。
ご提案いただきありがとうございます。