miércoles, 7 de agosto de 2019

Problema 1000 reinas, soluciones particulares


COMPOSICIÓN DE TABLEROS DE AJEDREZ CUADRADOS CON NUMERO DE REINAS DISPUESTAS IGUAL  A LA CANTIDAD DE CASILLAS HORIZONTALES DEL TABLERO, LAS CUALES CUMPLEN LA PROPIEDAD DE NO AMENAZARSE ENTRE ELLAS SEGÚN LOS MOVIMIENTOS PERMITIDOS DE LAS REINAS EN EL JUEGO DE AJEDREZ.



El método de componer un  tablero cuadrado de reinas resultante de la unión de dos tableros cuadrados más pequeños, se basa en juntar dos tableros los cuales tienen las reinas ya dispuestas de manera que no se comen entre ellas, el número de reinas en cada tablero es igual al número de casillas horizontales del tablero.

Para poder unir ambos tableros los tamaños de los dos deben ser divisibles entre ellos de resto 0, los dos tableros pueden ser de la misma dimensión EJ: dos tableros de 5 reinas.
El tablero que se une al otro debe de ser impar (el pequeño) para que pueda cumplir la propiedad de no interceptar (esta propiedad se explica más abajo), el grande puede ser par o impar, si los dos tableros son de la misma dimensión, EJ de 7 casillas horizontales, los dos tableros tienen que ser impares.

EJ: en un tablero de 10 reinas se mete uno de 5 reinas. El tablero inclusivo además de ser impar y que la disposición de sus reinas sea tal que estas no se comen, el tablero con las reinas dispuestas tiene que cumplir la propiedad de no interceptar (se explica más abajo).




Tablero de 5 reinas dispuestas
 





Tablero de 10 reinas dispuestas
 







El tablero que resulta de la composición de dos tableros tiene una dimensión final que resulta del producto de los dos que lo forman EJ : si es uno de 7 dentro de uno de 14 el tablero resultante es de 98 casillas horizontales con 98 reinas dispuestas.

Para introducir un tablero pequeño en uno igual o más grande, en cada casilla del tablero grande que ocupaba una reina se ocupa con  un tablero de 5*5 (en este caso),  en las casillas del tablero grande que no contienen ninguna reina, estas casillas se ocupan con  un tablero de 5*5 con sus casillas vacías.




Tablero de 10 con tableros de 5 colocados en las casillas que ocupaban las reinas, las casillas libres se ocuparán con tableros de 5 con sus casillas vacías (se muestra más abajo).
 







El tablero pequeño con reinas (que se incrusta en cada casilla ocupada por una reina del tablero grande) puede ser el mismo tablero repetido de 5*5 o tableros de 5*5 distintos para cada casilla, estos se pueden colocar libremente siempre que no intercepten los tableros o aunque intercepten si se ponen de manera ordenada.



INTERCEPCIÓN

Para probar la propiedad intercepción entre tableros impares con reinas, una forma simple es  colocar ambos tableros dentro de las casillas más adyacentes que pueden tener dos reinas en el tablero de ajedrez sin comerse (como se muestra en la imagen). Una vez así dispuestos la única amenaza que puede haber entre ellos es interceptar de forma diagonal, si no tienen ninguna intercepción diagonal entre ellas; los tableros son compatibles.



Ejemplo de tablero de 5*5 que cumple la propiedad de no interceptar como se muestra
 








Como se aprecia en la imagen ninguna reina intercepta con otra
 








Ejemplo de tablero de 4*4 que no cumple la propiedad de no interceptar.
 



 
Como se aprecia en la imagen hay reinas que tienen intercepción con otra.










TABLERO CUADRADO DE 50 REINAS VÁLIDO

Tablero de 50 reinas que resulta de la composición de un tablero de 10 con uno de 5 que cumple la propiedad de la no intercepción, en las casillas del tablero de 10 ocupadas por reinas se mete el tablero de 5 con sus reinas, en las casillas vacías del tablero de 10 se mete un tablero de 5 con las casillas libres.













El proceso de componer el tablero se puede repetir sobre el tablero compuesto EJ: compongo un tablero de 50 a partir de uno de 10 con uno de 5, con el de 50 resultante puedo componer uno de 250 reinas incrustando tableros de 5  en el de 50 y así recursivamente: el de 250 se puede convertir en uno de 1250 reinas metiendo en el de 250 los tableros de 5 o de 12500 reinas metiendo tableros de 50 en el de 250.




Podeis descargar reinas en .txt desde este enlace:

Reinas en txt



SOBRE LOS FICHEROS TXT DEL ENLACE


Representan reinas dispuestas en tableros cuadrados de ajedrez de número igual a la cantidad de casillas horizontales del tablero las cuales cumplen la propiedad de no amenazarse entre ellas según los movimientos de la reina en el juego de ajedrez.

El 5, es un tablero cuadrado de 5 casillas horizontales con  5 reinas.
El 10, es un tablero cuadrado de 10 casillas horizontales con  10 reinas.
El 25, es un tablero cuadrado de 25 casillas horizontales con  25 reinas.
El 50, es un tablero cuadrado de 50 casillas horizontales con  50 reinas.
El 250, es un tablero cuadrado de 250 casillas horizontales con  250 reinas.
El 1250, es un tablero cuadrado de 1250 casillas horizontales con  1250 reinas.
El 6250, es un tablero cuadrado de 6250 casillas horizontales con  6250 reinas.
El 62500,  es un tablero cuadrado de 62500 casillas horizontales con 62500 reinas.

En los ficheros que se adjuntan cada número es una reina que representa su posición vertical (la coordenada y).

Las coordenadas x no se muestran en el fichero están representadas de forma implícita por la posición que ocupan los números  (coordenadas y) en el fichero.

Las coordenadas x están indicadas mediante el orden de la posición que ocupa cada número (reina) separado por comas en el fichero desde el comienzo de este.  Ej: el primer número (coordenada y) tiene la x = 1, el segundo numero tiene x = 2 y así de forma secuencial hasta la última coordenada ( y en la posición ultima del fichero: n ) que tiene la x = n.

Los números están separados por comas excepto en último número que esta seguido del carácter ‘;’ que marca el fin del fichero.

En la numeración la coordenada y que representa la primera posición vertical en el tablero (no en el fichero) se numera como y = 1, EJ si el tablero es de 50 reinas y(1) = 1, y(50)=50.

En la numeración x, la coordenada x que representa la primera posición horizontal es x = 1, EJ si el tablero es de 250 reinas x(1) = 1, x(250)=250.

Como he mencionado el orden de las coordenadas x es secuencial empezando en x=1, el orden de las coordenadas y no es secuencial.

Lógicamente las x e y cubren todo el intervalo numérico, EJ si el tablero es de 1250 reinas hay 1250 coordenadas (1250 coordenadas x, 1250 coordenadas y) entre el 1 y el 1250 (ambos inclusive).