You are on page 1of 2

Tetravex es un juego de ordenador de un jugador en el que te dan n^2

cuadrados, y cada lado de los cuadrados est etiquetado con un nmero. El


objetivo del juego es colocar todas las piezas en un cuadrado n por n, con la
condicin de que todos los lados adyacentes tengan el mismo nmero como
etiqueta. Resolver el juego del Tetravex es NP-hard. A continuacin
demostraremos que decidir si el juego tiene solucin o no, dado n^2 piezas
es NP-completo. Decidir dnde poner cada pieza es entonces NP-hard. Esta
es la razn por el cual el juego del tetravex es un buen puzle. El resultado
que analizaremos complementa a varios resultados similares de juegos de
rellenar puzles. Por ejemplo, podemos encontrarnos con resultados NPcompletos en el juego del Tetris, Kplumber, y algunos rompecabezas.
De aqu salen algunas cuestiones que todava no se han resuelto. Por
ejemplo: es la versin infinita de Turing completa? Cul es la complejidad
del problema cuando se garantiza que hay una nica solucin? Cmo
generamos puzles con una nica solucin?
Teorema 1 - Tetravex es NP - completo.
Prueba: Claramente es NP. Dada una solucin, podemos comprobar que
sta es correcta en un tiempo polinmico. Para demostrar que es NPcompleto, usaremos una reduccin al problema NP-Completo 3SAT, usando
clusulas puramente positivas.
Dibujaremos un problema con n variables y m clusulas en un Tetravex
rectangular de tamao O(n) por O(m). No hay problema porque siempre
podremos convertir el problema del tetravex rectangular en uno cuadrado
de tamao mayor, aadiendo piezas que encajen correctamente.
Hay 5 tipos de componentes usados en la construccin: una asignacin
de componentes horizontales que se situarn a lo largo de la lnea superior,
componentes de clusulas verticales, piezas verticales y horizontales, y
componentes de unin para las dos variables anteriores. Asumiremos que
las variables estn etiquetadas desde 1 a n.
La parte nmero i del componente asignado consiste en cuatro piezas
con la siguiente configuracin:

El valor top se usa para asegurarnos que estas piezas se colocarn


solamente a lo largo largo de la fila superior del puzle. Ninguna pieza del
puzle tendr la etiqueta top en la etiqueta inferior. De hecho, no es
obligatorio que etiquetemos la parte superior de la pieza con top, podemos
etiquetarlas poniendo un 0. Si forzamos a que la asignacin de los

componentes est en el lado superior del puzle para que la prueba de que
este problema es NP-Completo sea ms fcil.
El valor i-1 en la parte izquierda de las piezas, y el valor i+1 a la parte
derecha de la pieza, son para asegurar que la asignacin del componente
est en orden, de izquierda a derecha a lo largo de la fila superior del puzle.
El valor 0 se usa para casillas internas que no pertenecen a los
componentes.
Por otra parte, empezaremos y terminaremos la fila superior de lso
componentes de la siguiente manera:

El valor left y el valor right se usan para asegurar que las respectivas
piezas se sitan en cada extremo del puzle. Ninguna pieza tiene el valor de
left en su etiqueta de la derecha. Similarmente, ninguna pieza tiene como
etiqueta el valor right en su lado izquierdo. No es obligatorio realizar esta
asignacin, podramos etiquetarlos con cero, pero como se ha mencionado
anteriormente, hace la prueba ms fcil.
La "seal", se transmite a los componentes de clusulas verticales a
travs de conexiones. Hay conexiones verticales, conexiones horizontales y
uniones entre ambas. Una conexin vertical tiene la siguiente forma:

En donde X tendr como valor 0 (si la conexin se sita en una parte


blanca del puzle), o si el valor de la conexin horizontal con la que se est
cruzando. Es importante destacar que este valor es distinto a i. Cuando
cruzamos una conexin que lleva la seal de la variable nmero i, usamos
un componente de unin.

You might also like