生命游戏(Anylogic实现)

您所在的位置:网站首页 康威生命游戏B3S23 生命游戏(Anylogic实现)

生命游戏(Anylogic实现)

2024-06-22 09:46| 来源: 网络整理| 查看: 265

Anylogic 实现生命游戏建模 生命游戏模型简介阶段 1 :建立新的智能体人口阶段1 步骤1阶段1 步骤2阶段1 步骤3阶段1 步骤4 阶段 2 :添加生存规则阶段2 步骤1阶段2 步骤2阶段2 步骤3 阶段3 : 加入鼠标操作

生命游戏模型简介

生命游戏模型是一个二维的正交网络细胞模型,每一个细胞只有两种状态: 活着或者死亡。每个细胞和它相邻的八个细胞相互影响,在每一步智能体移动时:  如果一个活着的细胞周围少于 2 个邻居,则因为孤单死亡  如果一个活着的细胞周围有 2~3 个邻居,则存活到下一轮迭代  如果一个活着的细胞周围多于 3 个邻居,则因为拥挤死亡  任意一个死去的细胞周围正好有 3 个活着的细胞时,则会复活

阶段 1 :建立新的智能体人口

已知条件如下:  智能体群名字为 cells,每个智能体名字为 Cell  共有 10000 个细胞  初始状态有 20%的细胞是活着的

阶段1 步骤1

 打开常规面板,拖动智能体到图中  Step1 中选择“Population of agents”  Step2 中命名智能体群为 cells,每个智能体为 Cell  Step3 中选择 2D 为智能体的动画图形  Step5 中设置智能体数量为 10000  Step6 中选择离散的空间类型,空间为 500 * 500,Cells 为 100 * 100  点击完成 在这里插入图片描述

阶段1 步骤2

 打开 Cell 智能体,从常规面板拖动一个变量到图中  指定变量名称为 alive,类型为 boolean,初始值为 randomTrue(0.2)  从演示面板拖动一个矩形到图中,位置在原点,按图示设置矩形的填充颜色为alive?mediumBlue:lavender,线条颜色设为无颜色,大小为 4*4

randomTrue(0.2) alive?mediumBlue:lavender

请添加图片描述

阶段1 步骤3

 回到 Main,打开 cells 的属性  在“高级”选项卡中,选择“Show presentation” 在这里插入图片描述

阶段1 步骤4

 运行模型,查看智能体 Cell 的初始存活状态在这里插入图片描述

阶段 2 :添加生存规则

添加一个 naliveneighbors 变量来计算每个 Cell 周围的智能体数,通过邻居的数量来判断是否存活,间接改变该 Cell 的颜色。

阶段2 步骤1

 点击 Main,进入智能体类型界面  在“空间和网络”选项中,勾选“启用分步” 请添加图片描述

阶段2 步骤2

 打开 Cell,拖动另一个变量到图中  更改名称为 naliveneighbors,类型为 int  打开 Cell 的智能体类型界面,在“每步前”键入:

naliveneighbors=0; for(Agent a:getNeighbors()) if(((Cell)a).alive) naliveneighbors++;

 在“每步时”键入:

alive = alive && ( 2


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3