Aller au contenu

Faits initiaux

Le problème fondateur : comment construit-on une pensée logique ?

Imaginez que vous devez bâtir une maison. Avant d’élever le moindre étage, vous posez des briques en fondation. Ces briques initiales ne bougent jamais ; elles structurent tout ce qui s’élève au-dessus. Si vous en retirez une, l’édifice s’écroule. Si vous en changez l’arrangement, vous reconstruisez un bâtiment entièrement différent. En intelligence artificielle symbolique, les faits initiaux jouent exactement ce rôle : ce sont les briques fondamentales à partir desquelles un système de raisonnement déduit toutes les conclusions possibles.

Mais contrairement à une maison physique, les faits initiaux d’un système formel déterminent non seulement la solidité de la structure, mais aussi chaque conclusion que le système sera jamais capable de générer. C’est ce qui les rend critiques—et problématiques.

Définition précise : au cœur du formalisme logique

Les faits initiaux constituent l’ensemble des énoncés ou propositions considérés comme vrais au point de départ d’un système déductif. Ils forment la base axiomatique à partir de laquelle toutes les conclusions ultérieures sont dérivées via des règles d’inférence. Les faits initiaux peuvent être atomiques (énoncés simples et indécomposables, comme « Le contrat est signé le 15 janvier 2024 ») ou complexes (formules logiques composées combinant plusieurs propositions).

Pourquoi cela importe pour vous : l’enjeu organisationnel

Vous pilotez un système d’aide à la décision, un chatbot d’assistance clientèle, ou un moteur de diagnostic médical ? La qualité de vos faits initiaux détermine directement si votre système fonctionnera ou échouera en production.

Prenez un système expert pour la souscription d’assurance automobile. Vos faits initiaux incluent : « L’âge du conducteur », « Le type de véhicule », « L’historique d’sinistres ». Mais si vous oubliez « La région géographique » (facteur majeur de risque), votre système générera des primes systématiquement erronées pour certains profils régionaux. Inversement, si vous surcharisez vos faits initiaux avec 500 paramètres redondants, votre moteur d’inférence ralentira exponentiellement et ne répondra plus en temps réel.

C’est l’équilibre entre complétude (capturez-vous tout ce qui compte ?) et efficacité (pouvez-vous traiter cela rapidement ?) qui sépare les systèmes symboliques viables des prototypes inutilisables.

Le mécanisme : comment les faits initiaux engendrent les conclusions

Étape 1 : Encodage en logique formelle

Les faits initiaux s’expriment classiquement en logique du premier ordre (FOL) sous forme de clauses Horn ou de formules quantifiées. Exemple en Prolog (une implémentation concrète) :

% Faits initiaux
contrat_signe(jean_martin, 2024-01-15).
delai_stipule(jean_martin, 14).
livraison_effectuee(jean_martin, false).
% Règle d'inférence
responsabilite(X) :-
contrat_signe(X, _),
livraison_effectuee(X, false),
delai_stipule(X, Delai),
Delai < 30.

Ici, les trois faits initiaux (contrat signé, délai, non-livraison) sont les axiomes du domaine. La règle capture l’implication logique : si X satisfait ces conditions, alors X est responsable.

Étape 2 : Chaînage d’inférence (Forward et Backward)

Une fois les faits initiaux encodés, deux stratégies les exploitent :

Chaînage avant (Forward Chaining) : Partez des faits initiaux. Appliquez itérativement chaque règle dont les conditions correspondent aux faits existants. Générez de nouveaux faits dérivés. Répétez jusqu’à stabilisation ou jusqu’à atteindre l’objectif. C’est une exploration expansive de l’espace de solutions.

Chaînage arrière (Backward Chaining) : Partez d’un objectif (ex. : « Prouver que Jean Martin est responsable »). Remontez via les règles pour identifier les sous-objectifs nécessaires. Comparez avec les faits initiaux. Si tous les sous-objectifs sont satisfaits, l’objectif est prouvé. C’est une exploration réductive et dirigée.

Étape 3 : Unification et Résolution

L’unification est le mécanisme qui confronte les faits initiaux avec les patterns (têtes de règles) pour identifier les substitutions valides. Exemple : la règle « contrat_signe(X, Date) » peut s’unifier avec le fait initial « contrat_signe(jean_martin, 2024-01-15)» en substituant X = jean_martin et Date = 2024-01-15.

La résolution (formalisée par Robinson en 1965) automatise ce processus pour prouver des théorèmes à partir des axiomes de départ. Chaque étape de résolution combines deux clauses (faits initiaux ou clauses dérivées) pour produire une nouvelle clause. Cette cascade continue jusqu’à preuve ou échec.

Sous le capot : les défis techniques et théoriques

Le problème du cadre (Frame Problem)

Considérez ce puzzle : un robot doit livrer un colis d’une pièce A à une pièce B. Votre base de faits initiaux énonce l’état initial : positions, contenus des pièces, capacités du robot. Mais qu’énoncez-vous sur ce qui ne change pas lors du déplacement du robot ?

  • La peinture des murs reste la même.
  • La température ambiante demeure stable.
  • Les autres colis restent immobiles.
  • Etc.

Énumérer tous les faits qui demeurent inchangés est pratiquement impossible. C’est le Frame Problem, articulé par McCarthy et Hayes (1969) : comment spécifier l’axiomatique complète d’un monde sans énumérer infiniment ce qui ne change pas ?

Cette limitation théorique remet en cause la viabilité d’une base de faits finie et exhaustive pour des domaines complexes et dynamiques.

Explosion combinatoire et tractabilité

Chaque fait initial additionnel multiplie l’espace de recherche. Avec n faits booléens, il existe 2^n états possibles. Avec 100 faits, c’est 2^100 ≈ 10^30 états. Même le plus rapide des ordinateurs ne peut explorer cette combinatoire.

La solution réside dans la propagation de contraintes : structurer les faits initiaux et les règles pour élaguer aggressivement les branches impossibles de l’arbre de recherche. Mais cette optimisation ne marche que si vous capturez les dépendances pertinentes dans vos faits initiaux—retour au problème de représentation.

Cohérence logique : l’absence de contradiction

Si votre base de faits initiaux contient une contradiction (ex. « Jean est responsable » ET « Jean n’est pas responsable »), le système devient incohérent selon le principe d’explosion logique : ex falso quodlibet (d’une contradiction, n’importe quoi se déduit). Vous pouvez prouver n’importe quelle affirmation, fausse ou vraie.

Vérifier la cohérence des faits initiaux devient donc une tâche préalable cruciale. Pour des bases massives (millions de triplets RDF en graphes de connaissances), cette vérification elle-même peut être NP-complète.

Granularité de représentation

Représentez-vous vos faits au niveau micro (états élémentaires et atomes bruts) ou macro (propriétés abstraites et ensembles agrégés) ?

  • Micro : Plus expressif, mais explosion combinatoire.
  • Macro : Plus traitable, mais perte de nuance et incapacité à capturer certains domaines.

Le choix affecte directement la tractabilité et la qualité des inférences.

Cas d’usage concrets : où les faits initiaux cristallisent

Diagnostic médical (système type MYCIN)

Faits initiaux : Symptômes observés chez le patient (fièvre, toux, dyspnée), résultats biologiques (taux de leucocytes, culture bacille), antécédents médicaux, données génétiques.

Inférence enchaînée : Chaque règle activée par ces faits génère des hypothèses diagnostiques progressives (bronchite, pneumonie, tuberculose). Le système accumule des preuves pour converger vers un diagnostic différentiel pondéré.

Critique : Les faits initiaux ici sont incomplets et bruitées (mesures imprécises, données manquantes). Le système doit gérer l’incertitude—d’où l’adoption de facteurs de confiance probabilistes en sus des faits purs.

Configuration de produits en e-commerce

Faits initiaux : Budget client, besoins déclarés (ex. « ordinateur portable pour développement »), contraintes d’OS, écran requis.

Inférence : Chaînage avant depuis ces faits exclut les configurations incompatibles (budget insuffisant, GPU inadéquat pour ML) et filtre les options pertinentes en temps réel.

Avantage : Domaine bien structuré, faits initiaux complets et déterministes. Le système fonctionne robustement.

Planification robotique en logistique

Faits initiaux : Positions actuelles des robots, localisations des colis, zones de charge/décharge, capacité de charge, contraintes temporelles.

Chaînage arrière : Depuis l’objectif « tous les colis livrés à temps », le système remonte pour construire un plan ordonné de déplacements et manipulations, respectant les contraintes spatiales et énergétiques.

Défi : L’environnement change dynamiquement (obstacles, colis additionnels). Les faits initiaux deviennent rapidement obsolètes. Il faut boucler en continu : mettre à jour les faits, re-planifier.

L’intégration moderne : ontologies et graphes de connaissances

Depuis les années 2000, les faits initiaux transcendent la pure logique formelle pour s’intégrer dans des graphes de connaissances (ex. DBpedia, Wikidata). Les faits s’y représentent comme des triplets RDF : sujet–prédicat–objet.

Exemple : (Albert_Einstein, profession, Physicien) et (Albert_Einstein, naissance, 1879).

Cette formalisation distribue les faits initiaux sur des milliers de serveurs, les rend queryables via SPARQL, et les lie sémantiquement via des ontologies (OWL, logiques de description). C’est une évolution maîtrisée des bases de faits anciennes vers le web sémantique.

Tensions irrésolues

Symbolique vs. Sub-symbolique

Les faits initiaux ressortissent à l’IA symbolique : ils supposent une représentation discrète, logique, manipulable syntaxiquement. Or, les réseaux de neurones modernes travaillent sur des représentations continues et distribuées (embeddings). Comment fusionner ces deux paradigmes ?

Une piste : convertir des faits initiaux symboliques en contraintes soft sur l’espace d’embedding (ex. loss regularization). Mais cette fusion reste largement exploratoire.

Le problème de révision non-monotonique

Les systèmes purs basés sur faits initiaux supposent la monotonie logique : ajouter un fait ne retire jamais une conclusion antérieure. Pourtant, l’humain revise continuellement ses croyances : « Je croyais que X, mais j’ai appris que Y, donc je retire la conclusion Z. »

La logique non-monotonique (defaults, circumscription) tente de modéliser cela, mais elle complique radicalement le système et crée de nouvelles incohérences potentielles.

Scalabilité et maintenabilité

Les systèmes experts des années 1980 échouaient à supporter plus de quelques milliers de faits initiaux maintenus par des experts humains. Aujourd’hui, les graphes de connaissances contiennent des milliards de triplets. Mais comment garantir la cohérence, l’exhaustivité, et la pertinence quand le volume croît exponentiellement et que personne ne “possède” totalement le système ?


Notions liées


Sources & Références

  • McCarthy, J. & Hayes, P. (1969). « Some Philosophical Problems from the Standpoint of Artificial Intelligence ». Machine Intelligence, vol. 4, pp. 463–502. Formulation classique du Frame Problem et insuffisances théoriques des bases de faits finies.

  • Robinson, J. A. (1965). « A Machine-Oriented Logic Based on the Resolution Principle ». Journal of the ACM, vol. 12, no. 1, pp. 23–41. Fondation de la résolution et de l’unification en logique du premier ordre.

  • Russell, S. J. & Norvig, P. (2020). Artificial Intelligence: A Modern Approach (4e édition). Pearson. Chapitre 8 sur la représentation et le raisonnement basés sur la connaissance ; traitement détaillé des architectures symboliques et des faits initiaux.

  • Nilsson, N. J. & Nilsson, L. E. (2010). The Quest for Artificial Intelligence: A History of Ideas and Achievements. Cambridge University Press. Contexte historique des systèmes experts et rôle central de la base de faits dans l’IA des années 1970–1990.

  • Reiter, R. (2001). Knowledge in Action: Logical Foundations for Specifying and Implementing Dynamical Systems. MIT Press. Formalisme de situation et gestion dynamique des faits initiaux dans un monde changeant.

  • W3C Semantic Web Activity (2014). « Resource Description Framework (RDF) » et « Web Ontology Language (OWL) ». Standards du web sémantique pour formalisation et requêtes sur graphes de connaissances.