タイトルが下手ですみません。グラフアルゴリズムは初めてです。
私は数日間問題に悩まされています。有向非巡回グラフのすべてのノードが重み付けされている場合、重みが負になる可能性がある場合、重みの合計が最大になるセットを見つけるにはどうすればよいですか?
たとえば、5 つのノードのグラフがあります。
- ノード 1 : 重み 30、ノード 4 に向けられたエッジを持つ
- ノード 2 : 重み 25、エッジがノード 4、5 に向けられている
- ノード 3 : 重み -65、エッジなし
- ノード 4 : 重み -20、エッジからノード 5
- ノード 5 : 重み 2、エッジなし
最大ポイントを見つけながら、たとえば、ノード 1 が選択された場合、ノード 4 と 5 を選択する必要があります (ノード 1 から直接/間接的に隣接しているため)。
したがって、最大ポイントは- (30-20+2)+(25)=37 です。
ノード 1 と子孫 4,5 の場合、次にノード 2 の場合 (ノード 4,5 は考慮されなくなりました)
問題が明確になったことを願っています。どうすればこれを達成できるか教えてもらえますか?