• Aucun résultat trouvé

Les attracteurs en une-étape d’un ensemble d’états Q pour les joueurs 0 et 1 sont définis ainsi :

4 Résolution des jeux

Définition 1. Les attracteurs en une-étape d’un ensemble d’états Q pour les joueurs 0 et 1 sont définis ainsi :

1Attr0(Q) = {q∈ S0| ∃(q, q)∈ Atel queq∈ Q} ∪ {q∈ S1| ∀(q, q)∈ A, q∈ Q} 1Attr1(Q) = {q∈ S0| ∀(q, q)∈ A, q∈ Q}

4. RÉSOLUTION DES JEUX 143 Lesattracteurspour le joueur 0 (respectivement pour le joueur 1) d’un ensembleQ d’états sont les points fixes des attracteurs en une-étape, en partant deQ: on a ainsi, pouri∈ {0,1},

Attri(Q) = ∪

j∈N

(1Attri)j(Q)

L’attracteur pour le joueuriest donc l’ensemble des états depuis lesquels ce joueur est en mesure de s’assurer que le jeu atteindraQ. On notera que pour tout état de (1Attri)j(Q), le joueuria une stratégie sans mémoire lui permettant d’atteindreQ en au plusjétapes. Puisque le point fixe est atteint en|S|itérations au plus,Qpeut être atteint avec un maximum de|S|étapes depuis n’importe quel état deAttri(Q). On notera aussi que cette borne entraine la possibilité de calculer les attracteurs en un temps polynomial.

Lemme 2. Depuis n’importe quel état deAttri(Q), le joueuripossède une stratégie sans mémoire qui l’assure d’atteindreQen un maximum de|S|étapes.

Une propriété des attracteurs dans les jeux est qu’ils peuvent être retirés sans danger du jeu, tout en laissant la structure du graphe restant toujours associée à un jeu (c’est-à-dire sans état final) :

Lemme 3. SoitG = ⟨S0,S1,A⟩le graphe d’un jeu (c’est-à-dire tel que tout état de S a une arête sortante appartenant àA). Soit un joueurj ∈ {0,1}. SoitQ ⊆ S. Considérons le grapheG = (S

0,S

1,A ∩(S × S))avecS

i =Si\Attrj(Q)pour

i ∈ {0,1}. Alors tout état deS a une arête sortante allant dans A ∩(S × S), autrement ditGest aussi un graphe de jeu.

Démonstration. Supposons par contradiction que ce ne soit pas le cas, c’est-à-dire qu’il existeq ∈ S tel queqn’a aucune arête sortante. Commeqavait une arête sortante appartenant àAdans le graphe de jeuG, cela signifie que tous les états successeurs deqappartiennent àAttrj(Q). Par définition d’un attracteur, on a alorsq∈Attrj(Q), et on en déduit ainsi queq∈ S/ .

4.2.2

Conjonction d’un objectif de gain et d’un objectif d’énergie

Dans ce premier exemple simple, nous étudions les objectifs, pour le joueur 0, de la formepe≥ce∧pv ≥cv, oùpeetpvsont le niveau d’énergie et la valeur du gain moyen accumulés par le joueur 0, et avecce, cv N. De tels objectifs se traduisent par le besoin d’atteindre une certaine valeur de gain tandis que le niveau d’énergie demeure supérieur à une limite donnée. Un comportement cupide est une illustration simple d’un objectif de ce type : le nœud compromis cherche à rester « en vie » (donc à vérifier à tout instantpe1) tout en émettant au moins un message toutes les 6 étapes (pv 1

6, mais comme nous l’avons remarqué plus haut, il est possible d’obtenir un seuil à valeur entière en multipliant tous les poids de la composante par 6).

Tout d’abord, nous pouvons clairement établir que depuis un état à partir duquel au moins un des objectifs ne peut être rempli, le joueur 0 ne peut pas gagner. De plus, si le joueur 1 peut forcer le joueur 0 à atteindre l’un de ces états, alors l’ob-jectif du joueur 0 ne sera pas rempli. De là nous pouvons utiliser la notion clas-sique d’attracteurs dont nous avons rappelé la définition. Nous notonsPeles états où le joueur 0 perd pourpe ce (c’est-à-dire où le joueur 1 possède une straté-gie pour l’empêcher de gagner), etPv les états pour lesquels le joueur 0 perd pour

pe ce∧pv cv depuis tout état deAttr1(Pe∪ Pv). Par conséquent toute stra-tégie gagnante pour le joueur 0 doit rester dans l’ensembleG \Attr1(Pe∪ Pv). Par ailleurs, une stratégie gagnante qui reste dansG \Attr1(Pe∪ Pv)est aussi une stra-tégie gagnante dansGpuisque le joueur 1 ne peut pas forcer le jeu à se déplacer dans

Attr1(Pe∪ Pv)(par définition des attracteurs).

Ainsi il devient possible de retirer, de manière récursive, des états deGjusqu’à ce que le joueur 0 gagne pour chacun de ses objectifs depuis tous les états restants. Si, en revanche, le graphe de jeu devient vide à un moment donné, cela signifie que le joueur 0 ne peut pas gagner pour les deux objectifs depuis quelque état que ce soit du graphe d’origine.

Supposons à présent que le joueur 0 dispose des stratégies gagnantesλe,λvpour les objectifs respectifspe 1 etpv 1

15, et que ces stratégies sont gagnantes de-puis tous les états. Ces stratégies sont supposées être sans mémoire, ce sont donc des fonctions deScdansS.

Considérons le jeu à un joueur Ge, obtenu quand le joueur 0 joue λe: chaque arête entrante dans un étatv ∈ Scva à la place àλe(v), et les poids sont cumulés :

v0

w1

−−→v−−→w2 λe(v)est remplacé parv0

w1+w2

−−−−→λe(v). De façon similaire, soitGvle jeu à un joueur obtenu en jouantλv.

Soitαla valeur la plus basse pouvant être obtenue pour la composantekvsur un cycle simple surGe, et soit de mêmeβla valeur la plus basse pouvant être obtenue pourkelors d’un cycle surGv. Plus concrètement,αreprésente la pire valeur de gain que le joueur peut obtenir lorsqu’il joue selon la stratégie qui l’assure de conserver le niveau d’énergie requis, tandis queβ est la pire valeur en énergie qui puisse être atteinte en jouant la stratégie qui assure le gain requis. Il est à noter que siα ≥cv, alorsλeest aussi une stratégie gagnante pour l’objectifpv≥cv, et constitue donc une stratégie gagnante pour l’objectif global. De même siβ >0, alorsλvvérifie l’objectif

pe ≥cepourvu que le crédit initial soit adapté à la somme minimale des poids des arêtes empruntées au cours d’un cycle :

crédit initial= 1 +c+ min

ρpréfixe deC Ccycle dansGv

we(ρ)

Si la condition suffisante que nous venons de présenter n’est pas remplie, nous n’avons pas, à ce jour, de solution pour résoudre ces jeux dans un contexte géné-ral. Des stratégies gagnantes pour chaque composante pourraient en effet se révéler incompatibles entre elles. Prenons, pour illustrer, l’exemple du jeu à un seul joueur présenté en figure7.6. Dans cet exemple,q0agit comme un état de recharge (en éner-gie) tandis queq1est un état actif qui produit un effet utile récompensé par une valeur de gain. On constate que recharger la batterie est bien plus lent que de consommer l’énergie, puisqu’il faut 42 « unités d’énergie4» par étape active.

Il est possible de maintenir un niveau d’énergie constamment positif (pour la pre-mière composante) en restant dansq0(où en y allant si l’on commence enq1). Il est aussi possible d’atteindre un gain moyen de1en demeurant surq1(ou en s’y rendant si l’on démarre surq0, car le poids de l’unique arête empruntée est négligeable sur une longue exécution). Cependant, il n’est pas possible de conserver un gain moyen de1 tout en maintenant un niveau d’énergie positif, puisqu’une fois le crédit initial écoulé,

4Ce peut être, par exemple, une joule, ce qui signifierait que l’étape active consommerait avec une puis-sance de 42 W, tandis que la puispuis-sance de la recharge serait de 1 W. La valeur 42 a été choisie arbitrairement pour cet exemple.

4. RÉSOLUTION DES JEUX 145 42 étapes de recharge doivent impérativement être effectuées avant de réaliser toute action susceptible de rapporter un gain.

q0 q1

+1,0

0,0

42,+1 0,0

Fig. 7.6 : Un exemple de jeu simple nécessitant une mémoire infinie. La première com-posante est un niveau d’énergie, la seconde est une valeur de gain.

4.2.3

Avec mémoire limitée

Nous considérons que les réseaux de capteurs sans fil sont fortement limités en ressources disponibles, et ne peuvent donc implémenter que des stratégies à mémoire finie. Dans ce cas, limitera priorila quantité de mémoire qui peut être utilisée par le joueur fournit une solution pour résoudre le problème du crédit initial pour des jeux ayant une condition de victoire sur le fragment positif.

Une stratégie à mémoire finie est une stratégie qui peut être implémentée par une machine de Mealy finie et déterministe : état donné l’état actuel de la machine et du jeu, la machine fournit l’arête à emprunter et de là l’état suivant de la machine. La taille de machine de Mealy est la taille de la mémoire disponible.

Par exemple, une stratégie à mémoire finie pour le jeu de la figure7.6, qui boucle 42 fois surq0puis se rend surq1, boucle une fois et enfin retourne surq0pour recom-mencer le cycle, est représentée sur la machine de la figure7.7. Cette machine possède 46 états, puisqu’elle nécessite de compter (et donc garder en mémoire) le nombre de fois où l’on a bouclé surq0pour accumuler de l’énergie. Si l’on devait démarrer enq1, la machine se rendrait tout d’abord enq0avant d’appliquer la stratégie que nous ve-nons de décrire. La machine doit être complète au niveau des entrées possibles, aussi faut-il autoriserq1à survenir depuis n’importe quel état mémoire (dans notre cas elle retourne à l’état mémoire initial, tandis que le jeu retourne enq0).

Remarque 2. Les stratégies pour une quantité finie donnée de mémoire peuvent ne