IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

Question d'algorithmie Hexapawn (programmation dynamique et récursivité)


Sujet :

Algorithmes et structures de données

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2021
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 24
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2021
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Question d'algorithmie Hexapawn (programmation dynamique et récursivité)
    Bonjour,
    J'essai de répondre à un exercice mais je bloque à un endroit, quelqu'un peut il m'aider s'il vous plait?
    Je dois programmer un jeu d'Hexapawn ( comme un jeu d'échec simplifié avec nxm cases et uniquement des pions qui peuvent avancer d'une seule case tout droit ou manger un pion adverse en diagonale)

    J'ai déjà programmé le jeu lorsque deux humains jouent mais pour la version avec une IA, je dois utiliser la programmation dynamique avec quelques indication. Je n'ai pas besoin que l'on me donne le code mais juste d'une explication.

    D'après l'énoncé :
    "A chaque configuration on associe une valeur, qui exprime à quel point elle est favorable au joueur dont
    c’est le tour. La valeur d’une configuration est l’entier +k si le joueur dont c’est le tour peut gagner en maximum k coups, quoi que fasse l’autre (il peut gagner plus vite si l’autre joue mal) ; la valeur est l’entier −k si le joueur dont c’est le tour ne peut pas gagner mais qu’il peut survivre au moins k coups face à un adversaire optimal (mais il peut éventuellement gagner ou survivre plus longtemps si son adversaire commet des erreurs). La valeur est 0 si le joueur dont c’est le tour a perdu (par exemple parce qu’il ne peut pas jouer, ou bien parce qu’un pion adverse a atteint la dernière rangée)
    ." Jusque là je comprend que je vais devoir faire ça de façon récursive
    Nom : Capture d’écran 2021-10-19 à 15.24.01.png
Affichages : 341
Taille : 214,4 Ko

    Mais avec cette partie de l'énoncé je ne comprend pas bien comment c'est possible

    Intuitivement je partirai sur une fonction récursive avec comme critère d'arret lorsque le joueur est bloqué ou que l'adversaire est bloqué
    sinon j'utiliserai la formule max (des (successeurs + 1) *-1 (si ils sont négatifs) ou (successeurs - 1 )*-1 si ils sont négatifs )

    Mais je ne vois pas pourquoi ça nous donnerai le bon résultat j'ai essaye de me représenté plusieurs situation de jeu et je ne tombe jamais sur un cas ou la formule fonctionne.

    Peut être que j'ai mal compris
    Je serais très reconnaissante si quelqu'un pouvait m'aider à comprendre

    Merci d'avance

  2. #2
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2021
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 24
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2021
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    J'ai finalement réussi

  3. #3
    Expert éminent sénior
    Avatar de Escapetiger
    Homme Profil pro
    Administrateur système Unix - Linux
    Inscrit en
    Juillet 2012
    Messages
    1 477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Administrateur système Unix - Linux

    Informations forums :
    Inscription : Juillet 2012
    Messages : 1 477
    Points : 11 059
    Points
    11 059
    Par défaut
    Citation Envoyé par Charlie21 Voir le message
    J'ai finalement réussi
    Dans un autre registre, je haïs les débutants qui posent une question qui pourrait m'être utile, résolvent leur problème eux-même, le signalent sur le topic et se barrent sans mettre la solution.
    Source: ici

    Forums d'entraide : les développeurs professionnels sont-ils trop fiers pour aider les débutants ? Quelles expériences en gardez-vous ?
    « Developpez.com est un groupe international de bénévoles dont la motivation est l'entraide au sens large » (incl. forums developpez.net)
    Club des professionnels en informatique

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Questions]Le langage de programmation Binaire existe t-il ?
    Par Nasky dans le forum Langages de programmation
    Réponses: 30
    Dernier message: 16/11/2012, 09h09
  2. question sur les frames en dynamique
    Par jypees dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 11/12/2007, 14h08
  3. PHP en tant que langage de programmation dynamique
    Par hatem10 dans le forum Langage
    Réponses: 1
    Dernier message: 26/01/2007, 19h53
  4. question simple sur les select dynamiques
    Par grinder59 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 24/01/2006, 15h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo