日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

红军协同对抗蓝军问题

發布時間:2023/12/20 编程问答 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 红军协同对抗蓝军问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在網絡協議中,有這樣一個經典問題:

紅軍協同對抗藍軍問題:

處于兩地的紅軍A與紅軍B要與藍軍作戰,但單獨的紅軍A或紅軍B打不過藍軍,而紅軍A與紅軍B聯合對抗藍軍則100%取得勝利。

于是紅軍A與紅軍B需要商議在何時進攻,但由于無線網絡信號質量很差,無法確保紅A與紅B發出的消息能夠送達對方,在此情境下,能否設計出一種可靠的通信協議使得紅軍一定取得勝利(即通信信道不完全可靠的情況下,設計出完全可靠的通信協議)。

分析

請求確認

假定紅A計劃與紅B在次日凌晨2點共同向藍軍發起攻擊,紅A必定要向B發送請求進攻報文“次日2點進攻藍軍”,但是由于通信信道的不可靠性,紅B必須向紅A發送一個確認報文。
在這種協議下,對紅A來說,是否發動攻擊取決于有沒有收到B的確認報文,而對于紅B來說,是否發動攻擊取決于有沒有收到紅A的請求進攻信號,如圖所示:

而在該協議中紅B并不知道紅A有沒有收到確認報文,假如紅B的確認報文丟失,紅A只能等待,而紅B單獨進攻藍軍,最后失敗告終。

確認的確認

為了解決該問題,即需要讓紅B知道紅A已收到確認報文,在原來協議的基礎上增加:紅A收到確認報文后向紅B發送“確認的確認”。
在這種協議下,對紅A來說,收到紅B的確認報文后決定發起進攻,而對紅B來說,在收到“確認的確認”報文后決定發起進攻。

但實際上“確認的確認”報文也可能丟失,而紅A并不知道B是否收到了“確認的確認”,因此,如果“確認的確認”丟失,會導致紅A單獨作戰。

……

為解決以上問題,需紅B再次發送對“確認的確認”的確認報文,但這同樣會導致相同的問題,無限循環下去。

總結

在不可靠通信信道上無法設計出一種完全可靠的通信協議,因為對最后一次確認報文的發送,發送方無法知曉接收方是否收到,因而發送方無法判定約定是否有效。

總結

以上是生活随笔為你收集整理的红军协同对抗蓝军问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。