Pertama-tama saya tidak yakin di mana pertanyaan ini harus diposting. Saya bertanya apakah masalah statistik adalah NP-Lengkap dan jika tidak menyelesaikannya secara pemrograman. Saya memposting di sini karena masalah statistik adalah titik pusat.
Saya mencoba mencari formula yang lebih baik untuk menyelesaikan masalah. Masalahnya adalah: jika saya memiliki 4d6 (4 dadu 6 sisi biasa) dan menggulung semuanya sekaligus, mengeluarkan dadu dengan angka terendah (disebut "menjatuhkan"), lalu menjumlahkan 3 sisanya, berapakah probabilitas setiap hasil yang mungkin ? Saya tahu jawabannya adalah ini:
Sum (Frequency): Probability
3 (1): 0.0007716049
4 (4): 0.0030864198
5 (10): 0.0077160494
6 (21): 0.0162037037
7 (38): 0.0293209877
8 (62): 0.0478395062
9 (91): 0.0702160494
10 (122): 0.0941358025
11 (148): 0.1141975309
12 (167): 0.1288580247
13 (172): 0.1327160494
14 (160): 0.1234567901
15 (131): 0.1010802469
16 (94): 0.0725308642
17 (54): 0.0416666667
18 (21): 0.0162037037
Rata-rata adalah 12,24 dan standar deviasi adalah 2,847.
Saya menemukan jawaban di atas dengan kekerasan dan tidak tahu bagaimana atau apakah ada formula untuk itu. Saya menduga masalah ini NP-Lengkap dan karena itu hanya dapat diselesaikan dengan kekerasan. Mungkin saja untuk mendapatkan semua probabilitas 3d6 (3 dadu bersisi 6 normal) kemudian condongkan masing-masing ke atas. Ini akan lebih cepat daripada brute force karena saya memiliki formula cepat ketika semua dadu disimpan.
Saya memprogram formula untuk menjaga semua dadu di perguruan tinggi. Saya telah bertanya kepada profesor statistik saya tentang hal itu dan dia menemukan halaman ini , yang kemudian dia jelaskan kepada saya. Ada perbedaan kinerja yang besar antara formula ini dan brute force: 50d6 membutuhkan waktu 20 detik tetapi penurunan terendah 8d6 terjadi setelah 40 detik (chrome kehabisan memori).
Apakah ini masalah NP-Complete? Jika ya tolong berikan bukti, jika tidak silakan berikan formula kekuatan non-brute untuk menyelesaikannya.
Perhatikan bahwa saya tidak tahu banyak tentang NP-Complete jadi saya mungkin berpikir tentang NP, NP-Hard, atau yang lainnya. Bukti untuk NP-Completeness tidak berguna bagi saya satu-satunya alasan mengapa saya memintanya adalah untuk mencegah orang menebak. Dan tolong beri tahu saya karena sudah lama sejak saya mengerjakan ini: Saya tidak ingat statistik dan saya mungkin perlu menyelesaikan ini.
Idealnya saya sedang mencari formula yang lebih umum untuk jumlah X dadu dengan sisi Y ketika N dari mereka dijatuhkan tetapi saya mulai dengan sesuatu yang jauh lebih sederhana.
Edit:
Saya juga lebih suka rumus untuk frekuensi keluaran tetapi hanya dapat diterima untuk probabilitas keluaran.
Bagi mereka yang tertarik, saya telah memprogram jawaban whuber di JavaScript pada GitHub saya (dalam melakukan ini hanya tes yang benar-benar menggunakan fungsi yang ditentukan).