Existe-t-il des instances dures de 3-SAT lorsque les clauses ne peuvent utiliser que des littéraux «proches» les uns des autres?


22

Soit les variables . La distance entre deux variables est définie comme. La distance entre deux littéraux est la distance entre les deux variables correspondantes. d ( x a , x b ) = | a - b |x1,x2,x3...xnd(xa,xb)=|ab|

Supposons que j'ai une instance 3-SAT telle que pour chaque clause nous avons pour une valeur fixe .d ( x a , x b ) N d ( x a , x c ) N d ( x b , x c ) N N(xa,xb,xc)d(xa,xb)Nd(xa,xc)Nd(xb,xc)NN

Conceptuellement, vous pouvez imaginer cela comme tous les littéraux étant physiquement sur une ligne et toutes les clauses sont incapables d'atteindre au-delà d'une certaine longueur pour des raisons physiques.

Compte tenu de cette contrainte, existe-t-il des instances dures de 3-SAT? À quel point puis-je faire le quartier et trouver des instances difficiles? Que faire si j'autorise quelques clauses à violer la contrainte?

Par dur, je veux dire qu'un solveur heuristique retomberait sur le pire des cas.


2
"Par dur, je veux dire qu'un solveur heuristique retomberait sur le pire des cas." ne me semble pas bien défini. Pouvons-nous interpréter votre question comme demandant s'il existe un algorithme à temps polynomial qui résout toutes ces instances 3-SAT? Ou poser des questions sur la complexité / dureté de ce problème?
DW

"Pouvons-nous interpréter votre question comme demandant s'il existe un algorithme en temps polynomial qui résout toutes ces instances 3-SAT?" Je pense que c'est ce que je recherche.
IIAOPSW

1
L'exigence de localité que vous utilisez est également connue sous le nom de 1D "géométriquement local" et est le sens prédominant de "localité" pour les physiciens. Maintenant, si l'on généralise votre question au cas quantique et des bits (2 états) aux particules à 8 états, la version quantique de votre problème est en effet QMA-complete ("quantum-NP") en 1D: voir arxiv.org/ abs / 1312.1469 Pour les qubits, le problème est QMA-complet en 2D. arxiv.org/abs/quant-ph/0504050
Martin Schwarz

4
Ah donc c'est vrai qu'un physicien ne peut pas se cacher parmi les informaticiens. Tu m'as eu. Pourquoi avez-vous besoin de 8 états? Il vous suffit d'utiliser des qubits, de tripler la taille du quartier et d'utiliser tous les 3 qubits pour coder une particule à 8 états.
IIAOPSW

1
Bien sûr, mais vous avez une localité assez élevée, c'est-à-dire que vos opérateurs locaux couvrent de nombreux qubits. Cette ligne de recherche s'est également concentrée sur la minimisation de la localité (idéalement 2-locales) au détriment des particules de plus grande dimension et des compromis impliqués.
Martin Schwarz

Réponses:


30

Non. Si l'instance 3-SAT a clauses, vous pouvez tester la satisfiabilité en temps O ( m 2 N ) . Puisque N est une constante fixe, il s'agit d'un algorithme à temps polynomial qui résout toutes les instances de votre problème.mO(m2N)N

L'algorithme fonctionne en étapes. Soit φ i la formule composée des clauses qui n'utilisent que des variables de x 1 , , x i . Soit S i{ 0 , 1 } n l'ensemble des affectations à x i - N , x i - N + 1 , , x i qui peut être étendu à une affectation satisfaisante pour φ i . Notez que compte tenu de SmφiX1,,XjeSje{0,1}nXje-N,Xje-N+1,,Xjeφje , nous pouvons calculer S i en tempsO( 2 N ): pour chaque( x i - N - 1 ,, x i - 1 ) S i - 1 , nous essayons les deux possibilités pour x i et vérifions si il satisfait toutes les clauses de φ i qui contiennent la variable x i ; si oui, on ajoute( x i - N ,Sje-1SjeO(2N)(Xje-N-1,,Xje-1)Sje-1XjeφjeXje à S i . Dans la i ème étape, nous calculons S i . Une fois que nous avons terminé toutes les m étapes, l'instance 3-SAT est satisfiable si et seulement si S m . Chaque étape prend O ( 2 N ) et il y a m étapes, la durée totale de fonctionnement est donc O ( m 2 N ) . Il s'agit d'un polynôme dans la taille de l'entrée, et constitue donc un algorithme polynomial temps.(Xje-N,,Xje)SjejeSjemSmO(2N)mO(m2N)

Même si vous autorisez un nombre fixe de clauses à violer la contrainte, le problème peut toujours être résolu en temps polynomial. En particulier, si compte le nombre de clauses qui violent la contrainte, vous pouvez résoudre le problème en temps O ( m 2 ( t + 1 ) N ) , en énumérant d'abord toutes les valeurs possibles pour les variables de ces clauses, puis en poursuivant avec l'algorithme ci-dessus. Lorsque t est une constante fixe, il s'agit du temps polynomial. Il peut y avoir des algorithmes plus efficaces.tO(m2(t+1)N)t


16

Le graphique des incidents d'une formule SAT est un graphique bipartite qui a un sommet pour chaque clause et chaque variable. Nous ajoutons des bords entre une clause et toutes ses variables. Si le graphe incident a une largeur d'arbre limitée, alors nous pouvons décider de la formule SAT dans P, en fait, nous pouvons faire beaucoup plus. Votre graphique d'incident est très restreint. Par exemple, il s'agit d'un graphe de largeur de chemin borné, il est donc soluble dans le temps polynomial. Pour le résultat structurel bien connu ci-dessus, par exemple, consultez: https://www.sciencedirect.com/science/article/pii/S0166218X07004106 .


1
En fait, même le graphe primal (une arête entre deux sommets s'ils apparaissent dans la même clause) a une largeur de chemin limitée dans ce cas. Voir aussi (1) qui peut être plus accessible ou @DW réponse qui est à peu près la même idée que ces algorithmes. (1) Algorithms for propositional model counting , Marko Samer, Stefan Szeider, J. Discrete Algorithms, volume 8, numéro 1, pages 50-64, 2010.
holf
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.