Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Projets de programmation


Index du Forum » Projets de programmation » Le jeu de la coopération
Cyatophilum Hors ligne Membre Points: 11 Défis: 0 Message

Le jeu de la coopération

Posté le 09/06/2012 14:40

C'est un jeu à deux joueurs qui a pour but d'étudier les processus de décision.
On choisit un nombre de manches. A chaque manche, les deux joueurs choisissent secrètement soit de coopérer soit de trahir. Chaque manche rapporte un certain nombre de points, selon le tableau suivant.


Imaginons qu’avec un même partenaire, vous jouiez 100 manches d'affilée. Il vous faut choisir une stratégie, c’est-à-dire une méthode permettant pour chaque tour de décider de votre prochain coup, en fonction de ce qui s’est passé les tours précédents.

A vous de proposer des stratégies que vous pensez gagnantes, lorsque les deux premières stratégies seront données, je les opposerait sur un centaine de manche et vous donnerais les résultats, et ainsi de suite !
A vous de trouver La Stratégie Gagnante !


1, 2, 3 Suivante
Nitrosax Hors ligne Ancien rédacteur Points: 1061 Défis: 17 Message

Citer : Posté le 09/06/2012 16:01 | #


Sympathique le jeu !
J'aime bien le principe. Cela permet de confronter des IA avec des règles simples.

Pour commencer, je veux bien proposer une stratégie :
Cliquez pour découvrir
Cliquez pour recouvrir
Par défaut : coopérer
Si mon adversaire me trahit au coup précédent trahir
Si mon adversaire coopère coopérer
Une fois sur cinq et de manière aléatoire (pour pimenter un peu le jeu ) trahir


Cartix Hors ligne Membre Points: 2748 Défis: 98 Message

Citer : Posté le 09/06/2012 17:32 | #


Personnellement, je trahirai toujours, car l'espérance est la plus importante dans ce cas là
Ne0tux Hors ligne Membre d'honneur Points: 3525 Défis: 265 Message

Citer : Posté le 09/06/2012 18:25 | #



Dans ce cas Cartix, si je jouais contre toi, je te trahirais également !

(Vive la confiance et l’honnêteté ! )

Mes principaux jeux : Ice Slider - CloneLab - Arkenstone

La Planète Casio est accueillante : n'hésite pas à t'inscrire pour laisser un message ou partager tes créations !
Cartix Hors ligne Membre Points: 2748 Défis: 98 Message

Citer : Posté le 09/06/2012 18:38 | #


En attendant, je préfère que l'on passe notre temps à se trahir mutuellement, plutôt que tu passe ton temps à me trahir alors que je coopérais
Dark storm En ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 09/06/2012 19:58 | #


tient, je vais le faire en Basic, et on pourra confronter nos IA
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Pierrotll Hors ligne Ancien administrateur Points: 5488 Défis: 41 Message

Citer : Posté le 09/06/2012 20:05 | #


Le problème de ton système Catrix, c'est qu'une fois que l'adversaire l'a compris il se met à faire pareil et tu ne pourras alors plus gagner
Cyatophilum Hors ligne Membre Points: 11 Défis: 0 Message

Citer : Posté le 09/06/2012 20:14 | #


Merci de vous y être intéressés
Donc pour la cette première partie j'ai confronté Nitrosax avec sa stratégie originale je trouve
à Cartix qui trahit à chaque fois.
La partie s'est déroulée sur 100 manches exactement et voici le score :
Nitrosax: 99 points
Cartix : 104 points ( les 5 points de la première manche, Nitro se fait trahir..)

Cartix gagne donc ! Et j'ai bien peur que cette stratégie s'avère être la meilleure ...
C'est pourquoi je décide d'augmenter le nombre de joueurs , disons 4 joueurs pour l'instant. Cela va être plus difficile à programmer sur ma casio 35+ mais je vais quand même essayer.

J'attend avec impatience vos nouvelles stratégies !

Edit: voici ma stratégie :
1/ je coopère
2/ je joue de la même manière que l'adversaire au coup précédent
3/ je coopère
Getkey Hors ligne Membre Points: 232 Défis: 0 Message

Citer : Posté le 09/06/2012 22:21 | #


Le problème de ton système Catrix, c'est qu'une fois que l'adversaire l'a compris il se met à faire pareil et tu ne pourras alors plus gagner


Oui mais si il a réussis a avoir suffisamment des points avant que l'adversaire comprenne, il a forcement gagné !

Et puis il ne peut pas changer d'avis sur sa façon de jouer un fois le jeu lancé
Getkey est en cours de chargement. Veuillez patienter...


Mes jeux en pause...
Cliquer pour enrouler
Javierxd Hors ligne Membre Points: 1899 Défis: 13 Message

Citer : Posté le 10/06/2012 01:18 | #


Oui, c'est impossible de gagner contre cette stratégie, car si tu trahis toujours tu auras les mêmes points que l'autre, et dès que tu coopères une fois, tu perds
Calculatrices: g35+usb modifiée, PRIZM

My program is not working, I have no idea why.
My program is working, I have no idea why.

Programmes
Cliquer pour enrouler
Dark storm En ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 10/06/2012 10:33 | #


à trois, ça devrais être plus marrant: si deux coopèrent, celui qui trahit perd, etc.
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Nitrosax Hors ligne Ancien rédacteur Points: 1061 Défis: 17 Message

Citer : Posté le 10/06/2012 12:06 | #


Quelqu'un peut proposer une nouvelle stratégie SVP pour qu'on puisse faire un match à quatre ?
Cartix Hors ligne Membre Points: 2748 Défis: 98 Message

Citer : Posté le 10/06/2012 12:11 | #


Mais la mienne fonctionne plus à 4
Sinon t'as qu'à prendre en plus un qui coopère toujours
Javierxd Hors ligne Membre Points: 1899 Défis: 13 Message

Citer : Posté le 10/06/2012 13:05 | #


Faudrait voir une adaptation des ponctuations pour 4 joueurs
Calculatrices: g35+usb modifiée, PRIZM

My program is not working, I have no idea why.
My program is working, I have no idea why.

Programmes
Cliquer pour enrouler
Cyatophilum Hors ligne Membre Points: 11 Défis: 0 Message

Citer : Posté le 10/06/2012 17:14 | #


Nous avons 4 stratégies:

- Celle de Nitrosax:
Par défaut coopérer, puis si l'adversaire trahit, trahir sinon coopérer.De manière aléatoire avec une probabilité de 1/5 , trahir

- Celle de Cartix:
Toujours trahir

- Celle du gars qui coopère toujours

- La mienne:
Par défaut, coopérer
si l'adversaire trahit, trahir sinon coopérer.
Coopérer.
si l'adversaire trahit, trahir sinon coopérer.
etc..


Voilà je vais essayer de programmer ce tournoi mais j'aurai besoin de votre aide: comment organiser les rencontres entre les joueurs, à chaque round ?
On a plusieurs possibilités:
Disons que à chaque round, chaque joueur rencontre aléatoirement un des 3 autres joueurs.
Ou bien à chaque round, chaque joueur rencontre TOUS les autres joueurs..

Dîtes moi ce que vous en pensez
Cartix Hors ligne Membre Points: 2748 Défis: 98 Message

Citer : Posté le 10/06/2012 17:20 | #


Fait une nouvelle repartition des points en fonction de ceux que font les 4 joueurs à chaque tours
Louloux Hors ligne Ancien administrateur Points: 7035 Défis: 61 Message

Citer : Posté le 10/06/2012 17:49 | #


Voilà des règles : tout le monde joue à chaque tour, et c'est calculé pour qu'il n'y ait pas d'avantage à toujours trahir.

-si 4 coopèrent : 5 points chacun
-si 4 trahissent : 2 points chacun
-si 1 trahit : 0 pour lui et 3 pour tous les autres
-si 1 coopère : 0 pour lui et 3 pour tous les autres
-si 2 trahissent et 2 coopèrent : 3 points pour ceux qui coopèrent et 2 points pour ceux qui trahissent

Au fait, poste ton programme STP
Ne0tux Hors ligne Membre d'honneur Points: 3525 Défis: 265 Message

Citer : Posté le 10/06/2012 17:52 | #



Pour un jeu a 4, je propose une notation spécifique, qui prend en compte le nombre de coopérations ou de trahisons effectuées dans un round, toujours par rapport aux autres...

Mes principaux jeux : Ice Slider - CloneLab - Arkenstone

La Planète Casio est accueillante : n'hésite pas à t'inscrire pour laisser un message ou partager tes créations !
Pierrotll Hors ligne Ancien administrateur Points: 5488 Défis: 41 Message

Citer : Posté le 10/06/2012 18:22 | #


C'est pas bon Louloux, normalement quand tu trahis et que tous les autres coopèrent tu gagnes.
Nitrosax Hors ligne Ancien rédacteur Points: 1061 Défis: 17 Message

Citer : Posté le 10/06/2012 18:25 | #


On revient alors au même problème : il suffit de ne faire que trahir pour gagner.

@Louloux : je trouve tes règles bien. Par contre, elles confrontent les quatre joueurs en même temps. Il faut donc revoir les stratégies.
Cyatophilum Hors ligne Membre Points: 11 Défis: 0 Message

Citer : Posté le 10/06/2012 19:09 | #


Tous les joueurs ne peuvent rencontrer qu'un seul joueur à la fois. On garde le même tableau de points. Chaque joueur ne tombe plus en face d'un seul joueur mais de plusieurs au fil des manches. Voila pourquoi trahir à tous les coups ne rapportera pas le maximum de points.

Je me demandais juste comment organiser équitablement la rencontre entre les joueurs...

Je posterai mon code plus tard, car en basic il change à chaque fois que les stratégies changent. Je vais plutôt programmer le tout en C, pour les variables ça sera plus simple.

Edit: Voila comment je pense programmer le jeu: (je débute en C)


Début programme:

Chaque stratégie logera dans un fonction:
Fonction 1, stratégie 1 renvoie une valeur qui correspond à trahir ou coopérer.
Fonction2, stratégie 2... etc.

For 1-> NuméroManche To NombreDeManches
For 1-> NuméroJoueur To NombreDeJoueurs
Le joueur n°(valeur de la variable NuméroJoueur) rencontre 1 des 3 autres joueurs aléatoirement. Il choisit alors de coopérer ou non grâce au fonctions correspondantes.
Attribution des points
Next
Next
Afficher le score.

Dites moi ce que vous en pensez
1, 2, 3 Suivante

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 178 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd