[Lyon-hackerspace] Un petit projet de plus

Thomas postmaster at homeostasie.eu
Dim 7 Oct 20:29:29 CEST 2012


Plop,

Ça avance un peu en ce moment, ça fait du bien de faire quelques choses 
qui nous plait de temps en temps.

Pour le combat ia contre ia, ça me botte bien et j'espère y arriver mais 
ça me demandera d'adapter le programme pour qu'il y ait une 
communication permanente entre le lanceur et le joueur. Pour résumer, 
c'est prévu mais (vraiment) pas pour tout de suite.

Pour le moment, je suis plus dans du "combat" humains contre IA. Dans le 
sens où je sors une liste finale de résultat dans un fichier. Les 
joueurs (IA) jouent (parient) et à chaque tour découvrent si elles ont 
gagné ou perdu. De là, elles adaptent leurs stratégies en fonction du 
nombre de pile, du dernier coup...

Pour le moment sur des lancers assez simples, j'arrive à 68% de réponses 
corrects avec deux algo dont un très con qui se contente de parier en 
recopiant ce que le lanceur a fait au tour précédent. Ça me fait penser 
que je ne vais pas tarder à un peu réfléchir sur les résultats et à 
comment avoir plus d'informations sur les parties.


Prochainement,
Je vais encore coder quelques joueurs assez simples : proba des piles 
sur les dix derniers coups, répétitions de schéma, et un qui joue 
toujours pile jusqu'à que sa foire (trop) et alors toujours face...

Bref, j'ai encore pas mal d'idées, je ne sais pas trop ce que ça va 
donner pour la plupart.

Après, je compte m'attaquer à complexifier les lancers. Mais, je n'ai 
pas encore trop réfléchi au format...
Je pensais faire un truc du genre

lancer((biais1,...,biaisn), (nombrelancer1,...,nombrelancern)) pour 
commencer et j'essaye un peu de me replonger dans de la proba pour voir 
si je ne pourrai pas faire un truc sympa comme genre une courbe de Gauss 
: Très peu de pile au début, puis une avalanche de Pile puis de nouveau 
le calme plat en pile...

Mais le plus sympa au niveau des lancers sera clairement quand 
j'attaquerai le lancer par ia et que je pourrai réfléchir à chaque 
lancer... Par exemple, si je remarque que le joueur recopie mon dernier 
lancer alors j'alterne un sur deux... Mais ça, je n'y suis pas encore.

Sinon, j'ai commencé à poster ça sur github :
https://github.com/homeostasie/IA-Pile-Face

et j'essaye de tenir au jus le wiki :
http://www.lyonopenlab.org//ia-jeux
Par contre, il n'y a pas un problème avec le formatage... Je n'arrive 
pas à faire des sauts de lignes simples.

Si vous avez des remarques sur le fond ou la forme. N'hésiter pas. En 
plus, ce sont mes premiers scripts en python (3).

J'ai pris un parti "fichier" pour les résultats pour qu'on puisse 
facilement les échanger.

Bon dimanche pluvieux,

Thom

On 06/10/2012 14:06, Ceelvain - wrote:
> Je ne suis pas sûr de comprendre si tu veux faire des combats IA
> contre IA ou IA contre humain.
>
> Pour les combats contre humains, iv m'a ôté les beaux de la mouche :
> Une chaîne de Markov d'ordre m (ou plus généralement un processus
> stochastique à temps et espace discret) devrait donner de bons
> résultats.
>
> Pour les combats IA contre IA, ça peut être intéressant de coder un
> système où les gens peuvent soumettre leur code qui sera mesuré aux n
> meilleurs codes actuellement recensés, du moins bon au meilleur. Et le
> code challenger viendra s'intercaller dans la liste.
> Il pourrait aussi être intéressant de tous les faire combattre deux
> par deux et établir le graphe de relations de supériorité des algos.
>
>
> Ceelvain
>
> Le 4 octobre 2012 17:53, jo <crazyiop at gmail.com> a écrit :
>> je trouve l'idée de la compétition IA bien sympas aussi !
>>
>> ça me fait énormément pensé à l'expérience du dilemme du prisonnier répété.
>> http://en.wikipedia.org/wiki/Prisoner%27s_dilemma#Strategy_for_the_iterated_prisoners.27_dilemma
>>
>> comme l'issu d'une seule rencontre est évidente, un chercheur avait
>> organiser ce genre de compétition ou il voulait faire s'affronter différents
>> programme en demandant à tout le domaine scientifique de lui proposer des
>> algos de décision. Elle sont du genre :
>> - coopérer mais essayer de blouser l'autre de temps en temps,
>> - coopérer mais être super rancunier
>> - blouser l'adversaire tant qu'il ne réagit pas
>> - etc
>> certains tenait en quelques lignes de code, d'autre en centaines...
>>
>> ensuite il à fait s'affronter toutes les stratégies les unes contre les
>> autres pour savoir qu'elle était la stratégie optimal...
>>
>> Je vous spoil pas le résultat si vous voulez en apprendre plus aller voir le
>> lien plus haut (au passage l'expérience et la théorie des jeux d'un point de
>> vue évolutionnaire est vraiment bien expliqué dans le livre "le gène
>> égoïste" de Richard Dawkins)
>>
>> Je sais pas si ça peut donner des idées... La différence principale est que
>> ce jeux n'a pas d'aléatoire. Toute décision se fait uniquement sur la
>> perception de la stratégie de l'adversaire par une mémoire des coups passé
>> précédent.
>>
>> Jon
>> (ps je m'installe à lyon dans 1 à 2 semaines, mais je suit la mailing depuis
>> un moment, si vous me remettez pas, c'est normal ;)
>>
>> On 04/10/2012 12:00, lyon-hackerspace-request at lists.hackerspaces.org wrote:
>>> --------------------
>>>
>>>
>>> Une fois le code un peu mis en place, on peut très bien imaginer un jeu
>>> entre nous.
>>>
>>> Genre, une personne propose un code de joueur.
>>> Les autres proposent un code d'adversaire.
>>>
>>> Celui qui gagne le plus remporte la partie et propose son code de joueur
>>> au tour suivant.
>>>
>>> Re-bonne soirée.
>>> Thom
>>>
>>>
>> _______________________________________________
>> 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