前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >The asynchronous backtracking algorithm (ABT) 算法

The asynchronous backtracking algorithm (ABT) 算法

作者头像
mwangblog
发布2020-02-11 17:23:01
7260
发布2020-02-11 17:23:01
举报
文章被收录于专栏:mwangblogmwangblog

Asynchronous backtracking (ABT) 算法假设所有智能体(agent)都有各自的优先级(priority)。网络中每个智能体都知道自己的“上级”和“下级”都是哪些agent。

智能体知道他们自己的值,并且将这些值发送给自己的下一级智能体。所有的智能体都在等待消息,并回复消息。智能体每次更改自己的值后,都把自己的新值发送给自己的下一级智能体。每个智能体收到消息后,都要做出相应的反应。

下面是ABT算法的伪代码:

  • 收到Ok?信号。当智能体收到Ok?信号时,该智能体会将信号内容添加到自己的记录表agent_view中。并检查自己的值(check_agent_view)。
  • 收到Nogood信号。把Nogood信号内容添加到Nogood表中。如果发给自己Nogood信号的智能体不是自己的领居,就把该Nogood信号内容添加到记录表agent_view中,并将其作为自己的领居。检查自己的值(check_agent_view)。
  • 检查值过程(check_agent_view)。当智能体目前的值与记录表agent_view中的值无法一致(consistent)时,为自己选一个可以一致的值,并将新值已Ok?信号的方式发送到下级;如果无法找到这种值,就进入回溯(backtrack)过程。
  • 回溯过程(backtrack)。如果Nogood表是空的,那么广播通知其他智能体无解,然后终止程序;否则,从Nogood表中选择优先级最低的智能体,发送Nogood信号给它,将此Nogood从agent_view表中移除,检查自己的值(check_agent_view)。
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-12-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 mwangblog 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档