eu estava conversando com ums amigos sobre o assunto
temos um array de bixos e cada um tem uma nota de força
bixo 1 força 500
bixo 2 força 700
bixo 3 força 500
bixo 4 força 900
teria que fazer um sorteio aleatorio onde se leva em consideraçao a força num modo que
em 2600 sorteios o numero 1 seja sorteado 500 vezes, o numero 2 seja sorteado 700 vezes etc ....
como isso e aleatorio, pode ter uma percentagem de derivaçao de pertinença
qual seria a sua soluçao
rog
Quoteem 2600 sorteios o numero 1 seja sorteado 500 vezes, o numero 2 seja sorteado 700 vezes etc ....
Não entendi. E o resto dos bixos? Se a progressão for mantida, teremos as probabilidades:
bixo 1 = 5/26
bixo 2 = 7/26
bixo 3 = 9/26
bixo 4 = 11/26
bixo 5 = 13/26
Mas isso não pode acontecer, porque o total deve ser 26/26, mas com isso temos 45/26.
a soluçao encontrada e baseada em proporçao
soma das força = 2600
sorteio aleatorio de numero entre 1 e 2600
um loop para achar a qual bixo pertence o numero
aqui o poc que eu codei
error_reporting(E_ALL);
#
$sleep = rand(1,3);
sleep($sleep);
#
session_start();
#
if(!isset($_SESSION['loop']))
{
$_SESSION['hamster'][0] = 500;
$_SESSION['hamster'][1] = 1000;
$_SESSION['hamster'][2] = 2000;
$_SESSION['hamster'][3] = 2000;
$_SESSION['hamster'][4] = 500;
#
$_SESSION['result'][0] = 0;
$_SESSION['result'][1] = 0;
$_SESSION['result'][2] = 0;
$_SESSION['result'][3] = 0;
$_SESSION['result'][4] = 0;
#
$_SESSION['FORCE_HAMSTER'] = array_sum($_SESSION['hamster']);
$_SESSION['loop'] = 0;
}
#
$_SESSION['loop']++;
#
$_SESSION['result'][poc()]++;
#
$display = "<li> boucle n° : ".$_SESSION['loop'];
#
foreach ($_SESSION['result'] as $in=>$val)
{
$display .= "<br> hamster n° : ".($in + 1)." - force : ".$_SESSION['hamster'][$in]." cumul des requêtes : {$val} - derivation : ".pertinence($in)."<br>";
}
#
if($_SESSION['loop'] < 6000)
{
$display .= ("<SCRIPT LANGUAGE=\"JavaScript\"> document.location.href=\"".$_SERVER['PHP_SELF']."\"</script>");
}
echo($display);
flush();
#
# counter reset
#session_destroy();
#
##############################################################################################################
function poc(){
##############################################################################################################
$monrandom = rand(1,$_SESSION['FORCE_HAMSTER']);
$a = 0;
$trouve = false;
#
while(!$trouve)
{
$monrandom -= $_SESSION['hamster'][$a];
#
if ($monrandom <= 0)
{
$trouve = true;
$result = $a;
}
$a++;
}
return $result;
}
##############################################################################################################
function pertinence($index){
##############################################################################################################
#
$coef = $_SESSION['FORCE_HAMSTER'] / $_SESSION['loop'];
# cumul hamster réaligné
$realign = $_SESSION['result'][$index] * $coef;
#
$pertinence = round($realign / $_SESSION['hamster'][$index],2);
#
return $pertinence;
}
##############################################################################################################