基于可供性的交互建模与奖励对象分割方法
1. 基于可供性的交互建模实现
1.1 平台选择与环境模型
在实现基于代理的模拟时,选择了 SeSAm 作为平台。SeSAm 是一个可视化编程、快速原型开发平台,用于开发和运行基于代理的模拟。代理行为基于受 UML 启发的活动图进行制定,活动由一系列与 Java 代码链接的动作组成。
环境模型方面,环境由一个连续地图构成,在该地图上放置离散的环境实体以形成特定情境。环境实体具有类型(类),例如地面瓷砖、树木、长椅或墙元素等,这些对象具有不同的属性来描述相关特性,比如长椅在阴影中的比例等。
1.2 具备可供性的代理
定义了公园访客代理类,其属性描述了阴影环境或步行距离对单个代理的重要性。代理还拥有基本的知识结构,包括:
- 代理可能在公园中想要执行的活动列表,例如 {吃午餐、日光浴等}。这些活动与小型行为程序相关联,在程序中代理与给定实体进行交互。
- 可供性模式列表
可供性模式是一个复合数据结构,包含以下元素:
1. 可供性模式相关的代理类。
2. 关联活动的名称。
3. 在模拟期间可供性建立关系的实体类。
4. 以函数调用形式存在的约束条件,返回布尔值,若实体合适则为 true,否则为 false。
5. 优先级函数,以代理和实体为参数并返回一个数字。
当代理进入公园时,会先对在公园中可以做的事情做出预决策。然后,代理选择适合其预期活动的可供性模式,并使用该模式生成将合适的环境实体与活动连接起来的可供性。如果没有生成可供性,代理需要在公园中寻找替代活动。可供性模式还包含计算优先级等功