En primer lugar, la razón por la que el intercambio de filas y columnas sigue manteniendo la condición que deseamos es porque la condición no se preocupa por donde las letras, sólo el número de apariciones de cada letra. Intercambiar filas y columnas claramente no cambia eso, así que cualquier intercambio de filas o columnas está bien.
Sin embargo, no importa cómo cambie las filas y las columnas, todas las filas y columnas van a ser del mismo "grupo de rotación". Lo que quiero decir con esto es lo siguiente: Si giras las letras de cualquier fila y obtienes una fila diferente, esas dos filas forman parte del mismo grupo de rotaciones. Así que ABCABC se puede girar para obtener BCABCA et CABCAB .
Reescribamos esta matriz utilizando 11 , 22 y 33 para demostrarlo. De izquierda a derecha, tenemos la matriz original, las rotaciones de fila y las rotaciones de columna. A B C A B C 1 2 3 1 2 3 1 1 1 1 1 1A B C A B C 1 2 3 1 2 3 1 1 1 1 1 1B C A B C A 1 2 3 1 2 3 2 2 2 2 2 2B C A B C A 1 2 3 1 2 3 2 2 2 2 2 2C A B C A B 1 2 3 1 2 3 3 3 3 3 3 3C A B C A B 1 2 3 1 2 3 3 3 3 3 3 3
No importa cómo cambies las filas y columnas, las rotaciones van a ser las mismas en todas las filas/columnas: C B A C A B 1 2 3 1 3 2 1 1 1 1 1 1B A C B C A 1 2 3 1 3 2 2 2 2 2 2 2B A C B C A 1 2 3 1 3 2 2 2 2 2 2 2C B A C A B 1 2 3 1 3 2 1 1 1 1 1 1A C B A B C 1 2 3 1 3 2 3 3 3 3 3 3A C B A B C 1 2 3 1 3 2 3 3 3 3 3 3
Bonificación: El número de formas en que podemos ordenar una misma fila es: 6!2!2!2!=90 Por lo tanto, el número de rotaciones es 903!=15 . Lo son: 1 1 2 2 3 31 1 2 3 2 31 1 2 3 3 21 2 1 2 3 31 2 1 3 2 31 2 1 3 3 21 2 2 1 3 31 2 3 1 2 31 2 3 1 3 21 2 2 3 1 31 2 3 2 1 31 2 3 3 1 21 2 2 3 3 11 2 3 2 3 11 2 3 3 2 1
Así que a partir de su matriz de partida, podemos llegar a 152⋅3!⋅3!=8100 matrices diferentes del método de intercambio.
Que la conmutación cubra o no todos los casos depende de si podemos construir una matriz tal que las rotaciones NO sean completamente iguales en todas las filas y columnas, y esto sí es posible:
A B C B C AA B C C B AB A B A C CB A B C A CC C A B A BC C A A B B
Así que ahora cabe preguntarse cómo podemos llegar a estos otros casos mediante conceptos de rotación similares. Vamos a empezar con su matriz inicial:
A B C A B CA B C A B CB C A B C AB C A B C AC A B C A BC A B C A B
Intercambiemos elementos individuales.
A B C A B CA B C B A CB C A B C AB C A B C AC A B C A BC A B C A B
Lamentablemente, ahora el número de letras de cada columna está desactivado. Tendremos que ajustarlo de nuevo para solucionarlo.
A B C A B CA B C B A CB C A A C BB C A B C AC A B C B AC A B C A B
Este tipo de intercambio puede definirse del siguiente modo:
- Elige dos casillas cualesquiera de la misma fila o columna de letras diferentes. Digamos que son P et Q y digamos que son la misma fila (si quieres intercambiar columnas en su lugar, simplemente intercambia todas las instancias de "fila" y "columna"), y llama a esa fila R1 .
- Busque otra fila en la que P está en la misma columna que Q de R1 Llama a esta fila R2 .
- Encontrar una fila que no sea R1 ni R2 donde P está en la misma columna que Q de R2 y Q está en la misma columna que P de R1 .
- Intercambia todos los P et Q descritos en pasos anteriores en estas tres filas.
Este movimiento cambia los grupos de rotación de las filas y columnas, y además del intercambio fila/columna, debería ayudarte a obtener todas las disposiciones posibles (aún no lo he probado rigurosamente, pero en teoría debería funcionar).