首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在Jason (代理语言)中模拟动态行为

如何在Jason (代理语言)中模拟动态行为
EN

Stack Overflow用户
提问于 2015-06-29 13:10:06
回答 1查看 231关注 0票数 3

我是Jason (代理语言)的初学者,在Jason中使用多智能体模拟进行社会模拟项目。我刚开始学习Jason,所以我是这个声明式类型语言的初学者。我想模拟随时间变化的人的行为。

代码语言:javascript
代码运行次数:0
运行
复制
// the code statement might be
Like an agent have characteristics
Age=30 years
Marital status = unmarried
education= college
employment= unemployed
etc etc

现在我想虚拟模拟多个智能体,模拟20年。因此,基于已经定义的标准,我想知道代理人生活中发生了哪些转变(未婚向结婚,或从大学到大学的教育,或从失业到就业等)。

我需要关于在Jason中模拟的指导,如何处理?

感谢你们所有人

EN

回答 1

Stack Overflow用户

发布于 2015-08-29 14:06:59

在Jason中,您定义了agent相信什么以及agent有什么目标。还有一个实现这些目标的计划的概念。信念代表了智能体可用的信息。例如,根据智能体自身的信息,智能体的年龄是30岁。

代码语言:javascript
代码运行次数:0
运行
复制
age(30)[Source(self)].
Status(single)[Source(self)].

例如,agent认为它喜欢其他agent:

代码语言:javascript
代码运行次数:0
运行
复制
likes(anotherAgent).

目标表示代理想要实现的事务状态,例如,您的代理可能想要写一本书或找到一份工作:

代码语言:javascript
代码运行次数:0
运行
复制
!write(book).
!find(job).

除了这些目标之外,我们还可以定义测试目标来检查是否满足条件:

代码语言:javascript
代码运行次数:0
运行
复制
?married(A). 

AgentSpeak计划具有以下一般结构:

triggering_event : context <- body.

·其中:

  • 触发事件表示计划要处理的事件;
  • 上下文表示可以使用计划的情况;
  • 正文是在选择计划处理事件时上下文被认为为真的情况下用于处理事件的动作过程。

您应该定义计划,这些计划可以帮助将代理的状态从单身更改为已结婚或从失业状态更改为找到工作。例如,代理可能需要首先检查它是否认识某人,或者如果已经知道,代理应该检查它是否喜欢某人,或者您需要定义为选择合作伙伴的代理的偏好的任何其他规则。

有一个book可以帮助你开始:在Jason网站上也有一个active mailing list

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31108176

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档