Consulte as perguntas frequentes
Algoritmos do Judo in Cloud
Os algoritmos que usamos
A seguir apresentamos os algoritmos que usamos no programa para todas as nossas operações. Acreditamos na transparência e na honestidade, e queremos fornecer-lhe todos os dados para lhe mostrar a correção do nosso trabalho.
Sorteios pré-competitivos
Para as categorias não competitivas, a ideia é dividir os atletas em várias mini pools de no máximo 4, fazendo várias poules em sistema de todos contra todos e procurando manter o mais afastadas possível as crianças do mesmo clube. Por exemplo, 5 atletas dão uma pool de 2 e uma de 3, 8 atletas dão 2 pools de 4 e 9 atletas dão 3 de 3.
Para cada categoria, pegamos na lista de atletas e ordenamo-los primeiro aleatoriamente e depois por clube. Depois criamos um número de torneios igual ao número de atletas a dividir por 4. Por fim, distribuímos os atletas como se estivéssemos a dar as cartas num jogo: o primeiro atleta para o primeiro quadro, o segundo para o segundo e assim sucessivamente.
Melhor de três
Para as categorias competitivas com dois atletas, o tipo de quadro que usamos é à melhor de três. Os atletas disputam dois combates e, se estiverem empatados em vitórias, é realizado um terceiro combate. Os atletas mantêm sempre a mesma cor de cinto e não trocam entre um combate e outro, para simplificar a entrada no tatami.
Poule (todos contra todos)
Para as categorias competitivas com três, quatro ou cinco atletas, o tipo de quadro que usamos é a poule em sistema de todos contra todos. Os atletas são ordenados aleatoriamente e depois são criadas todas as combinações com o método do círculo.
Para a classificação contam apenas os pontos de judo: Ippon, duplo Wazaari ou Hansoku Make do adversário valem 10 pontos, Wazaari vale 1 ponto. Caso dois atletas tenham a mesma pontuação, fica à frente o atleta que venceu o combate direto.
Dupla eliminação
Para as categorias competitivas com mais de cinco atletas, o tipo de quadro que usamos é o torneio de dupla eliminação (ou eliminação com repescagem).
Começamos por criar as posições do quadro, dividindo-as pelas quatro pools A,B,C,D, e depois ordenamo-las aleatoriamente. Por exemplo, para 16 atletas a pool A usa as posições 1,5,9,13 e nós podemos baralhá-las para 5,13,9,1 (obviamente a aleatoriedade é feita pelo computador e não manualmente).
Ordenamos depois os atletas por clube e atribuímos cada um a uma pool, como se estivéssemos a dar as cartas num jogo: o primeiro atleta para a pool A, o segundo para a B, o terceiro para a C, o quarto para a D, o quinto de novo para a A e assim sucessivamente. Quando damos um atleta a uma pool, atribuímos-lhe a ordem aleatória que criámos antes: por exemplo, o primeiro atleta fica na posição 5, o quinto atleta na posição 13 e assim sucessivamente. Desta forma garantimos que atletas do mesmo clube ficam divididos por várias pools e que cada pool é ordenada aleatoriamente. Temos agora os atletas numa ordem única que respeita o regulamento.
Para criar agora os combates, o algoritmo é muito interessante. Pegamos na potência de 2 mais próxima do número de atletas (8,16,32,...) e consideramos as posições extra que acrescentamos como lugares vazios no quadro. Partimos de uma sequência de números (array, para os informáticos) que contém apenas o número 1. Em cada ciclo, acrescentamos à direita de cada número o mesmo número somado ao ciclo em que estamos. Por exemplo:
- 1: 1
--> soma 1 a cada elemento e acrescenta à direita
- 2: 1 2
--> soma 2 a cada elemento e acrescenta à direita
- 4: 1 3 2 4
--> soma 4 a cada elemento e acrescenta à direita
- 8: 1 5 3 7 2 6 4 8
--> soma 8 a cada elemento e acrescenta à direita
- 16: 1 9 5 13 3 11 7 15 2 10 6 14 4 12 8 16
Para as repescagens, inserem-se nas posições corretas os atletas que perderam contra um dos semifinalistas.
Para a classificação final, consideram-se os vencedores e os derrotados das várias finais.
Cálculo do número e da duração dos combates
Para calcular a estimativa da duração de um escalão etário, fazemos n combates ✕ (tempo de combate + 1 minuto extra) / n tatamis. Por exemplo, 100 combates de 2 minutos cada numa competição com 3 tatamis duram, indicativamente, 100 ✕ (2+1) / 3 = cerca de 100 minutos, ou seja, uma hora e quarenta.
O cálculo dos combates de uma categoria pode ser feito a partir do número de atletas (chamemos-lhe n).
- Melhor de três: contamos 2 combates;
- Poule (todos contra todos): (n² - n) / 2
- Poule pré-competitiva: fazem-se os cálculos das várias mini poules em sistema de todos contra todos
- Dupla eliminação: existe uma fórmula específica. Temos, do quadro principal, (n - 1) combates + das repescagens (4 ✕ (log₂nn - 2)), em que nn é a potência de 2 mais próxima de n. Se a notação (log₂nn) confundir, é simplesmente o número de colunas com combates do quadro principal. A demonstração fica a cargo do leitor :P
Classificação dos clubes
Para a classificação dos clubes, os pontos atribuídos com base nas posições dos atletas são os seguintes:
- 1: 10
- 2: 8
- 3: 6
- 4: 4
- 5: 4 (apenas nos torneios de dupla eliminação)
Atribuição automática de torneios
Para dividir automaticamente os quadros pelas mesas, o método é simples. Antes de mais, ordenamos os quadros por ordem decrescente do número de combates.
Nesta altura, damos um torneio de cada vez ao tatami com menos combates. Desta forma garantimos a divisão ótima dos combates, partindo, no entanto, do princípio de que os combates são iguais. Não fazemos distinção entre escalões etários diferentes (que podem ter tempos de combate diferentes) nem entre categorias (as mais leves demoram, em média, menos tempo do que as mais pesadas). Use esta função com moderação.