next up previous contents
Next: Interrogation d'un passant par Up: Exemples de dialogue Previous: Exemples de dialogue

Premier exemple

Nous allons voir un premier exemple qui met en évidence l'emboîtement des jeux. Il s'agit de résoudre un problème simple. Le premier agent est caractérisé par $\left\{B_{a_1}p,W_{a_1}KIF_{a_1}r \right\}$et le second par $\left\{B_{a_2}(p \to q),B_{a_2}(q \to r) \right\}$. Le but est donc de démontrer r.

Cet exemple utilise les jeux de base, question et réponse décrits précédemment.


/*************************************************************/
/*                                                           */
/* Exemple de jeux                                           */
/*                                                           */
/*************************************************************/

game jeu_de_base =
{
    perception =
    {
        C => x b (C:t) | C\=($ _)
    },

    update =
    {
        x b (y ? Q:_) => x b y w y kif Q,
        x b (y ! P:_) => x b y b P,
        x b (y ! P:_) and x w x kif P => x b P,

        x b P => -(x b -P),

        x b y b P and -(x b -P) => x b P
    },

    generation =
    {
        -(x w _) and -(x b y w _) => $ x # 0.01
    },

    interdiction =
    {
        x b (C:T) => -C | T<t # 100
    }
}.

game question(Q) =
{
    import jeu_de_base,

    entrance = x w x kif Q,
    invariant = x w x kif Q or -(x b y b x kif Q),
    exit = x kif Q and x b y b x kif Q,

    generation =
    {
        x w x kif Q => x ? Q # 10,
        x b Q => x ! Q # 2,
        x b -Q => x ! -Q # 2
    },

    update =
    {
        x kif Q => -(x w x kif Q),
        x b (P->Q) and -(x kif P) => x w x kif P
    }
}.

game reponse(Q) =
{
    import jeu_de_base,

    entrance = x b y w y kif Q,
    invariant = x b y w y kif Q,
    exit = x b y kif Q,

    generation =
    {
        x b Q => x ! Q # 10,
        x b (P->Q) => x ! (P->Q) # 5,
        x b (P->Q) and x b P => x ! P # 3,
        -(x b Q) => x '!?' Q
    },

    update =
    {
        x b (P->Q) and -(x kif P) => x w x kif P,
        x b y kif Q => -(x b y w y kif Q),

        x b (x ! P:_) and x b y w y kif P => x b y b P

    }
}.

agent agent_de_base(PROF) =
{
    
    start = jeu_de_base,

    games = { question(_), reponse(_) },

    depth = PROF,
    
    kb =
    {
        nonvar(Q) | x b (P->Q) and x b P then x b Q,
        nonvar(P) | x b (P->Q) and x b -Q then x b -P,

        nonvar(P) | (x b P) or (x b -P) then x kif P
    }
}.

agent a1 =
{
    import agent_de_base(3),
    
    accointance = agent_de_base(3),
    
    kb =
    {
        x w x kif r,
        x b p
    }
}.

agent a2 =
{
    import agent_de_base(3),

    accointance = agent_de_base(3),

    kb=
    {
        x b (p->q),
        x b (q->r)
    }
}.

a1 and a2 are speaking.
ÿ

Les états mentaux marqués en gras sont ceux qui nous intéressent ici. A chaque étape, on ne reprend pas la totalité des bases de connaissances, mais uniquement les états qui changent.

Remarquons tout d'abord qu'après chaque coup, les agents croient en la réussite du coup (*).

La première ligne du tableau contient les bases de connaissances des agents. Dans cet état, l'agent a1 rentre dans le jeu question(r) (1). L'agent a2 perçoit donc que a1 est dans un jeu question(r) (2) (3), a2 rentre alors dans reponse(r) (4). De même, a1, en utilisant sa représentation de a2 pense que a2 rentre dans un jeu de reponse(r) (5). L'un des coups permis dans cette situation est par exemple une justification de la réponse (6).

La simulation de a1 dans les croyances de a2 permet à a2 de supposer que a1 accepte cette justification (7) et rentre dans un jeu de question(q) (8), il rentre donc dans le jeu de reponse(q) (9). C'est effectivement ce qu'il ce passe pour a1 (10) qui pose la question (11). a2 qui était déjà dans le jeu reponse(q) donne une justification (12) et refait les mêmes hypothèses que précédemment sur a1 (13). Mais cette fois, a1 réagit différemment puisqu'il croit p. Après s'être approprié $p \to q$ (14), il croit q et r (15) et ne se pose plus de question (16). a1 donne la réponse q (17). A partir de là les deux agents ont toutes les réponses qu'ils attendaient (18) et le dialogue se termine.




next up previous contents
Next: Interrogation d'un passant par Up: Exemples de dialogue Previous: Exemples de dialogue
Christophe Delord
1998-09-02