Un cas facile de SAT qui n'est pas facile pour la résolution d'arbre

10

Existe-t-il une classe naturelle de formules CNF - de préférence une qui a déjà été étudiée dans la littérature - avec les propriétés suivantes:C

  • est un cas facile de SAT, comme par exemple Horn ou 2-CNF, c'est-à-dire que l'appartenance à C peut être testée en temps polynomial, et les formules F C peuvent être testées pour la satisfiabilité en temps polynomial.CCFC
  • On ne sait pas que les formules non satisfaisantes ont des réfutations de résolution en forme d'arbre courtes (taille polynomiale). Encore mieux serait: il existe des formules insatisfaisantes en C pour lesquelles une borne inférieure super-polynomiale pour une résolution arborescente est connue.FCC
  • D'un autre côté, les formules insatisfaisantes en sont connues pour avoir des preuves courtes dans un système de preuve plus fort, par exemple dans une résolution de type dag ou un système encore plus fort.C

ne devrait pas être trop rares,exemple, contiennentnombreuses formules avec n variables pour chaque (ou au moins pourplupartvaleurs de) n N . Il doit également être non trivial, dans le sens de contenir des formules satisfaisables et non satisfaisantes.CnnN

L'approche suivante pour résoudre une formule CNF arbitraire devrait être significative: trouver une affectation partielle α st la formule résiduelle F α est en C , puis appliquer l'algorithme de temps polynomial pour les formules en C à F α . Par conséquent, je voudrais d'autres réponses en plus des contraintes toutes différentes de la réponse actuellement acceptée, car je pense qu'il est rare qu'une formule arbitraire devienne une contrainte toutes différentes après l'application d'une restriction.FαFαCCFα

Jan Johannsen
la source
1
Jan, je pense qu'il est encore possible de donner des exemples artificiels, par exemple PHP union Horn. Je ne sais pas comment on peut exclure formellement de tels exemples. Voulez-vous une classe qui a un nom et qui a été étudiée? (ps: si vous expliquez pourquoi vous recherchez une telle classe qui pourrait aider avec quelles exigences supplémentaires la classe devrait satisfaire.)
Kaveh
pas sûr de la dernière phrase. les problèmes de trou de pigeon peuvent avoir des formules vraies et fausses, non? généralement ce ne sont que les vraies formules, je ne sais pas où sont les fausses formules dans un papier, quelqu'un d'autre l'a-t-il vu? une formule naturelle de faux pigeonniers serait celle qui tente d'attribuer pigeons à n trous. n+1n
vzn
@Kaveh, vous avez raison, mais on ne peut probablement jamais exclure des exemples artificiels. J'ai essayé de clarifier un peu la question.
Jan Johannsen
La condition souhaitée dans votre dernière édition demande essentiellement une classe héréditaire. Notez que l'encodage direct de tous différents donne une classe héréditaire d'instances SAT. Peut-être pourriez-vous expliquer pourquoi le principal exemple que nous avons (comme le suggèrent trois commentaires / réponses) ne convient pas?
András Salamon
1
Je pense que ce que Jan veut, c'est une classe naturelle de formules, pas une famille de formules. La difficulté est à la fois «naturelle» et «classe» sont des concepts informels. Je suppose qu'une condition que l'on peut mettre pour être une classe est d'exiger un certain niveau d'expressivité ou de fermeture pour que les familles de formules comme PHP ne comptent pas comme une classe. Et pour le naturel, je pense que si la classe a été étudiée précédemment ou a un nom, il est probable qu'il soit naturel.
Kaveh

Réponses:

10

On dirait que vous êtes intéressé par des contraintes toutes différentes (et votre dernière phrase est sur la bonne voie). Ce sont des exemples non triviaux du principe du pigeonnier, où le nombre de pigeons n'est pas nécessairement supérieur au nombre de trous, et en outre certains pigeons peuvent être exclus de certains des trous.

Des contraintes toutes différentes peuvent être décidées en faisant correspondre le temps polynomial d'ordre inférieur.

Lorsque des contraintes toutes différentes sont exprimées (en utilisant l'un des nombreux encodages) en tant qu'instances SAT, l'apprentissage des clauses axées sur les conflits trouve généralement rapidement une solution si elle existe. Cependant, la résolution pure pour PHP doit construire un ensemble de clauses superpolynomialement grand pour montrer que l'instance n'est pas satisfaisante. Cette limite vaut clairement pour ce problème plus général. D'un autre côté, rappelons que le codage de PHP par Cook permet des réfutations à résolution étendue de taille polynomiale .

  • SA Cook, Une courte preuve du principe du trou de pigeon en utilisant une résolution étendue , SIGACT News 8 28–32, 1976. doi: 10.1145 / 1008335.1008338

Un travail récent dans ce sens est le chapitre 5 de la thèse de Sergi Oliva , qui a constitué la base d'un article avec Alberto Atserias au CCC 2013.

Je suppose que vous connaissez le résultat classique de Cook, alors peut-être que vous vouliez restreindre la puissance du système d'épreuve dans votre troisième condition?

András Salamon
la source
Je ne sais pas si c'est ce que Jan recherche car il demande spécifiquement CNF.
Mikolas
@Mikolas: pourriez-vous clarifier ce qui vous inquiète?
András Salamon
1
Je voulais dire que si j'ai un résultat sur des contraintes toutes différentes, alors ce n'est pas clair comment ce résultat se traduit par CNF. Si je comprends bien les questions, Jan voulait des CNF difficiles pour les arbres, mais faciles pour autre chose (par exemple, les dag-res). Je ne comprends pas non plus pourquoi PHP en serait un exemple, car PHP est également exponentiel pour les dag-res. (BTW la thèse référencée semble soignée!)
Mikolas
@mikolas, si je comprends bien la question, si des instances satisfaisantes / insatisfaisantes de la famille peuvent être reconnues en temps P, mais c'est difficile pour la résolution d'arbre ou DAG, c'est ce qui est recherché. maintenant je ne suis pas sûr que cela soit souligné dans aucun article, mais afaik (quelqu'un en sait plus?), les instances PHP sat / unsat peuvent être reconnues en temps P.
vzn
1

Je ne sais pas pourquoi on exigerait également des formules sat, mais il y a quelques articles sur la séparation entre la résolution générale et la résolution d'arbre, par exemple [1]. Il me semble que c'est ce que vous voulez.

[1] Ben-Sasson, Eli, Russell Impagliazzo et Avi Wigderson. "Séparation presque optimale de la résolution arborescente et générale." Combinatorica 24.4 (2004): 585-603.

Mikolas
la source
1
Je connais bien ces séparations entre une résolution arborescente et une résolution semblable à un dag, mais cela ne donne qu'une seule famille de formules. C'est précisément le genre d'exemple artificiel que j'essayais d'éviter.
Jan Johannsen
0

Vous pouvez être intéressé par les formules SAT avec une petite "bande passante" ou "largeur d'arbre" (logarythmique). Ces formules sont récursivement partitionnables de telle manière que la frontière de communication entre les partitions est petite, et donc une approche de programmation dynamique énumérative peut être utilisée pour les résoudre. Le sujet était populaire dans les années 90. Une fois, j'ai compté exactement le nombre de cycles hamiltoniens dans un petit graphique de largeur d'arbre de 24 000 sommets, donc les problèmes #P avec une petite largeur d'arbre sont également résolubles. Bodlaender est une référence majeure.

Daniel pehoushek
la source
Je pense qu'au moins les formules à largeur d'arbre constante ont des réfutations de résolution en forme d'arbre courtes. Je ne pense donc pas que cette classe réponde aux exigences de la question.
Jan Johannsen
-1

cet article suivant semble proche de ce qui est demandé à certains égards (s'il ne convient pas, JJ peut peut-être expliquer pourquoi). la question veut exclure les instances PHP (pigeonhole) en raison de l'absence de deux formules vraies / fausses, mais (comme cité dans les autres réponses) PHP est l'un des générateurs de cas / instances les plus étudiés du côté théorique et a a toujours été un générateur pour les deux formules satisfiable / insatisfiable bien que les formules satisfiables soient moins soulignées / étudiées.

nmmnm>nmn

une autre approche consisterait à adopter un angle plus empirique et à générer simplement des instances aléatoires (probablement autour du point de transition 50% satisfaisant facile-difficile-facile) et à les filtrer en fonction des critères énoncés. il faudrait des implémentations de résolution d'arbre / résolution DAG ou de "systèmes plus forts".

vzn
la source
1
Le même commentaire que celui sur la réponse de @Mikolas s'applique ici.
Jan Johannsen
1
ne comprends pas votre commentaire, besoin de plus d'informations. suis le commentaire de mikolas "Si je comprends bien les questions, Jan voulait des CNF difficiles pour les arbres, mais faciles pour autre chose (par exemple, les dag-res)." que voulez-vous dire par "cela ne donne qu'une seule famille de formules"? votre question demande une famille de formules.
vzn
1
Non, ma question demande une classe de formules. La différence pour moi est que ces familles de formules ont au plus une formule par nombre de variables, alors qu'une classe appropriée devrait avoir de nombreuses formules pour chaque nombre de variables, parmi celles qui sont satisfaisantes et insatisfaisantes.
Jan Johannsen
J'ai déjà expliqué à plusieurs endroits (cf. le commentaire ici et sur d'autres réponses et sur la question) pourquoi ce n'est pas ce que je recherche !! Lisez en particulier le dernier paragraphe de la question!
Jan Johannsen