• Aucun résultat trouvé

5.2 Quelques classes de strat´egies

5.2.4 Les automates de Mealy

La seconde famille de strat´egies automate que nous d´efinissons, est celle se basant sur l’id´ee des automates de Mealy. Un rappel de la d´efinition des automates de Mealy a ´et´e fait dans le chapitre 1, page 15.

En r´esum´e, on peut dire que les automates de Mealy sont de simples automates d’´etats finis avec sorties. La sortie de l’automate d´epend de l’´etat courant de l’automate et des entr´ees qui lui sont pr´esent´ees, via une fonction de sortie. Les transitions d’´etats, quant `a elles, d´ependent des valeurs d’entr´ees de l’automate et de son ´etat courant.

Ce type d’automates est lui aussi bien adapt´e `a la d´efinition de strat´egies pour le dilemme it´er´e du prisonnier pour les mˆemes raisons que les automates de Moore. Ils ne n´ecessitent gu`ere plus d’am´enagements que les automates de Moore, mˆeme si ces am´enagements sont l´eg`erement diff´erents. Les automates de Mealy, comme les automates de Moore sont eux aussi souvent utilis´es pour la repr´esentation des strat´egies pour le dilemme du prisonnier dans des approches d’algorithmes g´en´etiques ou ´evolutionnaires, [Fog93], [Fog95, chapitre 5, section 3, page 205].

La seule diff´erence entre un automate de Moore et un automate de Mealy r´eside dans la d´efinition d’une transition. Nous utilisons le mˆeme codage en adaptant la repr´esentation pour prendre en compte la d´efinition nouvelle de la fonction de sortie.

En fait, d´esormais la sortie de l’automate est intimement li´ee `a la fonction de transitions. On peut dire que les deux fonctions n’en font plus qu’une, une transition pouvant ˆetre d´esormais comprise comme :

(( ´etant donn´e l’´etat courant et une entr´ee, la sortie est faite par une carte particuli`ere, puis l’´etat courant de l’automate est modifi´e. ))

Nous utilisons donc les transitions dans ce sens plus simple `a exprimer. Pour repr´esenter une telle transition il nous faudra donc deux caract`eres, un pour d´esigner la sortie de l’automate et un autre pour d´esigner le nouvel ´etat que l’automate doit atteindre.

Pour ce qui est de l’amorce de la partie, nous utilisons exactement le mˆeme principe que celui que nous avons utilis´e pour les automates de Moore, `a savoir des transitions d’amor¸cage.

Le nom d’une strat´egie est donc cr´e´e par concat´enation : 1. du pr´efixe mealy ; 2. du caract`ere _ ; 3. de la valeur de M ; 4. du caract`ere _ ; 5. de la valeur de O ; 6. du caract`ere _ ;

7. des transitions d’amorce `a utiliser pour chaque coup de l’amorce de la partie. Chaque transition est repr´esent´ee par un caract`ere pour la carte `a jouer, suivi d’un autre caract`ere correspondant `a l’´etat vers lequel l’automate doit se d´eplacer, en consid´erant que l’´etat de d´epart est l’´etat cou- rant. La chaˆıne repr´esentant ces transitions comporte donc 2 max(M,O) caract`eres repr´esentant autant de transitions amor¸cant l’automate.

Ces transitions ne sont pas des transitions d’´etats classiques dans le sens o`u elles n’utilisent pas d’entr´ees. Elles correspondent plus `a un changement d’´etats, un d´eplacement, qu’`a une transition au sens formel du terme.

8. de la fonction des transitions de l’automate. Les transitions sont ici dans l’ordre croissant des ´etats de d´epart, puis pour chaque ´etat de d´epart dans l’ordre lexicographique des repr´esentations des entr´ees de l’automate, comme nous l’avons d´efini page 82 pour les strat´egies de la famille memory.

En utilisant cet ordre, une transition peut ˆetre repr´esent´ee simplement par le caract`ere cor- respondant `a la sortie de l’automate et `a l’´etat d’arriv´ee : l’´etat de d´epart et l’entr´ee sont d´eductibles de la position dans la chaˆıne de caract`eres.

Cette convention permet donc de repr´esenter la fonction de transition de l’automate par une chaˆıne de (ss2n × 2(M+O)) caract`eres.

Une seule et mˆeme chaˆıne de caract`eres est utilis´ee pour les points 7 et 8. Cette chaˆıne est donc compos´ee de (2 max(M,O) + 2n × 2(M+O)) caract`eres.

Le nombre d’´etats n’est pas sp´ecifi´e dans le nom de la strat´egie mais il peut ˆetre d´eduit simplement en utilisant M, O, et la longueur de la chaˆıne de caract`eres finale.

La strat´egie mealy 1 1 c0c1d1c1d1c0d0d0d0, par exemple, est une strat´egie de la famille mealy. Elle appartient `a la classe des strat´egies utilisant en entr´ee la valeur de la derni`ere carte jou´ee par le joueur et la derni`ere carte jou´ee par l’adversaire.

L’automate qui d´etermine son comportement est constitu´e de deux ´etats. L’alphabet de sortie, comme pour les automates de la famille moore et tous ceux de la famille mealy, est ∆ = {C,D}. L’alphabet des symboles d’entr´ees Σ est alors :

Σ = {cc,cd,dc,dd}

Par exemple, l’entr´ee cd est pr´esent´ee `a l’automate quand le joueur vient de jouer C, c’est-`a-dire qu’il a coop´er´e et que l’adversaire a trahi dans le dernier coup. L’automate change d’´etat `a chaque coup.

Plus formellement, l’ensemble des ´etats est

Q = {0,1} l’alphabet des symboles d’entr´ee est

Σ = {cc,cd,dc,dd} l’alphabet des symboles de sortie est

∆ = {C,D} la fonction de sortie de l’automate est

λme : (0,cc) 7→ C (0,cd) 7→ D (0,dc) 7→ C (0,dd) 7→ D (1,cc) 7→ C (1,cd) 7→ D (1,dc) 7→ D (1,dd) 7→ D

la fonction des transitions est

δ : (0,cc) 7→ 1 (0,cd) 7→ 1 (0,dc) 7→ 1 (0,dd) 7→ 1 (1,cc) 7→ 0 (1,cd) 7→ 0 (1,dc) 7→ 0 (1,dd) 7→ 0 mealy 1 1 c0c1d1c1d1c0d0d0d0 J’utilise un automate `a deux ´etats pour d´eterminer ce que je dois jouer.

1. Au premier coup je joue C puis l’automate passe dans l’´etat 1 , 2. ensuite si l’automate est dans l’´etat 0 et

– si j’ai jou´e C et qu’il a jou´e C alors je joue C et l’automate passe dans l’´etat 1 – si j’ai jou´e C et qu’il a jou´e D alors je joue D et l’automate passe dans l’´etat 1 – si j’ai jou´e D et qu’il a jou´e C alors je joue C et l’automate passe dans l’´etat 1 – si j’ai jou´e D et qu’il a jou´e D alors je joue D et l’automate passe dans l’´etat 1

Si l’automate est dans l’´etat 1 et

– si j’ai jou´e C et qu’il a jou´e C alors je joue C et l’automate passe dans l’´etat 0 – si j’ai jou´e C et qu’il a jou´e D alors je joue D et l’automate passe dans l’´etat 0 – si j’ai jou´e D et qu’il a jou´e C alors je joue D et l’automate passe dans l’´etat 0 – si j’ai jou´e D et qu’il a jou´e D alors je joue D et l’automate passe dans l’´etat 0 D’o`u finalement on obtient la partie int´eressante du g´enotype en concat´enant le tout :

C 0 || C 1 D 1 C 1 D 1 | C 0 D 0 D 0 D 0

L’automate correspondant est donc :

cd/D cc/C dd/D cc/C dc/D dd/D dc/C C 0 1 cd/D

Chaque classe de strat´egies de la famille mealy, permet donc de d´efinir Nmealy(M,O,n) strat´egies compl`etement diff´erentes, puisque chaque caract`ere de la chaˆıne du g´enotype d’une strat´egie peut ˆetre choisi pour certains dans l’ensemble {c,d} et pour d’autres dans l’ensemble des caract`eres repr´esentant les ´etats :

Nmealy(M,O,n) = (2n)max(M,O)× 

(2n)2(M+O)n (5.7)

Nous avons maintenant d´efini toutes les familles de strat´egies utilis´ees pour faire des simulations sur des classes compl`etes. Avant d’examiner les exp´eriences qui ont ´et´e faites, nous allons d´ecrire les relations qui existent entre les diff´erentes familles ainsi que quelques classes particuli`eres.