<?php
ini_set('memory_limit', -1);
$num = 500000;
$num = 5000000;
// $num = 10000000;
// $num = 25000000;
$all = [];
$with_bias = true;
$with_bias = false;
foreach (range(1, $num) as $i) {
if ($with_bias) {
$pick = array_rand(array_flip(range(11,45)), 4);
$m = mt_rand(1,10);
$pick[] = $m;
}
else {
$pick = array_rand(array_flip(range(1,45)), 5);
}
sort($pick);
$joker = mt_rand(1,20);
$pick[] = $joker;
$column = implode(',', $pick);
$freq = $all[$column] ?? 0;
$all[$column] = $freq + 1;
}
$unique_columns = count($all);
$all_columns = 24435180;
$prob_win = $unique_columns / $all_columns * 100;
$prob_win_all_unique = $num / $all_columns * 100;
$prob_lose = 100 - $prob_win;
$prob_lose_all_unique = 100 - $prob_win_all_unique;
echo "unique columns:$num,prob win:$prob_win_all_unique,lose:$prob_lose_all_unique\n";
echo "unique columns:$unique_columns,prob win:$prob_win,lose:$prob_lose\n";
$diff = ($prob_win_all_unique - $prob_win) / $prob_win * 100;
echo "% difference: $diff";