4. Communication dans les Systèmes Multi-Agents
4.2 Théorie des actes de langage

4.2.2 Interprétation logique de certains actes de langage

Même si la logique a vocation à manipuler des formules interprétables dans le registre du vrai et du faux, et si le niveau illocutoire est précisément celui où ce registre est inapproprié, il est néanmoins possible de faire des déductions rationnelles à partir des actes de langage. Par exemple, si :

A demande à B si C,

on peut en déduire que :

A ne sait pas si C est vrai ou non,
A désire savoir si C est vrai ou non,
A croit que B sait si C est vrai ou non.

Ce genre de déduction n'est pas accessible à la logique habituelle, qui ne porte que sur des objets d'un univers de discours ; ici, C n'est pas un objet, c'est une proposition. Or s'est développée depuis environ un siècle une logique dite modale, dont la vocation est précisément d'étiqueter les propositions afin de différencier celles qui sont vraies d'une façon contingente (la France compte 96 départements métropolitains) de celles qui sont nécessaires (7 est un nombre premier).

Croire et savoir

Il se trouve - Hintikka, semble-t-il, a été le premier à s'en apercevoir vers 1960 - que la notion de nécessité présente une homologie avec une idéalisation de la notion de savoir et de croyance, notions dont l'exemple ci-dessus montre l'importance dans notre cas (voir section 5.3.1 et chapitre 6 du cours " Représentation des connaissances pour les agents intelligents" link la UVF1!!!!). L'homologie se conçoit ainsi :

nécessité idéalisation du savoir idéalisation de la croyance
si p implique q est une nécessité, et que p est nécessaire, q aussi est nécessaire si je sais que p implique q, et si je sais que p, alors je sais que q si je crois que p implique q, et si je crois que p, alors je crois que q omniscience (axiome K)
ce qui est nécessaire est vrai ce que je sais est vrai - vérité(axiome T)
si p est nécessaire, ¬p n'est pas nécessaire - si je crois que p, je ne crois pas que ¬p non-contradiction (axiome D)
ce qui est nécessaire est nécessairement nécessaire si je sais quelque chose, je sais que je le sais si je crois quelque chose, je crois que je le crois introspection positive (axiome 4)
ce qui est possible est nécessairement possible si je ne sais pas quelque chose, je sais que je ne le sais pas si je ne crois pas quelque chose, je crois que je ne le crois pas td

La logique modale utilise les notations de la logique classique, auxquelles on adjoint :

  • un opérateur propositionnel unaire, noté ici o (c'est à dire que si p est une proposition, op est aussi une proposition),
  • des axiomes (ceux notés K, T, D, 4 et 5 dans le tableau ci-dessus, et que nous explicitons ci-dessous),
  • et une règle d'inférence, la nécessitation, qui s'exprime ainsi : si p est un théorème, op est aussi un théorème.
        (K) o(p => q) => (op => oq)
        (T) op => p
        (D) op => ¬o¬p
        (4) op => oop
        (5) ¬op => o¬op

Pour raisonner comme nous le souhaitons, nous introduirons des symboles modaux indexés : au lieu de op, nous écrirons KAp (respectivement BAp) pour affirmer "A sait que p" (respectivement "A croit que p"). K et B sont traditionnellement choisis car ce sont les initiales des mots anglais Know et Believe.

Dans ce langage, un énoncé tel que A ne sait pas si C est vrai ou non se traduit par :

¬KAC & ¬KAC

(ne pas traduire par : ¬KA (C & C) ! En effet, cette formule, qui signifie A ne sait pas que C et non C est vrai, est d'ailleurs un théorème : l'axiome T, caractéristique de la modalité "savoir", s'écrit : ¬KAp => p ; par substitution de p par (C & ¬C), il s'écrit KA(C & ¬C) => (C & ¬C) ; la logique modale inclut la logique classique dans laquelle ¬(C & ¬C) est un théorème, donc par contraposition, ¬KA(C & ¬C) est aussi un théorème)
et A croit que B sait si C est vrai ou non par :

BA(KBC | KB¬C)


Désirer

La troisième conclusion de notre exemple, A désire savoir si C est vrai ou non, introduit une nouvelle notion, celle du désir. Il se trouve que l'on peut également en donner une idéalisation sous forme d'une modalité, dont le fonctionnement est apparenté aux précédentes. L'axiome (K) par exemple, semble adapté à ce cas ; il exprime en effet que si je désire que p implique q, et si je désire que p soit vrai, alors je désire que q soit vrai. L'axiome (D) également : si je désire que p soit vrai, je ne désire pas que ¬p soit vrai. Une version des axiomes (4) et (5) exprimera l'introspection positive et négative des désirs : si je désire quelque chose, je sais que je le désire ; si je ne le désire pas, je sais que je ne le désire pas. Nous noterons DAp le fait que "A désire que p soit vrai".

Question: Écrire les formules correspondant aux versions des axiomes (K) (D) (4) (5) qui viennent d'être exposées




Cliquer ici pour voir la réponse.


Question: Écrire la formule correspondant à A désire savoir si C est vrai ou non




Cliquer ici pour voir la réponse.

 

Futur et passé

En tant qu'actes de langage, certaines énonciations accomplissent une modification de l'univers : certaines propositions sont vraies avant l'énonciation, d'autres le sont après. La logique modale a, depuis longtemps, cherché à représenter la temporalité. Elle utilise classiquement pour ce faire les modalités futur et passé (notées respectivement F et P) avec l'interprétation intuitive : Fp (resp. Pp) est vrai si p aura lieu dans un possible futur (resp. a eu lieu dans un passé).

On ajoute par dualité des opérateurs G (resp. H) : Gp est une abréviation de ¬F¬p (resp. Hp abrège ¬P¬p) et signifie donc "¬p n'aura lieu dans aucun futur" c'est-à-dire "p sera vrai dans tous les futurs possibles" (resp. "p a été vrai à tout moment passé"). Ces opérateurs s'apparentent à des opérateurs de nécessité, et on leur applique les axiomes (K) et (4) : (K) exprime que si p => q ainsi que p sont vrais dans tous les futurs possibles, alors q est lui aussi vrai dans tous les futurs possibles ; (4) exprime que si p est vrai dans tous les futurs possibles, alors le fait que p soit vrai dans tous les futurs possibles est, lui aussi, vrai dans tous les futurs possibles (et symétriquement pour le passé).

Le futur et le passé sont mutuellement liés par les axiomes :

p => GPp
(si p est vrai, alors il sera vrai dans tous les futurs que p a été vrai)

et, symétriquement,

p => HFp

(si p est vrai, alors il a été vrai à tout moment passé que p aurait lieu dans un possible futur).

Pour que la notion d'action ait un sens, il faut que l'on envisage des futurs différents selon qu'on l'exécute ou qu'on ne l'exécute pas : donc on suppose que la séquence des événements passés est unique, mais qu'il y a plusieurs évolutions futures possibles. L'unicité du passé s'exprime par l'axiome :

Pp & Pq ==> (P(p & Pq) | P(p & q) | P(Pp & q))
(si p a eu lieu et q a eu lieu, de trois choses l'une :
  • (p & Pq) a été vrai dans le passé : au moment où p a été vrai, q avait déjà eu lieu
  • (p & q) a été vrai dans le passé : ils ont été vrais au même moment
  • (Pp & q) a été vrai dans le passé : au moment où q a été vrai, p avait déjà eu lieu)

Actions

Deux opérateurs modaux Fait et Faisable permettent de raisonner sur des actions elles-mêmes. La formule Fait(a,p) signifie "l'action dénotée par a vient juste d'être accomplie, avant quoi p était vrai", et la formule Faisable(a,p), "l'action dénotée par a est réalisable, et si on l'exécute, p sera vrai". Ces nouveaux opérateurs obéissent à certains des axiomes déjà envisagés, par exemple (D):

a Fait (a,p) => ¬Fait (a,¬p)
a Faisable (a,p) => ¬Faisable (a,¬p)

Ils sont liés aux opérateurs temporels, par exemple par :

Gp <=> a ¬Faisable(a,¬p)
(si p est vrai dans tous les futurs possibles, alors aucune action ne peut rendre p faux)

Ils présentent d'ailleurs une certaine analogie avec le fonctionnement de ces opérateurs : on trouve ainsi un analogue de l'axiome p => GPp :

p => a ¬Faisable(a, ¬Fait(a,p))
(si p est vrai aucune action a n'a pour effet de rendre Fait(a,p) faux, car ceci signifie qu'ou bien a ne vient pas d'être accomplie (or elle l'a été) ou bien p était auparavant faux (or p était vrai))

et de l'axiome p => HFp qui s'écrit
:

p => a ¬Fait(a, ¬Faisable(a,p))
(si p est vrai aucune action a qui vient d'être accomplie n'est telle qu'auparavant Faisable(a,p) était faux, car ceci signifie qu'ou bien a n'était pas réalisable (or elle a été accomplie) ou bien elle rend p faux (or p est vrai))

Les actions peuvent se succéder : si on note, comme souvent dans les langages de programmation, par a;b la succession des actions a et b, on a :

Faisable (a;b,p) <=> Faisable (a, Faisable(b,p))
(la séquence a;b est réalisable et au terme de celle-ci, p est vrai, si et seulement si l'action a est réalisable, et lorsqu'elle est accomplie, l'action b est réalisable et rend p vrai)

Fait (a;b,p) <=> Fait (b, Fait(a,p))
(la séquence a;b vient juste d'être accomplie et auparavant p était vrai, si et seulement si l'action b vient d'être accomplie avant quoi l'action a venait d'être accomplie, avant laquelle p était vrai)


Beaucoup d'autres propriétés des actions et de leurs relations avec les autres modalités ont été développées (voir dans les références citées en Bibliographie).

<< Section précédente Table de matières Section suivante >>

Politechnica University of Bucharest - 2002