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

Développement 2D, 3D et Jeux Discussion :

coup alpha beta


Sujet :

Développement 2D, 3D et Jeux

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 80
    Points : 56
    Points
    56
    Par défaut coup alpha beta
    bonjour , j'ai utilisé cette algoritheme pour améliorer le temps d'execution d'un jeu qui ressemble au jeu d'echec et ça n'a pas marcher je ne sais pas pourquoi ..y a t'il un autre outils pour le faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    /********************************************************/
     
    int ALPHABETA(Tjeu*p, int alpha, int beta,int mode,int aniv,Tjeu* n_max) 
    /*  p noeud raciune , mod max ou min , aniv c la profondeur alpha est toujours inférieur à beta */
    {
       int Val;
    Tjeu* pf=NULL;
       if((aniv==0)||feuille(p->array))// est une feuille alors retourner la valeur de P
       {return(Val=evaluer(p->array));}
       else
       {
                Tjeu* j =succ(p,mode);//tous les successeurs possibles
             if(p->fils){pf=p->fils;}
             while(pf)//pour tout fils Pi de P faire
             {
             if (mode==-1) //est un nœud Min alors
             {
            Val = ALPHABETA(pf, alpha, beta,1,aniv-1,n_max);
                   if (Val<beta){beta=Val;}//beta = Min(beta, Val);
                   if (alpha >= beta){return (beta);} /* coupure alpha */
              }
     
             if (mode==1) //est un nœud max alors
             {
                    Val = ALPHABETA(pf, alpha, beta,-1,aniv-1,n_max);
                   if ((Val>alpha)||((Val==alpha)&&((rand()%2))))
                    {
                    alpha=Val;
     
                    if(aniv==niveau){copi_n(n_max,pf);}//garder chemin de meilleur
                    }//alpha = Max(alpha, Val) et pointer le noeud max
                   if (alpha >= beta){return (alpha);} /* coupure beta */
     
             }
              pf=pf->frere;
             }
             liber_succ(j);
                   if (mode==+1){return (alpha);}
                   if (mode==-1){return (beta);}
       }
     
     
    }//fin
    //*****************************************************

  2. #2
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Bonjour,

    la remarque "Ca ne marche pas", n'aide pas beaucoup. Ton code est mal indenté donc difficile à lire. Il faut expliquer ce qui ne marche pas et montrer ce qui marchait avant.

    Ensuite, ce n'est pas un autre outil qu'il te faut mais un algorithme bien que alpha-beta soit tout de même adapté dans ce genre de cas.

    Jc

Discussions similaires

  1. Utilisation de l'algorithme d'élagage alpha-beta
    Par pottiez dans le forum Télécharger
    Réponses: 0
    Dernier message: 30/11/2010, 16h42
  2. Algorithme d'élagage alpha-beta en java appliqué au jeu du morpion 3*3
    Par sampaiX dans le forum Intelligence artificielle
    Réponses: 4
    Dernier message: 06/05/2010, 14h38
  3. [Alpha/beta] Comprendre l'algorithme
    Par Clad3 dans le forum Intelligence artificielle
    Réponses: 1
    Dernier message: 15/01/2007, 11h50
  4. Algorithme Minimax/Alpha-Beta
    Par Guybrush Threepwood dans le forum Flash
    Réponses: 2
    Dernier message: 14/03/2006, 12h01

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