Autor Tema: Solución al problema de creación de los campeonatos de deportes

0 Usuarios y 2 Visitantes están viendo este tema.

07 Septiembre, 2013, 06:51 pm
Leído 4018 veces

chemari

  • $$\Large \color{#6a84c0}\pi$$
  • Mensajes: 1
  • Karma: +0/-0
  • Sexo: Masculino
Saludos a todos y a todas. Este es mi primer post en estos foros.
Llevo unos dias leyendo posts como visitante y veo que hay unos cuantos que solicitan el algoritmo para la creación de campeonatos tipo liga.

Hace bastantes años que lo tengo implementado en http://fsfraga.22520.eu/, en PHP, pero aquí es interesante mostrar el algoritmo general para que lo podáis implementar a voluntad.

Pondré un ejemplo con seis equipos participantes. El razonamiento se puede extender a cualquier número de equipos. Si es impar, basta con que se complete a par con un equipo ficticio (llamado 'descansa', por ejemplo).

Los equipos 1, 2, 3, 4, 5 y 6 forman la primera jornada:

\( \begin{bmatrix}{1}&{-}&{2}\\{3}&{-}&{4}\\{5}&{-}&{6}\end{bmatrix} \)

El primer equipo va a ser un elemento 'pivote' que alternará SIEMPRE, la primera posición y la última del cuadro. En las jornadas pares, ese pivote empujará, desde su posición última, a los equipos en un zig-zag hacia arriba.

Por tanto, la segunda jornada será:

\( \begin{bmatrix}{2}&{-}&{3}\\{4}&{-}&{5}\\{6}&{-}&{1}\end{bmatrix} \)

En las jornadas impares el 'pivote' pasará a la primera posición y quedará fijo el equipo situado en segunda posición, con el que compite. Al que saca de su sitio lo hace empujar hacia abajo, también en zig-zag, a los demás equipos excepto el situado en penúltima posición (con el que había jugado el pivote), que queda fijo.

La tercera jornada, entonces, queda así:

\( \begin{bmatrix}{1}&{-}&{3}\\{5}&{-}&{2}\\{6}&{-}&{4}\end{bmatrix} \)

y las dos últimas jornadas:

\( \begin{bmatrix}{3}&{-}&{5}\\{2}&{-}&{6}\\{4}&{-}&{1}\end{bmatrix} \)     y     \( \begin{bmatrix}{1}&{-}&{5}\\{6}&{-}&{3}\\{4}&{-}&{2}\end{bmatrix} \)

con lo que se acaban las rondas.

Los gestores de ligas profesionales alteran la secuencia de las jornadas dependiendo de intereses y para dificultar el descubrimiento del algoritmo. La verdad es que me costó encontrarlo...

Espero que esto ayude a quien lo necesite.

09 Septiembre, 2013, 05:35 pm
Respuesta #1

Luis Fuentes

  • el_manco
  • Administrador
  • Mensajes: 58,871
  • País: es
  • Karma: +0/-0
Hola

 Bienvenido al foro y gracias por tu aporte.

 Una variante del problema algo más complicada también ha sido planteada en numerosas ocasiones en el foro. Se trata no sólo de organizar la tabla de enfrentamientos, sino organizar equipos que varían entre un grupo de individuos de manera que haya simetría en el número de veces que cada uno se enfrenta a los demás o lo tiene de compañero.

 La solución a este problema esta descrita en el enlace (en inglés) que se sugiere aquí:

http://rinconmatematico.com/foros/index.php?topic=57491.0

Saludos.