Des idées pour gagner contre un joueur sur Pyrat
Répondre à la discussion
Affichage des résultats 1 à 17 sur 17

Des idées pour gagner contre un joueur sur Pyrat



  1. #1
    itslunyitsluny

    Des idées pour gagner contre un joueur sur Pyrat


    ------

    Bonjour tout le monde,
    SVP je suis en train de travailler sur Pyrat, en gros tu codes un algo sur Python pour permettre à un rat de manger les fromages dans une labyrinthe. Dans un premier temps j'ai codé un algo Greedy qui s'appuie sur Dijkstra pour trouver le plus proche morceau de fromage et le manger , de plus j ai ajouté le cas où l adversaire mange mon plus proche morceau et dans ce cas je change immediatement de chemain et je cherche un nouveau morceau de fromage (le plus proche bien sur). Enfin il me parait que ce Greedy est basique est je veux quelque chose plus interessante (au lieu de chercher à chaque fois le plus proche morceau de frommage,on peut definir un autre critere plus efficace), il ne faut surtout pas oublier qu'il y a un adversaire qui joue, il faut donc prendre en consideration ses decisions.Qu est ce que vous proposez comme solution?
    merci d avance

    -----

  2. #2
    umfred

    Re : Des idées pour gagner contre un joueur sur Pyrat

    peut-être cibler le fromage le plus éloigné de l'adversaire

  3. #3
    itslunyitsluny

    Re : Des idées pour gagner contre un joueur sur Pyrat

    Salut,
    Normalement le jeux commence de facon symetrique (par rapport à la distribution de frommages) donc le plus loin morceau pour l adversaire sera celui le plus loin de moi, du coup je ne crois pas que ca sera optimal.Par contre j ai une idee c est de determiner la zone ayant une densité de fromage assez grande puis de manger les frommages avec le Greedy . Qu est ce que vous en pensez ?

  4. #4
    itslunyitsluny

    Re : Des idées pour gagner contre un joueur sur Pyrat

    voici a quoi ressemble un jeu de Pyrat
    Nom : pyrat.jpg
Affichages : 184
Taille : 125,8 Ko

  5. A voir en vidéo sur Futura
  6. #5
    pm42

    Re : Des idées pour gagner contre un joueur sur Pyrat

    De nos jours, il y a des chances que les techniques d'apprentissage automatique soient les plus efficaces mais ce n'est pas immédiat à implémenter.

  7. #6
    MissJenny

    Re : Des idées pour gagner contre un joueur sur Pyrat

    vous jouez alternativement un coup chacun, comme au jeu d'échecs ? ou bien chacun va à sa façon et le plus rapide gagne? en d'autres termes, est-ce que tu as tout le temps que tu veux entre chaque coup?

  8. #7
    itslunyitsluny

    Re : Des idées pour gagner contre un joueur sur Pyrat

    De nos jours, il y a des chances que les techniques d'apprentissage automatique soient les plus efficaces mais ce n'est pas immédiat à implémenter.
    Je voudrais plutot un AI qui s'appuie sur une idée que l on pourra implementer.

  9. #8
    itslunyitsluny

    Re : Des idées pour gagner contre un joueur sur Pyrat

    vous jouez alternativement un coup chacun, comme au jeu d'échecs ? ou bien chacun va à sa façon et le plus rapide gagne? en d'autres termes, est-ce que tu as tout le temps que tu veux entre chaque coup?
    Le jeu est simultané , moi et l adversaire on bouge en meme temps.Autrement dit Pyrat prend la décision instantanée des deux joueurs (aller en haut,en bas ,à gauche, à droite ou ne pas bouger) et l'execute en meme temps. Le gagnant est celui qui mange plus de fromages.

  10. #9
    pm42

    Re : Des idées pour gagner contre un joueur sur Pyrat

    Citation Envoyé par itslunyitsluny Voir le message
    Je voudrais plutot un AI qui s'appuie sur une idée que l on pourra implementer.
    C'est difficilement compréhensible mais si par AI tu entends "Artificial Intelligence", c'est ce que je disais par "techniques d'apprentissage automatique" qui sont le sous-domaine de l'intelligence artificielle la plus pertinente pour ce problème, plus précisément le reinforcement learning.
    Sinon, il y aussi les algorithmes génétiques mais comme déjà dit, ce n'est pas immédiat à implémenter pour dire le moins.

    En classique, il y Dijkstra's et A* Search qui doivent marcher aussi ainsi que des plus simples bien sur.

  11. #10
    itslunyitsluny

    Re : Des idées pour gagner contre un joueur sur Pyrat

    En classique, il y Dijkstra's et A* Search qui doivent marcher aussi ainsi que des plus simples bien sur.
    C'est ce classique que je veux éviter
    J'ai implementé un greedy qui se base sur Dijkstra mais je voudrais un truc plus avancé.

  12. #11
    itslunyitsluny

    Re : Des idées pour gagner contre un joueur sur Pyrat

    Je voudrais un algo intelligent qui tient compte des décisions de l'adversaire et qui permet de manger plus de fromage. Comme je l'ai deja dit , j ai implementé un algo Greedy qui tient compte des decisions de l adversaire mais je cherche qqchose plus avancée.

  13. #12
    itslunyitsluny

    Re : Des idées pour gagner contre un joueur sur Pyrat

    svp j arrive pas à implementer un code qui oblige le rat à visiter les régions ayant les plus grandes densités tout d abord.Qu'est ce que vous proposez comme idée pour l implementation???

  14. #13
    MissJenny

    Re : Des idées pour gagner contre un joueur sur Pyrat

    comment est-ce que tu gères les murs? Parce qu'une concentration de fromages n'a pas la même valeur selon qu'il y a des murs au milieu ou pas.

  15. #14
    itslunyitsluny

    Re : Des idées pour gagner contre un joueur sur Pyrat

    les murs sont generés aléatoirement , meme chose pour les frommages et les boues. Cependant on peut gérer leurs pourcentages.

  16. #15
    itslunyitsluny

    Re : Des idées pour gagner contre un joueur sur Pyrat

    SVP je voudrais attribuer à chaque morceau de fromage un score qui permet d'avoir un bon résultat à la fin, puis je prendrai successivement les meilleurs résultats. Je ne sais quelle formule utiliser pour ce score ??

  17. #16
    umfred

    Re : Des idées pour gagner contre un joueur sur Pyrat

    nous non plus, on ne sait pas selon quels critères tu veux créer ton score

  18. #17
    itslunyitsluny

    Re : Des idées pour gagner contre un joueur sur Pyrat

    par exemple le score pour dependre de la distance au fromage, de la position du fromage (càd si le fromage est proche d'une densité assez élevé ca sera favorisé), de la distance de l'adversaire au fromage (parfois on sait que nous avons pas de chance de manger un morceau de fromage car dla distance entre nous et le fromage > à celle de l adversaire au fromage).Etc.

    Pour l'instant j'ai ecrit un score sous la forme s=p D + (1-p)d pour chaque fromage, p=n/n0 avec n le nombre de fromages restants et n0 le nombre de fromages à l etat initial. le D c est la distance entre le morceau de fromage et le centre de gravité de l ensemble des fromages restants (qui doit etre attiré par la plus grande densité) et d c'est la distance entre le rat est le morceau de fromage. Ainsi pendant la premiere partie du jeu le rat se dirige essentiellement vers les plus grandes densités( n'est ce pas ?) et à la fin du jeu il s'interesse au fromages les plus proches. Je veux donc améliorer cette formule pour tenir compte des autres facteurs dont j'ai parlé. J'espere que j ai repondu à ta question.

Discussions similaires

  1. fabriquer un buzzer pour 4 joueur
    Par invite5473e4a3 dans le forum Électronique
    Réponses: 12
    Dernier message: 04/05/2015, 20h25
  2. Contre les idées reçues sur le cancer
    Par invitefa2ef9a8 dans le forum Traitement et origine du cancer
    Réponses: 8
    Dernier message: 28/02/2011, 17h19