所謂的模擬(simulation)是根據以往經驗(empirically)來決定系統特性(characteristics)的一個實驗,主要方式為產生(generation)與觀察(observation)系統的資料,於是就能夠知道系統的一些結論(inference)。
為何說是根據經驗呢?因為人類所知有限,根據人類的觀察和所推討的理論,盡可能來推測真實的發生情形。例如我們都知道東西會往下掉,推導出萬有引力的理論,那是不是全宇宙都是符合這個定律?我們不曉得,根據以往經驗來看是這樣的(東西會往下掉)。同樣的道理,模擬也是基於這樣的觀念,模擬必須有個模型(model),而此模型則是基於經驗與理論的基礎,並且要盡可能模仿(mimic)或仿真(emulate)系統的行為。
一個模型中的狀態以狀態變數(state variable)來表示,電腦上則是程式的變數(variable),一個模擬軟體事實上就是改變這些狀態變數,最後來觀測這些變數的數值,那要怎麼改變呢?則依照系統的模型(數學關係)。
模擬所需的模型有下列幾種分類方法:
- Continuous/Discrete
- Deterministic/Stochastic
- Terminating/Steady-State
- Synthetic(Distribution-Driven)/Trace-Driven
- Sequential/Distributed
- Symbolic
- Event-Oriented/Process-Oriented
沒有留言:
張貼留言