Algoritma yang efisien untuk menghasilkan dua permutasi multiset yang tersebar dan acak secara acak
Latar Belakang \newcommand\ms[1]{\mathsf #1}\def\msD{\ms D}\def\msS{\ms S}\def\mfS{\mathfrak S}\newcommand\mfm[1]{#1}\def\po{\color{#f63}{\mfm{1}}}\def\pc{\color{#6c0}{\mfm{c}}}\def\pt{\color{#08d}{\mfm{2}}}\def\pth{\color{#6c0}{\mfm{3}}}\def\pf{4}\def\pv{\color{#999}5}\def\gr{\color{#ccc}}\let\ss\gr Misalkan saya punya dua batch identik kelereng. Setiap marmer bisa menjadi salah satu warna c , di mana c≤n . Biarkan n_i menunjukkan jumlah kelereng warna i dalam setiap batch.nnncccc≤nc≤nc≤nninin_iiii Biarkan SS\msS menjadi multiset {1,…,1n1,2,…,2n2,…,1c,…,cnc}{1,…,1⏞n1,2,…,2⏞n2,…,1c,…,c⏞nc}\small\{\overbrace{\po,…,\po}^{n_1},\;\overbrace{\pt,…,\pt}^{n_2},\;…,\;\overbrace{\vphantom 1\pc,…,\pc}^{n_c}\} mewakili satu kumpulan. Dalam representasi frekuensi , …