2011-04-14 13 views
5

Tengo que dividir un grupo de x personas en 3 o 4 grupos, muy probablemente 3.¿Cómo calcular la correlación entre las preferencias?

Quiero que la gente sea feliz, por lo que hago que cada persona califique a los otros miembros del grupo grande de 1 a (x-1).

¿Cómo optimizo las preferencias para crear 3 grupos?

+0

¿Cómo encaja esto con la etiqueta '[compilation-optimization]'? –

+0

Cuantificar "feliz". La calificación promedio más alta posible de pares en el grupo de uno?El problema del matrimonio estable, todos obtuvieron el mejor grupo que pudieron según su clasificación (esto definitivamente no siempre significa "feliz"). Además, ¿cuál es el orden de las clasificaciones, 1 es el mejor o el peor? –

+0

1 es el mejor. Sí, "Calificación promedio más alta posible de compañeros en el grupo" - ¡gracias! – wehavinthisbaby

Respuesta

3

Aquí es un método que es probable que obtenga un buen arreglo, aunque no es una disposición óptima:

En primer lugar crear una función de clasificación que puede tomar cualquier par de agrupaciones y determinar si uno es mejor que el otro. A continuación, aplique el siguiente algoritmo:

  1. Asigne aleatoriamente personas a grupos.
  2. Escoja al azar a una persona de cada grupo.
  3. Crea nuevas agrupaciones en las que cada combinación de reasignaciones se realiza en las personas elegidas en el paso 2. (Para 3 grupos habrá 6 reasignaciones de este tipo. Para 4, 24.)
  4. De todas las posibles reasignaciones, elige la mejor uno.
  5. Repita los pasos 2 a 4 un millón de veces.

ACTUALIZACIÓN

Si sólo hay 18 personas que necesitan ser asignado, entonces eso es sólo (18 Elegir 6) * (12 Elegir 6)/6 = 2,858,856 posibles agrupaciones. (O, en el caso de cuatro grupos, es (18 elije 4) * (14 eliges 4) * (10 eliges 5)/4 = 192,972,780 agrupaciones.)

Puedes probar cada uno y elegir el mejor.

Supongo que el algoritmo de clasificación en sí es realmente la parte más difícil de esta tarea.

Puede dar a cada persona una puntuación basada en sumar los puntajes de las personas seleccionadas para formar parte de su grupo, luego sumar las puntuaciones de cada persona.

El problema es que terminará con todas las personas populares en un grupo y todas las personas impopulares de otro grupo, y todos los limpiadores de teléfonos en otro grupo.

Debería asignar personas al azar y luego decirles que utilizó algún sistema realmente científico. De esa forma todos obtienen una buena combinación.

+0

¡Ja! Gracias Jeff. Estaba interesado en la solución, pero creo que tiene sentido obtener una buena combinación. – wehavinthisbaby

Cuestiones relacionadas