Links
图标

说明
- 关于Link概念和理解请阅读基本概念和实体章节
- 关于基本建模操作参见相关章节
- 关于Link内置属性和内置行为的技术细节参见相关章节
- 关于关系网络及与Agent交互的内容参见实体间交互章节
- 关于创建Link自定义行为的建模方法和规则详见流程章节
- 关于Link网络的可视化呈现详见网络视图章节
要点
理解"网络"就是Link种群集合
- 一个Link网络的"节点"对应Agent个体,连边即为Link个体(它的两端是Agent个体)
- 系统并不存在一个具体的"网络"对象
- 网 络的"节点"不是具体的对象,只是代表连接几何关系的交汇位置,Agent个体只是占据网络中的这个位置
- 网络的连边是具体的Link对象,
Ends内置属性以[start_agent_object, end_agent_object]格式记录了其两个端点的Agent个体对象 - Link具备了"网络"的完整信息:所有节点和连边
与其他对象的关系
- 如果一个Agent个体是网络的某个节点,那么如果销毁该Agent(即调用其Die方法)时,网络的节点也将随之消失,与该节点连接的所有Link个体也将消亡,这些网络关系的变化都会体现在网络视图中
- 删除网络节点(即调用某Link种群观察者行为RemoveNode,传入目标Agent个体对象)时,不会影响原本作为该节点的Agent个体本身的存在(比如它仍然在世界视窗中),但与之相关的Link个体将会消亡,这些网络关系的变化都会体现在网络视图中
- 显然,当模型中不存在Link组件时,相关的逻辑(如创建Link等)将触发运行报错
- 可以在“技术说明”章节的说明表中获得依赖Link实体的内置属性和内置行为的相关详细信息
Link对象的设置方法

方向性设置
- 可选择Link是单向还是双向
- 当Link为双向时,
Ends内置属性(格式为[start_agent_object, end_agent_object])的起点与终点顺序无实际意义
可重复性设置
- 设置为
False(默认,不可重复)时,两个Agent个体间的相同方向、相同实例种群的Link只能有唯一的一条,如果在建模中再次创建,系统会忽略
例子:不可重复Link
假设模型有1个名为LK1 的单向的、不可重复的Link实例对象
- 如果一个A->B的单向Link已经存在,我们可以创建一个反向的,即B->A的单向Link,此时2个Agent之间有2个单向关系,都属于LK1种群
- 但是如果用户再次创建A->B的LK1连接,系统将忽略
- 设置为
True时可以重复,意味着方向性质完全相同的Link可以有多条,允许用户在建模中多次创建相同断点的关系
例子:可重复Link
假设模型有1个名为LK2的双向的、可重复的Link实例对象
- 如果有一个A与B间的双向Link已经存在,我们可以再次创建A与B间的双向Link,此时A与B间的LK2连接有2个
除非您对Link使用熟练,否则不建议使用可重复设置
个体属性设置

设置方法与Agent个体属性设置类似
案例
模型案例
User个体随机与他人创建Link从而形成一个网络
所以你可以多试几次得到不同形状的网络