Autor Tema: Cuadro de competición

0 Usuarios y 1 Visitante están viendo este tema.

12 Febrero, 2007, 10:51 am
Leído 15217 veces

ulises2010

  • $$\Large \color{#6a84c0}\pi$$
  • Mensajes: 10
  • Karma: +0/-0
Hace unos meses os pedía ayuda para organizar una competición de padel y la ayuda recibida fue, aparte de rápida y sencilla, sumamente útil.

El caso es que ahora se me ha planteado organizar otra competición pero con unas premisas diferentes y me gustaría ver si también esta vez podéis ayudarme.

En la competición vamos a jugar 13 personas, y queremos organizar entre 5 y 10 partidos de fútbol en los que se jugaran 4 contra 4.... ¿existe algún medio matemático para poder hacer los equipos del modo más repartido posible, es decir, que todos jueguen con todos y contra todos?

Muchas gracias por vuestra ayuda.

12 Febrero, 2007, 12:12 pm
Respuesta #1

Jabato

  • Visitante
Si he entendido bién el enunciado debe ocurrir que un jugador cualquiera juegue con y contra todos los demás jugadores, da igual en que partido ó en que equipo ocurra esto.

Utiliza el siguiente criterio:

Numera a los jugadores del 1 al 13.

Elige como capitanes de los equipos, en cada partido, a los dos jugadores que han jugado menor número de veces (si existen varios candidatos en igualdad de condiciones elegir a los que tengan el número más bajo), y haz que cada capitán elija a sus tres compañeros de equipo entre los jugadores que nunca han jugado, que nunca han jugado con él, ó que lo han hecho un menor número de veces, y por este orden de preferencia claro. En caso de haber dos ó más posibles opciones con iguales condiciones se debe adaptar la elección a las necesidades del capitán contrario si las tiene y si éste es indiferente a la elección, que elija a los jugadores que tengan el número más bajo de entre los candidatos en igualdad de condiciones.

Si existe una solución a tu problema, ésta debería ser la que te dé este algoritmo, creo. Aunque una cosa es decirlo y otra demostrarlo, claro.

Claro, como siempre se da preferencia a los jugadores que no han ocupado el puesto (de capitán ó de compañero) pues la cosa debería ser lo más distribuida posible me parece a mí.

Este algoritmo equivale a asignar a cada par de jugadores (a, b) unos valores relativos entre ambos de forma que b tendrá un valor para a y a tendrá un valor para b, en función del número de veces que ha jugado cada uno y del número de veces que han jugado juntos.

Si cada capitán, en cada partido, conoce el valor que tienen para él los demás jugadores, solo tiene que elegir a los tres de menor valor y en caso de empate entre varios elegir a los que tengan mayor valor para el capitan contrario.

Habrá ahora que asignar a cada jugador un número de puntos por cada partido jugado y otro por cada partido jugado con el capitán correspondiente, para saber la valoración que le hace su capitán. Probablemente 1 punto en cada caso sea suficiente, es decir que ambos sucesos son equivalentes, aunque se puede intentar dar prioridad a uno u otro suceso variando esos puntages y una buena solución parece 2 puntos por partido jugado y 1 punto por cada partido en que han coincidido.

Creo que así se resuelve la cosa, ya que cuando se cumplan las condiciones exigidas (todos con todos y todos contra todos) el campeonato podría terminar. ¿Cuantos partidos harían falta? Pues no muchos creo aunque no veo la forma de calcularlos. Se puede intentar acotar ese número de alguna manera.

Sé que algunos números vendrían bién, pero no está fácil hacer números en este problema.

Saludos, Jabato.

12 Febrero, 2007, 12:24 pm
Respuesta #2

Jabato

  • Visitante
Otra cosa más, gracias a que los jugadores están numerados de 1 al 13 es imposible que haya dos jugadores que tengan la misma valoración para un capitan, ya que si existieran dos con idéntico puntaje para ambos capitanes siempre deberá tener preferencia el que tenga el número menor. Esto solo quiere decir que si programamos un ordenador para que establezca los equipos en base a los criterios expuestos, solo existe una posible elección en cada momento luego la secuencia de partidos y equipos es única, bastará averiguar en que momento se cumplen las condiciones requeridas para detener el proceso, y saber cuantos partidos hay que jugar.

Saludos, Jabato.

12 Febrero, 2007, 12:30 pm
Respuesta #3

Jabato

  • Visitante
Sería ahora interesante hacer competir a diversos algoritmos a ver cual consigue cumplir el objetivo en menor número de partidos, algo parecido a lo que se hace con los algoritmos genéticos, pero más casero.

Ja, Ja, Ja, Jabato.

12 Febrero, 2007, 06:05 pm
Respuesta #4

germanzorba

  • $$\Large \color{#5e8d56}\pi\,\pi\,\pi$$
  • Mensajes: 189
  • Karma: +0/-0
  • Sexo: Masculino
Primer aproximación:

Como cada jugador debe jugar con cada uno de los otros de compañero, y teniendo en cuenta que en cada partido tiene 3 compañeros y hay 12 candidatos, vemos que cada jugador debe jugar al menos 4 partidos.

Supongamos que cada jugador juega 4 partidos, al haber 13 jugadores en total, resulta que tenemos, al menos 13*4=52 ingresos de personas a la cancha.

Como en cada partido entran 8 jugadores, para que cada jugador juegue 4 partidos, deberían hacerse 52/8=6.5 partidos (esto resulta un poco difícil de realizar). Una alternativa sería permitir que algunos jugadores jueguen 4 y otros 5. Otra sería hacer que cada jugador juegue 8 partidos, para hacer un total de 13.

12 Febrero, 2007, 08:07 pm
Respuesta #5

Jabato

  • Visitante
Pues hombre las cosas simétricas deben ir mejor que las que no lo són, de manera que 8 partidos cada jugador me gusta más que la otra opción, ¿no crees?, pero esa solución parece que no es admisible puesto que el enunciado habla de un máximo de 10 partidos. Así que habría que ver quienes juegan 4 y quienes 5, pero no me convence mucho esa solución. ¿Seguro que no hay más opciones? Tu cálculo parece que no deja muchas opciones, pero ¿porqué no jugar 7 partidos?  ¿y 8? ¿Porqué esas soluciones no se podrían aceptar? No entiendo muy bien el razonamiento.

Entiendo que tu razonamiento demuestra que existe una cota inferior del número de partidos a jugar que sería de 6'5, pero es solo eso, una cota, nada más. El máximo sería 10 en todo caso, pero cualquier valor entero comprendido entre ambos sería también aceptable, ¿no te parece German?

De hecho el algoritmo que yo establecí no exige que el número de partidos sea uno determinado, ni tampoco que haya simetría en la distribución de los partidos por cada jugador. Se van jugando partidos hasta que se cumpla la condición del enunciado y listo, cuando llegue la cosa, llegó.

Además hay otra cuestión, en este tipo de problemas no solo deben cuadrar los números, deben cuadrar también las combinaciones, ¿quien nos garantiza que después de jugar todos los partidos previstos se cumpla la condicón del enunciado?. Creo que eso necesita una justificación que no va a ser fácil hacer, me parece.

Y por otro lado haría falta además un algoritmo que determine cuales son los equipos que juegan cada vez y eso tampoco lo tenemos, ni parece que vaya a ser fácil diseñarlo.

Saludos, Jabato.

13 Febrero, 2007, 11:34 am
Respuesta #6

ulises2010

  • $$\Large \color{#6a84c0}\pi$$
  • Mensajes: 10
  • Karma: +0/-0
¡¡¡INCREIBLE!!!

Aunque si quereís que os diga la verdad sobrepasa un poco mis conociemientos y me estoy perdiendo.

En cuanto al número de partidos no veo el problema en que cada jugador juegue 8 partidos, eso entra dentro de las premisas del principio (aunque si pudieran ser menos mejor, pero para no liarlo más, 8 estarían bien)

En la organización de los encuentros es en lo que me pierdo un poco la verdad... si pudieraís describirlo mejor, o incluso simular las primeras rondas....

En cualquier caso muchisimas gracias

13 Febrero, 2007, 12:24 pm
Respuesta #7

Jabato

  • Visitante
No sé si te has perdido un poco Ulises, con la solución que proponía German, si cada jugador juega 8 partidos el número total de partidos que deberían jugarse sería de 13, es decir, más de 10 que no cumple la condición que exigiste en tu enunciado. Por eso dije que la solución no era aceptable.

Respecto a la organización de los partidos el algoritmo que yo te dí te lo pone fácil.

Partido primero: Como nadie ha jugado todavía, los capitanes son los jugadores 1 y 2, y los equipos son:

1345 vs 2678

Partido segundo: Los capitanes deben ser los jugadores 9 y 10 ya que son los primeros que no han jugado todavía y los equipos son:

9,11,12,13  vs 10,1,2,3

puesto que 11,12,13 no habían jugado todavía y 1,2,3 son los jugadores menos valorados por 10, su capitán, ya que ninguno ha jugado con él todavía aunque sí han jugado los tres un partido cada uno y tienen el número más bajo posible de los que tienen un partido.

Sigue el algoritmo realizando las puntuaciones correspondientes de cada par de jugadores (a,b) para el tercer partido etc. Es difícil pero con un buen PC a mano es facil hacerse una tablita e ir incorporando las valoraciones a medida que avanza el campeonato.

Saludos, Jabato.

13 Febrero, 2007, 12:48 pm
Respuesta #8

Jabato

  • Visitante
La tabla no es difícil, cada jugador debe tener valorados a los 12 restante de forma que la tabla tiene que tener 13 filas numeradas del 1 al trece y otras 13 columnas, admitiendo que el cabecero de cada fila es el jugador que valora y el cabecero de cada columna es el jugador valorado. (desde luego no tiene sentido que un jugador se valore a sí mismo así que la diagonal de la tabla estará anulada)

Bien, supongamos ahora que la forma de hacer las valoraciones es la siguiente (ésta puede variarse al gusto):

Cada jugador obtiene 2 puntos por cada partido que juega y 1 punto por cada partido que juega con el jugador que le valora. Te pongo un ejemplo de como serían alguna valoraciones para el tercer partido, después de los descritos en mi mensaje anterior:

Valoración de 7 por 1:     V(1,7) = 2(7 ha jugado un partido) + 0(7 no ha jugado todavía con 1) = 2
Valoración de 7 por 2:     V(2,7) = 2(7 ha jugado un partido) + 1(7 ha jugado un partido con 1) = 3
Valoración de 7 por 3:     V(3,7) = 2(7 ha jugado un partido) + 0(7 no ha jugado todavía con 3) = 2

etc.

Meter esto en una hoja de cálculo es muy fácil a poco que sepas manejarte con ellas.

La selección de los capitanes y los equipos correspondientes para el tercer partido sería muy sencilla una vez hecha la tabla de valoraciones, que se hace en 5 minutos, ya que los capitanes serán los dos jugadores que hayan jugado menos partidos y sus equipos son los tres jugadores menos valorados por ellos (en caso de empate se eligen los más valorados por el otro capitan), siempre teniendo en cuenta además los criterios dados para situaciones de idénticas valoraciones ó prioridades, que en caso de dos jugadores idénticos, resulta entonces elegido el jugador que tenga el número más bajo. A mi me parece muy fácil hacerlo, sinceramente.

Saludos, Jabato.

13 Febrero, 2007, 07:04 pm
Respuesta #9

germanzorba

  • $$\Large \color{#5e8d56}\pi\,\pi\,\pi$$
  • Mensajes: 189
  • Karma: +0/-0
  • Sexo: Masculino
Hola,

como bien dijo Jabato, lo único que yo hice fue hallar una cota. Es decir que 5 o 6 partidos no son suficientes. Pero no sé si alcanzará con 7.