Her şeyden önce bu sorunun nerede gönderileceğinden emin değilim. Bir istatistik sorununun NP-Complete olup olmadığını ve programlı olarak çözmemesini istiyorum. Burada yayınlıyorum çünkü istatistik problemi merkez nokta.
Bir problemi çözmek için daha iyi bir formül bulmaya çalışıyorum. Sorun: 4d6 (4 sıradan 6 taraflı zar) varsa ve hepsini bir kerede yuvarlarsam, en düşük sayıya sahip bir kalıbı çıkarın ("düşme" olarak adlandırılır), sonra kalan 3'ü toplayın, olası her sonucun olasılığı nedir ? Cevabının bu olduğunu biliyorum:
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
Ortalama 12.24 ve standart sapma 2.847'dir.
Yukarıdaki cevabı kaba kuvvetle buldum ve bunun için bir formül olup olmadığını bilmiyorum. Bu sorunun NP-Complete olduğundan şüpheleniyorum ve bu nedenle sadece kaba kuvvetle çözülebilir. Tüm 3d6 olasılıklarını (3 normal 6 taraflı zar) elde etmek ve ardından her birini yukarı doğru eğmek mümkün olabilir. Bu, kaba kuvvetten daha hızlı olurdu, çünkü tüm zarlar tutulduğunda hızlı bir formülüm var.
Tüm zarları üniversitede tutmak için formülü programladım. İstatistik profesörüme bunu sormuştum ve daha sonra bana açıkladığı bu sayfayı buldu . Bu formül ve kaba kuvvet arasında büyük bir performans farkı var: 50d6 20 saniye sürdü, ancak 40 saniye sonra en az 8d6 damla düştü (krom bellek tükeniyor).
Bu problem NP-Complete midir? Evet ise, lütfen bir kanıt sağlayın, hayır ise lütfen çözmek için kaba olmayan bir kuvvet formülü sağlayın.
NP-Complete hakkında fazla bir şey bilmediğimi unutmayın, bu yüzden NP, NP-Hard veya başka bir şey düşünüyor olabilirim. NP-Completeness'un kanıtı benim için işe yaramaz. Bunu istememin tek nedeni insanların tahmin etmesini önlemektir. Bu konuda çalıştığımdan bu yana uzun zaman geçti çünkü lütfen benimle çıplak olun: İstatistikleri hatırlamıyorum ve bunu çözmem gerekebilir.
İdeal olarak ben N düştü ama çok daha basit bir şey ile başlıyorum Y tarafı ile zar X sayısı için daha genel bir formül arıyorum.
Düzenle:
Ben de formül çıkış frekansları tercih ediyorum ama sadece çıkış olasılıkları kabul edilebilir.
İlgilenenler için ben JavaScript whuber cevabını programlamış benim GitHub'dan (bu yalnızca testler aslında tanımlanmış işlevleri kullanmak taahhüt olarak).