jueves, octubre 26, 2006

Plazo

El plazo para la entrega de algoritmos para la competencia de Minoría vence el viernes 3 de noviembre.
Hasta el momento tengo cinco algoritmos. ¡Espero el resto prontamente!

lunes, octubre 23, 2006

Aclaraciones sobre las reglas del Minoría

Algunos participantes me han preguntado esto, y me di cuenta de que no estaba del todo claro en las reglas que publiqué.
Donde dice "en caso de empate" me refiero a empate entre cantidades de votos de dos opciones.

Ejemplos:
Si A tiene 10 votos, B 5 y C 5, nadie gana nada porque hay dos opciones que tienen la menor cantidad de votos.
Si todos votan por B, tampoco nadie gana nada, porque aunque es la única opción votada, no es minoritaria.
Si A tiene 7 votos, B 2 y C 3, los dos que votaron B suman un punto.

Espero que quede clara ahora la mecánica del juego. No duden en consultar por cualquier duda.

jueves, octubre 19, 2006

Minoría: detalles

Olvidé agregar una cosa respecto a la competencia de Minoría: habrá dos partidas; una entre algoritmos cualesquiera, y otra entre algoritmos determinísticos solamente.

Si envían algoritmos determinísticos, especifiquen por favor si quieren participar en ambas competencias o sólo en la determinística.

Y no olviden ponerle nombre a sus creaciones; es más divertido así.

miércoles, octubre 18, 2006

Tercera Competencia: Minoría

Luego de ponderar varias propuestas (que seguiré ponderando para futuras competencias), elegí el juego Minoría. Es un juego bastante conocido en el cenáculo de la teoría de juegos, así que le introdujimos una pequeña variante.

Las reglas son las siguientes:
  • Todos los jugadores eligen secretamente entre tres opciones: A, B o C.
  • Los que hayan elegido la opción menos elegida, ganan un punto.
  • En caso de empate, nadie gana nada.
  • Se repite una cantidad prefijada de turnos.
  • El ganador es quien haya acumulado más puntos.
Así de simple.

Como siempre, los algoritmos tendrán acceso al historial previo de la partida.
La cantidad de turnos dependerá de la complejidad de los algoritmos que manden; supongo que no será menor a 10000.

Cada participante competirá con un solo algoritmo.

El plazo de entrega será de unas dos semanas a partir de ahora.

martes, octubre 17, 2006

Resultados completos del Sborochan

Bueno, por fin se ha solucionado el problema en mi sitio principal (esperemos que por largo tiempo).

Pueden ver allí el código fuente del programa que he usado para los torneos de Sborochan (versión coloreada).
Los algoritmos están al final del código. Dentro del código de cada uno, está la descripción que envió el participante en su momento.

El resultado de la ronda normal es éste.
El resultado de la ronda determinística es éste.

Pueden ver también los resultados extraoficiales:
torneo combinatorio y torneo reality-show
(ambos archivos comprimidos, son algo extensos).

Bueno, la verdad que ha sido una competencia muy entretenida para mí. Felicito a todos por igual (y a los ganadores más igualmente que a los demás, jeje) y les agradezco muchísimo la paciencia que han tenido tanto con los tiempos como con mis errores y vacilaciones.

Manténganse atentos para la tercera competencia...

lunes, octubre 16, 2006

Sborochan: resultados

Al fin, he aquí los resultados oficiales. Perdón por las idas y venidas.

Lamentablemente, sigo teniendo problemas técnicos con mi server principal, y no podré colgar aún el código fuente y los resultados extraoficiales, que son archivos grandecitos y por su formato no quedan bien expresados en este blog. Pido paciencia...




Ronda Normal

Modalidad: una ronda de 200000 turnos entre todos los algoritmos no mafiosos.
Sólo fueron presentados dos tríos de algoritmos mafiosos, de manera que tiene poco sentido hacer la ronda mafiosa.


Puesto, puntaje, puntaje proporcional, nombre, autor:

1 30792 100.0 Pequeritmo 03 [Markelo]
2 27854 90.45 El Malo [Carlos Luna Mota]
3 20914 67.92 Terco [Eugenio]
4 17934 58.24 Mitjana [Víktor Bautista i Roca]
5 16962 55.08 Pequeritmo 04 [Markelo]
6 14830 48.16 Democrático [Jorge Gómez]
7 11631 37.77 Bin21+0 [Pablo Coll]
8 8254 26.8 Jorge A [Jorge Álvarez]
9 7460 24.22 Democr. Prob. [Jorge Gómez]
10 6497 21.09 Mateo 13:12 [Iván Skvarca]
11 6132 19.91 Salva 2 [Salvador Cases]
12 6002 19.49 Jorge B [Jorge Álvarez]
13 5232 16.99 Oloman [Manolo Sánchez]
14 2850 9.25 Trampa [Eugenio]
15 2669 8.66 Pequeritmo 02 [Markelo]
16 2211 7.18 Meitat [Víktor Bautista i Roca]
17 1991 6.46 Jorge C [Jorge Álvarez]
18 1692 5.49 Copión [Jorge Gómez]
19 1488 4.83 Blitzball [Jerbil_X]
20 1374 4.46 Salva 3 [Salvador Cases]
21 50 0.16 Caracol [Storre]
22 45 0.14 Salva 1 [Salvador Cases]
23 0 0.0 Guille [Guille Becker]
24 0 0.0 El Feo [Carlos Luna Mota]
25 0 0.0 Homero Simpson [Daniel Dvorkin]
26 0 0.0 El Bueno [Carlos Luna Mota]




Ronda Determinística

Modalidad: una sola ronda de 50000 turnos entre todos los algoritmos determinísticos no mafiosos.
La hice más corta que la general, porque no hacía falta asegurar una diferencia importante de puntajes para evitar efectos del azar.
Es posible, en teoría, que si se prolonga mucho más la ronda se modifiquen algunos puestos, pero no creo que cambie mucho.


Puesto, puntaje, puntaje proporcional, nombre, autor:

1 12496 100.0 Terco [Eugenio]
2 12380 99.07 Democrático [Jorge Gómez]
3 12378 99.05 Pequeritmo 03 [Markelo]
4 12360 98.91 El Bueno [Carlos Luna Mota]
5 122 0.97 El Malo [Carlos Luna Mota]
6 62 0.49 Blitzball [Jerbil_X]
7 56 0.44 Jorge B [Jorge Álvarez]
8 35 0.28 Mitjana [Víktor Bautista i Roca]
9 34 0.27 Jorge A [Jorge Álvarez]
10 14 0.11 Pequeritmo 02 [Markelo]
11 8 0.06 Jorge C [Jorge Álvarez]
12 8 0.06 Meitat [Víktor Bautista i Roca]
13 7 0.05 Copión [Jorge Gómez]
14 6 0.04 Caracol [Storre]
15 0 0.0 Guille [Guille Becker]
16 0 0.0 El Feo [Carlos Luna Mota]
17 0 0.0 Pequeritmo 04 [Markelo]
18 0 0.0 Homero Simpson [Daniel Dvorkin]

Disculpas

Hola... Como bien señala Papá Oso, se me traspapelaron sus algoritmos, que había presentado a tiempo pero por alguna razón no incorporé a la competencia.

Pido disculpas a todos, y sobre todo a Papá Oso. En unas horas supongo que tendré re-calculados los resultados.

Por cierto, sigo con problemas en el server de mi sitio, así que de todas formas tardaré más tiempo en presentar todos los datos.

Paciencia y disculpas.

sábado, octubre 14, 2006

Últimos preparativos

Bueno, ya tengo todo lo necesario para ejecutar la competencia; sólo falta corregir algunos detalles que he estado consultando con algunos participantes.
Supongo que mañana domingo habrá terminado todo.
Paciencia, ¡y a hacer fuerza por sus creaciones!

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!