php porcentagem de chance
Isso é realmente mais uma questão de abordagem, mas estou apresentando em php.
uponha que tivéssemos uma lista de quatro porcentagens de ocorrência de um evento na iteraçã
array=('walk the dog'=>.25,'read the paper'=>.25,'drink coffee'=>.0,'listen to music'=>.50)
(Chaves são apenas testes - na prática, isso será usado em um padrão de estratégia que aplica métodos diferentes a um objeto fora de chance usandocall_user_func()
)
Em um loop, qual seria a melhor maneira de escolher um desses eventos por seleção ajustada aleatoriamente, levando em consideração seus respectivos pesos (IE, para essa configuração específica, haverá muita música ouvida e não muita café bebeu)
Atualmente, tenho algo como:
for($i=1;$i<=3;$i++){
$rand = 1/rand(1,10);
//choose from the list
}
Mas isso exigiria o mapeamento das porcentagens para os intervalos de valores (50-100% tornam-se ouvindo música, 0-25% passeando com o cachorro e 25-50 lendo o jornal) porque o 'valor' dessa iteração é calculado como um ponto flutuante número entre 0 e 1. Isso altera a maneira como as porcentagens precisam ser registrada
Existe algum tipo de abordagem que preservaria a identidade dos valores como a probabilidade real de eles serem escolhidos em vez de intervalos? Definitivamente, tornaria o código mais configurável, pois tenho que tornar esses valores ajustáveis. Entre em contato se tiver sido muito vag