Ver Mensaje Individual
  #2 (permalink)  
Antiguo 10/05/2013, 22:11
Avatar de ggomez91
ggomez91
 
Fecha de Ingreso: octubre-2008
Mensajes: 181
Antigüedad: 16 años, 4 meses
Puntos: 13
Respuesta: Algoritmo aleatorio con prioridades?

Hola, la forma más fácil que se me ocurre es que uses el método de la ruleta. Necesitarías un arreglo 2d u otro arreglo del mismo tamaño para guardar las prioridades, algo así:

elementoA -- 3
elementoB -- 1
elementoC -- 2

Eso sería como "el elemento A tiene 3 veces más probabilidad de ser seleccionado que el C".

Ya que tienes eso debes obtener la probabilidad de cada uno y guardarlo en otro arreglo y otra dimensión. Esto se hace obteniendo la suma de todas las prioridades y dividir cada una entre ese total. Al final todas esas prioridades normalizadas deben sumar 1.

Luego generas un número aleatorio entre 0 y 1 y solo debes iterar sobre tu arreglo ya normalizado, el primer elemento mayor al número aleatorio generado lo tomas.

Sé que parece algo rebuscado pero dale una búsqueda al "metodo de la ruleta", no es tan difícil.