二維隨機(jī)路網(wǎng)上的動點(diǎn)移動模擬實驗方法
【專利摘要】本發(fā)明公開了一種二維隨機(jī)路網(wǎng)上的動點(diǎn)移動模擬實驗方法,具體步驟如下:隨機(jī)數(shù)生成模塊生成隨機(jī)數(shù);建模模塊建立隨機(jī)模型構(gòu)架,將路徑模型的信息保存至文件;運(yùn)算模塊建立隨機(jī)模型,采用時間隊列算法計算和模擬每一時刻運(yùn)動對象的實時狀態(tài),將運(yùn)算結(jié)果以文件形式保存;分析模塊讀取數(shù)據(jù)對隨機(jī)運(yùn)動的特征進(jìn)行分析和統(tǒng)計,通過圖形的方式將分析結(jié)果顯示到界面中。本發(fā)明解決了現(xiàn)有移動模型無法模擬隨機(jī)運(yùn)動對象在每一時刻的狀態(tài)信息的問題,是一種多簇馬氏鏈的啟發(fā)平臺,可靈活配置,為多種問題提供實驗環(huán)境。
【專利說明】二維隨機(jī)路網(wǎng)上的動點(diǎn)移動模擬實驗方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于動點(diǎn)移動模擬實驗方法【技術(shù)領(lǐng)域】,具體涉及一種二維隨機(jī)路網(wǎng)上的動 點(diǎn)移動模擬實驗方法。
【背景技術(shù)】
[0002] 古典的隨機(jī)游動理論,出現(xiàn)在許多數(shù)學(xué)和物理模型中,主要是考慮簡單但無限制 的圖上的隨機(jī)游動。以格點(diǎn)圖為例,如果讓質(zhì)點(diǎn)無限期游動下去,質(zhì)點(diǎn)是否以概率1返回起 點(diǎn)?是否會無窮多次返回起點(diǎn)? 1921年,P6lya證明了當(dāng)n= 1,2時,質(zhì)點(diǎn)以概率1無窮 多次返回到起點(diǎn),但當(dāng)n>3時,質(zhì)點(diǎn)只會有限多次返回到起點(diǎn)。
[0003] 聯(lián)通無向圖上的隨機(jī)游動,即可逆的馬爾可夫鏈,和電網(wǎng)絡(luò)的內(nèi)在聯(lián)系,以及矩陣 分析和調(diào)和分析方法的成功應(yīng)用,使它成為近年來組合圖論界研究最多,成果最豐富的課 題之一??赡娴鸟R爾科夫鏈,在多種領(lǐng)域有著應(yīng)用。面向隨機(jī)動點(diǎn)移動的研究,主要集中 于位置索引模型的建立。假定對象在二維空間中做任意運(yùn)動,根據(jù)需要的不同,陸續(xù)出現(xiàn) 了以下索引結(jié)構(gòu):針對移動對象當(dāng)前和未來位置信息,產(chǎn)生了一類進(jìn)行信息位置管理的模 型;隨著人們對過去現(xiàn)象關(guān)注度的提高,能夠處理移動對象歷史位置信息的模型有了一定 發(fā)展;作為近年來的發(fā)展趨勢,能夠同時處理移動對象過去、當(dāng)前以及未來位置信息等的模 型也應(yīng)運(yùn)而生,這極大豐富了動點(diǎn)移動的應(yīng)用層面。
[0004] 在移動模型的研究中,二維網(wǎng)絡(luò)移動對象的時空數(shù)據(jù)模型起步較晚?,F(xiàn)有的時空 數(shù)據(jù)模型主要著眼于記錄移動對象的運(yùn)動狀態(tài),如路網(wǎng)數(shù)據(jù)模型中加入時間索引的記錄 集。時空網(wǎng)絡(luò)移動對象這一研究領(lǐng)域?qū)τ诰W(wǎng)絡(luò)經(jīng)典分析意義重大。實際應(yīng)用中,移動對象 的運(yùn)動模式可以分為無限制運(yùn)動(如船舶在大海中行駛)、限制運(yùn)動(如行人的運(yùn)動)和在 固定網(wǎng)絡(luò)的運(yùn)動(如火車、汽車在一定的區(qū)域中沿固定線路移動),其中固定網(wǎng)絡(luò)運(yùn)動是應(yīng) 用中最普遍的模式。當(dāng)移動對象的運(yùn)動模式定義為在固定網(wǎng)絡(luò)上的無限制運(yùn)動時,其運(yùn)動 軌跡可以理解為一條保存了過去、當(dāng)前以及未來信息,運(yùn)動發(fā)展與過去無關(guān)的馬氏鏈。
[0005] 目前在固定網(wǎng)絡(luò)上的動點(diǎn)移動模擬實驗,大多設(shè)定二維路徑網(wǎng)固定,對環(huán)境變化 以及可移植性的研究較少。動點(diǎn)移動的模擬實驗以隨機(jī)游動研究較多,更多的是從索引角 度出發(fā),面向動點(diǎn)定位進(jìn)行研究,提供一個良好的模擬實驗環(huán)境的平臺設(shè)計較少,環(huán)境條件 多變時無法模擬隨機(jī)運(yùn)動對象在每一時刻的狀態(tài)信息。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明的目的在于提供一種二維隨機(jī)路網(wǎng)上的動點(diǎn)移動模擬實驗方法,解決了現(xiàn) 有移動模型無法模擬隨機(jī)運(yùn)動對象在每一時刻的狀態(tài)信息的問題。
[0007] 本發(fā)明所采用的技術(shù)方案是,二維隨機(jī)路網(wǎng)上的動點(diǎn)移動模擬實驗方法,基于二 維隨機(jī)路網(wǎng)上的動點(diǎn)移動模擬實驗平臺,具體步驟如下:
[0008] 第1步:隨機(jī)數(shù)生成模塊接收命令后生成隨機(jī)數(shù),為建模模塊和運(yùn)算模塊提供隨 機(jī)數(shù)據(jù)源;
[0009] 第2步:建模模塊獲得隨機(jī)數(shù)生成模塊的數(shù)據(jù)源,建立隨機(jī)模型構(gòu)架,并將隨機(jī)模 型構(gòu)架以類的方式封裝,保存在內(nèi)存中,同時將路徑模型的信息保存至文件;
[0010] 第3步:運(yùn)算模塊負(fù)責(zé)運(yùn)行時的數(shù)據(jù)運(yùn)算,根據(jù)第2步建立的隨機(jī)模型構(gòu)架建立隨 機(jī)運(yùn)動模型,采用時間隊列算法計算和模擬每一時刻運(yùn)動對象的實時狀態(tài),同時將實時隨 機(jī)的運(yùn)算結(jié)果以類的方式封裝,保存在內(nèi)存中,并通過數(shù)據(jù)輸出接口將運(yùn)算結(jié)果以文件形 式保存;
[0011] 第4步:將步驟2保存的文件和步驟3保存的文件輸出至分析模塊,分析模塊讀取 數(shù)據(jù),能夠重現(xiàn)整個隨機(jī)運(yùn)動過程,并對隨機(jī)運(yùn)動的特征進(jìn)行分析和統(tǒng)計,通過文件的方式 保存分析結(jié)果,通過圖形的方式將實時隨機(jī)運(yùn)動模型、動點(diǎn)在每一時刻的狀態(tài)以及分析結(jié) 果進(jìn)行顯示。
[0012] 本發(fā)明的特點(diǎn)還在于,
[0013] 第1步中隨機(jī)數(shù)生成模塊包括命令接收接口、隨機(jī)數(shù)生成器和數(shù)據(jù)發(fā)送接口,所 述隨機(jī)數(shù)生成器通過調(diào)用CryptGenRandom函數(shù)生成一個健壯的隨機(jī)數(shù)。
[0014] 第2步建模模塊建立隨機(jī)模型構(gòu)架的流程為:
[0015] 步驟2. 1 :首先設(shè)置建模參數(shù),然后讀取建模參數(shù),根據(jù)建模范圍創(chuàng)建隨機(jī)節(jié)點(diǎn)位 置;
[0016] 步驟2. 2 :采用Waxman建模方法為隨機(jī)節(jié)點(diǎn)之間創(chuàng)建隨機(jī)路徑,節(jié)點(diǎn)間的路徑滿 足泊松分布;
[0017] 步驟2. 3 :通過廣度優(yōu)先算法對步驟2. 2創(chuàng)建的隨機(jī)路徑進(jìn)行連通性測試,若沒有 孤立節(jié)點(diǎn),執(zhí)行步驟2. 4 ;若出現(xiàn)孤立節(jié)點(diǎn),則返回步驟2. 2,重新創(chuàng)建隨機(jī)路徑;若步驟2. 2 重復(fù)多次后仍出現(xiàn)孤立節(jié)點(diǎn),則返回步驟2. 1,重新設(shè)置建模參數(shù);
[0018] 步驟2. 4 :進(jìn)行動點(diǎn)的創(chuàng)建,根據(jù)模擬需求設(shè)置每個動點(diǎn)參數(shù),將所有模型數(shù)據(jù)保 存至外部文件,建模結(jié)束。
[0019] Waxman建模方法,如式⑴所示:
[0020]
【權(quán)利要求】
1. 二維隨機(jī)路網(wǎng)上的動點(diǎn)移動模擬實驗方法,其特征在于,基于二維隨機(jī)路網(wǎng)上的動 點(diǎn)移動模擬實驗平臺,具體步驟如下: 第1步:隨機(jī)數(shù)生成模塊接收命令后生成隨機(jī)數(shù),為建模模塊和運(yùn)算模塊提供隨機(jī)數(shù) 據(jù)源; 第2步:建模模塊獲得隨機(jī)數(shù)生成模塊的數(shù)據(jù)源,建立隨機(jī)模型構(gòu)架,并將隨機(jī)模型構(gòu) 架以類的方式封裝,保存在內(nèi)存中,同時將路徑模型的信息保存至文件; 第3步:運(yùn)算模塊負(fù)責(zé)運(yùn)行時的數(shù)據(jù)運(yùn)算,根據(jù)第2步建立的隨機(jī)模型構(gòu)架建立隨機(jī)運(yùn) 動模型,采用時間隊列算法計算和模擬每一時刻運(yùn)動對象的實時狀態(tài),同時將實時隨機(jī)的 運(yùn)算結(jié)果以類的方式封裝,保存在內(nèi)存中,并通過數(shù)據(jù)輸出接口將運(yùn)算結(jié)果以文件形式保 存; 第4步:將步驟2保存的文件和步驟3保存的文件輸出至分析模塊,分析模塊讀取數(shù) 據(jù),能夠重現(xiàn)整個隨機(jī)運(yùn)動過程,并對隨機(jī)運(yùn)動的特征進(jìn)行分析和統(tǒng)計,通過文件的方式保 存分析結(jié)果,通過圖形的方式將實時隨機(jī)運(yùn)動模型、動點(diǎn)在每一時刻的狀態(tài)以及分析結(jié)果 進(jìn)行顯示。
2. 根據(jù)權(quán)利要求1所述的二維隨機(jī)路網(wǎng)上的動點(diǎn)移動模擬實驗方法,其特征在于,所 述第1步中隨機(jī)數(shù)生成模塊包括命令接收接口、隨機(jī)數(shù)生成器和數(shù)據(jù)發(fā)送接口,所述隨機(jī) 數(shù)生成器通過調(diào)用CryptGenRandom函數(shù)生成一個健壯的隨機(jī)數(shù)。
3. 根據(jù)權(quán)利要求1所述的二維隨機(jī)路網(wǎng)上的動點(diǎn)移動模擬實驗方法,其特征在于,所 述第2步建模模塊建立隨機(jī)模型構(gòu)架的流程為: 步驟2. 1 :首先設(shè)置建模參數(shù),然后讀取建模參數(shù),根據(jù)建模范圍創(chuàng)建隨機(jī)節(jié)點(diǎn)位置; 步驟2. 2 :采用Waxman建模方法為隨機(jī)節(jié)點(diǎn)之間創(chuàng)建隨機(jī)路徑,節(jié)點(diǎn)間的路徑滿足泊 松分布; 步驟2. 3 :通過廣度優(yōu)先算法對所述步驟2. 2創(chuàng)建的隨機(jī)路徑進(jìn)行連通性測試,若沒有 孤立節(jié)點(diǎn),執(zhí)行步驟2. 4 ;若出現(xiàn)孤立節(jié)點(diǎn),則返回步驟2. 2,重新創(chuàng)建隨機(jī)路徑;若步驟2. 2 重復(fù)多次后仍出現(xiàn)孤立節(jié)點(diǎn),則返回步驟2. 1,重新設(shè)置建模參數(shù); 步驟2. 4 :進(jìn)行動點(diǎn)的創(chuàng)建,根據(jù)模擬需求設(shè)置每個動點(diǎn)參數(shù),將所有模型數(shù)據(jù)保存至 外部文件,建模結(jié)束。
4. 根據(jù)權(quán)利要求3所述的二維隨機(jī)路網(wǎng)上的動點(diǎn)移動模擬實驗方法,其特征在于,所 述Waxman建模方法,如式(1)所示: ? p(u,v) =ae奴.1 :,1 其中建模參數(shù)α>〇,β〈=l,d是頂點(diǎn)u和頂點(diǎn)V之間的距離,L是平面內(nèi)所有頂點(diǎn)中 相距最遠(yuǎn)的距離;α值越大,圖中邊越多;β值越大,圖中長邊比短邊的比值越大,Waxman 認(rèn)為結(jié)點(diǎn)之間的連接概率與其距離相關(guān),出度頻率服從泊松分布,距離越近,概率越大。
5. 根據(jù)權(quán)利要求1所述的二維隨機(jī)路網(wǎng)上的動點(diǎn)移動模擬實驗方法,其特征在于,所 述第3步運(yùn)算模塊的具體運(yùn)算流程為: 步驟3. 1 :運(yùn)算模塊獲得隨機(jī)運(yùn)動模型, 步驟3. 2 :根據(jù)隨機(jī)運(yùn)動模型創(chuàng)建時間隊列,將所有動態(tài)節(jié)點(diǎn)加入到時間隊列中,并將 其運(yùn)行時間初始化為〇 ; 步驟3. 3 :判斷動點(diǎn)運(yùn)動時間是否超過初始創(chuàng)建模型時設(shè)定的總時間限制,若運(yùn)動時 間超限,則結(jié)束運(yùn)算,執(zhí)行步驟3. 7 ;若運(yùn)動時間未超限,則進(jìn)行步驟3. 4 ; 步驟3. 4 :計算時間隊列隊頭動點(diǎn)的即將發(fā)生狀態(tài),即動點(diǎn)在下一時刻是否運(yùn)動及其 運(yùn)動方向,并根據(jù)動點(diǎn)下一個時刻狀態(tài),計算動點(diǎn)下一次狀態(tài)改變時的時間,更新動點(diǎn)的狀 態(tài);
式中,Ii表示動點(diǎn)當(dāng)前所在的路徑;與(%,,_>>)表示Ii路徑的兩端點(diǎn);(Xii (t),yii (t))表示動點(diǎn)在Ii路徑處的坐標(biāo);t,為間隔采樣時間;Vci為隨機(jī)分配給動點(diǎn)的 速率;Atm是關(guān)于間隔采樣時間t'內(nèi)的細(xì)分函數(shù)A表示動點(diǎn)運(yùn)動速度,Atnrl是一種指 代,指代對t'進(jìn)行劃分;m為對t'的劃分區(qū)間數(shù);其中,離散隨機(jī)變量C1 = (I1,…,Ii^-,lk}表示路徑Ii長度;Λtp表示走過第p條路徑的時間;p表示經(jīng)過路徑的次數(shù); 由公式(2)和公式(3)獲得動點(diǎn)下一時刻移動的位置;根據(jù)當(dāng)前位置與下一時刻的位 置可以獲得路徑長度Ii ;由公式(4)和公式(5)更新下一時刻的Atm ; 步驟3. 5 :根據(jù)更新后動點(diǎn)的狀態(tài),更新時間隊列,即將更新后動點(diǎn)按照其△tm值的大 小,按升序重新插入到時間隊列中,保證下一次更新的動點(diǎn)排列在時間隊列的最前方; 步驟3. 6 :返回步驟3. 3 ; 步驟3.7 :最后將實時隨機(jī)的運(yùn)算結(jié)果以類的方式封裝,保存在內(nèi)存中,并通過數(shù)據(jù)輸 出接口將運(yùn)算結(jié)果以文件形式保存。
6. 根據(jù)權(quán)利要求1所述的二維隨機(jī)路網(wǎng)上的動點(diǎn)移動模擬實驗方法,其特征在于,所 述第4步中對隨機(jī)運(yùn)動的特征的分析包括隨機(jī)動點(diǎn)的運(yùn)行過程圖形化重現(xiàn)、動點(diǎn)的運(yùn)行軌 跡分析、動點(diǎn)在整個模型平臺中的出現(xiàn)概率統(tǒng)計、多個動點(diǎn)之間的追蹤關(guān)系分析、動點(diǎn)在動 態(tài)與靜態(tài)轉(zhuǎn)換的狀態(tài)下的移動分析。
7. 根據(jù)權(quán)利要求1所述的二維隨機(jī)路網(wǎng)上的動點(diǎn)移動模擬實驗方法,其特征在于,所 述二維隨機(jī)路網(wǎng)上的動點(diǎn)移動模擬實驗平臺包括隨機(jī)數(shù)生成模塊和分別與隨機(jī)數(shù)生成模 塊相連的建模模塊和運(yùn)算模塊,建模模塊和運(yùn)算模塊均與分析模塊相連。
【文檔編號】G06F19/00GK104318099SQ201410564504
【公開日】2015年1月28日 申請日期:2014年10月22日 優(yōu)先權(quán)日:2014年10月22日
【發(fā)明者】費(fèi)蓉, 胡博, 王磊, 黑新宏, 楊咚咚 申請人:西安理工大學(xué)