Trovare una sequenza ottimale di domande per ridurre al minimo il tempo totale degli studenti


13

Supponiamo che ci sia una sessione di tutorial in un'università. Abbiamo una serie di k domande Q={q1qk} e una serie di n studenti S={s1sn} . Ogni studente ha dei dubbi in un certo sottoinsieme di domande, vale a dire per ogni studente sj , lascia che QjQ sia l'insieme di domande che uno studente ha dei dubbi. Supponiamo che 1jn:Qjϕ e 1jnQj=Q .

Tutti gli studenti entrano nella sessione di esercitazione in principio (a ). Ora, uno studente lascia la sessione del tutorial non appena sono state discusse tutte le domande in cui ha dei dubbi. Supponiamo che il tempo impiegato per discutere ogni domanda sia uguale, ad esempio 1 unità . Lasciate t j sia il tempo speso dai s j nella sessione tutorial. Vogliamo scoprire una permutazione ottimale σ in cui vengono discusse le domande ( q σ ( 1 )q σ ( n ) ) come la quantità T σ =t=0tjsjσ(qσ(1)qσ(n)) è ridotto a icona.Tσ=Σ1jntj

Non sono stato in grado di progettare un algoritmo di tempo polinomiale, o dimostrare -hardness.NP

Siamo in grado di definire una versione decisione del problema

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

dove è l'insieme di Q j . FQQj

Possiamo quindi trovare il minimo usando binario di ricerca C e scoprire l'ottimale σ usando assegnazioni parziali σ in tempo polinomiale usando un oracolo per T U T . Inoltre, T U TN P perché σ ottimale può essere utilizzato come certificato che possiamo verificare facilmente in tempo polinomiale.TσCσσTUTTUTNPσ

La mia domanda: N P è completa o possiamo progettare un algoritmo temporale polinomiale per esso?TUT NP

Sidenote: A proposito, ho pensato a questa domanda dopo un'effettiva sessione di tutorial, in cui l'AT ha discusso le domande nell'ordine normale causa della quale molti studenti hanno dovuto aspettare fino alla fine.q1qn

Esempio
Sia e n = 2 . Q 1 = { q 3 } e Q 2 = { q 1 , q 2 , q 3 } . Possiamo vedere che un ottimale σ = 3 , 1 , 2 perché in tal caso, s 1 foglie dopo t 1 = 1 ed s 2 foglie dopo tk=3n=2Q1={q3}Q2={q1,q2,q3}σ=3,1,2s1t1=1s2 , quindi somma è 4. Tuttavia, se discutiamo le domande nell'ordine1 , 2 , 3 , poi s 1 e s 2 sia necessario attendere fino alla fine e t 1 = t 2 = 3 , in modo da la somma è 6.t2=3
1,2,3s1s2t1=t2=3

Siete liberi di risolvere il caso più generale in cui ogni domanda q i prende x i gruppi per discutere!qixi


Giusto per essere chiari: tutti gli studenti entrano contemporaneamente o entrano dal momento in cui viene posta la loro prima domanda?
Lucertola discreta

@Discretelizard Tutti gli studenti entrano contemporaneamente all'inizio (at = 0).
skankhunt42,

Nella definizione attuale, le serie di domande sono uniche, vale a dire una serie di domande appartiene a un massimo di uno studente. Questa potrebbe essere una semplificazione ragionevole, ma dubito che sia realistico (e dubito che questo farà molto per la complessità del problema)
Lucertola discreta

Suppongo che due studenti possano avere la stessa identica serie di domande, quindi il tempo di attesa sarebbe moltiplicato per due.
gnasher729,

Risposte:


1

Sospetto che il problema sia NP-difficile. Mostrerò come trasformare il problema in modo che sia fortemente correlato a un problema NP-difficile. (Sì, è piuttosto vago. Fondamentalmente penso che il mio approccio generale sia corretto, ma al momento non sono in grado di procedere.)TUT

Innanzitutto, si noti che il problema può essere riformulato come segue:TUT

Dato un insieme di domande di dimensione k , un insieme di n sottoinsiemi F QP ( Q ) e un intero C , fa esiste una sequenza Σ : S 1 , ... , S k tale che, per tutti i { 1 , ... , k } :QknFQP(Q)CΣ:S1,,Ski{1,,k}

  1. e | S i | = i ; eSiQ|Si|=i
  2. per tutti j > i ; eSiSjj>i
  3. ?i=1k|{qFQqSi}|C

Si noti che l'insieme rappresentano le prime i domande che verranno spiegati. Le condizioni 1 e 2 assicurano che i sottoinsiemi siano ben formati secondo questa interpretazione. La condizione 3 conta la quantità di studenti che non sono partiti in ogni momento, quindi si somma al tempo di attesa totale tra tutti gli studenti.Sii

Ora, limitiamo le dimensioni dei sottoinsiemi in a 2 , in modo da poter rappresentare questi sottoinsiemi come bordi su un grafico in cui i vertici sono gli elementi da Q . (Un risultato di durezza per questo caso speciale è sufficiente per la durezza del problema generale)FQ2Q

Ora, il problema di minimizzare per un singolo i (questo essenzialmente ignora la condizione 2) equivale al seguente problema, che doppio " Double max  k -vertex-cover ":|{qFQqSi}|iDouble max k-vertex-cover

Dato un grafico non orientato e numeri interi k e t , esiste un insieme di vertici V V di dimensione al massimo k tale che l'insieme { ( u , v ) E u V v V } ha una dimensione di almeno t ?G=(V,E)ktVVk{(u,v)EuVvV}t

Questo problema è NP-difficile, poiché -clique è un caso speciale di questo problema, come mostra questa risposta . Tuttavia, ciò non è sufficiente per dimostrare che T U T è NP-difficile, poiché dobbiamo trovare il massimo per ogni i , rispettando la condizione 2. Queste condizioni non sono soddisfatte da ogni sequenza Σ che soddisfa solo le condizioni 1 e 3: considera il grafico su 7 vertici con due cicli disgiunti, uno di dimensione 4 , l'altro di dimensione 3 . Per i = 3 , selezionando tutti i vertici nel ciclo 3 si ottiene il massimo, mentre si selezionano tutti i vertici del 4kTUTiΣ743i=334i=4

TUT

Quindi, per riassumere, ho ridotto la domanda a quanto segue:

  • TUT

|{qFQqSi}|i=1k, by finding all maximum 'extenstions' of all found maximum sets for i1. This does not lead to an efficient algorithm, as the amount of maximum sets at a single iteration may be exponential in k. Additionally, I have not seen a method to determine whether a subset for some i would eventually become the 'global' maximum to prevent checking an exponential amount of subsets.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.