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 :

Génération automatique d'équipes


Sujet :

Algorithmes et structures de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2011
    Messages : 40
    Points : 21
    Points
    21
    Par défaut Génération automatique d'équipes
    Bonjour,

    Je me fais un petit programme pour aider à gérer une équipe de volleyball. Je tente de faire un algorithme pour faire la génération automatique des équipes mais je ne parviens pas à voir comment je pourrais faire malheureusement. Est-ce que quelqu'un pourrais m'aider dans un premier temps en me donnant des pistes plutôt que la réponse ?

    Voici ce dont il faut prendre en compte (j'ai essayé de penser à tout)
    - x nombre de joueurs
    - x nombre d'équipes (principalement 4) = pour ça c'est facile à
    - équipes mixtes, donc il faudrait équilibrer le nombre de femme/homme si possible par équipe
    - j'ai noté les joueurs avec un niveau : A, B, C et D ce qui me permet d'essayer d'équilibrer un maximum les équipes

    Ce qui me bloque c'est la partie d'équilibrer femme/homme et surtout équilibrer les équipes.
    Car par exemple :

    équipe 1 équipe 2 équipe 3 équipe 4
    A A A B
    B B C C
    C C C D
    D D D D


    je voulais passer comme ça au début, mais on s'entend pour dire que c'est pas vraiment équilibré et ça prend pas en compte le sexe des joueurs..



    Merci de votre aide d'avance

  2. #2
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Août 2008
    Messages : 26 617
    Points : 188 587
    Points
    188 587
    Par défaut


    Très personnellement, mon approche (biaisée, certes) serait d'utiliser la programmation mathématique (https://fr.wikipedia.org/wiki/Optimi...%A9matiques%29) : définir une fonction objectif à minimiser (la disparité entre équipes, tant pour le sexe que le niveau), en utilisant une série de variables (ici, binaires : quel joueur dans quelle équipe) et en imposant des contraintes (taille des équipes, minimum un certain nombre d'hommes ou de femmes par équipe, etc.). C'est une solution très flexible, mais il faut un certain temps pour comprendre le principe .
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2011
    Messages : 40
    Points : 21
    Points
    21
    Par défaut
    Merci je vais regarder plus en détails mais ça à l'air bien compliqué


    Je suis preneuse si quelqu'un à d'autres idées

  4. #4
    Membre actif Avatar de cedd70
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Mars 2012
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2012
    Messages : 154
    Points : 263
    Points
    263
    Par défaut
    j'essaye de t'ecrire un bout de code

    Je verrais bien une moyenne pour chaque equipe et les moyenne de chaque equipe doit etre egaux entre eux

  5. #5
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 051
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 051
    Points : 9 386
    Points
    9 386
    Par défaut
    La solution classique pour ces prblème est basée sur la technique dite du Serpentin.
    C'est à dire, par exemple pour 5 équipes : ( 1 colonne par équipe)


    01 02 03 04 05
    10 09 08 07 06
    11 12 13 14 15
    20 19 18 17 16
    L'équipe °1 est donc composée des joueurs classés n°1 10 11 et 20. Si pour chaque joueur, tu n'as pas le rang, mais simplement une tranche ( A B C D) , tu peux parfaitement adapter.

    Reste le problème de léquilibre hommes femmes.
    Je procéderais ainsi :

    Pour les hommes :
    H01 H02 H03 H04 H05
    H10 H09 H08 H07 H06
    H11 H12 H13 H14 H15
    H20 H19 H18 H17 H16

    Pour les femmes :
    F05 F04 F03 F02 F01
    F06 F07 F08 FO9 F10
    F15 F14 F13 F12 F11

    L'équipe n°1 est donc composée des hommes n° 1 10 11 20 et des femmes n°5 6 et 15.

    Ici, mon exemple marche trop bien, parce que j'ai 20 hommes et 15 femmes, c'est parfait pour faire 5 équipes. Imaginons que j'ai 22 hommes et 13 femmes, ça donnerait :

    Pour les hommes :
    H01 H02 H03 H04 H05
    H10 H09 H08 H07 H06
    H11 H12 H13 H14 H15
    H20 H19 H18 H17 H16

    Pour les femmes :
    F05 F04 F03 F02 F01
    F06 F07 F08 FO9 F10
    H22 H21 F13 F12 F11

    Reste plus qu'à implémenter ça.
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  6. #6
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 242
    Points : 13 457
    Points
    13 457
    Par défaut
    Bonjour

    Peut-on être exhaustif ?
    Si on peut faire tous les cas possibles, faisons-le et calculons 2 scores (et non 1) pour trouver notre champion.

    Si on veut répartir 16 joueurs dans 4 équipes, il y a moins de 416=232~4 milliards de possibilités. C'est rien du tout pour un ordi.

    Pour les scores:
    • +1 pour les femmes
      -1 pour les hommes
      Calcul du score par équipe
      Calcul de l'écart-type de la situation.
      Et je cherche la solution la plus proche de zéro.
    • Recensement des niveaux
      Calcul de la moyenne de chaque équipe
      Calcul de l'écart-type de la situation
      Et je cherche le plus faible.
    • Désignation du champion
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2011
    Messages : 40
    Points : 21
    Points
    21
    Par défaut
    Bonjour,

    Merci pour votre aide avant tout

    @tbc92 : Je ne suis pas sur de comprendre comment tu définis tes joueurs selon les niveaux. Est-ce que tu pourrais me donner plus de détails stp ?


    @Flodelarab : Tu veux dire par exemple que pour chaque joueur j'ajoute un nombre selon le sexe et le niveau et enfin je choisi mes 4 premiers joueurs par exemple qui sont le plus proche de 0 ?
    Exemple :
    - +1 pour une femme
    - -1 pour un homme
    - et j'ajoute par exemple +1 selon chaque niveau : A = +1 ; B = +2 ; C = +3 et D = +4
    ?
    Est-ce que tu penses que ça fonctionnerait correctement si j'ai par exemple 17 joueurs pour 4 équipes ? L'équilibre fonctionnera tout de même ?

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2011
    Messages : 40
    Points : 21
    Points
    21
    Par défaut
    Je relance le sujet pour avoir les réponses svp

Discussions similaires

  1. [VB.NET] Génération automatique Property (getter / setter)
    Par Husqvarna dans le forum Windows Forms
    Réponses: 7
    Dernier message: 23/07/2020, 11h55
  2. [getters] génération automatique...
    Par phoebe dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 04/10/2005, 17h43
  3. [INFO]Génération automatique de pages HTML
    Par GreenJay dans le forum API standards et tierces
    Réponses: 6
    Dernier message: 28/09/2005, 16h29
  4. [Plugin]Gestion de génération automatique de code
    Par Maggic dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 11/05/2004, 11h35

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