Loading [MathJax]/jax/element/mml/optable/Latin1Supplement.js

2 votos

Dividir la matriz en 8 direcciones PUZZLE

Tengo un problema que me ha estado molestando durante el último mes, hay una matriz con cuadrados de 8x8, por lo tanto 64 cuadrados, y con 8 bolas colocadas al azar cada una en un cuadrado. Necesito encontrar la solución de cómo se debe dividir la matriz en 8 partes de manera que cada bola esté en una parte diferente y cada parte tenga exactamente 8 cuadrados. Por cierto, cada "puzzle" puede tener varias, una o ninguna solución.

Antes:

8x8 board with 8 positions marked

Después:

8x8 board with 8 regions of size 8, each containing a marker

0voto

Matthew Scouten Puntos 2518

No creo que haya una solución fácil. En principio se podría hacer, pero en la práctica dudo que sea realista: Para cada bola b , dejemos que Sb sea el conjunto de todos los conjuntos conexos de cardinalidad 8 que contiene b y ninguna otra bola. Tome las variables binarias xi para todos los miembros i de todos Sb . Entonces quiere satisfacer las condiciones \eqalign{\sum_{i \in S_b} x_i &= 1\ \text{for each $ b $}\cr x_i + x_j &\le 1 \ \text{if $ x_i \Nen S_b $ and $ x_j en S_{b'} $ with $ b \ne b' $ and $ i \cap j \ne \\\N - vacía $}\cr} Utilice un solucionador SAT o una programación lineal entera.

En los casos en los que existe una solución, puede encontrarla utilizando métodos heurísticos como la búsqueda tabú o el recocido simulado.

0voto

Rob Pratt Puntos 296

Se puede modelar esto como un problema de partición de conjuntos de la siguiente manera. Sea S sea el conjunto de todos los conjuntos conectados de cardinalidad 8 que contienen exactamente 1 bola. Para el ejemplo de rompecabezas anterior, resulta que |S|=23617 . Sea N=\{1,\dots,8\} . Para (i,j) \in N \times N , dejemos que S_{i,j} \subset S sea el subconjunto de conjuntos que contienen la célula (i,j) . Para s\in S y la variable de decisión binaria x_s indican si el conjunto s está seleccionado. Las restricciones son: \sum_{s\in S_{i,j}} x_s = 1 \quad \text{for $ (i,j)\Nen N \Nveces N $}

Existen múltiples soluciones, entre ellas ésta:

enter image description here

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X