Modelleme ve Simülasyon - Hızlı Kılavuz

Modellingyapımını ve çalışmasını içeren bir modeli temsil etme sürecidir. Bu model, analistin değişikliklerin sistem üzerindeki etkisini tahmin etmesine yardımcı olan gerçek bir sisteme benzer. Diğer bir deyişle, modelleme, özelliklerini içeren bir sistemi temsil eden bir model oluşturmaktır. Bir model inşa etme eylemidir.

SimulationBir sistemin, mevcut veya önerilen bir sistemin performansının analiz edilmesine yardımcı olan, zaman veya mekan açısından bir modelin çalışmasıdır. Başka bir deyişle, simülasyon, bir sistemin performansını incelemek için bir model kullanma sürecidir. Simülasyon için bir model kullanma eylemidir.

Simülasyon Tarihi

Simülasyonun tarihsel perspektifi, kronolojik bir sırayla sıralandığı gibidir.

  • 1940 - Nötron saçılımını incelemek için bir Manhattan projesi üzerinde çalışan araştırmacılar (John von Neumann, Stanislaw Ulan, Edward Teller, Herman Kahn) ve fizikçiler tarafından 'Monte Carlo' adlı bir yöntem geliştirildi.

  • 1960 - RAND Corporation'da Harry Markowitz tarafından SIMSCRIPT gibi ilk özel amaçlı simülasyon dilleri geliştirildi.

  • 1970 - Bu dönemde simülasyonun matematiksel temelleri üzerine araştırmalar başlatıldı.

  • 1980 - Bu dönemde PC tabanlı simülasyon yazılımları, grafik kullanıcı arayüzleri ve nesneye yönelik programlama geliştirildi.

  • 1990 - Bu dönemde web tabanlı simülasyon, fantezi animasyonlu grafikler, simülasyon tabanlı optimizasyon, Markov-zinciri Monte Carlo yöntemleri geliştirildi.

Simülasyon Modelleri Geliştirme

Simülasyon modelleri şu bileşenlerden oluşur: sistem varlıkları, girdi değişkenleri, performans ölçüleri ve işlevsel ilişkiler. Aşağıda bir simülasyon modeli geliştirme adımları verilmiştir.

  • Step 1 - Problemi mevcut bir sistemle veya önerilen bir sistemin gereksinimleri ile tanımlayın.

  • Step 2 - Mevcut sistem faktörlerine ve sınırlamalarına dikkat ederek problemi tasarlayın.

  • Step 3 - Sistem verilerini toplayın ve işlemeye başlayın, performansını ve sonucunu gözlemleyin.

  • Step 4 - Modeli ağ diyagramlarını kullanarak geliştirin ve çeşitli doğrulama tekniklerini kullanarak doğrulayın.

  • Step 5 - Farklı koşullar altındaki performansını gerçek sistemle karşılaştırarak modeli doğrulayın.

  • Step 6 - Hedefleri, varsayımları, girdi değişkenlerini ve performansı ayrıntılı olarak içeren gelecekteki kullanım için modelin bir belgesini oluşturun.

  • Step 7 - Gereksinime göre uygun bir deneysel tasarım seçin.

  • Step 8 - Model üzerinde deneysel koşullar yaratın ve sonucu gözlemleyin.

Simülasyon Analizi Gerçekleştirme

Simülasyon analizi gerçekleştirme adımları aşağıdadır.

  • Step 1 - Bir sorun ifadesi hazırlayın.

  • Step 2- Girdi değişkenlerini seçin ve simülasyon süreci için varlıklar oluşturun. İki tür değişken vardır - karar değişkenleri ve kontrol edilemeyen değişkenler. Karar değişkenleri programcı tarafından kontrol edilirken, kontrol edilemeyen değişkenler rastgele değişkenlerdir.

  • Step 3 - Simülasyon sürecine atayarak karar değişkenleri üzerinde kısıtlamalar oluşturun.

  • Step 4 - Çıktı değişkenlerini belirleyin.

  • Step 5 - Simülasyona girmek için gerçek hayattaki sistemden veri toplayın.

  • Step 6 - Simülasyon sürecinin ilerlemesini gösteren bir akış şeması geliştirin.

  • Step 7 - Modeli çalıştırmak için uygun bir simülasyon yazılımı seçin.

  • Step 8 - Sonucunu gerçek zamanlı sistemle karşılaştırarak simülasyon modelini doğrulayın.

  • Step 9 - En iyi çözümü bulmak için değişken değerlerini değiştirerek model üzerinde bir deney yapın.

  • Step 10 - Son olarak, bu sonuçları gerçek zamanlı sisteme uygulayın.

Modelleme ve Simülasyon ─ Avantajlar

Aşağıda Modelleme ve Simülasyon kullanmanın avantajları verilmiştir -

  • Easy to understand - Gerçek zamanlı sistemler üzerinde çalışmadan sistemin gerçekten nasıl çalıştığını anlamayı sağlar.

  • Easy to test - Gerçek zamanlı sistemlerde çalışmadan sistemde değişiklik yapmanıza ve bunların çıktı üzerindeki etkisine izin verir.

  • Easy to upgrade - Farklı konfigürasyonlar uygulayarak sistem gereksinimlerinin belirlenmesine izin verir.

  • Easy to identifying constraints - İş sürecinde gecikmeye neden olan darboğaz analizi, bilgi vb.

  • Easy to diagnose problems- Bazı sistemler o kadar karmaşıktır ki, bir seferde etkileşimlerini anlamak kolay değildir. Bununla birlikte, Modelleme ve Simülasyon, tüm etkileşimleri anlamaya ve etkilerini analiz etmeye izin verir. Ek olarak, gerçek sistemi etkilemeden yeni politikalar, işlemler ve prosedürler keşfedilebilir.

Modelleme ve Simülasyon ─ Dezavantajlar

Modelleme ve Simülasyon kullanmanın dezavantajları aşağıdadır -

  • Model tasarlamak, alan bilgisi, eğitimi ve deneyimi gerektiren bir sanattır.

  • Sistem üzerinde işlemler rastgele sayı kullanılarak gerçekleştirildiğinden sonucu tahmin etmek zordur.

  • Simülasyon insan gücü gerektirir ve zaman alan bir süreçtir.

  • Simülasyon sonuçlarının çevrilmesi zordur. Uzmanların anlaması gerekir.

  • Simülasyon süreci pahalıdır.

Modelleme & Simülasyon ─ Uygulama Alanları

Modelleme ve Simülasyon aşağıdaki alanlara uygulanabilir - Askeri uygulamalar, eğitim ve destek, yarı iletkenlerin tasarımı, telekomünikasyon, inşaat mühendisliği tasarımları ve sunumları ve E-iş modelleri.

Ek olarak, biyolojik sistem gibi karmaşık bir sistemin iç yapısını incelemek için kullanılır. Yönlendirme algoritması, montaj hattı vb. Sistem tasarımını optimize ederken kullanılır. Yeni tasarım ve politikaları test etmek için kullanılır. Analitik çözümleri doğrulamak için kullanılır.

Bu bölümde, Modellemenin çeşitli kavramlarını ve sınıflandırmasını tartışacağız.

Modeller ve Etkinlikler

Aşağıda Modelleme ve Simülasyonun temel kavramları verilmiştir.

  • Object bir modelin davranışını incelemek için gerçek dünyada var olan bir varlıktır.

  • Base Model model genelinde geçerli olan nesne özelliklerinin ve davranışının varsayımsal bir açıklamasıdır.

  • System gerçek dünyada var olan belirli koşullar altındaki eklemli nesnedir.

  • Experimental Framedeneysel koşullar, bakış açıları, hedefler vb. gibi gerçek dünyadaki bir sistemi incelemek için kullanılır. Temel Deneysel Çerçeve iki grup değişkenden oluşur - sistem veya model terminalleriyle eşleşen Çerçeve Giriş Değişkenleri ve Çerçeve Çıktı Değişkenleri. Çerçeve girdi değişkeni, sisteme veya bir modele uygulanan girdilerin eşleşmesinden sorumludur. Çerçeve çıktı değişkeni, çıktı değerlerini sistemle veya bir modelle eşleştirmekten sorumludur.

  • Lumped Model belirli bir Deneysel Çerçevenin belirtilen koşullarını izleyen bir sistemin tam açıklamasıdır.

  • Verificationdoğruluklarını sağlamak için iki veya daha fazla öğeyi karşılaştırma sürecidir. Modelleme & Simülasyonda, performanslarından emin olmak için bir simülasyon programı ile toplu modelin tutarlılığı karşılaştırılarak doğrulama yapılabilir. Ayrı bir bölümde ele alacağımız doğrulama sürecini gerçekleştirmenin çeşitli yolları vardır.

  • Validationiki sonucu karşılaştırma sürecidir. Modelleme ve Simülasyonda doğrulama, deney ölçümleri ile deneysel bir Çerçeve bağlamında simülasyon sonuçları karşılaştırılarak gerçekleştirilir. Sonuçlar uyuşmazsa model geçersizdir. Ayrı bir bölümde ele alacağımız doğrulama sürecini gerçekleştirmenin çeşitli yolları vardır.

Sistem Durumu Değişkenleri

Sistem durumu değişkenleri, belirli bir zaman noktasında sistem içindeki dahili süreci tanımlamak için gerekli olan bir veri kümesidir.

  • İçinde discrete-event model, sistem durumu değişkenleri zaman aralıkları boyunca sabit kalır ve değerler, olay zamanları adı verilen tanımlanmış noktalarda değişir.

  • İçinde continuous-event modelSistem durumu değişkenleri, değeri zaman içinde sürekli değişen diferansiyel denklem sonuçları tarafından tanımlanır.

Aşağıda sistem durumu değişkenlerinden bazıları verilmiştir -

  • Entities & Attributes- Bir varlık, diğer varlıklarla olan sürece bağlı olarak değeri statik veya dinamik olabilen bir nesneyi temsil eder. Öznitelikler, varlık tarafından kullanılan yerel değerlerdir.

  • Resources- Kaynak, aynı anda bir veya daha fazla dinamik varlığa hizmet sağlayan bir varlıktır. Dinamik varlık, bir kaynağın bir veya daha fazla birimini talep edebilir; kabul edilirse, işletme kaynağı kullanabilir ve tamamlandığında serbest bırakabilir. Reddedilirse, varlık bir kuyruğa katılabilir.

  • Lists- Listeler, varlıklar ve kaynaklar tarafından kullanılan kuyrukları temsil etmek için kullanılır. İşleme bağlı olarak LIFO, FIFO, vb. Gibi çeşitli kuyruk olasılıkları vardır.

  • Delay - Sistem koşullarının bazı kombinasyonlarının neden olduğu belirsiz bir süredir.

Modellerin Sınıflandırılması

Bir sistem aşağıdaki kategorilere ayrılabilir.

  • Discrete-Event Simulation Model- Bu modelde, durum değişkeni değerleri yalnızca olayların meydana geldiği zamanın bazı ayrık noktalarında değişir. Olaylar, yalnızca tanımlanan faaliyet zamanı ve gecikmelerde gerçekleşecektir.

  • Stochastic vs. Deterministic Systems - Stokastik sistemler rastgelelikten etkilenmez ve çıktıları rasgele bir değişken değildir, oysa deterministik sistemler rasgelelikten etkilenir ve çıktıları rasgele bir değişkendir.

  • Static vs. Dynamic Simulation- Statik simülasyon, zamandan etkilenmeyen modelleri içerir. Örneğin: Monte Carlo Modeli. Dinamik Simülasyon, zamanla etkilenen modelleri içerir.

  • Discrete vs. Continuous Systems- Ayrık sistem, belirli bir zaman noktasındaki durum değişkeni değişikliklerinden etkilenir. Davranışı aşağıdaki grafik sunumda tasvir edilmiştir.

Sürekli sistem, zamanla bir fonksiyon olarak sürekli değişen durum değişkeninden etkilenir. Davranışı aşağıdaki grafik sunumda tasvir edilmiştir.

Modelleme Süreci

Modelleme süreci aşağıdaki adımları içerir.

Step 1- Sorunu inceleyin. Bu aşamada, sorunu anlamalıyız ve buna göre, deterministik veya stokastik gibi sınıflandırmayı seçmeliyiz.

Step 2- Bir model tasarlayın. Bu aşamada, bir model tasarlamamıza yardımcı olan aşağıdaki basit görevleri yerine getirmeliyiz -

  • Sistem davranışına ve gelecekteki gereksinimlere göre veri toplayın.

  • Modelin başarılı olması için sistem özelliklerini, varsayımlarını ve alınması gereken aksiyonları analiz edin.

  • Modelde kullanılan değişken adlarını, fonksiyonları, birimlerini, ilişkilerini ve uygulamalarını belirleyin.

  • Modeli uygun bir teknik kullanarak çözün ve doğrulama yöntemlerini kullanarak sonucu doğrulayın. Ardından sonucu doğrulayın.

  • Sonuçları, yorumları, sonuçları ve önerileri içeren bir rapor hazırlayın.

Step 3- Model ile ilgili tüm süreci tamamladıktan sonra önerilerde bulunun. Yatırım, kaynaklar, algoritmalar, teknikler vb. İçerir.

Simülasyon analistinin karşılaştığı gerçek sorunlardan biri modeli doğrulamaktır. Simülasyon modeli yalnızca, model gerçek sistemin doğru bir temsili ise geçerlidir, aksi takdirde geçersizdir.

Doğrulama ve doğrulama, bir modeli doğrulamak için herhangi bir simülasyon projesinde iki adımdır.

  • Validationiki sonucu karşılaştırma sürecidir. Bu süreçte kavramsal bir modelin temsilini gerçek sistemle karşılaştırmamız gerekiyor. Karşılaştırma doğruysa geçerlidir, aksi takdirde geçersizdir.

  • Verificationdoğruluğunu sağlamak için iki veya daha fazla sonucu karşılaştırma sürecidir. Bu süreçte, modelin uygulamasını ve ilgili verilerini geliştiricinin kavramsal açıklaması ve spesifikasyonları ile karşılaştırmalıyız.

Doğrulama ve Doğrulama Teknikleri

Simülasyon Modelinin Doğrulanması ve Doğrulanması için kullanılan çeşitli teknikler vardır. Yaygın tekniklerden bazıları aşağıdadır -

Simülasyon Modelinin Doğrulamasını Gerçekleştirme Teknikleri

Simülasyon modelinin doğrulanmasını gerçekleştirmenin yolları aşağıdadır -

  • Alt programlarda program yazmak ve hata ayıklamak için programlama becerilerini kullanarak.

  • Programı birden fazla kişinin okuyacağı "Yapılandırılmış Gözden Geçirme" politikasını kullanarak.

  • Ara sonuçları takip ederek ve bunları gözlemlenen sonuçlarla karşılaştırarak.

  • Çeşitli girdi kombinasyonlarını kullanarak simülasyon modeli çıktısını kontrol ederek.

  • Nihai simülasyon sonucunu analitik sonuçlarla karşılaştırarak.

Simülasyon Modelinin Validasyonunu Gerçekleştirme Teknikleri

Step 1- Yüksek geçerliliğe sahip bir model tasarlayın. Bu, aşağıdaki adımlar kullanılarak gerçekleştirilebilir -

  • Model tasarlanırken sistem uzmanları ile görüşülmelidir.
  • Model, süreç boyunca müşteri ile etkileşime girmelidir.
  • Çıktı, sistem uzmanları tarafından denetlenmelidir.

Step 2- Modeli varsayım verilerinde test edin. Bu, varsayım verilerini modele uygulayarak ve nicel olarak test ederek elde edilebilir. Giriş verilerinde önemli değişiklikler yapıldığında sonuçtaki değişikliğin etkisini gözlemlemek için hassas analiz de yapılabilir.

Step 3- Simülasyon modelinin temsili çıktısını belirleyin. Bu, aşağıdaki adımlar kullanılarak gerçekleştirilebilir -

  • Simülasyon çıktısının gerçek sistem çıktısına ne kadar yakın olduğunu belirleyin.

  • Karşılaştırma, Turing Testi kullanılarak yapılabilir. Verileri sadece uzmanlar tarafından açıklanabilecek sistem formatında sunar.

  • Model çıktısını gerçek sistem çıktısıyla karşılaştırmak için istatistiksel yöntem kullanılabilir.

Gerçek Verilerle Model Veri Karşılaştırması

Model geliştirmeden sonra, çıktı verilerini gerçek sistem verileriyle karşılaştırmalıyız. Bu karşılaştırmayı yapmak için iki yaklaşım aşağıda verilmiştir.

Mevcut Sistemi Doğrulama

Bu yaklaşımda, çıktısını gerçek sistemin gerçek dünya girdileriyle karşılaştırmak için modelin gerçek dünya girdilerini kullanıyoruz. Bu doğrulama süreci basittir, ancak, çıktı ortalama uzunluk, bekleme süresi, boşta kalma süresi vb. İle karşılaştırılacaksa, istatistiksel testler ve hipotez testi kullanılarak karşılaştırılabilir. İstatistiksel testlerden bazıları ki-kare testi, Kolmogorov-Smirnov testi, Cramer-von Mises testi ve Moments testidir.

İlk Kez Modelin Doğrulanması

Şu anda var olmayan veya geçmişte var olmayan önerilen bir sistemi tanımlamamız gerektiğini düşünün. Bu nedenle, performansını karşılaştırmak için herhangi bir geçmiş veri yoktur. Bu nedenle, varsayımlara dayalı varsayımsal bir sistem kullanmalıyız. Yararlı ipuçlarını takip etmek, onu verimli hale getirmeye yardımcı olacaktır.

  • Subsystem Validity- Bir modelin kendisi, onu karşılaştırmak için mevcut herhangi bir sisteme sahip olmayabilir, ancak bilinen bir alt sistemden oluşabilir. Bu geçerliliklerin her biri ayrı ayrı test edilebilir.

  • Internal Validity - Yüksek derecede iç varyansı olan bir model, dahili süreçleri nedeniyle yüksek varyansı olan bir stokastik sistem, girdi değişiklikleri nedeniyle çıktıdaki değişiklikleri gizleyeceği için reddedilecektir.

  • Sensitivity Analysis - Daha fazla dikkat etmemiz gereken sistemdeki hassas parametre hakkında bilgi sağlar.

  • Face Validity - Model zıt mantıklarda çalıştığında, gerçek sistem gibi davransa bile reddedilmelidir.

Ayrık sistemlerde, sistem durumundaki değişiklikler süreksizdir ve sistemin durumundaki her değişikliğe bir event. Ayrık bir sistem simülasyonunda kullanılan model, sistemin durumunu temsil eden bir dizi sayıya sahiptir.state descriptor. Bu bölümde, ayrık olay simülasyonunun yanı sıra zaman paylaşım sisteminin simülasyonunda çok önemli bir unsur olan kuyruk simülasyonunu da öğreneceğiz.

Aşağıda, ayrık bir sistem simülasyonunun davranışının grafik temsili verilmiştir.

Ayrık Olay Simülasyonu ─ Temel Özellikler

Ayrık olay simülasyonu genellikle Pascal, C ++ gibi yüksek seviyeli programlama dillerinde veya herhangi bir özel simülasyon dilinde tasarlanmış bir yazılım tarafından gerçekleştirilir. Beş temel özellik aşağıdadır -

  • Entities - Bunlar, makinelerin parçaları gibi gerçek öğelerin temsilidir.

  • Relationships - Varlıkları birbirine bağlamak demektir.

  • Simulation Executive - İlerleme zamanını kontrol etmekten ve ayrık olayları yürütmekten sorumludur.

  • Random Number Generator - Simülasyon modeline gelen farklı verileri simüle etmeye yardımcı olur.

  • Results & Statistics - Modeli doğrular ve performans ölçümlerini sağlar.

Zaman Grafiği Gösterimi

Her sistem bir zaman parametresine bağlıdır. Grafiksel bir sunumda buna saat zamanı veya zaman sayacı denir ve başlangıçta sıfıra ayarlanır. Zaman, aşağıdaki iki faktöre göre güncellenir -

  • Time Slicing - Herhangi bir olayın yokluğuna kadar her olay için bir model tarafından tanımlanan zamandır.

  • Next Event- Bir zaman aralığı yerine yürütülecek sonraki olay için model tarafından tanımlanan olaydır. Time Slicing'den daha verimlidir.

Kuyruk Sisteminin Simülasyonu

Kuyruk, sistemdeki hizmet verilen tüm varlıklar ile sırasını bekleyenlerin birleşimidir.

Parametreler

Kuyruk Sisteminde kullanılan parametrelerin listesi aşağıdadır.

Sembol Açıklama
λ Saniyedeki varış sayısı olan varış oranını belirtir
Ts Sıradaki bekleme süresi hariç her varış için ortalama hizmet süresini gösterir
σT'ler Servis süresinin standart sapmasını gösterir
ρ Hem boşta hem de meşgulken sunucu zamanı kullanımını belirtir
sen Trafik yoğunluğunu belirtir
r Sistemdeki öğelerin ortalamasını gösterir
R Sistemdeki toplam öğe sayısını gösterir
Tr Sistemdeki bir öğenin ortalama süresini gösterir
TR Sistemdeki bir öğenin toplam süresini gösterir
σr R'nin standart sapmasını gösterir
σTr Tr'nin standart sapmasını gösterir
w Kuyrukta bekleyen ortalama öğe sayısını gösterir
σw W'nin standart sapmasını gösterir
Tw Tüm öğelerin ortalama bekleme süresini gösterir
Td Kuyrukta bekleyen öğelerin ortalama bekleme süresini gösterir
N Bir sistemdeki sunucuların sayısını belirtir
mx (y) Y'nin değerinin altında x'in zamanın yüzde y cinsinden oluştuğu y'ninci yüzdeliğini gösterir.

Tek Sunucu Sırası

Bu, aşağıdaki şekilde gösterildiği gibi en basit sıralama sistemidir. Sistemin ana unsuru, bağlı cihazlara veya öğelere hizmet veren bir sunucudur. Sunucunun boşta olması durumunda öğeler sisteme sunulmasını ister. Ardından hemen servis edilir, aksi takdirde bekleme kuyruğuna girer. Görev sunucu tarafından tamamlandıktan sonra, öğe ayrılır.

Çoklu Sunucu Sırası

Adından da anlaşılacağı gibi, sistem birden fazla sunucudan ve tüm öğeler için ortak bir kuyruktan oluşur. Sunucu için herhangi bir öğe istendiğinde, en az bir sunucu mevcutsa tahsis edilir. Aksi takdirde kuyruk, sunucu boş olana kadar başlamaya başlar. Bu sistemde, tüm sunucuların aynı olduğunu varsayıyoruz, yani hangi öğe için hangi sunucunun seçildiği konusunda bir fark yok.

Kullanımın bir istisnası vardır. İzin VermekN özdeş sunucular olmak, o zaman ρher sunucunun kullanımıdır. Düşünmektüm sistemin kullanımı olmak; o zaman maksimum kullanımN*100%ve maksimum giriş hızı -

$ λmax = \ frac {\ text {N}} {\ text {T} s} $

Sıraya Alma İlişkileri

Aşağıdaki tablo bazı temel kuyruk ilişkilerini göstermektedir.

Genel terimler Tek Sunucu Çoklu sunucu
r = λTr Little formülü ρ = λTs ρ = λTs / N
w = λTw Little formülü r = w + ρ u = λTs = ρN
Tr = Tw + Ts r = w + Nρ

Zaman Paylaşım Sisteminin Simülasyonu

Zaman paylaşım sistemi, her kullanıcının bir sistemde paylaşılan zamanın küçük bir bölümünü kullanacağı şekilde tasarlanmıştır, bu da birden fazla kullanıcının aynı anda sistemi paylaşmasına neden olur. Her kullanıcının geçişi o kadar hızlıdır ki, her kullanıcı kendi sistemini kullanıyormuş gibi hisseder. Bir sistem üzerinde aynı anda birden fazla işin yürütülmesiyle birden çok kaynağın etkin bir şekilde kullanılabildiği CPU planlama ve çoklu programlama kavramına dayanmaktadır.

Example - SimOS Simülasyon Sistemi.

Stanford Üniversitesi tarafından karmaşık bilgisayar donanımı tasarımlarını incelemek, uygulama performansını analiz etmek ve işletim sistemlerini incelemek için tasarlanmıştır. SimOS, modern bilgisayar sistemlerinin tüm donanım bileşenlerinin, yani işlemcilerin, Bellek Yönetim Birimlerinin (MMU), önbelleklerin vb. Yazılım simülasyonunu içerir.

Sürekli bir sistem, sistemin önemli faaliyetlerinin herhangi bir gecikme olmaksızın sorunsuz bir şekilde tamamlandığı bir sistemdir, yani olaylar kuyruğu yok, zaman simülasyonu yok, vb. Sürekli bir sistem matematiksel olarak modellendiğinde, öznitelikleri temsil eden değişkenleri sürekli fonksiyonlar tarafından kontrol edilir. .

Sürekli Simülasyon nedir?

Sürekli simülasyon, durum değişkenlerinin zamana göre sürekli olarak değiştiği bir simülasyon türüdür. Aşağıda, davranışının grafiksel temsili verilmiştir.

Neden Sürekli Simülasyon Kullanılır?

Sistemle ilişkili çeşitli parametrelerin diferansiyel denklemine ve bizim tarafımızdan bilinen tahmini sonuçlarına bağlı olduğu için sürekli simülasyon kullanmalıyız.

Uygulama alanları

Aşağıdaki sektörlerde sürekli simülasyon kullanılmaktadır. Baraj dolgusu ve tünel inşaatları için inşaat mühendisliğinde. Füze yörüngesinin simülasyonu, savaş uçağı eğitiminin simülasyonu ve su altı araçları için akıllı kontrol cihazının tasarımı ve testi için askeri uygulamalarda.

Ücretli plazanın tasarlanması için lojistikte, havaalanı terminalinde yolcu akış analizi ve proaktif uçuş programı değerlendirmesi. Ürün geliştirme planlaması, personel yönetimi planlaması ve pazar araştırması analizi için iş geliştirmede.

Monte Carlo simülasyonu, sayısal deneyler için bilinen bazı dağılımlara dayalı rastgele örnek verileri oluşturmak için bilgisayarlı bir matematiksel tekniktir. Bu yöntem, kantitatif risk analizi ve karar verme problemlerine uygulanır. Bu yöntem, finans, proje yönetimi, enerji, imalat, mühendislik, araştırma ve geliştirme, sigorta, petrol ve gaz, ulaşım vb. Gibi çeşitli profillerdeki profesyoneller tarafından kullanılmaktadır.

Bu yöntem ilk olarak 1940 yılında atom bombası üzerinde çalışan bilim adamları tarafından kullanıldı. Bu yöntem, hava tahmini gibi bir tahmin ve belirsiz kararlar vermemiz gereken durumlarda kullanılabilir.

Monte Carlo Simülasyonu ─ Önemli Özellikler

Monte-Carlo yönteminin üç önemli özelliği aşağıdadır:

  • Çıktısı rastgele örnekler oluşturmalıdır.
  • Girdi dağılımı bilinmelidir.
  • Bir deney yapılırken sonucunun bilinmesi gerekir.

Monte Carlo Simülasyonu ─ Avantajlar

  • Uygulaması kolaydır.
  • Bilgisayarı kullanarak sayısal deneyler için istatistiksel örnekleme sağlar.
  • Matematiksel problemlere yaklaşık çözüm sağlar.
  • Hem stokastik hem de deterministik problemler için kullanılabilir.

Monte Carlo Simülasyonu ─ Dezavantajlar

  • İstenilen çıktıyı elde etmek için çok sayıda örnekleme üretme ihtiyacı olduğu için zaman alıcıdır.

  • Bu yöntemin sonuçları, kesin değil, yalnızca gerçek değerlerin yaklaşıklığıdır.

Monte Carlo Simülasyon Yöntemi ─ Akış Şeması

Aşağıdaki çizim, Monte Carlo simülasyonunun genelleştirilmiş bir akış şemasını göstermektedir.

Modelleme ve Simülasyondaki veritabanının amacı, analiz ve test amaçları için veri gösterimini ve ilişkisini sağlamaktır. İlk veri modeli 1980'de Edgar Codd tarafından tanıtıldı. Modelin göze çarpan özellikleri aşağıdadır.

  • Veritabanı, bilgileri ve bunların ilişkilerini tanımlayan farklı veri nesnelerinin koleksiyonudur.

  • Kurallar, nesnelerdeki veriler üzerindeki kısıtlamaları tanımlamak içindir.

  • Bilgi almak için nesnelere işlemler uygulanabilir.

Başlangıçta Veri Modelleme, varlıkların veri bilgi türleri olduğu ve ilişkilerin varlıklar arasındaki ilişkileri temsil ettiği varlıklar ve ilişkiler kavramına dayanıyordu.

Veri modelleme için en son konsept, bilgisayar programlamasında şablon olarak kullanılan varlıkların sınıflar olarak temsil edildiği nesne yönelimli tasarımdır. Adına, niteliklerine, kısıtlamalarına ve diğer sınıfların nesneleriyle ilişkilerine sahip bir sınıf.

Temel temsili şöyle görünüyor:

Temsili veri

Olaylar için Veri Temsili

Bir simülasyon olayının, olay adı ve ilişkili zaman bilgisi gibi öznitelikleri vardır. Girdi dosyası parametresiyle ilişkili bir dizi girdi verisini kullanarak sağlanan bir simülasyonun yürütülmesini temsil eder ve sonucunu, veri dosyalarıyla ilişkili birden çok dosyada saklanan bir çıktı verileri kümesi olarak sağlar.

Girdi Dosyaları için Veri Gösterimi

Her simülasyon işlemi, farklı bir girdi verisi seti ve girdi veri dosyasında gösterilen ilişkili parametre değerlerini gerektirir. Girdi dosyası, simülasyonu işleyen yazılımla ilişkilidir. Veri modeli, referans dosyaları bir veri dosyasıyla ilişkilendirerek temsil eder.

Çıktı Dosyaları için Veri Gösterimi

Simülasyon işlemi tamamlandığında, çeşitli çıktı dosyaları üretir ve her çıktı dosyası bir veri dosyası olarak temsil edilir. Her dosyanın adı, açıklaması ve evrensel bir faktörü vardır. Bir veri dosyası iki dosyaya sınıflandırılır. İlk dosya sayısal değerleri içerir ve ikinci dosya sayısal dosyanın içerikleri için açıklayıcı bilgileri içerir.

Modelleme ve Simülasyonda Sinir Ağları

Sinir ağı, yapay zeka dalıdır. Sinir ağı, her birimin küçük yerel belleğe sahip olduğu, birimler olarak adlandırılan birçok işlemciden oluşan bir ağdır. Her bir ünite, sayısal verileri taşıyan, bağlantı adı verilen tek yönlü iletişim kanalları ile bağlanır. Her birim yalnızca kendi yerel verileri ve bağlantılardan aldıkları girişler üzerinde çalışır.

Tarih

Simülasyonun tarihsel perspektifi, kronolojik bir sırayla sıralandığı gibidir.

İlk nöral model, 1940 McCulloch & Pitts tarafından.

İçinde 1949Donald Hebb, nöron kavramına işaret eden "Davranış Örgütü" adlı bir kitap yazdı.

İçinde 1950bilgisayarların gelişmesi ile bu teoriler üzerine bir model yapmak mümkün hale geldi. IBM araştırma laboratuvarları tarafından yapıldı. Ancak, çaba başarısız oldu ve sonraki girişimler başarılı oldu.

İçinde 1959, Bernard Widrow ve Marcian Hoff, ADALINE ve MADALINE adlı modeller geliştirdiler. Bu modeller Çoklu ADAptive LINear Öğelerine sahiptir. MADALINE, gerçek dünyadaki bir soruna uygulanan ilk sinir ağıydı.

İçinde 1962Algılayıcı modeli, basit örüntü sınıflandırma problemlerini çözme becerisine sahip olan Rosenblatt tarafından geliştirilmiştir.

İçinde 1969, Minsky & Papert, hesaplamadaki algılayıcı modelinin sınırlamalarının matematiksel kanıtını sağladı. Algılayıcı modelin X-OR problemini çözemediği söylendi. Bu tür dezavantajlar, sinir ağlarının geçici olarak azalmasına neden oldu.

İçinde 1982Caltech'ten John Hopfield, kağıt üzerindeki fikirlerini iki yönlü hatları kullanan makineler oluşturmak için Ulusal Bilimler Akademisi'ne sundu. Önceden tek yönlü çizgiler kullanılıyordu.

Sembolik yöntemleri içeren geleneksel yapay zeka teknikleri başarısız olduğunda, sinir ağlarını kullanma ihtiyacı ortaya çıkar. Sinir ağları, bu tür sorunları çözmek için gereken hesaplama gücünü sağlayan devasa paralellik tekniklerine sahiptir.

Uygulama alanları

Sinir ağı, konuşma sentez makinelerinde, örüntü tanıma için, teşhis problemlerini tespit etmek için, robotik kontrol panolarında ve tıbbi ekipmanlarda kullanılabilir.

Modelleme ve Simülasyonda Bulanık Küme

Daha önce tartışıldığı gibi, sürekli simülasyonun her bir süreci diferansiyel denklemlere ve bunların a, b, c, d> 0 gibi parametrelerine bağlıdır. Genel olarak, nokta tahminleri hesaplanır ve modelde kullanılır. Bununla birlikte, bazen bu tahminler belirsizdir, bu nedenle, bilinmeyen parametrelerin tahminlerini sağlayan diferansiyel denklemlerde bulanık sayılara ihtiyacımız vardır.

Bulanık Küme nedir?

Klasik bir kümede, bir öğe ya kümenin bir üyesidir ya da değildir. Bulanık kümeler, klasik kümeler cinsinden tanımlanırX olarak -

A = {(x, μA (x)) | x ∈ X}

Case 1 - İşlev μA(x) aşağıdaki özelliklere sahiptir -

∀x ∈ X μA (x) ≥ 0

sup x ∈ X {μA (x)} = 1

Case 2 - Bulanık set edelim B olarak tanımlanmak A = {(3, 0.3), (4, 0.7), (5, 1), (6, 0.4)}, standart bulanık gösterimi şu şekilde yazılır: A = {0.3/3, 0.7/4, 1/5, 0.4/6}

Üyelik derecesi sıfır olan herhangi bir değer, kümenin ifadesinde görünmez.

Case 3 - Bulanık küme ile klasik gevrek küme arasındaki ilişki.

Aşağıdaki şekil bir bulanık küme ile klasik bir net küme arasındaki ilişkiyi göstermektedir.