2021年4月23日金曜日

ビザンチン将軍問題は、オスマン将軍問題に改名したほうがいい気がします

 ビザンチン将軍問題は、オスマン将軍問題に改名したほうがいい気がします、という話。長いよ。

計算機科学の分野の問題の一つに、「ビザンチン将軍問題」というのが、あるのです(リンクは、Wikipediaです。)
初めて、私が読んだ専門書では、この問題は、こんな感じの説明でした。
「ビザンチン帝国の軍隊が、とある敵国の都市を包囲している。包囲しているビザンチン帝国軍は、n個の軍団によって構成されていて、各軍団は、それぞれ、1人の将軍によって率いられている。帝国軍は、包囲している都市の攻撃を続行するか、それとも、撤退するか、を決めなくてはならない。もし、帝国軍全体で協力しあって攻撃したら、敵の都市を攻め落とすことができる。また、帝国軍全体で、協力しあって撤退作戦を行えば、犠牲を出さずに撤退することができる。ただし、一部の軍団だけが攻撃を続行し、残りの軍団が撤退しようとする、というようなことになれば、帝国軍は、敵に打撃も与えられず、被害だけを出し、戦争は敗北することになる。将軍たちは、攻撃か、撤退か、軍の全体の統一した方針を決めなくてはならない。無事に、全体で攻撃か撤退か、全軍で統一した行動が取れれば、将軍たちの勝ち、統一した行動を取れない軍団が出てくれば、将軍たちの負け、である。
ただし、問題点が2つある。
1,各将軍は、それぞれの率いる軍団を離れることはできない。したがって、全員で一箇所で会って話し合うのではなくて、お互いに手紙を出し合うことで、合意に至らなくてはならない。
2,将軍たちの中には、裏切り者がいる。裏切り者の将軍は、全体の統一した意思決定を妨害しようとするために、他の将軍に嘘の手紙を書くことがある。」
もちろん、計算機学者は、別段、ビザンチンの将軍の歴史の話に興味があるわけではありません。これは、コンピュータネットワークで、一部のコンピュータに故障が発生した場合にも、コンピュータネットワーク全体が、正常に動作を続けられるようにするにはどうしたらいいか、ということを考えるために、レスリー・ランポートという計算機学者が考えた例なのです。この例題の中の裏切り者の将軍は、故障したコンピュータの比喩で、また、例の中のビザンチン帝国軍は、ネットワーク全体の比喩なのです。計算機科学の世界には、このビザンチン将軍問題を解決するためのさまざまなアイデアがあります。
さて、この話を読んでから、ずっと疑問に思ってきたことがあるのです。それは、「ビザンチン将軍問題」に相当するような、ランポートの元ネタになるような戦争は、歴史上、どこかにあったのだろうか、ということでした。
複数の軍団が、お互いに会うこともできないほどの距離に布陣しないと包囲できないような都市、となると、かなり巨大な都市のはずです。ウィーンとか、ローマとか、おそらく、かなり大きな、つまり、現在でも有名な都市、でしょう。そんな巨大な都市を、ビザンチン帝国軍が包囲して、しかも、裏切り者がいて、そういう戦争というのは、歴史上、どこかであったのでしょうか?
先日、ネットフリックスの歴史ドキュメンタリー「オスマン帝国」を見ました。オスマン皇帝のメフメトの軍隊がコンスタンチノープルを陥落させる15世紀の戦いを描いたドキュメンタリーです。
皇帝に即位したばかりころ、メフメトの政権の基盤は弱く、メフメトは、自分の地位を守るためにも、自分が先代よりも優れた皇帝であることを周囲に示す必要がありました。メフメトは、そのために、コンスタンチノープル攻略を計画するのです。しかし、コンスタンチノープルは難攻不落の城塞です。この戦争が、若い皇帝の功名心からでた、成功の可能性が低い侵略だとみた大臣は、戦争に反対します。オスマン帝国では、メフメトの始めた戦争を支持する声は主流ではなかったのです。そういう中で、忠誠心の曖昧な軍を率いて、メフメトはコンスタンチノープルを包囲します。
包囲はしたものの、コンスタンチノープルは巨大な都です。包囲するオスマン軍の各軍団は、都の周囲の大きな湾や森、砦などに遮られ、お互いの連絡も十分に取れなくなります。そんな中、オスマン軍よりも遥かに小規模な軍隊でコンスタンチノープルを守るビザンチン皇帝は、オスマン軍にスパイを送り込み、調略によって逆転しようと試みます。オスマン軍の中には、本当か嘘かわからない情報が飛び交い、イスラム教徒からコンスタンチノープルを守るためにローマ法王が援軍を派遣したという噂が流れます。その一方で、オスマン帝国に新兵器を売り込もうとするキリスト教徒の発明家たちも現れます。むろん、信用できるものかはわかりません。そんな中、メフメトは、奇抜は作戦を秘密裏に進め、成功して、コンスタンチノープルを陥落させるのです。そして、勝利したメフメトは、戦争中に裏切った家臣たちを処刑し、自身の政権基盤を確固たるものにします。
さて、このコンスタンチノープルを包囲しているオスマン軍の様子、「ビザンチン将軍問題」に出てくるビザンチン軍に、似てませんか?
でね、思いついて、調べてみたんですよ。
この、「ビザンチン将軍問題」の元ネタは、「どこかの国の都市を包囲したビザンチン帝国の将軍たち」ではなくて、「ビザンチン帝国の首都であるコンスタンチノープルを包囲したオスマン帝国の将軍たち」だったのではないかと。それを、誰かが誤解して、ビザンチン帝国の将軍の話みたいに思って、いつの間にか、そっちの誤解が広がっちゃったんじゃないか(上でリンクしたwikipediaもビザンチン帝国の将軍の話として書いています)、って。まだ、ランポートの原著には当たれていないんですが、調べてみると、「ビザンチンを包囲するオスマンの将軍」の話として書いている本も、多いみたいなんですよね。

0 件のコメント:

コメントを投稿