Adloun

informatique (MP2I/MPI) · Chapitre 20 · Exercice de TD

Problème — La transformation de Tseitin : une fnc linéaire

Logique propositionnelle · niveau 3 (difficile)

Énoncé

Le cours annonce que « les solveurs réels emploient des transformations qui ajoutent des variables au lieu de distribuer ». On construit ici cette transformation.

À chaque sous-formule de , on associe une variable fraîche , et l'on écrit des clauses exprimant localement.

  • Donner les clauses traduisant , puis , puis .
  • En déduire la construction, et compter les clauses.
  • La fnc obtenue est-elle équivalente à ? Que garde-t-on ?
  • Comparer, sur du cours, avec la mise en fnc par distribution.

Corrigé

1. Les trois traductions. On décompose l'équivalence en deux implications, puis on décompose chaque implication.

Comment on les retrouve sans les apprendre : pour , le sens donne , qu'on distribue en deux clauses ; le sens donne . Trois clauses, chacune de longueur au plus . La distribution reste ici sans danger parce qu'elle porte sur deux littéraux, jamais sur des formules.

2. La construction. On parcourt l'arbre de de bas en haut ; à chaque nœud interne on crée une variable fraîche et l'on émet ses trois clauses ; à la fin, on ajoute la clause unitaire , qui force la racine à être vraie.


Entrée  : une formule phi.
Sortie  : une FNC.
Pour chaque nœud interne de l'arbre de phi, dans un parcours postfixe :
    creer une variable fraiche t
    emettre les 2 ou 3 clauses de t <-> (operation sur les fils)
Emettre la clause unitaire (t_racine).

Le compte. Un nœud interne engendre au plus clauses de longueur au plus , et une variable. Si a nœuds internes, on obtient au plus clauses et variables auxiliaires : la fnc est de taille linéaire en . Mesuré sur : clauses et variables auxiliaires.

3. Non, elle n'est pas équivalente — et elle ne peut pas l'être : elle parle de variables que ne connaît pas. Ce qu'on garde est plus faible et parfaitement suffisant :

◆Théorème 20.1Équisatisfiabilité

Notons la fnc de Tseitin. Alors est satisfiable si et seulement si l'est. De plus, tout modèle de , restreint aux variables de , est un modèle de .

Démonstration

() Soit un modèle de . Étendons en posant pour chaque sous-formule . Chaque groupe de clauses traduit exactement , donc est satisfait par construction ; et la clause unitaire l'est puisque .

() Soit un modèle de . Une récurrence sur la hauteur de montre que : c'est vrai pour les feuilles, et les clauses du nœud imposent précisément l'équivalence. En particulier , et la clause unitaire donne : la restriction de est un modèle de .

L'équisatisfiabilité suffit, et c'est le point de méthode à retenir : on ne demande jamais à un solveur sat de préserver le sens, seulement de préserver la réponse. Vérifié à la mesure sur formules tirées au hasard sur trois variables : et ont toujours le même statut, et la restriction d'un modèle de satisfait toujours .

4. La comparaison, mesurée sur :

taille de fnc par distributionfnc de Tseitinvariables ajoutées

La distribution est meilleure jusqu'à , puis Tseitin l'emporte définitivement : contre . Le croisement à mérite d'être noté — une transformation asymptotiquement meilleure peut être plus coûteuse sur les petites instances, et c'est pour cela qu'un solveur regarde la taille avant de choisir.

Exercices semblables

Le cours du chapitre · Tous les exercices du chapitre