Question

Je me retrouve à encoder une contrainte "pas-k-out-de-n" dans un solveur SAT.

La contrainte "at-most-k-out-of-n" pour les solveurs SAT est quelque chose sur lequel je peux trouver des recherches - ce papier par Frisch et Giannaros, par exemple.

Compte tenu d'un outil "at-most-k-out-of-n", je peux obtenir un outil "at-le-le-le-le-à-en-k-out-de-n" en inversant tous les termes. Avec les deux outils, je peux obtenir un outil "K-out-of-N" en ayant à la fois les contraintes "at-bu-k" et "at-le-le-le-le -illes".

Mais je ne vois pas comment je peux coder une contrainte "pas-k-out-de-n". Si j'utilise "at-most- (k-1)" et "au moins (k + 1)", alors je vais évidemment n'obtenir aucune solution.

Y a-t-il une simple transformation ici qui me manque?

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à cs.stackexchange
scroll top