Décima competencia: Oráculo
El juego Oráculo es una variante del Eleusis, pero más apto para ser jugado entre algoritmos.
Reglas del juego
En cada ronda del juego se dan las siguientes etapas:
- Uno de los jugadores, que hará de dios, escribe una secuencia de números en un papel, manteniéndola secreta. Luego, el dios muestra el primer número de la secuencia.
- Los demás jugadores (que harán de oráculos) deberán predecir qué número es el siguiente de la secuencia. Las predicciones serán simultáneas.
- El dios revela el siguiente número de la secuencia. Cada predicción correcta otorgará un punto al oráculo que la hizo.
- Si quedan números en la secuencia, se vuelve al paso 2.
- El dios ganará tantos puntos como la diferencia entre los puntos del oráculo más exitoso y los del menos exitoso (durante la ronda en cuestión). Por ejemplo, si los oráculos obtuvieron 10, 5, 32 y 100 puntos, el dios ganará 95 puntos (la idea tras esta regla es que los dioses inventen secuencias que no sean muy fáciles ni muy difíciles de adivinar).
- Si quedan jugadores que no han hecho de dios, se vuelve al paso 1 (el papel de dios rotará entre rondas, de manera que todos los jugadores hagan de dios la misma cantidad de veces).
Reglas para la competencia
Cada participante deberá enviar un solo algoritmo-oráculo y diez secuencias de números, que serán usadas en las rondas en las que él juegue como dios y los demás como oráculo.
Las secuencias deberán contener 1000 números, estando cada número entre 1 y 1000 inclusive.
Habrá secuencias extra (de longitud variada), proporcionadas por mí para correr rondas donde todos los algoritmos jueguen como oráculo.
Los algoritmos deberán enviarse en forma de código fuente en algún lenguaje que posea intérprete y/o compilador disponible y gratuito para Linux. Se aceptarán ideas descriptas en lenguaje coloquial, pero no aseguro que tenga tiempo y/o capacidad para implementarlas.
Los algoritmos deberán ajustarse a la siguiente estructura básica:
- Leer un número decimal desde la entrada estándard (como una línea completa).
- Si el número leído es 0, terminar.
- Calcular su predicción y escribirla en la salida estándard (como una línea completa).
- Volver al paso 1.
Dada su naturaleza, este juego permite hacer varias competencias seguidas, agregando en cada una nuevos algoritmos y/o secuencias. Veremos cómo se presenta la cosa.
6 comentarios:
Me parece que habria que premiar con puntos tambien al oraculo. Ya que un buen algoritmo tendria muchos puntos y si hay alguno que adivine poco solo le daría muchos puntos al dios rival de turno.
Armando: tanto los oráculos como el dios reciben puntos. Está especificado en las reglas.
Gracias por el interés, espero tu algoritmo y secuencias!
Marcos, soy nuevo, asisto al coliseo desde hace un tiempo pero hasta ahora no me decidí a participar.
¿Estoy a tiempo de hacer algunas sugerencias? Si es así; pienso que no deberías incluir secuencias que los participantes no hayan escogido. Esto es porque lo que me gustaría pensar que el resultado reflejará solo la calidad de los programas y, en ningún caso, suerte/azar.
También tengo una pregunta; ¿Podemos usar libros de aperturas? Mi idea es enviar dos archivos. "adam" y "creacion.god".
Carlos: es razonable lo que decís de no agregar secuencias ajenas al concurso.
Lo que haré entonces será lo siguiente: participaré yo mismo con mi propio algoritmo y secuencias, que obviamente prepararé antes de leer los aportes de los demás.
Respecto al libro de aperturas, no entiendo del todo lo que significaría en este contexto. ¿Podés explayarte más?
¡Saludos y espero tus ideas!
Estaba pensando en escribir un algoritmo genético para las adivinanzas. Pero para lograr buenos resultados necesito muchos ciclos o enormes poblaciones por cada ciclo (la entropía ya no es lo que era). Entonces se me ocurrió que podía incluir una sopa primal con buena bio-diversidad de la cual partiría el algoritmo en cada ronda para no tener que consumir demasiada memoria.
Carlos: aunque no está especificado, sería deseable que los algoritmos no tardasen mucho; así que si podés precalcular todo lo que puedas, tanto mejor.
Publicar un comentario en la entrada