Skip to content

Exercice 1 : Tables de vérité

Problème : Complexité et expressivité des tables de vérité en logique propositionnelle

Section titled “Problème : Complexité et expressivité des tables de vérité en logique propositionnelle”

Le présent problème s’intéresse à l’étude formelle des fonctions booléennes et de leur représentation tabulaire, outil fondamental en informatique théorique pour la vérification de programmes, la conception de circuits combinatoires et la démonstration automatique de théorèmes.

On se place dans le cadre de la logique propositionnelle classique. Soit V={x1,x2,…,xn}V = \{x_1, x_2, \dots, x_n\} un ensemble fini de nn variables propositionnelles. Une interprétation (ou valuation) est une application ν:V→{0,1}\nu : V \to \{0, 1\}. L’ensemble des interprétations possibles est noté In\mathcal{I}_n, de cardinal 2n2^n.

Une formule propositionnelle ϕ\phi construite à partir de VV et des connecteurs {∧,∨,¬}\{\land, \lor, \neg\} induit une fonction booléenne fϕ:{0,1}n→{0,1}f_\phi : \{0, 1\}^n \to \{0, 1\}. Deux formules ϕ\phi et ψ\psi sont dites sémantiquement équivalentes (ϕ≡ψ\phi \equiv \psi) si elles induisent la même fonction booléenne.

L’objectif de ce problème est d’analyser la représentation des formules par leurs tables de vérité, d’étudier l’expressivité de certains fragments logiques, et de porter un regard critique sur les limites algorithmiques de ce modèle.


Partie I : Propriétés fondamentales et tables de vérité

Section titled “Partie I : Propriétés fondamentales et tables de vérité”
  1. (Définition) Rappeler formellement ce qu’est la table de vérité d’une formule ϕ\phi à nn variables. Quel est le nombre total de fonctions booléennes distinctes à nn variables ?
  2. (Analyse de complexité) Soit nn le nombre de variables d’une formule ϕ\phi. Exprimer, en fonction de nn, la taille (le nombre de lignes) de sa table de vérité. Conclure quant à l’espace mémoire nécessaire pour stocker cette table en machine.
  3. (Équivalence et Tautologie) Soit ϕ\phi et ψ\psi deux formules. Proposer un algorithme naïf basé sur les tables de vérité permettant de décider si ϕ≡ψ\phi \equiv \psi. Quelle est la complexité temporelle de cet algorithme dans le pire des cas ?

Un ensemble de connecteurs C\mathcal{C} est dit fonctionnellement complet (ou universel) si toute fonction booléenne d’arité arbitraire peut être exprimée à l’aide uniquement des connecteurs de C\mathcal{C}.

  1. (Connecteur unique) Le connecteur de Sheffer (NAND, noté ↑\uparrow) est défini par ϕ↑ψ≡¬(ϕ∧ψ)\phi \uparrow \psi \equiv \neg(\phi \land \psi). Démontrer que l’ensemble {↑}\{\uparrow\} est fonctionnellement complet. (On pourra exprimer la négation, la conjonction et la disjonction à l’aide de ↑\uparrow).
  2. (Limite d’un fragment) On considère le fragment logique utilisant uniquement les connecteurs {∧,∨}\{\land, \lor\} (sans négation). Soit ϕ\phi une formule de ce fragment. Montrer par induction sur la structure de ϕ\phi que si toutes les variables de ϕ\phi sont évaluées à 11, alors la formule s’évalue à 11 (propriété de monotonie). En déduire que l’ensemble {∧,∨}\{\land, \lor\} n’est pas fonctionnellement complet.
  1. (Esquisse critique) Le modèle des tables de vérité est souvent qualifié de “naïf” en intelligence artificielle et en théorie de la complexité. Rédiger une analyse critique argumentée mettant en évidence les limites de ce modèle face au problème de la satisfaisabilité (SAT) pour de grandes valeurs de nn. Discuter de l’alternative que constituent les formes normales ou les structures de type DAG (diagrammes de décision boursiers / BDD).

  • Q4 : Pour exprimer la négation ¬A\neg A, étudiez A↑AA \uparrow A. Pour la conjonction A∧BA \land B, partez de A↑BA \uparrow B et appliquez une négation.
  • Q5 : Procédez par induction structurelle sur la formule ϕ\phi. Cas de base : une variable. Cas inductifs : ϕ1∧ϕ2\phi_1 \land \phi_2 et ϕ1∨ϕ2\phi_1 \lor \phi_2.
  • Q6 : Pensez à la notion de complexité en O(2n)O(2^n) et au fossé entre la taille d’une syntaxe (courte) et la taille de sa table de vérité (exponentielle).

Partie I_1. Table de vérité et nombre de fonctions :

Section titled “Partie I_1. Table de vérité et nombre de fonctions :”

La table de vérité d’une formule ϕ\phi est une fonction tabulée qui associe à chaque élément ν∈In\nu \in \mathcal{I}_n la valeur de vérité de ϕ\phi sous l’interprétation ν\nu. Puisque chaque variable peut prendre 22 valeurs (00 ou 11) et qu’il y a nn variables, ∣In∣=2n|\mathcal{I}_n| = 2^n. Une fonction booléenne à nn variables est une application de {0,1}ndans{0,1}\{0, 1\}^n dans \{0, 1\}. Le nombre de telles applications est de 2(2n)2^{(2^n)}.

  1. Complexité spatiale : La table comporte exactement 2n2^n lignes. Pour stocker explicitement la table de vérité en mémoire, la complexité spatiale est donc en O(2n)\mathcal{O}(2^n). C’est une explosion combinatoire : dès n=60n = 60, 2602^{60} dépasse la capacité des mémoires des supercalculateurs actuels.

  2. Décision d’équivalence : L’algorithme consiste à générer les 2n2^n lignes des tables de vérité de ϕ\phi et ψ\psi puis à comparer les colonnes de résultats terme à terme. Si les sorties coïncident pour toutes les interprétations, alors ϕ≡ψ\phi \equiv \psi. La complexité temporelle de cet algorithme est en O(2n⋅∣ϕ∣)\mathcal{O}(2^n \cdot |\phi|), où ∣ϕ∣|\phi| représente la taille syntaxique de la formule (le nombre de symboles), car il faut évaluer la formule pour chaque ligne.


  1. Complétude du NAND (↑\uparrow) : Montrons que l’on peut retrouver les connecteurs de base {¬,∧,∨}\{\neg, \land, \lor\} à l’aide de ↑\uparrow :

    • Négation : A↑A≡¬(A∧A)≡¬AA \uparrow A \equiv \neg(A \land A) \equiv \neg A.
    • Conjonction : (A↑B)↑(A↑B)≡¬((A↑B)∧(A↑B))≡¬(¬(A∧B))≡A∧B(A \uparrow B) \uparrow (A \uparrow B) \equiv \neg( (A \uparrow B) \land (A \uparrow B) ) \equiv \neg(\neg(A \land B)) \equiv A \land B.
    • Disjonction : Par les lois de De Morgan, A∨B≡¬(¬A∧¬B)A \lor B \equiv \neg(\neg A \land \neg B). En posant ¬A=A↑A\neg A = A \uparrow A et ¬B=B↑B\neg B = B \uparrow B, on obtient A∨B≡(A↑A)↑(B↑B)A \lor B \equiv (A \uparrow A) \uparrow (B \uparrow B). Puisque tout connecteur classique peut être exprimé via {↑}\{\uparrow\}, cet ensemble est fonctionnellement complet.
  2. Monotonie du fragment {∧,∨}\{\land, \lor\} : Soit P(ϕ)\mathcal{P}(\phi) la propriété : « Si toutes les variables de ϕ\phi valent 11, alors ϕ\phi s’évalue à 11 ».

    • Base : Si ϕ=xi\phi = x_i, par hypothèse l’interprétation assigne 11 à xix_i, donc la formule s’évalue à 11. La propriété est vraie.
    • Hérédité : Supposons la propriété vraie pour ϕ1\phi_1 et ϕ2\phi_2.
      • Si ϕ=ϕ1∧ϕ2\phi = \phi_1 \land \phi_2 : par hypothèse d’induction, ϕ1\phi_1 et ϕ2\phi_2 s’évaluent à 11. Ainsi, 1∧1=11 \land 1 = 1.
      • Si ϕ=ϕ1∨ϕ2\phi = \phi_1 \lor \phi_2 : par hypothèse d’induction, au moins l’une d’elles s’évalue à 11 (voire les deux), donc 1∨1=11 \lor 1 = 1 ou 1∨0=11 \lor 0 = 1. La propriété est donc démontrée par induction.
    • Conclusion : La fonction constante f(x)=0f(x) = 0 (qui renvoie 00 lorsque toutes les variables valent 11) ne peut pas être exprimée dans ce fragment. Par conséquent, {∧,∨}\{\land, \lor\} n’est pas fonctionnellement complet.

  1. Analyse critique du modèle :
    • Limites intrinsèques : Le modèle tabulaire souffre d’une inefficacité drastique face à la structure syntaxique des formules. Une formule très courte (par exemple, une conjonction de clauses ou une formule issue de la logique temporelle) peut posséder une taille syntaxique linéaire O(n)\mathcal{O}(n) tout en générant une table de vérité de taille O(2n)\mathcal{O}(2^n). Le calcul et le stockage de la table de vérité violent immédiatement l’hypothèse de tratabilité pour des valeurs usuelles de nn en pratique industrielle (n>300n > 300).
    • Problème SAT : Déterminer si une formule est satisfiable (possède au moins une ligne à 11 dans sa table) via la construction complète de la table de vérité équivaut à une force brute inefficace.
    • Alternatives modernes : Pour pallier ces limites, les solveurs SAT modernes (DPLL, CDCL) évitent l’exploration exhaustive de la table de vérité en effectuant des coupes dans l’espace de recherche (élagage par propagation unitaire). De même, les Binary Decision Diagrams (BDD) compressent les tables de vérité en graphes orientés acycliques (DAG) réduits, permettant parfois de manipuler canoniquement et efficacement des fonctions booléennes complexes là où les tables échouent.