मान लीजिए कि मैं एक n तरफा लोड मरने जहां हर तरफ कश्मीर कुछ संभावना पी है है कश्मीर आ रहा है जब मैं यह रोल की। मुझे उत्सुकता है अगर इस जानकारी को संवैधानिक रूप से संग्रहीत करने के लिए अच्छा एल्गोरिथ्म है (यानी संभावनाओं के एक निश्चित सेट के लिए) ताकि मैं कुशलतापूर्वक मरने के यादृच्छिक रोल का अनुकरण कर सकूं।
वर्तमान में, मेरे पास इस समस्या का O (lg n) समाधान है। विचार सभी k के लिए पहले k पक्षों की संचयी संभाव्यता की एक तालिका को संग्रहीत करने के लिए है, वे सीमा में एक यादृच्छिक वास्तविक संख्या उत्पन्न करते हैं [0, 1) और सबसे बड़ा सूचकांक प्राप्त करने के लिए तालिका पर एक द्विआधारी खोज करते हैं जिसका संचयी मूल्य चुने गए मूल्य से अधिक नहीं है। मुझे यह समाधान पसंद है, लेकिन यह अजीब लगता है कि रनटाइम संभावनाओं को ध्यान में नहीं रखता है। विशेष रूप से, एक तरफ के चरम मामलों में हमेशा ऊपर आने या मूल्यों को समान रूप से वितरित किया जाता है, एक भोले दृष्टिकोण का उपयोग करके ओ (1) में रोल का परिणाम उत्पन्न करना संभव है, हालांकि मेरा समाधान अभी भी लॉगरिदमिकल्लाह को कई कदम उठाएगा।
क्या किसी के पास इस समस्या को हल करने के तरीके के बारे में कोई सुझाव है जो किसी भी तरह से "रनटाइम" में है?
EDIT : इस प्रश्न के उत्तर के आधार पर, मैंने एक लेख लिखा है जिसमें इस समस्या के कई दृष्टिकोणों का वर्णन किया गया है , साथ ही उनके विश्लेषण भी। ऐसा लगता है कि वॉयस द्वारा अन्य विधि के कार्यान्वयन से Θ (एन) प्रीप्रोसेसिंग समय और ओ (1) समय प्रति मर रोल मिलता है, जो वास्तव में प्रभावशाली है। उम्मीद है कि यह उत्तर में निहित जानकारी के लिए एक उपयोगी अतिरिक्त है!