Linéarisation de la logique

Voici une approche récente d'un autre problème NP-Complet.

La donnée est encore un ensemble d'ensembles d'entiers. Par exemple : $F=[\{1, 3, 6\}, \{1, 2, 6\}, \{1, 2, 3\}, \{1, 4, 5\}, \{1, 3, 4\}, \{3, 5, 6\}].$
La question est de décider s'il existe un ensemble $S$ de nombres tel que chaque ensemble de la donnée $F$ a EXACTEMENT un élément dans $S$.

Pour l'exemple, la réponse est NON. Mais si on enlève le dernier ensemble $\{3,5,6\}$ la réponse devient OUI avec une solution évidente $S=\{1\}$.

Je vais me servir de ce problème comme support pour exposer une approche de la logique par des équations linéaires. (Cela n'a rien à voir a priori avec la logique linéaire de J.Y. Girard.)

On va construire un système d'équations linéaires qui exprime des conditions sur la solution, ou plutôt le nombre de solutions que l'on note $G$ (good)
Commençons par l'exemple. Pour chaque nombre $i=1,2,3,4,5,6$ on associe une variable $x_i$ qui représente le nombre de solutions contenant $i$.
Comme les éléments d'un même ensemble de $F$ ne peuvent pas être dans la même solution, les ensembles correspondant sont disjoints et on a les relations : $$
G=x_1+x_3+x_6
,\ G=x_1+x_2+x_6
,\ G=x_1+x_2+x_3, \\
G=x_1+x_4+x_5
,\ G=x_1+x_3+x_4
,\ G=x_3+x_5+x_6

$$ On introduit de nouvelles variables. Pour chaque paire $(a,b)$ soit :
$x_{ab}$ la variable qui compte les solutions contenant $a$ ET $b$
$v_{ab}$ la variable qui compte les solutions contenant $a$ OU $b$
On a alors les relations : $$v_{ab}=x_a+x_b-x_{ab}.

$$ On fait de même avec les triplets $(a,b,c)$ et on obtient : $$

v_{abc}=x_a+x_b+x_c-x_{ab}-x_{ac}-x_{bc}+x_{abc}.

$$ On peut ainsi éviter d'utiliser des produits en définissant les variables par d'autres relations.
On a bien entendu pour tout $a$ : $x_a=x_{aa}=x_{aaa}=v_{aa}=v_{aaa}$
De plus, puisque $\{1,3,6\}$ est dans $F$ on a $v_{136}=G$
et si $a,b$ sont dans le même ensemble de $F$ alors $x_{ab}=0$
et si au moins deux nombres parmi $a,b,c$ sont dans le même ensemble de $F$ alors $x_{abc}=0$.
On ajoute encore un type de relations "horizontales".
Sur l'exemple, puisque $\{1,3,6\}$ est dans $F$ alors pour tout $a$ : $$
x_a=x_{a1}+x_{a3}+x_{a6}
$$ et pour tout $a,b$ : $$
x_{ab}=x_{ab1}+x_{ab3}+x_{ab6}.

$$ Voilà, nous avons un système d'équations $S$ avec ces relations linéaires.

Conjecture : Le système $S$ a comme solution $G=0$ si et seulement si la donnée $F$ n'a pas de solution.
Cela a été testé sur de nombreux exemples avec Maple.
Remarque, quand il y a des solutions, on obtient des solutions du style $G=x_1+x_4$
Vous voyez d'autres relations ?

Réponses

  • Je précise quelques trucs.

    1) Pourquoi linéarisation ? Parce qu'on construit un système d'équations linéaires.

    2) Pourquoi logique ? Parce que ce problème couvre le calcul propositionnel. C'est une variante de SAT.

    3) Il y a bien sûr les polynômes de Stone qui ressemblent à ça... mais ils ne sont pas linéaires.
    Rappel : il considère des variables à deux valeurs 0,1 et définit
    X et Y par le produit X.Y
    X ou Y par X+Y-X.Y
    non X par 1-X

    4) Autres remarques :
    a) là on est sur des nombres quelconques. Le système S est formel. Il n'y a que le nombre 0 qui est utilisé.
    b) On n'a pas besoin de nombres négatifs dans le problème. C'est MONOTONE ONE IN THREE SAT
    c) C'est facile de définir la négation a' d'un nombre a : il suffit d'ajouter l'ensemble {a,a'} à F
  • De mon téléphone. J'ai l'impression que tu espères limiter "la dimension de l'univers des possibles" dans l'autre fil avec cette borne de 3 et ici idem (sinon ton système a un nombre exponentiel d'équations.)

    De plus les systèmes affines ayant des solutions en nombres entiers naturels forment DÉJÀ un ensemble NP COMPLET selon un exercice classique.
    Or tu n’évoques pas où aller chercher les solutions. Mais ton idée reste quand même sympa.
    Aide les autres comme toi-même car ils sont toi, ils sont vraiment toi
  • Christophe,

    1) en effet, la dimension 3 semble suffisante tout comme elle est suffisante pour coder SAT.

    2) ce qui est NP-Complet c'est les systèmes d'équations/inéquations linéaires sur les entiers. Il y a des inégalités. Dans ce que j'ai présenté, il n'y en a pas.

    3) je ne demande pas du tout à avoir des solutions entières. C'est purement formel....aucune contrainte sur les solutions. Donc je ne demande pas où chercher les solutions. On demande juste une structure de groupe avec l'addition.

    La solution se cherche par les méthodes classiques (et qui sont polynomiales en espace et en temps)
  • Dans ce cas en quoi espères-tu que ça réduise SAT ?
    Aide les autres comme toi-même car ils sont toi, ils sont vraiment toi
  • Christophe,

    a) SAT se code "facilement" en ce problème

    b) le système S se construit en temps polynomial

    c) la résolution de S se fait en temps polynomial

    d) je conjecture que si le problème n'a pas de solution alors S impose $G=0$ (la réciproque est facile)
  • Oui mais tout ce que tu proposes depuis le début semble fondé sur l'espoir que si un ensemble fini d'ensembles finis est tel que 3 quelconques de ses éléments sont concourants alors il est d'intersection non vide :-S
    Aide les autres comme toi-même car ils sont toi, ils sont vraiment toi
  • Christophe,

    je ne savais pas que j'espérais cela....;-)

    si tu le dis......
  • Bin c'est une impression... Par exemple tu as plein de systèmes sans solution au problème initial mais ayant plein de solutions quantiques. Et bien ton système de décompte autorisé ces solutions quantiques. Donc il ne peut pas marcher.
    Aide les autres comme toi-même car ils sont toi, ils sont vraiment toi
  • Christophe,

    tu dis : "donc il ne peut pas marcher" ???

    mais, je te signale que c'est programmé et que cela "marche très bien". Certes, ce n'est pas (encore) prouvé que la méthode est correcte mais en tout cas l'expérimentation est satisfaisante.

    Je préfère toujours confronter des idées à l'expérience en programmant.

    Je peux partager ici ces programmes en Maple si quelqu'un le souhaite.
  • Du fait que tu montes à 3 il est normal que les essais concrets ne soient pas des contre-exemples.
    Aide les autres comme toi-même car ils sont toi, ils sont vraiment toi
  • Si je "monte à 3" c'est parce que je considère des instances du problème MONOTONE EXACT 1 IN 3 SAT

    Les ensembles ont (au plus) 3 éléments.

    Là encore, c'est suffisant pour coder le problème SAT.

    S'il fallait des ensembles de 4 éléments, je "monterais à 4".
  • Mais ça n'a rien à voir. On peut même se ramener à une situation écrite avec que des implique où chaque lettre n'apparaît que deux fois .. SAUF UNE. Ça reste NP complet alors que si on enlève le "sauf une" il est trivial de savoir si une telle formule est une tautologie. Autrement dit un seul carrefour à choix flingue tout.
    Aide les autres comme toi-même car ils sont toi, ils sont vraiment toi
  • Le problème aussi en montant (sans procès d'intention) c'est que tu vérifies ça sur ordi pour des config qui ne peuvent plus servir de contre-exemple car trop petites et, idem sur le forum, on "subit" tes conjectures, tout en sachant que tout contre-exemple sera "gros".

    Evidemment, je me doute que tu ne montes pas pour ça, mais ça a cette conséquence. Tu disais que tu avais longtemps cherché à prouver $P\neq NP$ et que la volte-face est récente, mais te rappelles-tu de la littérature que tu as lue dessus? Il y a pas mal d'articles (je ne les ai que survolés) qui "racontent" la difficulté de trouver un algo attestant de $P=NP$ sans pour autant arriver à prouver son inexistence. De plus la calculabilité souffre de pas mal de "mal-formalisations", ie les gens se contentent de "se comprendre". Sauf que c'est assez piégeux.

    Par exemple, on réduit facilement SAT à 3SAT et facilement 3SAT à 3colorgraf et 3 colorgraf à ton profi du présent fil via les ensembles :

    $\{(s,1); (s,2); (s,3)\}$ pour chaque sommet $s$ et $\{\infty; (s,i), (u,i)\}$ pour chaque arête $(s,u)$.

    Mais tu as des tas d'autres NP-complets qui sont "exotiques". L'un des meilleurs est l'ensemble des théorèmes linéaires écrits avec une seule lettre $X$ et le signe $\to$ (ou plus traditionnellement $\multimap$).

    Il est aussi facile de voir (pas avec une seule lettre bien entendu, du coup) que l'ensemble des théorèmes affines est NP-complet.

    Si tes méthodes marchaient, en les traduisant sur "ces deux problèmes positifs (où on ne cherche pas un "satisfaire", mais à "prouver") tu aurais probablement un contre-exemple immédiats, dans la mesure où on se rend "mieux" compte, à partir d'un algo simple et polynomial qui prétend dire si un énoncé est un théorème linéaire (ou affine avec plusieurs lettres) pourquoi il va échouer.

    Je ne sais même pas (en tout cas, il n'en existe aucune de célèbre) s'il existe une logique propositionnelle $L$ qui est polynomiale (ie l'ensemble de ses théorèmes) avec $Lineaire\subset L\subset Classique$, alors que c'est un problème BIEN PLUS LIBRE ET FACILE à regarder et en cas de réponse non, tu as évidemment une preuve de $P\neq NP$, or ça correspond à un théorème que j'ai prouvé que quand on cherche à prouver un truc, il faut chercher à prouver une "version débile" beaucoup plus forte.

    Là on a tout un espace entre la logique la plus faible connue qui est NP-complète et celle la plus forte qui est coNP. Peut-on passer par $P$ où le fait d'être une logique est-il rédhibitoire?

    Etre une logique veut juste dire: être stable par modus ponens et permutation de variables, avec de plus que les théorèmes passent au cas particulier, ie un théorème en reste un quand on remplace $x$ par $z$ et $y$ par $z$ (qui sont des variables).
    Aide les autres comme toi-même car ils sont toi, ils sont vraiment toi
  • Sur P/NP, j'ai travaillé sur les deux possibilités (égalité et différence) sans à priori en mettant de côté ma formation dans le domaine qui me pousserait plutôt vers la différence.

    Sur l'ensemble des théorèmes linéaires avec l'implication, peux-tu être plus explicite. Comme je le vois dans ta formulation, je dirais que c'est un problème P-Complet et non pas NP-Complet.

    Si vous devez "subir" mes idées, alors je ne les exposerai plus ici.

    Je ne fais que partager des idées sans vouloir les imposer.
  • Christophe,

    et si cela doit être mon dernier message sur ce forum, je dirais que je suis constructiviste au sens où je travaille par étapes pour construire un édifice à partir de conditions nécessaires. Il me semble que ta démarche est alors "destructiviste". Cela pourrait donner une bonne collaboration mais j'avoue que des fois tes arguments sont pour le moins "mystérieux" comme "le labyrinthisme" ou encore "les solutions quantiques",...

    Mais sinon, saches que je comprends et respecte la plupart du temps ton point de vue si je le considère sous cet angle "destructiviste".

    Mais as-tu compris et respecté le mien ?
  • Une dernière idée à "subir" pour finir et montrer que j'avais aussi étudié à ma façon la question $P\not=NP$

    Le format des énoncés a de l'importance. Rien que d'autoriser des espaces dans les énoncés fait une différence.
  • Ola non non non ne t'inquiète pas ce n'est pas du tout péjoratif d'ailleurs j'ai mis les guillemets. Je cherchais un mot court et ne l'ai pas trouvé mais je voulais juste exprimer ta vitesse de production de documents très spécialisés comparée aux temps de réaction du forum pourtant habituellement réactif mais sur des sujets plus généralistes.
    Aide les autres comme toi-même car ils sont toi, ils sont vraiment toi
  • @Serge : ne te fâche pas, on est tous sur le même bateau, on cherche à comprendre, on y arrive plus ou moins, on cherche à avancer, on y arrive beaucoup moins bien, et on discute pour essayer de faire avancer le schilimimi.
    Chacun parle avec ses mots, parfois vexants pour les autres sans qu'il l'ait forcément voulu, et il ne faut pas s'attacher à la forme, sinon on n'arrivera jamais à rien.
    Martial

    P.S. : Bon, d'accord, il y en a certains (dont moi) pour lesquels le bateau tangue un peu plus que pour les autres...
  • Hier j'ai googlé un article (vulgarisant) où il était stipulé (je ne sais pas si c'est vrai) que la majorité de la communauté scientifique parie que:

    1/ $P\neq NP$

    2/ Aucun algorithme quantique ne pourra jamais résoudre un problème NP-complet en temps polynomial

    3/ En mettant des garde-fou assez violents exploitant les remontées dans le temps via des trous relativistes pour ne pas obtenir un système de calcul contradictoire, il a pu être prouvé que la puissance quantique ne permet pas de dépasser $PSPACE$ en temps polynomial

    Ce que je parie: 1 est probable ; 2 me parait faux (j'ai ma petite idée sur comment résoudre SAT quantiquement) et pour ce qui concerne (3), j'avoue que j'aimerais bien mettre la main sur la liste formelle des gardes-fous en question. Ca sent l'approximation physique à plein nez. A priori, je dirais que ces garde-fous consistent à tout simplement NE PAS permettre le voyage temporel, et donc j'ai des doutes sur le fait qu'ils ne soient que partiels.

    De manière générale, sans parler d'algorithmique, on dispose d'un ensemble fini $E$ et d'une partie $A$ de $P(E)$ telle que $\forall X\in A\forall Y\supset X: Y\in A$. Autrement dit d'une notion de "gros ensembles". Et une instance de SAT demande s'il en existe un qui ne contient aucune paire contenue dans un AUTRE ensemble donné $B$ de paires d'éléments de $B$.

    Chaque fois qu'on fait des réductions, on retombe là dessus, et c'est assez facile de voir que c'est dû à la polarité logique**.

    Et typiquement, "être gros" est défini par "intersecter tous les machins de $C$" la plupart du temps

    De la (petite) expérience que j'ai ignorer la polarité logique est PERDRE énormément d'avantages dans l'étude de ce truc.

    ** La polarité logique est le phénomène qui dit que la seule chose qui compte est la place positive ou négative des occurrences de variables. En effet, l'application $\to$ (l'implication) est une fonction $\phi$ comme une autre vérifiant:


    $ \forall x: (y\mapsto \phi(x,y))$ est croissante et $ \forall x: (y\mapsto \phi(y,x))$ est décroissante

    et c'est LA SEULE CHOSE QUI COMPTE!!!

    C'est d'ailleurs une des raisons qui fait que passer par les anneaux de Boole est "une mauvaise idée", puisque $+$ n'est pas monotone.

    Autrement dit, un théorème de la forme $R(x,y,y,t,...)$ où la place de $y$ dans $R(x,y,z,t,...)$ par exemple est décroissante et celle de $z$ est croissante autorise AUTOMATIQUEMENT l'affirmation plus générale que :

    $$(y\to z)\to R(x,y,z,t,...)$$

    est un théorème, sans aucun besoin de réfléchir.

    Il suit que si on regroupe d'un côté les occurrences négatives et de l'autre les positives (chaque lettre n'apparait qu'une fois), pas besoin de rajouter des axiomes de la forme $x=y$ pour deux lettres qui, initialement, étaient égales, il suffit de rajouter $x\leq y$. En dualisant et (ie en ajoutant le mot "non" et en remplaçant $u\to v$ par $u\vee v$, on obtient un ensemble de conditions où toutes les occurrences sont croissantes et où les $x\leq y$ deviennent des empêchements de mettre tout à $1$, puisque ça exprime en fait des $non(u\wedge v)$, autrement dit des exigences que l'ensemble solution cherché ne doit pas contenir $\{u;v\}$

    C'est juste ça qui fait qu'on étudie les $A$ ayant la propriété bleue.

    Et pour l'anecdote, c'est aussi ça qui fait que certains discours politiques ou polémiques autres sont ridicules (quand on voit des gens s'inquiéter dans le mauvais sens polaire d'un occurrence du discours.

    Les tentatives de "linéariser" (au sens des systèmes affines d'équations en tout genre) se heurte aussi à ce mur. Par exemple, en demandant que $a+b+c\leq 0$, on se donne vaguement l'impression de s'assurer une disjonction que l'un des trois est négatif, mais hélas, on s'assure beaucoup beaucoup beaucoup beaucoup plusssss. Par exemple tout graphe où on remplace les ou de cette manière est DEUX COLORIABLE quand la traduction a une solution (et ça écarte donc les graphes 54 coloriables en particulier)
    Aide les autres comme toi-même car ils sont toi, ils sont vraiment toi
  • Je suis d'accord sur le fait que c'est en quelque sorte une question de "géométrie" des formules.

    On peut d'ailleurs se ramener à une forme assez régulière pour laquelle le problème de décision reste NP-Complet :

    a) la formule commence avec des clauses de taille 3 suivies par des clauses de taille 2

    b) chaque variable $x$ apparait exactement 3 fois :
    positivement $x$ dans une 3-clause puis
    négativement $\lnot x$ dans une 2-clause puis
    positivement $x$ dans une 2-clause.

    Je peux vous donner la preuve si cela intéresse (c'est un algorithme et sa preuve de correction)
Connectez-vous ou Inscrivez-vous pour répondre.