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中定义的图形输出

4.1.1 GAMA窗口的模拟界面

本节的完整代码如下:

接下来我们为不同的代理编写行为特征。

Last updated

Was this helpful?