【问题标题】:How to make a simulation of a dynamic behavior in Jason (Agentspeak)如何在 Jason (Agentspeak) 中模拟动态行为
【发布时间】:2015-09-15 11:21:45
【问题描述】:

我是 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 模拟的指导,如何处理?

谢谢大家

【问题讨论】:

标签: artificial-intelligence agent agent-based-modeling


【解决方案1】:

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

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

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

likes(anotherAgent).

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

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

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

?married(A). 

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

triggering_event : context <- body.

• 其中:

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

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

有一个book 可以帮助您入门: Jason 网站上还有一个活跃的mailing list

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-28
    • 2015-03-29
    • 2018-11-11
    • 2012-05-13
    • 1970-01-01
    • 1970-01-01
    • 2020-03-13
    • 1970-01-01
    相关资源
    最近更新 更多