FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

更新 分布式算法 · pascalcpp/PassJava-Learning@0287c4f · GitHub

Commit 0287c4f

Browse files
committed
更新 分布式算法
1 parent c1c9907 commit 0287c4f

4 files changed

Lines changed: 65 additions & 1 deletion

File tree

67.9 KB
LoadingViewer requires iframe.

‎docs/92.分布式/03.分布式算法.md‎

Lines changed: 65 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,4 +84,68 @@
8484

8585
**获胜条件:**先消灭反贼和忠臣,最后与主公单挑成为最后唯一生还者。
8686

87-
**技巧:**正确的战术+ 冷静的头脑+ 运气。
87+
**技巧:**正确的战术+ 冷静的头脑+ 运气。
88+
89+
## 还原拜占庭问题
90+
91+
东汉末年,袁绍作为盟主,汇合了十八路诸侯一起攻打董卓。把董卓定为反贼,袁绍定为主公,另外有两个忠诚和一个内奸,就选这三个风云人物:曹操,刘备,孙坚(孙权的爸比),内奸扮演的角色是忠臣,主公和两个忠臣不知道内奸的身份,都当作忠臣对待了。
92+
93+
![](http://cdn.jayh.club/blog/20201208/8dJjm4RYcquf.png?imageslim)
94+
95+
董卓是非常强大的,拥有精良的西凉兵,麾下还有战神吕布。大家都知道三英站吕布的故事,吕布以一已之力对阵刘备、张飞、关羽三人。
96+
97+
要想干掉董卓,袁绍必须统一忠臣的作战计划,三位忠臣还不知道有什么其他花花肠子,有一个还是内奸。如果内奸暗通反贼董卓,给忠臣发送误导性的作战信息,该怎么办?另外假定这几个忠臣都是通过书信交流作战信息,如果书信被拦截了或书信里面的信息被替换了咋办?这些场景都可能扰乱作战计划,最后出现有的忠臣在进攻,有的忠臣撤退了。那么反贼就可以乘此机会发起进攻,逐一攻破。
98+
99+
袁绍本来就没有曹操的机智,那他**如何让忠臣们达成共识,制定统一的作战计划呢?**
100+
101+
上面的映射关系就是一个拜占庭将军问题的一个简化表述,袁绍现在面临的就是典型的**共识问题**。也就是在可能有误导信息的情况下,采用合适的通讯机制,让多个将军**达成共识**,制定一致性的作战计划。
102+
103+
## 一方选择撤退
104+
105+
刘备、曹操、孙坚通过**信使**传递进攻或撤退的信息,然后进行协商,到底是进攻还是撤退。遵循少数服从多数,不允许弃权。
106+
107+
曹操疑心比较重,侦擦了反贼的地形后,决定撤退。而刘备和孙坚决定进攻。
108+
109+
- 曹操决定撤退。
110+
111+
- 刘备和孙坚决定进攻。
112+
113+
![](http://cdn.jayh.club/blog/20201208/c0t4Va2ofaQA.png?imageslim)
114+
115+
曹操收到的信息:进攻 2 票,自己的一张撤退票,票数一比,进攻票:撤退票 = 2 : 1,按照上面的少数服从多数原则进行投票表决,曹操还是会进攻。那么三方的作战方案都是进攻,所以是一个一致性的作战方案。最后战胜了董卓。
116+
117+
## 内奸登场-撤退
118+
119+
因为我们前期的设定,孙坚作为内奸,早已与反贼董卓私下沟通好了,不攻打董卓。
120+
121+
- 曹操决定撤退。
122+
123+
- 刘备决定进攻。
124+
- 孙坚决定撤退。
125+
126+
127+
128+
129+
130+
![mark](http://cdn.jayh.club/blog/20201208/JyLdDEQ4lCch.png?imageslim)
131+
132+
刘备收到进攻和撤退各一票,而自己又选择撤退,所以刘备得到的票数是:进攻 : 撤退 = 1 : 2,遵从少数服从多数的原则,刘备选择最后选择撤退,那么三方的作战方案都是撤退,所以也是一个一致性的作战方案。
133+
134+
## 内奸使诈
135+
136+
内奸看了上述计划,发现忠臣都撤退了,并没有被消灭,就想通过使诈的方式来消灭其中一个忠臣。
137+
138+
139+
140+
![mark](http://cdn.jayh.club/blog/20201208/77Bedxux7FMT.png?imageslim)
141+
142+
143+
144+
145+
146+
147+
148+
149+
150+
151+
43.6 KB
LoadingViewer requires iframe.
40.6 KB
LoadingViewer requires iframe.

0 commit comments

Comments
 (0)

Back | FazBrowse Home | New Git URL