Logique et Résolution de Problèmes-2 ( Alain LECOMTE) Logiques non classiques et systèmes...

Post on 03-Apr-2015

105 views 1 download

Transcript of Logique et Résolution de Problèmes-2 ( Alain LECOMTE) Logiques non classiques et systèmes...

Logique et Résolution de Problèmes-2

(Alain LECOMTE)

Logiques non classiques et systèmes multi-agents

Logique classique et logiques non classiques

Nombreux sont les problèmes qu’on ne sait pas résoudre dans le cadre classique

1. Le cadre classique est purement «extensionnel »

2. Le cadre classique est «bien ordonné»

L’extensionnalité• Le cadre classique est extensionnel:• Théorème d’extensionnalité:• Soit une formule complexe de logique des prédicats du

premier ordre, soit une sous-formule de et soit une formule. Si et sont tautologiquement équivalentes, alors, soit ’ la formule obtenue à partir de en remplaçant par , et ’ sont tautologiquement équivalentes.

• De même: soient deux termes t et t’ ayant la même dénotation, alors si contient t et si ’ est obtenue à partir de par remplacement de t par t’, alors et ’ sont tautologiquement équivalentes.

exemples

= xy ((z a(x, z) b(z, y)) r(x, y))– on a : a(x, z) b(z, y) a(x, z) b(z, y)– donc:

• si ’ = xy ((a(x, z) b(z, y)) r(x, y)) ’

• « le nombre de planètes est égal à 9 »– le carré de 3 est égal à 9– le carré de 3 est égal au nombre de planètes

(substituabilité)

Contextes épistémiques

• soit K un opérateur « savoir que » tel que Kip = « l’agent i sait que p »

• même si ’, on peut avoir (Ki Ki’)

• exemple : : « 2+2 = 4 »

’ : « par tout point extérieur à une droite passe une parallèle à cette droite »

Contextes modaux

• Soit «  » un opérateur de nécessité tel que p = « nécessairement p »

• Soit contenant un terme t et soit ’ obtenue en remplaçant dans t par un terme t’ tel que t = t’ soit vraie, alors il se peut que et ’ ne soient pas équivalents

• par exemple:– «le nombre de planètes = 9 » : « le nombre de planètes du système solaire est

égal à 9 » (9 est égal à 9) est vrai (une « vérité analytique ») est faux (c’est un « fait contingent »)

W. V. O. Quine

• si substituabilité: l’occurrence remplacée est dite « purement référentielle »

• sinon: contextes référentiellement opaques

• les contextes modaux et les contextes épistémiques sont référentiellement opaques

La circularité• Le cadre classique est « bien ordonné »• Stratification des types :

• Cf. Russell, 1902, le paradoxe de l’ensemble des ensembles qui ne se contiennent pas eux-mêmes, ou bien aussi : du barbier

• Un prédicat ne s’applique pas à lui-même ()?• x x ?

• La logique classique est « prédicative » au sens où les arguments doivent toujours pouvoir être évalués avant que ne s’applique à eux un prédicat donné

• saisons = {printemps, été, automne, hiver, saisons} n’a pas de sens

• Pourtant… cela représente le flux des saisons jusqu’à la fin des temps…

Circularité (suite)

• Si on entend par « livre » le contenu informatif qu’un livre contient, le catalogue de la bibliothèque est un livre de la bibliothèque (donc il doit se répertorier lui-même)

• Si un tableau existait qui représentât la totalité du monde, il devrait se représenter lui-même

• On serait condamné à la partialité? (modèles partiels)

paradoxe de Conway• 5 enfants jouent, à qui on a demandé de surtout ne pas se salir,

mais 3 d’entre eux ont reçu sans s’en rendre compte de la boue sur le front. On suppose qu’ils sont très intelligents (!) et ne répondent que quand on leur pose une question.

• Le père arrive et dit une première fois : « au moins l’un de vous a de la boue sur le front, est-ce que chacun de vous peut me dire s’il a de la boue sur le front? »

• Ils répondent tous « non », évidemment…• Le père redit exactement la même chose… même réponse• Puis le père redit encore une fois la même chose… et là, chaque

enfant sali est capable de donner la bonne réponse• Pourquoi?

Paradoxe de Conway (solution)

• Par récurrence sur le nombre k d’enfants ayant de la boue sur le front

• k = 1 : l’enfant qui a de la boue voit bien que les autres n’en ont pas, il en déduit que c’est lui qui s’est sali

• Hypothèse de récurrence : s’il y a k enfants salis, alors chaque enfant sali donne la bonne réponse à la kème formulation de la question

• Induction: imaginons qu’il y ait k+1 enfants avec de la boue sur le front, si à la kème formulation de la question, tout le monde répond toujours « non », c’est, d’après l’hypothèse de récurrence que le nombre d’enfants ayant de la boue sur le front est supérieur à k. Comme chaque enfant sal voit bien qu’il y en a exactement k autres que lui qui ont également de la boue sur le front, il en déduit que lui aussi a de la boue sur le front.

Pourquoi ce paradoxe a-t-il un lien avec la circularité?

• Ce qui est bizarre :– Le fait que répéter plusieurs fois de suite la même

information… change la situation!– Imaginons k>1 : en ce cas, chaque enfant sait qu’au

moins un enfant a de la boue sur le front, on pourrait dire : « inutile donc de le leur dire », or le fait de dire cette information change les choses…

– Quel est donc le statut de cette information qui est dite ?

Information partagée• En la disant, l’information est rendue publique, elle devient

partagée…• Autre exemple : jouer aux cartes avec jeu à découvert et jouer aux

cartes avec jeu caché mais en trichant et en regardant le jeu de son voisin…

• Premier cas: le joueur A connaît le jeu du joueur B mais le joueur B le sait et le joueur A sait que le joueur B sait qu’il le connaît, et ainsi de suite!– L’information est publique, ou partagée

(le joueur A sait que le joueur B sait que le joueur A connaît son jeu etc.)

• Deuxième cas: le joueur B ne sait pas que le joueur A connaît son jeu et le joueur A sait que le joueur B ne sait pas qu’il connaît son jeu– L’information est privée

Information partagée (2)

• Comment représenter l’information partagée?• Supposons que A, B et C acquièrent à partir

d’un évènement e la connaissance partagée d’un fait , alors on a simultanément:– e |= (l’évènement e est tel que soit vrai)– e |= A sait e (l’évènement e est tel que A sait que e)– e |= B sait e id– e |= C sait e id

• On peut donc caractériser un évènement minimal e comme le plus petit supportant tous ces faits, d’un point de vue ensembliste:

• e = {, A sait e, B sait e, C sait e }

• Ce qui donne une structure circulaire

Information partagée (3)

e = {, A sait e, B sait e, C sait e }e = {, A sait {, A sait e, B sait e, C sait e },

B sait e, C sait e }e = {, A sait {, A sait e, B sait e, C sait e },

B sait {, A sait e, B sait e, C sait e }, C sait {, A sait e, B sait e, C sait e } }

etc.

Information partagée (4)

e

A sait B sait C sait

Un domaine d’applications privilégié :les systèmes multi-agents

• Un système multi-agents = « un système dans lequel des agents artificiels opèrent collectivement et de façon décentralisée pour accomplir une tâche »

• Un agent:– Agit de manière autonome– Interagit avec d’autres– Anticipe et réagit de manière flexible à son

environnement– Apprend de ses expériences et s’adapte à son

environnement

SMA (suite)

• Pas de système central de contrôle

• Données et informations décentralisées

• Fonctionnement asynchrone (attend qu’une tâche soit finie pour en commencer une autre)

applications

• Simulation de phénomènes complexes– Biologie cellulaire– Éthologie– Vie artificielle– Sociologie?– Sciences politiques (politique internationale)

• Résolution de problème– Intelligence Artificielle Distribuée

• Conception de programmes– Génie logiciel– Jeux vidéo

Plus pratiques…

• Robots (cf. robots nettoyeurs)• Contrôle aérien• Satellites artificiels (autonomie)• Processus industriels• Gestion économique• Systèmes et réseaux• Interfaces homme – machine• EIAHD• Internet, e-commerce

IHM

• The idea is to move away from the direct manipulation paradigm that has dominated for so long

• Agents sit over applications, watching, learning, and eventually doing things without being told – taking the initiative

• (MIT Media Lab)

one view

• The agent answers the phone, recognises the callers, disturbs you when appropriate, and may even tell a white lie on your behalf. The same agent is well trained in timing, versed in finding opportune moments, and respectful of idiosyncrasies

• N. Negroponte, ‘Being Digital’, 1995

Pourquoi la logique?

• Modéliser un systèmes d’agents est difficile• On a besoin de le faire: un système doit « fonctionner »,

c’est-à-dire ne pas avoir de bugs…• Il y a bug si, par exemple, il y a deadlock:

– Une action A nécessite une action B qui elle-même nécessite l’action A

– Ou bien un but non-A ne peut être atteint que par le biais d’une action B qui entraîne souvent A

des incohérences peuvent apparaître, qui paralysent le système.

– Il faut des outils pour analyser ces incohérences, voire proposer des solutions qui les évitent

Pourquoi la logique? (2)

• on utilise des formules de logique des prédicats du premier ordre pour symboliser des actions ou des situations (cf. robots nettoyeurs)

• Les agents sont nécessairement amenés à raisonner sur les données qui leur sont fournies

• On est amené nécessairement à attribuer aux agents des « états », qui sont comme des états mentaux ou des états cognitifs

pourquoi la logique (3)– Un agent peut croire en la vérité d’une certaine situation– Un agent peut savoir qu’il en est ainsi (parce qu’il l’a appris)– Un agent a des buts et des intentions– De multiples agents entre eux peuvent avoir une connaissance

partagée, n’agir que lorsqu’ils ont acquis cette connaissance commune

– Certaines situations qui se produisent peuvent être nécessaires ou contingentes, si elles sont nécessaires, elles sont le cas quoiqu’il arrive, si elles sont contingentes, ce n’est que dans certains cas

– Des actions peuvent être, dans certaines situations, interdites, permises ou obligatoires

– Et surtout le temps intervient: une action A ne peut commencer que lorsqu’une action B est terminée etc.

Logique modale

• Ces points font intervenir la logique modale, dite encore logique intensionnelle

• Logique aléthique :– Le nécessaire et le possible

• Logique déontique :– Le permis et l’interdit

• Logique épistémique :– Le su et le cru

• Autres variantes : – Logique volitive (le voulu et l’accidentel)– Logique des intentions

Exemples de questions (1)

• Est-ce que:– savoir que l’on sait p équivaut à savoir p?

(autrement dit, est-ce que tout savoir est conscient?)– Kp KKp ?– savoir p et savoir q revient à savoir p & q?– K(p & q) Kp & Kq ?– savoir p ou savoir q revient à savoir p q?– K(p q) Kp Kq ?

• Est-ce qu’on peut (doit) admettre que: x F(x) x F(x) ?– si tous les x ont nécessairement la propriété F, alors il

est nécessaire que tous les x aient la propriété F• si tous les commerçants de ma rue sont nécessairement en

faillite, est-ce qu’il est nécessaire que tous les habitants de ma rue soient en faillite?

• si de chaque étudiant, je sais qu’il peut réussir, est-ce que je sais que tous les étudiants peuvent réussir?

• (je peux ignorer que, au cours de la première phase, j’ai énuméré tous les étudiants)

Exemples de questions (2)

• Est-ce qu’on peut (doit) toujours admettre que:– de p et p q, déduire : q– Si p est nécessaire et si p implique q, alors q

est nécessaire– Mais si l’agent i a l’intention de rendre p vraie,

même si p implique q, il n’a pas forcément l’intention de rendre q vraie

Exemples de questions (3)

La reconnaissance des intentions

• C’est un problème très important– Exemple: modélisation du contrôle aérien

• Deviner les intentions du pilote en interaction avec d’autres pilotes, dans une phase d’approche

– Permet aussi d’anticiper sur la suite d’un dialogue homme – machine

– Repose sur l’hypothèse que les agents ont un comportement rationnel

– Les conséquences ne sont donc pas certaines, elles sont plausibles et révisables (non monotonie)

• L’agent A sait qu’il est interdit que p• L’agent A sait que si l’agent B croit qu’il

est possible que p, alors il lui est interdit de souhaiter que p soit impossible!

• Est-il possible de démontrer:– Kip Bi O p– Si un agent sait que quelque chose est

nécéssaire, alors il est impossible qu’il la croit obligatoire

Enchaînements de modalité

Autres problèmes

• Les difficultés de la modélisation font également intervenir :– Des problèmes de circularité

• L’action A requiert l’action B mais l’action B requiert l’action A (que faire?)

• L’action A est faite dans le but non-G mais elle entraîne souvent G

– Ex: on sait que si on va chez le dentiste, on a de grandes chances qu’il nous fasse mal aux dents, mais justement on va chez le dentiste parce qu’on a mal aux dents!

Autres problèmes (2)

– Des problèmes de périodicité dans des flux asynchrones

• Par exemple : un système est prêt à réagir tant qu’on n’a pas coupé son alimentation, il fonctionne selon une boucle infinie, par exemple:

– lire, évaluer, imprimer, lire, évaluer, imprimer etc.

quelque chose qu’on a envie d’écrire :

interpréter = {lire, évaluer, imprimer, interpréter}

interpréter

lire évaluer imprimer

1 2 3 4

Autres problèmes (3)

– Ici, on définit un ensemble (l’ensemble des actions effectuées par un interpréteur) en mettant comme élément de l’ensemble… l’ensemble lui-même (!), ce qui n’est pas permis en logique classique

Autres problèmes (4)

• Ceci est analogue au problème suivant :• Soit un système où existent un prédicat de vérité Vr et un

prédicat de fausseté Faux– Considérons dans ce système, la proposition p = Vr(p) (« p est

vraie ») : pour évaluer p, il faut évaluer p…• La proposition p dit d’elle-même qu’elle est vraie (« je suis vraie »)• p = Vr(Vr(Vr(Vr(p) …)))

– Pire : considérons dans ce système, la proposition p = Faux(p), p ne peut être vraie que si p est fausse et réciproquement…

• La proposition p dit d’elle-même qu’elle est fausse (je suis fausse) • p = Faux(Faux(Faux(p)…))• NB : Faux(Faux(p)) a même valeur de vérité que p

Faux(Faux(Faux(p))) a la valeur inverse et ainsi de suite

– Paradoxe du menteur

Théorie des hyper-ensembles

• La théorie des ensembles (Cantor, Zermelo – Fraenkel, Bernays…) est « bien fondée » :– Toute chaîne a1 a2 a3 … an s’arrête (ie. est

finie)

• Il y a la place pour une théorie des ensembles où de telles chaînes ne seraient pas nécessairement finies (cycliques ou infinies) :– Ce sont les « hyper-ensembles »

Un ensemble :

Un hyper-ensemble : A = {a, {a, b}, A}

A = {a, {a, b}, {{a}, b}, b}

sa représentation:

sa représentation:

a b

A

A

a b

Encore d’autres problèmes

• Planifier un ensemble d’actions, qui:– consomment des ressources,

• Ex: pour aller de A à B, un robot doit ouvrir une porte p. Il part de la situation <p fermée>, après son passage, <p fermée> n’existe plus

– échangent des données (quand elles arrivent en un endroit L’, elles ne sont plus en, leur lieu d’origine L!),

– produisent de nouvelles situations• Ex: le robot peut « produire » la situation nouvelle <p

ouverte>• Remarque: ces situations sont toujours transitoires

• Ceci pose donc le problème de la représentation de données transitoires

• La logique classique travaille sur des formules « éternelles »

• La logique linéaire travaille sur des formules qui représentent des ressources

• Logiques sous-structurelles• Ex: planification des actions d’un robot

Encore d’autres problèmes (2)

Une action

• Produit un changement dans le monde

• Utilise des ressources

• Se réalise par combinaison d’actions plus élémentaires

a

c

poser c sur la table

a

c

poser c sur la table

a

c

poser c sur la table

a

c

poser c sur la table

a c

poser c sur la table

ca

poser c sur la table

Passer de l’état du monde:• main vide (V)• c en haut de pile (donc accessible) (H(c))• c sur a (S(c, a))à• main vide• c en haut de pile• c en bas de pile (B(c))• a en haut de pile

décrit par le séquent :

V, H(c), S(c, a) VH(c)B(c)H(a)

Actions élémentaires

• prendre(x) : V, H(x), B(x) T(x)

• poser(x) :T(x) VH(x)B(x)

• oter(x, y) : V, H(x), S(x, y) T(x) H(y)

• mettre(x, y) : T(x), H(y) V, H(x) S(x, y)

preuveT(c) VH(c)B(c) H(a) H(a)------------------------------------------------- -

droiteT(c), H(a) VH(c)B(c)H(a)----------------------------------------------- -

gaucheV, H(c), S(c, a) T(c)H(a) T(c)H(a) VH(c)B(c)H(a)-----------------------------------------------------------------------------------coupureV, H(c), S(c, a) VH(c)B(c)H(a)

preuve

poser(c) H(a) H(a)-------------------------------------- -

droiteT(c), H(a) VH(c)B(c)H(a)------------------------------------ -

gaucheoter(c, a) T(c)H(a) VH(c)B(c)H(a)-----------------------------------------------------------------------------------coupureV, H(c), S(c, a) VH(c)B(c)H(a)

preuve action?

• On peut extraire une composition d’actions d’une preuve

• comme on peut extraire un programme d’une preuve (informatique théorique)

• Les agents peuvent aussi être dans des situations de:– Conflit ou rivalité– Coopération– Négociation

• En ce cas, la modélisation exige des éléments de Théorie des Jeux

Encore d’autres problèmes (3)

Qu’est-ce qu’un jeu?

• Un ensemble fini de joueurs, N = {1, …, n}

• Pour chaque joueur i : un ensemble Ai d’actions,

• Pour chaque joueur i : une relation <i qui est une relation de préférence sur A1xA2x…xAn, ou bien une fonction ui d’utilité

Exemple: les prisonniers

• Deux criminels en prison dans des cellules séparées et qui sont interrogés:– Si les deux avouent : tous les deux 3 ans de

prison,– Si l’un des deux avoue seulement : il est

libéré mais utilisé comme témoin contre l’autre, qui recevra 4 ans de prison

– Si aucun n’avoue: déclarés coupables d’un délit mineur, recevront 1 an de prison chacun

formalisation

• N = {1, 2}• A1 = A2 = {avouer, ne pas avouer}• u1 : (avouer, avouer) ---> 3

(avouer, ne pas avouer) ---> 0 (ne pas avouer, avouer) ---> 4 (ne pas avouer, ne pas avouer) ---> 1

• u2 : (avouer, avouer) ---> 3 (avouer, ne pas avouer) ---> 4 (ne pas avouer, avouer) ---> 0 (ne pas avouer, ne pas avouer) ---> 1

Matrice d’un jeu

(4, 0)

(1, 1)

(3, 3)

A

Bavoue

n’ avoue pas

avoue

n’ avoue pas

(0, 4)

Équilibre de Nash

• Soit a un choix fait par les n joueurs• Soit a[i : x] le choix fait par les n joueurs

identique à a sauf que i a finalement choisi l’action x

• a est un équilibre de Nash si et seulement si pour tout i, pour tout x de Ai, a i a[i : x]

• Autrement dit: pour chaque joueur i, le choix qu’il fait est préférable à tout autre choix qu’il pourrait faire

Retour aux deux prisonniers

• Le problème des deux prisonniers a-t-il un équilibre de Nash?– Si les deux choisissent d’avouer : chacun

pourrait faire un meilleur choix en n’avouant pas!

– Si les deux choisissent de ne pas avouer : chacun pourrait faire un meilleur choix en avouant!

– Si l’un avoue et l’autre non, celui qui n’avoue pas ferait un meilleur choix en avouant…

Solution minimax

• Ils peuvent par exemple choisir une solution qui minimise le risque maximum (minimax), autrement dit une solution où l’un choisit une action telle que son risque maximal quand il envisage tous les choix de l’autre soit minimum

• Ex: du point de vue de A, – S’il avoue, si B avoue, il fait 3 ans, si B n’avoue pas, il fait 0,

risque maximum : 3 ans– S’il n’avoue pas, si B avoue, il fait 4 ans, si B n’avoue pas, il fait

1 an, risque maximum : 4 ans– Donc il vaut mieux avouer

• Ex: du point de vue de B : même raisonnement,• D’où leur choix « rationnel » : (avouer, avouer), qui leur

coûte seulement une année de prison chacun

Jeux de dialogue (1)

• On peut appliquer la notion de jeu au dialogue :– Un dialogue « réel » comprend plusieurs

«sous-jeux »– Chaque jeu comporte des règles et donne

lieu à des « coups »– On passe d’un jeu à un autre quand certaines

conditions sont remplies

• Exemple:– Jeu question-réponse (recherche

d’information)• Condition d’entrée dans le jeu:

– WxKifxQ

– x veut savoir si Q

• Condition de sortie– KifxQ

– x sait si Q

• Règles d’inférence et de jeux

Jeux de dialogue (2)

Jeux de dialogue (3)d’après C. Delord, 1998

WxKifxQ & Bx(PQ) WxKifxP

Bx?yQBxWyKifyQ

KifxQWxKifxQ

?x P : « l’agent x a posé la question P »!x P : « l’agent x asserte P »

!yP Bx !yP si y asserte P alors x croit que y asserte P

Bx?yQ BxWyKifyQ si x croit que y a posé la question Q, alors x croit que y veut savoir si Q (mise à jour d’état mental)

WxKifxQ & Bx KifyQ ?xQ engendrement d’un « coup »

BxByP & Bx P Bx P mise à jour d’état mental

Bx P Bx P !xP maxime de sincérité

Exemple de dialogueAgent x – état mental coup1. Bx(pq), Bx(qr)2. ?

yr3. BxWyKifyr, WxKifxr4. ?xq5. 6. !?yq7. WxKifxp8. ?xp9. 10. !yp11. Bxp, Bxq12. !xq13. Bxr14. !xr

Agent y – état mental1. Byp, WyKifyr 2. 3. 4. 5. ByWxKifxq6. 7. 8. 9. ByWxKifxp10. 11. 12. 13. Byq 14. 15. Byr

Plan du cours

1. Introduction : les logiques non classiques et leurs applications

2. Logique modale1. Approche syntaxique

2. Approche sémantique

3. Hyper-ensembles et problèmes de circularité

4. Logiques sous-structurelles et planification de l’action

5. Jeux et formalisation du dialogue

6. Etudes d’applications