Supposons qu'il y ait une session de tutorat dans une université. Nous avons un ensemble de questions et un ensemble de élèves . Chaque élève a un doute dans un certain sous-ensemble de questions, c'est-à-dire que pour chaque élève , soit l'ensemble des questions qu'un élève en doute. Supposons que et .
Tous les étudiants entrent dans la session de tutorat au début (à ). Maintenant, un étudiant quitte la session de tutorat dès que toutes les questions dans lesquelles il a un doute ont été discutées. Supposons que le temps nécessaire pour discuter de chaque question soit égal, disons 1 unité ∗ . Soit t j le temps passé par s j dans la session de tutoriel. Nous voulons trouver une permutation optimale σ dans laquelle les questions sont discutées ( q σ ( 1 ) … q σ ( n ) ) telles que la quantité T σ = est minimisé.
Je n'ai pas été en mesure de concevoir un algorithme de temps polynomial, ni de prouver la dureté
Nous pouvons définir une version de décision du problème
où est l'ensemble des Q j .
On peut alors trouver le minimum en utilisant la recherche binaire sur C et trouver la valeur optimale σ en utilisant les affectations partielles σ en temps polynomial en utilisant un oracle pour T U T . Aussi, T U T ∈ N P car le σ optimal peut être utilisé comme un certificat que l'on peut vérifier facilement en temps polynomial.
Ma question: N P est-elle complète ou pouvons-nous concevoir un algorithme de temps polynomial pour cela?
Sidenote: Soit dit en passant, j'ai pensé à cette question après une session de tutorat, au cours de laquelle le TA a discuté des questions dans l'ordre normal cause de quoi de nombreux étudiants ont dû attendre jusqu'à la fin.
Exemple
Soit et n = 2 . Q 1 = { q 3 } et Q 2 = { q 1 , q 2 , q 3 } . On peut voir qu'un optimal σ = ⟨ 3 , 1 , 2 ⟩ parce que dans ce cas, s 1 feuilles après t 1 = 1 et s 2 feuilles après t , donc somme 4.
Cependant, si nous discutons des questions dans l'ordre ⟨ 1 , 2 , 3 ⟩ , alors s 1 et s 2 fois attendre jusqu'à la fin et t 1 = t 2 = 3 , donc la somme est de 6.
Vous êtes libre de résoudre le cas plus général où chaque question q i prend x i unités à discuter!