lunes, febrero 25, 2008

Séptima competencia: el Monedero

El Monedero tiene una reminiscencia al juego del Uno, que fue el primer juego que jugamos aquí.
Aunque es bastante más simple, confío en que dé lugar a estrategias interesantes.


Reglas del juego

Se juega de a dos. La cantidad de turnos es limitada. Cada jugador comienza con 0 puntos.

En su turno, cada jugador lanza una moneda. Si sale cara, su puntaje aumenta en 1. Si sale cruz, su puntaje queda dividido por dos (y se redondea hacia abajo).
En lugar de lanzar la moneda, el jugador puede decidir plantarse con el puntaje que tenga; deberá esperar hasta que termine la partida o su oponente también decida plantarse.

El jugador con más puntaje al final de la partida es el ganador.


Reglas de la competencia


En esta competencia, los algoritmos jugarán 10 partidas contra cada uno de sus oponentes, a 1000 turnos cada una.
Los puntajes de cada partida se irán acumulando en un puntaje del torneo; el que sume más puntos en total, será el ganador.

Cada participante podrá presentar hasta 2 algoritmos.

Cada algoritmo usará los siguientes datos referidos a la partida en curso:
  • un entero, con el puntaje propio
  • un entero, con el puntaje del oponente
  • un entero, con la cantidad de turnos que quedan por jugar
  • un booleano, verdadero si su oponente ya se plantó, o falso si aún no se plantó
Y deberá devolver un valor booleano, verdadero si decide plantarse, o falso si decide no plantarse.

Los algoritmos no podrán tener «memoria» de las partidas anteriores ni acceso a los puntajes globales.

Habrá tiempo para enviar algoritmos hasta el 10 de marzo de 2008. Pueden enviarlos a mi dirección.

Mientras más algoritmos haya, será más divertido, así que ¡háganle propaganda al juego!

domingo, febrero 17, 2008

Resultados del torneo de Doble y Nada

¡Tenemos ganador! Aquí está la tabla final de posiciones:

96.8% PE (Pablo Coll)
1.5% J (Jorge Alvaro)
1.5% DoublesMedia (Cynthia Disenfeld)
0.0% Doblerone (Bernard Romera)
0.0% Trentenna (Jean Morales)
0.0% Pequeritmo01 (Markelo)
0.0% Pequeritmo02 (Markelo)
0.0% Pite (Alejandro Donnantuoni)
Cada link lleva al código fuente del algoritmo respectivo.

Aquí pueden ver el código fuente del sistema y de algunas funciones auxiliares.
La partida completa puede verse aquí.

¡Felicitaciones Pablo Coll, y a todos muchas gracias por participar! Ya andamos buscando un juego adecuado para la próxima competencia. No duden en enviar sus ideas.

martes, febrero 12, 2008

Doble y Nada: plazo revisado

No sé qué miré cuando puse la fecha límite para este concurso. No existe tal día.

La fecha final para el Doble y Nada será el sábado 16 de febrero de 2008, que sí existe.

¡Suerte a todos los participantes!

lunes, febrero 11, 2008

Doble y Nada: progreso

Ya tenemos aproximadamente cinco algoritmos en la competencia. Estoy terminando de programar el juez y algunos detalles de los algoritmos. Pronto haré las primeras competencias de prueba...

miércoles, enero 02, 2008

Sexta competencia: Doble y Nada

Bueno, ha pasado algún tiempo y la encuesta no ha dado resultados definidos; así que me tomo la libertad de elegir un juego nuevo para la sexta competencia, mientras pondero los demás juegos y propuestas pendientes.
El juego lo adapté de una discusión en el foro de Little Golem; es de naturaleza numérica.


Reglas del juego


En Doble y Nada juegan todos los participantes simultáneamente. En cada ronda, cada jugador elige un número entero positivo a gusto; el que elige el mayor gana un punto. Pero atención: si dicho número es mayor o igual que el doble del segundo mayor, se lo anula y se vuelve a evaluar el ganador.
Dicho de otro modo: gana el que elige el número más grande que sea menor que el doble del número inmediatamente menor elegido por otro jugador.

En caso de que varios jugadores elijan un mismo número ganador, todos ellos ganan el punto.

Un ejemplo:
  • Los jugadores eligen los números 8, 10, 20 y 1000.
  • Como 1000 es mayor o igual que 20 * 2, se anula el 1000.
  • Como 20 es mayor o igual que 10 * 2, se anula el 20.
  • Queda como ganador el 10, que es menor que 8 * 2.

Cómo participar

Podrán enviarme sus algoritmos en formato verbal, o en forma de código fuente, antes del sábado 12 de febrero de 2008.

El protocolo que deberán cumplir los programas presentados en forma de código es el siguiente:
  1. Escribir la jugada, en formato de número decimal, hacia la salida estándar (incluyendo un carácter de fin de línea).
  2. Leer una línea completa desde la entrada estándar. Si dicha línea es la palabra "fin", terminar normalmente. En caso contrario, dicha línea será el conjunto de números elegidos por todos los jugadores, en formato decimal, separados por un espacio.
    Ejemplo:
    43 8866 300 1 23894 1 44
    El orden de las jugadas siempre será el mismo; vale decir que el primer número de la lista siempre será el correspondiente al jugador A, el segundo al B, etc.
  3. Volver al paso 1.

miércoles, noviembre 21, 2007

Encuesta: ¿A qué jugamos ahora?

Decidí abrir una encuesta para ver qué juego usaremos en la próxima competencia. Estas son las opciones:
  1. versión dinámica del Intervalo
  2. versión dinámica del FootSteps
  3. otros juegos que propongan (que sean originales en lo posible)
Espero sus votos y/o sugerencias en los comentarios. Me reservo el derecho de desempate y/o elección compulsiva de algún juego nuevo que me seduzca.

¡A votar!

martes, noviembre 20, 2007

Resultados del FootSteps

Ya tenemos un ganador. Se trata de Pablo Diaz Rebaque, desde Madrid, con su algoritmo ijugador, escrito en C++. ¡Felicitaciones, Pablo!

Pueden ver la tabla de puntajes, una partida de muestra entre cada par de algoritmos, y el código fuente completo.

Hice el torneo a 20 rondas (a pesar de que había dicho que iba a ser una sola) porque la modalidad “procesos separados” no fue tan lenta como yo pensaba.

Gracias a todos los participantes, por las ideas y por la paciencia en el proceso de implementación, con mis idas y venidas.

Los que hayan presentado solamente código fuente están invitados a explicar en detalle sus estrategias (aunque no es obligatorio).

Me encantó la variedad de acercamientos que hubo, a pesar de ser un juego tan simple. Estoy seguro de que en la versión dinámica habrá mucha más tela para cortar.

lunes, noviembre 19, 2007

Progresos

Ayer terminó la inscripción para el FootSteps. Aún tardaré un día o dos más en terminar de probar cómo interacciona el juez con los programas presentados, e implementar algunos algoritmos que me enviaron en lenguaje coloquial.

Mientras tanto, podemos ir pensando en la siguiente competencia. Por mi parte, pensaba que quizá amerite una reedición del Intervalo, pero esta vez con algoritmos dinámicos (que puedan ver la historia de la partida en lugar de sólo el tablero).

¿Qué les parece?