3

我是 Jason(Agentspeak)的初学者,在 Jason 中使用多智能体模拟从事社会模拟项目。我刚开始 Jason,所以是这种声明性类型语言的初学者。我想模拟随时间变化的人们的行为。

// the code statement might be
Like an agent have characteristics
Age=30 years
Marital status = unmarried
education= college
employment= unemployed
etc etc

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

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

谢谢大家

4

1 回答 1

2

在 Jason 中,您定义了代理人相信什么以及代理人有什么目标。还有一个实现这些目标的计划概念。信念代表代理人可获得的信息。例如,根据代理人自己的信息,代理人的年龄为 30 岁。

age(30)[Source(self)].
Status(single)[Source(self)].

或者例如代理认为它喜欢其他代理:

likes(anotherAgent).

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

!write(book).
!find(job).

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

?married(A). 

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

triggering_event : context <- body.

• 在哪里:

  • 触发事件表示计划要处理的事件;
  • 上下文表示可以使用该计划的情况;
  • 如果在选择处理事件的计划时认为上下文是正确的,则主体是用于处理事件的操作过程。

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

有一本书可以帮助您入门: Jason 网站上还有一个活跃的邮件列表。

于 2015-08-29T06:06:58.543 回答