具有多个代理的面向目标的行动计划

人工智能 人工智能设计 智力测验 游戏-ai 多代理系统
2021-11-13 23:34:03

我有点卡住了:

我用 GOAP(面向目标的行动计划,http://alumni.media.mit.edu/~jorkin/gdc2006_orkin_jeff_fear.pdf)为模拟游戏实现了一个 AI。这很好用。

现在我希望代理人可以合作(例如一起行动)。在这种情况下,GoapActions 保持松散对联的最佳 AI 设计是什么?

他们应该一起计划吗?(在这种情况下,“世界国家”是什么?)或者他们应该分享他们的计划吗?

示例
Agent1:Worldstate Agent 1:isLonely= true
目标 Agent1:isLonely = false

计划 Agent1:AskAgent2ToTalk -> TalkToAgent2

Agent2 Worldstate Agent 2: hasWood = false
目标 hasWood = true

计划 Agent2:GetAxe -> ChopWood -> BringWoodToSupply

我怎么得到这个星座?

Agent1 计划:TalkToAgent2
Agent2 计划:TalkToAgent1 -> GetAxe -> ChopWood -> BringWoodToSupply

或者,如果他们正在说话并且其中一个代理被打断(例如被攻击的敌人),另一个代理必须知道他的 TalktoAgent2 动作已经结束。

1个回答

今晚我受到这篇论文的启发:http ://www.dphrygian.com/bin/David-Pittman-GOAP-Masters-Thesis.doc

(GOAP 与命令和控制模式配对)

您如何看待这个解决方案?

每个目标都有相关性(取决于代理的需求)

当agent1 处理“AskAgent2ToTalk”Action 时,它只向agent2 发送一个目标推荐。显式意味着:代理仅发送每个目标相关性的修饰符列表(在这种情况下,它可能是“SocialInteraction”目标的奖励。值取决于代理之间的关系)和推荐目标。

如果 agent2 的期望目标是推荐目标,则 agent 重新计划。