Bila hendak menggunakan Penggantian vs. Bukan Penggantian dalam Pemilihan Rawak Berwajaran?

Linda Hamilton
Lepaskan: 2024-10-24 10:03:02
asal
405 orang telah melayarinya

When to Use Replacement vs. Non-Replacement in Weighted Random Selection?

Pemilihan Rawak Berwajaran: Penggantian lwn. Bukan Penggantian

Pemilihan rawak berwajaran ialah teknik asas yang digunakan dalam pelbagai aplikasi. Ia melibatkan elemen pensampelan daripada senarai yang diberikan dengan taburan kebarangkalian ditentukan oleh pemberat tertentu. Apabila memilih elemen dengan penggantian, setiap item boleh dipilih beberapa kali, yang membawa kepada kemungkinan yang lebih tinggi untuk memilih item dengan berat yang lebih tinggi. Sebaliknya, pemilihan tanpa penggantian mengehadkan pemilihan item setelah ia dipilih.

Mencari algoritma yang cekap untuk pemilihan rawak berwajaran, terutamanya dengan penggantian, boleh menjadi mencabar. Kaedah sedia ada, termasuk algoritma takungan yang diubah suai, terbukti tidak sesuai untuk pemilihan pecahan yang ketara daripada saiz senarai kecil.

Pendekatan Cekap: Kaedah Alias

Satu pendekatan yang cemerlang dalam senario ini ialah kaedah alias. Teknik ini mencipta set tong sampah berstruktur, setiap satu mewakili sebahagian daripada senarai berwajaran. Dengan menggunakan operasi bit, tong sampah boleh diindeks dengan cekap, mengelakkan carian binari. Setiap tong mengandungi dua elemen daripada senarai asal, membolehkan perwakilan pengedaran yang cekap.

Sebagai contoh, pertimbangkan senarai lima pilihan yang sama wajaran: (a:1, b:1, c:1, d: 1, e:1). Kaedah alias mencipta satu set lapan tong sampah, setiap satu dengan jisim kebarangkalian 0.125.

  1. Penormalan: Laraskan pemberat kepada jumlah kepada 1.0. Dalam kes ini, (a:0.2 b:0.2 c:0.2 d:0.2 e:0.2).
  2. Partition: Peruntukkan tong dengan berat lebih rendah daripada kebarangkalian partition (0.125), bermula dengan berat paling rendah. Di sini, (p1{a|null,1.0},p2,p3,p4,p5,p6,p7,p8).
  3. Pengisian: Isi ruang yang tinggal dalam partition dengan yang tertinggi pembolehubah berat. Contohnya, (p1{a|null,1.0},p2{a|b,0.6},p3,p4,p5,p6,p7,p8).

Pemilihan Masa Jalanan:

Pada masa jalankan, kami menjana nombor rawak dan menggunakan operasi bit untuk menentukan tong yang sepadan dengan taburan kebarangkalian dengan cekap. Jika tong dipecah, kami menggunakan bahagian perpuluhan nombor rawak untuk memilih antara dua elemen dalam tong.

Ringkasnya, kaedah alias menyediakan teknik yang cekap untuk pemilihan rawak berwajaran dengan penggantian. Ia menggunakan operasi bit untuk pengindeksan bin pantas dan mencapai pengagihan kebarangkalian yang tepat dengan membahagikan pemberat dengan teliti ke dalam tong yang boleh diurus.

Atas ialah kandungan terperinci Bila hendak menggunakan Penggantian vs. Bukan Penggantian dalam Pemilihan Rawak Berwajaran?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!