国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Python > 正文

用Python的SimPy庫(kù)簡(jiǎn)化復(fù)雜的編程模型的介紹

2020-02-23 00:41:21
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

在我遇到 SimPy 包的其中一位創(chuàng)始人 Klaus Miller 時(shí),從他那里知道了這個(gè)包。Miller 博士閱讀過(guò)幾篇提出使用 Python 2.2+ 生成器實(shí)現(xiàn)半?yún)f(xié)同例程和“輕便”線程的技術(shù)的 可愛(ài)的 Python專欄文章。特別是(使我很高興的是),他發(fā)現(xiàn)在用 Python 實(shí)現(xiàn) Simula-67 樣式模擬時(shí),這些技術(shù)很有用。

結(jié)果表明 Tony Vignaux 和 Chang Chui 以前曾創(chuàng)建了另一個(gè) Python 庫(kù),它在概念上更接近于 Simscript,而且該庫(kù)使用了標(biāo)準(zhǔn)線程技術(shù),而不是我的半?yún)f(xié)同例程技術(shù)。該小組在一起研究時(shí),認(rèn)為基于生成器的樣式更有效得多,并且最近在 SourceForge 上發(fā)起了使用 GPL 的項(xiàng)目,稱為 SimPy(請(qǐng)參閱 參考資料,獲得 SimPy 主頁(yè)的鏈接),目前處于 beta 測(cè)試版狀態(tài)。Vignaux 教授希望他在惠靈頓維多利亞大學(xué)(University of Victoria)的將來(lái)大學(xué)教學(xué)中使用統(tǒng)一的 SimPy 包;我相信該庫(kù)也非常適合應(yīng)用到各類實(shí)用問(wèn)題中。

我承認(rèn)在近期的通信交流和調(diào)查研究之前,我對(duì)編程領(lǐng)域的模擬方面沒(méi)有任何基礎(chǔ)知識(shí)。我猜想本專欄文章的大部分讀者也和我一樣,對(duì)這方面的知識(shí)知之甚少。盡管有人會(huì)認(rèn)為這種樣式編程的方式有些新奇,但在理解資源有限的實(shí)際系統(tǒng)的行為時(shí),模擬是很有用的。不管您感興趣的是有限帶寬網(wǎng)絡(luò)、汽車交通行為、市場(chǎng)和商業(yè)性優(yōu)化、生物/進(jìn)化的交互作用還是其它“隨機(jī)”系統(tǒng),SimPy 對(duì)這樣的建模都提供了簡(jiǎn)單的 Python 工具。
隨機(jī)的定義

與“連接”相類似,它是那些 最適合形容其作業(yè)的詞匯之一 - 再也找不到更適合的了:

隨機(jī)(stochastic),源自希臘語(yǔ) stokhastikos(形容詞)
1)推測(cè)的、與推測(cè)相關(guān)的或者具有推測(cè)特點(diǎn)的;好推測(cè)的。
2)在統(tǒng)計(jì)學(xué)上:涉及或包含一個(gè)隨機(jī)變量或多個(gè)隨機(jī)變量,或涉及偶然性或概率。

來(lái)源:Dictionary.com

在本專欄文章中,我將一直使用食品雜貨店內(nèi)具有多條通道的付款區(qū)域這個(gè)相當(dāng)簡(jiǎn)單的示例。通過(guò)使用所演示的模擬,我們可以根據(jù)對(duì)掃描器技術(shù)、購(gòu)物者習(xí)慣、人員配備需求等進(jìn)行的各種更改所產(chǎn)生的經(jīng)濟(jì)上和等待時(shí)間上的含義提出問(wèn)題。這個(gè)建模的優(yōu)點(diǎn)是在您對(duì)所做的更改產(chǎn)生的含義有清晰的想法時(shí),它讓您能提前制定策略。很明顯,大多數(shù)讀者不會(huì)專門經(jīng)營(yíng)一家食品雜貨店,但這些技術(shù)可以廣泛地應(yīng)用于各類系統(tǒng)中。
模擬的概念

SimPy 庫(kù)只提供了三個(gè)抽象/父類,并且它們對(duì)應(yīng)于模擬的三個(gè)基本概念。有許多其它常規(guī)函數(shù)和常量用于控制模擬的運(yùn)行,但重要的概念都與這些類結(jié)合在一起。

模擬中的核心概念是 進(jìn)程。一個(gè)進(jìn)程只是一個(gè)對(duì)象,它完成某些任務(wù),隨后在它準(zhǔn)備完成下一個(gè)任務(wù)之前有時(shí)會(huì)等待一會(huì)兒。在 SimPy 中,您還可以“鈍化”進(jìn)程,這意味著在一個(gè)進(jìn)程完成一個(gè)任務(wù)后,只有當(dāng)其它進(jìn)程要求該進(jìn)程完成其它任務(wù)時(shí),它才會(huì)去做。把進(jìn)程當(dāng)作嘗試完成一個(gè)目標(biāo),常常是很有用的。在編寫進(jìn)程時(shí),通常把它編寫成可以在其中執(zhí)行多個(gè)操作的循環(huán)。在每個(gè)操作之間,可以插入 Python“yield”語(yǔ)句,它讓模擬調(diào)度程序在返回控制之前執(zhí)行每個(gè)等待進(jìn)程的操作。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 重庆市| 马边| 克什克腾旗| 南安市| 平乡县| 丰城市| 成都市| 浮山县| 邵武市| 延庆县| 二连浩特市| 清水县| 霍州市| 海林市| 晋州市| 昭苏县| 双牌县| 宁蒗| 肥东县| 乌拉特前旗| 盐山县| 荥经县| 寿光市| 蓬溪县| 佛冈县| 望都县| 志丹县| 渑池县| 高阳县| 马边| 澄迈县| 浮山县| 来安县| 元氏县| 台中县| 凭祥市| 贵定县| 沽源县| 新营市| 攀枝花市| 玉环县|