Tengo una fila con los números 1:n
. Estoy mirando para agregar una segunda fila también con los números 1:n
pero éstos deben estar en un orden aleatorio, mientras que satisface la siguiente:Generar secuencias múltiples de números con valores únicos en cada índice
- No hay posiciones tienen el mismo número en ambas filas
- Ninguna combinación de números ocurre dos veces
Por ejemplo, en el siguiente
Row 1: 1 2 3 4 5 6 7 ...
Row 2: 3 6 15 8 13 12 7 ...
el número 7 se produce en la misma posición en ambas filas 1 y 2 (es decir, posición 7; de este modo que no satisfagan la regla 1)
mientras que en el siguiente
Row 1: 1 2 3 4 5 6 7 ...
Row 2: 3 7 15 8 13 12 2 ...
la combinación de 2 + 7 aparece dos veces (en las posiciones 2 y 7; de este modo que no satisfagan la regla 2).
Quizás sea posible, pero innecesariamente lento, hacerlo a mano (al menos hasta un número razonable), pero debe haber una solución bastante elegante para esto en MATLAB.
Dado digamos, 10 personas, ¿sería feliz si tres de ellas estuvieran en un ciclo separado del resto? p.ej. '1-> 2'' 2-> 3', '3-> 1'. Si prefiere prohibir tales divisiones en el grupo, entonces he descrito una solución simple en mi respuesta. –