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

Yves Quemener quemener.yves at free.fr
Jeu 18 Oct 12:05:31 CEST 2012


Oui, c'est de cette compétition et de ce jeu dont on parle :)

On 18/10/12 20:18, Derrick Giscloux wrote:
> 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
> 
> 
> 



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