Deterministik olaylar ve süreçler

Python ile Ayrık Olay Benzetimi

Diogo Costa (PhD, MSc)

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

Olay (veya Süreç) determinizmi

NOT: "Olay" ve "süreç" terimleri birbirinin yerine kullanılır.

Olay (veya süreç) determinizmi nedir?

  • Sürecin tam olarak öngörülebilmesi
  • Süreç "deterministik" olarak adlandırılır

Deterministik süreçler neden önemlidir?

  • Doğal ve insan kaynaklı faaliyetler karmaşıktır
  • Birçok karşılıklı bağlı süreç ve kaynak vardır
  • Bazı süreçler her seferinde aynı şekilde tekrarlar
  • Sistem çıktısına etkisi doğru tahmin edilebilir
Python ile Ayrık Olay Benzetimi

Deterministik süreç veya olay örnekleri

Doğa

  • Okyanus gelgitlerinin yüksekliği
  • Yerçekimi nedeniyle ivme (9,81 m$^2$/s)
  • Güneş sisteminde gezegenlerin hareketi
  • Havadaki ses hızı (331,29 m/s)
  • Işık hızı (300.000 km/s)
  • Suyun donması (0 santigrat derecede)

İnsan güdümlü veya insan başlatımlı

  • Musluktan su akışı
  • Su şişesi doldurma makinesinin hızı
  • Kahve makinesinin bir kahveyi yapma süresi
  • 230 santigrat derecede fırının yaydığı ısı
  • Çamaşır makinesinin programlı döngüleri
  • Mikrodalga fırının çalışması
Python ile Ayrık Olay Benzetimi

Ayrık olay modellerinde deterministik olayları temsil etme

Deterministik süreçler

  • Dinamik sistemlerde öngörülebilir etki
  • Süre iyi bilinir
  • Her seferinde aynı şekilde tekrarlar

Süreç süresi, benzetim süresine dahil edilmelidir

# Deterministic processes (time in hours)
duration_process_1 = 10
duration_process_2 = 5

while sim_time < total_sim_time:
# Update simulation time: Process 1 sim_time += duration_process_1
# Update simulation time: Process 2 sim_time += duration_process_2
Python ile Ayrık Olay Benzetimi

SimPy ile deterministik olayları temsil etme

Deterministik olayların bir SimPy uygulaması:

  • .timeout() yöntemi sürecin süresini kaydeder
    • Zaman birimlerine duyarsız
    • Zamanı sayı olarak ele alır
    • Zaman birimleri model genelinde tutarlı olmalıdır
# Deterministic processes
duration_process_1 = 10
duration_process_2 = 5

while True:

   # Update simulation time: Process 1
   env.timeout(duration_process_1)

   # Update simulation time: Process 2
   env.timeout(duration_process_2)

Python ile Ayrık Olay Benzetimi

Hadi pratik yapalım!

Python ile Ayrık Olay Benzetimi

Preparing Video For Download...