Pertimbangkan lotre di mana sponsor menjual banyak tiket (misalkan 100), memasukkannya ke dalam wadah (sebut saja topi), dan kemudian secara acak memilih tiket dari topi untuk memutuskan siapa yang memenangkan hadiah. Sekarang anggaplah ada beberapa hadiah; sponsor menarik pemenang hadiah pertama, lalu yang kedua, dan yang ketiga. Tentu saja, tiket yang menang tidak dimasukkan kembali ke dalam topi setelah ditarik, karena itu akan memungkinkan mereka untuk dipilih lagi, menghasilkan satu tiket yang memenangkan lebih dari satu hadiah, yang melanggar aturan. Oleh karena itu, semua pilihan setelah yang pertama dibatasi . Dalam arti tertentu, permainan ini dicurangi, sehingga pemenang berikutnya hanya bisa datang dari kumpulan non-pemenang, sebagai mekanisme untuk mencapai tujuan tidak memberikan beberapa hadiah untuk tiket tunggal apa pun.
Sekarang anggaplah ada 100 hadiah - semua orang memenangkan sesuatu. Pada saat tiket terakhir ditarik keluar dari topi, hanya ada satu tiket di sana. Seleksi dibatasi sampai titik yang ditentukan sebelumnya. Dan Anda tahu siapa pemenang ke-100 - orang sedih yang berdiri di tengah orang banyak, menunggu namanya dipanggil; yang bukan pemenang yang tersisa.
Masalah Anda dapat diselesaikan dengan strategi serupa:
- mulailah dengan angka acak “benar-benar” (maksud saya angka-angka didistribusikan secara statistik sesuai dengan distribusi probabilitas yang Anda pilih, misalnya, distribusi seragam pada kisaran 25-75) dan kemudian
- membatasi angka-angka kemudian (dengan menyesuaikan distribusi) sebagai mekanisme untuk mencapai tujuan dari rata-rata yang ditentukan.
Dan logika untuk membatasi distribusi probabilitas adalah sederhana: jangan menghasilkan (dan memasukkan ke dalam lembar penetapan harga) angka apa pun yang membuatnya tidak mungkin untuk mencapai tujuan.
Saya merasa lebih mudah untuk memikirkan tujuan sebagai mencapai total yang ditentukan
daripada rata - rata tertentu . Tentu saja ini setara secara logis. Misalnya, anggap Anda hanya menginginkan 4 angka daripada 100. Anda ingin rata-rata menjadi 50, sehingga totalnya harus 4 × 50 = 200. Katakanlah Anda menghasilkan dua angka pertama,
v 1 = 68 dan v 2 = 70. Ini menambahkan hingga 138, jadi v 3 + v 4 harus 62. Jika v 3 adalah 50, maka v 4 harus menjadi 12, yang berada di luar kisaran 25-75 yang valid. Memecahkan 68 + 70 + v 3 + 25 = 200 hasil v3 = 200− (68 + 70 + 25) = 37, jadi kami membatasi v 3 untuk berada di antara 25 dan 37. Setelah v 3 dipilih, v 4 ditentukan; itu harus 62− v 3 ; yaitu, 200− ( v 1 + v 2 + v 3 ). Ini analog dengan situasi dengan tiket lotre ke-100; itu harus menjadi apa yang tersisa setelah pilihan pertama n −1 dibuat.
Ini kedengarannya seperti pekerjaan untuk VBA, tapi saya menemukan solusi lembar kerja-formula. Berikut ini, saya telah memilih untuk membuat batas-batas parameter distribusi probabilitas yang diinginkan (25 dan 75); yaitu, menempatkan mereka dalam sel-sel individual ( A1dan B1) daripada mengkodekan mereka ke dalam formula. Dan saya menggunakan beberapa kolom pembantu.
- Set
C1ke jumlah angka yang diinginkan. Anda bisa memasukkan nilai konstan, atau menghitungnya sebagai average_number × number_of_number , yaitu =AVERAGE(A1, B1) * 100,.
- Setel
C2ke =C$1-SUM(G$1:G1).
- Setel
D1ke =100-ROW().
- Setel
E1ke =MAX(C1-D1*B$1, A$1).
- Setel
F1ke =MIN(C1-D1*A$1, B$1).
- Setel
G1ke =RANDBETWEEN(E1, F1).
- Drag
C2, D1, E1, F1, dan G1turun ke Row 100.
Diskusi:
Misalkan n menjadi 100, jumlah angka acak, dan karenanya jumlah baris. Berikut ini adalah implementasi umum untuk contoh empat baris yang saya berikan sebelumnya.
Untuk setiap Baris i (1 ≤ i ≤ n ),
Giadalah v i , angka acak ke- i .
Eidan
adalah batas bawah dan atas dari kisaran yang
dipilih (seperti yang terlihat jelas dari rumus untuk ).FiGiGi
Dimenghitung mundur dari n −1 di Baris 1 ke 0 di Baris n ; yaitu, ia memberikan jumlah baris di bawah yang sekarang. Jika Anda memulai baris selain 1, sesuaikan rumus ini sesuai.
C1adalah v 1 + v 2 + ... + v n − 1 + v n = - ( v 1 + v 2 + ... + v i − 2 + v i − 1 ), yang sama dengan (nilai sasaran untuk) v i + v i + 1 + ... + v n − 1 + v n
CiC1
D1*A$1→ × adalah nilai valid minimum untuk v i + 1 + v i + 2 +… + v n − 1 + v n
Jadi ( - × ) adalah batas atas untuk v i agar dimungkinkan mencapai total tujuan. DiA1
C1-D1*A$1CiDi A1
Mari kita kembali contoh empat baris. Jika (hipotetis) v 1 adalah 126, tidak mungkin untuk mencapai tujuan v 1 + v 2 + v 3 + v 4 = 200 karena kendala yang v 2 , v 3 , dan v 4 menjadi ≥ 25. Tapi jika v 1 adalah 125, akan ada kemungkinan untuk mencapai tujuan dengan v 2 = v 3 = v 4 = 25. Jadi 125 merupakan batas atas untuk v 1 . Tetapi, tentu saja, ay1 juga harus ≤ 75; batas 125 adalah moot. Nilai v harus memenuhi kedua set kendala (baik kisaran 25-75 dan kendala yang diperlukan untuk mencapai total n × 50), sehingga mereka harus memenuhi ketat dari kedua batas di setiap sisi (atas dan bawah).
Jadiadalah batas atas untuk v i .Fi
- Dan adalah batas bawah untuk v i .
Ei
Berikut adalah snapshot dari apa yang saya dapatkan dengan n = 10:

Tentu saja, menekan F9menyebabkan Excel menghitung ulang lembar dan menghasilkan set angka acak baru. Tapi G1:G10selalu tambahkan hingga 500; yaitu rata-rata adalah 50.
Jika v n ditentukan oleh v 1 , v 2 , ..., v n − 2 , dan v n − 1 , apakah masih benar-benar “acak”?
Ini pertanyaan yang menarik.
- Jika n adalah 1, v 1 dipaksa menjadi 50. Ini jelas bukan acak. Tapi, tentu saja, ini adalah kasus tepi.
Jika n adalah 2, v 1 dipilih secara acak, maka v 2 diatur ke 100− v 1 . Jelas v 2 tidak terlepas dari v 1 . Tapi
- P ( v 2 = 25) = P ( v 1 = 75) = 1/51.
- P ( v 2 = 26) = P ( v 1 = 74) = 1/51.
- ︙
- P ( v 2 = 75) = P ( v 1 = 25) = 1/51.
Jadi v 2 terdistribusi secara seragam pada kisaran 25-75, sama dengan v 1 .
- Kembali ke contoh lotere - pemenang dari hadiah ke-100 ditentukan oleh pemenang dari 99 pertama. Tetapi, sebelum ada tiket yang dikeluarkan, setiap kontestan memiliki kesempatan yang sama untuk memenangkan hadiah ke-100 tersebut. Jadi pemenang hadiah ke-100 adalah acak.
Saya mengalami kesulitan melakukan matematika untuk pertanyaan ini untuk n > 2. Jadi saya melakukan percobaan empiris. Saya menghasilkan 100 angka acak antara 25 dan 75, dan saya menghitung ulang 250 kali, mengumpulkan hasilnya. Kemudian saya memetakan distribusi frekuensi untuk beberapa nilai v :

(Gambar adalah tautan ke versi ukuran penuh dari mereka sendiri.)
Hingga v 91 , distro terlihat cukup seragam:

Tetapi, mulai dari v 92 , sesuatu yang menarik mulai terjadi:

Perhatikan bahwa saya harus mengubah skala pada v 94 dan seterusnya:



Sepertinya beberapa nilai v terakhir memiliki distribusi yang tidak seragam. Saya menduga bahwa, ketika n semakin besar, semakin besar kemungkinan bahwa nilai pertama n −10 (atau lebih) akan menjauh dari rata-rata yang diinginkan, memaksa beberapa nilai terakhir ke angka ekstrim di ujung rentang, dalam rangka untuk membawa rata-rata kembali ke jalurnya. Tetapi, setidaknya, semua nilai harus memiliki distribusi simetris.
- Tidak ada alasan bagi mereka untuk menjadi asimetris.
- Grafik saya tampaknya simetris.
Jika Anda tertarik untuk mengejar masalah ini, Anda mungkin ingin menanyakannya di Math Stack Exchange - mereka makan pertanyaan seperti ini untuk sarapan.