Étant donné un 3CNF avec les clauses sur les variables . Supposons que et apparaissent dans la formule pour au plus fois respectivement.ϕ1,…,ϕkx1,…,xnxixi¯¯¯¯¯ki
Nous concevons un DAG coloré dont les sommets se composent de trois parties:G
- Sommets "Affectation" et , , . Colorez avec la "couleur" , et avec .vi(j)v¯i(j)1≤i≤n1≤j≤kivi(j)xi(j)v¯i(j)xi¯¯¯¯¯(j)
- "Clause" sommets , , . Couleur avec la couleur (ou ) si (ou , resp.) Est le ème littéral de la clause , et il est la clause -ème contenant ce littéral.wi′(j′)1≤i′≤kj′=1,2,3wi′(j′)xi(j)xi¯¯¯¯¯(j)xi¯¯¯¯¯xij′ϕi′j
- "Couper" les sommets . Coloriez-les avec des couleurs distinctes différentes de celles ci-dessus.s=s0,s1,…,sn,sn+1,…sn+k=t
Les bords comprennent:
- si−1vi(1) , , ;vi(j)vi(j+1)vi(ki)si
- si−1v¯i(1) , , ;v¯i(j)v¯i(j+1)v¯i(ki)si
- et , .sn+i′−1wi′(j′)wi′(j′)sn+i′
Par exemple, à partir du 3CNF
le graphique suivant est construit (les directions des bords sont de gauche à droite).
(x1∨x2∨x3¯¯¯¯¯)∧(x1∨x2¯¯¯¯¯∨x3)
Maintenant , il est difficile de ne pas voir que le 3CNF d' origine est satisfiable si et seulement s'il y a un - chemin avec les couleurs des sommets différents dans .stG
(Soit dit en passant, c'est un sous-produit que l’existence de chemin - avec différentes couleurs de sommets dans le DAG coloré est . Je n’ai pas trouvé beaucoup de littératures sur ce problème dans une perspective de calcul. Si vous savez, veuillez commenter!)stNP-hard
Alors, quelle est la relation entre le problème de et OP? Intuitivement, ce que nous allons faire est de concevoir une matrice , de sorte que chaque couleur soit mappée sur une ligne (qui est une personne) et que les bords soient mappés sur des colonnes consécutives (intervalles de temps). Par conséquent, une planification maximale, qui va essentiellement de gauche à droite dans la matrice, correspond à un chemin - .Ghst
Notre matrice a colonnes, avec des indices à partir de . Dans le Constrcution suivant un sont deux valeurs satisfont . Les rapports peuvent être de grandes puissances de et . Soit .h2n+1+∑i2ki+k0XY1≪X≪YX/1,Y/XknKi=2i+2∑ij=1ki
- Pour chaque , , soit (si la coordonnée existe, idem ci-dessous).si0≤i≤nh(si,Ki)=h(si,Ki−ki−1)=h(si,Ki+ki+1+1)=Y
- Pour chaque , soit ; Pour chaque , laissez .xi(j)h(xi(j),Ki−1+j)=Xxi¯¯¯¯¯(j)h(xi¯¯¯¯¯(j),Ki−1+ki+1+j)=X
- Pour chaque , et un littéral dans la clause , soit .ϕi′1≤i′≤kxϕi′h(x,Kn+i′)=1
- Toutes les autres entrées sont 0.
Par exemple, pour l'exemple de graphique ci-dessus, la matrice correspondante est
Maintenant, nous affirmons: le 3CNF d'origine est satisfiable si et seulement si la valeur maximale est .(2n+1)Y+∑ikiX+k
Considérez la planification atteignant la valeur maximale. Puisqu'il y a exactement colonnes dans contenant , elles doivent toutes être couvertes. Pour la colonne qui a deux choix de , supposons que l'ordonnancement l'affecte à . Puisque la colonne doit être affectée à , par suite, nous devons perdre les colonnes à . Les mêmes choses se produisent si l'ordonnancement affecte la colonne à .(2n+1)hYKi+ki+1YsiKisiKi+1Ki+kiKi+ki+1si+1
Par conséquent, pour avoir la valeur , nous devons sélectionner tous les autres disponibles dans la matrice, ce qui correspond à une affectation sur des variables. Ainsi, la valeur de repos de est réalisable si et seulement si l'affectation satisfait à chaque clause.∑ikiXXk
En conclusion, décider de la valeur maximale d'une planification légale se trouve dans . C'est peut-être pour cela que toutes nos tentatives précédentes pour trouver un algorithme ont échoué.NP-hard