You dont have javascript enabled! Please enable it! Representar con matrices: Ajedrez - Cuadernos | El cartapacio

Representar con matrices: Ajedrez

Se puede tomar una instantánea de una partida de ajedrez mediante una matriz cuadrada de orden \(8\) que incorpore la información del tablero. Estableceremos un código numérico para las piezas.

Para el propósito de este artículo utilizaremos un código sencillo que sea fácilmente descodificable en el momento de reconstruir el tablero.

Código de Blancas Pieza Código de Negras
\(1\) Peón – Pawn \(11\)
\(2\) Torre – Rook \(12\)
\(3\) Caballo – Knight \(13\)
\(4\) Alfil – Bishop \(14\)
\(5\) Dama – Queen \(15\)
\(6\) Rey – King \(16\)

Como vemos, la cifra de las unidades \(1, \ldots , 6\) determina la pieza y el color lo determina la cifra de las decenas: \(0\) para blancas y \(1\) para negras.

Con este código el estado inicial del tablero viene representado por la matriz de orden 8 siguiente: $$\begin{array} {c|c|c|c| c|c|c|c|c|} T & \tiny 1 & \tiny 2 & \tiny 3 & \tiny 4 & \tiny 5 & \tiny 6 & \tiny 7 & \tiny 8 \\ \hline \tiny 1 & 12 & 13 & 14 & 15 & 16 & 14 & 13 & 12 \\ \hline \tiny 2 & 11 & 11 & 11 & 11 & 11 & 11 & 11 & 11 \\ \hline \tiny 3 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ \hline \tiny 4 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ \hline \tiny 5 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ \hline \tiny 6 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ \hline \tiny 7 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 \\ \hline \tiny 8 & 2 & 3 & 4 & 5 & 6 & 4 & 3 & 2 \\[1.2ex] \hline \end{array}$$

La partida llegó a esta posición:

Posición codificada

$$\small {\begin{array} {|c|c|c|c|c|c|c|c|} \hline . & . & . & . & . & . & . & . \\[1.2ex] \hline 11 & 11 & . & . & . & 11 & 12 & 16 \\[1.2ex] \hline . & . & . & . & 12 & . & 15 & 11 \\[1.2ex] \hline . & . & 11 & 3 & 2 & . & . & . \\[1.2ex] \hline . & . & 1 & . & 1 & . & . & . \\[1.2ex] \hline . & 1 & . & . & . & 5 & . & 1 \\[1.2ex] \hline . & . & . & 2 & . & . & 1 & . \\[1.2ex] \hline . & . & . & . & . & . & . & 6 \\[1.4ex] \hline \end{array}}$$ (Para mayor claridad, se han sustituído los ceros por puntos.)

Y, ahora, la descodificación. El siguiente algoritmo nos permitirá conocer qué pieza ocupa el escaque \(\left ( i, j \right )\). La clave es la división entera por 10. El resto de esta división nos da la pieza: $$p_{ij} := t_{ij} \bmod 10 = \begin{cases} 0 & \rightarrow \text {escaque vacío} \\ 1 & \rightarrow \text {hay un Peón} \\ \cdots & \\ 6 & \rightarrow \text {hay un Rey} \end{cases}$$ y el cociente de esta división es el color: $$c_{ij} := t_{ij} \mathbin {//} 10 = \begin{cases} 0 & \rightarrow \text {blanca, si } p_{ij} \ne 0 \\ 1 & \rightarrow \text {negra} \end{cases}$$ cumpliéndose siempre que \(\; t_{ij} = 10 \cdot c_{ij} + p_{ij}\).

Deja una respuesta