学生の合計時間を最小化するための最適な質問のシーケンスを見つける


13

大学でチュートリアルセッションがあるとします。私たちは、一連の持っている質問との集合 の学生。各学生は、すなわち、各学生のために、質問の特定のサブセットに疑問を持っている、聞かせてQ J ⊆ Qは、生徒が疑問を持っていることを質問の集合とします。仮定 ∀ 1 ≤ jの≤ N :Q J ≠ φと ⋃ 1 ≤ jの≤ N Q J = Q。k Q = { q 1 … q k } n S = { s 1 … s n } s jkQ={q1…qk}nS={s1…sn}sjQj⊆Q∀1≤j≤n:Qj≠ϕ⋃1≤j≤nQj=Q

すべての生徒は最初(t = 0t=0)にチュートリアルセッションに入ります。現在、学生は、疑問を抱いているすべての質問について話し合うとすぐにチュートリアルセッションを終了します。各質問について議論するのにかかる時間が等しいと仮定します。たとえば、1単位∗とします。ましょうトンのjが費やす時間ものS jのチュートリアルセッションで。我々は、最適な順列を知りたいσ問題が議論されているが (Q σ (1 )、 ... 、Q σ (N ))ような量T σ =∗tjsjσ(qσ(1)…qσ(n))Σ 1 ≤ J ≤ N TのjがTσ=Σ1≤j≤ntj最小化されます。

多項式時間アルゴリズムを設計することも、N PNP硬さを証明することもできませんでした。

我々は、問題の決定バージョン定義することができる T U T = { ⟨ kは、N 、F Q、C ⟩ | ∃ σ :T σ ≤ C }

TUT={⟨k,n,FQ,C⟩∣∃σ:Tσ≤C}

ここで、F QFQはQ jQjのセットです。

我々は、最小を見つけることができ T σに使用してバイナリ検索Cを、最適を見つけるσに部分的割り当てを使用してσは、Oracleを使用して多項式時間でT U T。また、T U T ∈ N P最適のでσは、我々は多項式時間で容易に確認することができる証明書として使用することができます。TσCσσTUTTUT∈NPσ

私の質問:T U T N Pは完全ですか?それとも多項式時間アルゴリズムを設計できますか?TUT NP

補足:ちなみに、この質問は実際のチュートリアルセッションの後で考えました。TAは通常の順序q 1 … q nで質問を議論しました。q1…qn

例えば
レッツK = 3及びN = 2。Q 1 = { q 3 }およびQ 2 = { q 1、q 2、q 3 }。我々が見ることができる最適なσ = ⟨ 3 、1 、2 ⟩その場合、のでsは1枚の後の葉を、T 1 = 1及びsは2葉後にTk=3n=2Q1={q3}Q2={q1,q2,q3}σ=⟨3,1,2⟩s1t1=1s22 = 3、合計は4であるので、 私たちは順番に質問を議論ならば、しかし ⟨ 1 、2 、3 ⟩、そして sは1および sは2両端まで待つとしなければならないトン1 = T 2 = 3ので、合計は6です。t2=3
⟨1,2,3⟩s1s2t1=t2=3

*各質問 q iが x i単位で議論するより一般的なケースを自由に解くことができます!∗qixi


明確にするために、すべての生徒は同時に入場しますか、それとも最初の質問が出された瞬間から入場しますか?
— 離散トカゲ

@Discretelizardすべての学生が最初に同時に入場します(t = 0)。
— skankhunt42

現在の定義では、質問セットは一意です。つまり、質問セットは多くても1人の学生に属します。これは合理的な単純化である可能性がありますが、これが現実的であるとは思いません(そして、これは問題の複雑さに大いに役立つとは思いません)
— 離散トカゲ

2人の生徒がまったく同じ質問のセットを持つことができると思うので、待ち時間は2倍になります。
— gnasher729

回答:


1

問題T U TはNP困難であると思われます。NP困難な問題に強く関連するように問題を変換する方法を示します。(はい、これはかなり曖昧です。基本的に私の一般的なアプローチは正しいと思いますが、現在は続行できません。)TUT

まず、問題T U Tは次のように再定式化できることに注意してください。TUT

質問のセット所与QサイズのK個のセットのN個の部分集合F Q ⊆ P(Q )と整数C、配列が存在しΣ :⟨ S 1、... 、SのK ⟩そのような全てのために、そのiは∈ { 1 、… 、k }:QknFQ⊆P(Q)CΣ:⟨S1,…,Sk⟩i∈{1,…,k}

  1. S I ⊆ Qと | S i | = i ; そしてSi⊆Q|Si|=i
  2. S I ⊂ SのjのすべてのためのJ > I。そしてSi⊂Sjj>i
  3. ∑ k i = 1 | { Q ∈ F Q | Qは⊈ S I } | ≤ C?∑ki=1|{q∈FQ∣q⊈Si}|≤C

集合S iは、説明する最初のiの質問を表すことに注意してください。条件1および2は、この解釈に従ってサブセットが適切に形成されていることを保証します。条件3は、すべての時間に残していない生徒の数をカウントするため、実際には、すべての生徒の合計待機時間になります。Sii

今、我々は、中のサブセットのサイズ制限F Qとに2我々は頂点からの元素であるグラフ上のエッジとしてこれらのサブセットを表すことができるので、Q。(この特殊なケースの硬度結果は、一般的な問題の硬度に十分です)FQ2Q

さて、最小化の問題| { Q ∈ F Q | Qは⊈ S I } | 単一のために私(これは、本質的に条件2を無視している)私は「ダビングされ、次のような問題と等価であるダブル最大  k個の -vertex-カバーを」|{q∈FQ∣q⊈Si}|iDouble max k-vertex-cover

無向グラフ所与G = (V 、E )と整数KおよびT、頂点の集合が存在するV ' ⊆ VせいぜいサイズのKをように設定{ (U 、V )∈ E | U ∈ V ' ∧ V ∈ Vは' }少なくともの大き有するTは?G=(V,E)ktV′⊆Vk{(u,v)∈E∣u∈V′∧v∈V′}t

この問題はNP困難です。なぜなら、この答えが示すように、kクリークはこの問題の特殊なケースだからです。しかし、これは証明するのに十分ではありませんT U Tは、我々はすべてのための最大見つける必要があるため、NP困難であることを私がこの条件は、すべてのシーケンスによって満たされていない条件2を尊重しつつ、Σを満たす唯一の条件1と3:サイズ4の 1つと他のサイズ3の 2つの互いに素なサイクルを持つ7つの頂点のグラフを考えます。以下のために、私は= 3、のすべての頂点を選択3の全ての頂点を選択しながら-cycleは、最大値を与える4kTUTiΣ743-cycleはi = 4に最適です。

条件2は問題をさらに難しくし、間違いなく簡単ではないようです。つまり、T U TはNP困難であるべきですが、これを正式に証明する方法は見当たりません。

したがって、要約すると、質問を次のように減らしました。

  • T U Tの硬度証明を完了するために条件2を含めることは可能ですか?

サイドノート:私が与えた定式化は、|を見つける反復アルゴリズムを試してみたいと思います。{ Q ∈ F Q | Qは⊈ S I } | i = 1 … kからの条件2で、i − 1のすべての最大セットの最大「拡張」を見つける。1回の反復での最大セットの量はkで指数関数的である可能性があるため、これは効率的なアルゴリズムにはつながりません。さらに、一部のiのサブセットを決定する方法を見たことがない サブセットの指数関数的な量をチェックすることを防ぐために、最終的に「グローバルな」最大値になります。

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