拜占庭將軍問題
起源
拜占庭位于現(xiàn)在土耳其的伊斯坦布爾,是東羅馬帝國的首都。由于當(dāng)時(shí)拜占庭羅馬帝國國土遼闊,為了防御目的,因此每個(gè)軍隊(duì)都分隔很遠(yuǎn),將軍與將軍之間只能靠信差傳消息。
在戰(zhàn)爭的時(shí)候,拜占庭軍隊(duì)內(nèi)所有將軍和副官必需達(dá)成一致的共識,決定是否有贏的機(jī)會才去攻打敵人的陣營。但是,軍隊(duì)可能有叛徒和敵軍間諜,左右將軍們的決定,擾亂軍隊(duì)整體的秩序。在進(jìn)行共識時(shí),結(jié)果并不代表大多數(shù)人的意見。這時(shí)候,在已知有成員謀反的情況下,其余忠誠的將軍在不受叛徒的影響下如何達(dá)成一致的協(xié)議,拜占庭問題就此形成。
兩軍問題
軍隊(duì)與軍隊(duì)之間分隔很遠(yuǎn),傳訊息的信差可能在途中路上陣亡,或因軍隊(duì)距離,不能在得到消息后即時(shí)回復(fù),發(fā)送方也無法確認(rèn)消息確實(shí)丟失的情形,導(dǎo)致不可能達(dá)到一致性。在分布式計(jì)算上,試圖在異步系統(tǒng)和不可靠的通道上達(dá)到一致性是不可能的。因此對一致性的研究一般假設(shè)信道是可靠的,或不存在異步系統(tǒng)上而行。
可能的解決辦法
N:計(jì)算機(jī)總數(shù)
F:有問題計(jì)算機(jī)總數(shù)
信息在計(jì)算機(jī)間互相交換后,各計(jì)算機(jī)列出所有得到的信息,以大多數(shù)的結(jié)果作為解決辦法。
條件
在 N ≥ 3F + 1 的情況下一致性是可能解決。
例子
有四部計(jì)算機(jī),全部正常。
N = 4,F(xiàn) = 0:
4 ≥ 3(0) + 1 是成立,故能得到一致性。
有四部計(jì)算機(jī),其中一部是有問題的。
N = 4,F(xiàn) = 1:
4 ≥ 3(1) + 1 是成立,故仍然能得到一致性。
注:有問題計(jì)算機(jī)的總數(shù)可能在交換訊息時(shí)上升:
N = 4,F(xiàn) = 2:
4 ≥ 3(2) + 1 是不成立,故不能得到一致性。
免責(zé)聲明:以上內(nèi)容版權(quán)歸原作者所有,如有侵犯您的原創(chuàng)版權(quán)請告知,我們將盡快刪除相關(guān)內(nèi)容。感謝每一位辛勤著寫的作者,感謝每一位的分享。
- 有價(jià)值
- 一般般
- 沒價(jià)值
{{item.userName}} 舉報(bào)
{{item.time}} {{item.replyListShow ? '收起' : '展開'}}評論 {{curReplyId == item.id ? '取消回復(fù)' : '回復(fù)'}}
{{_reply.userName}} 舉報(bào)
{{_reply.time}}