Le problème est NP-complet et n'est donc pas susceptible d'admettre un algorithme de temps polynomial. Vous trouverez ci-dessous une preuve de la complétude NP du problème, illustrée par une réduction de 1-en-3-SAT.
Laisser ϕêtre une instance de 1-IN-3-SAT, où l'on nous donne une formule 3-CNF-SAT demandée pour trouver une affectation satisfaisante où chaque clause est satisfaite par exactement un littéral. LaisserV(ϕ) être l'ensemble des n les variables, et C(ϕ) être l'ensemble des m clauses.
Nous construisons une instance G=(A,B,E) avec un budget de b=n+m (le nombre autorisé de sommets bleus).
Pour chaque variable x∈V(ϕ), construire deux sommets rouges vx et
vx¯¯¯ dans A ensemble avec b+1 sommets bleus dans Bà côté de chacun d'eux. Cela force exactement l'un desvx ou vx¯¯¯à retourner. On se retrouve aussi avecn inversé les "sommets variables", utilisant ainsi la première partie du budget.
Remarque: {vx,vx¯¯¯∣x∈V(ϕ)} sont les seuls sommets
A.
Pour chaque clause, dites c=x∨y¯¯¯∨z, nous créons b+1 sommets bleus et trois sommets rouges supplémentaires vx∈c,vy¯¯¯∈c,vz∈c, tout en B. Laisservx,vy¯¯¯,vz tous soient entièrement adjacents à la b+1 sommets bleus et connectez vx à vx∈c, vy à
vy¯¯¯∈c, et vz à vz∈c.
Maintenant, puisque chaque gadget de clause a b+1les sommets bleus, nous savons qu'un
ou trois littéraux de cette clause ont été inversés. Supposons que trois ont été inversés pour l'une des clauses. Mais nous utilisons au moins le budgetn+m+2.
Supposer que ϕ est une instance oui avec une affectation 1 sur 3 α:V(ϕ)→{⊤,⊥}. Retournez chaque sommet qui correspond àα. Puisque chaque clause est satisfaite par exactement une variable, pour chaque clause il y a maintenant un sommet bleu, et pour chaque variable, exactement l'une d'entre elles est bleue, d'où nous avonsn+m=b sommets bleus.