プロパティのリストを表すDAGがあります。これらのプロパティは、a> bの場合、aがbに向けられたエッジを持つようなものです。これも推移的であるため、a>bおよびb>cの場合、aはcに向けられたエッジを持ちます。
ただし、aはbに向けられたエッジを持ち、bはcに向けられたエッジを持っているため、aからcへの向けられたエッジは不要です。これらの余分なエッジをすべて削除するにはどうすればよいですか?最小スパニングツリーアルゴリズムを使用することを考えていましたが、この状況で適用する適切なアルゴリズムが何であるかはよくわかりません。
各ノードとそのすべての出力エッジから深さ優先探索を実行し、特定のエッジを使用せずに特定のノードに到達できるかどうかを比較できると思いますが、これはひどく非効率的で遅いようです。
アルゴリズムが完了すると、出力はグラフと一致する順序ですべてのノードの線形リストになります。したがって、aにb、c、およびdへの3つの有向エッジがある場合。bとcもそれぞれdに向けられたエッジを持ち、出力はabcdまたはacbdのいずれかになります。