Step1: 基本模型
回顾一下基本模型的结构,在GAML中,一个完整的模型定义,包含三个部分:全局代理(global)、族群或网格(species and grid)、实验设置(experiment)。
Model Header
在GAMA中新建一个项目“Predator Prey",并在models文件夹新建一个模型文件,GAMA会自动生成一个模型名称,我们先将模型名称改成项目名:
model predator_prey接下来定义全局代理(global),全局代理包括全局变量以及模型的初始状态。
Global
global {
// 定义食草动物数量
int nb_preys_init <- 200;
//初始化
init {
//创建食草动物数量为nb_preys_init
create prey number: nb_preys_init;
}
}Species and Grid
然后定义食草动物(pred)和草(vegetation),这里我们将食草动物定义为族群(species)草定义为网格(grid),因为草地是承载食草动物行为的环境。
GAML中颜色的表示可以用#+颜色名表示,如#blue、#red 等(颜色列表可以查看官方文档)。也可以用三通道rgb(red,green,blue)表示,如rgb(255,255,255)。
Experiment
最后定义模型运行时的输入与输出。
至此一个有两种代理的基本模型构建完成,点击编辑窗口上方的绿色按钮,GAMA将会启动模拟界面,模拟界面由控制栏,参数调整栏,信息栏以及图形窗口组成。
控制栏:控制模拟的启动、暂停、退出等
参数调整栏:控制在experiment中定义的可调整参数
图形界面:显示在experiment中定义的图形输出

本节的完整代码如下:
接下来我们为不同的代理编写行为特征。
Last updated
Was this helpful?