jueves, agosto 27, 2009

Overcut: resultados

Suenen tambores, platillos y fanfarrias...

¡Felicitaciones a Javier Gómez! Es el ganador indiscutido, con su algoritmo (bien llamado por cierto) Con ternura pero sin Piedad.

Antes que nada aclaro un detalle que modifiqué de la mecánica del juego: cada partida se juega ahora a 1000 turnos, y el que tiene más puntos al final es el ganador de la partida. Es casi equivalente a la mecánica que había estipulado al comienzo, pero es más fácil manejar los casos de posible empate continuo (que finalmente no aparecieron). Hice 10000 rondas de todos contra todos.

Primero, la tabla de puntajes totales:

Puntaje Algoritmo Autor



131039 Con ternura pero sin piedad Javier Gómez
116151 Subasta a ciegas Manuel Aráoz
110696 Kurchan 1 Rodolfo Kurchan
98383 Leonard Urko Joseba
92468 Kurchan 2 Rodolfo Kurchan
88865 Potolio Graciela Battauz
73232 Azahar Graciela Battauz
72431 Julious Urko Joseba
67641 Adolph Urko Joseba
67440 Kurchan 3 Rodolfo Kurchan
56793 Super Amateur Claudio Meller
54953 Pequeritmo 1 Markelo
50166 Pequeritmo 2 Markelo
49162 Pequeritmo 3 Markelo
30000 Tontina Francesc d'Assis Massanés
27992 Lechal 1 Jorge Alvaro

Ahora la modalidad reality show (se va eliminando al peor y se recalcula el total de los otros). En orden de eliminación:
  1. Lechal 1
  2. Tontina
  3. Pequeritmo 3
  4. Pequeritmo 2
  5. Super Amateur
  6. Pequeritmo 1
  7. Kurchan 3
  8. Adolph
  9. Leonard
  10. Kurchan 2
  11. Julious
  12. Potolio
  13. Subasta a ciegas
  14. Kurchan 1
  15. Azahar
Con lo cual el ganador de la versión reality también es Con ternura pero sin Piedad. No es extraño; lo que sí es raro es la diferencia de orden en ambas tablas. Seguramente se debe a que cada uno juega mejor contra un subconjunto distinto de oponentes. Pueden ensayar esto, haciendo competencias subjuntivas usando esta planilla de cálculo y cambiando los números en la sección ¿participa?. Un 1 significa que el algoritmo de ese renglón participa en la competencia, y un 0 que no participa.

Ah, casi me olvido: he aquí el código fuente con la implementación del concurso. Si detectan algún error o algo sospechoso no dejen de avisarme.

Como siempre, gracias a todos por participar. Fue muy divertido comparar estrategias y verlas interactuar.

Estén atentos, que se viene la versión 2 del Overcut...

7 comentarios:

Santi dijo...

Qué blog interesante! La próxima participo!

Markelo dijo...

Evidentemente no lo pensé lo suficiente.

Leí el código fuente pero no llego a comprender. ¿Alguno podría explicar coloquialmente el algoritmo ganador? Si pudieran explicar los tres primeros, mejor.

Marcos dijo...

Es cierto, tendría que haber puesto una somera explicación de cada uno.

En cuanto pueda hago una compilación y la publico.

Mientras tanto, si los autores quieren explicar ellos mismos será bienvenido.

Manu dijo...

Wow! nunca imaginé q iría a salir 2°... la verdad el algoritmo lo envié solo para probar como era participar, era casi en chiste.

Lo único que hacía era elegir el numero consecutivo al que eligió el oponente en la ronda anterior.

Javi dijo...

Esto es lo que le envié a Marcos. Supongo que es suficientemente autoexplicativo.

-> En la primera tirada tirar 2.
-> En las siguientes tiradas, basadas en la historia de las tiradas del otro jugador, sea p_i el numero de veces que salio el numero i entre el numero de turnos disputados hasta el momento. Generar un numero aleatorio de forma que i+1 tenga probabilidad p_i.

La idea detras de esto es basicamente la de asumir que el otro jugador sigue una cierta distribucion independiente de la nuestra (lo cual no es cierto generalmente) y tratar de estimar dicha distribucion para jugar consecuentemente.

Anónimo dijo...

No puedo acceder al codigo fuente, parece que el enlace esta roto.
Podrias subirlo de nuevo ?

Gracias

Marcos dijo...

Sí, el sitio que usaba no existe más.
En cuanto pueda subiré el código a un nuevo sitio y actualizaré el post.