Rumah > hujung hadapan web > tutorial js > Cara Menjana Nombor Rawak Berwajaran: Pensampelan Penolakan lwn. Penjumlahan Berat Berulang?

Cara Menjana Nombor Rawak Berwajaran: Pensampelan Penolakan lwn. Penjumlahan Berat Berulang?

Linda Hamilton
Lepaskan: 2024-11-28 05:47:11
asal
869 orang telah melayarinya

How to Generate Weighted Random Numbers: Rejection Sampling vs. Iterative Weight Summing?

Jana Nombor Rawak Berwajaran

Pengenalan

Dalam pelbagai aplikasi, selalunya perlu pilih nombor rawak daripada satu set pilihan, di mana setiap pilihan diberikan kebarangkalian tertentu untuk dipilih. Konsep ini dikenali sebagai menjana nombor rawak berwajaran.

Pendekatan Persampelan Penolakan

Salah satu kaedah menjana nombor rawak berwajaran adalah melalui pensampelan penolakan. Pendekatan ini melibatkan mencipta jadual carian di mana setiap pilihan muncul seberapa banyak kali berat yang ditetapkan. Sebagai contoh, jika pilihan A mempunyai kebarangkalian 80%, ia akan muncul dalam jadual carian sebanyak 80 kali. Untuk menjana nombor rawak, lokasi rawak dalam jadual dipilih, dan pilihan yang sepadan dikembalikan.

Kebaikan dan Kelemahan Pensampelan Penolakan

Persampelan penolakan menyediakan pemalar -prestasi masa untuk memilih nombor rawak selepas jadual carian dibina. Walau bagaimanapun, ia memerlukan prestasi algoritmik linear untuk membina jadual, yang boleh menjadi masalah untuk set pilihan yang besar atau yang mempunyai pemberat yang sangat tepat.

Pendekatan Penjumlahan Berat Berulang

Pendekatan alternatif ialah penjumlahan berat berulang. Di sini, nombor rawak dijana dalam julat [0,1) dan dibandingkan dengan jumlah terkumpul pemberat. Pilihan yang dikaitkan dengan berat yang melebihi nombor rawak dipilih sebagai nombor rawak berwajaran.

Kebaikan dan Kelemahan Penjumlahan Berat Berulang

Berbanding pensampelan penolakan, berulang penjumlahan berat tidak mempunyai kos pendahuluan tetapi mempunyai prestasi algoritma purata linear berhubung dengan bilangan pilihan dalam set. Ia juga mengandaikan bahawa pemberat dijumlahkan kepada satu.

Pertimbangan Pelaksanaan

Apabila melaksanakan pendekatan ini, adalah disyorkan untuk mencipta fungsi tertib lebih tinggi yang memerlukan spesifikasi pemberat dan mengembalikan fungsi yang menjana nombor rawak berwajaran. Ini membolehkan kebolehgunaan semula dan mengelakkan overhed membina jadual carian atau mengumpul pemberat beberapa kali.

Atas ialah kandungan terperinci Cara Menjana Nombor Rawak Berwajaran: Pensampelan Penolakan lwn. Penjumlahan Berat Berulang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan