Quelle est la définition précise du K-SAT aléatoire?

12

Il existe 4 contraintes différentes que nous pouvons avoir lors de la définition de K-SAT aléatoire.
1) Le nombre total de littéraux dans une clause donnée est exactement K ou AT la plupart des K
2) Un littéral donné peut être utilisé avec ou sans remplacement dans la même clause (A ou A ou A)
3) Une variable donnée peut être utilisée avec ou sans remplacement dans la même clause (A ou ~ A ou ~ A)
4) Une clause donnée peut être utilisée avec ou sans remplacement dans une formule donnée
Quelle serait la définition la plus "correcte"? Quels sont les inconvénients et les avantages de l'utilisation de ces différentes définitions?

Tayfun Pay
la source
17
Je ne pense pas qu'il existe une seule définition universellement acceptée.
Tsuyoshi Ito
5
Un autre choix différent que vous pouvez faire est de choisir un nombre fixe de clauses (avec ou sans remplacement) ou de choisir un échantillon de Poisson (chaque clause est incluse indépendamment avec une probabilité fixe).
David Eppstein
4
@Tsuyoshi, Geekster: Je suis d'accord avec Tsuyoshi, pour autant que je sache, les solveurs SAT n'ont besoin d'aucune définition de k-SAT aléatoire, quelle que soit la technique qu'ils utilisent (DPLL, recherche locale, propagation de l'enquête). Je suis sûr à 100% que tout solveur SAT sérieux supprimera les clauses dupliquées, les clauses tautologiques et les littéraux dupliqués avant de lancer la recherche. Certains solveurs suppriment également les clauses subsumées.
Giorgio Camerani
4
Je ne pense pas qu'il y ait de réponse à la question sous la forme actuelle car aucune définition ne semble «plus correcte» que les autres et «contre et pour» dépendent probablement de ce que vous voulez utiliser pour les résultats sur k-SAT aléatoire. J'ai voté pour la fermer car ce n'était pas une vraie question.
Tsuyoshi Ito
4
Je suppose que la question peut être reformulée, supprimée la partie "la plus correcte" et se concentrer sur les inconvénients et les avantages sous certains résultats spécifiques. (Ou la réponse peut passer par chaque résultat possible.) Étant donné que cette question est en quelque sorte similaire à une question sur la coupe la plus parcimonieuse qui semble être à portée sans argument, personnellement, j'aimerais que la question reste ouverte.
Hsien-Chih Chang 張顯 之

Réponses:

15

Comme cela a été souligné au début de cette discussion dans les commentaires, il n'y a pas nécessairement une seule "bonne" définition pour -SAT aléatoire .k

Cela dit, les deux variantes les plus courantes de -SAT aléatoire sont toutes deux des modèles à longueur de clause fixe (FCL), ce qui signifie que exactement littéraux apparaissent dans chaque clause. Ces variantes interdisent à la fois les variables répétées et les littéraux dans une clause, mais diffèrent selon qu'elles autorisent les clauses répétées dans une formule. Néanmoins, ils sont essentiellement les mêmes que ceux qui seront examinés ci-dessous.kk k

Deux modèles principaux:

Le modèle aléatoire de Selman - clause répétée sont autorisés . Kyle a donné cette belle référence dans les commentaires à sa réponse, mais a supposé à tort que le modèle interdisait les clauses répétées. La version liée (légèrement différente) du document contient une discussion plus détaillée du modèle aléatoire dans la section 3: "Cette méthode de génération permet des clauses en double dans une formule ... Cependant, comme N obtient de grands doublons deviendra rare parce que nous sélectionner uniquement un nombre linéaire de clauses. "

Le modèle aléatoire d'Achlioptas - Les clauses répétées sont interdites . Nous considérons la génération d'une formule aléatoire comme la sélection de clauses uar parmi les clauses possibles totales sans remplacement. Voir Ch.8 du Handbook of Satisfibility [1] (Random SAT par Achlioptas) comme référence. Ce modèle semble plus répandu dans la littérature théorique, peut-être parce qu'il a été écrit en grande partie par Achlioptas lui-même.m2k(nk)

Équivalence des emplacements de transition de phase :

Cependant, la transition de phase (seuil de 50% de satisfiabilité) se produit au même rapport clause / variable quel que soit le modèle choisi pour la raison essentiellement pour laquelle Selman et al. noté dans leur document.

Soit le nombre attendu de paires identiques de clauses dans une instance Selman aléatoire -SAT. La probabilité qu'une paire de clauses donnée soit identique est , alors que le nombre total de paires de clauses est . Par la linéarité de l'espérance, .A(n,m,k)(n,m,k)p=1/(2k(nk))N=(m2)A(n,m,k)=pN=(m2)/2k(nk)

Par le théorème 3 dans [1], la borne supérieure prouvable sur l'emplacement de la transition de phase -SAT, en utilisant le modèle d'Achlioptas se produit lorsque . Fixant et fixant on obtientkm=O(2kn)k3m=O(2kn)

A(n,m,k)=(m2)/2k(nk)=O(m2)/O(nk)=O(n2)/O(nk) .

Ensuite, parce que , , ce qui signifie qu'en attente, il n'y aura aucune clause répétée autour de -SAT transition de phase lors de la génération de formules SAT aléatoires à l'aide du modèle Selman.k3limnO(n2)/O(nk)=0k

Auto-promotion sans vergogne - je discute brièvement de ces sujets dans la section 4.1 de ma thèse de maîtrise .

QBF aléatoire

Il s'avère que la situation est beaucoup plus intéressante pour le QBF aléatoire. Quels sont AFAIK les trois premiers articles sur QBF aléatoire ont chacun proposé un nouveau modèle aléatoire, critiquant leur prédécesseur.

Voir les articles suivants:

  • Cadoli et al. "Analyse expérimentale du coût de calcul de l'évaluation des formules booléennes quantifiées." AI * IA 1997
  • Gent + Walsh "Au-delà de NP: la transition de phase QSAT." AAAI / IAAI 1999
  • Chen + Interian "Un modèle pour générer des formules booléennes quantifiées aléatoires." IJCAI 2005
Huck Bennett
la source
14

[Modifié pour plus de clarté]

La définition la plus largement utilisée dans la littérature de recherche est celle qui requiert exactement k variables distinctes par clause, et aucune clause en double. Si vous assouplissez la restriction des variables distinctes, une grande partie de la recherche existante n'aura pas de sens pour vous car vos résultats ne correspondront pas à leurs résultats. La transition de phase sat / insat bien connue se produira à un rapport clause / variable différent (si la transition existe) et vous ne trouverez pas les instances SAT dures où vous vous attendez de la littérature.

Kyle Jones
la source
3
Générer des problèmes de satisfaction difficile par Mitchell, Selman et Levesque. La section 4 décrit ce qu'ils appellent «K-SAT aléatoire». Le document ne parle pas de relâcher les restrictions; cela vient de ma modification d'un générateur aléatoire 3SAT et de l'alimentation de nombreuses instances dans un solveur SAT typique basé sur DPLL.
Kyle Jones
5
"La définition la plus correcte est celle qui produit la transition de phase sat / insat à environ 4,26 clauses par variable pour 3SAT aléatoire." Tu te moques de moi.
Tsuyoshi Ito
1
@Tsuyoshi: Bien que "le plus correct" soit définitivement un tronçon, je pense que l'argument est que cette version est standard et l'une des mieux étudiées.
Huck Bennett
2
Vous faites une affirmation bizarre que 4.26 est le nombre magique qui distingue une définition particulière du terme «k-SAT aléatoire» comme la plus correcte. Si ce n'est pas une blague, je ne sais pas quoi dire.
Tsuyoshi Ito du
4
Non, je prétends que la découverte de la transition de phase et toutes les recherches et articles ultérieurs qui ont suivi s'accordent sur la définition par défaut de k-SAT aléatoire, qui est la définition que j'ai donnée. Si vous utilisez une définition différente, beaucoup d'articles ne vous sembleront pas utiles car vos résultats ne correspondront pas à leurs résultats. Si vous travaillez sur un solveur SAT, vous trouverez des exemples faciles où chaque document connexe que j'ai lu indique que vous devriez en trouver des difficiles. Il n'y a rien de magique à cela, juste une convention établie à ce stade. Si vous voulez citer des contre-exemples, faites-le.
Kyle Jones