jueves, 30 de octubre de 2008

Reversi profundo

Suele resultar difícil en una partida de reversi profundizar en más de un movimiento debido a que el tablero puede cambiar mucho tras cada uno.

En realidad para alcanzar cierto nivel no es necesario que el jugador profundice en cada turno muchos movimientos. En muchos casos ver cómo quedará el tablero después de sólo dos movimientos sirve para encontrar respuestas bastante aceptables.

En otros casos no resulta tan difícil profundizar unos pocos movimientos más. Puede ocurrir que la secuencia considerada no voltee demasiadas fichas y el esfuerzo necesario para profundizar en los movimientos de la partida se reduzca considerablemente. No es infrecuente que esto suceda; normalmente por motivos estratégicos los jugadores van a preferir movimientos que volteen pocas fichas.

Además, los jugadores son capaces de reconocer patrones (secuencias de juego, como la trampa de Stoner), algunos muy conocidos, que les permiten emplear tácticas que implican más profundidad de la que el jugador pudiera estar acostumbrado a usar. En estos casos los jugadores tal vez no recreen con exactitud cómo quedará cada ficha tras todos los movimientos correspondientes a ese patrón, sino que sólo se fijarán en unas fichas en concreto. Esto mismo puede suceder en algún momento de la partida: tal vez se pueda arriesgar uno a olvidarse de cómo quedarán algunas casillas, para profundizar más en otras.

Después de esta introducción, hace unos meses releí un par de textos básicos sobre estrategia y relacioné los distintos tipos de movimientos que describen con la profundidad mínima necesaria. Tampoco es de mucha importancia, pero a mí me parece interesante.

En primer lugar podría ser que no tuviéramos profundidad. Es decir, que no seamos capaces de ver, o de figurarnos, cómo quedará el tablero tras un único movimiento (con un movimiento sólo incluimos el nuestro, o el del contrario, pero no los dos, como suele entenderse en ajedrez).

En este caso sólo podríamos jugar aleatoriamente. Pero, todos los manuales nos dirán que normalmente es mejor tener menos fichas, juntas y en el centro. Si vemos que uno de los colores, por ejemplo las negras, cumple estas condiciones, sí que seremos capaces de valorar la posición, aunque sea aproximadamente y con gran margen de error, y podremos decir que las negras tienen ventaja.

Esto es importante, porque aunque emplearemos más profundidad, llegará un momento en el que no tendremos la suficiente capacidad para profundizar más y necesitaremos valorar la posición a la que mentalmente hemos alcanzado.

Los manuales pronto introducen el concepto de movimientos silenciosos ('quiet moves') en contraposición a los ruidosos ('loud moves'). Incluso se llega a hablar de "movimientos pefectamente silenciosos", que por simplificar denominaremos "ideales". Para jugar un movimiento silencioso o evitar jugar uno ruidoso sólo hace falta tener una profundidad de un movimiento. Muchos movimientos silenciosos son buenos, y más si entran en nuestra categoría de ideales, pero evidentemente empleando una profundidad de sólo un movimiento nos encontraremos con que también hay muchos que no son buenos, teniendo opciones mejores.

Luego pasamos a los movimientos de ataque y los movimientos de defensa.

Por ejemplo, un movimiento de defensa es ver en la posición presente en el tablero que el adversario tiene un movimiento ideal y encontrar un movimiento para desbaratarlo; entre otras posibilidades, jugar donde el adversario tiene ese silencioso. Aquí se puede hablar de una profundidad mayor, de dos movimientos, porque estamos pensando en los movimientos que el adversario tendrá tras jugar el nuesto. Ciertamente, no deja de ser un patrón, y con un poco de experiencia un jugador puede ser capaz de reconocer que el adversario tendrá un movimiento silencioso, pero para contrarrestarlo eficazmente contemplando todas las posibilidades se necesitará una profundidad de al menos dos.

Tambien se explican movimientos de mayor profundidad. Por ejemplo, los movimientos de acceso, es decir, aquellos que jugamos para procurarnos acceso a alguna zona o casilla determinada. Estamos pensando en nuestro próximo turno, por lo que pasamos a una profundidad de tres. Evidentemente podemos simplificar, por ejemplo podemos ignorar qué nos va a responder el contrario, con lo que en realidad serían dos movimientos, pero si queremos que nuestro movimiento de acceso funcione y no vernos sorprendidos con que el adversario nos lo ha denegado (entre otras desagradables posibilidades), tendremos que profundizar tres movimientos.

Para terminar podemos fijarnos en la profundidad necesaria para ejecutar con éxito una trampa de Stoner. Primero hay que definir dónde acaba y dónde empieza esta trampa. Tomaremos el caso más simple, eficaz y típico posible, comenzando al jugar en una casilla X y terminando al tomar la segunda esquina (no olvidemos que la trampa de Stoner no es más que el intercambio forzado de dos esquinas). El número de etapas indica la profundidad:

- Mover en una casilla X controlando la diagonal correspondiente
- Movimiento de acceso a la diagonal (volteo de una ficha de la diagonal)
- Amenaza (con tomar la esquina) a un lateral desequilibrado cercano a la casilla X
- Captura de la esquina
- Inserción de otra ficha en el lateral
- Movimiento en cualquier otro lugar (normalmente con la consiguiente pérdida de un movimiento)
- Captura de la otra esquina

Es decir, hemos pasado a una profundidad considerable. En realidad, reconociendo el patrón con el lateral desequilibrado con su forma característica y con la diagonal correspondiente pudiendo ser controlada, sólo se necesita una una profundidad de un movimiento para poder iniciar una trampa de Stoner. Sin embargo, para asegurarnos de que se puede llevar a cabo, necesitaremos al menos una profundidad de tres en la mayoría de los casos, y mayor para valorar si el intercambio forzado de esquinas nos favorece. El reversi de partidas rápidas en Internet está repleto de partidas con trampas de Stoner frustradas.

El reconocimiento de patrones sirve sobre todo para ahorrar tiempo. Nos permite explorar con mayor profundidad algunas líneas (dedicamos más tiempo a éstas al haber reconocido un patrón que nos puede favorecer). Asimismo, volviendo a tomar como ejemplo la trampa de Stoner, nos puede servir para reconocer estructuras desfavorables: evitamos formar laterales desequilibrados que puedan ser atacados mediante esta trampa o, si necesitamos formarlos, al menos evitamos que el contrario pueda controlar la diagonal correspondiente.

En resumen, con un poco de profundidad, unos pocos patrones y alguna otra cosilla de estrategia, podemos ir tirando.

jueves, 23 de octubre de 2008

Fichas inmutables y el nombre "Yang"

En la página 12 del número 8 de la revista El Acertijo (octubre/noviembre de 1993):
http://revista-el-acertijo.com.ar/2008/08/el-acertijo-08-pagina-12.html

podemos leer una pequeña columna bajo el título de "Festival Reversi".

Nos cuentan que el 3 de agosto (supongo que de ese año) en un encuentro de amigos de la revista, a propuesta de Pablo Coll, hicieron un "Festival Reversi" (también supongo que fue en algún lugar de Argentina y, por decir una ciudad al azar, tal vez por Buenos Aires). Diseñaron distintos tableros y los probaron.

También nos enteramos de que Daniel Olivares propuso una variante: emplear fichas inmutables. Éstas son del mismo color por las dos caras. En este caso se propone emplear dos inmutables por jugador, jugándose en el turno que el jugador quiera. Por lo tanto, cuando el contrario tenga que voltear una de estas inmutables, lo podrá hacer, pero no cambiará de color por muchas veces que le dé la vuelta.

¿Dónde colocaríais las dos inmutables?

Finalmente, también nos informan de que al menos en Argentina el reversi se conoce como "Yang". Entiendo que al emplear mayúscula inicial se trata de una marca comercial, pero no he encontrado más sobre esto.

martes, 14 de octubre de 2008

Reversi al revés

Hace unas semanas me informaron del sitio que se comenta en la anterior entrada (que se publicó por eso mismo). En ese sitio se puede jugar al antirreversi (o como se quiera llamar), por lo que, evidentemente, al rato me pregunté si en los últimos tiempos no habría publicado alguien algo sobre esta variante en Internet.

Supongo que habrá muchas más cosas, pero ésta es ya lo suficientemente interesante: un programa cuyo programador asegura de él (y es fácil que sea cierto) que es el mejor programa jugando al "Othello reverso" (o antirreversi) en tableros de 8x8, 7x7, 6x6, 5x5, 4x4. Teniendo en cuenta que para jugar al 7x7 o al 8x8 hay que comprar el programa (no me tienta tanto como para hacerlo), nos lo creeremos. Del resto de tamaños, diremos que sí que juega bien y que teniendo en cuenta que también asegura que ha resuelto el antirreversi en tableros de 6x6, pues será verdad.

El programa se llama Tothello. La página:
http://www.tothello.com/index.html

Una captura de pantalla:

El programa parece majo. Y la página tiene mucha información interesante. Merece la pena pasarse por allí.

Por ejemplo, podemos leer sobre la resolución del 6x6 normal y del antirreversi 6x6.

Sobre el 6x6 normal nos recuerda que con la apertura C2b4 (perpendicular) ya se demostró que era victoria por +4 para blancas.

Añade que C2d2 (paralela) sigue siendo victoria por +2 para blancas y que C2b2 (diagonal) es victoria negra por +20 (no parece buena idea el ceder una esquina en el primer movimiento).

También explica cómo usar su programa para calcular el resultado perfecto.

Finalmente, lo que todo reversista estará esperando ansioso, ¿cuál es el resultado perfecto para el antirreversi 6x6?

+2.para negras.

domingo, 5 de octubre de 2008

Muchos juegos y Arimaa

Me han informado de un nuevo sitio con juegos para jugar en línea.

Se llama igGameCenter. La dirección:
http://www.iggamecenter.com/

A las horas que he entrado a probarlo apenas había gente, pero parece que con paciencia se puede llegar a jugar.

La lista de juegos es amplia. Aunque a los reversistas lo que nos interesa saber es que se puede jugar al Othello (reversi) y al antirreversi.

Supongo que del resto de juegos uno curioso es el Arimaa (es una marca registrada), inventado hace unos pocos años. Parece ser que el juego fue diseñado para que a los programas de ordenador les fuera difícil ganar a los humanos (a los reversistas no nos importa mucho). Una justificación más bonita es que para vencer en ajedrez no se había necesitado desarrollar la inteligencia artificial, por lo que este juego tendría que ser un acicate para que los programadores se esforzaran más en ese campo.

Lo de arriba es una captura de pantalla (recortada) del Arimaa (posición inicial) jugándose en el servidor al que nos referimos. Aunque se puede jugar con las piezas de ajedrez, obsérvese la variedad de la fauna. Un elefante, un camello, un par de caballos, dos perros y dos gatos, y un montón de conejos.