मुझे तथ्य यह है कि इस में से कोई भी सही मायने में यादृच्छिक है, मैं से यह सब प्रस्तावना करते हैं छद्म यादृच्छिक संख्या जेनरेटर के बारे में बात कर रहा हूँ।
मुझे यह भी कहना है कि मुझे कभी भी उत्पादन गुणवत्ता कोड के लिए ऐसा नहीं करना पड़ा है। हालांकि, मैंने पाइथन में एक एचडब्ल्यू असाइनमेंट के लिए ऐसा किया है। मैं Poisson यादृच्छिक चर अनुकरण किया।
- एक प्वाइजन यादृच्छिक चर घातीय यादृच्छिक चर का एक योग है:
तरीका है कि मैंने किया निम्न तथ्यों का इस्तेमाल किया।
- हम घातीय यादृच्छिक चर उत्पन्न करने के लिए उलटा परिवर्तन विधि का उपयोग कर सकते हैं। http://en.wikipedia.org/wiki/Inverse_transform_sampling।
विशेष रूप से, आप इस तथ्य का उपयोग कर सकते हैं कि: यदि एक्स , ..., एक्स n स्वतंत्र हैं मानक घातीय यादृच्छिक चर, तो जेड = मिनट (k: एक्स + ... + एक्स के < और लैम्ब्डा;) - 1 पोइसन (और लैम्ब्डा;) है।
तो, उस के साथ, मैं निम्नलिखित कोड अजगर में लिखा प्वासों मूल्यों उत्पन्न करने के लिए:
वर्ग के
class Poisson:
"""Generate Poisson(lambda) values by using exponential
random variables."""
def __init__(self, lam):
self.__lam = lam
def nextPoisson(self):
sum = 0
n = -1
while sum < self.__lam:
n += 1
sum -= math.log(random.random())
return n
उदाहरण उपयोग है:
# Generates a random value that is Poisson(lambda = 5) distributed
poisson = Poisson(5)
poisson_value = poisson.nextPoisson
मैं इस यहां पोस्ट क्योंकि यह अच्छा है यह जानना कि इस तरह के रिश्ते मौजूद हैं, और यह उलटा परिवर्तन विधि आपको एक विशेष निरंतर वितरण के बाद यादृच्छिक मूल्यों को उत्पन्न करने का एक सामान्य तरीका प्रदान करती है।
दरअसल, ऐसा लगता है कि लिंक सामान्य भिन्नताओं को बनाने के लिए "अगली गाऊशियन" विधि को भी इंगित करता है। – gnovice