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 :

Calcul du classement d'équipes de football


Sujet :

Algorithmes et structures de données

  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2003
    Messages
    142
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 142
    Par défaut Calcul du classement d'équipes de football
    Bonjour,


    Je suis à la recherche d'un algorithme me permettant de calculer le classement des équipes à partir de critères prédéfinis qu'on peut changer d'ordre.

    Ex :


    --1: les points entre toutes les équipes

    --2: différence de buts entre toutes les équipes

    --3: buts marqués entre toutes les équipes

    --4: les points entre les équipes à égalité

    --5: différence de buts entre les équipes à égalité

    --6: buts marqués entre les équipes à égalité

    --7: buts marqués à l'extérieur entre les équipes à égalité

    --8: fairplay

    Une IHM permettrait donc d'ordonner ces critères à la convenance de l'utilisateur.

    Il me semble qu'il doit être récursif notamment pour le calcul de statistiques particulières (différence de buts particulière...). J'avais pris un exemple dans lequel il y avait 3 équipes à égalité parfaite et en calculant les buts marqués à l'extérieur entre ces 3 équipes, j'arrivais à les départager mais deux d'entre elles étaient encore à égalité, je réappliquais donc le calcul des buts à l'extérieur entre ces deux équipes.

    En vous remerciant d'avance pour votre aide.

  2. #2
    Expert confirmé
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Par défaut
    Rien de récursif, il y a huit critères : il y aura donc 8 conditions ...

    Une idée pour simplifier tout ça, c'est de passer par un nombre pour qualifier tes équipes. ie:

    Tu met le nombre de points sur deux chiffres, c'est le début de ton nombre, ensuite, la difference de buts est sur 4 chiffres (le signe puis la différence), et ainsi de suite pour tous tes critères. A la fin, tu obtiens donc des grand nombres formés par tes critères, un tri alphabétique simple permet ensuite de trier tes équipes.

    L'avantage de cette méthode, c'est que tu peux interchanger tes critères, et la méthode de tri restera la même.

  3. #3
    Membre confirmé
    Inscrit en
    Novembre 2003
    Messages
    142
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 142
    Par défaut
    Citation Envoyé par PRomu@ld
    Rien de récursif, il y a huit critères : il y aura donc 8 conditions ...

    Une idée pour simplifier tout ça, c'est de passer par un nombre pour qualifier tes équipes. ie:

    Tu met le nombre de points sur deux chiffres, c'est le début de ton nombre, ensuite, la difference de buts est sur 4 chiffres (le signe puis la différence), et ainsi de suite pour tous tes critères. A la fin, tu obtiens donc des grand nombres formés par tes critères, un tri alphabétique simple permet ensuite de trier tes équipes.

    L'avantage de cette méthode, c'est que tu peux interchanger tes critères, et la méthode de tri restera la même.
    Pourquoi la différence de buts sur 4 chiffres ? Ex: +12 (3 suffisent ?).

    Peux-tu me donner un exemple concret ?

    Ta méthode me semble judicieuse mais si je parlais de récursivité c'est à cause des critères particuliers. Par exemple, le calcul de la différence de buts particulière ne se fait que parmi les équipes étant déjà à égalité contrairement au calcul de la différence de buts générale.

    J'ai d'ailleurs un exemple pour illustrer la situation. Je le posterai ce soir (je ne l'ai pas sur moi).

  4. #4
    Expert confirmé
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Par défaut
    Pourquoi la différence de buts sur 4 chiffres ? Ex: +12 (3 suffisent ?).
    Parce que je considérais des cas où l'on pouvait avoir des équipes avec une différence de but sur plus de deux chiffres (comme tu n'as pas précisé le sport ...)


    Peux-tu me donner un exemple concret ?
    Si tu ne consièdes que deux critères : les points et la différence de buts :

    Les points sont toujours positifs (enfin tout dépend du sport), pour la différence de but, on les codes sur 4 chiffres : le signe et trois valeurs. Pour un nombre positif, je considère un 1 puis le nombre. Pour un nombre négatif, tu peux avoir plusieurs solutions. je considère moi 999 - la différence de buts (pour avoir un classement inverse).

    Ex :

    Equipe 1 :
    points -> 30;
    différence -> +10;
    codage : 301010.

    Equipe 2:
    points -> 31;
    différence -> -20:
    codage : 310979;

    Equipe 3 :
    points -> 31;
    différence -> -10;
    codage : 310989;

    comme :

    310989 > 310979 > 301010 on a le classement associé :

    Equipe 3
    Equipe 2
    Equipe 1.

    C'est généralisable a plus de critères (attention au codage des nombre pour éviter les débordements).

  5. #5
    Membre confirmé
    Inscrit en
    Novembre 2003
    Messages
    142
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 142
    Par défaut
    Le sport est précisé dans le titre

    Imagine-toi maintenant que tes Equipes 1 et 2 aient les mêmes points et la même différence de buts et que le troisième critère est la différence de buts uniquement entre les équipes à égalité, dans notre cas donc Equipe 1 et Equipe 2.

    Ton algo semble fonctionner uniquement pour un classement selon des critères généraux à toutes les équipes.

  6. #6
    Expert confirmé
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Par défaut
    En fait, la différence de but particulière peut peut-être faire l'objet d'un test particulier en effet. Je n'ai jamais dis que ce que je proposais était la bonne solution. Le fait est que la différence de but particulière n'est pas régie par les mêmes règles que les autres critères.

  7. #7
    Membre confirmé
    Inscrit en
    Novembre 2003
    Messages
    142
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 142
    Par défaut
    Je prends un cas extrême avec 3 équipes pour illustrer l'algorithme que je recherche :

    Soient 3 équipes a, b et c ayant réalisé les matches suivants :
    a-b 2-1
    a-c 0-1

    b-a 1-0
    b-c 0-1

    c-a 1-2
    c-b 1-2

    Matches retour :
    b-a 1-0
    c-a 1-2

    a-b 2-1
    c-b 1-2

    a-c 0-1
    b-c 0-1

    Les 3 équipes sont donc à égalité parfaite :
    6 points 4 buts marqués 4 buts encaissés et donc 0 différence de buts

    Inutile de calculer les points, buts marqués et encaissés entre ces 3 équipes car ce sont les mêmes que les statistiques générales puisqu'il n'y a que 3 équipes et les 3 sont à égalité (points au général = points particuliers, BM au total = BM entre équipes à égalité...).

    On passe donc au calcul du but à l'extérieur entre les 3 équipes et on aboutit au résultat suivant :
    a 2 buts à l'ext
    b 3 buts à l'ext
    c 2 buts à l'ext

    b est donc premier mais il reste à départager b et c.
    On réapplique donc ce critère sur les deux équipes (il faut calculer les buts marqués à l'extérieur entre ces 2 équipes) et on obtient :
    a-c 0-1
    c-a 1-2 -> a marque 2 buts à l'ext > c (1 but marqué)

    Le classement est donc b, a, et c.

    Mais quelle est la condition d'arrêt pour éviter que l'algo boucle indéfiniment (supposons par exemple que a et c n'aient pas été départageables).

Discussions similaires

  1. [AC-2010] classement par équipe
    Par raiamanu dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 17/10/2011, 12h01
  2. [MySQL] Faire une table classement ou calculer le classement à chaque fois?
    Par Snipy dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 21/09/2010, 17h45
  3. Calcul du classement d'équipes de football
    Par patrick2010 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 28/02/2010, 22h49
  4. [MySQL] Calcul de classement
    Par Seb33300 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 15/06/2007, 15h06
  5. classement des équipes
    Par petchy dans le forum Modélisation
    Réponses: 6
    Dernier message: 10/12/2006, 08h20

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