Consultez la FAQ

Les algorithmes de Judo in Cloud

Les algorithmes que nous utilisons

Vous trouverez ci-dessous les algorithmes que nous utilisons dans le programme pour toutes nos opérations. Nous croyons en la transparence et en l'honnêteté, et nous voulons vous fournir toutes les données pour vous montrer l'exactitude de notre travail.

Tirages au sort des catégories jeunes non compétitives

Pour les catégories non compétitives, l'idée est de répartir les athlètes en de nombreuses mini-poules de 4 au maximum, en organisant plusieurs poules en toutes rondes, tout en cherchant à éloigner le plus possible les enfants d'un même club. Par exemple, 5 athlètes deviennent une poule de 2 et une de 3, 8 athlètes 2 poules de 4 et 9 athlètes 3 poules de 3.

Pour chaque catégorie, nous prenons la liste des athlètes, nous les trions d'abord de façon aléatoire, puis par club. Ensuite, nous créons un nombre de tournois égal au nombre d'athlètes divisé par 4. Enfin, nous distribuons les athlètes comme on distribue les cartes dans un jeu : le premier athlète au premier tableau, le deuxième au deuxième, et ainsi de suite.

Au meilleur des trois

Pour les catégories compétitives avec deux athlètes, le type de tableau que nous utilisons est le meilleur des trois. Les athlètes disputeront deux combats et, s'ils sont à égalité de victoires, un troisième combat aura lieu. Les athlètes gardent toujours la même couleur de ceinture et ne l'inversent pas d'un combat à l'autre, pour simplifier l'entrée sur le tatami.

Poule en toutes rondes

Pour les catégories compétitives avec trois, quatre ou cinq athlètes, le type de tableau que nous utilisons est la poule en toutes rondes (tous contre tous). Les athlètes sont triés de façon aléatoire, puis toutes les combinaisons sont créées avec la méthode circulaire.

Pour le classement, seuls les points de judo sont comptés : un Ippon, un double Wazaari ou un Hansoku Make de l'adversaire valent 10 points, un Wazaari vaut 1 point. Si deux athlètes ont le même score, l'athlète qui a gagné le combat direct est classé devant.

Double élimination

Pour les catégories compétitives avec plus de cinq athlètes, le type de tableau que nous utilisons est le tournoi à double élimination (ou élimination avec repêchage).

Nous commençons par créer les positions du tableau en les répartissant entre les quatre poules A,B,C,D, puis nous les trions de façon aléatoire. Par exemple, pour 16 athlètes, la poule A utilise les positions 1,5,9,13 et nous pouvons les rendre aléatoires en 5,13,9,1 (bien entendu, le tirage aléatoire est fait par l'ordinateur et non manuellement).

Nous trions ensuite les athlètes par club et nous attribuons chacun à une poule, comme si nous distribuions les cartes dans un jeu : le premier athlète à la poule A, le deuxième à la B, le troisième à la C, le quatrième à la D, le cinquième de nouveau à la A, et ainsi de suite. Lorsque nous attribuons un athlète à une poule, nous lui attribuons l'ordre aléatoire que nous avons créé auparavant : par exemple, le premier athlète sera en position 5, le cinquième athlète en position 13, et ainsi de suite. De cette façon, nous nous assurons que les athlètes d'un même club sont répartis entre plusieurs poules et que chaque poule est triée de façon aléatoire. Nous avons maintenant les athlètes dans un ordre unique qui respecte le règlement.

Pour créer maintenant les combats, l'algorithme est très intéressant. Nous prenons la puissance de 2 la plus proche du nombre d'athlètes (8,16,32,...) et nous considérons les positions supplémentaires ajoutées comme des places vides dans le tableau. Nous partons d'une suite de nombres (un array, pour les informaticiens) qui contient uniquement le nombre 1. À chaque cycle, nous ajoutons à droite de chaque nombre ce même nombre additionné au cycle en cours. Par exemple :

- 1: 1

--> ajouter 1 à chaque élément et l'ajouter à droite

- 2: 1 2

--> ajouter 2 à chaque élément et l'ajouter à droite

- 4: 1 3 2 4

--> ajouter 4 à chaque élément et l'ajouter à droite

- 8: 1 5 3 7 2 6 4 8

--> ajouter 8 à chaque élément et l'ajouter à droite

- 16: 1 9 5 13 3 11 7 15 2 10 6 14 4 12 8 16

Pour les repêchages, on place aux positions correctes les athlètes qui ont perdu contre l'un des demi-finalistes.

Pour le classement final, on prend les vainqueurs et les perdants des différentes finales.

Calcul du nombre et de la durée des combats

Pour estimer la durée d'une catégorie d'âge, nous calculons n combats ✕ (durée du combat + 1 minute supplémentaire) / n tatamis. Par exemple, 100 combats de 2 minutes chacun dans une compétition avec 3 tatamis dureront approximativement 100 ✕ (2+1) / 3 = 100 minutes environ, soit une heure et quarante minutes.

Le nombre de combats d'une catégorie peut être calculé à partir du nombre d'athlètes (appelons-le n).

- Au meilleur des trois, on compte 2 combats ;

- Poule en toutes rondes, (n² - n) / 2

- Poule des catégories jeunes non compétitives, on fait les calculs des différentes mini-poules en toutes rondes

- Double élimination, il existe une formule spécifique. Nous avons, pour le tableau principal, (n - 1) combats + pour les repêchages (4 ✕ (log₂nn - 2)), où nn est la puissance de 2 la plus proche de n. Si la notation (log₂nn) prête à confusion, il s'agit simplement du nombre de colonnes de combats du tableau principal. La démonstration est laissée au lecteur :P

Classement des clubs

Pour le classement des clubs, les points attribués en fonction des places des athlètes sont les suivants :

- 1: 10

- 2: 8

- 3: 6

- 4: 4

- 5: 4 (uniquement dans les tournois à double élimination)

Attribution automatique des tournois

Pour répartir automatiquement les tableaux entre les tables, la méthode est simple. Tout d'abord, nous trions les tableaux par ordre décroissant selon le nombre de combats.

Ensuite, nous attribuons un tournoi à la fois au tatami qui a le moins de combats. De cette façon, nous garantissons la répartition optimale des combats, en supposant toutefois que les combats sont identiques. Nous ne faisons pas de distinction entre des catégories d'âge différentes (qui ont peut-être des durées de combat différentes) ni entre les catégories de poids (les plus légères prennent en moyenne moins de temps que les plus lourdes). Utilisez cette fonction avec modération.