1 Préliminaires : Présentation du problème Sat

Documents pareils
La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1

Programmation linéaire

Université Paris-Dauphine DUMI2E 1ère année, Applications

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2)

Suites numériques 3. 1 Convergence et limite d une suite

Intelligence Artificielle Planification

Chapitre 3. Quelques fonctions usuelles. 1 Fonctions logarithme et exponentielle. 1.1 La fonction logarithme

Introduction à l étude des Corps Finis

Resolution limit in community detection

Nombres premiers. Comment reconnaître un nombre premier? Mais...

ÉPREUVE COMMUNE DE TIPE Partie D

Introduction à la théorie des graphes. Solutions des exercices

Réalisabilité et extraction de programmes

Initiation à la Programmation en Logique avec SISCtus Prolog

Eteindre. les. lumières MATH EN JEAN Mme BACHOC. Elèves de seconde, première et terminale scientifiques :

Chapitre 6. Fonction réelle d une variable réelle

Cryptographie et fonctions à sens unique

Limites finies en un point

Continuité et dérivabilité d une fonction

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Chp. 4. Minimisation d une fonction d une variable

Fonction réciproque. Christelle MELODELIMA. Chapitre 2 :

Le produit semi-direct

Chapitre 1 : Évolution COURS

Logique. Plan du chapitre

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Introduction a l'algorithmique des objets partages. Robert Cori. Antoine Petit. Lifac, ENS Cachan, Cachan Cedex. Resume

6. Les différents types de démonstrations

Représentation d un entier en base b

Représentation des Nombres

LEÇON N 7 : Schéma de Bernoulli et loi binomiale. Exemples.

Cours Optimisation Partie Optimisation Combinatoire. Année scolaire Gérard Verfaillie ONERA/DCSD/CD, Toulouse

Une introduction aux codes correcteurs quantiques

Comparaison de fonctions Développements limités. Chapitre 10

Exercices Alternatifs. Une fonction continue mais dérivable nulle part

Exercices Alternatifs. Une fonction continue mais dérivable nulle part

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies

Optimisation Discrète

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?

Dualité dans les espaces de Lebesgue et mesures de Radon finies

Théorie des Graphes Cours 3: Forêts et Arbres II / Modélisation

Correction du baccalauréat ES/L Métropole 20 juin 2014

Probabilités sur un univers fini

ASR1 TD7 : Un microprocesseur RISC 16 bits

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

t 100. = 8 ; le pourcentage de réduction est : 8 % 1 t Le pourcentage d'évolution (appelé aussi taux d'évolution) est le nombre :

Algorithmes pour la planification de mouvements en robotique non-holonome

Quelques tests de primalité

Annexe 6. Notions d ordonnancement.

1 Première section: La construction générale

Les suites numériques

Problème 1 : applications du plan affine

Cours de Master Recherche

Mesure d angles et trigonométrie

1 Recherche en table par balayage

Objets Combinatoires élementaires

Fondements de l informatique Logique, modèles, et calculs

Factorisation Factoriser en utilisant un facteur commun Fiche méthode

Les indices à surplus constant

Fonctions de plusieurs variables

Model checking temporisé

Probabilités conditionnelles Exercices corrigés

Probabilités. C. Charignon. I Cours 3

COURS EULER: PROGRAMME DE LA PREMIÈRE ANNÉE

Le modèle de Black et Scholes

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Calcul fonctionnel holomorphe dans les algèbres de Banach

Contexte. Pour cela, elles doivent être très compliquées, c est-à-dire elles doivent être très différentes des fonctions simples,

Université de La Rochelle. Réseaux TD n 6

Rappels et compléments, première partie : Nombres complexes et applications à la géométrie

Année 2014/ er septembre Version de Anca Muscholl, issue du poly de Marc Zeitoun. 1/143

Raisonnement par récurrence Suites numériques

Texte Agrégation limitée par diffusion interne

CHAPITRE V SYSTEMES DIFFERENTIELS LINEAIRES A COEFFICIENTS CONSTANTS DU PREMIER ORDRE. EQUATIONS DIFFERENTIELLES.

Bases de données Cours 5 : Base de données déductives

Matrice d accès. Master SEMS, Pierre Paradinas. October 16, 2013

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII

Cours 02 : Problème général de la programmation linéaire

Groupe symétrique. Chapitre II. 1 Définitions et généralités

I. Polynômes de Tchebychev

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

1 Définition et premières propriétés des congruences

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2.


I - PUISSANCE D UN POINT PAR RAPPORT A UN CERCLE CERCLES ORTHOGONAUX POLES ET POLAIRES

FONDEMENTS MATHÉMATIQUES 12 E ANNÉE. Mathématiques financières

Modélisation et Simulation

CHOIX OPTIMAL DU CONSOMMATEUR. A - Propriétés et détermination du choix optimal

nexus Timestamp Server

Intégration et probabilités TD1 Espaces mesurés Corrigé

Déterminants. Marc SAGE 9 août Inverses et polynômes 3

FONDEMENTS DES MATHÉMATIQUES

Journées Nationales de Calcul Formel

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin.

Vérification de programmes et de preuves Première partie. décrire des algorithmes

Extrait du poly de Stage de Grésillon 1, août 2010

FAST RETAILING WAY (Philosophie d entreprise du groupe FR)

Cours d Analyse I et II

Transcription:

Leçon 5. Le problème SAT et ses variantes Denis TRYSTRAM Master Informatique Grenoble 2011 Motivation. Le problème de satisfabilité SAT est le premier problème qui a été montré NP-complet (théorème de Cook en 1971) (voir la leçon?? pour les détails de cette démonstration). L étude des variantes de ce problème permet d une part d introduire des techniques de preuves et d autre part de pointer sur la frontière entre problèmes faciles et difficiles. 1 Préliminaires : Présentation du problème Sat Le problème Sat est un problème de logique propositionnelle, encore appelée logique d ordre 0 ou logique des prédicats. Rappelons qu un prédicat est défini sur un ensemble de variables logiques, à l aide des 3 opérations élémentaires que sont la négation NON ( x que nous noterons aussi x), la conjonction ET (x y) et la disjonction OU (x y). Un littéral est un prédicat formé d une seule variable (x) ou de sa négation x. Une clause est un prédicat particulier, formée uniquement de la disjonction de littéraux, par exemple C = x ȳ z. Une formule est sous forme normale conjonctive si elle s écrit comme la conjonction de clauses. Le problème Sat consiste à décider si une formule en forme normale conjonctive est satisfiable, c est-à-dire si il existe une assignation τ de valeur de vérité ({true, false}) aux variables telle que toutes les clauses sont true. Définition 1 SAT (Satisfiability) Instance : m clauses C i formées à l aide de n variables logiques (littéraux) Question : la formule Φ = C 1 C 2... C m est-elle satisfiable? 1 Par exemple la formule (x ȳ z) ( x ȳ) (x z) est satisfaite avec l assignation τ(x) = true et τ(y) = false. Il est facile de se convaincre que le problème Sat est dans N P. Un certificat de positivité consiste à donner une assignation des variables, codable sur un vecteur de n bits (n est le nombre de littéraux). La vérification que toutes les clauses sont satisfaites est alors clairement polynomiale (plus précisément, dans O(nm)). Cook a montré en 1971 que ce problème est N P-complet en codant l exécution de tout algorithme sur une machine de Turing non-déterministe par une expression en forme normale conjonctive. 1 ou encore : existe-t-il une fonction d interprétation qui rende la formule vraie?

2 Une première série de variante : ksat On note ksat la variante du problème SAT où toutes les clauses ont exactement k littéraux (k 2). La variante obtenue pour k = 3 est particulièrement utile, on peut établir le résultat simple suivant. Theorem 1 3SAT est NP-complet. Preuve. L idée est simplement de réécrire chaque clause comme une clause de cardinalité 3. Pour les clauses de deux littéraux, on rajoute une variable et on introduit deux nouvelles clauses qui ne changent pas l évaluation de la formule. Par exemple pour le cas d une clause de cardinalité 2, (x y), on rajoute la variable z, et on réécrit la clause comme (x y z) (x y z). Pour les clauses formées d une seule variable, on rajoutera de même deux variables... Pour les clauses de cardinalité p strictement supérieure à 3, on procède avec la même technique. Par exemple pour une clause formée de 5 littéraux (x 1 x 2 x 3 x 4 x 5 ), on introduit 2 nouvelles variables y 1 et y 2 (dans le cas général on en rajoute p 3 pour des clauses de cardinalité p) et on rajoute autant de clauses (p 3 dans le cas général) : (x 1 x 2 x 3 x 4 x 5 ) = (x 1 x 2 y 1 ) (ȳ 1 x 3 y 2 ) (ȳ 2 x 4 x 5 ) La réduction est alors simple à vérifier. D une manière générale, tous les problèmes ksat sont NP-complets pour k 3 (en tant que généralisation de 3SAT...). 3 Variantes autour de 2SAT D une certaine manière, SAT est un problème frontière, comme nous allons le voir ci-dessous avec les deux variantes : 2SAT et max2sat. Définition 2 2SAT Instance : m clauses C i formées de au plus deux littéraux à l aide de n variables Question : la formule Φ = C 1 C 2... C m est-elle satisfiable? Theorem 2 2SAT est polynomial 2

La preuve est constructive : on considère une variable logique quelconque x parmi les n variables. Prenons x= true et remplaçons x dans toutes les clauses où cette variable apparait. si x apparait telle quelle, la clause est simplement satisfaite si la variable apparait comme x, on fixe la valeur de l autre variable de la clause pour qu elle soit satisfaite. Cela détermine un ensemble de variables X. Deux cas se présentent : soit on réussit à satisfaire ainsi toutes les clauses, on recommence alors avec les variables restantes qui ne sont pas dans X. Soit les clauses ne sont pas toutes satisfaites, on recommence avec la valeur x= false. Si les clauses sont de nouveau non satisfaites, la réponse à 2SAT est NON. Il existe une autre construction qui transforme la formule Φ en un graphe G(Φ) à 2n sommets (chaque sommet correspondant aux variables dans les deux états x et x). On place un arc du sommet ā au sommet b pour toute clause de type (a b). Ceci traduit l implication "si l assignation de a est fausse, alors, celle de b doit être vraie" (ou en terme d expression logique : ā b). Ainsi, les chemins de ce graphes représentent les implications logiques valides. On peut alors établir le théorème suivant : Theorem 3 Φ est non-satisfiable si et seulement si il existe une variable x pour laquelle il existe simultanément un chemin de x à x et de x à x. La preuve est par contradiction : supposons qu un tel chemin existe et que Φ soit quand même satisfiable. Sans perte de généralité, on suppose qu elle est satisfaite par une assignation où la variable x est true. Le long du chemin de x à x il doit exister un arc α β tel que α soit true et β soit false. Or, cet arc appartient à G(Φ) ce qui signifie que la clause (ᾱ, β) est une clause de Φ qui n est pas satisfaite, ce qui est une contradiction. Réciproquement, on montre la contraposée : supposons qu il n existe pas de variable avec de tels chemins dans G(Φ). Notons pour finir que cette formulation permet également de montrer que 2SAT est NL-complet. Une autre variante de 2SAT permet de mieux caractériser encore la frontière entre Pet NP 2 : Définition 3 Max2SAT Instance : m clauses C i formées d au plus deux littéraux à l aide de n variables, un entier K Question : existe-t-il une assignation des variables qui satisfasse au moins K clauses? 2 si elle existe... 3

Theorem 4 max2sat est NP-complet. Tout d abord, il est simple de vérifier que Max2SAT est dans NP. La preuve s obtient par une réduction à partir de 3SAT, elle illustre la technique de construction à l aide d un gadget (c est-à-dire, d un sousensemble particulier de l instance pour lequel une propriété reste vraie). Ici, le gadget est le problème 2SAT suivant à 10 clauses pour lequel au maximum 7 clauses sont satisfaites lorsqu au moins un littéral est true (la vérification est facile en explicitant tous les cas possibles) : Soit une clause x 1 x 2 x 3, on introduit un nouveau littéral p et les 10 clauses suivantes : (x 1 ), (x 2 ), (x 3 ), (p) ( x 1 x 2 ), ( x 2 x 3 ), ( x 1 x 3 ) (x 1 p), (x 2 p), (x 3 p) Il n y a aucun moyen de satisfaire toutes ces clauses simultanément. par exemple, si l on suppose que les 4 premières sont satisfaites, on perd les trois suivantes, etc.. Comme ces 10 clauses sont symétriques par rapport à x 1, x 2 et x 3, nous devons vérifier les cas suivants : x 1, x 2 et x 3 sont true, alors on perd une clause dans la seconde ligne et une dans la troisième. Il reste deux cas selon les valeurs de p (si p est true, on perd les trois dernières, mais on gagne une clause dans la première ligne, si p est false, c est la première ligne que l on perd. On satisfait au plus 7 clauses. SI deux des trois variables sont true,... on satisfait également 7 clauses. Si une seule des trois est true,... on satisfait 7 clauses. si les trois sont false, on ne peut en satisfaire plus de 6. Ces 10 clauses ont la propriété intéressante que toute assignation qui satisfait une clause du type x 1 x 2 x 3 peut être étendue pour satisfaire au plus 7 clauses. Ceci suggère une réduction immédiate de Max2SAT à partir de 3SAT, ce qui montre ainsi que ce problème est NP-complet. En effet, étant donnée une instance Φ de 3SAT, on construit une instance R(Φ) de Max2SAT de la façon suivante : pour chaque clause C i = (α β γ) de Φ on rajoute les 10 clauses précédentes à R(Φ) où α, β et γ remplacent x 1, x 2 et x 3. p est remplacée par une variable supplémentaire p i associée à la clause C i. Ainsi, R(Φ) a 10m clauses si Φ en possède m et l objectif est K = 7m. La réduction proposée est bien polynomiale. On vérifie facilement que l objectif est atteint pour G(Φ) ssi Φ est satisfiable. 4

4 Aller plus loin : SAT et la complexité en espace Classe N L (problèmes qui s exécutent en espace poly-logarithmique en la taille de l instance sur une TM non-déterministe). L opérateur de réduction s entend ici au sens... De même que pour NP, on montre qu il existe un problème NL-complet (c est le Graph accessibility Problem ou GAP). Définition 4 GAP Instance : un graphe G=(V,E) orienté et deux sommets x et y appartenant à V. question : existe-t-il un chemin de x à y? On peut montrer que 2SAT appartient à NL car peut être réduit (au sens de la réduction poly-log) à partir du problème GAP. La réduction utilise la transformation d une formule en graphe vue dans ce chapitre. 5 Ce qu il faut retenir SAT est NP-complet(Cook 1971) ksat est NP-completpour k 3(en particulier 3SAT) 2SAT est polynomial 2SAT est NL-complet max2sat est NP-complet 5