martes, noviembre 29, 2005

Problema obsesivo

Lo que ayer era un problema interesante, hoy es un problema obsesivo y que puede mostrar los límites de calculo de los ordenadores.

El problema es encontrar la mejor disposión de mesas para 111 asistentes agrupados en mesas de 9 personas, siguiendo unas preferencias marcadas por ellas mismas. Ellos han dicho con quienes se quieren sentar, con quienes no y con quienes les da igual.

Todas las ideas iniciales y posibles alternativas han tropezado con algo que no había pensado: la imposibilidad de que un ordenador cacule todas las posibilidades por falta de tiempo.

Después de descartar el cálculo bruto (111! = 10^178 posibilidades), pase a la forma de ir formando mejores mesas. Pero para calcular la mejor mesa hay sólo 3,943,664,897,925,675 posibilidades (4*10^15) o dicho de otra forma, combinaciones sin repetición de 111 elementos agrupados en grupos de 9. Comparando con el número anterior no son muchas. Luego hay que pasar a la siguiente mesa, que son combinaciones 102 elementos formando grupos de 9. Suponiendo un caculo optimista de que pudiese calcular el ordenador 100 millones de agrupaciones por segundo (muy optimista) sólo se tardaria unos 456 días...

Al final, cálculo inteligente manual asistido. Programa para detectar parejas y trios compatibles (todos se quieren entre sí) e irlos añadiendo en las mesas. Luego irlas completando con el resto de participantes, todo esto de forma manual. Emilio y Silvía han ido elaborando el rompecabezas.

Me he ayudado para los cálculos de posiiblidades de la siguiente página de Teoría Combinatoria.

2 comentarios:

  1. Illo Ali, qué rallote...
    Estaba en clase y me pilló el profe de DEG (Des. Entorno Grafico) mirando tu página y al leer y no se creía q se realizaran ese tipo de encargos. XDDD
    Pero ma gustao el tema...

    ResponderEliminar

Cómo utilizar el servicio Secrets Manager para guardar las claves privadas de SSH

Para guardar la clave privada en el servicio Secrets Manager como un secreto en modo texto sin formato, sigue estos pasos Supongamos que la ...