jueves, octubre 12, 2006

Etapas finales

Bien, he recibido (y espero recibir en estos dos días que quedan) bastantes algoritmos.
Sospecho que me llevará bastante más tiempo poner a punto todo el código, limar asperezas, rumiar especificaciones, interpretar casos especiales, etc. Así que quizá no haya resultados el sábado o el domingo. Pido paciencia.

Mientras tanto, hay que ir pensando en la tercera competencia.
Una posibilidad es reeditar la competencia de El Uno, pero con la experiencia adquirida en la primera, más algún sutil cambio en las reglas.
Otra es elegir algún juego totalmente novedoso, aportado por ustedes mismos. Escucho ofertas.

lunes, octubre 09, 2006

Fechas

Cuando dije que el plazo para entregar algoritmos para el Sborochan era el viernes 14, no sabía lo que decía.

Dado que el viernes es 13, aclaro la cuestión para que no surjan problemas:

El plazo para entregar algoritmos vence el viernes 13 de octubre.

viernes, octubre 06, 2006

Más precisiones

Un airado participante nos escribe más que justificadamente:
No me parece nada justo que solo me permitas participar con uno de mis algoritmos.
Yo diseñé los tres sin pensar en las mafias y de hecho como están definidos está claro que no atienden a razones mafiosas.
Es un buen punto el que señala. Creo que lo más correcto sería que si el trío está diseñado no-mafiosamente (como el suyo), los tres algoritmos participen en la competencia no-mafiosa.

¡Me encanta cuando un plan se complica! ¿A ustedes?

jueves, octubre 05, 2006

Progresos y precisiones

Hasta el momento se han anotado aproximadamente 10 algoritmos para la competencia de Sborochan.

Les recuerdo que hay tiempo hasta el 14 de octubre para presentar algoritmos, y que habrá dos competencias: una con un algoritmo por persona, y otra con hasta tres algoritmos por persona (donde se permitirán estrategias mafiosas).

En ambas competencias, todos los algoritmos presentados competirán juntos durante 5000 y 50000 turnos, dependiendo del grado de definición que sea necesario para establecer un ganador.

miércoles, octubre 04, 2006

Sborochan - Mafias, reconsideradas

He estado intercambiando opiniones con varios participantes, y conmigo mismo... Y si bien el asunto de las estrategias mafiosas para el Sborochan me gusta mucho, también es cierto que el juego cambia demasiado respecto al original.

Así que decidí hacer un torneo paralelo, con un solo algoritmo por participante. La competencia original sigue sin cambios: los que me hayan mandado varios algoritmos, pueden elegir uno de ellos para este nuevo torneo, o bien mandarme un algoritmo "solitario".

Pido disculpas por estas idas y venidas (que en realidad son ramificaciones), pero es que quiero respetar el espíritu del juego original, y al mismo tiempo experimentar variantes... Ya sé, uno no puede vivir todas las vidas, pero puede aproximarse...

martes, octubre 03, 2006

Mafias

Estuve pensando (y charlando con algunos participantes) sobre la posibilidad de que aparezcan estrategias "mafiosas" en el Sborochan.
En realidad es algo que ya había pensado antes de armar la competencia pero que omití mencionar en el planteo, pensando que quizá alentara algún tipo de animosidades.
Pero la verdad es que, tratándose de un juego entre caballeros, no veo por qué prohibir nada; además, aunque uno haga un trío de jugadores que se ayuden entre sí, no hay que olvidar que otros jugadores pueden hacerlo también. Incluso podrían surgir meta-mafias, o sea, varios participantes que diseñen muchos algoritmos que trabajen en conjunto. También se podría dar la posibilidad (que creo que ya se ha dado, pero no entraré en detalles públicamente) de que dos algoritmos presentados por un mismo participante se perjudiquen entre sí (adrede o por accidente)...
Seamos creativos. Las "mafias" quedan más que aceptadas.
¡Dejemos que los bits fluyan!

PD: Otro tema mucho más rico que charlamos con Iván, es la posibilidad de diseñar explícitamente un juego que no sólo permita, sino que requiera el uso de estrategias mafiosas... Pero eso es tema para otro post.

domingo, octubre 01, 2006

Reflexiones varias

Pensé bastante sobre la posibilidad de ofrecer el código fuente del sistema y otras herramientas que uso, para que los participantes programadores puedan probar sus algoritmos antes de presentarlos; pero encontré varias razones (abiertas a discusión, claro) para no hacerlo:
  • Me da modorra tener que portar el código que tengo a un lenguaje más conocido (el Unicon no es muy popular, me he dado cuenta).
  • Sería injusto para los no-programadores, que testean sus algoritmos "sobre el papel", que los programadores tengan una herramienta "oficial" que les simplifique la tarea. Aún admitiendo que la programación es un arte complejo, la velocidad de una computadora nos permite hacer muchos experimentos difíciles de plantear teóricamente.
  • En gran medida (como me di cuenta en el concurso anterior) no hay código fuente "oficial" hasta que termina la recolección de algoritmos, porque cada nuevo algoritmo puede modificar mis ideas de cómo implementar otros algoritmos, cómo representar más eficientemente la información, etc.
  • La principal razón: es más divertido y enriquecedor para mí implementar todos los algoritmos, intercambiando ideas, preguntas, respuestas, dudas y sugerencias con los participantes.

Como dije, estas razones están abiertas a discusión, por supuesto; y obviamente, luego de que termina una competencia es necesario (y divertido) liberar el código del sistema y de todos los algoritmos, para que todos vean contra quién jugaron.
Veremos si la complejidad de la nueva competencia me hace arrepentir de esta decisión, jeje...

Nueva competencia: Sborochan

Doy por comenzada la competencia para el juego Sborochan. Las reglas básicas ya las había comentado.

Éstas son las reglas técnicas:

  • Cada participante podrá presentar hasta 3 algoritmos distintos (cada uno con un nombre de guerra que lo identifique), que serán los jugadores que lo representen.
  • Se ejecutarán 1000 turnos por partida. La cantidad de partidas dependerá de varios factores que aún no conozco, por ejemplo la complejidad de los jugadores.
  • En cada turno, cada jugador deberá producir un número entero K, entre 1 y 1000000. Si K no es entero, se tomará su parte entera; si K es menor que 1, se hará K = 1. Si K es mayor que 1000000, se hará K = 1000000.
  • El jugador que produzca el menor número no repetido, se anotará un punto. Los demás no anotarán nada. Pueden darse empates, donde ningún jugador anota puntos.

Los jugadores podrán tener acceso a los siguientes datos:

  • La cantidad de jugadores
  • El historial de las jugadas anteriores de cada jugador
  • El historial de jugadas ganadoras anteriores
  • El turno actual de la partida
  • El puntaje de cada jugador
  • Cualquier propuesta útil y razonable que me hagan llegar
Haré dos competencias distintas: en una podrá participar cualquier jugador; en la otra participarán sólo los jugadores determinísticos. Un jugador es determinístico cuando juega siempre igual dadas las mismas condiciones; o, si se quiere, cuando no depende del azar para jugar.

Hay tiempo hasta el 14 de octubre para presentar algoritmos.
Espero desde ahora mismo sus aportes y participaciones. ¡Suerte a todos!