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”Énoncé
Section titled “Énoncé”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 un ensemble fini de variables propositionnelles. Une interprétation (ou valuation) est une application . L’ensemble des interprétations possibles est noté , de cardinal .
Une formule propositionnelle construite à partir de et des connecteurs induit une fonction booléenne . Deux formules et sont dites sémantiquement équivalentes () 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.
Questions
Section titled “Questions”Partie I : Propriétés fondamentales et tables de vérité
Section titled “Partie I : Propriétés fondamentales et tables de vérité”- (Définition) Rappeler formellement ce qu’est la table de vérité d’une formule à variables. Quel est le nombre total de fonctions booléennes distinctes à variables ?
- (Analyse de complexité) Soit le nombre de variables d’une formule . Exprimer, en fonction de , 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.
- (Équivalence et Tautologie) Soit et deux formules. Proposer un algorithme naïf basé sur les tables de vérité permettant de décider si . Quelle est la complexité temporelle de cet algorithme dans le pire des cas ?
Partie II : Complétude fonctionnelle
Section titled “Partie II : Complétude fonctionnelle”Un ensemble de connecteurs est dit fonctionnellement complet (ou universel) si toute fonction booléenne d’arité arbitraire peut être exprimée à l’aide uniquement des connecteurs de .
- (Connecteur unique) Le connecteur de Sheffer (NAND, noté ) est défini par . Démontrer que l’ensemble est fonctionnellement complet. (On pourra exprimer la négation, la conjonction et la disjonction à l’aide de ).
- (Limite d’un fragment) On considère le fragment logique utilisant uniquement les connecteurs (sans négation). Soit une formule de ce fragment. Montrer par induction sur la structure de que si toutes les variables de sont évaluées à , alors la formule s’évalue à (propriété de monotonie). En déduire que l’ensemble n’est pas fonctionnellement complet.
Partie III : Analyse critique du modèle
Section titled “Partie III : Analyse critique du modèle”- (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 . Discuter de l’alternative que constituent les formes normales ou les structures de type DAG (diagrammes de décision boursiers / BDD).
Pistes et indications
Section titled “Pistes et indications”- Q4 : Pour exprimer la négation , étudiez . Pour la conjonction , partez de et appliquez une négation.
- Q5 : Procédez par induction structurelle sur la formule . Cas de base : une variable. Cas inductifs : et .
- Q6 : Pensez à la notion de complexité en et au fossé entre la taille d’une syntaxe (courte) et la taille de sa table de vérité (exponentielle).
Corrigé pas à pas
Section titled “Corrigé pas à pas”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 est une fonction tabulée qui associe à chaque élément la valeur de vérité de sous l’interprétation . Puisque chaque variable peut prendre valeurs ( ou ) et qu’il y a variables, . Une fonction booléenne à variables est une application de . Le nombre de telles applications est de .
-
Complexité spatiale : La table comporte exactement lignes. Pour stocker explicitement la table de vérité en mémoire, la complexité spatiale est donc en . C’est une explosion combinatoire : dès , dépasse la capacité des mémoires des supercalculateurs actuels.
-
Décision d’équivalence : L’algorithme consiste à générer les lignes des tables de vérité de et puis à comparer les colonnes de résultats terme à terme. Si les sorties coïncident pour toutes les interprétations, alors . La complexité temporelle de cet algorithme est en , où représente la taille syntaxique de la formule (le nombre de symboles), car il faut évaluer la formule pour chaque ligne.
Partie II
Section titled “Partie II”-
Complétude du NAND () : Montrons que l’on peut retrouver les connecteurs de base à l’aide de :
- Négation : .
- Conjonction : .
- Disjonction : Par les lois de De Morgan, . En posant et , on obtient . Puisque tout connecteur classique peut être exprimé via , cet ensemble est fonctionnellement complet.
-
Monotonie du fragment : Soit la propriété : « Si toutes les variables de valent , alors s’évalue à ».
- Base : Si , par hypothèse l’interprétation assigne à , donc la formule s’évalue à . La propriété est vraie.
- Hérédité : Supposons la propriété vraie pour et .
- Si : par hypothèse d’induction, et s’évaluent à . Ainsi, .
- Si : par hypothèse d’induction, au moins l’une d’elles s’évalue à (voire les deux), donc ou . La propriété est donc démontrée par induction.
- Conclusion : La fonction constante (qui renvoie lorsque toutes les variables valent ) ne peut pas être exprimée dans ce fragment. Par conséquent, n’est pas fonctionnellement complet.
Partie III
Section titled “Partie III”- 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 tout en générant une table de vérité de taille . Le calcul et le stockage de la table de vérité violent immédiatement l’hypothèse de tratabilité pour des valeurs usuelles de en pratique industrielle ().
- Problème SAT : Déterminer si une formule est satisfiable (possède au moins une ligne à 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.