【发布时间】:2020-06-13 08:43:40
【问题描述】:
我正在阅读 Lamport、Shostak、Pease 的 The Byzantine Generals Problem 论文,并且我正在努力严格遵守演示。
我喜欢这篇论文,并且我认为我已经理解了它,但是有一段我不清楚。
也就是说概念很清楚,但细节不是我自己的问题。在这里,我正在寻求帮助以澄清我的想法。
本文是三将军解的构造。
证明是矛盾的,所以他们从假设 3m 将军(阿尔巴尼亚人)可以对付 m 个叛徒(他们是 3m 的一部分)开始。从 3m 或更少的将军开始,他们构建了一个解决拜占庭将军问题的解决方案,其中一个将军和两个中尉是不可能的,因此他们清楚地表明,对于少于 3m + 1 个将军处理 m 叛徒没有解决方案。
如何安排 3m 个将军组成三个子集,其中一个包含所有叛徒,这很容易。我的问题是文本的语言:
三将军解是通过让每个拜占庭将军模拟大约三分之一的阿尔巴尼亚将军得到的,因此每个拜占庭将军最多模拟m个阿尔巴尼亚将军。 拜占庭指挥官模拟阿尔巴尼亚指挥官加上最多m - 1个阿尔巴尼亚中尉(???),两个拜占庭中尉每人最多模拟m个阿尔巴尼亚中尉。由于只有一个拜占庭将军可以成为叛徒,并且他最多模拟m个阿尔巴尼亚人,因此最多有m个阿尔巴尼亚将军是叛徒。
我正在为这个文本而苦苦挣扎,因为我们正在与将军打交道。 在我看来,段落应该是:
- 从所有 3m 开始,阿尔巴尼亚将军形成 3 个阿尔巴尼亚将军子集 {A1,A2,A3},每个子集最多有 m 个将军。一个子集 (A1) 包含所有叛徒(即 m)
- 将阿尔巴尼亚将军的 3 个子集 {A1, A2, A3} 映射到 3 个拜占庭将军 {g1, g2, g3}。拜占庭将军 g1 表示包含所有叛徒的子集 A1。因此 g1 是叛徒,并且根据构造,它们不能超过 m。另外两组包含忠诚的阿尔巴尼亚将军。
- 给定文本中的条件 1' 和 2,以及派生的 IC1、IC2,将将军 g2、g3 映射到副官 t1、t2。
以这种方式摆姿势非常简单。然而,文本中使用了诸如指挥官 (?)、阿尔巴尼亚中尉 (?) 等术语,在几行中混杂在一起。可能结构比我的更一般。我的观点 (2.) 假设正好是 m 个叛徒。也许他们没有做这个假设?
有了更一般的假设,我们可能会提出不同的看法。让我们用 n 作为阿尔巴尼亚将军的人数。鉴于我们正在为 n 一般构建一个解决方案,使得
- n = l + m(忠诚的g.和叛徒g.)
- n
- |A1| + |A2| + |A3| = n
- |A1|
- A1 中的所有 m (?)
然后 |A1| = 米。
考虑到论文的想法,我担心有些东西我没有掌握,我正在寻求帮助:
- 阿尔巴尼亚语集合的初始组成是什么?有多少将军和多少副官(为什么要把副官放在这个建设点上)?
- 他们所说的指挥官是什么意思?将军加中尉?
- 结构比我的更一般吗?
也许,这是一个非常愚蠢的问题,但我在这里有点迷茫。
【问题讨论】:
标签: consensus