多主體建模工具Netlogo介紹課件_第1頁
多主體建模工具Netlogo介紹課件_第2頁
多主體建模工具Netlogo介紹課件_第3頁
多主體建模工具Netlogo介紹課件_第4頁
多主體建模工具Netlogo介紹課件_第5頁
已閱讀5頁,還剩67頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

多主體建模工具Netlogo介紹張江北京師范大學(xué)管理學(xué)院系統(tǒng)科學(xué)系北師大復(fù)雜系統(tǒng)暑期學(xué)校2010多主體建模工具Netlogo介紹多主體模擬計算機模擬v.s.數(shù)學(xué)分析多主體模擬v.s.計算機模擬多主體模擬的特性:每個主體都是一個獨立的對象;主體運行于一個虛擬的宇宙主體之間可以通過相互作用產(chǎn)生涌現(xiàn)二個實例多主體模擬計算機模擬v.s.數(shù)學(xué)分析GameofLifeGameofLife生命游戲1970年,JohnConway提出了一個有趣的計算機程序:生命游戲這是一個方格世界,每個方格僅僅有黑、白兩種顏色生命游戲1970年,JohnConway提出了一個有趣的計生命游戲的規(guī)則想象一個外星空間存活者很多方格生命,如果一個方格是黑色的,那么這里就有一個生命,如果是白色的就沒有每個方格周圍都有8個鄰居生命游戲的規(guī)則想象一個外星空間存活者很多方格生命,如果一個方誕生規(guī)則如果某時刻,一個空方格(白色)周圍鄰居中有三個活的生命(黑色方格),那么該方格就會誕生一個新生生命(白色黑色)誕生規(guī)則如果某時刻,一個空方格(白色)周圍鄰居中有三個活的生死亡規(guī)則在某時刻,對于已經(jīng)占領(lǐng)某方格的生命體(黑色)只有當(dāng)它的鄰居中有2個或者3個是活的(黑色),它才會繼續(xù)存活,否則不是因為過分擁擠就是因為過分孤獨而死亡(黑色白色)死亡規(guī)則在某時刻,對于已經(jīng)占領(lǐng)某方格的生命體(黑色)只有當(dāng)它Boid模型Boid模型每只鳥的鄰域Abird’sNeighborhood每只鳥的鄰域Abird’sNeighborhood規(guī)則1——靠近Cohesion:steertomovetowardthe

averagepositionofneighbors規(guī)則1——靠近Cohesion:steertomove規(guī)則2——對齊Alignment:steertowardsthe

averageheadingofneighbors規(guī)則2——對齊Alignment:steertoward規(guī)則3——避免碰撞Separation:steertoavoid

crowdingneighbors規(guī)則3——避免碰撞Separation:steertoSwarmSwarmRepastRepastProcessingProcessingNetlogoNetlogoNetlogo的歷史Logo語言最早是為了樂高機器人玩具設(shè)計的,這些機器人被稱為:Turtle(海龜).之后,MitchelResnick,EricKlopfer等人把Logo語言擴展成為Star-Logo工具NetLogo是Star-Logo的最新版本NetLogo是一個很容以上手的高級建模玩具。Netlogo的歷史Logo語言最早是為了樂高機器人玩具設(shè)計一個簡單實例:氣體模型一個簡單實例:氣體模型Stepbystep打開Netlogo界面,添加2個按鈕setup和go,注意把go上面的Forever勾上選擇Procedure選項卡,編寫代碼寫下代碼:tosetupcreate-turtles50[setxyrandom-xcorrandom-ycorsetheadingrandom360]End運行看一下效果,在create-turtles前面加一行clear-all再為go按鈕添加一下代碼togoaskturtles[forward1]End運行看一下效果可以在clear-all后面添加:set-default-shapeturtles“circle”語句試著調(diào)節(jié)視圖的大小試著調(diào)節(jié)邊界條件Stepbystep打開Netlogo界面,添加2個按鈕仿真的基本框架初始化tosetup每一個仿真周期togo是否結(jié)束?結(jié)束對所有Turtle循環(huán)askturtles每個Turtle做出決策forward1是否仿真的基本框架初始化tosetup每一個仿真周期togoBoid模型在ModelsLibrary中Biology菜單下找到FlockingBoid模型在ModelsLibrary中Biology菜手動建立GameofLife手動建立GameofLifeTips新的對象:Patch(一個方格)對象的屬性:patches-own[x,y,…]Askpatches:對所有的patch對象循環(huán)Askturtles:對所有的Turtles對象循環(huán)set

living

count

neighbors

with[pcolor=black]living=0;foreachagentinneighbors{ifagent.pcolor==black{living=living+1;}}相當(dāng)于:Tips新的對象:Patch(一個方格)setlivin一個簡單生態(tài)系統(tǒng)一個簡單生態(tài)系統(tǒng)TipsTurtle可以在各個Patch上游走每個Turtle可以直接訪問Patch對象Observer對象:一個可以操縱全局的觀察者,例如PlotTipsTurtle可以在各個Patch上游走偏好依附模型每個周期添加一個節(jié)點這個節(jié)點將以較大的概率連接度數(shù)較大的節(jié)點調(diào)用Netlogo中的算法自動將網(wǎng)絡(luò)排序偏好依附模型每個周期添加一個節(jié)點TipsLinks(網(wǎng)絡(luò)連接):與Turtles,Patches并列的系統(tǒng)對象create-link-with:創(chuàng)建連接語句countlink-neighbors:計算當(dāng)前Turtle的連接數(shù)layout-spring按照一定的算法自動排布網(wǎng)絡(luò)節(jié)點TipsLinks(網(wǎng)絡(luò)連接):與Turtles,Patc更多的NetLogo模型更多的NetLogo模型“PartyModel”Abigpartywith10roomsBoysandgirlsdistributeindifferentroomsBoy(girl)feelsuncomfortableiftherearetoomanygirls(boys)TheymovetootherroomsWhatdistributionwillform?“PartyModel”AbigpartywithSegregationandPatternFormationTwotypesofpeoplelivinginacityEachpersoncanMovearoundwithinagivenrangeSettledownifthenumberofsametypeneighborsisbigenoughOtherwise,keepmovingPatternformationSegregationandPatternFormatThomasC.SchellingIn1960,hefoundthephenomenonofsegregationofblackandwhite.Onedayinflight,asimplegamewithcoinscameuphismindHeinventedthissegregationmodelHewonNobel’sprizein2005ThomasC.SchellingIn1960,heAToyModelofUrbanRoadNetworkGrowthThetrafficflowisdeterminedbytheroadnetworkThenetworkisshapedbyflowsinalongtimeGrowthofurbanroadnetworksCo-evolutionofroadnetworkandtrafficflowAToyModelofUrbanRoadNetwImplementationinNetlogoGivenagreenlandscapewithN*NcellsW:NumberofcarsevervisitingthiscellCarstravelaroundinthislandscape,acarwillrepeatthecellwithbiggerWmostlyexplorenewcellswithasmallprobabilityTheroadsthatneverbeenrepeatedaredeletedevery100timestepsImplementationinNetlogoGiven更多的Netlogo特征3D視圖JavaAppletHubNet更多的Netlogo特征3D視圖更多資源

NetLogo中文手冊AChineseversion/bbs/Modellibrary習(xí)慣NetLogo更多資源NetLogo中文手冊謝謝!謝謝!多主體建模工具Netlogo介紹張江北京師范大學(xué)管理學(xué)院系統(tǒng)科學(xué)系北師大復(fù)雜系統(tǒng)暑期學(xué)校2010多主體建模工具Netlogo介紹多主體模擬計算機模擬v.s.數(shù)學(xué)分析多主體模擬v.s.計算機模擬多主體模擬的特性:每個主體都是一個獨立的對象;主體運行于一個虛擬的宇宙主體之間可以通過相互作用產(chǎn)生涌現(xiàn)二個實例多主體模擬計算機模擬v.s.數(shù)學(xué)分析GameofLifeGameofLife生命游戲1970年,JohnConway提出了一個有趣的計算機程序:生命游戲這是一個方格世界,每個方格僅僅有黑、白兩種顏色生命游戲1970年,JohnConway提出了一個有趣的計生命游戲的規(guī)則想象一個外星空間存活者很多方格生命,如果一個方格是黑色的,那么這里就有一個生命,如果是白色的就沒有每個方格周圍都有8個鄰居生命游戲的規(guī)則想象一個外星空間存活者很多方格生命,如果一個方誕生規(guī)則如果某時刻,一個空方格(白色)周圍鄰居中有三個活的生命(黑色方格),那么該方格就會誕生一個新生生命(白色黑色)誕生規(guī)則如果某時刻,一個空方格(白色)周圍鄰居中有三個活的生死亡規(guī)則在某時刻,對于已經(jīng)占領(lǐng)某方格的生命體(黑色)只有當(dāng)它的鄰居中有2個或者3個是活的(黑色),它才會繼續(xù)存活,否則不是因為過分擁擠就是因為過分孤獨而死亡(黑色白色)死亡規(guī)則在某時刻,對于已經(jīng)占領(lǐng)某方格的生命體(黑色)只有當(dāng)它Boid模型Boid模型每只鳥的鄰域Abird’sNeighborhood每只鳥的鄰域Abird’sNeighborhood規(guī)則1——靠近Cohesion:steertomovetowardthe

averagepositionofneighbors規(guī)則1——靠近Cohesion:steertomove規(guī)則2——對齊Alignment:steertowardsthe

averageheadingofneighbors規(guī)則2——對齊Alignment:steertoward規(guī)則3——避免碰撞Separation:steertoavoid

crowdingneighbors規(guī)則3——避免碰撞Separation:steertoSwarmSwarmRepastRepastProcessingProcessingNetlogoNetlogoNetlogo的歷史Logo語言最早是為了樂高機器人玩具設(shè)計的,這些機器人被稱為:Turtle(海龜).之后,MitchelResnick,EricKlopfer等人把Logo語言擴展成為Star-Logo工具NetLogo是Star-Logo的最新版本NetLogo是一個很容以上手的高級建模玩具。Netlogo的歷史Logo語言最早是為了樂高機器人玩具設(shè)計一個簡單實例:氣體模型一個簡單實例:氣體模型Stepbystep打開Netlogo界面,添加2個按鈕setup和go,注意把go上面的Forever勾上選擇Procedure選項卡,編寫代碼寫下代碼:tosetupcreate-turtles50[setxyrandom-xcorrandom-ycorsetheadingrandom360]End運行看一下效果,在create-turtles前面加一行clear-all再為go按鈕添加一下代碼togoaskturtles[forward1]End運行看一下效果可以在clear-all后面添加:set-default-shapeturtles“circle”語句試著調(diào)節(jié)視圖的大小試著調(diào)節(jié)邊界條件Stepbystep打開Netlogo界面,添加2個按鈕仿真的基本框架初始化tosetup每一個仿真周期togo是否結(jié)束?結(jié)束對所有Turtle循環(huán)askturtles每個Turtle做出決策forward1是否仿真的基本框架初始化tosetup每一個仿真周期togoBoid模型在ModelsLibrary中Biology菜單下找到FlockingBoid模型在ModelsLibrary中Biology菜手動建立GameofLife手動建立GameofLifeTips新的對象:Patch(一個方格)對象的屬性:patches-own[x,y,…]Askpatches:對所有的patch對象循環(huán)Askturtles:對所有的Turtles對象循環(huán)set

living

count

neighbors

with[pcolor=black]living=0;foreachagentinneighbors{ifagent.pcolor==black{living=living+1;}}相當(dāng)于:Tips新的對象:Patch(一個方格)setlivin一個簡單生態(tài)系統(tǒng)一個簡單生態(tài)系統(tǒng)TipsTurtle可以在各個Patch上游走每個Turtle可以直接訪問Patch對象Observer對象:一個可以操縱全局的觀察者,例如PlotTipsTurtle可以在各個Patch上游走偏好依附模型每個周期添加一個節(jié)點這個節(jié)點將以較大的概率連接度數(shù)較大的節(jié)點調(diào)用Netlogo中的算法自動將網(wǎng)絡(luò)排序偏好依附模型每個周期添加一個節(jié)點TipsLinks(網(wǎng)絡(luò)連接):與Turtles,Patches并列的系統(tǒng)對象create-link-with:創(chuàng)建連接語句countlink-neighbors:計算當(dāng)前Turtle的連接數(shù)layout-spring按照一定的算法自動排布網(wǎng)絡(luò)節(jié)點TipsLinks(網(wǎng)絡(luò)連接):與Turtles,Patc更多的NetLogo模型更多的NetLogo模型“PartyModel”Abigpartywith10roomsBoysandgirlsdistributeindifferentroomsBoy(girl)feelsuncomfortableiftherearetoomanygirls(boys)TheymovetootherroomsWhatdistributionwillform?“PartyModel”AbigpartywithSegregationandPatternFormationTwotypesofpeoplelivinginacityEachpersoncanMovearoundwithinagivenrangeSettledownifthenumberofsametypeneighborsisbigenoughOtherwise,keepmovingPatternformationSegregationandPatternFormatThomasC.SchellingIn1960,hefoundthephenomenonofsegregationofblackandwhite.Onedayinflight,asimplegamewithcoinscameuphismindHein

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論