兩個將軍的問題

什麼是兩個將軍的問題?

《兩位將軍的問題》就像一個故事中的拼圖,講述了兩位領導人需要制定相同的計劃,但無法直接交談。相反,他們發送消息,但由於這些消息可能會丟失或被敵人捕獲,因此他們永遠無法完全確定另一個人得到了計劃。這是一個很大的問題,它讓人們思考,當我們的溝通方式並不完美時,我們如何確定某件事。

這是另一種想像方式:想像一下,你試圖在另一個房間里和朋友一起玩遊戲,在門下傳遞音符,但你無法確定是否所有的音符都通過了。你們倆都需要就遊戲中的下一步行動達成一致,但在不知道對方是否閱讀了您的筆記的情況下,你們不斷發送越來越多的筆記。當計算機科學家希望讓計算機以一種可以確保相互理解的方式相互通信時,即使他們的一些“筆記”消失了,他們也會考慮這個問題。

關鍵參數

  • 信任問題:這個問題讓我們質疑,當我們獲取資訊的方式不可靠時,我們是否以及如何建立信任。如果您無法確定您的朋友是否收到了您的遊戲筆記,您怎麼能相信他們已經準備好進行下一步行動呢?

  • 溝通的不確定性:如果您向朋友回信說您收到了他們的消息,但他們不知道您收到了,那麼您又陷入了疑惑。這種試圖確保每個人都在同一頁面上的無休止迴圈表明,在一個消息可能無法通過的世界裡,要完全確定是多麼困難。

  • 無限回歸:每次嘗試確認已收到消息時,您實際上都需要另一次確認。這就像一個永無止境的確認階梯,讓人無法到達山頂說:“好了,現在我們準備好了!

答案或解決方法

兩位將軍的問題沒有明確的答案或解決方案。這是一個謎題,它向我們展示了當我們不能依賴我們的資訊總是通過時,我們能做的事情的局限性。無論將軍們(或你和你的朋友傳遞筆記)嘗試確認計劃多少次,從來沒有一刻雙方都可以 100% 確定對方已經準備好了。這就是為什麼當資訊不完全可靠時,製造計算機系統和網路的人必須考慮新的方法來做出決策。

主要批評

有人說,兩將軍問題只是一個想法,並不是真正經常發生的事情。它們表明,在現實中,我們的系統通常足夠可靠,我們不需要太擔心這個問題。但是,此示例對於理解計算機科學中可能出現的各種問題仍然很有用,即使它不是我們每天都需要解決的問題。

實際應用

儘管它是一個理論,但兩個將軍的問題幫助我們理解計算機科學中的真正問題。當不同地方的計算機需要協同工作,但它們發送的消息可能會消失或被破壞時,我們需要創建能夠處理這種不確定性的系統。

  • 區塊鏈技術:區塊鏈使用一種稱為工作量證明的特殊規則來確保所有計算機(“將軍”)都同意正在發生的事情(“作戰計劃”)。這就像確保每個人都同意在遊戲中採取什麼行動,即使不是所有的音符都通過。

  • 拜占庭容錯 (BFT):這是另一個棘手的問題,即使是一些 「將軍」 也可能試圖用壞消息來搞砸事情。BFT 就像一套規則,即使有人試圖通過傳遞虛假筆記來作弊,也可以幫助遊戲保持公平。

  • 計算機網路:InTernet 使用稱為 TCP 的東西來確保消息從一台腦傳輸到另一台電腦,即使 Internet 並不完美。它沒有解決兩個將軍的問題,但它減少了它的擔憂,因此我們仍然可以在線玩遊戲,消息消失的可能性很小。

結論

“兩位將軍的問題”是一個重要的思想,因為人們很難信任我們發送和接收的資訊。它沒有給我們一個直接的答案,但它教會我們思考當事情不完美時我們如何做出決定。

儘管在某些情況下我們不能 100% 確定,但這個問題導致了新的方法,可以確保我們的數位世界即使在通信不完美的情況下也能很好地運行。這很重要,因為它激發了使計算機和網路更加可靠和安全的更好方法。因此,即使我們無法戰勝雙將軍問題,我們也從中吸取了教訓,並使我們的“數位將軍”更聰明地共同制定計劃。

為什麼它很重要

《兩位將軍的問題》似乎只是一個有趣的故事,但它對我們的日常生活產生了重大影響。當您向朋友發送消息或在線購買商品時,您依賴於需要可靠的技術。為此類問題創建的解決方案使這些日常行動成為可能,我們甚至無需考慮它。

例如,如果您正在玩在線遊戲,您希望您的動作能夠無縫地與他人共用。確保這種順暢溝通的基礎來自於理解和解決像 Two Generals' Problem 這樣的複雜問題。銀行、在線商店甚至社交媒體都依賴於由於這些理論問題而開發的消息共享系統的安全性和可靠性。這意味著受兩將軍問題影響的幕後工作是確保當您點擊「發送」或「購買」時,數位世界正在正確傾聽和回應。

相關主題

  • 共識演算法:這些是計算機系統用來在分散式進程或系統之間就單個數據值或網路的單個狀態達成協議的規則。他們對於確保系統的所有部分都一致一致至關重要,就像“將軍”需要就攻擊計劃達成一致一樣。

  • 可靠的消息傳遞:這是為了確保消息到達它們應該去的地方,即使出現互聯網連接不良或停電等問題。這就像在傳遞筆記不起作用時有一個備份計劃。

  • 加密協定:這些是使用數學和密碼來保護通信的方法。他們做到了,即使有人捕捉到了一個 「資訊」,他們也無法理解它,除非他們應該理解。將此視為將您的筆記寫在只有您的朋友才能閱讀的密碼中。