拜占庭将军问题(四)——非全连接下的算法演变

本文探讨了在将军们无法全部直接通信的条件下,如何扩展OM(m)和SM(m)算法来解决拜占庭将军问题。通过建模将军之间的通信网络,并引入正则邻居集的概念,证明了在特定条件下,算法OM(m, p)和SM(m+d-1)能够有效处理叛徒并确保命令的一致性。" 112944351,10542362,Nodejs 使用 sequelize 进行数据库操作,"['Node.js', '数据库', 'sequelize', 'SQL']
摘要由CSDN通过智能技术生成

前面几篇文章介绍了解决拜占庭将军问题的算法——**OM(m)算法和SM(m)**算法。但这个两种算法都是在一个将军能够直接与所有其他将军通信的情况下,进行讨论的。这篇文章将移除这个假设,阐述并非所有的将军都能直接通信的情况下,拜占庭将军问题算法的演变。

拜占庭将军

建模

所有将军组成一个有限简单无向图,图的两个节点的边以为着这两个将军可以直接发消息。现在将**OM(m)算法和SM(m)**算法从全连接的图扩展到多连接的图。

正则邻居集

为了扩展算法,定义如下概念

定义 1.
(a) 节点的集合 { i 1 , . . . , i p } \{i_1, ..., i_p\} { i1,...,ip}被称作节点 i i i的正则邻居集,如果满足:

(i) 每个 i j i_j ij是节点 i i i的邻居;
(ii) 对于每个不同于 i i i的节点 k k k,存在开始于 i j i_j ij且不经过 i i i的路径 r j , k r_{j,k} rj,k,且任意两个不同的路径除了 k k k之外没有公共节点。

(b) 图 G G G是一个***p-正则***的,如果每个节点都拥有包含 p p p个不同节点的正则邻居集。

如下图所示,图6是一个3-正则图,而图7不是3-正则图,因为中心的节点不存在包含3个节点的正则邻居集。

3-正则图

OM(m)算法扩展

现在将**OM(m)**算法进行处理,来解决如果 3 m 3m 3m-正则的图 G G G中存在 m m m个叛徒的情况。

注: 3 m 3m 3m-正则的图至少包含 3 m + 1 3m+1 3m+1个节点。

算法描述

对于正整数 m m m p p p,当图 G G G p p p-正则的是,定义算法OM(m, p)

算法: OM(m, p)

(0) 选取司令的一个正则邻居集 N N N,其中 N N N包含 p p p个副官;
(1) 司令发送他的值给 N N N中的每个副官;
(2) 对于 N N N中的每个 i i i,令 v i v_i vi为副官 i i i从司令接收到的值;如果没有从司令收到指令,默认选择RETREAT。副官 i i i发送 v i v_i vi给每个其他的副官 k k

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值