Menemukan urutan pertanyaan yang optimal untuk meminimalkan total waktu siswa


13

Misalkan ada sesi tutorial di universitas. Kami memiliki serangkaian pertanyaan dan satu set siswa . Setiap siswa memiliki keraguan dalam subset pertanyaan tertentu, yaitu untuk setiap siswa , biarkan menjadi set pertanyaan yang siswa ragukan. Asumsikan bahwa \ forall 1 \ leq j \ leq n: Q_j \ neq \ phi dan \ bigcup_ {1 \ leq j \ leq n} Q_j = Q .kQ={q1qk}nS={s1sn}sjQjQ1jn:Qjϕ1jnQj=Q

Semua siswa memasuki sesi tutorial di awal (di t=0 ). Sekarang, seorang siswa meninggalkan sesi tutorial segera setelah semua pertanyaan di mana ia memiliki keraguan telah dibahas. Misalkan waktu yang dibutuhkan untuk membahas setiap pertanyaan sama, katakan 1 unit . Biarkan tj menjadi waktu yang dihabiskan oleh sj di sesi tutorial. Kami ingin mengetahui permutasi yang optimal σ di mana pertanyaan dibahas (qσ(1)qσ(n)) seperti kuantitas Tσ=Σ1jntj diminimalkan.

Saya belum bisa mendesain algoritma waktu polinomial, atau membuktikan NP -newness.

Kita dapat mendefinisikan versi keputusan dari masalah

TUT={k,n,FQ,Cσ:TσC}

di mana FQ adalah himpunan Qj .

Kita kemudian dapat mengetahui T_ \ sigma minimum Tσmenggunakan pencarian biner pada C dan menemukan \ sigma optimal σmenggunakan penugasan sebagian untuk σ dalam waktu polinomial menggunakan oracle untuk TUT . Juga, TUTNP karena \ sigma optimal σdapat digunakan sebagai sertifikat yang dapat kita verifikasi dengan mudah dalam waktu polinomial.

Pertanyaan saya: Apakah -lengkapi atau bisakah kita merancang algoritma waktu polinomial untuk itu?N PTUT NP

Sidenote: Ngomong-ngomong, saya memikirkan pertanyaan ini setelah sesi tutorial yang sebenarnya, di mana TA membahas pertanyaan dalam urutan normal karena itu banyak siswa harus menunggu sampai akhir.q1qn

Contoh
Misalkan dan . dan . Kita dapat melihat bahwa yang optimal karena dalam kasus itu, meninggalkan setelah dan meninggalkan setelah , jadi jumlahnya adalah 4. Namun, jika kita membahas pertanyaan dalam urutan , lalu dan keduanya harus menunggu sampai akhir dan , jadi jumlahnya 6.n = 2 Q 1 = { q 3 } Q 2 = { q 1 , q 2 , q 3 } σ = 3 , 1 , 2 s 1 t 1 = 1 s 2 t 2 = 3 1 , 2 , 3 s 1 s 2 t 1 =k=3n=2Q1={q3}Q2={q1,q2,q3}σ=3,1,2s1t1=1s2t2=3
1,2,3s1s2t1=t2=3

Anda bebas untuk menyelesaikan kasus yang lebih umum di mana setiap pertanyaan membutuhkan unit untuk didiskusikan!qixi


Untuk memperjelas: apakah semua siswa masuk pada saat yang sama, atau apakah mereka masuk sejak saat pertanyaan pertama mereka diajukan?
Kadal diskrit

@ Discretelizard Semua siswa masuk pada waktu yang sama di awal (di t = 0).
skankhunt42

Dalam definisi saat ini, set pertanyaan unik, yaitu set pertanyaan paling banyak dimiliki oleh satu siswa. Ini bisa menjadi penyederhanaan yang masuk akal, tapi saya ragu ini realistis (dan saya ragu ini akan banyak membantu untuk kompleksitas masalah)
Kadal diskrit

Saya kira dua siswa dapat memiliki set pertanyaan yang sama persis, sehingga waktu tunggu akan dikalikan dua.
gnasher729

Jawaban:


1

Saya menduga masalah menjadi NP-keras. Saya akan menunjukkan cara mengubah masalah sehingga sangat terkait dengan masalah yang NP-keras. (Ya, ini semua agak kabur. Pada dasarnya saya pikir pendekatan umum saya benar, tetapi saat ini saya tidak dapat melanjutkan.)TUT

Pertama, catatan bahwa masalah dapat dirumuskan sebagai berikut:TUT

Mengingat satu set pertanyaan ukuran k , satu set n himpunan bagian F QP ( Q ) dan integer C , tidak terdapat urutan Σ : S 1 , ... , S k seperti itu, untuk semua i { 1 , ... , k } :QknFQP(Q)CΣ:S1,,Ski{1,,k}

  1. dan | S i | = i ; danSiQ|Si|=i
  2. untuk semua j > i ; danSiSjj>i
  3. ?i=1k|{qFQqSi}|C

Perhatikan bahwa himpunan mewakili pertanyaan i pertama yang akan dijelaskan. Kondisi 1 dan 2 memastikan bahwa himpunan bagian terbentuk dengan baik sesuai dengan interpretasi ini. Kondisi 3 menghitung jumlah siswa yang tidak pergi setiap saat, jadi itu benar-benar jumlah total waktu tunggu di antara semua siswa.Sii

Sekarang, kita membatasi ukuran subset di ke 2 , sehingga kita dapat mewakili himpunan bagian ini sebagai tepi pada grafik di mana simpul adalah elemen dari Q . (Hasil kekerasan untuk kasus khusus ini cukup untuk kekerasan masalah umum)FQ2Q

Sekarang, masalah meminimalkan untuk i tunggal (ini pada dasarnya mengabaikan kondisi 2) setara dengan masalah berikut, yang saya beri nama ' Double max  k -vertex-cover ':|{qFQqSi}|iDouble max k-vertex-cover

Diberikan grafik tak berarah dan bilangan bulat k dan t , apakah ada sekumpulan simpul V V dengan ukuran paling banyak k sehingga himpunan { ( u , v ) E u V v V } memiliki ukuran setidaknya t ?G=(V,E)ktVVk{(u,v)EuVvV}t

Masalah ini NP-hard, karena -clique adalah kasus khusus dari masalah ini, seperti yang ditunjukkan oleh jawaban ini . Namun, ini tidak cukup untuk membuktikan T U T menjadi NP-keras, karena kita perlu menemukan maksimum untuk setiap i , sementara menghormati kondisi 2. kondisi ini tidak puas dengan setiap urutan Σ yang memenuhi satunya syarat 1 dan 3: pertimbangkan grafik pada 7 simpul dengan dua siklus terpisah, satu ukuran 4 , ukuran lain 3 . Untuk i = 3 , memilih semua simpul dalam 3- cycle memberikan maksimum, sambil memilih semua simpul dari 4kTUTiΣ743i=334-putaran optimal untuk .i=4

Tampaknya kondisi 2 membuat masalah lebih sulit dan tentu saja tidak lebih mudah, yang berarti harus NP-keras, tetapi saya belum melihat metode untuk membuktikan ini secara resmi.TUT

Jadi, untuk meringkas, saya telah mengurangi pertanyaan sebagai berikut:

  • Apakah mungkin untuk memasukkan kondisi 2 untuk melengkapi bukti kekerasan untuk ?TUT

Catatan: Formulasi yang saya berikan membuatnya tergoda untuk mencoba algoritma berulang yang menemukan dalam kondisi 2 dari i = 1 ... k , dengan menemukan semua 'penambahan' maksimum dari semua set maksimum yang ditemukan untuk i - 1 . Ini tidak mengarah pada algoritma yang efisien, karena jumlah set maksimum pada satu iterasi tunggal mungkin eksponensial dalam k . Selain itu, saya belum melihat metode untuk menentukan apakah subset untuk beberapa i|{qFQqSi}|i=1ki1ki pada akhirnya akan menjadi 'global' maksimum untuk mencegah pengecekan jumlah himpunan bagian eksponensial.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.