[Lyon-hackerspace] Lot Lyon-hackerspace, Vol 22, Parution 24

Derrick Giscloux derrickgiscloux at gmail.com
Jeu 18 Oct 11:18:44 CEST 2012


Bonjour,

Connaissez-vous Axelrod et son ouvrage
Comment réussir dans un monde d'égoïste. Théorie du comportement coopératif.

Editeur : Odile Jacob Parution : 02/02/2006
Thème : Sociéte

Résumé
http://www.cnam.fr/servlet/com.univ.collaboratif.utils.LectureFichiergw?ID_FICHIER=1295877017812

Si la coopération est le ciment de la vie sociale, c'est aussi l'un de
ses grands mystères.

L'exemple du joueur de la ligne. S'il fait cavalier seul et que
l'autre coopère, il obtient 5 points (c'est la tentation), ou il
n'obtient qu'un seul point si l'autre ne coopère pas (c'est la
punition). Par contre s'il coopère il obtient 3 points si l'autre
coopère aussi (c'est la récompense), mais sinon il ne marque pas de
point (c'est le salaire de la dupe). La tentation de jouer seul
existe, mais le risque est que l'autre fasse de même et qu'ils ne
marquent tous les 2 qu'un seul point. Il est donc tentant de coopérer,
mais avec le risque de tout perdre.

On émet une règle de jeu: à chance égales d'exploiter l'autre ou de se
faire exploiter, la moyenne des résultats sera inférieure à celle de
la coopération mutuelle (les points (T+S)/ 2 sont inférieurs à R).
Si la partie ne se joue qu'en un seul jeu on sera tenté de jouer
cavalier seul: on marquera au moins aussi bien que l'autre, et il n'y
a pas de futur à influencer. Il en est de même si le nombre de jeux
est déterminé (c'est évident pour le dernier coup, puisqu'il n'y a pas
de futur à influencer, pour l'avant dernier coup puisque le suivant
est connu et donc qu'on ne peut pas l'influencer et donc pour tous les
coups précédents). Par contre si le nombre de jeux est indéterminé, le
dilemme est de toute autre nature, surtout que l'objectif n'est pas de
battre l'autre, mais de marquer le plus de points possibles.

Axelrod a alors demandé à des spécialistes (psychologues, sociologues,
mathématiciens etc...) d'établir des stratégies. En général, une
stratégie spécifie ce qu'il faut faire dans chaque situation pouvant
se présenter (par exemple "toujours seul" est une stratégie,
"aléatoire" en est une autre, il en existe bien d'autres beaucoup plus
complexes). Soixante trois stratégies différentes ont été présentées.
Axelrod a alors organisé un tournois informatique ou chacune de ces
stratégies jouait contre toutes les autres, et aussi contre
elles-mêmes.

Il s'avère que la stratégie gagnante a été lors de ces jeux la
stratégie "Donnant Donnant" qui coopère au premier coup puis imite le
comportement de l'autre joueur au coup précédent.

L'analyse des tournois a révélé quatre propriétés qui contribuent à la
réussite d'une stratégie:
␣ éviter les conflits inutiles en coopérant aussi longtemps que l'autre coopère
␣ Se montrer susceptible si l'autre fait cavalier seul de manière injustifiée
␣ Faire preuve d'indulgence après avoir riposté à une provocation
␣ Avoir un comportement transparent pour que l'autre joueur puisse
s'adapter à votre mode d'action
La coopération dans un monde d'égoïstes est donc possible en l'absence
d'un pouvoir central. Mais il faut que les individus aient
suffisamment de chances de se rencontrer à nouveau et que leur
prochaine interaction soit importante.

A bientôt.
Derrick Giscloux





Le 18 octobre 2012 00:39, Yves Quemener <quemener.yves at free.fr> a écrit :
> C'est vrai, j'aurais pas dû parler de stratégie optimale. Ce n'est pas
> optimal dans le sens algorithmique du terme. La stratégie optimale contre
> 100% des adversaires en duel c'est "toujours trahir". À long terme, ça
> dépend de l'adversaire et "tit-for-that" est une stratégie duale qui peut
> s'adresser à des méchants et à des gentils. Elle perd dans une population
> entièrement formée de "toujours trahir", elle est moins bonne qu'une
> stratégie trahissant occasionnellement dans une population de gentils.
> D'ailleurs quand on connait le nombre de manches, trahir le tit-for-that
> dans la dernière manche est une stratégie qui le bat constamment.
>
> Donc, le projet est toujours ouvert pour ceux qui veulent faire mieux. Je
> vais essayer aujourd'hui de rétablir les résultats en tableaux (j'ai
> intégré les modifs de Benjamin, qui permettent d'avoir un petit serveur web
> pour regarder les résultats mais aussi lancer les match)
>
> Est ce que ça intéresse aussi des gens le jeu économique que j'ai proposé ?
>
> On 18/10/12 00:34, crazyiop wrote:
>> Juste pour pinnailer, j'aimerais corriger cette fausse-croyance qui s'est
>> imposé : la stratégie considérer comme gagnante "donnant-donnant" n'est
>> qu'une stratégie optimal dans le cas des test qui avait été fait.
>>
>> En règle générale : la stratégie gagnante dépend de l'ensemble de ces
>> adversaires ! On ne peut absolument pas définir une stratégie optimale de
>> manière absolue.
>>
>> Une grosse partie du résultat dépend du nombre de stratégies "gentille"
>> (qui vont chercher a plutôt coopérer) et du nombre de "méchante" (qui vont
>> plus chercher à trahir quand l'autre coopère). donnant-donnant à été
>> optimal, mais seulement parce que la majorité des stratégies proposée était
>> gentille.
>>
>> Lors de la seconde édition de cette étude, tout le monde s'est dis que tout
>> le monde va faire des stratégie méchante qui exploiteront le
>> donnant-donnant (que beaucoup vont faire en variante, vu le résultat de la
>> première édition), et donc en faire une gentille qui exploiterais les
>> méchantes serais gagnante.
>> (j'arrive pas à le dire en plus simple donc en schématisant ==>) En gros
>> tout le monde à essayer de raisonner à deux niveaux, pensant que tout le
>> monde raisonnerais à un niveau :P du coup de nouveaux majorité de gentille,
>> et donnant-donnant de nouveaux gagnante.
>>
>> Dans au moins une des deux test, "donnant pour deux donnant" aurait battu
>> donnant-donnant. mais personne ne l'avait proposé. il faut noter que cette
>> stratégie est encore plus permissive (elle réplique qu'au bout de 2
>> trahison succesive). elle ne peut également être optimal que dans un pool
>> majoritairement gentil. par exemple, "trahir une fois sur 2" deviendrait
>> alors super rentable face à "donnant pour deux donnant"...
>>
>> surtout avec un nombre de boot limité, je pense qu'il est possible de
>> rajouter plusieurs fois un nouveau boot qui deviendront chacun leurs tour
>> un nouvel optimal. (pour comparaison, il me semble que dans l'étude
>> initiale, il y'avait autours de 70-80 stratégies)
>>
>> Je ne connais par contre pas du tout si le test à été effectuer avec des
>> majorité de stratégies méchantes...
>>
>> jon
>>
>> Message: 5
>> Date: Mon, 15 Oct 2012 19:32:54 +1100
>> From: Yves Quemener <quemener.yves at free.fr <mailto:quemener.yves at free.fr>>
>> To: lyon-hackerspace at lists.hackerspaces.org
>> <mailto:lyon-hackerspace at lists.hackerspaces.org>
>> Subject: Re: [Lyon-hackerspace] Vive l'arène!
>> Message-ID: <507BCA36.8080003 at free.fr <mailto:507BCA36.8080003 at free.fr>>
>> Content-Type: text/plain; charset=ISO-8859-1
>>
>> Super!
>>
>> Je merge ça demain quand j'ai 5 minutes.
>> Je suis aussi plus pour la classe Jeu.
>> En effet, AlwaysT (Toujours trahir) est la stratégie optimum dans un duel,
>> mais le but est d'obtenir un score moyen plus important que lui sur
>> l'ensemble des bots. Deux AlwaysT qui se battent sont plutôt nuls in fine.
>>
>> Bon, ok, la stratégie optimale en général est super simple aussi et à peine
>> plus compliquée, je pense que la moitié des gens dans cette discussion la
>> connaît, c'est le tit-for-that, je laisse googler ceux que ça intéresse,
>> c'est super simple.
>>
>> Que diriez vous de coder un autre jeu, plus intéressant, alors ? Je pensais
>> faire un petit jeu de simulation économique où des acteurs acheteurs et
>> vendeurs tenteraient de maximiser un profit. Là, il y a vraiment une
>> difficulté car il n'y a pas de stratégie rationelle simple à court terme
>> comme le "toujours trahir" du jeu du prisonnier.
>>
>> On 15/10/12 19:15, Benjamin Betrand wrote:
>>> Bonjour,
>>>
>>> Je me suis permis de reprendre le code de l'arène et d'y apporter ma
>>> contribution.Je ne suis pas sur Github mais vous pouvez retrouver le code à
>>> cette adresse (que vous pouvez cloner de la même façon: git clone
>>> http://git.poneyworld.net/LOLIA-Arena.git)
>>> http://git.poneyworld.net/LOLIA-Arena.git
>>>
>>> Je n'ai rien modifié dans la façon de communiquer avec les bots, ni dans la
>>> manière de les gérer. J'ai juste changé l'interface pour utiliser bottle
>>> (framework web utilisant python), pour pouvoir lancer des matchs plus
>>> facilement.
>>> Pour réduire la dépendence au jeu du prisonnier, j'ai pensé à deux
>>> solutions (mais rien codé pour le moment). La première est de faire un peu
>>> de programmation fonctionnelle et de coder le jeu comme une fonction. Ou
>>> alors faire un méta-classe Jeu et de créer les jeux à partir de cette
>>> classe. Je prefère la deuxième solution elle permettra d'être plus souple
>>> en particulier sur le nombre de joueurs admis, les réponses accèptées, des
>>> stats sur le match...
>>>
>>> Par contre ya un truc que je pige pas! Dans la façon actuelle de désigner
>>> le gagnant ou le perdant, ya aucune chance de battre AlwaysT vu qu'il
>>> gagnera au moins autant que son adrevsaire.
>>>
>>> Benjamin
>>>
>>> On Thu, 11 Oct 2012 17:31:18 +0000, Thomas wrote:
>>>> Nickel,
>>>>
>>>> Un grand merci pour cette première arène.
>>>>
>>>> Je me suis permis d'ajouter le projet sur le wiki :
>>>>
>>>> http://www.lyonopenlab.org//lolai_-_arena/
>>>>
>>>> Je n'ai plus de temps pour ce soir. Mais je complèterais avec le temps.
>>>>
>>>> Thom
>>>>
>>>> On 11/10/2012 08:49, Yves Quemener wrote:
>>>>> Hello,
>>>>>
>>>>> j'ai fait une première version de l'arène, et trois bots idiot : un qui
>>>>> coopère toujours, un qui trahit toujours et un qui choisit au hasard. Vous
>>>>> pouvez chopper tout ça là :
>>>>> https://github.com/yquemener/LOLAI-Arena
>>>>> Et y a des chances que ce soit rapidement sur le git du LOL aussi.
>>>>>
>>>>> pour ceux qui ne connaissent pas git, il suffit de faire
>>>>>
>>>>> git clone git://github.com/yquemener/LOLAI-Arena.git
>> <http://github.com/yquemener/LOLAI-Arena.git>
>>>>>
>>>>> Le code est pas super beau, il faut que je rende le jeu un peu moins
>>>>> intriqué dans le code, afin qu'on puisse en choisir d'autres, mais ça
>>>>> permet de commencer à jouer.
>>>>>
>>>>> le script arena.py sort un fichier results.html qui vous donne le tableau
>>>>> des scores.
>>>>>
>>>>> Les bots sont dans bots/ lisez doc/protocol (c'est très court) pour en
>>>>> créer un nouveau.
>>>>>
>>>>> Iv
>>>>> _______________________________________________
>>>>> Lyon-hackerspace mailing list
>>>>> Lyon-hackerspace at lists.hackerspaces.org
>> <mailto:Lyon-hackerspace at lists.hackerspaces.org>
>>>>> http://lists.hackerspaces.org/mailman/listinfo/lyon-hackerspace
>>>>
>>>> _______________________________________________
>>>> Lyon-hackerspace mailing list
>>>> Lyon-hackerspace at lists.hackerspaces.org
>> <mailto:Lyon-hackerspace at lists.hackerspaces.org>
>>>> http://lists.hackerspaces.org/mailman/listinfo/lyon-hackerspace
>>>
>>> _______________________________________________
>>> Lyon-hackerspace mailing list
>>> Lyon-hackerspace at lists.hackerspaces.org
>> <mailto:Lyon-hackerspace at lists.hackerspaces.org>
>>> http://lists.hackerspaces.org/mailman/listinfo/lyon-hackerspace
>>>
>>
>>
>> _______________________________________________
>> Lyon-hackerspace mailing list
>> Lyon-hackerspace at lists.hackerspaces.org
>> http://lists.hackerspaces.org/mailman/listinfo/lyon-hackerspace
>>
>
> _______________________________________________
> Lyon-hackerspace mailing list
> Lyon-hackerspace at lists.hackerspaces.org
> http://lists.hackerspaces.org/mailman/listinfo/lyon-hackerspace



-- 
--

Derrick Giscloux

↗↰↲↱↵↴↦↱↲↷↺⇊→↕↩↬⤴⤣⤵⤳↗☈ .... ☝
Artiste et concepteur.
Artist & designer
+33 (0) 6 64 97 47 41

http://derrickgiscloux.free.fr
https://twitter.com/#!/derrgis

http://www.creartcom.eu
Studio de création numérique.
Digital creation studio.
↗↰↲↱↵↴↦↱↲↷↺⇊→↕↩↬⤴⤣⤵⤳↗☈ .... ☝


Plus d'informations sur la liste de diffusion Lyon-hackerspace