Dada una matriz cuadrada a $A=[a_{ij}]_{n \times n}$, una operación $swap(A, i, j)$ está definido para intercambiar la fila $i$ $j$ $A$ y hacer lo mismo con las columnas correspondientes. Por ejemplo, en el siguiente ejemplo, podemos ver el $swap(A, 1, 3)$:
$$A=\left[ \begin{array}{ccc} a & b & c \\ d & e & f \\ g & h & i \end{array} \right] ~~~~~\Rightarrow~~~~~ swap(A,1,3)=\left[ \begin{array}{ccc} i & h & g \\ f & e & d \\ c & b & a \end{array} \right]$$
Para una matriz de $A$, vamos a $swap^k(A)$ el conjunto de matrices producida por exactamente $k$ swaps. Por ejemplo, $B \in swap^3(A)$ significa que hay una secuencia de 3 swaps que puede convertir $A$ a $B$.
Una única codificación de $\phi$ de esta matriz es una función de $A$ tal forma que:
$$\phi(A)=\phi(B) ~~~~ \Leftrightarrow ~~~~ \exists k ~:~ B \in swap^k(A)$$
Para simplificar, podemos suponer que la matriz es simétrica y de sus elementos están en $\{0,1\}$. Me interesa saber si existen tales codificación para este caso de matrices o si hay una prueba de su no existencia.
Edit. ¿Cuál es la forma más eficiente de hacer esto?