2016-01-21 107 views
1

我有一個模型,創建一個網絡,並在setup中選擇種子節點,然後在go運行contagion進程。對於多次運行,我想避免重新生成網絡。如果我創建了兩個步驟full-setuppart-setup,是否有辦法令行爲空間首次執行full-setup,並且對於所有其他運行執行的行爲是part-setup行爲空間設置,去和之間

我想到ifelsebehaviorspace-run-number,但我不認爲我可以保證第一次運行是第一次打到處理器。

回答

0

如果將同時運行設置爲1將確保1是第一個擊中處理器。

另一種仍然使用同時運行的方法是手動運行一次,用nw擴展名(或只是導出世界和導入世界)保存您的設置並加載剩餘的運行。

+0

第一個將花費更多的時間來運行。我已經做了第二次,網絡是導入而不是生成的,但是發生了一些事情,我也想避免重做。這就是爲什麼我想要有兩個不同的安裝例程。但是,感謝這些建議,它們對於有這個問題的大多數人都很有用。 – JenB

+1

嗯,如何用'export-world'和'import-world'導出和導入整個世界狀態?請注意,我實際上並不知道nw擴展是否支持該功能,不過! –

+1

我可以看到的一件事情可能會導致'export-'/'import-world'問題,如果你依賴特定的網絡[context](https://github.com/NetLogo/NW-Extension#set-上下文)被設置。除此之外,我認爲它應該工作。 –

0

如何設置命令,如:

ifelse count turtles = 0 
    [ setup-full ] 
    [ setup-partial ] 

更換count turtles = 0有更合適的條件爲你的模型,如果需要的話。

我永遠不會記得從BehaviorSpace運行的重複使用世界狀態的確切語義,當它運行或不運行時。無論如何,這是一個值得懷疑的「功能」,可能會在未來版本的NetLogo中消失;見https://github.com/NetLogo/NetLogo/issues/105