Satu set angka acak. Generator nomor acak untuk lotere



Perhatikan bahwa idealnya kurva kepadatan distribusi nomor acak akan terlihat seperti yang ditunjukkan pada Gambar. 22.3. Artinya, idealnya setiap interval berisi jumlah poin yang sama: N Saya = N/k , Di mana N — jumlah total poin, k jumlah interval, Saya= 1, , k .

Beras. 22.3. Diagram frekuensi bilangan acak,
dihasilkan secara teoritis oleh generator ideal

Perlu diingat bahwa pembentukan bilangan acak sembarang terdiri dari dua tahap:

  • menghasilkan bilangan acak yang dinormalisasi (yaitu, terdistribusi secara merata dari 0 hingga 1);
  • konversi bilangan acak yang dinormalisasi R Saya ke nomor acak X Saya, yang didistribusikan menurut hukum distribusi (sewenang-wenang) yang dibutuhkan oleh pengguna atau dalam interval yang diperlukan.

Generator bilangan acak menurut cara memperoleh bilangan dibagi menjadi:

  • fisik;
  • datar;
  • algoritmik.

RNG fisik

Contoh RNG fisik dapat berupa: koin (“kepala” 1, “ekor” 0); dadu; drum dengan panah dibagi menjadi beberapa sektor dengan angka; generator kebisingan perangkat keras (HS), yang menggunakan perangkat termal yang berisik, misalnya transistor (Gbr. 22.422.5).

Beras. 22.4. Skema metode perangkat keras untuk menghasilkan angka acak
Beras. 22.5. Diagram perolehan bilangan acak dengan metode hardware
Tugas “Menghasilkan angka acak menggunakan koin”

Hasilkan angka tiga digit acak, terdistribusi secara merata dalam rentang 0 hingga 1, menggunakan koin. Akurasi tiga tempat desimal.

Cara pertama untuk menyelesaikan masalah
Lemparkan sebuah koin sebanyak 9 kali, dan jika koin mendarat di kepala, tuliskan “0”; jika koin mendarat di kepala, tuliskan “1”. Jadi, katakanlah sebagai hasil percobaan kita memperoleh barisan acak 100110100.

Gambarlah interval dari 0 hingga 1. Membaca angka secara berurutan dari kiri ke kanan, membagi interval menjadi dua dan setiap kali memilih salah satu bagian dari interval berikutnya (jika 0 digulirkan, maka yang kiri, jika a 1 diluncurkan, lalu yang kanan). Dengan demikian, Anda dapat mencapai titik mana pun dalam interval tersebut, seakurat yang Anda inginkan.

Jadi, 1 : interval dibagi dua dan , separuh kanan dipilih, interval dipersempit: . Nomor berikutnya 0 : interval dibagi dua dan , separuh kiri dipilih, interval dipersempit: . Nomor berikutnya 0 : interval dibagi dua dan , separuh kiri dipilih, interval dipersempit: . Nomor berikutnya 1 : interval dibagi dua dan , separuh kanan dipilih, interval dipersempit: .

Berdasarkan kondisi keakuratan soal, penyelesaian telah ditemukan: bilangan apa pun dari interval, misalnya 0,625.

Pada prinsipnya jika kita mengambil pendekatan yang tegas, maka pembagian interval harus dilanjutkan sampai batas kiri dan kanan interval yang ditemukan COINCIDE dengan ketelitian hingga tempat desimal ketiga. Artinya, dari segi keakuratan, bilangan yang dihasilkan tidak lagi dapat dibedakan dengan bilangan mana pun dari interval tempatnya berada.

Cara kedua untuk menyelesaikan masalah
Mari kita bagi barisan biner yang dihasilkan 100110100 menjadi triad: 100, 110, 100. Setelah mengubah bilangan biner ini menjadi bilangan desimal, kita mendapatkan: 4, 6, 4. Mengganti “0” di depan, kita mendapatkan: 0,464. Cara ini hanya dapat menghasilkan bilangan dari 0,000 hingga 0,777 (karena bilangan maksimum yang dapat “diperas” dari tiga digit biner adalah 111 2 = 7 8) yang sebenarnya bilangan-bilangan ini direpresentasikan dalam sistem oktal Perhitungan. Untuk terjemahan oktal angka masuk desimal mari kita lakukan representasi:
0,464 8 = 4 8 1 + 6 8 2 + 4 8 3 = 0,6015625 10 = 0,602 10.
Jadi, angka yang dibutuhkan adalah: 0,602.

RNG tabel

RNG tabel menggunakan tabel yang disusun secara khusus yang berisi angka-angka terverifikasi yang tidak berkorelasi, yaitu, sama sekali tidak bergantung satu sama lain, sebagai sumber angka acak. Dalam tabel Gambar 22.1 menunjukkan bagian kecil dari tabel tersebut. Dengan menelusuri tabel dari kiri ke kanan dari atas ke bawah, Anda bisa mendapatkan angka acak yang terdistribusi secara merata dari 0 hingga 1 dengan jumlah tempat desimal yang diperlukan (dalam contoh kita, kita menggunakan tiga tempat desimal untuk setiap angka). Karena angka-angka dalam tabel tidak bergantung satu sama lain, tabel tersebut dapat dilintasi dengan cara yang berbeda, misalnya, dari atas ke bawah, atau dari kanan ke kiri, atau, katakanlah, Anda dapat memilih angka yang posisinya genap.

Tabel 22.1.
Angka acak. Rata
nomor acak didistribusikan dari 0 hingga 1
Angka acak Terdistribusi secara merata
0 hingga 1 angka acak
9 2 9 2 0 4 2 6 0.929
9 5 7 3 4 9 0 3 0.204
5 9 1 6 6 5 7 6 0.269
… …

Harga diri metode ini adalah menghasilkan angka yang benar-benar acak karena tabel berisi angka-angka terverifikasi yang tidak berkorelasi. Kekurangan metode ini: menyimpan digit dalam jumlah besar membutuhkan banyak memori; Ada kesulitan besar dalam membuat dan memeriksa tabel semacam ini; pengulangan saat menggunakan tabel tidak lagi menjamin keacakan urutan numerik, dan oleh karena itu keandalan hasilnya.

Ada tabel yang berisi 500 angka terverifikasi yang benar-benar acak (diambil dari buku karya I. G. Venetsky, V. I. Venetskaya “Konsep dan rumus dasar matematika dan statistik dalam analisis ekonomi”).

RNG Algoritmik

Angka-angka yang dihasilkan oleh RNG ini selalu bersifat pseudo-acak (atau kuasi-acak), artinya, setiap angka berikutnya yang dihasilkan bergantung pada angka sebelumnya:

R Saya + 1 = F(R Saya) .

Barisan yang terdiri dari bilangan-bilangan tersebut membentuk perulangan, artinya pasti ada siklus yang berulang jumlah yang tak terbatas sekali. Siklus yang berulang disebut periode.

Keuntungan RNG ini adalah kecepatannya; generator hampir tidak memerlukan sumber daya memori dan kompak. Kekurangan: bilangan-bilangan tersebut tidak dapat sepenuhnya disebut acak, karena terdapat ketergantungan di antara bilangan-bilangan tersebut, serta adanya periode pada barisan bilangan kuasi-acak.

Mari pertimbangkan beberapa metode algoritmik untuk mendapatkan RNG:

  • metode kuadrat median;
  • metode produk menengah;
  • metode pengadukan;
  • metode kongruen linier.

Metode kotak tengah

Ada beberapa angka empat digit R 0 . Angka ini dikuadratkan dan dimasukkan ke dalam R 1. Selanjutnya dari R 1 mengambil nomor acak baru yang tengah (empat digit tengah) dan menuliskannya R 0 . Kemudian prosedur ini diulangi (lihat Gambar 22.6). Perhatikan bahwa sebenarnya, sebagai nomor acak Anda tidak perlu mengambil ghij, A 0.ghij dengan nol dan koma desimal ditambahkan ke kiri. Fakta ini tercermin seperti pada Gambar. 22.6, dan angka serupa berikutnya.

Beras. 22.6. Skema metode kuadrat rata-rata

Kekurangan metode ini: 1) jika pada beberapa iterasi jumlahnya R 0 menjadi sama dengan nol, kemudian generator mengalami degenerasi, sehingga pemilihan nilai awal yang tepat adalah penting R 0 ; 2) generator akan mengulangi urutan tersebut M N langkah (paling baik), di mana N angka angka R 0 , M dasar sistem bilangan.

Misalnya pada Gambar. 22.6: jika nomornya R 0 akan direpresentasikan dalam sistem bilangan biner, kemudian barisan bilangan pseudo-acak akan diulang dalam 2 4 = 16 langkah. Perhatikan bahwa pengulangan urutan dapat terjadi lebih awal jika nomor awal dipilih dengan buruk.

Metode yang dijelaskan di atas diusulkan oleh John von Neumann dan dimulai pada tahun 1946. Karena metode ini ternyata tidak dapat diandalkan, metode ini segera ditinggalkan.

Metode produk tengah

Nomor R 0 dikalikan dengan R 1, dari hasil yang diperoleh R 2 bagian tengahnya diekstraksi R 2 * (ini adalah angka acak lainnya) dan dikalikan dengan R 1. Semua bilangan acak berikutnya dihitung menggunakan skema ini (lihat Gambar 22.7).

Beras. 22.7. Skema metode produk median

Metode pengadukan

Metode shuffle menggunakan operasi untuk menggeser isi sel ke kiri dan ke kanan secara siklis. Ide metodenya adalah sebagai berikut. Biarkan sel menyimpan nomor awal R 0 . Secara siklis menggeser isi sel ke kiri sebesar 1/4 panjang sel, kita memperoleh nomor baru R 0 * . Dengan cara yang sama, perputaran isi sel R 0 ke kanan sebesar 1/4 panjang sel, kita mendapatkan angka kedua R 0**. Jumlah angka R 0* dan R 0** memberikan nomor acak baru R 1. Berikutnya R 1 dimasukkan R 0, dan seluruh urutan operasi diulangi (lihat Gambar 22.8).


Beras. 22.8. Diagram metode pencampuran

Perlu diketahui bahwa angka tersebut dihasilkan dari penjumlahan R 0* dan R 0 ** , mungkin tidak muat sepenuhnya di dalam sel R 1. Dalam hal ini, digit tambahan harus dibuang dari angka yang dihasilkan. Mari kita jelaskan ini pada Gambar. 22.8, dimana semua sel diwakili oleh delapan digit biner. Membiarkan R 0 * = 10010001 2 = 145 10 , R 0 ** = 10100001 2 = 161 10 , Kemudian R 0 * + R 0 ** = 100110010 2 = 306 10 . Seperti yang Anda lihat, angka 306 menempati 9 digit (dalam sistem bilangan biner), dan sel R 1 (sama dengan R 0) dapat berisi maksimal 8 bit. Oleh karena itu, sebelum memasukkan nilai ke dalam R 1, perlu untuk menghapus satu "ekstra", bit paling kiri dari angka 306, sehingga menghasilkan R 1 tidak lagi menuju ke 306, tetapi ke 00110010 2 = 50 10 . Perhatikan juga bahwa dalam bahasa seperti Pascal, "pemangkasan" bit tambahan ketika sel meluap dilakukan secara otomatis sesuai dengan jenis variabel yang ditentukan.

Metode kongruen linier

Metode kongruen linier adalah salah satu prosedur paling sederhana dan paling umum digunakan saat ini dalam simulasi bilangan acak. Metode ini menggunakan mod( X, kamu) , yang mengembalikan sisanya ketika argumen pertama dibagi dengan argumen kedua. Setiap bilangan acak berikutnya dihitung berdasarkan bilangan acak sebelumnya dengan menggunakan rumus sebagai berikut:

R Saya+ 1 = mod( k · R Saya + B, M) .

Barisan bilangan acak yang diperoleh dengan menggunakan rumus ini disebut barisan kongruen linier. Banyak penulis menyebut barisan kongruen linier kapan B = 0 metode kongruen perkalian, dan kapan B ≠ 0 — metode kongruen campuran.

Untuk generator berkualitas tinggi, perlu untuk memilih koefisien yang sesuai. Nomornya perlu M cukup besar, karena periodenya tidak bisa lebih lama lagi M elemen. Di sisi lain, pembagian yang digunakan dalam metode ini adalah operasi yang agak lambat, jadi untuk komputer biner pilihan yang logis adalah M = 2 N, karena dalam kasus ini, mencari sisa pembagian direduksi di dalam komputer menjadi operasi logika biner “DAN”. Memilih bilangan prima terbesar juga merupakan hal yang biasa M, kurang dari 2 N: dalam literatur khusus terbukti bahwa dalam hal ini digit orde rendah dari bilangan acak yang dihasilkan R Saya+ 1 berperilaku acak seperti yang lebih tua, yang memiliki efek positif pada seluruh rangkaian angka acak secara keseluruhan. Sebagai contoh, salah satunya Nomor Mersenne, sama dengan 2 31 1, dan dengan demikian, M= 2 31 1 .

Salah satu syarat barisan kongruen linier adalah panjang periodenya harus sepanjang mungkin. Lamanya periode tergantung pada nilainya M , k Dan B. Teorema yang kami sajikan di bawah ini memungkinkan kami menentukan apakah periode tersebut dapat dicapai panjang maksimum untuk nilai tertentu M , k Dan B .

Dalil. Barisan kongruen linier ditentukan oleh angka M , k , B Dan R 0, mempunyai periode yang panjang M jika dan hanya jika:

  • angka B Dan M relatif sederhana;
  • k 1 kali P untuk setiap bilangan prima P, yang merupakan pembagi M ;
  • k 1 adalah kelipatan 4, jika M kelipatan 4.

Terakhir, mari kita akhiri dengan beberapa contoh penggunaan metode kongruen linier untuk menghasilkan bilangan acak.

Ditentukan bahwa serangkaian bilangan pseudo-acak yang dihasilkan berdasarkan data dari contoh 1 akan diulang setiap kali M/4 angka. Nomor Q diatur secara sewenang-wenang sebelum penghitungan dimulai, namun perlu diingat bahwa rangkaian tersebut memberikan kesan acak pada umumnya. k(dan karena itu Q). Hasilnya bisa sedikit ditingkatkan jika B ganjil dan k= 1 + 4 · Q dalam hal ini baris tersebut akan diulang setiap M angka. Setelah pencarian yang panjang k para peneliti menetapkan nilai 69069 dan 71365.

Generator bilangan acak yang menggunakan data dari Contoh 2 akan menghasilkan bilangan acak yang tidak berulang dengan periode 7 juta.

Metode perkalian untuk menghasilkan bilangan pseudorandom diusulkan oleh D.H. Lehmer pada tahun 1949.

Memeriksa kualitas genset

Kualitas keseluruhan sistem dan keakuratan hasil bergantung pada kualitas RNG. Oleh karena itu, urutan acak yang dihasilkan oleh RNG harus memenuhi sejumlah kriteria.

Pemeriksaan yang dilakukan ada dua jenis:

  • memeriksa keseragaman distribusi;
  • tes untuk independensi statistik.

Memeriksa keseragaman distribusi

1) RNG harus menghasilkan hampir nilai-nilai berikut parameter statistik karakteristik hukum acak seragam:

2) Tes frekuensi

Tes frekuensi memungkinkan Anda mengetahui berapa banyak angka yang berada dalam suatu interval (M R – σ R ; M R + σ R) , yaitu (0,5 0,2887; 0,5 + 0,2887) atau, pada akhirnya, (0,2113; 0,7887). Karena 0,7887 0,2113 = 0,5774, kami menyimpulkan bahwa dalam RNG yang baik, sekitar 57,7% dari semua nomor acak yang ditarik harus berada dalam interval ini (lihat Gambar 22.9).

Beras. 22.9. Diagram frekuensi RNG ideal
dalam hal memeriksanya untuk uji frekuensi

Perlu juga diperhatikan bahwa banyaknya angka yang termasuk dalam interval (0; 0,5) harus kira-kira sama dengan jumlah angka yang termasuk dalam interval (0,5; 1).

3) Uji chi-kuadrat

Uji chi-kuadrat (uji χ 2) adalah salah satu uji statistik yang paling terkenal; ini adalah metode utama yang digunakan bersama dengan kriteria lainnya. Uji chi-kuadrat diusulkan pada tahun 1900 oleh Karl Pearson. Karyanya yang luar biasa dianggap sebagai dasar statistik matematika modern.

Untuk kasus kita, pengujian menggunakan kriteria chi-kuadrat akan memungkinkan kita mengetahui berapa besarnya nyata RNG mendekati tolok ukur RNG, yaitu memenuhi persyaratan distribusi seragam atau tidak.

Diagram frekuensi referensi RNG ditunjukkan pada Gambar. 22.10. Karena hukum distribusi RNG referensi seragam, maka probabilitas (teoretis). P Saya memasukkan angka ke dalam Saya interval ke-(semua interval ini k) sama dengan P Saya = 1/k . Dan dengan demikian, di masing-masing k interval akan tercapai mulus Oleh P Saya · N angka ( N jumlah total angka yang dihasilkan).

Beras. 22.10. Diagram frekuensi RNG referensi

RNG nyata akan menghasilkan angka yang didistribusikan (dan belum tentu merata!). k interval dan setiap interval akan berisi N Saya angka (total N 1 + N 2++ N k = N ). Bagaimana kita bisa menentukan seberapa bagus RNG yang diuji dan seberapa dekat dengan referensi? Cukup logis untuk mempertimbangkan selisih kuadrat antara jumlah angka yang dihasilkan N Saya dan "referensi" P Saya · N . Mari kita jumlahkan dan hasilnya adalah:

χ 2 pengalaman. = ( N 1 P 1 · N) 2 + (N 2 P 2 · N) 2++ ( N k – P k · N) 2 .

Dari rumus ini dapat disimpulkan bahwa semakin kecil selisih masing-masing suku (dan oleh karena itu, semakin kecil pula selisihnya). nilainya lebih sedikitχ 2 pengalaman. ), semakin kuat hukum distribusi angka acak yang dihasilkan oleh RNG nyata cenderung seragam.

Dalam ekspresi sebelumnya, setiap suku diberi bobot yang sama (sama dengan 1), yang sebenarnya mungkin tidak benar; oleh karena itu, untuk statistik chi-kuadrat, masing-masing perlu dinormalisasi Saya suku ke, membaginya dengan P Saya · N :

Terakhir, mari kita tulis ekspresi yang dihasilkan dengan lebih ringkas dan sederhanakan:

Kami memperoleh nilai uji chi-kuadrat untuk eksperimental data.

Dalam tabel 22.2 diberikan teoretis nilai chi-kuadrat (χ 2 teoritis), dimana ν = N 1 adalah jumlah derajat kebebasan, P ini adalah tingkat kepercayaan yang ditentukan pengguna yang menunjukkan seberapa besar RNG harus memenuhi persyaratan distribusi seragam, atau P — adalah probabilitas bahwa nilai eksperimen χ 2 exp..

akan lebih kecil dari teori χ 2 yang ditabulasikan (teoretis).
atau setara dengan itu
Tabel 22.2. Beberapa poin persentase dari distribusi χ 2 hal = 1% hal = 5% hal = 25% hal = 50% hal = 75%
ν = 1 0.00016 0.00393 0.1015 0.4549 1.323 3.841 6.635
ν = 2 0.02010 0.1026 0.5754 1.386 2.773 5.991 9.210
ν = 3 0.1148 0.3518 1.213 2.366 4.108 7.815 11.34
ν = 4 0.2971 0.7107 1.923 3.357 5.385 9.488 13.28
ν = 5 0.5543 1.1455 2.675 4.351 6.626 11.07 15.09
ν = 6 0.8721 1.635 3.455 5.348 7.841 12.59 16.81
ν = 7 1.239 2.167 4.255 6.346 9.037 14.07 18.48
ν = 8 1.646 2.733 5.071 7.344 10.22 15.51 20.09
ν = 9 2.088 3.325 5.899 8.343 11.39 16.92 21.67
ν = 10 2.558 3.940 6.737 9.342 12.55 18.31 23.21
ν = 11 3.053 4.575 7.584 10.34 13.70 19.68 24.72
ν = 12 3.571 5.226 8.438 11.34 14.85 21.03 26.22
ν = 15 5.229 7.261 11.04 14.34 18.25 25.00 30.58
ν = 20 8.260 10.85 15.45 19.34 23.83 31.41 37.57
ν = 30 14.95 18.49 24.48 29.34 34.80 43.77 50.89
ν = 50 29.71 34.76 42.94 49.33 56.33 67.50 76.15
ν > 30 ν hal = 95% ν ) · X P hal = 99% X 2 P+ akar persegi(2 + 2/3 · 2/3 + ν ))
X P = HAI (1/persegi( 2.33 0.00 0.674 1.64 2.33

1.64 P 0,674.

Dianggap dapat diterima P dari 10% hingga 90% Jika χ 2 pengalaman. lebih dari teori χ 2. N Saya(yaitu P Saya · N besar), lalu generator

tidak memuaskan

persyaratan distribusi seragam, karena nilai yang diamati P terlalu jauh dari teori Jika χ 2 pengalaman. dan tidak bisa dianggap acak. Dengan kata lain, interval kepercayaan yang begitu besar ditetapkan sehingga pembatasan terhadap angka menjadi sangat longgar, dan persyaratan terhadap angka menjadi lemah. Dalam hal ini, kesalahan absolut yang sangat besar akan diamati. N Saya Bahkan D. Knuth dalam bukunya “The Art of Programming” mencatat bahwa memiliki χ 2 exp. P Saya · N untuk yang kecil secara umum juga kurang bagus, walaupun sekilas terlihat bagus dari segi keseragaman. Memang, ambil serangkaian angka 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, semuanya ideal dari sudut pandang keseragaman, dan χ 2 pengalaman.

praktis akan menjadi nol, tetapi Anda tidak mungkin mengenalinya sebagai acak. P Jika χ 2 pengalaman. P jauh lebih sedikit dari teori χ 2.

(yaitu P Saya · N kecil), lalu generator

persyaratan distribusi seragam acak, karena nilai yang diamati

terlalu dekat dengan teori

dan tidak bisa dianggap acak.

Mari kita lihat sebuah contoh. Bilangan acak 0,2463389991 terdiri dari angka-angka 2463389991, dan bilangan 0,5467766618 terdiri dari angka-angka 5467766618. Dengan menghubungkan barisan angka-angka tersebut, diperoleh: 24633899915467766618.

Jelas bahwa probabilitas teoritis P Saya kehilangan Saya Digit ke-(dari 0 hingga 9) sama dengan 0,1.

2) Memeriksa kemunculan rangkaian angka yang identik

Mari kita nyatakan dengan N L banyaknya rangkaian angka-angka yang identik dalam suatu barisan yang panjangnya L. Semuanya perlu diperiksa L dari 1 sampai M, Di mana M ini adalah nomor yang ditentukan pengguna: jumlah maksimum digit identik yang muncul dalam satu rangkaian.

Pada contoh “24633899915467766618” ditemukan 2 rangkaian dengan panjang 2 (33 dan 77), yaitu N 2 = 2 dan 2 rangkaian dengan panjang 3 (999 dan 666), yaitu N 3 = 2 .

Peluang terjadinya suatu deret yang panjangnya L sama dengan: P L= 9 10 L (teoretis). Artinya, peluang munculnya suatu rangkaian sepanjang satu karakter sama dengan: P 1 = 0,9 (teoretis). Peluang munculnya rangkaian dua karakter adalah: P 2 = 0,09 (teoretis). Peluang munculnya rangkaian tiga karakter adalah: P 3 = 0,009 (teoretis).

Misalnya, peluang munculnya suatu rangkaian yang panjangnya satu karakter adalah P L= 0,9, karena hanya ada satu simbol dari 10, dan total ada 9 simbol (nol tidak dihitung). Dan peluang munculnya dua lambang “XX” yang identik berturut-turut adalah 0,1 · 0,1 · 9, yaitu peluang 0,1 munculnya lambang “X” pada posisi pertama dikalikan dengan peluang 0,1 munculnya lambang “XX” pada posisi pertama. simbol yang sama akan muncul di posisi kedua “X” dan dikalikan dengan jumlah kombinasi tersebut 9.

Frekuensi kemunculan deret dihitung menggunakan rumus chi-kuadrat yang telah kita bahas sebelumnya menggunakan nilai-nilai P L .

Catatan: Generator dapat diuji berkali-kali, namun pengujian tersebut belum selesai dan tidak menjamin generator menghasilkan angka acak. Misalnya, generator yang menghasilkan urutan 12345678912345 akan dianggap ideal selama pengujian, yang jelas tidak sepenuhnya benar.

Sebagai kesimpulan, kami mencatat bahwa bab ketiga dari buku The Art of Programming (Volume 2) karya Donald E. Knuth seluruhnya dikhususkan untuk mempelajari bilangan acak. Ini mengkaji berbagai metode untuk menghasilkan angka acak, uji statistik keacakan, dan konversi angka acak yang terdistribusi secara seragam ke jenis variabel acak lainnya. Lebih dari dua ratus halaman dikhususkan untuk penyajian materi ini.


Peringkat: 4,0 dari 5
Suara: 143
Generator nomor acak untuk lotere



1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25
26 27 28 29 30
31 32 33 34 35
36 37 38 39 40
41 42 43 44 45
46 47 48 49


Angka adalah pengecualian
(dipisahkan dengan koma!)

*Angka-angka ini tidak akan digunakan untuk menghasilkan hasilnya.
Masukkan nomor Anda, atau kosongkan kolom.

Hasilkan opsi sekaligus (1-20)

Programnya adalah generator daring nomor acak untuk lotere Rusia 5 dari 36, 6 dari 45, 7 dari 49, 6 dari 49. Selain penghasil nomor, berikut ini juga disertakan alat yang berguna sebagai "Nomor pengecualian".
Apakah Anda kurang beruntung dengan angka 7 atau 10? Kemudian Anda cukup menambahkan angka-angka ini ke pengecualian, dan angka-angka tersebut tidak akan diperhitungkan saat membuat opsi numerik.

Fitur utama dari program ini
- Antarmuka yang nyaman, sederhana dan visual.
- Generator nomor yang dapat disesuaikan: bidang pengecualian, jumlah kombinasi yang dihasilkan dapat disesuaikan dari 1 hingga 20.
- Tidak memerlukan instalasi. Ini akan berfungsi pada perangkat apa pun dengan akses Internet.
- Bekerja dengan benar dengan semua browser populer: Internet Explorer, Opera, Google Chrome dan Mozilla Firefox.

Persyaratan Sistem
Browser apa pun yang mendukung standar HTML5

Silakan laporkan kesalahan yang ditemukan atau saran untuk meningkatkan program di komentar. Jika Anda menyukai pembuat nomor ini, silakan bagikan tautannya di jejaring sosial atau forum online.
Semoga Anda beruntung dan menang dalam lotere! Kami berharap program ini akan membantu Anda dalam hal ini.




Informasi tambahan
Lisensi: Gratis
Pengembang Perangkat Lunak: Arsip Lunak
OS yang didukung: Windows XP, Windows Vista, Windows 7, Windows 8
Bahasa antarmuka: Rusia
Tanggal pembaruan: 2019-02-12


Komentar dan ulasan: 35

1. Sergius 01.06.2014
Tentu saja, saya memahami bahwa pecandu judi adalah orang-orang yang percaya takhayul, tetapi saya hanya bertanya-tanya, apa bedanya: Saya sendiri yang membuat angka-angka ini, atau pembuat angka ini memberikannya kepada saya?

2. Maks 04.06.2014
Sergius, tentu saja Anda bisa menemukan angkanya sendiri. Namun saat menyusunnya, Anda tetap akan tunduk pada urutan tertentu, yang akan dipengaruhi oleh faktor-faktor seperti nomor favorit, atau sekedar angka yang berputar di kepala Anda. Artinya, angka yang Anda hasilkan akan acak bersyarat.

Program komputer benar-benar bebas dari campur tangan pihak ketiga dan menghasilkan angka yang benar-benar acak.

3.Iloinor 17.06.2014
Saat menggambar 5 dari 36 bola dalam lotere yang sama, bola dilepaskan secara acak dari drum lotere. Dan kombinasinya bisa berupa apa saja. Jadi tidak mungkin menghasilkan kombinasi yang kurang lebih berhasil. Kombinasi angka apa pun akan selalu memiliki rasio kemenangan yang sama.
Siapa yang berpikir berbeda?

4. Alexander 08.07.2014
Siapa pun yang dihasilkan atau disusun secara manual oleh pemain itu sendiri memiliki probabilitas 1 dalam 376.992 (untuk lotere 5-36). Secara teori, hal ini mungkin terjadi! Siapa pun yang berpikir cukup lama tentang masalah “bagaimana meningkatkan kemungkinan” tidak akan setuju dengan saya.

Dan saya sampai pada kesimpulan bahwa semuanya benar-benar tidak ada harapan. Jika Anda melihat bagaimana kombinasi dimainkan dalam susunan penuh dari 5 dari 36 yang sama, Anda dapat melihat bahwa kombinasi tersebut dimainkan dengan probabilitas yang sama selama jangka waktu yang cukup lama.

Pada saat yang sama, cluster diamati (kami melihat langit berbintang) di sana juga distribusi acak. Kita melihat bahwa bintang-bintang berkumpul di tempat-tempat tertentu, tetapi jika kita melihat melalui teleskop, kemungkinan distribusinya tetap sama.

Mari kita kembali ke lotere, jika Anda melihat peta seperti itu (dari kombinasi yang dimainkan), Anda dapat melihat bahwa beberapa area “tampaknya telah tenang,” dan rentang sempit inilah yang menjadi lebih mungkin terjadi dibandingkan area lain untuk permainan yang akan datang. Sebab, menurut hukum pemerataan kemungkinan, kawasan ini harus terisi dalam waktu dekat. Masuk akal untuk menunggu kombinasi di sana. Kemungkinan kita meningkat secara dramatis. Kami memiliki strategi yang ditujukan untuk mengatasi keringat kereta api. Ini adalah permainan yang bertujuan, bukan lemparan buta.

Di sinilah mereka berguna program khusus.
Hubungi penulis generator nomor acak yang ditampilkan di sini. Itu dapat menawarkan program visualisasi khusus untuk permainan + strategi bawaan.

6. Paska 02.01.2015
“Tentu saja, saya memahami bahwa pecandu judi adalah orang-orang yang percaya takhayul.”

Kata yang salah. Paman saya selalu menggosokkan semua tiket Lotto Rusia yang dibeli ke lengan jaket tua keberuntungannya.

7.Samurai 06.01.2015
Apakah Anda ingin memenangkan Satu Juta di Lotto!? Ingin tahu rahasia menang dan strategi memilih angka yang tepat? Anda akan menemukan semua rahasia cara memenangkan lotre di situs web *moderator* loto.html
Mainkan dan menangkan.

9. Nikolay 25.10.2015
Peluang dan keberuntungan berbicara. Tentu saja siapa yang bisa membantah.
Pernahkah Anda membayangkan jumlah kombinasi, misalnya pada togel 6 dari 45?
Jika Anda membayangkan kuantitas ini dengan jelas dan jelas, akan menjadi jelas bahwa tidak pantas hanya mengandalkan peluang dan keberuntungan.
Gunakan saja imajinasi Anda sedikit, saya harap Anda tidak akan membantah bahwa kita dapat menggunakan kecerdikan alami dan secara acak mengecualikan satu angka dari 45.
Pada saat yang sama, Anda harus berusaha sangat keras agar tidak mendapatkan hadiah uang. Peluang kejadian seperti itu adalah 1 berbanding 7,5.
Sekarang kami menghitung - kami telah berhasil mengecualikan nomor ini, dalam hal ini kami tidak memiliki 8.145.060 kombinasi tersisa untuk permainan, tetapi 7.059.052... yaitu, kami telah mengurangi 1.086.008 (lebih dari satu juta kombinasi) dari kisaran kemungkinan kombinasi dengan satu nomor tunggal.
Contoh sederhana ini menggambarkan arti pengecualian. Dan Anda tidak boleh berpikir bahwa orang-orang yang telah mencurahkan banyak waktu untuk mempelajari metode bermain lotere numerik hanya menulis “muntah”.
- semuanya dibenarkan secara matematis.
Tentu saja, Keberuntungan memainkan peran penting dalam lotere numerik, karena kami bertaruh pada jumlah kombinasi yang sangat kecil untuk permainan tersebut.
Oleh karena itu, untuk memudahkan “Keberuntungan” menemukan Anda, Anda perlu menggunakan beberapa metode permainan yang dirancang untuk MUNGKIN mengurangi sebanyak mungkin kombinasi dari rangkaian lengkap lotere yang dipilih.

10. Igor CK 03.09.2016
Nikolai menulis di atas tentang mengecualikan satu nomor untuk meningkatkan kemungkinan munculnya nomor yang tersisa. Secara teori, semua ini benar! Jika, katakanlah, Anda mengecualikan bukan 1, tetapi 3 angka, maka peluangnya akan meningkat lebih tinggi.
TAPI ada satu TAPI! Ini lotere, semuanya acak dan tidak dapat diprediksi. Angka yang sama mungkin muncul 10 kali berturut-turut, tetapi angka lain mungkin tidak muncul bahkan dalam 100 variasi! Tidak mungkin menghitung angka-angka ini, itulah intinya.

Saya ingat ketika saya masih belajar di universitas, guru kami masuk matematika yang lebih tinggi, seorang pria yang menyenangkan dan cerdas berbicara tentang lotere dan kecelakaan. Jadi dia berkata bahwa pada prinsipnya tidak mungkin membuat sistem atau metode apa pun di sini! Hasilnya benar-benar acak dan tidak dapat diprediksi.

Saya melihat beberapa program berbayar dan metode pelatihan di Internet yang “membantu” menciptakan kombinasi angka yang diperlukan yang meningkatkan peluang menang. Kamu tahu apa yang membuatku penasaran? Jika ada cara untuk meningkatkan peluang menang, mengapa mereka yang menjualnya tidak menghasilkan uang dari lotere? Ya, Anda tidak akan bisa mendapatkan jackpot, kemungkinannya terlalu rendah, tetapi Anda bisa memenangkan jumlah kecil. Bukankah ini logis?
Tentu saja, mereka mungkin keberatan dengan saya - kata mereka, yang satu tidak mengganggu yang lain - menghasilkan uang dari lotere dan menjual teknik. Namun faktanya jika setiap orang menggunakan cara-cara ini, asalkan cara tersebut benar-benar berhasil, maka hal ini akan mengurangi pendapatan dari kemenangan penciptanya, karena harus dibagi menjadi jumlah besar rakyat.

Ini seperti menemukan lubang di sistem Webmoney yang memungkinkan Anda mengisi kembali dompet Anda dengan uang “entah dari mana” dan menjual metode ini sehingga akan ditutup sesegera mungkin.

11. rumah 04.09.2016
Igor CK, apa yang Nikolay tulis di sana - dia menulis tentang satu nomor, dan kemungkinan tidak mendapatkan hadiah uang.
Selanjutnya, pertimbangkan peluang apa yang akan ada jika Anda mengecualikan nomor ke-2 untuk tidak mendapatkan hadiah uang di masa depan, dan seterusnya))

Tentu saja, mereka tidak dapat dikecualikan tanpa batas waktu; fantasi dan dongeng tidak ada dalam lotere, kecuali di situs dongeng yang menangkap “pencari”))
Pendekatan yang berbeda diperlukan di sini; Anda tidak perlu mengikuti angka-angkanya, tetapi periode terbentuknya angka-angka ini.
Nah, kemudian bangun strategi dan melekatkan diri pada sejarah peredarannya.

Saya memutuskan untuk membuat versi generator untuk pengguna massal, dan saya akan mengunggahnya untuk moderasi hari ini besok.
Di website saya, saya akan membuka halaman generator ini, dan di sana saya akan mencoba menguraikan strategi permainan menggunakan periodisitas pertandingan lengkap dan sebagian.
Menangkan lotere nomor sulit, tetapi mungkin.

12.rumah 13.11.2016
Secara umum, saya menulis dasar-dasarnya di situs web, yang dapat ditemukan dengan mencari: “VISUAL GENERATOR - generator nomor acak dengan pengecualian.” Sangat memperhatikan probabilitas.
Saya membuat versi untuk permainan strategi ini, yang dapat diunduh di website, atau di sini - VISUAL LOTTO TESTER 3.1

13. Timofey 26.11.2016
Seorang teman saya dari tempat kerja memenangkan 63 ribu rubel dalam lotere. Dia berjalan dengan gembira seperti ular boa. Dan aku sama sekali tidak beruntung. Jika Anda cukup beruntung untuk memenangkan sesuatu, itu hanyalah satu hal kecil.

14. Maks 26.11.2016
Teman-teman, ada program luar biasa "generator pemenang Eurolotto untuk semua lotere di dunia" - ada algoritma untuk menghitung undian, kemarin saya memenangkan 15.000 rubel dan sepenuhnya memulihkan biaya dan juga mendapatkan uang!

15.Yuri 01.02.2017
Mari kita coba bermain dan lihat apa yang terjadi.

16. Alexander 04.06.2017
Belum lama ini saya membaca di jurnal langsung (saya tidak ingat persis alamat buku hariannya) perhitungan analitis tentang lotere di Rusia. Intinya hasil kemenangan besar dimanipulasi dan yang bermain diperlihatkan kombinasi yang sudah dihitung sebelumnya. Secara umum, tidak ada ancaman jackpot bagi Anda dan saya.

Informasi didasarkan pada perhitungan peluang menang, jumlah peserta pengundian dan jumlah kemenangan. Jadi, jika Anda menghitung jumlah peserta dan menghitung peluang memenangkan jackpot, Anda mendapatkan kesenjangan besar antara peluang dan kenyataan.

Jika, misalnya, Anda menggunakan generator angka acak dan menebak angka apa pun dari 1 hingga 10, maka peluang Anda untuk menebaknya adalah 1 banding 10. Lotere Rusia dengan skema yang sama, peluang menang besar adalah 1 banding 40-50. Dan masih belum diketahui seberapa nyata orang yang memenangkan jackpot tersebut.

17. rumah 04.06.2017
Ahli matematika analitik palsu menyebarkan omong kosong.
Dengan tingkat kemungkinan yang tinggi dapat diasumsikan bahwa ini adalah pertarungan antar pesaing (distributor tiket).
Dan juga orang-orang yang telah memainkan permainan ini sejauh ini, dan sudah cukup membaca, sehingga mereka benar-benar berpikir: bagaimana ini bisa terjadi - saya menghitung, menghitung, dan menghitung lagi... dan cerewet, tidak mungkin saya bisa menghitungnya.)
Artinya, mereka menyalahkan kekuatan pihak ketiga atas kegagalan mereka, yang tidak memungkinkan mereka untuk menghitung, ya, tidak mungkin.
Tahukah Anda di mana Anda bisa menghitung sesuatu hingga sepersekian detik? Misalnya, dalam mekanika langit – gerhana bulan – ribuan tahun sebelumnya – berdasarkan pengamatan masa lalu.
Hal ini, seperti kita ketahui, dimanfaatkan oleh para pendeta yang belajar meramalkan kejadian-kejadian seperti itu.

Sayangnya, dalam lotere, tidak ada interval reguler, misalnya, ketika bola tertentu muncul. Karena kita memiliki keacakan, dan mekanisme langit tidak jelas.
Artinya, jika peluang suatu angka adalah 1 banding 10, maka angka itu akan diputar secara acak - di suatu tempat, memasuki jeda yang dalam, di suatu tempat angka itu akan muncul lebih sering, TETAPI jika kita melakukan banyak tes, maka rata-rata nomor akan muncul 10 kali per undian.
Kemungkinannya sama.
Saya membaca perhitungan tentang jackpot.
Kalkulator mengambil segmen tetap dari sejarah pengundian - melihat berapa banyak jackpot yang mereka ambil - melihat berapa banyak taruhan yang mereka beli.
Pembagian sederhana - dan hasilnya tidak menyatu. Misalnya, dalam lotere 5 dari 36, jackpot harus dimainkan untuk setiap 376.992 taruhan)
Ternyata misal yang main 10, padahal seharusnya 20)
Mereka mengambil segmen lain dari sejarah sirkulasi, dan mengulangi perhitungannya - dan lihatlah, ada lebih dari yang dihitung - yang berarti adil di sana - dan bahkan organisasi memberi lebih banyak - seperti memberi makan.

Mari kita ingat tentang satu angka - gambarlah pada periode waktu (di selembar kertas) sejarah kebetulan suatu angka, misalnya 33, lebih dari 150 kali seri.
Sekarang bagilah segmen ini, katakanlah, menjadi 3 bagian yang sama. Hitung jumlah kecocokan di setiap bagian. Anda akan yakin bahwa itu akan ada jumlah yang berbeda kebetulan.
Namun rata-rata untuk seluruh segmen, probabilitasnya akan mendekati yang dihitung.
150 oplah jelas tidak cukup.

Sekarang tidak ada kalkulator yang setuju untuk melakukan perhitungan, katakanlah, 3000 kali seri dalam 5 dari 36. Ini adalah pekerjaan manual yang sangat besar (Anda perlu melihat jumlah taruhan yang dibeli di situs web dan mencatat jackpot).
Saya yakin bahwa rata-rata, untuk jumlah undian sebanyak itu, kemungkinannya kira-kira sama dengan yang dihitung.

18. Kazak 03.07.2017
Saya bertanya-tanya apa perbedaan Stoloto dengan kasino yang dilarang di Federasi Rusia? Pada dasarnya taruhan yang sama pada suatu nomor. Oh iya, cuma beda nama saja))) Baiklah, Tuhan memberkati nama itu. Di sini, di ulasan, mereka dengan hangat mendiskusikan kemungkinan dan peluang memenangkan lotre, mereka bahkan membuat generator kombinasi. Hanya di sinilah letaknya orang sungguhan yang memenangkan Jack Pot dan kemenangan besar? Saya sarankan menonton beberapa video di YouTube tentang organisasi lotere Stoloto, generator nomor acak (RNG), yang disebut siaran langsung, dll.

Menjawab:
Orang selalu ingin memenangkan banyak uang secara gratis. Toko taruhan mana pun dibangun berdasarkan ini. Bermain atau tidak, percaya atau tidak, adalah urusan semua orang. Tautan ke video tentang Stoloto

19. Singa 09.07.2017
Saya telah terpikat pada lotere selama sekitar satu tahun sekarang. Saya memahami dengan pikiran saya bahwa saya hampir tidak memiliki peluang untuk memenangkan jackpot, tetapi saya tidak dapat melepaskan diri dari permainan tersebut.

20. Pekerjaan 12.07.2017
Beri tahu saya cara menghitung dengan benar peluang munculnya satu angka dari seratus

Menjawab:
Arti pertanyaannya tidak sepenuhnya jelas. Jika kita mengambil drop yang benar-benar acak dan acak, maka jawabannya cukup jelas, kemungkinannya adalah 1 banding 100 untuk angka berapa pun dari 1 hingga 100.
Jika Anda berbicara tentang algoritma penghasil angka acak (RNG), apakah bahasa pemrograman mana pun memiliki operator sendiri yang bertanggung jawab atas pembuatannya? Sulit untuk mengatakan seberapa acaknya, karena algoritme tertentu masih bertanggung jawab atas pengoperasiannya, yang tidak termasuk dalam dirinya sendiri kecelakaan total. Namun demikian, hasil akhirnya mendekati ideal.

21. Kiryusha 05.09.2017
Jangan percaya pada kemungkinan memenangkan banyak uang dalam lotere. Semua uang telah dipotong sejak lama. Cari di Internet untuk informasi tentang pemilik Stoloto dan berapa banyak uang yang ada. Selain itu, semua siaran direkam. Hasil apa pun dapat dikembalikan. Jiwa yang mati mendapatkan jackpot.

22. Nikolay 23.10.2017
Apa yang kamu katakan! Mengenai jaringan misalnya, Anda dapat menemukan informasi di Internet bahwa Bumi itu datar, dan ternyata semua orang tertipu bahwa bumi itu bulat... dan Anda masih bisa menemukan lebih banyak lagi!
Pernahkah Anda melihat peluang untuk menang? Bisakah Anda bayangkan tentang apa semua ini? Dalam lotere, tidak perlu “bergegas”, karena kemungkinan besar tidak akan membiarkan lotere bangkrut;

Dan agar tidak ada keraguan, atau agar minimal, bahasa Rusia lotere negara ditransfer ke mesin lotere otomatis, yang tidak didekati oleh siapa pun selama pengundian. Mesin lotere dipasang di balik kaca pusat lotere. Sekarang mereka yang tertarik dapat melihat dengan mata kepala sendiri cara kerja mesin lotere ini - tiket masuknya gratis. Omong-omong, keterbukaan seperti itu tidak ada di tempat lain di dunia.

berita di situs stoloto.ru - situs resmi lotere Rusia

23. beruntung kawan 26.10.2017
Omong kosong, omong kosong, dan omong kosong lagi. Semoga beruntung dan tidak lebih. Cobalah untuk mengambil kombinasi yang diberikan kepada Anda dan kalahkan di arsip lotere dan lihat pertandingan apa yang ada di pengundian sebelumnya. Meski siapa tahu, mungkin orang lain akan mendapatkan taruhan yang sama yang diambil dari sini. Semuanya tergantung pada kebetulan

24. Andrey 27.10.2017
Generator kombinasi yang bagus untuk stoloto STALKER LOTTO - 5x36, 6x45, 7x49, 6x49
Penulis di halaman program menyediakan link ke forum lotere tempat dia melakukan tes.

25. Semem Semenych 20.12.2017
>>>Tidak mungkin Anda akan menemukan penulis program lotere yang akan melakukan tes di depan umum, dan bahkan di forum lotere, di mana para pemainnya sama sekali tidak bodoh, yang telah melalui ratusan program gratis dan berbayar.

Saya akan mengatakan secara berbeda. Kecil kemungkinan Anda akan menemukan penjudi togel yang rajin dengan kecerdasan tinggi. Tentu saja, mereka dapat membeli 1-2-3 tiket untuk bersenang-senang, tetapi orang-orang memahami betul bahwa memenangkan banyak uang dalam lotere adalah hal yang tidak realistis, terutama di Rusia.

26. Paulus 27.12.2017
Pemain dengan kecerdasan tinggi tidak bermain dengan banyak tiket – bahkan untuk bersenang-senang. Pemain seperti itu memahami teori probabilitas dengan sangat baik, yang bagi kebanyakan orang awam adalah literasi bahasa Mandarin. Pemain seperti itu bermain secara sistematis, dengan cermat menghitung peluang dan anggaran mereka untuk permainan tersebut. Pemain seperti itu mengembangkan strategi untuk permainan tersebut. Pemain seperti itu tidak pernah bertaruh secara acak.

Mengenai memenangkan hadiah besar di Rusia, ini hanyalah pandangan dunia Anda, boleh dikatakan, tidak didukung oleh fakta apa pun. Pelajari teori probabilitas yang lebih baik. Sangat kecil kemungkinannya tetangga Anda memenangkan jackpot dan kemudian membagikan informasi ini kepada Anda. Saya akan mengatakannya secara berbeda - di Rusia berbahaya untuk bersinar dengan kemenangan besar)))

27. Saya tidak bermain 05.01.2018
Pavel, orang dengan kecerdasan tinggi paham betul apa itu scam dan apa yang tidak. Dan ya, kecerdasan mereka memungkinkan mereka menghasilkan uang dengan tingkat kemungkinan yang jauh lebih tinggi daripada lotere.

28. Alexander 16.01.2018
Anda tidak bisa menang di Stoloto, ada program penjualan tiket

29. Mekanik 09.06.2018
Jangan main-main, ambil saja screenshot togel dari situsnya dan cek setelah diundi ada yang menang, tapi murah, saya cek ribuan, capek update

30. titik pertandingan 24.06.2018
Saya menawarkan program gratis dan berbayar untuk menganalisis lotere: Keno, matchball, 36/5, 6/45, 6/49, 7/49, lotre Rusia dan lainnya. Ada generator bawaan untuk kombinasi angka tertentu, generator kemenangan dan jackpot, kemampuan untuk mencetak kartu lotre, dan banyak lagi. Anda dapat mengunduhnya di sini [dihapus]

31.Ilya Nefedov 13.08.2018
Teman-teman, tidak ada yang akan menjadikan Anda generator pemenang lotre negara bagian 5 dari 36, dll. bahkan memperhitungkan undian sebelumnya. Semuanya jelas tentang kemungkinan munculnya angka acak. TETAPI! Hanya jika mereka benar-benar acak. Dan kapan kombinasi pemenang dihasilkan oleh komputer yang sudah mengetahui kombinasi apa yang dipilih pemain, maka saya tidak percaya dengan kejujuran algoritmanya. Sama halnya dengan bermain di casino online yang dimana generator roulette sudah mengetahui taruhan apa yang anda pasang.

32. Albert 08.11.2018
Program tidak jalan sama sekali, lupa nomor-nomor yang tidak diperlukan. mentah dalam satu kata

Menjawab:
Saya memasukkan beberapa kumpulan nomor pengecualian yang berbeda dan menjalankannya beberapa lusin kali dalam mode berbeda. Angka-angka yang ditunjukkan tidak pernah muncul di hasil. Apakah ini berbeda bagi Anda? Atau apakah saya salah paham terhadap Anda?

33. Albert 11.11.2018
Berapa banyak angka yang dapat dimasukkan dalam pengecualian? Saya mencetak 30, ada tayangan ulang dari eliminasi

Menjawab:
Tidak ada batasan. Apakah Anda memisahkan angka dengan koma?
Saya menambahkan baris berikut ke pengecualian:
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30

Hasil: Tidak ada digit yang dikecualikan pada hasil akhir.
Jika berbeda untuk Anda, harap tunjukkan urutan Anda dan juga browser Anda sehingga Anda dapat membuat ulang situasi Anda secara akurat.

34. Albert 14.11.2018
Browser Opera Ada pengulangan angka-angka yang diketik dalam pengecualian
1.2.3.4.5.6.8.10.11.13.14.15.16.17.18.19.20.22.24.26.28.29.30.31.32.34.36.37.38.39.40.41.43.46.47.49.

Menjawab:
Nomor Anda dipisahkan dengan titik dan bukan koma. Seharusnya seperti ini:
1,2,3,4,5,6,8,10,11,13,14,15,16,17,18,19,20,22,24,26,28,29,30,31,32,34,36,37,38,39,40,41,43,46,47,49
Kombinasi ini berhasil.

  • tutorial

Pernahkah Anda bertanya-tanya bagaimana cara kerja Math.random()? Apa yang dimaksud dengan bilangan acak dan bagaimana cara mendapatkannya? Bayangkan sebuah pertanyaan wawancara - tulis pembuat nomor acak Anda dalam beberapa baris kode. Lantas, apa itu kecelakaan dan apakah bisa diprediksi?

Saya sangat tertarik dengan berbagai teka-teki dan tugas TI, dan penghasil angka acak adalah salah satu tugas tersebut. Biasanya di saluran telegram saya, saya memilah segala macam teka-teki dan tugas yang berbeda dari wawancara. Masalah penghasil angka acak telah mendapatkan popularitas besar dan saya ingin mengabadikannya di kedalaman salah satu sumber informasi resmi - yaitu, di sini di Habré.

Materi ini akan berguna bagi semua pengembang front-end dan Node.js yang berada di ujung tombak teknologi dan ingin terjun ke proyek/startup blockchain, bahkan pengembang front-end pun ditanyai pertanyaan tentang keamanan dan kriptografi, di setidaknya pada tingkat dasar.

Generator angka acak semu dan generator angka acak

Untuk mendapatkan sesuatu yang acak, kita memerlukan sumber entropi, sumber kekacauan yang akan kita gunakan untuk menghasilkan keacakan.

Sumber ini digunakan untuk mengakumulasi entropi dan kemudian memperoleh nilai awal (seed) darinya, yang diperlukan untuk generator bilangan acak (RNG) untuk menghasilkan bilangan acak.

Penghasil Angka Acak Pseudo menggunakan nilai awal tunggal, oleh karena itu merupakan keacakan semu, sedangkan Penghasil Angka Acak selalu menghasilkan angka acak, yang pada awalnya memiliki kualitas tinggi variabel acak, yang diambil dari berbagai sumber entropi.

Entropi adalah ukuran ketidakteraturan. Entropi informasi adalah ukuran ketidakpastian atau ketidakpastian informasi.
Ternyata untuk membuat barisan pseudo-random kita membutuhkan suatu algoritma yang akan menghasilkan barisan tertentu berdasarkan rumus tertentu. Namun urutan seperti itu bisa diprediksi. Namun, mari kita bayangkan bagaimana kita bisa menulis generator bilangan acak kita sendiri jika kita tidak memiliki Math.random()

PRNG memiliki beberapa algoritma yang dapat direproduksi.
RNG adalah proses memperoleh angka seluruhnya dari suatu jenis noise, kemampuan menghitungnya cenderung nol. Pada saat yang sama, RNG memiliki algoritma tertentu untuk menyamakan distribusi.

Kami membuat algoritma PRNG kami sendiri

Generator bilangan acak semu (PRNG) adalah algoritma yang menghasilkan barisan bilangan yang elemen-elemennya hampir tidak bergantung satu sama lain dan mematuhi distribusi tertentu (biasanya seragam).
Kita dapat mengambil barisan beberapa bilangan dan mengambil modulus bilangan tersebut. Contoh paling sederhana yang terlintas dalam pikiran. Kita perlu memikirkan sequence mana yang akan diambil dan modulnya dari apa. Jika Anda langsung dari 0 ke N dan modulus 2, Anda mendapatkan generator 1 dan 0:

Fungsi* rand() ( const n = 100; const mod = 2; misalkan i = 0; while (true) ( ​​​​hasil i % mod; if (i++ > n) i = 0; ) ) misalkan i = 0; for (biarkan x dari rand()) ( if (i++ > 100) break; console.log(x); )
Fungsi ini menghasilkan urutan 01010101010101... dan bahkan tidak bisa disebut pseudo-acak. Agar generator menjadi acak, ia harus lulus uji bit berikutnya. Tapi kami tidak punya tugas seperti itu. Namun demikian, bahkan tanpa tes apa pun kami dapat memprediksi urutan berikutnya, yang berarti bahwa algoritma seperti itu tidak cocok, namun kami berada di arah yang benar.

Bagaimana jika kita mengambil beberapa barisan yang terkenal tetapi tidak linier, misalnya bilangan PI. Dan sebagai nilai modul kita tidak akan mengambil 2, tapi yang lain. Anda bahkan dapat memikirkan tentang perubahan nilai modul. Urutan digit dalam Pi dianggap acak. Generator dapat beroperasi menggunakan nomor Pi mulai dari titik yang tidak diketahui. Contoh algoritma tersebut, dengan urutan berbasis PI dan modul variabel:

Const vektor = [...Math.PI.toFixed(48).replace(".","")]; fungsi* rand() ( untuk (biarkan i=3; i<1000; i++) { if (i >99) saya = 2; Namun di JS, nomor PI hanya bisa ditampilkan maksimal 48 digit dan tidak lebih. Oleh karena itu, urutan seperti itu masih mudah untuk diprediksi, dan setiap pengoperasian generator seperti itu akan selalu menghasilkan angka yang sama. Tapi generator kami sudah mulai menampilkan angka dari 0 hingga 9.

Kami memiliki generator angka dari 0 hingga 9, tetapi distribusinya sangat tidak merata dan akan menghasilkan urutan yang sama setiap saat.

Kita tidak dapat mengambil bilangan Pi, tetapi waktu dalam representasi numerik dan menganggap bilangan ini sebagai barisan bilangan, dan untuk memastikan bahwa barisan tersebut tidak berulang setiap saat, kita akan membacanya dari akhir. Secara total, algoritma kami untuk PRNG kami akan terlihat seperti ini:

Fungsi* rand() ( biarkan newNumVector = () => [...(+Tanggal baru)+""].reverse(); biarkan vektor = newNumVector(); biarkan i=2; while (true) ( ​​​​jika ( i++ > 99) i = 2; misalkan n=-1;< vector.length) yield (vector[n] % i); vector = newNumVector(); } } // TEST: let i = 0; for (let x of rand()) { if (i++ >100) istirahat;
konsol.log(x)

Ini sudah terlihat seperti generator bilangan pseudo-acak. Dan Math.random() yang sama adalah PRNG, kita akan membicarakannya nanti. Apalagi setiap kali kita mendapatkan angka pertama yang berbeda-beda. Sebenarnya tentang ini contoh sederhana Anda dapat memahami cara kerja generator bilangan acak yang lebih kompleks.

Dan bahkan ada algoritma yang sudah jadi. Sebagai contoh, mari kita lihat salah satunya — ini adalah Linear Congruent PRNG (LCPRNG).

PRNG kongruen linier PRNG kongruen linier (LCPRNG) adalah metode umum untuk menghasilkan bilangan acak semu. Ini tidak kuat secara kriptografis. Metode ini terdiri dari menghitung suku-suku suatu barisan berulang linier modulo suatu bilangan asli m, yang diberikan oleh rumus. Urutan yang dihasilkan bergantung pada pilihan nomor awal — yaitu. benih. Pada arti yang berbeda benih diperoleh berbagai urutan

nomor acak. Contoh penerapan algoritma seperti itu di JavaScript:<30; i++) console.log(rand())
Konstanta a = 45; konstanta c = 21; konstanta m = 67; var benih = 2; const rand = () => benih = (a * benih + c) % m; untuk(biarkan i=0; i

Banyak bahasa pemrograman menggunakan LCPRNG (tetapi bukan algoritma ini (!)).

Properti lainnya adalah reproduktifitas. Beberapa implementasi memungkinkan Anda menentukan seed, dan ini sangat berguna jika urutannya harus diulang. Reproduksi diperlukan dalam pengujian, misalnya. Dan masih banyak hal lain yang tidak memerlukan RNG aman.

Bagaimana Math.random() bekerja

Metode Math.random() mengembalikan bilangan floating point pseudo-acak dari rentang = crypto.getRandomValues(new Uint8Array(1)); konsol.log(nilai)
Namun, tidak seperti PRNG Math.random(), metode ini sangat boros sumber daya. Faktanya adalah generator ini menggunakan panggilan sistem di OS untuk mendapatkan akses ke sumber entropi (alamat mac, CPU, suhu, dll...).

Berbagai lotere, undian, dll sering diadakan di banyak grup atau halaman publik di jejaring sosial, Instagram, dll, dan digunakan oleh pemilik akun untuk menarik audiens baru ke komunitas.

Hasil pengundian seperti itu seringkali bergantung pada keberuntungan pengguna, karena penerima hadiah ditentukan secara acak.

Untuk membuat penentuan ini, penyelenggara lotere hampir selalu menggunakan generator nomor acak online atau pra-instal yang dibagikan secara gratis.

Pilihan

Seringkali, memilih generator seperti itu bisa jadi sulit, karena fungsinya sangat berbeda - untuk beberapa generator sangat terbatas, untuk yang lain cukup luas.

Sejumlah besar layanan serupa sedang dilaksanakan, namun kesulitannya adalah cakupannya berbeda.

Banyak, misalnya, yang terikat oleh fungsinya ke jejaring sosial tertentu (misalnya, banyak aplikasi generator di VKontakte hanya berfungsi dengan tautan dari jejaring sosial ini).

Generator paling sederhana hanya secara acak menentukan angka dalam rentang tertentu.

Ini nyaman karena tidak mengaitkan hasilnya dengan postingan tertentu, yang berarti dapat digunakan untuk undian di luar jejaring sosial dan dalam berbagai situasi lainnya.

Mereka pada dasarnya tidak memiliki kegunaan lain.

<Рис. 1 Генератор>

Nasihat! Saat memilih generator yang paling cocok, penting untuk mempertimbangkan kegunaannya.

Spesifikasi

Untuk proses tercepat dalam memilih layanan online optimal untuk menghasilkan nomor acak, tabel di bawah ini menunjukkan karakteristik teknis utama dan fungsionalitas aplikasi tersebut.

Tabel 1. Fitur berfungsinya aplikasi online untuk menghasilkan bilangan acak
Nama Jejaring sosial Hasil ganda Pilih dari daftar nomor Widget online untuk situs ini Pilih dari rentang Menonaktifkan pengulangan
Barang Rand Ya Ya TIDAK Ya TIDAK
Pemeran Banyak Situs web resmi atau VKontakte TIDAK TIDAK Ya Ya Ya
Nomor acak Situs web resmi TIDAK TIDAK TIDAK Ya Ya
acak Situs web resmi Ya TIDAK TIDAK Ya TIDAK
Angka acak Situs web resmi Ya TIDAK TIDAK TIDAK TIDAK

Semua aplikasi yang dibahas dalam tabel dijelaskan lebih rinci di bawah ini.

<Рис. 2 Случайные числа>

Barang Rand

<Рис. 3 RandStuff>

Anda dapat menggunakan aplikasi ini secara online dengan mengikuti tautan ke situs resminya http://randstuff.ru/number/.

Ini adalah generator nomor acak sederhana, ditandai dengan operasi yang cepat dan stabil.

Ini berhasil diimplementasikan baik dalam format aplikasi independen terpisah di situs resmi, dan sebagai aplikasi di jejaring sosial VKontakte.

Keunikan dari layanan ini adalah dapat memilih nomor acak baik dari rentang tertentu maupun dari daftar nomor tertentu yang dapat ditentukan di situs.

Kelebihan:

  • Pekerjaan yang stabil dan cepat;
  • Kurangnya koneksi langsung ke jejaring sosial;
  • Anda dapat memilih satu atau beberapa nomor;
  • Anda hanya dapat memilih di antara nomor-nomor yang ditentukan.

Kekurangan:

  • Ketidakmampuan untuk melakukan pengundian VKontakte (ini memerlukan aplikasi terpisah);
  • Aplikasi untuk VKontakte tidak berjalan di semua browser;
  • Terkadang hasilnya tampak dapat diprediksi karena hanya satu algoritma penghitungan yang digunakan.

Ulasan pengguna tentang aplikasi ini adalah sebagai berikut: “Kami menentukan pemenang di grup VKontakte melalui layanan ini. Terima kasih,” “Anda yang terbaik,” “Saya hanya menggunakan layanan ini.”

Pemeran Banyak

<Рис. 4 Cast Lots>

Aplikasi ini merupakan generator fungsi sederhana, diimplementasikan di situs resminya dalam bentuk aplikasi VKontakte.

Ada juga widget generator untuk dimasukkan ke situs web Anda.

Perbedaan utama dari aplikasi yang dijelaskan sebelumnya adalah memungkinkan Anda menonaktifkan pengulangan hasil.

Artinya, apabila dilakukan beberapa generasi secara berturut-turut dalam satu sesi, maka jumlah tersebut tidak akan terulang kembali.

  • Tersedianya widget untuk dimasukkan ke dalam website atau blog;
  • Kemampuan untuk menonaktifkan pengulangan hasil;
  • Kehadiran fungsi “bahkan lebih banyak keacakan”, setelah aktivasi yang mengubah algoritma pemilihan.

Negatif:

  • Ketidakmampuan untuk menentukan beberapa hasil sekaligus;
  • Ketidakmampuan untuk memilih dari daftar nomor tertentu;
  • Untuk memilih pemenang di depan umum, Anda harus menggunakan widget VKontakte terpisah.

Ulasan pengguna adalah sebagai berikut: “Ini berfungsi dengan stabil, cukup nyaman digunakan”, “Fungsi yang nyaman”, “Saya hanya menggunakan layanan ini”.

Nomor acak

<Рис. 5 Случайное число>

Layanan ini terletak di http://randomnumber.rf/.

Generator sederhana dengan fungsi minimum dan fitur tambahan.

Dapat menghasilkan angka secara acak dalam rentang tertentu (maksimum dari 1 hingga 99999).

Situs ini tidak memiliki desain grafis apa pun, dan oleh karena itu halamannya mudah dimuat.

Hasilnya dapat disalin atau diunduh dengan mengklik tombol.

Negatif:

  • Kurangnya widget untuk VKontakte;
  • Tidak ada kemungkinan mengadakan undian;
  • Tidak ada cara untuk menyematkan hasilnya ke blog atau situs web.

Inilah yang dikatakan pengguna tentang layanan ini: “Generator yang bagus, tetapi fungsinya tidak cukup”, “Fiturnya sangat sedikit”, “Cocok untuk menghasilkan angka dengan cepat tanpa pengaturan yang tidak perlu.”

acak

<Рис. 6 Рандомус>

Anda dapat menggunakan generator nomor acak ini di http://randomus.ru/.

Satu lagi, cukup sederhana, tapi generator nomor acak fungsional.

Layanan ini memiliki fungsionalitas yang memadai untuk menentukan angka acak, tetapi tidak cocok untuk melakukan pengundian dan proses lain yang lebih kompleks.

Negatif:

  • Ketidakmungkinan mengadakan gambar berdasarkan repost suatu postingan, dll.
  • Tidak ada aplikasi untuk VKontakte atau widget untuk situs ini;
  • Tidak mungkin untuk menonaktifkan hasil yang berulang.

Dengan generator ini Anda dapat membuat nomor acak dalam rentang berapa pun. Generator ini juga memungkinkan Anda memilih atau menentukan nomor secara acak dari daftar. Atau buat array angka acak dari 2 hingga 70 elemen. Alat online ini tidak hanya memungkinkan Anda membuat satu (1), dua (2) atau tiga (3) digit angka acak, tetapi juga lima dan tujuh. Mudah diatur. Semua orang bisa menguasainya. Anda juga dapat memilih nomor acak untuk lotere atau kontes online atau offline. Dan itu akan nyaman. Anda dapat dengan mudah membuat seluruh tabel atau rangkaian angka acak. Dalam sepersekian detik Anda akan menerima nomor acak atau urutannya (set) di layar Anda. Jika Anda mengambil urutan angka-angka Anda, maka algoritma akan memilih yang acak atau acak, siapa pun bisa keluar. Anda sendiri dapat menggunakan alat ini untuk melakukan undian. Dengan memilih, misalnya, rentang dan jumlah angka yang sama pada hasil, Anda dapat menghasilkan urutan acak (kombinasi). Anda juga dapat memilih kombinasi huruf dan kata secara acak. Alat ini, seperti semua yang ada di situs kami, sepenuhnya gratis untuk digunakan (tanpa pengecualian).

Masukkan nomor rentang

Dari
Ke
Menghasilkan

Mengubah rentang untuk menghasilkan nomor acak

1..10 1..100 1..1000 1..10000 untuk lotere 5 dari 36 untuk lotere 6 dari 45 untuk lotere 6 dari 49 untuk lotere 6 dari 59

Banyaknya angka acak (1)

Hilangkan pengulangan

Pilih nilai acak dari daftar (pisahkan dengan koma atau spasi, jika ditemukan koma, pembagian akan dilakukan dengan koma, jika tidak dengan spasi)