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 :

Système suisse - comment éviter que 2 joueurs se rencontrent à nouveau ?


Sujet :

Algorithmes et structures de données

  1. #1
    Membre à l'essai
    Système suisse - comment éviter que 2 joueurs se rencontrent à nouveau ?
    Bonjour,
    Dans le système suisse, on veut éviter que 2 joueurs se rencontrent à nouveau.
    OK, donc si l'appariement de A le fait rencontrer B qu'il a déjà rencontré, le principe consiste à chercher un joueur proche du classement de B...Soit.
    Mais si j'apparie A à C, un nouveau conflit peut exister (B et D appariés ont déjà joué) et ainsi de suite...
    Donc, en détail, quel est l'algorithme pour apparier en évitant les matchs déjà apparus?

    Avec un exemple

    1er tour
    1-8: Victoire de 1
    2-7: Victoire de 2
    3-6: Victoire de 3
    4-5: Victoire de 4

    Classement / 1er tour: : 1, 2, 3, 4, 5, 6, 7, 8
    2è tour
    1-2: Victoire de 1
    3-4: Victoire de 3
    5-6: Victoire de 5
    7-8: Victoire de 7

    Classement / 2è tour: : 1, 3, 4, 5, 2, 7, 6, 8
    3è tour:
    * 1-3
    * 4-5 => Déjà joué.
    Je tente 4-3. Ah mince, déjà joué et 3 déjà apparié.
    Alors 4-2, 5-7 et 6-8

    Donc, quel est l'algorithme pour trouver un nouvel appariement satisfaisant la contrainte de ne pas rejouer un match déjà joué?

    Merci d'avance.

  2. #2
    Expert éminent sénior
    Bonjour

    Il n'y a pas qu'un système suisse et ta question dépend du contexte et des départages choisis.

    De toute façon, le but n'est pas de faire que tout le monde rencontre tout le monde.
    Donc au bout d'un certain nombre de tours, le classement obtenu n'est pas trop loin de la réalité des niveaux.
    Et les blocages sont quasiment impossibles.
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  3. #3
    Membre à l'essai
    Citation Envoyé par Flodelarab Voir le message
    De toute façon, le but n'est pas de faire que tout le monde rencontre tout le monde.
    Oui ça j'avais compris.
    Là n'est pas ma question.

    Ma question porte sur la résolution des "conflits" d'appariement qui donnent un match déjà apparu.
    J'ai modifié mon message initial avec un exemple (très simple).

  4. #4
    Expert éminent sénior
    Je tente 4-3
    Faute ! Tu ne remontes pas. Comme tu apparies en fonction du classement, tu n'as pas besoin de remonter puisque tous les joueurs plus hauts ont déjà trouvé chaussure à leur pied.

    Tu as toi-même décrit l'algorithme.
    Il n'y a pas de miracle. Les règlements stipulent des permutations de dernier moment en cas de conflit et ... on fait tous les cas jusqu'à ce que ça marche; en gênant d'abord les joueurs les plus faibles au classement.
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  5. #5
    Membre habitué
    Citation Envoyé par bouquetin Voir le message
    Oui ça j'avais compris.
    Là n'est pas ma question.

    Ma question porte sur la résolution des "conflits" d'appariement qui donnent un match déjà apparu.
    J'ai modifié mon message initial avec un exemple (très simple).
    Pour répondre à ta dernière question, je ne ferais pas simple je mettrais les deux noms associés dans un tableau à deux dimensions, et parallèlement je lèverais un flag à 1 que je mettrais en dimension une du tableau, genre (1, dupont-delcourt), à chaque tirage je consulterais le tableau et comparerais les chaines des noms.
    Sûr qu'il doit y avoir plus simple.
    D'ailleurs, tu peux mettre les match joués (nomA-nomB) dans un tableau et tester le tableau.
    Savoir pour comprendre et vice versa.