Aller au contenu
Kudos AI
Read in English
Logique et connaissances

La logique et la représentation des connaissances

Raisonner sur ce qui doit être vrai : modèles et conséquence logique déroulés par énumération exhaustive, correction et complétude, pourquoi la logique propositionnelle épuise son pouvoir expressif, et là où la logique du premier ordre prend le relais.

10 min de lectureKudos AI
Une phrase par case jetée dès que la grille change de taille, remplacée par une unique règle quantifiée qui y survit - puis un unificateur calculé argument par argument.

L’essentiel de ce site porte sur l’apprentissage à partir de données - estimer des quantités incertaines, et rester rigoureux sur le degré de cette incertitude. Il existe en intelligence artificielle une tradition plus ancienne qui pose une autre question : étant donné ce que je sais déjà, qu’est-ce qui doit être vrai ?

Ce n’est pas une question statistique. Elle admet une réponse définie, et la machinerie qui la calcule est la logique.

A. Bases de connaissances, modèles, conséquence logique

Une base de connaissances (BC) est un ensemble de phrases affirmées vraies au sujet du monde. Un modèle est une assignation complète de valeurs de vérité à chaque proposition - un monde possible entièrement spécifié. Une phrase est vraie dans certains modèles et fausse dans d’autres, et l’on note M(α)M(\alpha) l’ensemble des modèles où α\alpha est vraie.

La relation centrale est la conséquence logique :

KB⊨α\text{KB} \models \alpha - lu « la BC implique α\alpha » - signifie que α\alpha est vraie dans tout modèle où la BC est vraie. De façon équivalente, M(KB)⊆M(α)M(\text{KB}) \subseteq M(\alpha).

L’idée est familière en arithmétique, où x=0x = 0 implique xy=0xy = 0 : dans tout monde où xx est nul, xyxy l’est aussi, quel que soit yy.

La conséquence logique est un fait de signification, non d’algorithme. Russell et Norvig formulent la distinction de façon mémorable : voyez les conséquences de la BC comme une meule de foin et α\alpha comme une aiguille. La conséquence logique, c’est que l’aiguille est dans la meule ; l’inférence, c’est de l’y trouver.

B. Dérouler une conséquence à la main

Prenons le cadre standard. Un agent explore une grille de cavernes dont certaines contiennent des puits. Une case est venteuse exactement quand une case adjacente contient un puits. L’agent démarre en [1,1][1,1], ne sent aucun vent, se déplace en [2,1][2,1], et sent du vent.

Trois cases sont en jeu : [1,2][1,2], [2,2][2,2] et [3,1][3,1]. Chacune contient ou non un puits : il y a donc 23=82^3 = 8 mondes possibles.

La BC dit deux choses :

  • Pas de vent en [1,1][1,1]. Ses voisines sont [1,2][1,2] et [2,1][2,1], donc aucune ne contient de puits. En particulier [1,2][1,2] est sans puits.
  • Du vent en [2,1][2,1]. Ses voisines sont [1,1][1,1], [2,2][2,2] et [3,1][3,1]. L’agent se tenait sans risque en [1,1][1,1], donc au moins l’une de [2,2][2,2], [3,1][3,1] contient un puits.

Énumérons les huit et marquons là où la BC tient :

[1,2][1,2][2,2][2,2][3,1][3,1]BC vraie ?
---non
--puitsoui
-puits-oui
-puitspuitsoui
puits--non
puits-puitsnon
puitspuits-non
puitspuitspuitsnon

Exactement trois modèles survivent. Testons maintenant deux conclusions candidates.

α1\alpha_1 : « il n’y a pas de puits en [1,2][1,2] ». Vraie dans les trois modèles survivants. Donc KB⊨α1\text{KB} \models \alpha_1 - l’agent peut s’y rendre sans risque.

α2\alpha_2 : « il n’y a pas de puits en [2,2][2,2] ». Fausse dans deux des trois. Donc KB⊭α2\text{KB} \not\models \alpha_2. Notez soigneusement ce que cela ne dit pas : cela n’établit pas non plus qu’il y a un puits en [2,2][2,2], puisqu’un modèle survivant n’en contient pas. La conclusion honnête est que les indices ne tranchent pas.

Python

S'exécute dans votre navigateur. La première exécution télécharge l'environnement Python (~10 Mo), puis il est mis en cache.

Cette procédure - énumérer tous les modèles, vérifier que α\alpha tient partout où la BC tient - est la vérification de modèles, et c’est une transcription directe de la définition de la conséquence logique.

Les huit mondes sont dans la figure ci-dessous, les trois qui survivent à la base de connaissances étant marqués. Choisissez une conclusion et le tableau marque quelque chose de plus utile encore : chaque monde survivant où cette conclusion est fausse. Pour « pas de fosse en [2,2] » il y en a deux, et chacun est un monde parfaitement compatible avec tout ce qui est su - c’est cela que signifie « non impliquée », et c’est pourquoi affirmer le contraire serait tout aussi peu fondé. Désactivez une phrase de la base et regardez l’ensemble survivant grandir.

Interactif : huit mondes, et celui qui vous réfute

Choisissez une conclusion. Le tableau marque chaque monde qui survit à la BC et la nie.

[1,2][2,2][3,1]BC vraie ?α vraie ?
fossefossefossenonnon
fossefosse-nonnon
fosse-fossenonoui
fosse--nonoui
-fossefosseouinon
-fosse-ouinon
--fosseouioui
---nonoui
Mondes possibles
8
Modèles de la BC
3
Mondes réfutant α
2
Verdict
indéterminée

La base de connaissances

La conclusion α

2 des 3 mondes survivants nient α et les autres la soutiennent : la base n’implique donc pas α, ni sa négation. Les données ne tranchent tout simplement pas. Affirmer l’une ou l’autre réponse serait une prétention que la base ne soutient pas, et les lignes marquées en sont la preuve : chacune est un monde parfaitement compatible avec tout ce qui est su, et où la conclusion est fausse.

C. Correction, complétude et coût

Dès lors que l’inférence est une procédure et non une définition, deux propriétés comptent. Un algorithme est correct (ou préservant la vérité) si tout ce qu’il dérive est réellement une conséquence : il n’invente jamais de conclusions. Il est complet s’il peut dériver tout ce qui est conséquence : il n’en manque jamais une.

La vérification de modèles est les deux. Elle est correcte parce qu’elle implémente directement la définition, et complète parce qu’il n’y a qu’un nombre fini de modèles et qu’elle les examine tous.

Le coût est le problème. Avec nn symboles propositionnels il y a 2n2^n modèles, si bien que la complexité en temps est O(2n)O(2^n) - la complexité en espace n’est que O(n)O(n), l’énumération pouvant se faire en profondeur d’abord. Nos trois inconnues ont donné huit lignes ; trente en donneraient plus d’un milliard.

Ce n’est pas non plus une simple faiblesse d’un algorithme naïf. Décider la conséquence propositionnelle est co-NP-complet : aucune méthode connue n’évite donc un comportement exponentiel dans le pire cas. Les systèmes pratiques emploient en conséquence des règles d’inférence qui dérivent des conclusions syntaxiquement au lieu d’énumérer des mondes - le modus ponens et ses proches - nettement plus rapides sur les problèmes typiques tout en restant corrects.

Voici l'une de ces règles voisines à l'œuvre : un démonstrateur par résolution, calculs apparents, sur une base de connaissances plus petite que celle ci-dessus. Elle contient la règle selon laquelle [1,1][1,1] est venteuse exactement quand [1,2][1,2] ou [2,1][2,1] contient une fosse, B1,1⇔(P1,2∨P2,1)B_{1,1} \Leftrightarrow (P_{1,2} \lor P_{2,1}), et la perception ¬B1,1\neg B_{1,1}, sans aucune perception en [2,1][2,1]. La liste de clauses est cette base convertie en clauses, plus la requête niée, et chaque ligne en dessous est une résolvante, dans l'ordre où la recherche l'a produite. Demandez « pas de fosse en [1,2] » et la case vide apparaît ; demandez « une fosse en [1,2] » et la recherche sature sans elle, ce qui est une réponse et non un échec. Chaque requête est en outre tranchée une seconde fois en énumérant les huit mondes, sans une ligne de code commune, et la figure indique si les deux s'accordent.

Interactif : une réfutation, clause par clause

Répondu deux fois : par résolution, et en énumérant les huit mondes.

Base de connaissances en FNC, la requête niée en dernier

  • !B11 v P12 v P21
  • !P12 v B11
  • !P21 v B11
  • !B11
  • P12
Clauses de départ
5
Clauses nouvelles
5
Clause vide
oui
La vérification par modèles confirme
oui

Résolvantes, dans l’ordre où le démonstrateur les a trouvées

  • !P12 v B11 + !B11 -> !P12
  • !P21 v B11 + !B11 -> !P21
  • !P12 v B11 + P12 -> B11
  • !B11 v P12 v P21 + !P12 -> !B11 v P21
  • P12 + !P12 -> []
demander si la base implique

La clause vide est apparue après 5 clauses nouvelles, et une disjonction vide est fausse dans tout modèle. La base jointe à la requête niée est donc insatisfiable, ce qui est exactement ce que signifie « la base implique la requête ». La vérification par modèles, qui énumère les huit mondes sans partager une ligne de code, confirme.

D. Là où la logique propositionnelle s’épuise

Tout ce qui précède employait des propositions : des faits atomiques simplement vrais ou faux. C’est une limitation réelle, et elle apparaît dès que vous cherchez à énoncer quelque chose de général.

Pour exprimer « toutes les cases adjacentes à un puits sont venteuses » en propositionnel, vous devez écrire une phrase par case, et toutes les réécrire si la grille change de taille. La règle elle-même - ce que vous savez réellement - ne peut pas être énoncée. Le verdict de Russell et Norvig est net : la logique propositionnelle est un langage trop chétif pour représenter de façon concise la connaissance d’environnements complexes.

La différence est d’engagement ontologique - ce qu’un langage suppose de la nature de la réalité :

LogiqueS’engage sur
PropositionnelleDes faits qui tiennent ou ne tiennent pas
Du premier ordreDes objets, et des relations entre eux qui tiennent ou non
TemporelleDes faits tenant à des instants particuliers et ordonnés
D’ordre supérieurDes relations et fonctions comme objets à part entière

La logique du premier ordre suppose que le monde contient des objets dotés de relations. Cela achète des quantificateurs - ∀\forall (« pour tout ») et ∃\exists (« il existe ») - et avec eux, la généralité. La règle du vent devient une seule phrase quantifiée sur toutes les cases, vraie quelle que soit la taille de la grille.

L’inférence s’élève en conséquence. Le modus ponens généralisé applique la règle familière à des phrases contenant des variables, en trouvant d’abord une substitution θ\theta qui fait coïncider les prémisses - un procédé appelé unification - puis en appliquant θ\theta à la conclusion. Un raisonnement qu’il fallait répéter par objet se fait une fois, schématiquement.

C'est un algorithme : la figure ci-dessous l'exécute donc, argument par argument, chaque liaison étant notée au moment où elle est faite, et les deux termes imprimés avec l'unificateur appliqué, de sorte que « identiques » se lise au lieu de s'affirmer. Deux paires qui échouent l'accompagnent. Le test d'occurrence est celui qu'il faut essayer : unifier x avec Mother(x) n'a pas de solution, et une implémentation qui l'omet construit un terme infini au lieu de le dire.

Interactif : l’unificateur le plus général, calculé

Argument par argument, chaque liaison notée au moment où elle est faite.

  • Knows(John, x)
  • Knows(y, Mother(y))

Ce que l’algorithme a fait, dans l’ordre

  1. Knows(John, x) ~ Knows(y, Mother(y)) -> same symbol: match 2 arguments
  2. y ~ John -> bind y/John
  3. x ~ Mother(John) -> bind x/Mother(John)
Unifiable
oui
Substitution
{y/John, x/Mother(John)}
Liaisons faites
2
Les deux termes, unifiés
Knows(John, Mother(John))

L’unificateur est {y/John, x/Mother(John)}, et l’appliquer rend les deux expressions littéralement identiques. Remarquez le peu qu’il engage : c’est le PLUS GÉNÉRAL, ne liant que ce que l’appariement impose.

E. Pourquoi cela compte encore

Il serait facile de ranger tout cela dans l’histoire. Ce serait une erreur, pour trois raisons.

Certaines connaissances ne sont pas statistiques. Contraintes, règles, définitions et politiques s’énoncent naturellement comme des phrases qui tiennent ou échouent, et les apprendre à partir d’exemples alors qu’on pourrait simplement les écrire est coûteux et peu fiable.

Les conclusions logiques viennent avec des garanties. Une procédure d’inférence correcte ne renvoie jamais de mauvaise réponse, et elle peut montrer son travail sous forme d’une chaîne de règles appliquées. Un modèle appris offre une probabilité et, d’ordinaire, aucune dérivation. Là où la correction doit être certifiée plutôt qu’estimée, cette différence est décisive.

La question de la représentation n’a pas disparu. Comment encoder ce qu’un système sait pour qu’il puisse le combiner et raisonner dessus est la même question, que le contenu soit des axiomes écrits à la main ou extrait d’un corpus. Ontologies, graphes de connaissances, schémas typés et solveurs de contraintes descendent tous de cette ligne de travaux.

La position réaliste est que les deux traditions répondent à des questions différentes. L’apprentissage traite la perception et l’incertitude ; la logique traite la structure et la conséquence garantie. Les systèmes qui ont besoin des deux finissent en général avec les deux.

À retenir

  • Une base de connaissances est un ensemble de phrases affirmées ; un modèle est un monde possible entièrement spécifié.
  • KB⊨α\text{KB} \models \alpha signifie que α\alpha tient dans tout modèle où la BC tient - M(KB)⊆M(α)M(\text{KB}) \subseteq M(\alpha).
  • La conséquence logique est un fait sémantique ; l’inférence en est la recherche - l’aiguille et la meule de foin.
  • Dans l’exemple traité, 8 mondes possibles se réduisent à 3 compatibles avec les percepts, impliquant « pas de puits en [1,2][1,2] » mais laissant [2,2][2,2] réellement indéterminée.
  • Ne pas impliquer α\alpha n’est pas impliquer ¬α\neg\alpha.
  • Correct veut dire jamais faux ; complet veut dire ne rien manquer. La vérification de modèles est les deux, en temps O(2n)O(2^n) et espace O(n)O(n).
  • La conséquence propositionnelle est co-NP-complète : le coût exponentiel dans le pire cas est intrinsèque, non un artefact d’un algorithme naïf.
  • La logique propositionnelle ne peut pas énoncer de règles générales ; la logique du premier ordre s’engage sur des objets et des relations, gagnant des quantificateurs et une inférence relevée.

La suite

Pour le pendant probabiliste - raisonner quand les faits ne sont pas simplement vrais ou faux mais tiennent avec un certain degré de croyance - voyez Le théorème de Bayes et la mise à jour des croyances, et pour la couche décisionnelle bâtie par-dessus, Les processus de décision markoviens.

Références et lectures complémentaires

  • Stuart Russell, Peter Norvig, Artificial Intelligence: A Modern Approach, Pearson (3rd edition), 2010· Bibliothèque de référence Kudos AI

Les œuvres protégées par le droit d’auteur sont citées à titre de référence uniquement et ne sont pas hébergées ici ; veuillez consulter l’éditeur pour y accéder.

Lecture associée

4 min de lectureLogique et connaissances

Un million de clauses, ou soixante et une

Convertir une formule courte en forme normale conjonctive par distribution donne 1 048 576 clauses et 20 971 520 littéraux ; nommer les sous-formules en donne 61 et 160, soit un facteur 131 072 sur les littéraux, et ne perd rien du tout : les deux ont le même nombre de modèles, vérifié par énumération. C’est le codage, et non le solveur, qui décide du sort d’un problème de satisfiabilité.

Intelligence artificielleMathématiques
4 min de lectureRaisonnement probabiliste

Cent mille échantillons, quatre cents qui comptent

Sur le réseau du cambriolage avec les deux voisins qui appellent, l’échantillonnage par rejet garde 183 tirages sur 100 000 et la pondération par vraisemblance les garde tous pour une taille d’échantillon efficace de 396. Les deux estimations s’écartent d’environ 10 % d’une probabilité a posteriori de 0,284172, et la raison se calcule exactement : 252 échantillons portent 76 % du poids et 99,975 % du poids au carré.

Intelligence artificielleProbabilité
5 min de lectureRaisonnement probabiliste

La semaine qui n’a pas pu avoir lieu

Prenez l’état le plus probable chaque jour, écrivez-les dans l’ordre, et vous obtenez un rapport auquel le modèle attribue une probabilité exactement nulle : sur un exemple de surveillance de machine sur quatre jours, la réponse jour par jour est sain, sain, en panne, en panne, et passer de sain à en panne est une transition impossible. Ce que sont réellement les deux questions, pourquoi le lissage et Viterbi n’y répondent pas de la même manière, et ce que signifie la probabilité a posteriori de 0,411 du meilleur chemin pour qui doit décider.

Intelligence artificielleProbabilité
← Retour à tous les articles