lunes, 21 de mayo de 2012

La mejor estrategia para Batalla Naval

Fuente: Neoteo

Seguramente has jugado innumerables partidas a la Batalla Naval. Fácil de implementar -solo hace falta lápiz y papel- y con reglas sencillas, este juego puede ser más complejo de lo que parece, o al menos lo será si queremos jugar como verdaderos campeones. Como en todo juego de este tipo, la estrategia utilizada a la hora de disponer sobre el tablero nuestra propia flota e intentar hundir los barcos del oponente tiene una enorme importancia. Pero ¿cual es la mejor estrategia para la Batalla Naval?

Es bastante difícil encontrar alguien que no sepa de que se trata el antiguo juego conocido como “Batalla Naval”. Se trata de un aparentemente sencillo juego de estrategia en el que cada jugador tiene a su disposición una hoja de papel en la que se  dibujan dos tableros de juego,  generalmente de 10×10 casilleros cada uno, En el primero de ello se ubican la “flota” propia, constituida por una serie de “barcos” que ocupan de dos a cinco casilleros (estos tamaños dependen un poco del reglamente utilizado, pero no importa por ahora). A lo largo del juego en el segundo tablero se va ubicando las embarcaciones que constituyen la flota rival. El juego propiamente dicho transcurre por turnos, y cada oponente va cantando coordenadas ( por ejemplo, “B-3”) y el otro le responde con “averiado” en caso de que hayamos impactado en una de sus naves, “hundido” si todos los casilleros del buque han sido ya impactados o “agua” en caso de que no le hayamos dado a nada. ¿Sencillo, verdad? Bien, detrás de esta aparente simplicidad es posible encontrar estrategias que pueden ayudarnos a ganar casi siempre este juego.
  • También existen "tableros profesionales" de Batalla Naval. También existen "tableros profesionales" de Batalla Naval.
    Uno de los primeros trucos que podemos utilizar es colocar los barcos “pegados” unos con los otros. En efecto, y aunque el reglamento establece que los barcos no pueden solaparse -esto es, superponerse unos con los otros- nada impide que se “toquen” entre si. Esto suele confundir mucho al adversario, ya que lo que puede aparecer en su tablero como un “portaaviones” de longitud cinco es en realidad un “acorazado” de longitud 4 y parte de un crucero de longitud 3. La imagen siguiente muestra dos tableros de juego, el primero de ellos con los barcos dispuesto como casi todo el mundo los coloca, y el segundo con la flota anclada con este sistema:
    El reglamento no impide que los barcos se “toquen” entre si. El reglamento no impide que los barcos se “toquen” entre si.
    La forma más simple en que se puede realizar el ataque es efectuando disparos al azar. Se selecciona una coordenada cualquiera y se la transmite al rival, esperando tener suerte y darle a algo. Lamentablemente, esta es la estrategia más pobre de todas. Si bien puede ser útil para efectuar el primer disparo del juego, luego conviene ir “afinando la puntería”. En efecto, si el disparo a “tocado” una embarcación enemiga, lo mejor es intentar con los casilleros aledaños y no elegir un nuevo punto al azar. Simulaciones hechas en un ordenador, reproduciendo millones de partidas virtuales, demuestran que para hundir la totalidad de la flota enemiga disparando al azar hace falta -en promedio- disparar más de 95 veces. Por lo general, nuestra flota habrá sido destruida mucho antes.
    Utilizando el azar hay que disparar más de 95 veces. Utilizando el azar hay que disparar más de 95 veces.
    Como decíamos, es bastante fácil de mejorar la efectividad de nuestro ataque si una vez que hemos golpeado una nave enemiga disparamos arriba, abajo, a la izquierda y a la derecha de ese casillero en busca del resto de la misma nave. Aunque lejos de ser una genialidad, este sistema de juego  produce resultados significativamente mejores a los disparos al azar, y es una de las estrategias adoptadas por casi todos los jugadores ocasionales de este juego. El análisis por ordenador de 10 millones de partidas jugadas con este algoritmo revela que se puede vencer al enemigo utilizando unos 60 o 70 disparos en promedio. Si nuestro contrincante utiliza una estrategia basada en el azar, no será difícil ganarle de esta forma.
    Sin embargo, se puede mejorar, aunque no mucho, este sistema. Aplicando lo que se conoce como “paridad”, se puede reducir enormemente la cantidad de casilleros a analizar. En efecto, como la longitud mínima de los barcos es de dos casilleros, no necesitamos ir efectuando disparos en todos ellos, sino que podemos hacerlo “uno por medio”, solo en los cuadritos azules (o blancos, por supuesto) de la imagen siguiente. Si recorremos el tablero "por filas", podemos disparar casillero por medio por que sabemos que un barco de longitud 2 será dañado lo mismo, y ahorramos unos cuantos disparos al "agua".
    No necesitamos disparar en todos los casilleros. No necesitamos disparar en todos los casilleros.
    El análisis de partidas efectuadas con este sistema demuestra que es posible derrotar a un enemigo que no utiliza una estrategia basada en la paridad, pero no siempre. En efecto, la mejora que supone utilizar este sistema es lo suficientemente pequeña -ahorra solo un par de disparos en promedio- que es bastante posible que nuestro oponente nos borre del mapa antes que nosotros consigamos destruirlo. La gráfica siguiente compara las tres estrategias mencionadas hasta aquí:
    Utilizar la "paridad" mejora un poco nuestro juego. Utilizar la "paridad" mejora un poco nuestro juego.
    Pero los mejores resultados son los que se consiguen mediante una técnica conocida como “función de densidad de probabilidad”. Un jugador que emplee esta técnica será prácticamente imbatible, y a veces incluso parecerá que “sabe” donde tenemos nuestros barcos. Se basa en aprovechar la información que se obtiene a partir de las longitudes de los barcos hundidos, ya que al permitirnos deducir el tamaño de los que quedan sobre el tablero nos proporciona información muy importante sobre los sitios en que buscar. Así como fuimos capaces de eliminar buena parte del tablero gracias a la “paridad”, si sólo quedan barcos mayores a 3 cuadritos de largo, es posible reducir aún más la cantidad de disparos necesarios para tocarlos. Lamentablemente es una estrategia que para ser utilizada al 100% de su potencial requiere de un ordenador, que asigna una probabilidad a cada casillero libre del tablero y la va recalculando con cada disparo. Eso hace que sea tan dificil derrotar a un ordenador (que esté bien programado, claro está) jugando a este juego.
    En naranja, el nuevo e impresionante algoritmo. En naranja, el nuevo e impresionante algoritmo.
    Como se ve en el gráfico anterior, esta última estrategia permite mandar al fondo del mar la flota enemiga en unos 40 disparos en promedio, por lo que resulta imbatible frente a cualquiera de las estrategias mencionadas antes. Como puedes ver, aún en un juego aparentemente sencillo como este la matemática tiene mucho que decir. ¿No te dieron ganas de jugar una partida de Batalla Naval?

No hay comentarios:

Publicar un comentario