この最適な移動の問題は締め切りの下で木のNPに困難ですか?


13

私の友人の一人が、ツリーに関する次のスケジューリングの問題を私に尋ねました。とてもきれいで面白いと思います。それについての参照はありますか?

問題: ツリー各エッジには1の対称移動コストがあります。各頂点v iに対して、期限d iの前に実行する必要があるタスクがあります。タスクはv iとしても示されます。各タスクの均一値は1です。各タスクの処理時間は0です。つまり、期限が終了する前にタスクを訪問します。一般性を失うことなく、聞かせてV 0表しルートをとに位置タスクが存在しないと仮定すると、V 0はv 0に車両がありますT(V,E)vidiviv0v0v0ほかに時刻0で、我々はその前提と各頂点のためにdidepi深さの略V I。これは自明であり、その深さがデッドラインよりも短い頂点は外れ値と見なされるべきです。問題は、できるだけ多くのタスクを完了するスケジューリングを見つけるように求めます。depivi

進捗:

  1. ツリーがパスに制限されている場合、動的プログラミングを介してます。P
  2. ツリーがグラフに一般化されている場合、完全になります。NP
  3. 3因子近似と考えられている非常に単純な貪欲なアルゴリズムがあります。完全には証明していません。今、私はNP困難な結果にもっと興味があります。:-)

助言ありがとう。


完全なグラフでは、タスクは簡単でしょうか?単純な貪欲なアルゴリズムを使用するだけです
ジョー

@ジョー:はい。すべてのエッジに1ユニットの移動が必要なため、「クロスロード」に優先順位はありません。はい、まだこの問題に興味がありますか。電子メールで話せるかもしれません。:-)
ポン張

すべての期限が同じである場合、および/またはすべてのタスクを終了できるかどうかだけを尋ねる場合はどうなりますか?
domotorp

@domotorp:それは1つの期限ですべてのタスクを完了するために要求された場合、答えは場合に限り均一期限YESである。深さ優先検索のみ。場合の最適な問題についてはd < | V | 、それが簡単かどうかわかりません。この問題には、カーディナリティが定数である有限セットから期限が値を取得する場合を考慮するなど、多くのバリエーションがありますか?コメントありがとうございます。d|V|d<|V|
eng張

私はあなたの問題を誤解している場合を除いて、NP-hardがスケジューリング動物園を見ていると言うでしょう。
ゴピ

回答:


1

これがあなたの答えかどうかはわかりませんが(下記を参照)、コメントには長すぎます。

私、あなたの問題のようなものでしたが:(P|tree;pi=1|ΣTi)

  • は同一の同種プロセッサーを表し、P
  • 「ツリー」は、ツリーの形式の優先順位制約を表し、
  • は、タスクの重みが1に等しいことを表します。pi=1
  • 遅刻の総和を最小化することを意味する(すなわち、その期限後に完了したタスクの数)。ΣTi

これが当てはまる場合、問題はNP困難です。これは、優先順位制約を使用した単一マシンでの合計遅延最小化の一般化として見ることができます。実際、このペーパーでは、複数の線形チェーンの場合、単一のプロセッサではNP困難であると述べています。簡単な変換は、1つのルートの形の木と、ルートから始まる線形チェーンを取ることです。

しかし、単一の線形チェーンの場合、動的プログラミングを使用すると言っているように見えるので驚いています。DPが必要な理由はわかりません。なぜなら、単一の線形チェーンをスケジュールするとき、優先順位の制約のために選択肢があまりないように思われるからです。だからあなたの問題を誤解したかもしれません。


私の問題はあなたのものとは異なるようです。私は、「根付きツリー、移動エッジコスト単位時間、期限のあるタスクを持つ各頂点、タスクが歳差運動する時間を必要としません。ルートから開始して、いくつのタスクを終了できますか?」です。したがって、優先順位はなく、タスクを処理するために必要な時間はありません。どうもありがとうございました。
eng張

@PengZhang、根付きツリーの場合、優先順位はありますか?エッジ(優先順位?)またはタスクのコストに関しては、同じことのように思えます。両者の違いは実際にはわからない。最後に、いくつのタスクを終了できるか、期限後に終了するタスクの数を最小化すると、終了できるタスクの数を最大化することに相当します。たぶん、あなたが期待しているものの絵を描くことができますか?
-Gopi

2つの問題の間には明確な関係はありません。元の問題では、次のノードにアクセスするコストは、前のステップでどのノードにアクセスしたかによって異なります。優先順位制約付きスケジューリングでは、優先順位制約が満たされている限り、次に処理するジョブのコストは前のステップでどのジョブが処理されたかに依存しません。
岡本良夫

@Gopi:私が思う限り、エッジのコストをノードに「転送」することはできません。ツリーがパス(おそらく、参照したチェーン)に制限されている場合、私の問題では、次のように動的プログラミングを行うことができます。頂点はと番号ましょう左から右へ。ましょうF T L Rは位置間隔から最大タスクを示す[ L R ]時刻におけるT及びvehichleのに立っL。ましょうG T L R 1,2,,nf(t,l,r)[l,r]tlg(t,l,r)と同じことを示し1 。ので、T L Rは多項式であるので、DPは多項式です。f(t,l,r)ただし、車両は立っています。次にf t l r { f l + 1 r g l rrf(t,l,r){f(,l+1,r),g(,l,r1)t,l,r
eng張

@PengZhang、わかりました、私はあなたが何を意味するかをよりよく理解していると思います。私は、枝がパスである(したがってルート化されたパスである)特別なツリーを考慮することで、私が与えた論文を簡単に適合させることができるとまだ信じています。
Gopi

1

これが真実であるためには、いくつかの仮定をしなければなりません。以下のコメントをご覧ください

ツリーの場合、最大デッドライン時間によってパラメーター化された多項式時間再帰動的プログラミングアルゴリズムがあると思います。サブ問題は次のとおりです。時間tまでにサブツリーに入る場合時間 t bまでにサブツリーを出る場合、サブツリーで完了できるタスクの最大数はいくつですか。リーフのベースケースは簡単で、ボトムアップでメモします。tatb

最大締切時間で本当にパラメーター化された場合、アルゴリズムは実際にはツリーのサイズの多項式ではありません。ただし、ツリー内のすべてのノードを訪れる最長パスの長さは多項式にすぎませんV | 、それ以降に期限を確認する必要はありません。|V|


2
再発を見せてもらえますか?前と同じことを試みました頂点aをルートとするサブツリーを訪れるサブ問題を示すようにします。しかし、2つの問題があります。1.サブ問題からソリューションを構築するにはどうすればよいですか?私が思う限り、息子の順序を列挙することは避けられません。2.ノードには何度でも出入りできます。そのため、タイムスロット[ t t ' ]、aをルートとするサブツリーにない他の頂点にアクセスした可能性があります。どうもありがとうございました。:-)f[a,t,t]a[t,t]a
鵬張

ポイント(1)は、ポイント(2)ほど問題ではありません。最初に思い描いたとおりに機能するためには、サブツリーを何度も終了して再入力しないようにする必要があります。最良の解決策がツリーの周りを飛び回らないことは明らかではありません。葉を取得し、根に近いものを取得し、葉まで歩いてから、他の2から遠く離れた別の葉まで歩きます。しかし、あなたが歩くパス上のすべてのノードを取得するという事実を活用するために。特に、子が訪問された場合、親はすでに訪問されています。
ジョー

:私の考えでは、ポイント(1)は確かに問題です。ポイント(2)では、制約を「再入力なし」制約を「深さ優先検索」制約と呼びました。DFS制約は、一般的に文献で採用されています。そして、その制約の下では、木の最大次数が定数である限り、私の問題は確かに多項式です。だから、私の質問はNPハードだろうか。どうもありがとうございました。
eng張

3
DFS制約に関しては、最適なシーケンスがこの制約に違反する例を簡単に構築できます。7つのノードを持つ完全なバランスの取れた二分木を考えます。左側のサブツリーの2つの葉には期限2と12があり、右側のサブツリーの2つの葉には期限8と6があり、内部ノードには期限100があります。 、12; その他の注文は、少なくとも1つの期限に違反します。
mhum

0

このケースで一定の近似値を取得する問題やNP-Hardを証明する問題はまだ未解決であり、どのような結果でも良い出版物になるでしょう。いくつかの特殊なケースが解決されました。私は、他の人と一緒に、クモ、一定の高さの木などの特殊なケースを解決する部分的な結果を持っています。しかし、木の一般的な問題は解決されていません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.