Pregunta

Tengo 30 elementos que deben agruparse/ordenarse en 10 3-tupla ordenados. Existen varias reglas y limitaciones sobre la agrupación/clasificación. Por ejemplo: el elemento $ a $ no debe estar en la misma tuple de la misma unidad $ b $. El elemento $ C $ no debe estar justo frente al elemento $ a $, etc.

Estoy buscando un algoritmo aproximado:

  1. No necesitamos lograr el óptimo exacto
  2. Está bien que algunas reglas no se satisfagan, si ayuda a cumplir más reglas.

¿Conoce algún algoritmo/procedimiento que resuelva este problema o uno similar? Me temo resolverlo de una manera óptima, debes probar todas las solución posibles-> $ 2 ^ {30} $

EDITAR: Perdón por la mala explicación. Estoy tratando de dejarlo un poco más claro: tengo 30 elementos, por ejemplo: $ {1,2,3, ldots, 30 } $. Necesito agruparlos en 3-tuplos para obtener algo como: $ (1,2,3) $, $ (4,5,6) $, $ ldots $, $ (28,29,30) $ .

Hay varias limitaciones. Por ejemplo:

  • No puedo preceder 2 en una tupla ordenada, por lo que, por ejemplo, $ (1,2,3) $ no es una tupla válida.
  • 5 debe estar junto con 4.

Esas restricciones pueden romperse y es posible que no haya ninguna solución en la que se puedan cumplir todas las reglas.
Una solución se considera buena si la cantidad de reglas rotas es "baja".

Espero que lo deje más claro y gracias por la ayuda hasta ahora.

No hay solución correcta

Licenciado bajo: CC-BY-SA con atribución
No afiliado a cs.stackexchange
scroll top