Agents logiques et planification

Découvre comment un système d'IA peut stocker ses connaissances sous forme de formules logiques et déterminer ce qui en découle. Écris des connaissances en logique propositionnelle et du premier ordre, démontre des conclusions par résolution et chaînage, trouve des modèles avec des solveurs SAT, organise des faits dans des ontologies et des graphes de connaissances, et décris des problèmes de planification pour qu'un planificateur puisse trouver une séquence d'actions qui atteint un but.

IntermédiaireUnité 5 sur 10 de la formation Formation : Intelligence artificielle : agents, recherche et apprentissage

Ce que tu vas apprendre

  1. Explique comment un agent à base de connaissances stocke des faits et tire des conclusions, écris ses connaissances sous forme de formules propositionnelles et détermine ce qui en découle en vérifiant les modèles.
    • Décrire le fonctionnement d'un agent à base de connaissances
      Explique la base de connaissances, les opérations TELL et ASK et le cycle percevoir-raisonner-agir de l'agent, en utilisant le monde du wumpus comme exemple suivi.
    • Écrire des formules en logique propositionnelle
      Utilise la syntaxe de la logique propositionnelle et le sens donné par les tables de vérité pour encoder des règles sur un monde, y compris des faits qui changent au cours du temps.
    • Déterminer la conséquence logique par vérification des modèles
      Définis la conséquence logique, la validité et la satisfiabilité, puis utilise l'énumération par table de vérité pour déterminer si une conclusion découle d'une base de connaissances.
  2. Construis des preuves avec des règles d'inférence et la résolution, raisonne efficacement sur des clauses de Horn par chaînage et utilise des solveurs SAT pour trouver des modèles ou montrer qu'il n'en existe pas.
    • Construire des preuves à l'aide de règles d'inférence
      Applique le modus ponens, l'élimination de la conjonction et les équivalences usuelles pour construire des preuves étape par étape, et considère la recherche d'une preuve comme un problème de recherche.
    • Démontrer une conséquence logique par résolution
      Transforme des formules en forme normale conjonctive et utilise la réfutation par résolution pour montrer qu'une requête est une conséquence logique d'une base de connaissances.
    • Raisonner sur des clauses de Horn par chaînage avant et arrière
      Reconnais les clauses définies et les clauses de Horn, détermine les conséquences logiques par chaînage avant et arrière et compare les situations adaptées à chaque méthode.
    • Trouver des modèles avec des solveurs SAT
      Détermine la satisfiabilité avec l'algorithme à retour arrière DPLL et la recherche locale WalkSAT, et évalue ce que montre chaque résultat.
  3. Lis, évalue et écris des formules du premier ordre sur des objets et des relations, et construis une petite base de connaissances pour un domaine.
    • Lire et évaluer des formules du premier ordre
      Utilise la syntaxe et la sémantique de la logique du premier ordre, évalue des formules dans un modèle et compare la sémantique standard à celle des bases de données.
    • Traduire des énoncés en logique du premier ordre
      Écris des énoncés français sous forme de formules du premier ordre, en choisissant correctement les quantificateurs, les connecteurs et l'égalité, et en évitant les erreurs classiques de traduction.
    • Construire une base de connaissances pour un domaine
      Suis le processus d'ingénierie des connaissances pour choisir un vocabulaire, écrire des axiomes généraux et les faits d'une instance, poser des requêtes et corriger une petite base de connaissances.
  4. Fais correspondre des formules du premier ordre par unification, applique le chaînage avant et arrière à des règles du premier ordre et démontre des requêtes par résolution du premier ordre.
    • Faire correspondre des formules par substitution et unification
      Applique l'instanciation universelle et existentielle, explique la propositionnalisation et calcule des unificateurs les plus généraux pour le modus ponens généralisé.
    • Appliquer le chaînage avant et arrière à des règles du premier ordre
      Exécute le chaînage avant jusqu'à un point fixe et le chaînage arrière sur des buts avec des clauses définies du premier ordre, puis explique le fonctionnement de la programmation logique en Prolog.
    • Démontrer des requêtes du premier ordre par résolution
      Transforme des formules du premier ordre en forme clausale par skolémisation et démontre des requêtes par réfutation par résolution, à l'aide de stratégies qui limitent la recherche.
  5. Structure les connaissances générales à l'aide de catégories, d'ontologies et de réseaux sémantiques, et explique comment les graphes de connaissances stockent les faits, permettent de les interroger et les enrichissent.
    • Structurer les connaissances à l'aide de catégories et d'ontologies
      Représente les catégories, l'appartenance, les sous-classes et les parties, décris les réseaux sémantiques et les logiques de description, et explique le raisonnement par défaut avec des exceptions.
    • Expliquer comment les graphes de connaissances stockent et exploitent les faits
      Décris les graphes de connaissances comme des ensembles de triplets dotés d'un schéma, interroge-les, déduis de nouveaux faits par des règles et reconnais leurs usages et leurs limites.
  6. Décris des problèmes de planification en PDDL, recherche des plans vers l'avant et vers l'arrière avec des heuristiques indépendantes du domaine, et compare les approches de planification et leurs limites.
    • Décrire un problème de planification en PDDL
      Écris des états, des schémas d'action, des états initiaux et des buts en PDDL, et calcule comment une action modifie un état.
    • Rechercher des plans avec des heuristiques indépendantes du domaine
      Exécute une recherche avant et arrière dans l'espace d'états de problèmes de planification et estime la longueur des plans avec des heuristiques issues de problèmes relaxés.
    • Comparer les approches de planification et leurs limites
      Explique l'interaction des sous-buts, la planification fondée sur SAT, la planification à ordre partiel et la planification hiérarchique, la complexité de la planification et ce que la planification classique ne peut pas modéliser.

Agents logiques et planification : cours

6 chapitres

1

Représenter les connaissances d'un agent en logique propositionnelle

Un agent peut tirer des conclusions utiles de ses observations avant de voir le monde entier. Les formules formelles rendent ces conclusions vérifiables : tu peux te demander quels mondes possibles correspondent aux observations et si chacun d'eux justifie l'action proposée. Commence par l'agent à base de connaissances, encode ses règles avec des connecteurs propositionnels, puis utilise les modèles pour distinguer les conclusions justifiées des faits qui restent inconnus.

1.1 Décrire le fonctionnement d'un agent à base de connaissances

Un agent à base de connaissances agit à partir d'une description de son monde. Sa base de connaissances (KB) contient des formules formelles : des faits et des règles initiaux, appelés axiomes, ainsi que des informations ajoutées pendant son fonctionnement. L'inférence relie ces formules à des conclusions que l'agent n'a jamais observées directement.

Relier la perception à l'action

TELL ajoute une formule à la base de connaissances. ASK demande une réponse qui en découle, déjà stockée ou déduite. À chaque instant, l'agent enregistre sa perception, demande quelle action entreprendre, enregistre l'action choisie et l'exécute. L'enregistrement des actions est important, car les raisonnements ultérieurs doivent tenir compte des changements du monde.

Au niveau des connaissances, on peut dire qu'un robot sait qu'un passage est bloqué et veut atteindre une zone de stockage. Au niveau de l'implémentation, on décrit les structures de données et les procédures d'inférence. Une conception déclarative fournit des faits et des règles ; une conception procédurale écrit directement le comportement dans le code. Un agent opérationnel peut combiner les deux.

Comprendre le monde du wumpus

Le monde du wumpus est une grille de 4 × 4 cases. Les coordonnées sont [colonne, ligne] ; l'agent commence en [1, 1], tourné vers la droite. Il y a un wumpus, une pièce d'or et une probabilité de 0,2 de trouver un puits dans chaque case sauf celle du départ. Les puits et le wumpus restent immobiles. Le monde est discret, déterministe et comporte un seul agent, mais il est partiellement observable : la disposition des éléments est cachée.

Une Brise indique un puits dans une case directement adjacente ; une Odeur y indique le wumpus. Les cases en diagonale ne comptent pas. Un Reflet indique la présence d'or dans la case courante, un Choc signale un mur et un Cri signale la mort du wumpus partout dans la grotte. Les actions sont Avancer, TournerÀGauche, TournerÀDroite, Ramasser, Tirer et Sortir. L'agent dispose d'une flèche ; Sortir permet de quitter la grotte uniquement depuis [1, 1]. Sortir avec l'or rapporte 1 000 points, mourir en fait perdre 1 000, chaque action coûte 1 et tirer coûte 10 de plus.

Combiner les observations

En [1, 1], l'absence de Brise exclut des puits en [1, 2] et [2, 1] ; l'absence d'Odeur y exclut le wumpus. Les deux cases sont sûres. En [2, 1], une Brise place un puits en [2, 2] ou en [3, 1], puisque la case de départ n'en contient pas. L'absence d'Odeur exclut le wumpus en [2, 2] et [3, 1].

L'agent visite ensuite [1, 2]. L'absence de Brise exclut un puits en [2, 2] : la disjonction précédente impose donc la présence d'un puits en [3, 1]. Une Odeur en [1, 2] place le wumpus en [1, 3] ou en [2, 2]. L'absence d'Odeur observée précédemment exclut [2, 2] ; il reste [1, 3]. L'agent a établi que [2, 2] ne contient aucun des deux dangers sans y entrer.

Ce raisonnement repose à la fois sur les perceptions et sur les règles qui les relient aux dangers. Une case inexplorée est de statut inconnu lorsque la base de connaissances ne permet d'établir ni qu'elle est sûre ni qu'elle est dangereuse. Ne pas parvenir à déduire un danger ne suffit pas pour affirmer qu'elle est sûre. Choisir d'entrer dans une telle case nécessite une décision sur le risque, au-delà des seules conséquences logiques.

Points clés

  • Une base de connaissances associe des axiomes initiaux aux perceptions et aux actions enregistrées.
  • TELL ajoute des formules ; ASK renvoie des réponses qui en découlent.
  • L'agent enregistre une perception, choisit et enregistre une action, puis agit.
  • Les connaissances permettent d'établir des faits sur des cases non visitées.
  • Inconnu et sûr sont des conclusions différentes.

1.2 Écrire des formules en logique propositionnelle

La logique propositionnelle donne à un agent des règles précises pour combiner des affirmations auxquelles on peut répondre par oui ou par non. Un symbole atomique désigne une affirmation entière, comme P₁₂ pour « il y a un puits en [1, 2] ». Un littéral est une formule atomique ou sa négation. Des formules plus grandes les combinent avec ¬, ∧, ∨, ⇒ et ⇔.

Évaluer les connecteurs

Un modèle attribue la valeur vrai ou faux à chaque symbole. Avec n symboles, il existe 2ⁿ affectations. La négation inverse une valeur de vérité ; une conjonction exige que ses deux membres soient vrais ; une disjonction inclusive exige qu'au moins l'un d'eux soit vrai. Une implication n'est fausse que si sa prémisse est vraie et sa conclusion fausse. Une biconditionnelle exige que les valeurs de vérité de ses deux membres soient égales.

PQP ⇒ QP ⇔ Q
VraiVraiVraiVrai
VraiFauxFauxFaux
FauxVraiVraiFaux
FauxFauxVraiVrai

L'ordre de priorité est ¬, ∧, ∨, ⇒, ⇔. Ainsi, ¬A ∧ B ⇒ C signifie ((¬A) ∧ B) ⇒ C. Utilise des parenthèses lorsque le regroupement voulu pourrait être ambigu. Avec A vraie, B fausse et C vraie, (A ∨ B) ⇒ C est vraie, tandis que A ⇒ (B ∧ C) est fausse.

L'implication logique énonce une contrainte sur les valeurs de vérité, pas une cause. Une prémisse fausse rend l'implication vraie. Elle ne permet pas non plus d'inverser le sens : à partir de « si la batterie est vide, le robot s'arrête », le seul arrêt du robot ne permet pas d'établir que la batterie est vide.

Encoder les deux sens d'une règle

La règle de la brise à la case de départ est B₁₁ ⇔ (P₁₂ ∨ P₂₁). Elle dit qu'une brise apparaît exactement lorsqu'une case voisine contient un puits. Le sens B₁₁ ⇒ (P₁₂ ∨ P₂₁) permet de détecter un danger à partir d'une brise. Le sens inverse permet d'exclure des puits en l'absence de brise. L'omettre fait perdre l'inférence de ¬B₁₁ à ¬P₁₂ ∧ ¬P₂₁.

Chaque case doit avoir sa propre règle propositionnelle. Encoder exactement un wumpus parmi 16 cases nécessite une disjonction imposant au moins un wumpus et une contrainte imposant au plus un wumpus pour chaque paire. Il existe 16 × 15 / 2 = 120 paires distinctes. Les symboles propositionnels ne peuvent pas quantifier sur les cases : les règles générales deviennent donc de nombreuses formules distinctes.

Représenter le changement sans perdre la persistance

Un fluent est un fait dont la vérité peut changer. Un exposant temporel distingue ses valeurs : L₁₁⁰ indique la position à l'instant 0. Un axiome d'effet peut dire qu'un déplacement vers la droite depuis [1, 1] produit la position [2, 1] à l'instant 1 et supprime l'ancienne position. Il ne précise pas ce qu'il advient des faits sans rapport, comme la possession de la flèche. Décrire tous ces faits inchangés constitue le problème du cadre.

Un axiome d'état successeur donne une règle complète de mise à jour par fluent : Fᵗ⁺¹ ⇔ (une action rend F vrai) ∨ (Fᵗ ∧ aucune action ne rend F faux). Pour la flèche, HaveArrowᵗ⁺¹ ⇔ (HaveArrowᵗ ∧ ¬Shootᵗ). Comme aucune action ne fournit une autre flèche, l'agent la conserve jusqu'au tir et ne l'a plus ensuite.

Points clés

  • Une implication n'est fausse que lorsque sa prémisse est vraie et sa conclusion fausse.
  • Le ou inclusif permet aux deux possibilités d'être vraies.
  • Une biconditionnelle encode deux implications.
  • Les règles générales propositionnelles nécessitent des instances distinctes.
  • Les axiomes d'état successeur décrivent à la fois le changement et la persistance.
  • « Exactement un » combine « au moins un » avec des exclusions par paires.

1.3 Déterminer la conséquence logique par vérification des modèles

Un agent a besoin d'un critère pour déterminer si une conclusion est justifiée. La conséquence logique, notée KB ⊨ α, signifie que α est vraie dans tout modèle qui satisfait la base de connaissances. Un seul monde compatible où α est fausse suffit à invalider cette conséquence logique.

Ne garder que les modèles compatibles

La vérification des modèles énumère les affectations, écarte celles qui rendent fausse une formule de la base et teste la requête dans celles qui restent. Supposons que la base contienne A ∨ B et ¬A. Parmi les quatre affectations de A et B, seule A faux, B vrai satisfait les deux formules. B et ¬A sont des conséquences logiques de la base. A n'en est pas une, car le modèle restant rend A fausse.

Dans la base du wumpus, ¬P₁₁, B₁₁ ⇔ (P₁₂ ∨ P₂₁), B₂₁ ⇔ (P₁₁ ∨ P₂₂ ∨ P₃₁), ¬B₁₁ et B₂₁ utilisent sept symboles. Il existe 128 affectations. Exactement trois satisfont la base : P₁₂ et P₂₁ sont fausses, tandis que P₂₂ et P₃₁ sont respectivement vraies/fausses, fausses/vraies ou vraies/vraies. Ainsi, ¬P₁₂ est une conséquence logique. P₂₂ varie entre les trois modèles : ni P₂₂ ni ¬P₂₂ n'est donc une conséquence logique. Ces seules règles sur les puits établissent l'absence d'un puits, pas celle du wumpus.

Distinguer les principaux tests logiques
TestQuestion posée
SatisfiableLa formule est-elle vraie dans au moins un modèle ?
InsatisfiableN'est-elle vraie dans aucun modèle ?
ValideEst-elle vraie dans tous les modèles ?
ÉquivalentesDeux formules ont-elles exactement les mêmes modèles ?

P ∨ ¬P est valide ; P ∧ ¬P est insatisfiable. P ⇒ Q et ¬P ∨ Q sont équivalentes. L'équivalence exige une conséquence logique dans les deux sens. A ∧ B implique logiquement A, mais A admet des modèles où B est fausse : la conséquence logique inverse ne tient donc pas.

Transformer une requête en test de contradiction

KB ⊨ α exactement lorsque KB ∧ ¬α est insatisfiable. Ajouter la négation de la requête revient à chercher un monde où la base est vraie et la requête fausse. N'en trouver aucun démontre la conséquence logique ; en trouver un donne un contre-modèle. De manière équivalente, α ⊨ β exactement lorsque α ⇒ β est valide. La validité de α peut elle-même être vérifiée en déterminant si ¬α est insatisfiable.

Le connecteur ⇒ figure à l'intérieur d'une formule. Le symbole ⊨ décrit une relation entre des formules et leurs modèles. De même, « n'est pas une conséquence logique » peut signifier que la requête est exclue ou qu'elle reste inconnue. Vérifie si sa négation est une conséquence logique avant de choisir entre les deux.

L'énumération est correcte et complète en logique propositionnelle, car elle vérifie exhaustivement un ensemble fini. L'énumération en profondeur prend un temps O(2ⁿ) et une mémoire O(n) ; 50 symboles donnent déjà environ 1,13 × 10¹⁵ affectations. La conséquence logique propositionnelle est co-NP-complète. Vérifie aussi la cohérence : une base sans modèle implique logiquement toute formule, car elle n'a aucun modèle compatible qui pourrait rendre une requête fausse.

Points clés

  • Une conséquence logique est vraie dans tous les modèles de la base de connaissances.
  • Un contre-modèle satisfait la base de connaissances et rend la requête fausse.
  • Un énoncé est inconnu lorsque ni lui ni sa négation ne sont des conséquences logiques.
  • KB ⊨ α exactement lorsque KB ∧ ¬α est insatisfiable.
  • Une base de connaissances classique incohérente implique logiquement toute formule.
2

Démontrer des conclusions par inférence propositionnelle et avec des solveurs SAT

Énumérer tous les mondes possibles peut être coûteux, même lorsqu'une conclusion a une preuve courte. Les règles d'inférence, la résolution et le chaînage de clauses de Horn offrent différentes façons de déduire des conséquences d'une base de connaissances. Les solveurs SAT abordent les mêmes contraintes logiques en recherchant des affectations qui les satisfont. Comprendre ce que renvoie chaque procédure t'aide à distinguer une conclusion démontrée, un contre-exemple et une recherche qui s'est simplement arrêtée.

2.1 Construire des preuves à l'aide de règles d'inférence

Une preuve déduit une requête en appliquant des règles à des formules déjà connues. KB ⊢ α indique une déduction ; KB ⊨ α indique une garantie sémantique portant sur les modèles. Une procédure de preuve correcte relie les deux : toute conclusion qu'elle déduit découle réellement des prémisses. Une procédure complète peut déduire toute conclusion qui est une conséquence logique dans le langage considéré.

Appliquer les règles à leurs prémisses

Le modus ponens permet de passer de P ⇒ Q et P à Q. L'élimination de la conjonction permet de passer de P ∧ Q à l'un ou l'autre de ses membres. Si SensorOn ∧ Calibrated est connue et que SensorOn ⇒ ReadingAvailable est connue, l'élimination de la conjonction donne SensorOn, puis le modus ponens donne ReadingAvailable. Chaque ligne indique les informations et la règle qui la justifient.

Ces règles préservent la vérité, mais les formes limitées qu'elles manipulent les rendent incomplètes en tant que système de preuve. De P, la formule P ∨ Q découle sémantiquement, mais aucune des deux règles n'introduit ∨. Un ensemble de règles correctes peut néanmoins manquer des conclusions valides.

Réécrire sans changer le sens

Des équivalences utiles peuvent être appliquées dans les deux sens :

  • Double négation : ¬¬P ≡ P.
  • Implication : P ⇒ Q ≡ ¬P ∨ Q.
  • Contraposition : P ⇒ Q ≡ ¬Q ⇒ ¬P.
  • Biconditionnelle : P ⇔ Q ≡ (P ⇒ Q) ∧ (Q ⇒ P).
  • Lois de De Morgan : ¬(P ∨ Q) ≡ ¬P ∧ ¬Q, et ¬(P ∧ Q) ≡ ¬P ∨ ¬Q.
  • Distribution : P ∨ (Q ∧ R) ≡ (P ∨ Q) ∧ (P ∨ R), avec la loi duale pour ∧ sur ∨.

La conjonction et la disjonction permettent aussi de regrouper et de réordonner leurs éléments. Ces réécritures font apparaître la structure utile d'une formule sans ajouter de nouvelle hypothèse factuelle.

Pour B₁₁ ⇔ (P₁₂ ∨ P₂₁) et ¬B₁₁, sépare la biconditionnelle et choisis (P₁₂ ∨ P₂₁) ⇒ B₁₁. La contraposition donne ¬B₁₁ ⇒ ¬(P₁₂ ∨ P₂₁). Le modus ponens donne ¬(P₁₂ ∨ P₂₁) ; la loi de De Morgan donne ¬P₁₂ ∧ ¬P₂₁. L'élimination de la conjonction démontre alors ¬P₁₂. La preuve n'a jamais besoin d'énumérer toutes les dispositions possibles de la grotte.

Tester un raccourci invalide

De P ⇒ Q et Q, déduire P est une affirmation du conséquent. De P ⇒ Q et ¬P, déduire ¬Q est une négation de l'antécédent. Les deux échouent dans le modèle P faux, Q vrai. Une panne de serveur peut empêcher une page de se charger, mais un échec de chargement peut avoir d'autres causes ; l'absence de panne ne garantit pas non plus le succès du chargement.

La recherche d'une preuve est un problème de recherche. L'état initial contient la base de connaissances ; une action applique une règle d'inférence et ajoute sa conclusion ; l'état but contient la requête. La longueur de la preuve peut servir de coût du chemin. Choisir les formules pertinentes évite de consacrer des efforts à des chaînes sans rapport. La logique classique est monotone : ajouter des prémisses préserve les conséquences logiques antérieures. Les règles par défaut avec exceptions nécessitent un autre traitement, car des informations ultérieures peuvent retirer une conclusion obtenue par défaut.

Points clés

  • Une inférence correcte préserve la vérité des prémisses dans sa conclusion.
  • Le modus ponens nécessite une implication et sa prémisse.
  • Les équivalences permettent de réécrire une formule dans les deux sens.
  • L'affirmation du conséquent et la négation de l'antécédent sont invalides.
  • La recherche d'une preuve ajoute des formules justifiées jusqu'à atteindre la requête.
  • La conséquence logique classique est monotone.

2.2 Démontrer une conséquence logique par résolution

La résolution démontre une conséquence logique en recherchant une contradiction. Son entrée est une forme normale conjonctive : une conjonction de clauses, chacune étant une disjonction de littéraux. Une clause à un seul littéral est une clause unitaire. La clause vide ne contient aucun littéral susceptible d'être vrai et représente le faux.

Transformer les formules en clauses

Élimine d'abord ⇔ et ⇒. Fais ensuite entrer les négations à l'aide des lois de De Morgan et de l'élimination des doubles négations. Enfin, distribue ∨ sur ∧. Une biconditionnelle peut ainsi produire plusieurs clauses.

Pour B₁₁ ⇔ (P₁₂ ∨ P₂₁), le premier sens donne ¬B₁₁ ∨ P₁₂ ∨ P₂₁. Le sens inverse donne ¬(P₁₂ ∨ P₂₁) ∨ B₁₁. Faire entrer la négation et distribuer donne ¬P₁₂ ∨ B₁₁ et ¬P₂₁ ∨ B₁₁. Les trois clauses sont nécessaires pour représenter toute la biconditionnelle.

Appliquer la résolution à une paire complémentaire

De P ∨ A et ¬P ∨ B, la résolution déduit A ∨ B. Quelle que soit la valeur de P, au moins une des parties restantes doit être vraie. La résolution unitaire utilise une clause à un seul littéral : P avec ¬P ∨ B donne B. Les littéraux répétés sont factorisés : la résolution de A ∨ B avec A ∨ ¬B donne donc A.

Applique la résolution à exactement une paire complémentaire à la fois. A ∨ B et ¬A ∨ ¬B sont satisfiables ensemble lorsque A est vraie et B fausse. Supprimer les deux paires donnerait à tort la clause vide. Appliquer la résolution à A seul produit B ∨ ¬B, une tautologie qui n'ajoute aucune contrainte.

Réfuter la négation de la requête

Pour démontrer KB ⊨ α, ajoute ¬α, transforme la formule obtenue en forme normale conjonctive et déduis de nouvelles clauses par résolution. Obtenir la clause vide démontre qu'il n'existe aucun contre-modèle.

Pour la requête ¬P₁₂ sur le puits, ajoute P₁₂. Applique la résolution avec ¬P₁₂ ∨ B₁₁ pour obtenir B₁₁, puis avec ¬B₁₁, qui a été observée, pour obtenir la clause vide. La preuve établit l'absence du puits, pas sa présence : le littéral positif du puits était la négation temporaire de la requête.

Un deuxième exemple utilise R ⇒ C, (C ∨ I) ⇒ G et R. Les clauses en forme normale conjonctive sont ¬R ∨ C, ¬C ∨ G, ¬I ∨ G et R. Ajoute ¬G. Sa résolution avec ¬C ∨ G donne ¬C, qui donne ¬R avec la première clause. La résolution de ¬R avec R achève la réfutation. Aucun fait concernant I n'était nécessaire.

La résolution propositionnelle est correcte et complète pour la réfutation. Elle se termine parce qu'un nombre fini de symboles permet un nombre fini de clauses distinctes. Si la recherche exhaustive de nouvelles clauses n'en produit plus et ne donne aucune contradiction, la requête n'est pas une conséquence logique. La résolution ne déduit pas nécessairement directement toutes les conséquences logiques : de A seule, elle ne construit pas A ∨ B.

La distribution peut augmenter exponentiellement la taille de la forme normale conjonctive. Un encodage de Tseitin introduit des symboles pour les sous-formules et produit une forme normale conjonctive de taille linéaire. La nouvelle formule est satisfiable exactement lorsque l'initiale l'est ; elle n'est pas nécessairement logiquement équivalente à celle-ci sur le vocabulaire étendu. Préserver la satisfiabilité suffit pour les tests de contradiction fondés sur SAT.

Points clés

  • La forme normale conjonctive est une conjonction de disjonctions de littéraux.
  • La résolution élimine une paire complémentaire par étape.
  • La réfutation ajoute la négation de la requête.
  • La clause vide démontre l'insatisfiabilité.
  • La résolution propositionnelle est complète pour la réfutation et se termine.
  • L'encodage de Tseitin préserve la satisfiabilité tout en maîtrisant la taille de la forme normale conjonctive.

2.3 Raisonner sur des clauses de Horn par chaînage avant et arrière

Les règles à une seule conclusion positive permettent une procédure d'inférence plus simple que la résolution générale. Une clause définie contient exactement un littéral positif ; ¬A ∨ ¬B ∨ C s'écrit A ∧ B ⇒ C. Un fait a un corps vide. Une clause de Horn contient au plus un littéral positif, ce qui inclut les clauses de but qui n'en ont aucun, comme A ∧ B ⇒ Faux.

Laisser les faits guider les règles

Le chaînage avant part des faits connus. Lorsque toutes les prémisses d'une règle sont connues, ajoute sa tête. Continue jusqu'à ce que la requête apparaisse ou qu'un point fixe n'ajoute plus rien. Les implémentations efficaces conservent une liste de nouveaux faits à traiter et un compteur des prémisses non satisfaites pour chaque règle.

Prends PowerOn, FanSpinning et LoadLow comme faits. Les règles sont PowerOn ∧ FanSpinning ⇒ Cooling ; Cooling ∧ LoadLow ⇒ TempNormal ; PowerOn ⇒ LedLit ; LedLit ∧ TempNormal ⇒ SystemOK ; FanSpinning ⇒ NoiseHeard. Le traitement de PowerOn permet d'obtenir LedLit et satisfait partiellement la règle de refroidissement. FanSpinning permet d'obtenir Cooling et NoiseHeard. Cooling avec LoadLow donne TempNormal, puis TempNormal avec LedLit donne SystemOK. NoiseHeard est une conclusion supplémentaire valide, même si la requête n'en avait pas besoin.

Laisser une requête choisir les règles

Le chaînage arrière part de SystemOK. Sa règle exige LedLit et TempNormal. LedLit se ramène au fait connu PowerOn. TempNormal exige Cooling et LoadLow ; Cooling exige PowerOn et FanSpinning. Chaque feuille est un fait, donc la requête réussit. La règle relative au bruit n'est jamais examinée.

MéthodePoint de départSituation adaptée
Chaînage avantFaits disponiblesMaintenir les conséquences à jour à l'arrivée des observations
Chaînage arrièreConclusion demandéeRépondre à une requête précise avec les règles pertinentes

Pour les bases de clauses définies et les requêtes atomiques, les deux méthodes sont correctes et complètes avec un contrôle approprié de la recherche. Le chaînage avant propositionnel peut s'exécuter en un temps linéaire par rapport à la taille de la base. À son point fixe, attribuer vrai aux symboles déduits et faux à tous les autres donne un modèle des clauses définies.

Gérer les cycles sans perdre de réponses

A ⇒ B et B ⇒ A entraînent une procédure arrière naïve dans une boucle sans fin. Une branche peut s'arrêter lorsque son but figure déjà dans la pile des buts actifs. Les sous-buts démontrés peuvent être mémorisés, mais un échec causé par une boucle est temporaire. Avec B ⇒ A, A ⇒ B, C ⇒ A et le fait C, une première tentative de démontrer B pendant que A est actif peut échouer. Après avoir démontré A à partir de C, une nouvelle tentative pour B réussit. Mémoriser définitivement ce premier échec ferait perdre la preuve. La tabulation suit les buts dépendants et les réexamine lorsque des réponses apparaissent.

Le chaînage dépend de la forme des règles. A ∨ B contient deux littéraux positifs : ce n'est donc pas une clause de Horn. Avec A ⇒ C et B ⇒ C, elle implique logiquement C si l'on considère les deux possibilités. Aucune règle définie ne se déclenche à partir de la seule disjonction. La résolution générale peut démontrer cette conclusion même lorsque le chaînage simple reste bloqué.

Points clés

  • Les clauses définies ont un littéral positif ; les clauses de Horn en ont au plus un.
  • Le chaînage avant est guidé par les données.
  • Le chaînage arrière est guidé par le but.
  • Un point fixe n'ajoute aucun nouveau fait.
  • Les échecs dus à une boucle ne doivent pas être mémorisés comme définitifs.
  • Les prémisses disjonctives peuvent nécessiter un raisonnement qui dépasse le chaînage.

2.4 Trouver des modèles avec des solveurs SAT

Un solveur SAT recherche une affectation qui satisfait toutes les clauses d'une formule en forme normale conjonctive. Un modèle renvoyé peut être vérifié directement. Un résultat d'insatisfiabilité exclut toutes les affectations. SAT est NP-complet, mais les instances structurées admettent souvent des solutions bien plus rapides que l'énumération exhaustive par table de vérité.

Réduire la recherche avec DPLL

DPLL est une recherche en profondeur avec retour arrière et trois raccourcis. Un littéral vrai satisfait toute sa clause, tandis qu'une clause entièrement fausse met fin à la branche. Un symbole pur n'apparaît qu'avec un seul signe parmi les clauses non satisfaites : on peut donc lui attribuer la valeur qui satisfait ces occurrences. Une clause unitaire ne possède plus qu'un seul littéral susceptible d'être vrai, auquel il faut attribuer la valeur vrai. Répéter ces choix imposés constitue la propagation unitaire.

Considère (A), (¬A ∨ B), (¬B ∨ C ∨ D), (¬C ∨ ¬D), (D ∨ E). E est pur, donc pose E vrai. La clause unitaire A impose A vrai, ce qui impose B vrai. La contrainte restante C ∨ D et la clause ¬C ∨ ¬D exigent qu'exactement un de C et D soit vrai. Crée une branche avec C vrai ; la propagation impose D faux. A, B, C et E vrais avec D faux satisfont toutes les clauses.

Pour (A ∨ B), (A ∨ ¬B), (¬A ∨ C), (¬A ∨ ¬C), crée des branches sur A. A faux impose à la fois B et ¬B ; A vrai impose à la fois C et ¬C. Les deux branches aboutissent à un conflit, donc la formule entière est insatisfiable.

Apprendre des conflits

L'apprentissage de clauses dirigé par les conflits, utilisé par CDCL, étend cette recherche. Une clause apprise bloque une combinaison responsable d'un conflit. Le retour arrière non chronologique saute les choix non pertinents ; l'activité des variables guide le branchement ; les redémarrages changent le parcours de recherche ; les littéraux surveillés accélèrent la propagation. Les clauses apprises sont justifiées par la formule et préservent donc ses solutions possibles.

Rechercher en modifiant une affectation complète

WalkSAT part d'une affectation complète aléatoire. Il choisit une clause non satisfaite et inverse une variable de celle-ci, parfois au hasard et parfois de façon à laisser le plus de clauses satisfaites. Les déplacements aléatoires aident à échapper aux pièges locaux. Dans l'exemple précédent, partir avec les cinq symboles faux laisse (A) et (D ∨ E) fausses. Inverser A satisfait (A), mais rend (¬A ∨ B) fausse. Un déplacement peut satisfaire une clause tout en en rendant une autre fausse.

RésultatDPLL ou CDCLWalkSAT
Modèle satisfaisant trouvéÉtablit la satisfiabilitéÉtablit la satisfiabilité
Recherche terminée sans modèleUn échec exhaustif démontre l'insatisfiabilitéUne limite d'inversions laisse la réponse indéterminée

Pour vérifier une conséquence logique, soumets KB ∧ ¬α. L'insatisfiabilité démontre α ; un modèle est un contre-exemple. Si WalkSAT atteint sa limite de temps, les deux possibilités restent ouvertes. Dans les grandes formules aléatoires en forme normale conjonctive à 3 littéraux, le rapport entre clauses et variables présente une transition estimée près de 4,26, avec des instances difficiles souvent proches de ce seuil. C'est une tendance observée sur un ensemble de formules, pas un seuil qui permet de trancher pour une formule donnée. La structure des clauses et la stratégie du solveur influent aussi sur la difficulté.

Points clés

  • La propagation unitaire effectue les affectations imposées.
  • Les choix de symboles purs préservent la satisfiabilité.
  • DPLL crée des branches et revient en arrière ; CDCL apprend aussi des conflits.
  • WalkSAT effectue une recherche parmi des affectations complètes.
  • Lorsque WalkSAT atteint sa limite de temps, la satisfiabilité reste indéterminée.
  • SAT permet de vérifier une conséquence logique en testant KB ∧ ¬α.
  • Le seuil du 3-SAT aléatoire décrit une distribution, pas chaque instance.
3

Représenter les connaissances en logique du premier ordre

Une règle portant sur tous les objets ne devrait pas nécessiter un symbole distinct pour chacun. La logique du premier ordre ajoute des objets, des relations, des fonctions et des quantificateurs afin qu'une formule compacte puisse décrire tout un domaine. Son pouvoir d'expression rend aussi les choix de modélisation plus importants : l'ordre des quantificateurs, l'identité et les hypothèses sur les faits manquants peuvent changer les réponses. Construis une petite base de connaissances pour voir comment ces choix fonctionnent ensemble.

3.1 Lire et évaluer des formules du premier ordre

La logique du premier ordre décrit des objets et leurs relations. Au lieu de donner à chaque case un symbole sans lien avec les autres, elle peut exprimer une règle pour toutes les cases : ∀s (Breezy(s) ⇔ ∃r (Adjacent(r, s) ∧ Pit(r))). Les quantificateurs permettent d'exprimer la généralité dans le langage.

Distinguer les objets des affirmations

Une constante nomme un objet, comme Ada. Une variable, comme x, prend ses valeurs parmi les objets. Une fonction associe des objets à un objet : MotherOf(Ada) est un terme qui désigne une personne. Un prédicat forme une affirmation : Owns(Ada, Atlas) est vraie ou fausse. Un terme peut être une constante, une variable ou une fonction appliquée à des termes.

Book(x) est une formule, pas un objet : Owns(Ada, Book(x)) place donc le mauvais type d'expression à la position d'un argument. L'égalité compare les objets désignés par les termes : MotherOf(Ada) = Clara dit que les deux termes désignent le même objet.

Évaluer une formule dans un modèle

Un modèle du premier ordre fournit un domaine non vide et une interprétation. Les constantes désignent des objets du domaine, les prédicats désignent des relations et les fonctions fournissent un résultat pour chaque tuple approprié d'objets du domaine. Une formule quantifiée universellement doit être vraie pour chaque valeur possible de sa variable ; une formule existentielle nécessite au moins un témoin.

Soit le domaine {a, b, k} ; Ada nomme a, Ben nomme b et Atlas nomme k. Person contient a et b, Book contient k et Owns ne contient que (a, k). Owns(Ada, Atlas) est vraie. ∃x (Book(x) ∧ Owns(Ben, x)) est fausse parce que Ben ne possède aucun objet. ∀x (Person(x) ⇒ ∃y (Book(y) ∧ Owns(x, y))) est fausse parce que Ben est un contre-exemple. Pourtant, chaque livre a un propriétaire : ∀x (Book(x) ⇒ ∃y Owns(y, x)) est vraie.

Expliciter les hypothèses de modélisation
HypothèseSignification
Unicité des nomsDes noms de constantes différents désignent des objets différents
Monde closUn fait atomique absent des conséquences connues est considéré comme faux
Clôture du domaineChaque objet est nommé

La logique du premier ordre standard n'impose pas ces hypothèses des bases de données. Book(Atlas), Book(Beowulf), Owns(Ada, Atlas) et Owns(Ada, Beowulf) laissent ouverte la possibilité que les deux noms désignent le même livre et qu'Ada possède d'autres livres. Avec la sémantique des bases de données, ces faits décrivent exactement deux livres possédés par Ada.

Pour obtenir cette affirmation précise avec la sémantique standard, conserve les quatre faits et ajoute ¬(Atlas = Beowulf) et ∀x ((Book(x) ∧ Owns(Ada, x)) ⇒ (x = Atlas ∨ x = Beowulf)). L'inégalité établit que les deux livres sont distincts ; la restriction universelle exclut qu'Ada possède d'autres livres.

Les modèles du premier ordre peuvent avoir des domaines arbitrairement grands : la méthode d'énumération finie des modèles propositionnels ne fournit donc pas ici une procédure de décision générale. Les méthodes de preuve travaillent à la place sur la structure des formules. Une variable libre nécessite une affectation pour l'évaluation ; lie les variables lorsque tu écris une affirmation close pour la base de connaissances.

Points clés

  • Les termes désignent des objets ; les prédicats forment des affirmations.
  • Un modèle fournit un domaine et des interprétations des symboles.
  • ∀ vérifie chaque objet ; ∃ nécessite un témoin.
  • La logique du premier ordre standard ne suppose ni l'unicité des noms ni la clôture du domaine.
  • Un nombre exact nécessite de distinguer les objets et de fixer une borne supérieure.

3.2 Traduire des énoncés en logique du premier ordre

La traduction commence par déterminer ce que la phrase affirme sur chaque objet. La portée des quantificateurs, le sens de l'implication et l'égalité déterminent le sens ; les seuls noms des prédicats ne le fixent pas. Les parenthèses rendent la portée voulue visible.

Utiliser le bon connecteur avec un quantificateur

« Tous les chats sont des mammifères » devient ∀x (Cat(x) ⇒ Mammal(x)). Un objet extérieur à la catégorie satisfait l'implication sans être un chat. Écrire ∀x (Cat(x) ∧ Mammal(x)) affirme à tort que tout est un chat.

« Un chat est noir » devient ∃x (Cat(x) ∧ Black(x)). Le témoin doit satisfaire les deux propriétés. Avec ∃x (Cat(x) ⇒ Black(x)), tout objet qui n'est pas un chat est déjà un témoin, même dans un monde sans chat noir. Les règles universelles sur les catégories utilisent généralement l'implication ; les affirmations existentielles sur les catégories utilisent généralement la conjonction.

Vérifier qui peut dépendre de qui

∀x ∃y Loves(x, y) permet une personne aimée différente pour chaque x. ∃y ∀x Loves(x, y) exige une personne aimée de tous. Dans un monde de deux personnes où chacune n'aime que l'autre, la première formule est vraie et la seconde fausse. Intervertir des quantificateurs de nature différente peut changer une affirmation ; intervertir deux quantificateurs universels adjacents ou deux quantificateurs existentiels adjacents la préserve.

La négation échange les quantificateurs : ¬∀x P(x) ≡ ∃x ¬P(x), et ¬∃x P(x) ≡ ∀x ¬P(x). Par conséquent, « Tous les étudiants n'ont pas réussi » signifie ∃x (Student(x) ∧ ¬Passed(x)). Il faut qu'un étudiant ait échoué ; cela n'affirme pas que tous les étudiants ont échoué.

Exprimer le sens et le nombre

« Seuls les membres empruntent » signifie ∀x (Borrows(x) ⇒ Member(x)). Emprunter suffit à établir l'appartenance, tandis que l'appartenance seule ne dit rien sur l'emprunt. « Aucun reptile n'est un mammifère » signifie ∀x (Reptile(x) ⇒ ¬Mammal(x)).

Pour exprimer qu'Ada possède au moins deux livres, écris ∃x ∃y (Book(x) ∧ Book(y) ∧ Owns(Ada, x) ∧ Owns(Ada, y) ∧ ¬(x = y)). L'inégalité est importante : deux noms de variables peuvent désigner le même objet. Pour exactement un livre, on utilise un témoin et l'unicité : ∃x (Book(x) ∧ Owns(Ada, x) ∧ ∀y ((Book(y) ∧ Owns(Ada, y)) ⇒ y = x)).

Donner les deux sens des définitions

Une définition des frères et sœurs peut être ∀x ∀y (Sibling(x, y) ⇔ (¬(x = y) ∧ ∃p (Parent(p, x) ∧ Parent(p, y)))). Le premier sens impose des conditions aux frères et sœurs ; le sens inverse permet d'établir ce lien à partir des faits sur un parent commun. Une implication à sens unique ne fournit que la moitié de ce sens.

Dans le domaine d'un agent, les règles diagnostiques vont des observations vers les causes possibles, tandis que les règles causales vont des causes vers les effets. « Toute case où l'on perçoit une brise est adjacente à un puits » est diagnostique. « Tout puits provoque une brise dans chaque case adjacente » est causale. Ensemble, elles permettent d'établir la biconditionnelle complète de la brise. Termine une traduction en vérifiant la liaison de chaque variable et en testant un petit monde où l'affirmation française devrait être fausse.

Points clés

  • Les règles universelles sur les catégories utilisent l'implication ; les témoins existentiels utilisent la conjonction.
  • L'ordre des quantificateurs détermine si les témoins peuvent varier.
  • La négation échange ∀ et ∃.
  • « Seuls » inverse le sens d'une implication souvent écrite à tort.
  • Le dénombrement nécessite l'égalité ou l'inégalité.
  • Les définitions nécessitent souvent une biconditionnelle.

3.3 Construire une base de connaissances pour un domaine

Construire une base de connaissances utile est une tâche de modélisation. La notation formelle n'aide qu'après le choix des questions, des objets et des relations pertinents. L'ingénierie des connaissances transforme ces choix en axiomes que l'on peut vérifier à l'aide d'exemples représentatifs du monde visé.

Construire autour des questions

Une démarche pratique consiste à déterminer la tâche, recueillir les connaissances pertinentes, choisir un vocabulaire, écrire des axiomes généraux, ajouter les faits d'une instance, poser des requêtes et corriger les résultats. Commence par des questions concrètes comme « Cet étudiant peut-il s'inscrire à ce cours ? ». Cette question détermine ce que la représentation doit permettre d'exprimer.

Pour l'inscription, utilise Student(s), Course(c), Prereq(p, c), Passed(s, c) et CanEnroll(s, c). Prereq(p, c) signifie que p doit être validé avant c ; inverser ses arguments inverserait la dépendance. Une règle est ∀s ∀c ((Student(s) ∧ Course(c) ∧ ∀p (Prereq(p, c) ⇒ Passed(s, p))) ⇒ CanEnroll(s, c)). Elle exige que tous les prérequis soient validés, pas seulement un.

Séparer les règles réutilisables d'une instance

Supposons que les faits soient Student(Mia), Course(AI), Prereq(Logic, AI), Prereq(Programming, AI), Passed(Mia, Logic) et Passed(Mia, Programming). La règle générale peut être réutilisée pour d'autres étudiants et cours, tandis que ces faits d'instance décrivent un cas particulier.

En logique du premier ordre standard, ces faits laissent ouverte la possibilité de prérequis supplémentaires pour AI. Un modèle compatible pourrait contenir un troisième prérequis non validé, donc CanEnroll(Mia, AI) n'est pas encore une conséquence logique. Ajoute ∀p (Prereq(p, AI) ⇔ (p = Logic ∨ p = Programming)) pour compléter la liste. Désormais, chaque prérequis est l'un des deux cours validés et la règle d'inscription s'applique. Une base de données en monde clos peut obtenir la même réponse en considérant comme faux les faits absents concernant les prérequis.

Choisir ce qui devient un objet

Une ontologie est le vocabulaire et les hypothèses structurelles qui l'accompagnent. Red(x) traite le rouge comme une propriété. Color(x, Red) fait de Red un objet, ce qui permet à ∃c (Color(x, c) ∧ Color(y, c)) d'exprimer une couleur commune. Cette opération est la réification : elle permet au langage de parler d'une propriété ou d'une catégorie comme d'une chose à part entière.

ASK peut demander si CanEnroll(Mia, AI) est une conséquence logique. ASKVARS peut demander les liaisons pour CanEnroll(x, AI), et renvoyer une substitution comme {x/Mia}. La même base permet de poser des questions de vérité et des requêtes pour trouver les objets correspondants.

Corriger le sens, pas seulement la syntaxe

Un axiome manquant peut empêcher d'obtenir une conséquence logique souhaitée ; un axiome incorrect peut en entraîner une indésirable. Teste des exemples positifs, des exemples négatifs et des cas limites. La règle ∀c (Course(c) ⇒ ∃t Teaches(t, c)) est trop forte si certains cours n'ont pas encore d'enseignant. La règle ∀p ∀c (Prereq(p, c) ⇒ Passed(Mia, p)) est trop forte parce qu'elle attribue à Mia la validation de tous les prérequis de tous les cours.

Les noms des prédicats sont des désignations pour le système de raisonnement. Nommer une relation Prereq ne fournit en soi aucune règle d'inscription. Les règles doivent relier les faits sur les prérequis, les cours validés et le droit à l'inscription dans le sens voulu.

Points clés

  • Choisis les questions avant de choisir le vocabulaire.
  • Sépare les axiomes généraux des faits propres à une instance.
  • Une exigence universelle peut nécessiter une liste complétée avec la sémantique du monde ouvert.
  • ASKVARS renvoie les substitutions qui satisfont la requête.
  • La réification permet d'utiliser une propriété ou une catégorie comme objet.
  • Corrige aussi bien les axiomes manquants que ceux qui sont trop forts.
4

Effectuer des inférences en logique du premier ordre

Les règles avec variables ne deviennent utiles que lorsque le système de raisonnement peut les faire correspondre à des faits particuliers. La substitution et l'unification fournissent cette correspondance, ce qui permet au chaînage et à la résolution de travailler directement sur des formules du premier ordre. Suis la façon dont les liaisons circulent dans une preuve, dont les témoins existentiels conservent leurs dépendances et dont le contrôle de la recherche détermine si une implémentation atteint effectivement une réponse justifiée par la logique.

4.1 Faire correspondre des formules par substitution et unification

L'inférence du premier ordre travaille sur des motifs contenant des variables. La substitution remplace des variables par des termes ; l'unification trouve des remplacements qui rendent deux expressions identiques. Ensemble, elles permettent à une règle générale de servir pour de nombreux faits particuliers sans engendrer d'abord toutes les instances possibles.

Instancier soigneusement les formules quantifiées

L'instanciation universelle remplace une variable liée universellement par n'importe quel terme clos. De ∀x (Cat(x) ⇒ Mammal(x)), déduis Cat(Tom) ⇒ Mammal(Tom), ou l'instance correspondante avec MotherOf(Tom). Un terme clos ne contient aucune variable.

L'instanciation existentielle introduit un nouveau nom de témoin. De ∃x (Crown(x) ∧ OnHead(x, John)), introduis une nouvelle constante C₁ et ajoute Crown(C₁) et OnHead(C₁, John). Nommer Ben comme témoin identifierait à tort un objet non précisé à un objet existant. La base de connaissances étendue préserve la satisfiabilité, pas l'équivalence dans le vocabulaire élargi.

La propositionnalisation engendre des instances closes, puis utilise le raisonnement propositionnel. Les symboles de fonction peuvent produire une infinité de termes : Ada, MotherOf(Ada), MotherOf(MotherOf(Ada)), et ainsi de suite. Les requêtes du premier ordre qui sont des conséquences logiques ont des preuves finies, mais un démonstrateur général peut s'exécuter indéfiniment lorsqu'une requête n'est pas une conséquence logique. C'est la semi-décidabilité.

Trouver une substitution cohérente

Pour unifier Knows(Ana, x) avec Knows(y, Bo), fais d'abord correspondre le prédicat et l'arité. Les premiers arguments imposent y = Ana ; les seconds imposent x = Bo. La substitution {y/Ana, x/Bo} transforme les deux expressions en Knows(Ana, Bo).

Knows(Ana, x) et Knows(y, MotherOf(y)) donnent quant à elles {y/Ana, x/MotherOf(Ana)}. Une liaison doit être propagée dans les autres termes. Si la même variable x apparaît dans les deux expressions Knows(Ana, x) et Knows(x, Bo), elle devrait devenir à la fois Ana et Bo : l'unification syntaxique échoue donc.

Les variables de formules quantifiées séparément sont indépendantes. Le renommage des variables les modifie avant de combiner les formules. Renommer le second x en z dans cette dernière paire permet d'obtenir {z/Ana, x/Bo}. Cela préserve l'indépendance voulue des variables locales des deux règles.

Un unificateur le plus général n'impose aucune liaison inutile. Knows(Ana, x) et Knows(y, z) s'unifient avec {y/Ana, x/z} ; attribuer aussi Ana à z spécialiserait inutilement le résultat. Le test d'occurrence rejette x = MotherOf(x), car un terme fini ne peut pas se contenir lui-même. L'unification ordinaire de Prolog peut autoriser des termes cycliques : son comportement demande donc de l'attention lorsque l'on veut utiliser une logique du premier ordre à termes finis.

Appliquer la règle mise en correspondance

Le modus ponens généralisé fait correspondre chaque prémisse avec une seule substitution cohérente. Owns(Ada, Atlas) et Book(Atlas) correspondent à Owns(x, y) ∧ Book(y) ⇒ Reader(x) avec {x/Ada, y/Atlas}, ce qui donne Reader(Ada). Faire correspondre une prémisse avec y = Atlas et une autre avec y = Beowulf ne justifierait pas le déclenchement de la règle : les variables partagées imposent les mêmes objets.

Points clés

  • Les substitutions remplacent les variables par des termes.
  • Les témoins existentiels nécessitent de nouveaux noms.
  • L'unification doit faire correspondre tous les arguments de manière cohérente.
  • Renomme les variables indépendantes pour les distinguer.
  • Un unificateur le plus général laisse ouverts les choix inutiles.
  • Le test d'occurrence exclut les termes finis qui se contiendraient eux-mêmes.
  • Le modus ponens généralisé utilise une seule substitution pour toutes les prémisses.

4.2 Appliquer le chaînage avant et arrière à des règles du premier ordre

Une clause définie du premier ordre possède des prémisses atomiques et une conclusion atomique unique, ses variables étant implicitement quantifiées universellement. Les chaînages avant et arrière utilisent l'unification pour appliquer ces règles à des objets nommés. Datalog conserve cette forme de règle et exclut les symboles de fonction, ce qui donne un espace fini de faits clos possibles dans le cadre habituel d'une base de données finie.

Déduire les emplacements accessibles

Prends Link(A, B), Link(B, C) et Link(C, D). Utilise Link(x, y) ⇒ Reach(x, y), et Link(x, y) ∧ Reach(y, z) ⇒ Reach(x, z). Lors de tours synchrones, chaque règle utilise les faits disponibles avant le début du tour.

Le tour 1 déduit Reach(A, B), Reach(B, C) et Reach(C, D). Le tour 2 ajoute Reach(A, C) et Reach(B, D). Le tour 3 ajoute Reach(A, D). Le tour 4 n'ajoute rien. Il y a six faits Reach au point fixe. Une implémentation qui réutilise immédiatement les nouveaux faits peut les trouver dans un autre ordre, mais atteint la même clôture.

Avec n constantes et des prédicats d'arité au plus k, seul un nombre fini de tuples est possible ; une borne supérieure est p · nᵏ pour p prédicats. À l'inverse, NatNum(0) et NatNum(n) ⇒ NatNum(S(n)) engendrent des termes de profondeur toujours croissante, sans fin. Les symboles de fonction suppriment la garantie d'un domaine fini.

Faire correspondre une règle à plusieurs prémisses est un problème de contraintes. Une prémisse sélective peut réduire fortement le nombre de substitutions à examiner ensuite. Le chaînage avant incrémental se concentre sur les règles concernées par les faits nouvellement ajoutés. Les réseaux Rete conservent les correspondances partielles d'une mise à jour à l'autre, ce qui évite de répéter le travail dans les systèmes à règles de production.

Raisonner à rebours avec les liaisons

Pour démontrer Reach(A, D), essaie la règle du lien direct, qui exige le fait absent Link(A, D). La règle récursive exige quant à elle Link(A, y) et Reach(y, D). La première prémisse lie y à B. En poursuivant par B et C, on atteint le fait connu Link(C, D). La requête Reach(A, w) a trois réponses : w = B, C ou D.

Prolog écrit les règles avec la tête en premier et utilise des variables en majuscules et des constantes en minuscules :

reach(X, Y) :- link(X, Y).
reach(X, Z) :- link(X, Y), reach(Y, Z).

Il essaie les clauses de haut en bas et les prémisses de gauche à droite par chaînage arrière en profondeur. Le calcul peut utiliser N is M + 1. La négation par l'échec, notée \+ p, réussit si la tentative de démontrer p échoue en un temps fini. C'est un test opérationnel de l'échec, pas une preuve générale de la négation classique.

Éviter que la récursion ne piège la recherche

Placer reach(X, Y) en premier dans le corps récursif peut immédiatement rappeler le même but non résolu. Placer les clauses de base en premier et utiliser une récursion qui parcourt un lien aide, mais les cycles peuvent encore piéger les recherches infructueuses. La tabulation enregistre les réponses aux sous-buts et gère les dépendances répétées. Le chaînage avant est complet pour Datalog fini ; la recherche arrière naïve en profondeur a besoin de ce type de contrôle pour ne pas manquer des réponses accessibles derrière des branches infinies.

Points clés

  • Le chaînage du premier ordre fait correspondre les règles à l'aide de substitutions.
  • Datalog exclut les symboles de fonction et possède un nombre fini de faits clos.
  • Le chaînage avant atteint un point fixe.
  • Prolog utilise un chaînage arrière en profondeur qui suit un ordre défini.
  • La négation par l'échec exige un échec en un temps fini.
  • La tabulation gère les sous-buts répétés et leurs réponses.

4.3 Démontrer des requêtes du premier ordre par résolution

La résolution du premier ordre étend le raisonnement sur les clauses grâce à l'unification. Elle peut démontrer des conclusions portant sur des objets non nommés, car les termes de Skolem préservent les dépendances des témoins existentiels. Comme pour la réfutation propositionnelle, commence par la base de connaissances et la négation de la requête.

Préparer les clauses du premier ordre

Élimine ⇔ et ⇒, fais entrer les négations, renomme les variables liées, skolémise les variables existentielles, supprime les quantificateurs universels, puis distribue ∨ sur ∧. Il est important de faire entrer d'abord la négation, car ¬∀x P(x) devient ∃x ¬P(x), ce qui change le type de témoin nécessaire.

Pour « Chaque cours a un enseignant », ∀c (Course(c) ⇒ ∃t Teaches(t, c)), le témoin représentant l'enseignant peut dépendre de c. Introduis une nouvelle fonction T(c) pour obtenir ¬Course(c) ∨ Teaches(T(c), c). Une constante unique imposerait un seul enseignant pour tous les cours, ce que la formule initiale n'exige pas. Pour ∃t ∀c (Course(c) ⇒ Teaches(t, c)), une nouvelle constante convient, car le témoin précède le quantificateur universel.

« Tous les oiseaux ne volent pas » devient ∃x (Bird(x) ∧ ¬Flies(x)), puis Bird(B₁) et ¬Flies(B₁). Les deux clauses utilisent le même nouveau témoin. La skolémisation préserve la satisfiabilité ; elle ne donne pas une équivalence ordinaire sur le vocabulaire étendu.

Appliquer un unificateur à toute la clause résultante

Renomme les variables des deux clauses pour les distinguer. Trouve des littéraux complémentaires qui s'unifient, supprime-les et applique leur unificateur le plus général à chaque littéral restant. La factorisation fusionne aussi les littéraux d'une clause qui peuvent être unifiés. La résolution avec factorisation est complète pour la réfutation des clauses du premier ordre.

Prends ¬Course(c) ∨ Teaches(T(c), c), ¬Teaches(u, v) ∨ Staff(u), et Course(Logic). La requête est ∃w Staff(w) ; sa négation donne ¬Staff(w), quantifiée universellement. Applique la résolution au fait concernant le cours et à la première clause pour obtenir Teaches(T(Logic), Logic). Applique la résolution avec la deuxième clause sous {u/T(Logic), v/Logic}, ce qui donne Staff(T(Logic)). Applique la résolution avec ¬Staff(w) sous {w/T(Logic)} pour obtenir la clause vide. Un membre du personnel existe, même si la base de connaissances ne donne jamais à cette personne un nom ordinaire.

Contrôler la recherche parmi les clauses

La préférence unitaire choisit d'abord les clauses courtes. La stratégie de l'ensemble de support exige qu'une clause parente provienne de la négation de la requête ou en soit déduite ; elle préserve la complétude lorsque le reste de la base de connaissances est satisfiable. La résolution par entrée exige une clause parente initiale à chaque étape et est complète pour les bases de clauses de Horn. La subsomption supprime une clause plus faible déjà couverte par une clause générale plus forte, par exemple P(Ana) ∨ Q(Bo) lorsque P(x) est connue.

L'égalité nécessite un traitement particulier : des axiomes d'égalité, la réécriture par des équations au moyen de la démodulation ou des inférences comme la paramodulation. La seule résolution purement syntaxique ne rend pas compte de tous les aspects de l'égalité. Une recherche complète et équitable trouve une contradiction pour tout ensemble insatisfiable de clauses du premier ordre, mais peut s'exécuter indéfiniment dans le cas contraire. Parmi les démonstrateurs fondés sur la résolution figurent Vampire et E ; EQP a démontré la conjecture de Robbins en 1996.

Points clés

  • Nie la requête avant la transformation.
  • Fais entrer la négation avant de choisir les témoins de Skolem.
  • Une fonction de Skolem conserve la dépendance envers les variables universelles.
  • Applique l'unificateur à chaque littéral restant.
  • La résolution avec factorisation est complète pour la réfutation.
  • L'égalité et le contrôle de la recherche nécessitent un traitement explicite.
5

Organiser les connaissances en ontologies et en graphes de connaissances

De grands ensembles de faits nécessitent une structure commune. Les catégories et les ontologies organisent les types de choses qui existent et leurs relations, tandis que les graphes de connaissances enregistrent des entités particulières et leurs liens. Le raisonnement peut enrichir ces liens, les requêtes peuvent retrouver des objets correspondants et les modèles statistiques peuvent suggérer des ajouts. Ces opérations répondent à des questions différentes : leurs résultats doivent donc être interprétés différemment lorsque le graphe est incomplet.

5.1 Structurer les connaissances à l'aide de catégories et d'ontologies

Une ontologie organise les catégories, les objets, les relations et les hypothèses d'un domaine. Une ontologie de haut niveau fournit des notions générales comme les objets, les événements et le temps ; une ontologie de domaine fournit les distinctions utiles dans un domaine particulier. Les ontologies cliniques et biologiques illustrent pourquoi un vocabulaire commun utile sert souvent une communauté précise.

Distinguer l'appartenance et la relation de sous-classe

Une catégorie peut apparaître comme un prédicat, Laptop(x), ou comme un objet, Laptops. L'appartenance x ∈ Laptops dit qu'un individu en est membre. Laptops ⊂ Computers dit que tout ordinateur portable est un ordinateur. Une taxonomie organise ces relations de sous-classe en hiérarchie. Si tout ordinateur a un processeur, les ordinateurs portables héritent de cette propriété.

La relation de sous-classe est transitive : Penguins ⊂ Birds et Birds ⊂ Animals donnent Penguins ⊂ Animals. L'appartenance n'est pas transitive. Pingu ∈ Penguins et Penguins ∈ Species ne font pas de Pingu une espèce. Un énoncé concerne un oiseau individuel ; l'autre concerne une catégorie traitée comme un objet.

Des catégories sont disjointes si elles n'ont aucun membre commun. Une décomposition exhaustive couvre chaque membre de la catégorie parente. Une partition vérifie les deux conditions : les entiers négatifs, zéro et les entiers positifs forment une partition des entiers. L'exhaustivité permet des recouvrements, sauf si la disjonction est également énoncée.

Représenter les parties, les événements et les valeurs héritées

PartOf décrit la composition, pas l'appartenance à une catégorie. PartOf est transitif : un rayon appartenant à une roue qui appartient à un vélo fait partie du vélo. Un vélo n'est pas pour autant une sorte de roue. Les événements peuvent aussi être des objets : Happens(e, t), Initiates(e, f, t) et HoldsAt(f, t) relient les événements aux fluents qui changent. Allumer une lampe initialise un fluent qui persiste jusqu'à ce qu'un événement y mette fin.

Un réseau sémantique représente les objets et les catégories par des nœuds reliés par des relations étiquetées. Dans un réseau avec des valeurs par défaut, « les oiseaux volent normalement » peut fournir une valeur héritée par les oiseaux ordinaires, tandis qu'une catégorie plus spécifique de manchots la remplace. Cela diffère de l'affirmation de l'axiome classique sans exception ∀x (Bird(x) ⇒ Flies(x)), qui s'appliquerait aussi aux manchots.

Choisir le langage de raisonnement
ApprochePrincipal atoutContrainte importante
Réseau sémantiqueRelations et chemins d'héritage lisiblesUn réseau simple ne permet pas les négations et disjonctions quelconques de la logique du premier ordre
Logique de descriptionDéfinitions de catégories et raisonnement décidableL'expressivité est volontairement limitée
Raisonnement par défautRègles générales avec exceptionsLes conclusions peuvent être retirées

Les logiques de description permettent la subsomption, la classification et la vérification de cohérence. Une définition peut classer une personne ayant au moins trois enfants dans une catégorie appropriée. Ces logiques servent de fondement aux langages de logique de description d'OWL.

Le raisonnement par défaut est non monotone : apprendre qu'un oiseau est un manchot peut retirer la conclusion selon laquelle il vole, obtenue par défaut. La circonscription minimise les cas anormaux dans des règles comme Bird(x) ∧ ¬Abnormal(x) ⇒ Flies(x). La logique des défauts permet de tirer des conclusions tant qu'elles restent cohérentes avec les connaissances. Les systèmes de maintien de la vérité enregistrent les justifications afin de pouvoir retirer les conclusions qui dépendent d'une croyance abandonnée.

Points clés

  • Une ontologie fournit un vocabulaire formel et des hypothèses.
  • L'appartenance diffère de la relation de sous-classe ; seule cette dernière est transitive dans la hiérarchie des catégories.
  • Une partition est à la fois disjointe et exhaustive.
  • PartOf et la relation de sous-classe décrivent des relations différentes.
  • Les logiques de description limitent l'expressivité pour permettre un raisonnement décidable.
  • Les conclusions par défaut peuvent être retirées lorsque des exceptions apparaissent.

5.2 Expliquer comment les graphes de connaissances stockent et exploitent les faits

Un graphe de connaissances stocke des entités et leurs relations sous forme de graphe orienté. Un arc simple devient un triplet : sujet, prédicat, objet. Par exemple, (Ada, worksAt, Lab) correspond à WorksAt(Ada, Lab) ; (Ada, type, Researcher) énonce une appartenance à une catégorie. Un schéma donne un sens commun à ces désignations et permet d'autres inférences.

Distinguer les standards du Web

RDF représente les graphes sous forme de triplets. Les sujets sont des IRI ou des nœuds anonymes, les prédicats sont des IRI et les objets peuvent aussi être des valeurs littérales. Les IRI identifient les ressources d'un jeu de données à l'autre ; un nœud anonyme représente une ressource sans lui donner d'identifiant global. RDFS ajoute des classes, des relations de sous-classe ainsi que le domaine et l'ensemble des valeurs des propriétés. OWL fournit des définitions d'ontologie plus riches. SPARQL recherche des correspondances avec des motifs de graphe pour renvoyer des liaisons de variables. Les graphes de propriétés offrent un autre modèle avec des propriétés clé-valeur sur les nœuds et les arcs ; Cypher et GQL sont des langages de requête pour cette famille.

Si Ada est de type Researcher et que Researcher est une sous-classe de Scientist, une règle de sous-classe permet de déduire qu'Ada est de type Scientist. Il s'agit d'un chaînage avant du premier ordre sur Member(x, c) ∧ Subset(c, d) ⇒ Member(x, d). Pour rendre ce fait déduit accessible, un moteur de requêtes sur graphe doit prendre en charge la conséquence logique correspondante ou disposer des conclusions matérialisées.

Faire correspondre une requête et préserver les détails

Avec ex: déclaré comme préfixe d'IRI, une requête peut être :

SELECT ?p WHERE {
  ?p a ex:Researcher .
  ?p ex:worksAt ex:Lab .
}

Le même ?p doit satisfaire les deux motifs. Il s'agit d'une jointure, pas de deux recherches sans rapport. Les résultats sont des liaisons comme ?p = ex:Ada, semblables aux substitutions dans les requêtes logiques.

Un arc binaire ne peut pas à lui seul exprimer tous les rôles dans un événement daté. Pour un prix, crée un nœud d'événement ou d'énoncé et relie-le au destinataire, au prix et à l'année. Cela regroupe les détails d'une même attribution et évite d'attacher par erreur la date à tous les prix de ce type. Wikidata prend en charge des qualificatifs d'énoncé pour ces détails.

Distinguer les liens absents, déduits et prédits

RDF et OWL utilisent une lecture en monde ouvert : un arc absent concernant le conjoint laisse la relation inconnue. Les applications en monde clos font un autre choix pour les faits manquants. Un résultat de requête vide indique l'absence de correspondance dans les conditions de cette requête ; il n'établit pas à lui seul un fait négatif universel.

Wikidata, DBpedia, le Knowledge Graph de Google et les graphes internes des organisations permettent de répondre à des requêtes factuelles, de relier des enregistrements, de formuler des recommandations et de retrouver des informations pour les systèmes génératifs. Leurs faits peuvent être incomplets ou dépassés. La résolution d'entités identifie les enregistrements qui désignent la même chose même lorsque leurs identifiants diffèrent.

Les plongements attribuent des vecteurs aux entités et aux relations. Dans TransE, l'apprentissage rapproche la somme du vecteur de tête et du vecteur de relation du vecteur de queue. Un score élevé suggère un lien manquant ; c'est une prédiction statistique. L'inférence logique déduit une conséquence de faits et de règles énoncés. Garde cette différence à l'esprit lorsque tu décides si un nouvel arc doit figurer parmi les faits vérifiés.

Points clés

  • Un triplet enregistre une relation orientée entre sujet, prédicat et objet.
  • RDF, RDFS, OWL et SPARQL jouent des rôles différents.
  • Les variables communes d'une requête relient les motifs par une jointure.
  • Les nœuds d'événement regroupent les éléments d'un même fait.
  • Un arc absent correspond à une information inconnue dans la sémantique du monde ouvert.
  • Les liens prédits doivent être vérifiés ; ce ne sont pas des conséquences logiques.
  • La résolution d'entités relie des identifiants différents qui désignent la même chose.
6

Formuler et résoudre des problèmes de planification classique

Un problème de planification relie les descriptions logiques à l'action. Représente l'état courant, les conditions nécessaires à chaque action et les faits qu'elle modifie, puis recherche une séquence qui atteint le but. La structure des actions permet de raisonner à rebours et de construire des heuristiques utiles, mais les sous-buts peuvent interférer. Comparer la recherche dans l'espace d'états, les encodages SAT et la décomposition des tâches montre comment les planificateurs gèrent cette difficulté et quand les hypothèses classiques nécessitent des extensions.

6.1 Décrire un problème de planification en PDDL

La planification classique recherche des actions qui mènent d'un état initial connu à un but. Le modèle est totalement observable, déterministe, discret et comporte un seul agent ; le monde change par les actions modélisées. Une représentation factorisée décrit chaque état à l'aide de fluents, de sorte qu'un planificateur peut raisonner sur ce que chaque action modifie.

Écrire l'état et les schémas d'action

Dans le fragment de base de PDDL de type STRIPS, un état énumère les fluents atomiques clos qui sont vrais. Les fluents non indiqués sont faux selon l'hypothèse du monde clos. Le domaine réutilisable déclare les prédicats et les schémas d'action ; le problème déclare les objets, l'état initial et un but. PDDL a été introduit pour la compétition de planification de 1998, en s'appuyant sur STRIPS.

Un schéma d'action possède des paramètres, une précondition et des effets. Go(r, from, to) exige At(r, from) et Connected(from, to) ; il ajoute At(r, to) et supprime At(r, from). Pick(r, p, l) exige At(r, l), In(p, l) et HandEmpty(r) ; il ajoute Holding(r, p) et supprime In(p, l) et HandEmpty(r). Drop exige la présence à l'emplacement et la possession du colis ; il ajoute l'emplacement du colis et le fait que la main est libre, et supprime le fait que le colis est tenu.

Une action close ne s'applique que lorsque ses préconditions sont vraies. Sa mise à jour est RESULT(s, a) = (s − DEL(a)) ∪ ADD(a). Les autres fluents persistent, y compris les faits statiques Connected. Cette persistance implicite traite le problème du cadre sans axiome distinct pour chaque fluent inchangé.

Suivre une livraison en quatre actions

Au départ, R est à Dock, Box est à Shelf et la main de R est libre. Des liens Connected relient Dock à Shelf et Shelf à Packing dans les deux sens. Le but est In(Box, Packing).

  1. Go(R, Dock, Shelf) change l'emplacement de R et préserve les faits concernant la boîte et la main.
  2. Pick(R, Box, Shelf) retire la boîte de l'étagère et la fait tenir par R.
  3. Go(R, Shelf, Packing) déplace R tout en préservant Holding(R, Box).
  4. Drop(R, Box, Packing) place la boîte à Packing et libère la main.

Le but ne précise pas l'emplacement final du robot, sauf dans la mesure où les actions l'exigent. Les buts décrivent généralement de nombreux états acceptables, pas un seul état complet.

Lire et vérifier un schéma
(:action pick
 :parameters (?r ?p ?l)
 :precondition (and (at ?r ?l) (in ?p ?l) (hand-empty ?r))
 :effect (and (holding ?r ?p)
              (not (in ?p ?l)) (not (hand-empty ?r))))

Omettre un effet de suppression peut laisser un robot à deux endroits ou un colis à la fois tenu et sur une étagère. Placer une condition nécessaire uniquement dans un effet conduit l'action à la créer au lieu de la vérifier.

Dans le monde des blocs, déplacer un bloc libre b de x sur un bloc libre y exige On(b, x), Clear(b), Clear(y), Block(b), Block(y) et ¬(b = y). L'action ajoute On(b, y) et Clear(x), et supprime On(b, x) et Clear(y). Les vérifications de distinction et de type bloc empêchent de placer un bloc sur lui-même et de traiter la table comme un seul bloc. Une action distincte MoveToTable garde la table disponible pour les autres blocs.

Points clés

  • Les états contiennent les fluents clos vrais ; les fluents absents sont faux.
  • Les préconditions d'une action doivent être satisfaites avant son exécution.
  • Les effets de suppression retirent des faits et les effets d'ajout en insèrent.
  • Les faits non mentionnés persistent.
  • Un domaine est réutilisable ; un problème fournit les objets, les faits initiaux et les buts.
  • Les vérifications du modèle empêchent les actions closes impossibles.

6.2 Rechercher des plans avec des heuristiques indépendantes du domaine

Un modèle de planification définit un espace de recherche, mais le choix d'actions utiles reste difficile. La progression recherche vers l'avant parmi des états complets. La régression de buts recherche vers l'arrière parmi les conditions qu'un état précédent doit satisfaire. Les deux peuvent réutiliser des méthodes générales de recherche tout en exploitant la structure des actions.

Rechercher depuis l'une ou l'autre extrémité

La progression part de l'état initial et applique les actions closes applicables. Elle peut gaspiller des efforts sur des actions non pertinentes : un robot, 20 boîtes et 10 emplacements donnent déjà 200 combinaisons Pick closes possibles avant le filtrage selon leur applicabilité.

La régression considère une action qui réalise un littéral du but sans en nier un autre. Effectue la régression d'un ensemble de buts g à travers a en retirant les littéraux réalisés et en ajoutant les préconditions : g′ = (g − EFFECT(a)) ∪ PRECOND(a). EFFECT contient les littéraux positifs et négatifs avec leur signe. Rejette tout résultat incohérent contenant un littéral et sa négation.

Pour In(Box, Packing) ∧ At(R, Dock), la régression à travers Drop(R, Box, Packing) donne Holding(R, Box) ∧ At(R, Packing) ∧ At(R, Dock). Ces conditions entrent en conflit avec l'invariant voulu selon lequel le robot n'occupe qu'un emplacement. Un plan valide doit livrer la boîte avant le retour final du robot. La régression à travers Go(R, Shelf, Dock) donne en revanche In(Box, Packing) ∧ At(R, Shelf) ∧ Connected(Shelf, Dock), ce qui préserve le fait que le colis est livré.

Estimer la distance avec des problèmes plus simples

Une heuristique est admissible lorsqu'elle ne surestime jamais le coût restant optimal. A* avec une heuristique admissible trouve un plan optimal. Compter les buts non satisfaits n'est pas toujours admissible : une seule action peut en réaliser plusieurs.

Ignorer les préconditions rend toutes les actions immédiatement utilisables. Ignorer les effets de suppression rend les progrès permanents, pour les problèmes exprimés avec des préconditions et des buts positifs. Les conditions négatives doivent d'abord être transformées en fluents positifs maintenus explicitement. La longueur optimale d'un plan relaxé h⁺ est un minorant de la longueur réelle du plan, mais son calcul est NP-difficile. FF trouve rapidement un plan relaxé sans garantir son optimalité ; sa longueur peut surestimer h⁺ et n'est pas nécessairement admissible.

Pour le but de livraison et de retour à l'entrepôt, le plan réel le plus court comporte six actions : aller à Shelf, prendre la boîte, aller à Packing, la déposer, revenir à Shelf, puis à Dock. La relaxation des effets négatifs ne nécessite que les quatre premières, car At(R, Dock) reste vrai après le départ. Ainsi h⁺ = 4 alors que le coût réel est de 6. Le nombre de buts non satisfaits n'est au départ que de 1 et ne rend pas compte de l'essentiel de ce travail.

Combiner les estimations sans compter deux fois

Un graphe de planification alterne des niveaux de fluents possibles et d'actions possibles, avec des liens d'exclusion mutuelle qui marquent les paires incompatibles. La première apparition d'un but donne une estimation en nombre de niveaux. Prendre le maximum des niveaux individuels des buts est admissible ; les additionner peut compter plusieurs fois un travail partagé. L'abstraction d'état retire certains fluents pour réduire l'espace d'états. Pour la décomposition en sous-buts aussi, il est utile de repérer les actions partagées : le maximum des coûts admissibles des sous-buts est admissible, tandis que leur somme nécessite une justification supplémentaire.

Points clés

  • La progression recherche parmi des états complets ; la régression recherche parmi des conditions sur les buts.
  • La régression exige de réaliser un but sans produire d'effet qui contredit un autre but.
  • Les relaxations retirent des contraintes pour estimer le travail restant.
  • Le coût optimal h⁺ après relaxation des effets négatifs est admissible mais difficile à calculer.
  • La longueur du plan relaxé de FF n'est pas nécessairement admissible.
  • Additionner les coûts des sous-buts peut compter deux fois le travail partagé.

6.3 Comparer les approches de planification et leurs limites

Les méthodes de planification diffèrent par ce sur quoi porte leur recherche : états, affectations de valeurs de vérité, contraintes d'ordre ou décompositions de procédures expertes. Leur utilité dépend de l'interaction des sous-buts et des hypothèses du modèle sur l'exécution.

Reconnaître les interactions entre sous-buts

Dans l'anomalie de Sussman, C est sur A, et A et B sont sur la table. Le but est On(A, B) ∧ On(B, C). Réaliser d'abord le sous-but qui place A sur B empêche ensuite de placer B. Placer immédiatement B sur C laisse A enfoui. Un plan de longueur minimale libère d'abord A, puis construit la pile par le bas : déplacer C sur la table, déplacer B sur C, puis déplacer A sur B. Les trois déplacements entrelacent la préparation et la réalisation des buts.

Encoder un plan borné comme problème SAT

SATPlan choisit un horizon T. Il énonce les fluents initiaux à l'instant 0, les fluents du but à T, les préconditions des actions, les contraintes d'état successeur et les exclusions pour les actions incompatibles. Une affectation satisfaisante sélectionne des actions qui forment un plan. Un résultat insatisfiable exclut les plans dans cet encodage et à cet horizon.

Essayer les horizons dans l'ordre permet de trouver le plus petit horizon satisfiable. Avec des actions parallèles, cela minimise les couches, pas nécessairement le nombre total d'actions. Une borne d'arrêt est nécessaire pour conclure à l'absence de plan à partir d'une succession d'horizons insatisfiables.

Ne garder que l'ordre nécessaire

La planification à ordre partiel enregistre les actions, les contraintes d'ordre et les liens causaux. Un lien A - p → B dit que A établit la précondition p de B. Une action C qui pourrait supprimer p entre les deux est une menace. La rétrogradation place C avant A ; la promotion la place après B. Les actions sans rapport peuvent rester sans ordre fixé jusqu'à l'exécution, selon le principe d'engagement minimal.

La planification par réseaux de tâches hiérarchiques décompose les tâches de haut niveau à l'aide d'une bibliothèque de méthodes. DeliverBox peut devenir : aller jusqu'à la boîte, la prendre, aller à destination et la déposer. Ces méthodes encodent des procédures expertes ; la recherche peut donc se concentrer sur des décompositions utiles au lieu de considérer chaque action élémentaire à chaque étape.

MéthodePrincipal objet de recherche
Planification dans l'espace d'étatsÉtats et actions applicables
SATPlanAffectations satisfaisantes indexées par le temps
Planification à ordre partielActions, liens causaux et contraintes d'ordre
Planification par réseaux de tâches hiérarchiquesDécompositions de tâches à l'aide des méthodes fournies
Adapter le modèle au monde

L'existence d'un plan pour STRIPS propositionnel général est PSPACE-complète. Dans le monde des blocs, le problème d'existence est plus facile pour les dispositions possibles : déplacer les blocs sur la table et reconstruire, en utilisant au plus 2n déplacements pour n blocs. Trouver un plan de longueur minimale pour le monde des blocs reste NP-difficile.

Les modèles classiques ne prennent pas en compte les résultats incertains, l'état caché et les durées des actions. Les plans sans capteurs fonctionnent sans observations, les plans contingents comportent des branches selon les observations, la replanification en ligne réagit aux écarts pendant l'exécution et l'ordonnancement gère les temps et les ressources. Une précondition de batterie manquante peut faire échouer physiquement un plan valide dans le modèle. La surveillance de l'exécution permet de vérifier cet écart. La planification automatique a été utilisée dans des systèmes réels, notamment Remote Agent de la NASA sur Deep Space 1 en 1999.

Points clés

  • Les interactions entre sous-buts peuvent nécessiter d'entrelacer les actions.
  • SATPlan teste un horizon à la fois.
  • Un horizon parallèle minimal ne minimise pas nécessairement le nombre d'actions.
  • Les menaces sur les liens causaux sont résolues par promotion ou rétrogradation.
  • Les méthodes de planification par réseaux de tâches hiérarchiques encodent des décompositions de tâches expertes.
  • L'existence d'un plan STRIPS général est PSPACE-complète.
  • La surveillance de l'exécution vérifie si le monde évolue conformément au modèle.

Agents logiques et planification : exemples

6 Leçons Interactives

1

D'une perception à une action justifiée

12 étapes
Construis les connaissances d'un agent, encode ses règles et vérifie ce que tous les modèles compatibles permettent de conclure.
  1. 1
    IntroductionRaisonner avant d'entrer

    Un agent dans une grotte peut apprendre quelque chose sur une case sans y entrer. Ses observations limitent les dispositions possibles et ses règles initiales relient ces observations aux dangers.

    Suis une chaîne allant d'une perception enregistrée à une formule propositionnelle, puis à une conséquence logique. La question importante est de savoir si toutes les dispositions compatibles justifient la conclusion proposée.

  2. 2
    ExplicationEnregistrer, raisonner et agir

    La base de connaissances stocke des formules formelles. TELL ajoute des informations ; ASK demande une réponse déjà stockée ou déduite par inférence.

    À un instant donné, l'agent enregistre sa perception, demande quoi faire, enregistre l'action choisie et l'exécute. Cet enregistrement aide les raisonnements ultérieurs à distinguer ce qui était vrai avant le déplacement de ce qui devrait l'être après.

  3. 3
    ExempleUtiliser l'absence de brise

    L'agent commence en [1, 1] et ne perçoit aucune Brise. La règle de la brise dit qu'une case présente une brise exactement lorsqu'une case directement adjacente contient un puits.

    Les seules cases voisines du départ sont [1, 2] et [2, 1]. Si l'une d'elles contenait un puits, il y aurait une brise dans la case de départ. L'observation exclut donc un puits dans les deux cases voisines, sans que l'agent ait besoin de les visiter.

  4. 4
    DéfiL'absence de puits suffit-elle ?

    L'agent a exclu un puits en [1, 2], mais il ne dispose d'aucune information sur l'odeur. Peut-il déjà affirmer que la case est tout à fait sûre ?

    ---reveal---

    Non. Pour qu'elle soit tout à fait sûre, il faut aussi exclure le wumpus. Une preuve concernant les puits ne fournit à elle seule aucune information sur le wumpus. L'absence d'Odeur en [1, 1], associée à la règle de l'odeur, permettrait d'exclure le wumpus des cases voisines.

  5. 5
    ExplicationDonner les deux sens de la règle

    Écris B₁₁ ⇔ (P₁₂ ∨ P₂₁). Ici, B₁₁ signifie qu'il y a une brise au départ, et chaque P désigne une case contenant un puits. La biconditionnelle dit à la fois qu'une brise exige un puits voisin et qu'un puits voisin produit une brise.

    C'est son sens inverse qui permet d'utiliser l'absence de brise pour exclure des puits. Une règle à sens unique allant de l'observation à la cause ferait perdre cette inférence.

  6. 6
    ExempleÉvaluer une implication

    Pour B₁₁ ⇒ (P₁₂ ∨ P₂₁), supposons que B₁₁ soit fausse et que les deux symboles de puits soient vrais. L'implication est vraie parce que sa prémisse est fausse.

    Cette affectation montre pourquoi cette règle à sens unique autorise des puits sans brise. Ajouter l'implication inverse l'exclut. La vérité logique suit la table du connecteur, même lorsqu'une formule constitue un modèle physique incomplet.

  7. 7
    DéfiChoisir la mise à jour temporelle

    Un agent a une flèche et rien ne lui en fournit une autre. Quelle condition à l'étape suivante exprime exactement la conservation de la flèche ?

    ---reveal---

    HaveArrowᵗ⁺¹ ⇔ (HaveArrowᵗ ∧ ¬Shootᵗ). La flèche est conservée si l'agent l'avait et si le tir ne la lui retire pas. S'il ne l'avait pas au départ, il ne l'a toujours pas. Cet axiome d'état successeur couvre la persistance aussi bien que le changement.

  8. 8
    ExplicationNe garder que les mondes compatibles

    La conséquence logique signifie qu'une requête est vraie dans tout modèle satisfaisant la base de connaissances. Pour la vérifier directement, énumère les affectations, écarte celles qui ne satisfont pas la base et examine la requête dans chacune de celles qui restent.

    Une seule affectation restante où la requête est fausse constitue un contre-modèle. S'il reste à la fois des affectations où la requête est vraie et d'autres où elle est fausse, la requête est inconnue à partir de cette base.

  9. 9
    ExempleExaminer trois dispositions

    L'absence de Brise au départ exclut P₁₂ et P₂₁. Une Brise en [2, 1], associée à l'absence de puits au départ, impose P₂₂ ∨ P₃₁.

    Il existe trois choix compatibles pour ces deux derniers symboles de puits : vrai/faux, faux/vrai et vrai/vrai. Ainsi, ¬P₁₂ est vraie dans tous les cas, mais P₂₂ varie. La première affirmation est une conséquence logique de la base de connaissances, tandis que la seconde reste inconnue.

  10. 10
    DéfiTrouver le contre-modèle

    Pour KB = {A ∨ B}, A est-elle une conséquence logique ? Donne une affectation compatible qui permet de répondre.

    ---reveal---

    Non. A faux et B vrai satisfait la base de connaissances tout en rendant A fausse : c'est donc un contre-modèle. L'affectation inverse satisfait aussi la base. A est donc inconnue, et non exclue : la base n'implique logiquement ni A ni ¬A.

  11. 11
    LienTransformer la requête sur l'action en problème SAT

    Pour vérifier une conclusion proposée α sur la sécurité, demande si KB ∧ ¬α est satisfiable. Un modèle décrit un monde compatible où la conclusion est fausse ; l'insatisfiabilité établit la conséquence logique.

    Cela relie la décision de l'agent au résultat formel d'un solveur. L'absence de preuve de sécurité laisse un risque indéterminé ; elle ne transforme pas la case non visitée en danger démontré.

  12. 12
    RécapitulatifDistinguer les trois résultats

    TELL enregistre les observations, et l'encodage détermine leur sens. L'inférence distingue ensuite une conclusion justifiée, une négation justifiée et une affirmation inconnue.

    Avant d'agir, vérifie que la règle encodée comprend les sens nécessaires à l'inférence et que la conclusion exclut tous les dangers pertinents. Un contre-modèle indique précisément pourquoi une conclusion proposée ne tient pas.

2

Démontrer une requête et interpréter les résultats d'un solveur

16 étapes
Étudie les règles de preuve, la résolution, le chaînage et la recherche SAT sans confondre leurs garanties.

Enregistre cette unité pour suivre chaque Leçon Interactive pas à pas.

  1. 1
    IntroductionUne requête, plusieurs méthodes
  2. 2
    ExempleExtraire une prémisse
  3. 3
    DéfiVérifier une inversion tentante
  4. 4
    ExplicationPréparer la forme clausale
  5. 5
    ExempleNier la requête de mise à disposition
  6. 6
    ExempleAchever la réfutation
  7. 7
    DéfiDeux paires peuvent-elles disparaître ?
  8. 8
    ExplicationExploiter une tête de règle unique
  9. 9
    ExempleSuivre la chaîne pertinente
  10. 10
    DéfiTraiter soigneusement un cycle
  11. 11
    ExplicationPropager les affectations imposées
  12. 12
    ExempleExplorer les deux branches
  13. 13
    Point cléApprendre ou réparer
  14. 14
    DéfiInterpréter l'arrêt d'une recherche locale
  15. 15
    DéfiRelier les règles au résultat d'un solveur
  16. 16
    RécapitulatifSavoir ce que permet de conclure chaque résultat
3

Faire dire à une règle quantifiée ce que tu veux exprimer

12 étapes
Choisis les termes, la portée et les axiomes du domaine, puis corrige une petite base de connaissances.

Enregistre cette unité pour suivre chaque Leçon Interactive pas à pas.

  1. 1
    IntroductionDes faits individuels aux règles générales
  2. 2
    ExplicationDéterminer le rôle de chaque symbole
  3. 3
    ExempleÉvaluer un petit monde
  4. 4
    DéfiDeux noms signifient-ils deux livres ?
  5. 5
    ExplicationAssocier le quantificateur et le connecteur
  6. 6
    ExempleDéplacer le témoin commun
  7. 7
    DéfiNier correctement l'énoncé universel
  8. 8
    ExplicationPartir de la requête visée
  9. 9
    ExempleCompléter la relation de prérequis
  10. 10
    DéfiTrouver la règle manquante
  11. 11
    DéfiCombiner portée et complétude
  12. 12
    RécapitulatifVérifier le sens dans un petit modèle
4

Suivre les liaisons dans une preuve du premier ordre

15 étapes
Unifie des motifs de règles, exécute des requêtes récursives et préserve les dépendances existentielles dans la résolution.

Enregistre cette unité pour suivre chaque Leçon Interactive pas à pas.

  1. 1
    IntroductionLaisser la règle trouver ses objets
  2. 2
    ExempleFaire correspondre la première prémisse
  3. 3
    Point cléLaisser ouverts les choix inutiles
  4. 4
    DéfiVérifier toutes les contraintes sur les arguments
  5. 5
    ConseilUtiliser un nouveau témoin existentiel
  6. 6
    ExempleConstruire les chemins par tours
  7. 7
    ExplicationVoir la requête comme une recherche
  8. 8
    DéfiTester un appel qui se répète
  9. 9
    LienComprendre l'origine de la finitude
  10. 10
    ExplicationPréserver la dépendance d'un témoin
  11. 11
    ExempleAjouter la négation de la requête sur le personnel
  12. 12
    ExempleAppliquer la liaison au résultat
  13. 13
    DéfiLa négation change le témoin
  14. 14
    DéfiDistinguer la preuve de la terminaison
  15. 15
    RécapitulatifPréserver le sens à chaque étape
5

Suivre un fait dans une ontologie et un graphe

11 étapes
Distingue l'appartenance, l'héritage, les correspondances de requête, les valeurs par défaut et les prédictions.

Enregistre cette unité pour suivre chaque Leçon Interactive pas à pas.

  1. 1
    IntroductionPlusieurs types d'affirmations dans un graphe
  2. 2
    ExplicationDistinguer catégorie et individu
  3. 3
    ExempleAjouter une exception sans contradiction
  4. 4
    DéfiVérifier si une répartition est une partition
  5. 5
    LienChoisir un système de raisonnement sur les catégories
  6. 6
    ExempleTransformer la relation en triplets
  7. 7
    ExempleRelier deux motifs par une jointure
  8. 8
    DéfiInterpréter une relation manquante
  9. 9
    Point cléGarder visible le statut d'une prédiction
  10. 10
    DéfiRetrouver la justification d'un nouveau type
  11. 11
    RécapitulatifChercher ce qui justifie l'arc
6

Construire, vérifier et rechercher un plan de livraison

16 étapes
Mets à jour les états, effectue la régression des buts, compare les coûts relaxés et traite les interactions entre actions.

Enregistre cette unité pour suivre chaque Leçon Interactive pas à pas.

  1. 1
    IntroductionExpliciter les conséquences des actions
  2. 2
    ExplicationLire l'état initial
  3. 3
    ExempleSe déplacer et prendre le colis
  4. 4
    ExempleTransporter le colis et le déposer
  5. 5
    DéfiTrouver l'effet de suppression manquant
  6. 6
    ExplicationRechercher parmi les états ou les conditions
  7. 7
    ExempleRaisonner à rebours depuis la livraison
  8. 8
    DéfiAjouter le but de retour
  9. 9
    ExempleRetirer les suppressions pour obtenir une estimation
  10. 10
    DéfiLe nombre de buts peut-il surestimer le coût ?
  11. 11
    ExempleEntrelacer les buts du monde des blocs
  12. 12
    ExplicationEncoder un horizon temporel
  13. 13
    DéfiProtéger une condition de livraison
  14. 14
    LienUtiliser des méthodes et surveiller l'exécution
  15. 15
    DéfiChoisir une extension tenant compte de l'observation
  16. 16
    RécapitulatifVérifier le plan par rapport à son objectif

Agents logiques et planification : QCM

50 Questions Pratiques en 5 séries

Série 1 : Quantificateurs, liaisons et preuves du premier ordre10 Questions Pratiques

Question 1 sur 10

Dans Owns(Lea, Notebook), quel type d'expression est Notebook ?
  1. Un prédicat unaire
  2. Un terme constant
  3. Une variable liée
  4. Une formule atomique
Afficher la réponseMasquer la réponse
Réponse : B
Notebook nomme un objet et est donc un terme constant. Owns(Lea, Notebook) est la formule atomique qui possède une valeur de vérité. Confondre l'objet nommé avec un prédicat reviendrait à traiter un argument comme une propriété et changerait son rôle syntaxique ici.

Question 2 sur 10

Comment exprimer « Seuls les travailleurs certifiés utilisent la machine » ?
  1. ∀x (Certified(x) ⇒ Operates(x))
  2. ∃x (Certified(x) ∧ Operates(x))
  3. ∀x (Certified(x) ∧ Operates(x))
  4. ∀x (Operates(x) ⇒ Certified(x))
Afficher la réponseMasquer la réponse
Réponse : D
Utiliser la machine suffit à imposer la certification : l'implication va donc de Operates vers Certified. Le sens inverse obligerait chaque travailleur certifié à l'utiliser, ce que la phrase n'affirme pas. La règle universelle n'exige pas non plus qu'un utilisateur existe.

Question 3 sur 10

Un domaine ne contient que Ivo et Noor. Chacun aide l'autre et aucun ne s'aide lui-même. Quelles sont les valeurs de vérité respectives de ∀x ∃y Helps(x, y) et ∃y ∀x Helps(x, y) ?
  1. Vrai, faux
  2. Vrai, vrai
  3. Faux, vrai
  4. Faux, faux
Afficher la réponseMasquer la réponse
Réponse : A
Chaque personne aide quelqu'un, donc la première formule est vraie. Aucune personne unique n'est aidée par les deux : chaque candidat échoue parce qu'il ne s'aide pas lui-même. La seconde formule est donc fausse ; la différence essentielle est que le témoin peut ou non varier avec x.

Question 4 sur 10

Une règle autorise l'inscription après validation de tous les prérequis. La base de connaissances énumère deux prérequis pour Robotics et dit que Ken a validé les deux. En logique du premier ordre standard, pourquoi l'inscription peut-elle rester non démontrée ?
  1. Les deux noms de cours désignent forcément le même objet.
  2. Les règles universelles ne couvrent que les étudiants nommés.
  3. Un prérequis supplémentaire peut exister.
  4. Les faits ne peuvent pas figurer dans les règles quantifiées.
Afficher la réponseMasquer la réponse
Réponse : C
La logique du premier ordre standard laisse place à des prérequis supplémentaires au-delà des deux faits énumérés. Un modèle compatible peut inclure un troisième cours non validé, ce qui empêche d'établir la condition universelle. La possibilité que des noms de cours différents désignent le même objet ne crée pas à elle seule cette exigence manquante et n'invalide pas les validations indiquées.

Question 5 sur 10

Pourquoi l'unification sur des termes finis rejette-t-elle x avec ParentOf(x) ?
  1. Les termes ont des valeurs de vérité différentes.
  2. Le terme de remplacement contient x lui-même.
  3. Une variable ne peut pas correspondre à un terme fonctionnel.
  4. Les noms de fonctions doivent correspondre aux noms de constantes.
Afficher la réponseMasquer la réponse
Réponse : B
Le test d'occurrence détecte que x apparaîtrait dans son propre remplacement, ce qui exigerait un développement sans fin du terme fini. Les variables peuvent normalement correspondre à des termes fonctionnels : rejeter toute correspondance entre variable et fonction serait donc trop restrictif. C'est l'autoréférence dans cette correspondance qui provoque l'échec.

Question 6 sur 10

Quel est un unificateur le plus général de Reads(Nia, x) et Reads(y, Guide) ?
  1. {y/Nia, x/Guide}
  2. {y/Guide, x/Nia}
  3. {y/Nia, x/Nia}
  4. {y/Guide, x/Guide}
Afficher la réponseMasquer la réponse
Réponse : A
Les premiers arguments exigent que y devienne Nia, et les seconds que x devienne Guide. Cette substitution transforme les deux expressions en Reads(Nia, Guide). Inverser les liaisons ne fait pas correspondre les positions d'arguments correspondantes, même si les deux mêmes noms sont utilisés.

Question 7 sur 10

Un réseau contient Edge(U, V), Edge(V, W), Edge(W, X) et Edge(X, Y). Les règles sont Edge(a, b) ⇒ Path(a, b) et Edge(a, b) ∧ Path(b, c) ⇒ Path(a, c). Combien de faits Path distincts figurent dans sa clôture ?
  1. 6
  2. 9
  3. 16
  4. 10
Afficher la réponseMasquer la réponse
Réponse : D
Il y a quatre chemins directs, trois couvrant deux arcs, deux couvrant trois arcs et un couvrant quatre arcs : 10 au total. En compter neuf fait manquer Path(U, Y), qui nécessite toute la chaîne. Les règles ne déduisent que des chemins orientés ; elles ne créent ni chemins inverses ni chemins d'un nœud vers lui-même dans ce réseau sans cycle.

Question 8 sur 10

Comment skolémiser ∀p (Project(p) ⇒ ∃r Reviews(r, p)) ?
  1. ¬Project(p) ∨ Reviews(K, p)
  2. Project(p) ∧ Reviews(F(p), p)
  3. ¬Project(p) ∨ Reviews(F(p), p)
  4. ¬Project(p) ∨ Reviews(p, p)
Afficher la réponseMasquer la réponse
Réponse : C
Le témoin représentant la personne qui examine le projet est choisi dans la portée universelle de p : il peut donc dépendre du projet. Une nouvelle fonction F(p) préserve cette dépendance après l'élimination de l'implication. Une constante unique K imposerait la même personne pour chaque projet, ce qui est une exigence plus forte.

Question 9 sur 10

La base de connaissances contient ∀x (Device(x) ⇒ ∃y (Part(y, x) ∧ Metal(y))), ∀a ∀b (Part(a, b) ⇒ Component(a)), et Device(D7). Qu'en découle-t-il au sujet des composants métalliques ?
  1. Il existe au moins un composant métallique.
  2. Chaque composant est métallique.
  3. D7 est forcément lui-même un composant métallique.
  4. Un composant appartient à tous les appareils.
Afficher la réponseMasquer la réponse
Réponse : A
Device(D7) fournit un témoin F(D7) qui est à la fois Metal et Part de D7. La seconde règle fait de ce même témoin un Component, ce qui démontre ∃z (Metal(z) ∧ Component(z)). Les règles concernent les parties des appareils ; elles n'affirment pas que tous les composants, quels qu'ils soient, sont métalliques.

Question 10 sur 10

Les faits sont Assigned(Elin, Task1), Assigned(Omar, Task2), Needs(Task1, KitA) et Needs(Task2, KitB). Règle : Assigned(p, t) ∧ Needs(t, k) ⇒ Uses(p, k). Quel fait Uses en découle pour Elin ?
  1. Uses(Elin, KitB)
  2. Uses(Omar, KitA)
  3. Uses(Elin, Task1)
  4. Uses(Elin, KitA)
Afficher la réponseMasquer la réponse
Réponse : D
La mise en correspondance de Assigned pour Elin lie t à Task1 : Needs doit donc utiliser cette même liaison de tâche et fournit k = KitA. Appliquer la substitution complète donne Uses(Elin, KitA). Combiner l'affectation d'Elin avec le besoin de Task2 violerait la contrainte de variable partagée.
Série 2 : Des observations aux conclusions justifiées10 Questions Pratiques

Enregistre cette unité pour voir chaque réponse et t'entraîner sur chaque série.

Question 1 sur 10

Un robot vient de percevoir qu'un passage est bloqué. Quelle opération de la base de connaissances enregistre cette perception ?
  1. ASK
  2. Résolution
  3. TELL
  4. Unification
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 2 sur 10

Quelle est la valeur de vérité de P ⇒ Q lorsque P et Q sont toutes deux fausses ?
  1. Vrai
  2. Faux
  3. Inconnu
  4. Incohérent
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 3 sur 10

Une base de connaissances contient U ∨ V et ¬V. Qu'implique-t-elle logiquement au sujet de U ?
  1. U est fausse.
  2. U reste inconnue.
  3. La base n'a aucun modèle.
  4. U est vraie.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 4 sur 10

À partir de Tested et Tested ⇒ Approved, quelle conclusion le modus ponens permet-il de tirer ?
  1. ¬Approved
  2. Approved
  3. Approved ⇒ Tested
  4. ¬Tested
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 5 sur 10

Une règle de capteur est Alarm ⇔ (Heat ∨ Smoke). La base de connaissances enregistre ¬Alarm. Qu'en découle-t-il pour Heat et Smoke ?
  1. Les deux sont fausses.
  2. Smoke est inconnue.
  3. Heat est inconnue.
  4. Une seule est fausse.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 6 sur 10

Quelle forme normale conjonctive représente (M ∨ N) ⇒ R ?
  1. (¬M ∨ ¬N ∨ R)
  2. (M ∨ R) ∧ (N ∨ R)
  3. (¬M ∨ R) ∧ (¬N ∨ R)
  4. (¬R ∨ M) ∧ (¬R ∨ N)
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 7 sur 10

Les faits sont Input et Valid. Les règles sont Input ⇒ Parsed, Parsed ∧ Valid ⇒ Stored, et Stored ⇒ Logged. Quels nouveaux faits sont présents au point fixe du chaînage avant ?
  1. Parsed et Stored seulement
  2. Parsed, Stored et Logged
  3. Stored et Logged seulement
  4. Parsed et Logged seulement
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 8 sur 10

Avec X = vrai, que déduit la propagation unitaire de ¬X ∨ Y et ¬Y ∨ Z ?
  1. Y = faux et Z = vrai
  2. Y = vrai et Z = faux
  3. Y = faux et Z = faux
  4. Y = vrai et Z = vrai
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 9 sur 10

Une base de connaissances contient (¬L ∨ M), (¬M ∨ N) et L. On demande à un solveur SAT complet si N est une conséquence logique de la base. Que doit renvoyer son test par réfutation ?
  1. Satisfiable pour KB ∧ ¬N
  2. Insatisfiable pour KB ∧ N
  3. Insatisfiable pour KB ∧ ¬N
  4. Satisfiable pour KB ∧ ¬L
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 10 sur 10

Une base de connaissances contient J ∨ K, J ⇒ H, K ⇒ H et H ⇒ T. Que se passe-t-il lorsque la résolution vérifie si T en découle ?
  1. La négation de T mène à la clause vide.
  2. La négation de T laisse un modèle où J est vraie.
  3. La négation de T laisse un modèle où K est vraie.
  4. La négation de T laisse J et K inconnues.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Série 3 : Organiser les faits et modifier les états10 Questions Pratiques

Enregistre cette unité pour voir chaque réponse et t'entraîner sur chaque série.

Question 1 sur 10

Qu'est-ce qui fait de la décomposition d'une catégorie une partition ?
  1. Elle est disjointe mais peut omettre des membres.
  2. Elle est exhaustive mais peut comporter des recouvrements.
  3. Elle est transitive et non vide.
  4. Elle est disjointe et exhaustive.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 2 sur 10

Un graphe RDF ne contient aucune relation concernant le fabricant d'un appareil. Selon la sémantique du monde ouvert, quel est le statut de l'affirmation concernant le fabricant ?
  1. Fausse dans tous les modèles
  2. Inconnue d'après le graphe
  3. Vraie pour un fabricant non nommé
  4. Incohérente avec le graphe
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 3 sur 10

Une action a pour précondition Charged(R). Que doit-il être vrai d'avoir vérifié lorsque l'action est appliquée ?
  1. Charged(R) est vrai avant l'action.
  2. Charged(R) est ajouté par l'action.
  3. Charged(R) est supprimé par l'action.
  4. Charged(R) est vrai seulement après l'action.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 4 sur 10

La base de connaissances dit Scout ∈ Rovers, Rovers ⊂ Robots et Rovers ∈ ProductFamilies. Qu'en découle-t-il au sujet de Scout ?
  1. Scout ∈ ProductFamilies
  2. Scout ⊂ Robots
  3. Scout ∈ Robots
  4. Scout ⊂ ProductFamilies
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 5 sur 10

Un graphe contient (Uma, type, Engineer), (Uma, worksAt, EastLab), (Vik, type, Engineer) et (Vik, worksAt, WestLab). Quelle liaison correspond à la fois à (?p, type, Engineer) et à (?p, worksAt, WestLab) ?
  1. ?p = Uma
  2. ?p = Engineer
  3. ?p = WestLab
  4. ?p = Vik
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 6 sur 10

L'état s contient At(Bot, Gate), At(Crate, Store) et Charged(Bot). Un déplacement supprime At(Bot, Gate) et ajoute At(Bot, Store). Quel état obtient-on ?
  1. At(Bot, Gate), At(Bot, Store), At(Crate, Store), Charged(Bot)
  2. At(Bot, Store), At(Crate, Store), Charged(Bot)
  3. At(Bot, Store), At(Crate, Store), ¬Charged(Bot)
  4. At(Bot, Gate), At(Crate, Store), Charged(Bot)
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 7 sur 10

Le but est Packed ∧ Labeled. L'action Seal exige Filled et ajoute Packed sans autre effet. Quel but obtient-on par régression à travers Seal ?
  1. Packed ∧ Filled
  2. Filled seulement
  3. Filled ∧ Labeled
  4. Packed ∧ Labeled ∧ Filled
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 8 sur 10

Un lien causal va de Load à Deliver par Loaded. Unload pourrait supprimer Loaded entre les deux. Quel ordre protège le lien par promotion ?
  1. Deliver avant Unload
  2. Unload avant Load
  3. Load avant Unload avant Deliver
  4. Unload en même temps que Deliver
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 9 sur 10

Au départ, P est vrai et Q, R et S sont faux. A a pour précondition P, ajoute Q et supprime P. B a pour précondition Q et ajoute R. C a pour précondition P ∧ R et ajoute S. Aucune action ne rétablit P. Quelles sont les possibilités d'atteindre S dans le problème réel et après relaxation des effets négatifs ?
  1. Réel : accessible en 3 ; relaxé : accessible en 3.
  2. Réel : inaccessible ; relaxé : accessible en 3 actions.
  3. Réel : inaccessible ; relaxé : inaccessible.
  4. Réel : accessible en 2 ; relaxé : accessible en 2.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 10 sur 10

Un graphe indique Type(Sol, Analyst), Subclass(Analyst, Specialist) et Subclass(Specialist, Staff). Ses règles propagent les types par les liens de sous-classe. Un plongement prédit aussi Leads(Sol, Team). Que peut établir une inférence stricte ?
  1. Type(Sol, Staff) ainsi que Leads(Sol, Team)
  2. Type(Sol, Specialist), mais pas Type(Sol, Staff)
  3. Leads(Sol, Team), sans Type(Sol, Staff)
  4. Type(Sol, Staff), sans établir Leads(Sol, Team)
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Série 4 : Diagnostiquer des erreurs de raisonnement subtiles10 Questions Pratiques

Enregistre cette unité pour voir chaque réponse et t'entraîner sur chaque série.

Question 1 sur 10

Un solveur SAT complet renvoie une affectation satisfaisante. Qu'établit-elle au sujet de sa formule d'entrée ?
  1. La formule est satisfiable.
  2. La formule est valide.
  3. La formule est insatisfiable.
  4. Toute affectation la satisfait.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 2 sur 10

Un agent dans une grotte démontre qu'une case ne contient pas de puits, mais n'a aucune information sur la présence du wumpus dans cette case. Que peut-il conclure quant à la possibilité d'y entrer en sécurité ?
  1. La case est tout à fait sûre.
  2. La sécurité complète reste indéterminée.
  3. La case contient le wumpus.
  4. La base de connaissances est incohérente.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 3 sur 10

Un journal contient Failed ⇒ Alert et Alert. Pourquoi ces formules n'établissent-elles pas Failed ?
  1. Failed doit être fausse chaque fois qu'Alert est vraie.
  2. Une implication exige que ses deux membres soient vrais.
  3. Les deux formules ne peuvent pas être vraies ensemble.
  4. Alert peut être vraie alors que Failed est fausse.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 4 sur 10

Quelles clauses représentent ¬∀x (Sensor(x) ⇒ Working(x)) après skolémisation ?
  1. ¬Sensor(K) et Working(K), avec un nouveau K
  2. ¬Sensor(x) ∨ Working(x), universellement
  3. Sensor(K) et ¬Working(K), avec un nouveau K
  4. Sensor(F(x)) ∨ ¬Working(F(x)), universellement
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 5 sur 10

Un système de raisonnement par défaut conclut Flies(Rio) à partir de Bird(Rio). Plus tard, Penguin(Rio) active une exception plus spécifique selon laquelle Rio ne vole pas. Que doit-il advenir de la conclusion par défaut ?
  1. Retirer la conclusion selon laquelle Rio vole.
  2. Conserver les deux conclusions contradictoires.
  3. Supprimer Bird(Rio) pour conserver la conclusion sur le vol.
  4. Rejeter le fait Penguin ajouté plus tard.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 6 sur 10

Une formule contient U ∨ V, ¬U ∨ W, ¬V ∨ W, ¬W ∨ X et ¬X. Qu'établit une recherche DPLL complète ?
  1. Satisfiable avec U faux
  2. Satisfiable avec U vrai
  3. Insatisfiable
  4. Satisfiable avec V = W
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 7 sur 10

Un domaine non vide contient deux objets a et b. R contient exactement (a, a) et (b, b). Quelles sont les valeurs de vérité de ∀x ∃y R(x, y), ∃y ∀x R(x, y) et ∃x ∃y (R(x, y) ∧ ¬(x = y)) ?
  1. Vrai, vrai, faux
  2. Vrai, faux, faux
  3. Faux, faux, vrai
  4. Vrai, faux, vrai
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 8 sur 10

Deux clauses quantifiées indépendamment contiennent P(x, F(x)) et ¬P(G(y), z) ∨ Q(z). Après renommage des variables pour les distinguer, quelle clause obtient-on par résolution en faisant correspondre les littéraux P ?
  1. Q(F(G(y)))
  2. Q(G(F(y)))
  3. Q(F(F(y)))
  4. Q(G(G(y)))
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 9 sur 10

But : A ∧ ¬B. L'action Finish a pour précondition C, ajoute A et supprime B. Quelle condition pour l'état précédent la régression produit-elle ?
  1. C ∧ ¬B
  2. C ∧ A
  3. C ∧ A ∧ ¬B
  4. C
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 10 sur 10

Deux faits indépendants du but peuvent chacun être réalisés par une action, et les actions n'interfèrent pas. Un encodage SAT autorise les deux actions dans la même couche temporelle. Quel objectif le premier horizon satisfiable minimise-t-il ?
  1. Le nombre total d'actions
  2. La somme des durées des actions
  3. Le nombre de couches parallèles
  4. Le nombre de fluents du but
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Série 5 : Combiner représentation, inférence et planification10 Questions Pratiques

Enregistre cette unité pour voir chaque réponse et t'entraîner sur chaque série.

Question 1 sur 10

Quelle approche de planification décompose des tâches de haut niveau à l'aide d'une bibliothèque de méthodes fournie ?
  1. La vérification des modèles propositionnels
  2. La planification par réseaux de tâches hiérarchiques
  3. La recherche d'états avec relaxation des effets négatifs
  4. La recherche par résolution sans restriction
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 2 sur 10

Une base de connaissances en logique du premier ordre standard contient Tool(Drill), Tool(Driver) et Used(Drill). Elle ne contient aucune inégalité. Quel est le nombre minimal d'objets de type outil compatibles avec elle ?
  1. 0
  2. 2
  3. 3
  4. 1
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 3 sur 10

Une machine peut subir plusieurs réparations à des dates différentes et par des techniciens différents. Comment des triplets binaires ordinaires peuvent-ils distinguer chaque réparation et regrouper sa machine, son technicien et sa date ?
  1. Créer un nœud de réparation relié à sa machine, son technicien et sa date.
  2. Stocker les techniciens et les dates de chaque machine comme liens indépendants.
  3. Stocker les machines et les dates de chaque technicien comme liens indépendants.
  4. Remplacer les réparations par des liens non datés entre machines et techniciens.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 4 sur 10

La base de connaissances contient seulement S ∨ T, S ⇒ U et T ⇒ U. Que se passe-t-il avec un chaînage avant simple sur les clauses définies pour la requête U ?
  1. Il déduit S puis U.
  2. Il déduit T puis U.
  3. Il reste bloqué bien que U soit une conséquence logique.
  4. Il démontre ¬U à son point fixe.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 5 sur 10

Pour être admissible, Jo doit avoir validé tout prérequis Required(p, Build). Les faits sont Required(Logic, Build), Required(Code, Build), Passed(Jo, Logic), Passed(Jo, Code) et ¬(Logic = Code). Quelle contrainte supplémentaire sur la relation permet de démontrer la condition d'admissibilité en logique du premier ordre standard ?
  1. ∀p ((p = Logic ∨ p = Code) ⇒ Required(p, Build))
  2. ∀p (Required(p, Build) ⇒ Passed(Jo, Logic))
  3. ∃p (Required(p, Build) ∧ Passed(Jo, p))
  4. ∀p (Required(p, Build) ⇒ (p = Logic ∨ p = Code))
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 6 sur 10

Considère les clauses Prolog dans cet ordre : path(X, Z) :- path(X, Y), edge(Y, Z). puis path(X, Z) :- edge(X, Z). Fait : edge(m, n). Que se passe-t-il lors d'une recherche ordinaire en profondeur pour path(m, n) sans tabulation ?
  1. Elle boucle avant d'atteindre la preuve par l'arc direct.
  2. Elle renvoie immédiatement la preuve par l'arc direct.
  3. Elle échoue en un temps fini car la règle récursive échoue.
  4. Elle renvoie tous les chemins avant d'essayer la récursion.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 7 sur 10

Une base de connaissances contient A ⇔ (B ∨ C), ¬B et C ⇒ D. Implique-t-elle logiquement A ⇒ D, et pourquoi ?
  1. Non ; ¬B invalide la biconditionnelle.
  2. Non ; C peut être fausse lorsque A est fausse.
  3. Oui ; A avec ¬B impose C, puis D.
  4. Oui ; D est vraie dans tous les modèles de la base.
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 8 sur 10

Un robot commence à North avec une main libre ; un colis est à South. Le seul lien de déplacement relie North et South dans les deux sens. Go change l'emplacement, Pick exige d'être au même endroit que le colis et d'avoir une main libre, et Drop exige d'être au même endroit et de tenir le colis. Quel est le plan le plus court pour livrer le colis à North et terminer avec une main libre ?
  1. Aller au sud, Pick, Drop, aller au nord
  2. Aller au sud, Pick, aller au nord, Drop
  3. Pick, aller au sud, aller au nord, Drop
  4. Aller au sud, aller au nord, Pick, Drop
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 9 sur 10

Une tâche a pour but F ∧ G. Une action établit les deux sans précondition et à coût unitaire. Deux autres actions établissent séparément F et G à coût unitaire. Quels sont le coût optimal, le nombre de buts non satisfaits et la somme des coûts individuels des buts au départ, lorsqu'aucun des deux buts n'est vrai ?
  1. 1, 2, 2
  2. 2, 2, 2
  3. 1, 1, 1
  4. 2, 1, 2
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Question 10 sur 10

Un plan à ordre partiel contient MakeReady - Ready → Use et Use ≺ Clean. Reset supprime Ready. Quel nouvel ordre résout la menace de Reset de manière fiable sans créer de cycle ?
  1. MakeReady ≺ Reset ≺ Use
  2. MakeReady ≺ Reset ≺ Clean
  3. Reset ≺ Use ≺ MakeReady
  4. Use ≺ Reset
Afficher la réponseMasquer la réponse

Enregistre cette unité pour voir cette réponse.

Tu bloques sur ton propre exercice ? Aide aux Devoirs

Mots-Clés

102 Mots-Clés, chacun avec sa définition

A

ASK
ASK est l'opération qui demande une réponse découlant d'une base de connaissances, qu'elle soit déjà stockée ou obtenue par inférence.
L'agent demande par ASK si une case voisine est sûre avant de choisir son prochain déplacement.
Axiome
Un axiome est une formule fournie comme connaissance initiale, qu'une procédure d'inférence peut donc utiliser sans la déduire d'abord.
Pour un agent qui explore une grotte, la règle reliant les puits voisins aux brises est un axiome de sa base de connaissances.
Axiome d'état successeur
Un axiome d'état successeur définit la valeur suivante d'un fluent à partir des actions qui l'établissent et des conditions qui lui permettent de persister.
La flèche reste disponible à l'étape suivante exactement lorsqu'elle est disponible maintenant et que l'agent ne tire pas.
Axiome de complétion
Un axiome de complétion limite explicitement les possibilités d'une relation, permettant un raisonnement qu'une liste ouverte de faits ne permet pas.
Compléter la liste des prérequis d'un cours exclut des prérequis supplémentaires non validés pour l'inscription à ce cours.

B

Base de connaissances
Une base de connaissances est un ensemble de formules formelles qui enregistre les informations initiales d'un agent et ses observations ultérieures.
Un robot combine ses règles d'itinéraire stockées avec un obstacle nouvellement observé pour décider où il peut se déplacer.
Biconditionnelle
Une biconditionnelle est une formule P ⇔ Q qui exige que P et Q aient la même valeur de vérité, affirmant ainsi les deux implications.
Une biconditionnelle reliant les brises aux puits voisins permet à un agent de raisonner d'un puits voisin vers une brise et d'une brise vers des puits.

C

CDCL
CDCL est une approche SAT qui apprend des clauses à partir des conflits et les utilise avec le retour arrière non chronologique et une propagation efficace pour guider la recherche.
Une clause apprise exclut une combinaison conflictuelle afin que les branches ultérieures évitent de la répéter.
Chaînage arrière
Le chaînage arrière part d'une requête, recherche les règles qui pourraient l'établir et démontre récursivement les prémisses nécessaires.
Pour établir Released, le système de raisonnement recherche une règle dont la tête est Released et vérifie son corps.
Chaînage avant
Le chaînage avant déduit des conséquences à partir de faits connus en déclenchant les règles dont les prémisses sont vraies, jusqu'à atteindre une requête ou un point fixe.
Un système de surveillance part des faits fournis par les capteurs et déduit chaque alarme déclenchée par ses règles stockées.
Clause
Une clause est une disjonction de littéraux ; un seul littéral forme une clause unitaire, et la clause vide représente le faux.
La clause ¬A ∨ B devient une exigence unitaire sur B lorsque la valeur vrai a été attribuée à A.
Clause de Horn
Une clause de Horn contient au plus un littéral positif ; elle comprend donc les clauses définies et les clauses qui ne contiennent que des littéraux négatifs.
La clause de but ¬A ∨ ¬B exclut que A et B soient vraies ensemble sans affirmer de tête positive.
Clause définie
Une clause définie contient exactement un littéral positif et peut exprimer un fait ou une règle avec une conjonction de prémisses et une seule tête.
La clause ¬A ∨ ¬B ∨ C peut se lire comme la règle A ∧ B ⇒ C pour le chaînage.
Complétude
La complétude signifie qu'une procédure peut déduire toute conclusion qui est une conséquence logique des prémisses dans le cadre logique indiqué.
Des règles correctes peuvent néanmoins être incomplètes si les opérations disponibles ne permettent pas de construire une formule qui est une conséquence logique.
Conséquence logique
Une conclusion est une conséquence logique lorsqu'elle est vraie dans tout modèle satisfaisant les prémisses : aucun contre-exemple compatible n'existe alors.
A ∨ B associé à ¬A implique logiquement B, car chaque affectation restante rend B vraie.
Contre-modèle
Un contre-modèle à une conséquence logique est un modèle où toutes les prémisses sont vraies mais où la conclusion proposée est fausse.
P faux et Q vrai réfute l'affirmation selon laquelle P ⇒ Q associé à Q implique logiquement P.
Correction
La correction signifie qu'une procédure d'inférence ne déduit que des conclusions qui découlent de ses prémisses selon la sémantique considérée.
Une règle de preuve correcte ne transforme jamais des prémisses vraies en une conclusion fausse dans un même modèle.

D

Datalog
Datalog utilise des clauses définies sans fonctions : un ensemble fini de constantes ne permet donc qu'un nombre fini de faits clos possibles.
Des règles d'accessibilité sur une liste finie de lieux nommés atteignent finalement un point fixe par chaînage avant.
Domaine PDDL
Un domaine PDDL déclare des prédicats et des schémas d'action réutilisables, tandis qu'un problème fournit des objets particuliers, des faits initiaux et des buts.
Un même domaine de livraison peut servir à des problèmes comportant différents robots, colis et emplacements reliés.
DPLL
DPLL est une procédure complète de recherche SAT qui combine le branchement en profondeur et le retour arrière avec une évaluation anticipée et des affectations imposées.
Lorsque la propagation unitaire ne progresse plus, DPLL choisit un symbole non affecté et explore ses valeurs de vérité.

E

Encodage de Tseitin
Un encodage de Tseitin introduit des symboles auxiliaires pour les sous-formules afin de créer une forme normale conjonctive de petite taille tout en préservant l'existence éventuelle d'une solution.
Un solveur SAT peut utiliser les clauses encodées sans développer chaque disjonction sur chaque conjonction.
Ensemble de support
La stratégie de l'ensemble de support limite la résolution aux étapes utilisant la négation de la requête ou une clause qui en est déduite, le reste de la base étant satisfiable.
Un démonstrateur se concentre sur les clauses liées à la requête au lieu d'appliquer la résolution à des clauses initiales sans rapport.
Exclusion mutuelle
Un lien d'exclusion mutuelle dans un graphe de planification marque une paire d'actions ou de fluents qui ne peuvent pas se produire ou être vrais ensemble au niveau correspondant.
Des effets d'action mutuellement exclusifs peuvent empêcher de considérer comme simultanées deux actions par ailleurs disponibles.

F

Factorisation
La factorisation fusionne les littéraux d'une clause qui peuvent être unifiés, ce qui la simplifie et contribue à rendre complète la résolution du premier ordre avec unification.
Deux littéraux positifs P(x) et P(Ada) dans une clause peuvent être fusionnés avec la substitution x = Ada.
Fluent
Un fluent est un fait dont la vérité peut changer au cours du temps, comme l'emplacement d'un robot ou le fait qu'il tienne encore un colis.
Les indices temporels distinguent l'emplacement du robot avant un déplacement de son emplacement après celui-ci.
Forme normale conjonctive
La forme normale conjonctive est une conjonction de clauses qui rend une formule adaptée à l'inférence sur les clauses et à la résolution de problèmes SAT.
La formule (A ∨ B) ∧ (¬A ∨ C) est en forme normale conjonctive, car chaque membre de la conjonction est une disjonction de littéraux.

H

Heuristique admissible
Une heuristique admissible ne dépasse jamais le coût restant optimal réel ; elle fournit ainsi une estimation minorante pour la recherche informée.
La longueur du plan optimal après relaxation des effets négatifs est un minorant, car la tâche réelle conserve davantage de contraintes.
Hypothèse d'unicité des noms
L'hypothèse d'unicité des noms exige que des symboles de constante distincts désignent des objets distincts, contrairement à la sémantique standard du premier ordre sans cette restriction.
Avec l'hypothèse d'unicité des noms, Atlas et Beowulf comptent comme des livres différents sans fait d'inégalité supplémentaire.
Hypothèse de clôture du domaine
L'hypothèse de clôture du domaine affirme que le domaine ne contient aucun objet au-delà de ceux que désignent les noms disponibles.
Une base de données finie peut limiter son monde aux objets énumérés au lieu d'autoriser des livres non nommés.
Hypothèse du monde clos
L'hypothèse du monde clos traite les affirmations atomiques non établies par les connaissances disponibles comme fausses dans l'application modélisée.
Un état de planification de base énumère les fluents vrais et traite comme faux un fait de localisation omis.
Hypothèse du monde ouvert
L'hypothèse du monde ouvert laisse un fait non énoncé indéterminé, car les connaissances disponibles peuvent omettre des faits vrais sur le monde.
Un graphe sans arc concernant le conjoint d'une personne laisse cette relation inconnue au lieu de la déclarer fausse.

I

Implication
Une implication est une formule P ⇒ Q qui n'est fausse que lorsque P est vraie et Q fausse ; elle n'affirme pas de relation causale.
Une prémisse fausse rend une implication vraie même lorsque sa conclusion est également fausse.
Ingénierie des connaissances
L'ingénierie des connaissances consiste à concevoir, alimenter, interroger et tester une base de connaissances afin de répondre aux questions d'un domaine.
Une base de connaissances sur les inscriptions nécessite un vocabulaire et des règles reliant les prérequis validés au droit de s'inscrire à un cours.
Instanciation existentielle
L'instanciation existentielle introduit une nouvelle constante comme témoin d'une formule existentielle, tout en préservant la satisfiabilité des connaissances.
Une couronne peut être nommée par une nouvelle constante sans affirmer qu'elle est un objet particulier déjà nommé.
Instanciation universelle
L'instanciation universelle remplace une variable quantifiée universellement par un terme clos afin de déduire une instance particulière d'une affirmation générale.
Une règle sur tous les chats peut être instanciée pour Tom ou pour l'objet désigné par MotherOf(Tom).
Interprétation
Une interprétation associe des objets aux constantes, des relations aux prédicats et des fonctions totales aux symboles de fonction dans un modèle du premier ordre.
Deux noms de constantes peuvent désigner le même objet, sauf si une inégalité impose une contrainte au modèle.

L

Liaison de variable
Une liaison de variable associe une variable de requête à un terme, qui désigne un objet satisfaisant la requête selon la base de connaissances.
Une requête CanEnroll(x, AI) peut renvoyer la liaison x = Mia au lieu d'une simple réponse par oui ou non.
Lien causal
Un lien causal indique qu'une action établit une précondition nécessaire à une autre, en protégeant ce fait entre les deux actions.
Un lien de Pick vers Drop pour Holding(R, Box) est menacé par une action intermédiaire qui supprime la possession du colis.
Liste d'ajout
La liste d'ajout d'une action contient les fluents positifs rendus vrais par son exécution, qui sont insérés dans l'état de planification obtenu.
Un déplacement vers l'étagère ajoute At(R, Shelf) tout en laissant inchangés les faits sans rapport concernant le colis.
Liste de suppression
La liste de suppression d'une action contient les fluents positifs retirés par son exécution, ce qui empêche leur persistance dans l'état obtenu.
Un déplacement supprime l'ancien emplacement pour que le robot ne reste pas à la fois au quai et à l'étagère.
Littéral
Un littéral est une proposition atomique ou sa négation ; il constitue l'affirmation positive ou négative de base utilisée dans une clause.
P₁₂ et ¬P₁₂ sont tous deux des littéraux, tandis que P₁₂ ∧ P₂₁ combine deux littéraux dans une formule plus grande.
Logique de description
Une logique de description définit des catégories dans un langage formel restreint conçu pour permettre une classification décidable et des raisonnements associés.
Un système de raisonnement sur une ontologie peut vérifier si une catégorie définie est nécessairement incluse dans une autre.
Logique du premier ordre
La logique du premier ordre exprime des affirmations sur des objets, des relations et des fonctions à l'aide de quantificateurs, ce qui permet d'établir des règles réutilisables sur un domaine.
Une seule règle quantifiée sur la brise peut décrire toutes les cases sans devoir nommer une règle propositionnelle distincte pour chacune.

M

Maintien de la vérité
Un système de maintien de la vérité suit les justifications des croyances afin que les conclusions qui en dépendent puissent être révisées lorsque leurs hypothèses changent.
Retirer la justification d'une croyance par défaut selon laquelle un oiseau vole retire aussi les conclusions qui dépendaient uniquement de cette croyance.
Menace
Une menace est une action qui pourrait nier la condition d'un lien causal si elle était ordonnée entre l'action qui l'établit et celle qui l'utilise.
Placer une action menaçante avant celle qui établit la condition ou après celle qui l'utilise protège la condition nécessaire.
Modèle
Un modèle propositionnel attribue des valeurs de vérité aux symboles de proposition, ce qui permet d'évaluer la vérité des formules composées.
Avec A faux et B vrai, le modèle satisfait A ∨ B tout en rendant A ∧ B fausse.
Modus ponens
Le modus ponens est la règle d'inférence qui déduit une conclusion Q d'une implication P ⇒ Q et de la prémisse correspondante P.
Ready et Ready ⇒ Checked permettent à la preuve d'ajouter Checked comme nouvelle formule justifiée.
Modus ponens généralisé
Le modus ponens généralisé applique une règle après qu'une substitution cohérente unique a fait correspondre toutes ses prémisses atomiques aux faits disponibles.
Owns(Ada, Atlas) et Book(Atlas) correspondent ensemble à la règle selon laquelle les personnes qui possèdent des livres sont des lecteurs.
Monotonie
La monotonie signifie que l'ajout de prémisses préserve les conclusions déjà établies comme conséquences logiques, même s'il peut en ajouter d'autres.
Ajouter une nouvelle perception à une base de connaissances classique ne retire pas les conséquences logiques qu'elle établissait auparavant.

N

Négation par l'échec
La négation par l'échec traite une tentative de preuve qui échoue en un temps fini comme un succès pour un but nié ; elle dépend du comportement effectif de la recherche.
En Prolog, \+ p attend le résultat de la tentative de preuve de p ; une boucle sans fin ne compte pas comme un échec.
Niveau des connaissances
Le niveau des connaissances décrit un agent par ses croyances et ses buts, indépendamment du code et des structures de données qui les implémentent.
Dire qu'un robot sait que le pont est fermé décrit son niveau des connaissances, pas son format de stockage.

O

Ontologie
Une ontologie spécifie formellement les catégories, les relations et les hypothèses d'un domaine afin que les faits puissent être interprétés de manière cohérente.
Une ontologie des équipements distingue la catégorie d'un appareil des composants qui en font partie.
Ordonnancement
L'ordonnancement attribue des heures de début en respectant les durées des actions, les exigences d'ordre et les contraintes sur les ressources partagées.
Deux tâches nécessitant le même robot peuvent exiger des heures de début différentes même si les deux sont logiquement réalisables.
OWL
OWL est un langage d'ontologie du Web qui offre des définitions plus riches de classes et de propriétés, avec des langages de logique de description pour le raisonnement formel.
L'ontologie d'un graphe peut utiliser des définitions OWL pour classer des individus au-delà des affirmations de type explicites.

P

Paramodulation
La paramodulation est une règle d'inférence sur l'égalité qui remplace une occurrence à l'aide d'une équation tout en déduisant des conséquences de clauses.
Un démonstrateur de théorèmes doit raisonner sur l'égalité pour relier un objet nommé à un terme fonctionnel qui lui est égal.
Partition
Une partition divise une catégorie parente en catégories disjointes qui couvrent ensemble chaque membre, sans recouvrement ni omission.
Les entiers négatifs, zéro et les entiers positifs forment une partition de l'ensemble des entiers.
Plan
Un plan est une séquence d'actions dont les exécutions applicables font passer un état initial de planification à un état satisfaisant le but exigé.
Aller jusqu'à un colis, le prendre, se rendre à destination et le déposer forme un plan de livraison.
Plan contingent
Un plan contingent comporte des branches selon les observations, ce qui permet des actions différentes selon ce qu'un agent apprend pendant l'exécution.
Une inspection peut mener à des branches d'action distinctes pour un passage ouvert et pour un passage bloqué.
Planification classique
La planification classique trouve des actions qui atteignent un but à partir d'un état connu, à l'aide d'un modèle du monde totalement observable, déterministe et discret.
Un plan de livraison applique des actions modélisées de déplacement et de manipulation jusqu'à ce que le colis atteigne l'emplacement exigé.
Planification par réseaux de tâches hiérarchiques
La planification par réseaux de tâches hiérarchiques décompose les tâches de haut niveau à l'aide de méthodes propres au domaine jusqu'à ce que les tâches restantes soient des actions élémentaires exécutables.
Une méthode de livraison décompose la tâche en déplacements, prise du colis, nouveau déplacement et dépôt.
Plongement de graphe de connaissances
Un plongement de graphe de connaissances représente les entités et les relations par des vecteurs appris qui attribuent des scores aux liens possibles pour une prédiction statistique.
Un score élevé peut suggérer une relation manquante, mais une conséquence logique fondée sur des règles nécessite une justification logique distincte.
Point fixe
Un point fixe est atteint lorsque l'application des règles d'inférence ne produit aucun nouveau fait au-delà de ceux déjà présents dans la base de connaissances.
Une fois toutes les paires de nœuds accessibles déduites, un nouveau tour des règles d'accessibilité n'ajoute rien.
Portée d'un quantificateur
La portée d'un quantificateur est l'expression sur laquelle il agit ; elle détermine les occurrences de variables qu'il lie et la façon dont les témoins peuvent dépendre d'autres variables.
Dans ∀x ∃y Helps(y, x), l'aidant y peut varier selon l'objet choisi pour x.
Précondition
Une précondition est une condition qui doit être vraie avant qu'une action puisse être appliquée dans un état de planification ; ce n'est pas un résultat créé par l'action.
Pick exige une main libre ; inscrire ce fait uniquement comme effet ne vérifierait pas sa disponibilité au préalable.
Prédicat
Un prédicat nomme une relation sur les objets du domaine et forme une formule atomique lorsqu'on lui fournit les termes requis comme arguments.
Owns(Ada, Atlas) applique le prédicat binaire Owns à deux termes désignant la personne qui possède l'objet et l'objet lui-même.
Problème du cadre
Le problème du cadre consiste à représenter ce qui reste inchangé lorsqu'une action ne modifie que certains aspects d'un monde.
Déplacer un robot devrait préserver sa possession d'une flèche sans nécessiter une règle distincte pour chaque action.
Progression
La progression effectue une recherche vers l'avant à partir de l'état initial de planification en appliquant les actions dont les préconditions sont vraies dans chaque état atteint.
Un planificateur qui recherche vers l'avant considère les déplacements autorisés depuis le quai, même lorsque certains n'aident pas à livrer le colis.
Propagation unitaire
La propagation unitaire attribue à répétition la valeur vrai au seul littéral qui peut encore rendre une clause vraie, permettant à ces affectations imposées d'en déclencher d'autres.
Après que A est devenu vrai, ¬A ∨ B impose B vrai, ce qui peut à son tour réduire une autre clause.

Q

Quantificateur existentiel
Le quantificateur existentiel ∃ exige qu'au moins un objet du domaine rende vraie la formule dans sa portée ; cet objet est un témoin.
La formule ∃x (Cat(x) ∧ Black(x)) nécessite un objet qui soit à la fois un chat et noir.
Quantificateur universel
Le quantificateur universel ∀ exige que la formule dans sa portée soit vraie pour chaque objet du domaine pouvant être attribué à sa variable liée.
La formule ∀x (Cat(x) ⇒ Mammal(x)) vérifie l'implication aussi bien pour les chats que pour les autres objets.

R

Raisonnement par défaut
Le raisonnement par défaut tire des conclusions normalement valables tout en permettant de les retirer lorsque des informations plus spécifiques révèlent une exception.
Une conclusion par défaut selon laquelle un oiseau vole peut être retirée après que le système a appris que l'oiseau est un manchot.
RDF
RDF est un modèle de données du Web qui exprime les graphes sous forme de triplets avec des IRI, des nœuds anonymes et des valeurs littérales aux positions où ils sont autorisés.
Un jeu de données peut relier une entité identifiée par un IRI à une année littérale par une propriété nommée.
RDFS
RDFS ajoute à RDF des classes, des relations de sous-classe ainsi que le domaine et l'ensemble des valeurs des propriétés, permettant des inférences de base fondées sur un schéma.
Un lien indiquant que Researcher est une sous-classe de Scientist permet de déduire le type Scientist pour un chercheur connu.
Réfutation
Une réfutation déduit une contradiction des prémisses et de la négation d'une requête, ce qui établit que la requête découle des prémisses.
La preuve de Q ajoute temporairement ¬Q et s'achève lorsque la résolution de Q et ¬Q donne la clause vide.
Régression de buts
La régression de buts raisonne à rebours à partir des conditions du but en remplaçant les littéraux qu'une action réalise par les préconditions nécessaires avant cette action.
Effectuer la régression d'un but de livraison à travers Drop crée des exigences : le robot doit tenir le colis à destination.
Réification
La réification représente une propriété, une catégorie ou une relation comme un objet afin que d'autres faits puissent y faire directement référence.
Représenter Red comme un objet permet à une requête de demander si deux objets ont la même couleur.
Relaxation des effets négatifs
La relaxation des effets négatifs retire les effets négatifs d'une tâche de planification dont les préconditions et les buts sont positifs, de sorte que les faits établis persistent.
L'emplacement initial d'un robot reste vrai dans la tâche relaxée même après son déplacement vers un autre emplacement.
Renommage des variables
Le renommage des variables modifie les noms des variables dans des formules indépendantes avant de les combiner, afin d'éviter le partage accidentel de liaisons locales.
Deux règles qui utilisent localement x doivent recevoir des noms de variables distincts avant une étape de résolution ou de chaînage.
Réseau de Rete
Un réseau de Rete conserve les correspondances partielles des règles entre les mises à jour, ce qui réduit le travail de mise en correspondance répété dans les systèmes guidés par des faits changeants.
Un moteur de règles réutilise une correspondance stockée pour une prémisse lorsqu'un nouveau fait satisfait une autre prémisse.
Résolution
La résolution déduit une nouvelle clause en retirant une paire de littéraux complémentaires de deux clauses et en conservant les littéraux restants.
La résolution de A ∨ C avec ¬A ∨ D donne C ∨ D, que tout modèle des clauses parentes doit satisfaire.
Résolution d'entités
La résolution d'entités identifie les enregistrements ou les identifiants qui désignent une même entité réelle, ce qui aide à relier les faits entre sources de données.
Deux jeux de données peuvent utiliser des identifiants différents pour un même laboratoire et nécessiter une correspondance vérifiée.

S

SAT
Le problème SAT consiste à déterminer s'il existe une affectation de valeurs de vérité qui satisfait une formule propositionnelle, généralement représentée en forme normale conjonctive.
Un solveur renvoie une affectation satisfaisante ou, lorsque sa recherche complète exclut toutes les affectations, indique que la formule est insatisfiable.
Satisfiabilité
La satisfiabilité est la propriété d'une formule qui est vraie dans au moins un modèle, même si elle est fausse dans d'autres modèles.
La formule A ∧ ¬B est satisfiable, car l'affectation A vrai et B faux la rend vraie.
SATPlan
SATPlan encode une tâche de planification à un horizon choisi comme problème SAT, avec des clauses pour les faits initiaux, les buts, les préconditions et les transitions d'état.
Un horizon de trois étapes insatisfiable laisse ouverte la possibilité qu'un plan de quatre étapes existe pour la tâche.
Schéma d'action
Un schéma d'action décrit une action paramétrée par les conditions exigées avant son exécution et les effets produits après celle-ci.
Instancier le schéma Pick avec des objets précis sélectionne un robot, un colis et un emplacement afin de vérifier son applicabilité.
Semi-décidabilité
La semi-décidabilité signifie qu'une procédure peut finir par confirmer toute instance positive, mais peut s'exécuter indéfiniment sur une instance négative.
Un démonstrateur complet du premier ordre trouve les requêtes qui sont des conséquences logiques, mais peut ne jamais s'arrêter sur une requête qui n'en est pas une.
Skolémisation
La skolémisation remplace les variables existentielles par de nouvelles constantes ou fonctions qui reflètent leurs dépendances universelles, tout en préservant la satisfiabilité.
Un enseignant choisi dans la portée de ∀c peut être représenté par T(c), ce qui permet à différents cours d'avoir différents enseignants.
SPARQL
SPARQL est un langage de requête qui recherche des correspondances avec des motifs de graphe RDF pour renvoyer des liaisons, des graphes ou d'autres résultats selon la forme de la requête.
Utiliser le même ?p dans deux motifs exige qu'une seule entité satisfasse les deux relations de la requête.
Subsomption
La subsomption retire une clause déjà couverte par une clause plus générale, ce qui évite un travail redondant sans perdre ses contraintes.
La clause générale P(x) rend inutile la clause plus faible P(Ana) ∨ Q(Bo) dans l'ensemble de clauses.
Substitution
Une substitution associe des variables à des termes et remplace leurs occurrences de manière cohérente dans toute une expression ou une étape d'inférence.
Appliquer {x/Ada, y/Atlas} à Owns(x, y) produit la formule close Owns(Ada, Atlas).
Symbole pur
Un symbole pur apparaît avec une seule polarité dans toutes les clauses actuellement non satisfaites, ce qui permet de lui attribuer une valeur satisfaisant ces occurrences.
Si E n'apparaît que positivement parmi les clauses restantes, poser E vrai préserve la satisfiabilité.

T

Tabulation
La tabulation stocke les réponses aux sous-buts répétés et gère leurs dépendances afin que les recherches récursives puissent réutiliser les résultats qui apparaissent.
Une requête d'accessibilité avec tabulation peut gérer un cycle sans répéter indéfiniment les mêmes appels.
Taxonomie
Une taxonomie organise les catégories par des relations de sous-classe, ce qui permet aux propriétés des catégories plus générales de s'appliquer à leurs membres.
Les ordinateurs portables héritent des propriétés des ordinateurs parce que Laptops est une sous-classe de Computers dans la hiérarchie.
TELL
TELL est l'opération qui ajoute une formule à une base de connaissances, comme une perception ou l'enregistrement de l'action choisie.
Après avoir perçu l'absence de brise, l'agent communique par TELL la perception négative correspondante à sa base de connaissances.
Terme
Un terme est une expression qui désigne un objet, construite à partir d'une constante, d'une variable ou d'une fonction appliquée à d'autres termes.
MotherOf(Ada) est un terme, tandis que Person(Ada) est une affirmation possédant une valeur de vérité.
Terme clos
Un terme clos est un terme sans variable ; il désigne donc un objet sans nécessiter d'affectation de variable dans le modèle.
MotherOf(Ada) est clos bien qu'il soit une expression composée, tandis que MotherOf(x) contient une variable.
Test d'occurrence
Le test d'occurrence rejette une liaison qui placerait une variable dans son propre terme de remplacement, afin de préserver l'unification sur des termes finis.
La tentative d'unifier x avec MotherOf(x) échoue, car aucun terme fini ne peut satisfaire ce remplacement.
Triplet
Un triplet enregistre une relation orientée entre sujet, prédicat et objet ; il constitue la structure de base d'un fait dans un graphe de connaissances RDF.
Le triplet (Ada, worksAt, Lab) relie la personne à son lieu de travail par la relation worksAt.

U

Unificateur le plus général
Un unificateur le plus général rend des expressions identiques sans spécialisation inutile, les autres unificateurs pouvant être obtenus par substitution supplémentaire.
Lier x à z laisse plus de liberté que lier les deux variables à une constante particulière existante.
Unification
L'unification trouve une substitution qui rend deux expressions syntaxiquement identiques tout en respectant les contraintes des variables répétées.
Knows(Ana, x) et Knows(y, Bo) s'unifient en associant y à Ana et x à Bo.

V

Validité
La validité est la propriété d'une formule qui est vraie dans tout modèle, indépendamment d'une base de connaissances ou d'une observation particulière.
P ∨ ¬P est valide, car chaque affectation rend vrai l'un des deux termes de sa disjonction.
Variable libre
Une variable libre est une occurrence de variable qui n'est pas liée par un quantificateur ; l'évaluation de la formule exige donc qu'une valeur lui soit attribuée.
Dans ∀x Likes(x, y), x est liée, mais la valeur attribuée à y influe encore sur l'évaluation de la formule.

W

WalkSAT
WalkSAT effectue une recherche parmi des affectations complètes en inversant des variables de clauses non satisfaites, avec un mélange de choix aléatoires et de réparations guidées.
Une exécution de WalkSAT qui atteint sa limite d'inversions laisse la satisfiabilité indéterminée, même si la formule possède un modèle.

À propos de cette unité

Par StudeliSignaler une erreur

Crée ton propre Matériel d'Étude

Transforme tes notes, diapos et documents en Guides d'Étude, Questions Pratiques, Flashcards et 6 autres outils.

Commencer