Autor Tema: Mini-Concurso de programacion 2. Las 8 reinas.  (Leído 20108 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado omix

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 244
Re: Mini-Concurso de programacion 2. Las 8 reinas.
« Respuesta #60 en: 20 de Mayo de 2009, 18:37:33 »
Nueva versión: "Reinas Vista"


Te lo advierto, Omix, no sigas, que tengo que trabajar  :D


Tranquilo, hoy no me encuentro muy fino para ponerme a pensar como implementar la optimización que tengo en mente. Si lo llego hacer, aunque este fuera de concurso lo postearé.
Asi que enhorabuena Nocturno, eres el ganador.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Mini-Concurso de programacion 2. Las 8 reinas.
« Respuesta #61 en: 20 de Mayo de 2009, 18:44:31 »
Claro que soy ganador, he ganado el entusiasmo por un algoritmo que hace tiempo que no sentía, y también he ganado otra cosa: el descubrimiento de la técnica del backtracking gracias a ti.

Creo que si alguien merece un premio es jgpeiro por darnos la oportunidad de disfrutar de esta manera.

Por cierto, acabo de caer en la cuenta de que no he explicado en qué consisten las optimizaciones para reducir el tiempo. Son fundamentalmente dos las más importantes:
1. Buscar sólo la mitad de soluciones
En lugar de generar la semilla en las 8 celdas de la primera fila, sólo genero 4 semillas. A las 46 soluciones encontradas les hago el espejo y obtengo las otras 46 sin invertir nada en tiempo de cálculo.
2. Crear un array nuevo
La posición de la reina en el tablero viene dada por un bit dentro de un byte. En una parte del programa, me interesa saber qué posición ocupa. En el algoritmo original recorría el byte hasta encontrarlo.
En el algoritmo optimizado, almaceno su posición en otro array, así que sólo tengo que leerlo.


Desconectado jgpeiro06

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 276
Re: Mini-Concurso de programacion 2. Las 8 reinas.
« Respuesta #62 en: 21 de Mayo de 2009, 16:23:24 »
Bueno, creo que ya es momento de empezar con las votaciones. Os pido disculpas por el retraso, ya que estaban previstas para los dias 20 a 25, y va a ser del 21 al 28, así tendremos suficiente tiempo para evaluar los codigos de cada concursante.

                                 Categorias
Concursantes              Sencillo          Lioso             Rapido          Robusto
migsantiago                   X                  X                 X                  X
jgpeiro                          X                  X                 X                  X
omix                             X                  X                 X                  X
nocturno                       X                  X                 X                  X

Cada concursante deberá rellenar la tabla con números del 1 al 4. Los criterios de cada categoría están descritos en el primer post de este hilo.
El dia 28 se sumaran los puntos y se entregaran los increíbles premios valorados en miles de millones de dollarsss.

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Mini-Concurso de programacion 2. Las 8 reinas.
« Respuesta #63 en: 21 de Mayo de 2009, 17:32:01 »
Dejo mi opinión sobre los demás y sobre mi  :mrgreen:

                                 Categorías
Concursantes              Sencillo          Lioso             Rápido          Robusto
migsantiago                   4                  3                 -4  :D            1
jgpeiro                          3                  4                 1                  1
omix                             1                  1                 4                  4
nocturno                       2                  1                 4                  4

Asumo que...

4 = súper
3 = muy
2 = algo
1 = nada

y pues ya sabrán que opino al decir que la rapidez de mi algoritmo es -4  :D

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Mini-Concurso de programacion 2. Las 8 reinas.
« Respuesta #64 en: 21 de Mayo de 2009, 17:48:11 »
Las mías:
                                 Categorías
Concursantes              Sencillo          Lioso             Rápido          Robusto
migsantiago                   4                  1                 1                  x
jgpeiro                          4                  1                 1                  x
omix                             2                  3                 4                  x

No sé cómo valorar la robustez.


Desconectado jgpeiro06

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 276
Re: Mini-Concurso de programacion 2. Las 8 reinas.
« Respuesta #65 en: 21 de Mayo de 2009, 18:34:49 »
Citar
y pues ya sabrán que opino al decir que la rapidez de mi algoritmo es -4
Quizas sea lento, pero es un algoritmo facil de entender y eso siempre es positivo. Ademas, voy a descalificar a nocturno y a omix por utilizar un algorimo mas rapido y no avisarnos de nuestro fracaso!!!

Citar
migsantiago                   4                  1                 1                  x
jgpeiro                          4                  1                 1                  x
omix                             2                  3                 4                  x
nocturno, no vale escaquearse, tienes que puntuarte a ti mismo también, así si ganas te acusaremos de imparcialidad...jajaja

Sobre como puntuar la robustez... bueno, la idea inicial era presentar un algoritmo para cada categoria, pero no ha habido suficientes participantes...La categoria de robustez pretendia probar que programas estaban mejor preparados frente a un fallo en alguna instruccion de la ROM. Un algoritmo robusto debe chequear los resultados de las rutinas y si no cumplen unos criterios volver a probar, o utilizar rutinas distintas...... se me esta resultando curioso,¿creeis que seria interesante un nuevo mini-concurso con el objetivo crear algoritmos robustos?
De momento podemos puntuar esa categoria a ojo, bajo el criterio de programa robusto de cada uno.


Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Mini-Concurso de programacion 2. Las 8 reinas.
« Respuesta #66 en: 21 de Mayo de 2009, 19:20:40 »
Naaaaa, paso de puntuarme a mí mismo, que soy un hijoputa poniendo notas  :D

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Mini-Concurso de programacion 2. Las 8 reinas.
« Respuesta #67 en: 27 de Mayo de 2009, 16:57:43 »
Bu, faltan los votos de Omix y del organizador Jgpeiro.

Desconectado jgpeiro06

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 276
Re: Mini-Concurso de programacion 2. Las 8 reinas.
« Respuesta #68 en: 27 de Mayo de 2009, 17:59:05 »
Citar
Bu, faltan los votos de Omix y del organizador Jgpeiro.
Si, este jgpeiro...que vergüenza...
Mañana la entrega de premios. La ceremonia de apertura será en un hotel de lujo en Tokio, el Shumusuka,  planta 23. Allí nos vemos.

Concursantes              Sencillo          Lioso             Rapido          Robusto
migsantiago                   2                  2                 1                  3
jgpeiro                          3                  1                 1                  2
omix                             2                  2                 3                  2
nocturno                       2                  1                 4                  3

1 bien... 4 mejor

« Última modificación: 27 de Mayo de 2009, 18:03:52 por jgpeiro06 »