अनिर्धारक घटनाएँ और प्रक्रियाएँ

Python में Discrete Event Simulation

Diogo Costa (PhD, MSc)

Adjunct Professor, University of Saskatchewan, Canada & CEO of ImpactBLUE-Scientific

इवेंट non-determinism

नोट: "event" और "process" शब्द एक-दूसरे के स्थान पर प्रयोग हुए हैं.

इवेंट (या प्रोसेस) non-determinism क्या है?

  • प्रक्रिया को सटीक रूप से न भविष्यवाणी कर पाना
  • ऐसी प्रक्रिया "Non-Deterministic" कहलाती है

Deterministic प्रक्रियाएँ क्यों महत्वपूर्ण हैं?

  • प्राकृतिक और मानव-चालित गतिविधियों में अक्सर non-deterministic प्रक्रियाएँ होती हैं
  • हर बार ये अलग तरीके से घटित होती हैं
  • इनकी अवधि सटीक नहीं बताई जा सकती
  • सिस्टम आउटपुट पर बड़ा असर पड़ सकता है
Python में Discrete Event Simulation

अनिर्धारक प्रक्रियाओं या घटनाओं के उदाहरण

प्राकृतिक दुनिया

  • ज्वालामुखी कब फटेगा
  • बारिश ठीक किस पल होगी
  • बिजली कब और कहाँ गिरेगी
  • टॉर्नेडो कब और कहाँ बनेगा

मानव-चालित या मानव-आरंभित प्रक्रियाएँ

  • मशीन कब टूटेगी
  • किस पल बाथरूम जाने की ज़रूरत महसूस होगी
  • शिशु कब रोना शुरू करेगा
  • कमर्शियल फ्लाइट डिले होगी या नहीं
Python में Discrete Event Simulation

Discrete-event मॉडलों में अनिर्धारक घटनाओं का निरूपण

Non-deterministic प्रक्रियाएँ

  • सिस्टम पर non-repeatable असर डालती हैं
  • सटीक अवधि अज्ञात रहती है

Statistics

  • प्रक्रियाओं की अवधि में variability दर्शाती है
  • इसके लिए random पैकेज उपयोगी है

  • उदाहरण: random.randint(start, end)

import random

# Non-deterministic processes
process_1 = [5, 15]

while time < simulation_time:

   # Update simulation time: process_1
   time += random.randint(
               process_1[0], 
               process_1[1])

Python में Discrete Event Simulation

SimPy के साथ अनिर्धारक घटनाओं का निरूपण

  • Non-deterministic प्रक्रियाओं के लिए कोई विशेष तरीके नहीं

  • इवेंट अवधि की variability non-SimPy आधारित मॉडलों की तरह ही निकाली जाती है

  • सही statistics को .timeout() में पास करें DNT_CURLY_TAG_3

import random

# Non-deterministic processes
process_1 = [5, 15]

while True:

  # Update simulation time: process_1
  yield env.timeout(random.randint(
         process_1[0], 
         process_1[1]))
Python में Discrete Event Simulation

अभ्यास करते हैं!

Python में Discrete Event Simulation

Preparing Video For Download...