Recherche:"La Logique Contextuelle"

Une page de Wikiversité.
Sauter à la navigation Sauter à la recherche


Nuvola apps edu mathematics-p.svg
La Logique Contextuelle

Toute réaction ou commentaire par rapport à ce travail de recherche sont les bienvenus sur cette page de discussion.

Cette page fait partie de l’espace recherche de la Wikiversité et dépend de la faculté Mathématiques. Pour plus d'informations, consultez le portail de l'espace recherche ou rendez-vous sur l'index des travaux de recherche par faculté.


Introduction[modifier | modifier le wikicode]

Proposée par A. Kohler[1], la logique contextuelle Lc est un système formel dont l'objectif est la modélisation et l'exploitation des connaissances par un agent intelligent. Elle propose une sémantique non monotone qui respecte les règles monotones de production syntaxique de la logique propositionnelle. Se plaçant dans le cadre de la révision des croyances, elle permet la représentation de connaissances avec exception, incohérentes ou aléthiques.

Le terme a aussi été employé par N. Gauvrit pour nommer un modèle de logique locale[2] permettant d'élucider certains paradoxes de la logique naturelle, et par Y. Gauthier pour proposer une analogie avec les logiques internes[3].

Dans la suite de cet article, nous utiliserons les connecteurs de négation, de disjonction, de conjonction, d'implication, et d'équivalence, notés respectivement ¬, ∨, ∧, → et ↔.

Formalisme de la logique contextuelle[modifier | modifier le wikicode]

Le langage[modifier | modifier le wikicode]

Le langage de Lc est celui de la logique propositionnelle Lp. Les connecteurs de négation, de disjonction, de conjonction, d'implication, et d'équivalence, sont notés respectivement ¬, ∨, ∧, → et ↔. Lc utilise les symboles classiques de parenthèses.

L'ensemble infini dénombrable des propositions atomiques p est noté PLc. Il est décomposé en une infinité d'ensembles infinis dénombrables disjoints de propositions atomiques, notés PLci, pour i un nombre entier. i est appelé le rang de p dans Lc. p est noté pi.

Par convention, PLc0 est considéré comme étant l'ensemble des propositions atomiques de PLp.

La syntaxe[modifier | modifier le wikicode]

La syntaxe de Lc est celle de la logique propositionnelle. La règle d'inférence valide de Lc est celle de Lp, notée ⊢Lp.

Une formule contextuelle est une formule de la forme pi+1fi :

  • pi+1PLci+1,
  • fi est une formule construite sur des propositions atomiques appartenant à ⋃ j=0...i PLcj. On dit que fi décrit pi+1.

L'ensemble des formules contextuelles, noté WLc, forme l'ensemble des formules biens formées de Lc.

Lc propose des définitions formelles pour les termes connaissance, contexte, hypothèse et croyance :

  • une connaissance dans Lc est un ensemble non vide de formules contextuelles,
  • un contexte dans Lc est une conjonction finie de propositions atomiques appartenant à PLci, pour i > 0. Le rang d'un contexte est le plus haut rang des propositions atomiques qui participent à sa composition. Le rang du contexte vide est égal à 0,
  • une hypothèse dans Lc est une formule,
  • une croyance dans Lc est une formule.

On déduit facilement :

  • un ensemble de connaissances est toujours syntaxiquement cohérent,
  • une connaissance est l'expression d'une relation entre un contexte et une croyance. On dit de cette croyance qu'elle décrit ce contexte,

La sémantique[modifier | modifier le wikicode]

La sémantique de Lc étend la sémantique de Lp en définissant une fonction de méta interprétation des croyances. Soient :

  • E un ensemble de connaissances,
  • H une hypothèse,
  • {c0 , ... , ci}, pour i un nombre entiers, un ensemble de contextes dits de référence,
  • {f0 , ... , fi} pour chaque fj la description du cj concerné dans E.

Une croyance c est dite :

  • fausse dans {E , H , c0 , ... , ci} si, et seulement si, il existe 0ji tel que {H , fi}⊢Lp ¬ c,
    • si c est un contexte, il est dit faux minimal si tout contexte qu'il inclue strictement est vrai,
  • vraie dans {E , H , c0 , ... , ci} si, et seulement si, il existe 0ji tel que {H , fi}⊢Lp c,
    • si c est un contexte, il est dit vrai maximal s'il existe au moins un contexte faux dans lequel il est inclus,
    • si c est un contexte, il est dit vrai crédible s'il n'a aucune intersection avec un contexte faux minimal,
  • non interprétable dans {E , H , c0 , ... , ci} sinon.

La sémantique de Lc profite des propriétés de Lp pour garantir son adéquation et sa complétude.

Les contextes de référence[modifier | modifier le wikicode]

La sémantique de Lc ne propose pas de solution pour déterminer, parmi l'ensemble des contextes possibles, ceux qu'il faut retenir comme contextes de référence. Cette absence est volontaire : selon Lc, ce choix, déterminant, est lié aux propriétés du raisonnement qu'on souhaite modéliser.

La définition retenue pour présenter l'exemple au paragraphe précédent exploite l'idée que les propositions de rang i expriment une méta connaissance sur les contextes de rang inférieur. Un contexte crédible privilégie donc les propositions du plus haut rang i, puis les propositions du rang i-1, etc., jusqu'au rang 1 (un contexte ne contenant pas de proposition atomique de rang 0). Il se construit de la manière suivante :

Soit i le plus haut des rangs dans l'ensemble des connaissances :

  • ci est tel que :
    • il n'est pas un contexte faux dans {∅ , EH , ∅},
    • il ne contient que des propositions de rang i,
    • son extension par une proposition atomique de rang i le rend faux dans {∅ , EH , ∅},
  • pour 2jicj-1 = cjcj-1' tel que :
    • cj-1 n'est pas un contexte faux dans {∅ , EH , ∅},
    • cj-1' ne contient que des propositions de rang j-1,
    • il n'est pas en intersection avec un contexte faux minimal dans {∅ , EHcj , ∅} qui ne contient que des propositions de rang j-1.

Cette définition est constructive, et les contextes peuvent être construits indépendamment les uns des autres. Cette remarque est utile pour optimiser des algorithmes de production de preuve, en cherchant à construire uniquement le contexte crédible répondant à la question posée.

La non monotonie et la production par induction[modifier | modifier le wikicode]

La logique contextuelle bénéficie d'une syntaxe monotone et d'une sémantique non monotone. Cela lui permet de contourner le dogme de l'adéquation (tout ce qui est produit est vrai) et de la complétude (tout ce qui est vrai est produit) et le principe d'explosion (d'une contradiction il possible de produire tout et son contraire). Cette propriété lui ouvre les portes des règles par induction, jusqu'à présent interdite aux langages formels. Parmi les règles possibles, celle proposée par la logique contextuelle est :

  • Soient f, g et h deux formules et A et B deux pensées telles que Af → g et Bfh. Alors est produite la nouvelle pensée C telle que Cg ↔ h.

Application de Lc sur un petit exemple[modifier | modifier le wikicode]

L'exemple utilisé dans ce paragraphe est un cas d'école. Bien qu'apparemment trivial, il illustre de nombreuses difficultés qu'on rencontre en révision des croyances. Son propos est de modéliser la connaissance que, si la plupart des oiseaux volent, certains ne volent pas. L'objectif est alors d'identifier les mécanismes qui permettent de déduire :

  • que Tweety, qui est une autruche, ne vole pas,
  • mais que Titi, dont on sait seulement qu'il est un oiseau, vole.

Le principal enjeu est d'obtenir ces conclusions en faisant l'économie de l'analyse exhaustive des exceptions (Titi n'est pas une autruche, n'est pas un pingouin, n'est pas un cagou, n'a pas une aile cassée, etc.), qui entraînerait une explosion des temps de calcul. Pour cela, plaçons-nous dans le cadre de la syntaxe de la logique propositionnelle, et considérons un ensemble initial contenant les connaissances suivantes :

  • A → ( Oiseau → Voler )
  • B → ( Oiseau → Herbivore )
  • C → ( Oie → Oiseau )
  • D → ( Autruche → Oiseau )
  • E → ( Vautour → Oiseau )

La première formule, par exemple, se lit : Le signe A exprime que les oiseaux volent. Par convention de langage, appelons :

  • une expression de la forme A ∧ B ∧ C un contexte. Nous le noterons {A,B,C},
  • une formule produite par un contexte une croyance. Par exemple, la croyance Les oies volent est produite par le contexte {A,C},
  • une expression comme "contextecroyance" une connaissance.

Une difficulté qu'on rencontre dans les formalismes logiques est de trouver un modèle qui satisfasse l'ensemble des connaissances. La modélisation retenue ci-dessus permet d'un trouver un immédiatement : il suffit de considérer que A, B, C, D et E sont faux. Un modèle possible pour notre exemple est donc {¬A,¬B,¬C,¬D,¬E}.

Supposons toutefois que le contexte {A,B,C,D,E} soit vrai. On en déduit la croyance que les oies, les autruches et les vautours sont des oiseaux, herbivores, qui volent. Ce n'est pas tout à fait vrai. Notamment, les autruches ne volent pas. Modélisons cette nouvelle information :

  • A → ( Oiseau → Voler )
  • B → ( Oiseau → Herbivore )
  • C → ( Oie → Oiseau )
  • D → ( Autruche → Oiseau )
  • E → ( Vautour → Oiseau )
  • F → ( Autruche → ¬ Voler )

Le contexte {A,D,F} produit la croyance que les autruches volent et ne volent pas - donc, selon les règles syntaxiques de la logique propositionnelle, qu'elles ne sont pas (¬ Autruche). Faisons toutefois l'hypothèse que Autruche est vrai. On distingue alors 2 contextes d'interprétations :

  • {A,D,F} : A, D et F ne sont pas interprétables. En effet, {Autruche,A,D,F} produit ¬ Autruche, ce qui est incohérent avec l'hypothèse. Donc au moins une des propositions A, D ou F est fausse, mais la base de connaissances ne contient pas d'information permettant de choisir laquelle (ou lesquelles),
  • {B,C,E} est, par contre, un contexte crédible : il ne produit pas d'incohérence, et il n'a pas d'intersection avec {A,D,F} - donc toutes les croyances qu'il génère (par exemple que les oies sont des herbivores) sont crédibles.

L'incohérence relevée sur {A,D,F} provient de A : en réalité, tous les oiseaux ne volent pas. Pour modéliser cette nouvelle information, exprimons le fait que A est à la fois vrai et faux (certains oiseaux volent, et certains oiseaux ne volent pas) :

  • A → ( Oiseau → Voler )
  • B → ( Oiseau → Herbivore )
  • C → ( Oie → Oiseau )
  • D → ( Autruche → Oiseau )
  • E → ( Vautour → Oiseau )
  • F → ( Autruche → ¬ Voler )
  • A' → ( A )
  • B' → ( ¬ A )

A' et B' expriment une méta connaissance (dans le sens d'une connaissance sur la connaissance) sur A et, indirectement, sur D et F. Par convention de langage, nous dirons que :

  • les propositions Oiseau, Voler, Herbivore, Oie, Autruche, etc., sont de rang 0,
  • les propositions A, B, C, D, E et F sont de rang 1 : elles expriment une connaissance sur les propositions de rang 0,
  • les propositions A' et B' sont de rang 2 : elles expriment une connaissance sur les propositions de rang 0 ou 1.

A' et B' suggèrent l'existence de 2 contextes d'interprétations, distinguant lorsque A est vrai et lorsque A est faux. Restons sur l'hypothèse que Autruche est vrai :

  • si A' est vrai, alors A est vrai, B' est faux et {D,F} n'est pas interprétable. Donc le contexte crédible est {A',A,B,C,E},
  • si B' est vrai, alors A' et A sont faux, {D,F} est interprétable (parce que A est faux, ce qui résout l'incohérence), et le contexte crédible est {B',B,C,D,E,F}.

Chacun de ces contextes produit des croyances :

  • {A',A,B,C,E} : que les oies et les vautours sont des oiseaux qui volent et sont herbivores par exemple,
  • {B',B,C,D,E,F} : que les autruches sont des oiseaux herbivores qui ne volent pas.

Le cumul des croyances issues de chacun des 2 contextes forment un tout cohérent, et donne toutes les information qu'il est possible de produire de cet ensemble de connaissances. Par contre, les croyances issues de la conjonction formelle des 2 contextes généreraient une incohérence (Autruche et ¬ Autruche par exemple).

Ce petit exemple présente des applications d'apprentissage (de nouvelles informations sont intégrées dans la base initiale), de règles avec exception (certains oiseaux ne volent pas), d'informations aléthiques (modélisation de méta connaissances) et d'informations paradoxales (A est vrai et faux). Il illustre les mécanismes de modélisation et de raisonnement de la logique contextuelle :

  • les connaissances n'expriment pas un fait (les oiseaux volent, par exemple), mais la connaissance d'avoir exprimé ce fait (les oiseaux volent) par une formule (Oiseau → Voler),
  • les croyances ne s'interprètent pas en fonction de l'ensemble des connaissances, mais en fonction de contextes distincts qui sont des sous ensembles des connaissances - et l'ensemble des croyances produites est constitué de sous-ensembles non joints de croyances.

Perspectives[modifier | modifier le wikicode]

En mathématiques[modifier | modifier le wikicode]

Il est généralement admis que la logique classique est insuffisante pour modéliser et exploiter des connaissances qui sortent d'un cadre rigoureux, comme les mathématiques par exemple. De nombreux formalismes logiques ont été développés pour y pallier. Nous avons constaté que Lc enrichit la capacité d'expression du langage tout en respectant la syntaxe de la logique propositionnelle, et permet de modéliser des informations avec exception, incohérentes ou modales. La complétude n'a pas été prouvée, mais des premières pistes d'études ont été explorées[4]. La logique contextuelle ouvre donc les recherches sur l'existence d'un formalisme fédérateur de l'ensemble des langages logiques.

En Intelligence Artificielle[modifier | modifier le wikicode]

Les langages formels sont confrontés à deux difficultés, qu'il leur faut résoudre simultanément : garantir la cohérence syntaxique des connaissances, et identifier les mécanismes permettant son exploitation pour répondre aux stimulus auxquels sont confrontés les agents intelligents (pour agir, répondre ou décider). En garantissant la cohérence syntaxique de la base de connaissances, Lc s'affranchit du besoin de contrôle syntaxique. Elle est en ce sens un bon candidat pour tester les modèles cognitifs, en permettant de concentrer les études sur l'exploitation sémantique de l'information[5].

En philosophie[modifier | modifier le wikicode]

En assujettissant toute interprétation sémantique à un contexte, Lc décorrèle les mécaniques du raisonnement (les trois principes d'Aristote) des mécaniques de la pensée (l'interprétation sémantique), contournant ainsi le dogme de l'adéquation et de la complétude. Le formalisme obtenu présente quelques singularités comportementales :

  • une connaissance n'affirme pas la certitude d'un fait, mais uniquement la conscience (à défaut d'un autre terme) d'une relation entre ce fait supposé et sa transcription dans le langage,
  • l'ensemble des croyances est composé de sous-ensembles de croyances non joints - et non joignables,
  • la modélisation des paradoxes est possible, et est nécessaire au processus d'interprétation - qui lui-même s'adosse pourtant à une mécanique de production syntaxique totalement aristotélicienne,
  • le raisonnement ne peut se faire sans confrontation à des faits ou à des hypothèses - sans hypothèse, rien est,
  • le doute (à défaut d'un autre terme) est intrinsèque au langage - tout est faux est un modèle acceptable de toute base de connaissances contextuelles.

Ces comportements requestionnent l'idée selon laquelle limiter la pensée à ce qui est logique l'appauvrirait.

Références[modifier | modifier le wikicode]

  1. Arnaud Kohler, « Proposition d'une structure de représentation de la connaissance pour les raisonnements non classiques », {{{périodique}}}, Aix-Marseille 1, 1995-01-01 [texte intégral (page consultée le 2019-03-03)]
  2. Nicolas Gauvrit, « La logique contextuelle », {{{périodique}}}, Paris, EHESS, 2001-01-01 [texte intégral (page consultée le 2019-03-03)]
  3. Yvon Gauthier, De la logique interne [lire en ligne] 
  4. « La logique contextuelle et les autres formalismes », sur www.pacariane.com (consulté le 4 mars 2019)
  5. « La logique contextuelle et l'Intelligence Artificielle », sur www.pacariane.com (consulté le 4 mars 2019)